about summary refs log tree commit diff stats
path: root/src/pages/background
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2024-09-13 21:11:49 +0300
committerManeraKai <manerakai@protonmail.com>2024-09-13 21:11:49 +0300
commitdf61cdb265c90b37ba0317417d04d709204e74b3 (patch)
tree10e2b4c56fe49f6af685ce20525886f99f306c63 /src/pages/background
parentMerge branch 'master' of https://github.com/libredirect/browser_extension (diff)
downloadlibredirect-df61cdb265c90b37ba0317417d04d709204e74b3.zip
Fixing bugs. 2.9.1 => 3.0.0
Diffstat (limited to 'src/pages/background')
-rw-r--r--src/pages/background/background.js27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 1fcba190..d566ff5c 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -71,6 +71,7 @@ browser.webRequest.onBeforeRequest.addListener(
       (newUrl && newUrl.startsWith("https://no-instance.libredirect.invalid")) ||
       (!newUrl && url.href.startsWith("https://no-instance.libredirect.invalid"))
     ) {
+      if (details.type != "main_frame") return null
       newUrl = newUrl ? new URL(newUrl) : url
       const frontend = newUrl.searchParams.get("frontend")
       const oldUrl = new URL(newUrl.searchParams.get("url"))
@@ -85,17 +86,16 @@ browser.webRequest.onBeforeRequest.addListener(
       return { cancel: true }
     }
 
-    if (!newUrl) {
-      if (url.href.match(/^https?:\/{2}(.*\.)?libredirect\.invalid.*/)) {
-        const params = new URLSearchParams({
-          message: "disabled",
-          url: url.href,
-        })
-        browser.tabs.update({
-          url: browser.runtime.getURL(`/pages/messages/index.html?${params.toString()}`),
-        })
-        return { cancel: true }
-      }
+    if (!newUrl && url.href.match(/^https?:\/{2}(.*\.)?libredirect\.invalid.*/)) {
+      if (details.type != "main_frame") return null
+      const params = new URLSearchParams({
+        message: "disabled",
+        url: url.href,
+      })
+      browser.tabs.update({
+        url: browser.runtime.getURL(`/pages/messages/index.html?${params.toString()}`),
+      })
+      return { cancel: true }
     }
 
     if (newUrl === "CANCEL") {
@@ -121,8 +121,9 @@ browser.webRequest.onHeadersReceived.addListener(
   details => {
     if (details.statusCode >= 501 || details.statusCode == 429 || details.statusCode == 403) {
       const url = new URL(details.url)
-      const { service, frontend } = servicesHelper.computeFrontend(url)
-      if (!service) return
+      const r = servicesHelper.computeFrontend(url)
+      if (!r) return
+      const { service, frontend } = r
       const params = new URLSearchParams({
         message: "server_error",
         code: details.statusCode,