Handle proxy and nativeMessaging permission disabling + enabling
This commit is contained in:
parent
ed63f18cf1
commit
1b165aebb5
5 changed files with 30 additions and 11 deletions
|
@ -382,6 +382,13 @@ window.assignManager = {
|
|||
return currentContainerState && currentContainerState.isIsolated;
|
||||
},
|
||||
|
||||
maybeAddProxyListeners() {
|
||||
if (browser.proxy) {
|
||||
browser.proxy.onRequest.addListener(this.handleProxifiedRequest, {urls: ["<all_urls>"]});
|
||||
}
|
||||
return;
|
||||
},
|
||||
|
||||
init() {
|
||||
browser.contextMenus.onClicked.addListener((info, tab) => {
|
||||
info.bookmarkId ?
|
||||
|
@ -390,7 +397,7 @@ window.assignManager = {
|
|||
});
|
||||
|
||||
// Before anything happens we decide if the request should be proxified
|
||||
browser.proxy.onRequest.addListener(this.handleProxifiedRequest, {urls: ["<all_urls>"]});
|
||||
this.maybeAddProxyListeners();
|
||||
|
||||
// Before a request is handled by the browser we decide if we should
|
||||
// route through a different container
|
||||
|
|
|
@ -91,6 +91,9 @@ const messageHandler = {
|
|||
true
|
||||
);
|
||||
break;
|
||||
case "maybeAddProxyListeners":
|
||||
response = await assignManager.maybeAddProxyListeners();
|
||||
break;
|
||||
case "assignAndReloadInContainer":
|
||||
tab = await assignManager.reloadPageInContainer(
|
||||
m.url,
|
||||
|
|
|
@ -251,6 +251,19 @@ const MozillaVPN = {
|
|||
randomInteger = (randomInteger - server.weight);
|
||||
}
|
||||
return nextServer;
|
||||
},
|
||||
|
||||
async removeMozillaVpnProxies() {
|
||||
const proxies = await proxifiedContainers.retrieveAll();
|
||||
if (!proxies) {
|
||||
return;
|
||||
}
|
||||
for (const proxyObj of proxies) {
|
||||
const { proxy } = proxyObj;
|
||||
if (proxy.countryCode !== undefined) {
|
||||
await proxifiedContainers.delete(proxyObj.cookieStoreId);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -14,20 +14,14 @@ document.querySelectorAll("[data-permission-id]").forEach( async(el) => {
|
|||
} else {
|
||||
await browser.permissions.remove({ permissions: [permissionId] });
|
||||
}
|
||||
|
||||
switch (permissionId) {
|
||||
case "bookmarks":
|
||||
browser.runtime.sendMessage({ method: "resetBookmarksContext" });
|
||||
break;
|
||||
|
||||
return await browser.runtime.sendMessage({ method: "resetBookmarksContext" });
|
||||
case "nativeMessaging":
|
||||
console.log("do native messaging things");
|
||||
console.log("if disabled - remove mozilla vpn proxy configurations");
|
||||
break;
|
||||
|
||||
await MozillaVPN.removeMozillaVpnProxies();
|
||||
return await browser.runtime.reload();
|
||||
case "proxy":
|
||||
console.log("do proxy things...");
|
||||
console.log("if disabled - remove proxy configurations");
|
||||
return await browser.runtime.sendMessage({ method: "maybeAddProxyListeners" });
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<script type="text/javascript" src="./js/i18n.js"></script>
|
||||
<script type="text/javascript" src="./js/mozillaVpn.js"></script>
|
||||
<script type="text/javascript" src="./js/proxified-containers.js"></script>
|
||||
<link rel="stylesheet" href="css/options.css">
|
||||
</head>
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue