gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] branch master updated: handle changing permissions b


From: gnunet
Subject: [taler-wallet-core] branch master updated: handle changing permissions better
Date: Fri, 01 May 2020 11:34:18 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository wallet-core.

The following commit(s) were added to refs/heads/master by this push:
     new 848f4473 handle changing permissions better
848f4473 is described below

commit 848f44733e1e1a1b9215811e3949fca6b6e93968
Author: Florian Dold <address@hidden>
AuthorDate: Fri May 1 15:04:12 2020 +0530

    handle changing permissions better
---
 src/webex/wxBackend.ts     | 37 ++++++++++++++++++++++++++++++++-----
 webextension/manifest.json |  4 ++--
 2 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/src/webex/wxBackend.ts b/src/webex/wxBackend.ts
index 17e5215f..7966bbe2 100644
--- a/src/webex/wxBackend.ts
+++ b/src/webex/wxBackend.ts
@@ -498,6 +498,7 @@ try {
 function headerListener(
   details: chrome.webRequest.WebResponseHeadersDetails,
 ): chrome.webRequest.BlockingResponse | undefined {
+  console.log("header listener");
   if (chrome.runtime.lastError) {
     console.error(chrome.runtime.lastError);
     return;
@@ -507,6 +508,7 @@ function headerListener(
     console.warn("wallet not available while handling header");
     return;
   }
+  console.log("in header listener");
   if (details.statusCode === 402 || details.statusCode === 202) {
     console.log(`got 402/202 from ${details.url}`);
     for (const header of details.responseHeaders || []) {
@@ -572,12 +574,29 @@ function headerListener(
 }
 
 function setupHeaderListener(): void {
+  console.log("setting up header listener");
   // Handlers for catching HTTP requests
-  chrome.webRequest.onHeadersReceived.addListener(
-    headerListener,
-    { urls: ["https://*/*";, "http://*/*";] },
-    ["responseHeaders", "blocking"],
-  );
+  chrome.permissions.contains(extendedPermissions, (result: boolean) => {
+    if (
+      chrome.webRequest.onHeadersReceived &&
+      chrome.webRequest.onHeadersReceived.hasListener(headerListener)
+    ) {
+      chrome.webRequest.onHeadersReceived.removeListener(headerListener);
+    }
+    if (result) {
+      console.log("actually adding listener");
+      chrome.webRequest.onHeadersReceived.addListener(
+        headerListener,
+        { urls: ["<all_urls>"] },
+        ["responseHeaders", "blocking"],
+      );
+    }
+    chrome.webRequest.handlerBehaviorChanged(() => {
+      if (chrome.runtime.lastError) {
+        console.error(chrome.runtime.lastError);
+      }
+    });
+  });
 }
 
 /**
@@ -602,4 +621,12 @@ export async function wxMain(): Promise<void> {
   });
 
   setupHeaderListener();
+  
+  chrome.permissions.onAdded.addListener((perm) => {
+    if (chrome.runtime.lastError) {
+      console.error(chrome.runtime.lastError);
+      return;
+    }
+    setupHeaderListener();
+  });
 }
diff --git a/webextension/manifest.json b/webextension/manifest.json
index 7592b350..120d008c 100644
--- a/webextension/manifest.json
+++ b/webextension/manifest.json
@@ -4,8 +4,8 @@
   "name": "GNU Taler Wallet (git)",
   "description": "Privacy preserving and transparent payments",
   "author": "GNU Taler Developers",
-  "version": "0.6.75",
-  "version_name": "0.6.0pre10",
+  "version": "0.6.77.1",
+  "version_name": "0.7.0.dev.1",
 
   "minimum_chrome_version": "51",
   "minimum_opera_version": "36",

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]