about summary refs log tree commit diff stats
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/background/background.js17
-rw-r--r--src/pages/options/index.js66
2 files changed, 49 insertions, 34 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 77128612..1d1cbe46 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -38,6 +38,14 @@ browser.runtime.onInstalled.addListener(async details => {
 })
 
 let tabIdRedirects = {}
+
+browser.storage.onChanged.addListener(() => {
+	browser.storage.local.get(["embedTabs"], r => {
+		embedTabs = r.embedTabs
+	})
+})
+let embedTabs = {}
+
 // true == Always redirect, false == Never redirect, null/undefined == follow options for services
 browser.webRequest.onBeforeRequest.addListener(
 	details => {
@@ -51,7 +59,7 @@ browser.webRequest.onBeforeRequest.addListener(
 			return null
 		}
 		if (tabIdRedirects[details.tabId] == false) return null
-		let newUrl = servicesHelper.redirect(url, details.type, initiator, tabIdRedirects[details.tabId])
+		let newUrl = servicesHelper.redirect(url, details.type, initiator, tabIdRedirects[details.tabId], details.tabId)
 
 		if (details.frameAncestors && details.frameAncestors.length > 0 && generalHelper.isException(new URL(details.frameAncestors[0].url))) newUrl = null
 
@@ -81,6 +89,11 @@ browser.tabs.onRemoved.addListener(tabId => {
 		delete tabIdRedirects[tabId]
 		console.log("Removed tab " + tabId + " from tabIdRedirects")
 	}
+	if (embedTabs[tab] != undefined) {
+		delete embedTabs[tabId]
+		browser.storage.local.set(embedTabs)
+		console.log("Removed tab " + tabId + " from embedTabs")
+	}
 })
 
 browser.commands.onCommand.addListener(command => {
@@ -185,4 +198,4 @@ browser.webRequest.onHeadersReceived.addListener(
 	},
 	{ urls: ["<all_urls>"] },
 	["blocking", "responseHeaders"]
-)
\ No newline at end of file
+)
diff --git a/src/pages/options/index.js b/src/pages/options/index.js
index 3c3f6d1f..006b5248 100644
--- a/src/pages/options/index.js
+++ b/src/pages/options/index.js
@@ -103,39 +103,41 @@ async function processDefaultCustomInstances(frontend, networks, document) {
 		})
 	)
 
-	const blacklist = utils.getBlacklist()
-	const redirects = utils.getList()
-
-	for (const network in networks) {
-		if (redirects[frontend][network].length > 0) {
-			document.getElementById(frontend).getElementsByClassName(network)[0].getElementsByClassName("checklist")[0].innerHTML = [
-				`
-			<div class="some-block option-block">
-				<h4>${utils.camelCase(network)}</h4>
-			</div>
-			`,
-				...redirects[frontend][network]
-					.sort((a, b) =>
-						(blacklist.cloudflare.includes(a) && !blacklist.cloudflare.includes(b))
-						||
-						(blacklist.authenticate.includes(a) && !blacklist.authenticate.includes(b))
-					)
-					.map(x => {
-						const cloudflare = blacklist.cloudflare.includes(x) ? ' <span style="color:red;">cloudflare</span>' : ""
-						const authenticate = blacklist.authenticate.includes(x) ? ' <span style="color:orange;">authenticate</span>' : ""
-
-						let warnings = [cloudflare, authenticate].join(" ")
-						return `
-					<div>
-						<x>
-							<a href="${x}" target="_blank">${x}</a>${warnings}
-						</x>
-                  	</div>`
-					}),
-				'<br>'
-			].join("\n<hr>\n")
+	!async function () {
+		const blacklist = utils.getBlacklist()
+		const redirects = utils.getList()
+
+		for (const network in networks) {
+			if (redirects[frontend][network].length > 0) {
+				document.getElementById(frontend).getElementsByClassName(network)[0].getElementsByClassName("checklist")[0].innerHTML = [
+					`
+				<div class="some-block option-block">
+					<h4>${utils.camelCase(network)}</h4>
+				</div>
+				`,
+					...redirects[frontend][network]
+						.sort((a, b) =>
+							(blacklist.cloudflare.includes(a) && !blacklist.cloudflare.includes(b))
+							||
+							(blacklist.authenticate.includes(a) && !blacklist.authenticate.includes(b))
+						)
+						.map(x => {
+							const cloudflare = blacklist.cloudflare.includes(x) ? ' <span style="color:red;">cloudflare</span>' : ""
+							const authenticate = blacklist.authenticate.includes(x) ? ' <span style="color:orange;">authenticate</span>' : ""
+
+							let warnings = [cloudflare, authenticate].join(" ")
+							return `
+						<div>
+							<x>
+								<a href="${x}" target="_blank">${x}</a>${warnings}
+							</x>
+						  </div>`
+						}),
+					'<br>'
+				].join("\n<hr>\n")
+			}
 		}
-	}
+	}()
 
 	localise.localisePage()