summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2022-03-23 10:50:12 -0300
committerSebastian <sebasjm@gmail.com>2022-03-23 10:58:57 -0300
commit32f6409ac312f31821f791c3a376168289f0e4f4 (patch)
treec77c660bb85cf359faf74b5cddbe95eb0a915c5e /packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts
parentc539d1803c1376cba0831be64866b6d2c1652403 (diff)
downloadwallet-core-32f6409ac312f31821f791c3a376168289f0e4f4.tar.gz
wallet-core-32f6409ac312f31821f791c3a376168289f0e4f4.tar.bz2
wallet-core-32f6409ac312f31821f791c3a376168289f0e4f4.zip
all the browser related code move into one place, making it easy for specific platform code or mocking for testing
Diffstat (limited to 'packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts')
-rw-r--r--packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts53
1 files changed, 35 insertions, 18 deletions
diff --git a/packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts b/packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts
index 6bf6a7bdf..66d710705 100644
--- a/packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts
+++ b/packages/taler-wallet-webextension/src/hooks/useExtendedPermissions.ts
@@ -16,7 +16,7 @@
import { useState, useEffect } from "preact/hooks";
import * as wxApi from "../wxApi";
-import { getPermissionsApi } from "../compat";
+import { platform } from "../platform/api";
import { getReadRequestPermissions } from "../permissions";
export function useExtendedPermissions(): [boolean, () => Promise<void>] {
@@ -40,24 +40,41 @@ async function handleExtendedPerm(isEnabled: boolean, onChange: (value: boolean)
if (!isEnabled) {
// We set permissions here, since apparently FF wants this to be done
// as the result of an input event ...
- return new Promise<void>((res) => {
- getPermissionsApi().request(getReadRequestPermissions(), async (granted: boolean) => {
- console.log("permissions granted:", granted);
- if (chrome.runtime.lastError) {
- console.error("error requesting permissions");
- console.error(chrome.runtime.lastError);
- onChange(false);
- return;
- }
- try {
- const res = await wxApi.setExtendedPermissions(granted);
- onChange(res.newValue);
- } finally {
- res()
- }
+ const granted = await platform.getPermissionsApi().request(getReadRequestPermissions());
+ console.log("permissions granted:", granted);
+ const lastError = platform.getLastError();
+ if (lastError) {
+ console.error("error requesting permissions");
+ console.error(lastError);
+ onChange(false);
+ return;
+ }
+ // try {
+ const res = await wxApi.setExtendedPermissions(granted);
+ onChange(res.newValue);
+ // } finally {
+ // return
+ // }
+
+ // return new Promise<void>((res) => {
+ // platform.getPermissionsApi().request(getReadRequestPermissions(), async (granted: boolean) => {
+ // console.log("permissions granted:", granted);
+ // const lastError = getLastError()
+ // if (lastError) {
+ // console.error("error requesting permissions");
+ // console.error(lastError);
+ // onChange(false);
+ // return;
+ // }
+ // try {
+ // const res = await wxApi.setExtendedPermissions(granted);
+ // onChange(res.newValue);
+ // } finally {
+ // res()
+ // }
- });
- })
+ // });
+ // })
}
await wxApi.setExtendedPermissions(false).then(r => onChange(r.newValue));
return