aboutsummaryrefslogtreecommitdiff
path: root/src/webex
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2018-09-20 02:56:13 +0200
committerFlorian Dold <florian.dold@gmail.com>2018-09-20 02:56:13 +0200
commitbbff7403fbf46f9ad92240ac213df8d30ef31b64 (patch)
treec58400ec5124da1c7d56b01aea83309f80a56c3b /src/webex
parent003fb34971cf63466184351b4db5f7c67df4f444 (diff)
update packages
Diffstat (limited to 'src/webex')
-rw-r--r--src/webex/messages.ts4
-rw-r--r--src/webex/pages/confirm-contract.tsx6
-rw-r--r--src/webex/pages/popup.tsx5
-rw-r--r--src/webex/wxApi.ts9
-rw-r--r--src/webex/wxBackend.ts8
5 files changed, 28 insertions, 4 deletions
diff --git a/src/webex/messages.ts b/src/webex/messages.ts
index 45cac6a9f..8bb9cafe5 100644
--- a/src/webex/messages.ts
+++ b/src/webex/messages.ts
@@ -205,6 +205,10 @@ export interface MessageMap {
request: { contractTermsHash: string }
response: void;
};
+ "benchmark-crypto": {
+ request: { repetitions: number }
+ response: walletTypes.BenchmarkResult;
+ };
}
/**
diff --git a/src/webex/pages/confirm-contract.tsx b/src/webex/pages/confirm-contract.tsx
index 41eebda8e..d24613794 100644
--- a/src/webex/pages/confirm-contract.tsx
+++ b/src/webex/pages/confirm-contract.tsx
@@ -25,6 +25,8 @@
*/
import * as i18n from "../../i18n";
+import { runOnceWhenReady } from "./common";
+
import {
ExchangeRecord,
ProposalDownloadRecord,
@@ -372,7 +374,7 @@ class ContractPrompt extends React.Component<ContractPromptProps, ContractPrompt
<i18n.Translate wrap="p">
The merchant{" "}<span>{merchantName}</span> offers you to purchase:
</i18n.Translate>
- <div style={{"text-align": "center"}}>
+ <div style={{"textAlign": "center"}}>
<strong>{c.summary}</strong>
</div>
<strong></strong>
@@ -395,7 +397,7 @@ class ContractPrompt extends React.Component<ContractPromptProps, ContractPrompt
}
-document.addEventListener("DOMContentLoaded", () => {
+runOnceWhenReady(() => {
const url = new URI(document.location.href);
const query: any = URI.parseQuery(url.query());
diff --git a/src/webex/pages/popup.tsx b/src/webex/pages/popup.tsx
index 6d0134b84..2224a662f 100644
--- a/src/webex/pages/popup.tsx
+++ b/src/webex/pages/popup.tsx
@@ -27,6 +27,8 @@
*/
import * as i18n from "../../i18n";
+import { runOnceWhenReady } from "./common";
+
import { AmountJson } from "../../amounts";
import * as Amounts from "../../amounts";
@@ -41,6 +43,7 @@ import * as wxApi from "../wxApi";
import * as React from "react";
import * as ReactDOM from "react-dom";
+
import URI = require("urijs");
function onUpdateNotification(f: () => void): () => void {
@@ -571,7 +574,7 @@ const el = (
</div>
);
-document.addEventListener("DOMContentLoaded", () => {
+runOnceWhenReady(() => {
ReactDOM.render(el, document.getElementById("content")!);
// Will be used by the backend to detect when the popup gets closed,
// so we can clear notifications
diff --git a/src/webex/wxApi.ts b/src/webex/wxApi.ts
index e5da642f1..fde7b8c35 100644
--- a/src/webex/wxApi.ts
+++ b/src/webex/wxApi.ts
@@ -34,6 +34,7 @@ import {
ReserveRecord,
} from "../dbTypes";
import {
+ BenchmarkResult,
CheckPayResult,
ConfirmPayResult,
ReserveCreationInfo,
@@ -392,3 +393,11 @@ export function acceptRefund(refundUrl: string): Promise<string> {
export function abortFailedPayment(contractTermsHash: string) {
return callBackend("abort-failed-payment", { contractTermsHash });
}
+
+
+/**
+ * Abort a failed payment and try to get a refund.
+ */
+export function benchmarkCrypto(repetitions: number): Promise<BenchmarkResult> {
+ return callBackend("benchmark-crypto", { repetitions });
+}
diff --git a/src/webex/wxBackend.ts b/src/webex/wxBackend.ts
index b1aecbbdd..f2dbd68be 100644
--- a/src/webex/wxBackend.ts
+++ b/src/webex/wxBackend.ts
@@ -335,6 +335,12 @@ function handleMessage(sender: MessageSender,
talerPay(detail, senderUrl, tabId);
return;
}
+ case "benchmark-crypto": {
+ if (!detail.repetitions) {
+ throw Error("repetitions not given");
+ }
+ return needsWallet().benchmarkCrypto(detail.repetitions);
+ }
default:
// Exhaustiveness check.
// See https://www.typescriptlang.org/docs/handbook/advanced-types.html
@@ -739,7 +745,7 @@ export async function wxMain() {
});
window.onerror = (m, source, lineno, colno, error) => {
- logging.record("error", m + error, undefined, source || "(unknown)", lineno || 0, colno || 0);
+ logging.record("error", "".concat(m as any, error as any), undefined, source || "(unknown)", lineno || 0, colno || 0);
};
chrome.tabs.query({}, (tabs) => {