summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/wxBackend.ts
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-04-11 15:11:44 -0300
committerSebastian <sebasjm@gmail.com>2022-04-11 15:11:44 -0300
commitc3c0f3bfbb700f617c4fdfa0926c4ce5289c4449 (patch)
tree3bad9f708a466116e89a194ed99bfd8fb3b2c5df /packages/taler-wallet-webextension/src/wxBackend.ts
parenta644efe1abe8072bc92efa6d0fefde7504563086 (diff)
downloadwallet-core-c3c0f3bfbb700f617c4fdfa0926c4ce5289c4449.tar.gz
wallet-core-c3c0f3bfbb700f617c4fdfa0926c4ce5289c4449.tar.bz2
wallet-core-c3c0f3bfbb700f617c4fdfa0926c4ce5289c4449.zip
using alarm service intead of timeout api when the wallet is running in a service worker environment
Diffstat (limited to 'packages/taler-wallet-webextension/src/wxBackend.ts')
-rw-r--r--packages/taler-wallet-webextension/src/wxBackend.ts9
1 files changed, 7 insertions, 2 deletions
diff --git a/packages/taler-wallet-webextension/src/wxBackend.ts b/packages/taler-wallet-webextension/src/wxBackend.ts
index 7401fd4fa..91c12c578 100644
--- a/packages/taler-wallet-webextension/src/wxBackend.ts
+++ b/packages/taler-wallet-webextension/src/wxBackend.ts
@@ -40,12 +40,14 @@ import {
Wallet,
WalletStoresV1
} from "@gnu-taler/taler-wallet-core";
+import { SetTimeoutTimerAPI, TimerGroup } from "@gnu-taler/taler-wallet-core/src/util/timer";
import { BrowserCryptoWorkerFactory } from "./browserCryptoWorkerFactory.js";
import { BrowserHttpLib } from "./browserHttpLib.js";
import { getReadRequestPermissions } from "./permissions.js";
import { MessageFromBackend, platform } from "./platform/api.js";
import { SynchronousCryptoWorkerFactory } from "./serviceWorkerCryptoWorkerFactory.js";
import { ServiceWorkerHttpLib } from "./serviceWorkerHttpLib.js";
+import { ServiceWorkerTimerAPI } from "./serviceWorkerTimerAPI.js";
/**
* Currently active wallet instance. Might be unloaded and
@@ -188,17 +190,20 @@ async function reinitWallet(): Promise<void> {
}
let httpLib;
let cryptoWorker;
+ let timer;
if (platform.useServiceWorkerAsBackgroundProcess()) {
httpLib = new ServiceWorkerHttpLib();
cryptoWorker = new SynchronousCryptoWorkerFactory();
+ timer = new ServiceWorkerTimerAPI();
} else {
httpLib = new BrowserHttpLib();
cryptoWorker = new BrowserCryptoWorkerFactory();
+ timer = new SetTimeoutTimerAPI();
}
console.log("setting wallet");
- const wallet = await Wallet.create(currentDatabase, httpLib, cryptoWorker);
+ const wallet = await Wallet.create(currentDatabase, httpLib, timer, cryptoWorker);
try {
await wallet.handleCoreApiRequest("initWallet", "native-init", {});
} catch (e) {
@@ -218,7 +223,7 @@ async function reinitWallet(): Promise<void> {
(window as any).talerWallet = wallet;
}
currentWallet = wallet;
- walletInit.resolve();
+ return walletInit.resolve();
}
function parseTalerUriAndRedirect(tabId: number, talerUri: string): void {