From de4d9aa091dcd7b5eac3d112aea86a8cfdb8be04 Mon Sep 17 00:00:00 2001 From: wuggy Date: Tue, 15 Sep 2026 14:03:09 -0700 Subject: [PATCH] Revert "fix ubO pt.5" This reverts commit ae54ac8e28f0da4299e4307c111b73d5f8ce1aa4. --- .../webextensions/schemas/context_menus.json | 5 +-- toolkit/components/webextensions/ext-dns.js | 41 ------------------- .../webextensions/extensions-toolkit.manifest | 1 - .../components/webextensions/schemas/dns.json | 4 -- toolkit/modules/addons/MatchPattern.jsm | 4 +- 5 files changed, 3 insertions(+), 52 deletions(-) delete mode 100644 toolkit/components/webextensions/ext-dns.js delete mode 100644 toolkit/components/webextensions/schemas/dns.json diff --git a/browser/components/webextensions/schemas/context_menus.json b/browser/components/webextensions/schemas/context_menus.json index 7f9702fa55..b31af51f3f 100644 --- a/browser/components/webextensions/schemas/context_menus.json +++ b/browser/components/webextensions/schemas/context_menus.json @@ -11,8 +11,7 @@ "choices": [{ "type": "string", "enum": [ - "contextMenus", - "menus" + "contextMenus" ] }] } @@ -21,7 +20,7 @@ { "namespace": "contextMenus", "description": "Use the browser.contextMenus API to add items to the browser's context menu. You can choose what types of objects your context menu additions apply to, such as images, hyperlinks, and pages.", - "permissions": ["contextMenus", "menus"], + "permissions": ["contextMenus"], "properties": { "ACTION_MENU_TOP_LEVEL_LIMIT": { "value": 6, diff --git a/toolkit/components/webextensions/ext-dns.js b/toolkit/components/webextensions/ext-dns.js deleted file mode 100644 index b131d0b6e5..0000000000 --- a/toolkit/components/webextensions/ext-dns.js +++ /dev/null @@ -1,41 +0,0 @@ -"use strict"; - -var {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; -Cu.import("resource://gre/modules/Services.jsm"); -Cu.import("resource://gre/modules/XPCOMUtils.jsm"); - -function dnsResolve(hostname, flags = []) { - let mask = 0; - for (let flag of flags) { - switch (flag) { - case "bypass_cache": mask |= Ci.nsIDNSService.RESOLVE_BYPASS_CACHE; break; - case "canonical_name": mask |= Ci.nsIDNSService.RESOLVE_CANONICAL_NAME; break; - case "disable_ipv4": mask |= Ci.nsIDNSService.RESOLVE_DISABLE_IPV4; break; - case "disable_ipv6": mask |= Ci.nsIDNSService.RESOLVE_DISABLE_IPV6; break; - case "offline": mask |= Ci.nsIDNSService.RESOLVE_OFFLINE; break; - case "priority_low": mask |= Ci.nsIDNSService.RESOLVE_PRIORITY_LOW; break; - case "priority_medium": mask |= Ci.nsIDNSService.RESOLVE_PRIORITY_MEDIUM; break; - case "allow_name_collisions": mask |= Ci.nsIDNSService.RESOLVE_ALLOW_NAME_COLLISION; break; - } - } - let dns = Cc["@mozilla.org/network/dns-service;1"].getService(Ci.nsIDNSService); - return new Promise((resolve, reject) => { - let listener = { - onLookupComplete(request, record, status) { - if (Components.isSuccessCode(status)) { - let addresses = []; - try { record.rewind(); while (record.hasMore()) addresses.push(record.getNextAddrAsString()); } catch (e) {} - resolve({addresses, canonicalName: record.canonicalName || undefined, isTRR: false}); - } else { - reject(Components.Exception("DNS resolution failed", status)); - } - }, - QueryInterface: XPCOMUtils.generateQI([Ci.nsIDNSListener]), - }; - dns.asyncResolve(hostname, mask, listener, Services.tm.mainThread); - }); -} - -extensions.registerSchemaAPI("dns", "addon_parent", () => ({ - dns: { resolve: dnsResolve }, -})); diff --git a/toolkit/components/webextensions/extensions-toolkit.manifest b/toolkit/components/webextensions/extensions-toolkit.manifest index a86c6778a6..4ec65a9844 100644 --- a/toolkit/components/webextensions/extensions-toolkit.manifest +++ b/toolkit/components/webextensions/extensions-toolkit.manifest @@ -47,4 +47,3 @@ category webextension-schemas test chrome://extensions/content/schemas/test.json category webextension-schemas top_sites chrome://extensions/content/schemas/top_sites.json category webextension-schemas web_navigation chrome://extensions/content/schemas/web_navigation.json category webextension-schemas web_request chrome://extensions/content/schemas/web_request.json -category webextension-schemas dns chrome://extensions/content/schemas/dns.json diff --git a/toolkit/components/webextensions/schemas/dns.json b/toolkit/components/webextensions/schemas/dns.json deleted file mode 100644 index 7484656e59..0000000000 --- a/toolkit/components/webextensions/schemas/dns.json +++ /dev/null @@ -1,4 +0,0 @@ -[ - {"namespace":"manifest","types":[{"$extend":"Permission","choices":[{"type":"string","enum":["dns"]}]}]}, - {"namespace":"dns","permissions":["dns"],"types":[{"id":"DNSRecord","type":"object","properties":{"addresses":{"type":"array","items":{"type":"string"}},"canonicalName":{"type":"string","optional":true},"isTRR":{"type":"boolean"}}}],"functions":[{"name":"resolve","type":"function","async":"promise","parameters":[{"name":"hostname","type":"string"},{"name":"flags","type":"array","items":{"type":"string"},"optional":true}],"returns":{"$ref":"DNSRecord"}}]} -] diff --git a/toolkit/modules/addons/MatchPattern.jsm b/toolkit/modules/addons/MatchPattern.jsm index fd46e1e786..4dff81fd23 100644 --- a/toolkit/modules/addons/MatchPattern.jsm +++ b/toolkit/modules/addons/MatchPattern.jsm @@ -18,9 +18,7 @@ this.EXPORTED_SYMBOLS = ["MatchPattern", "MatchGlobs", "MatchURLFilters"]; /* globals MatchPattern, MatchGlobs */ -// WebExtensions also use WebSocket URLs for request filtering and -// moz-extension URLs internally when validating web-accessible resources. -const PERMITTED_SCHEMES = ["http", "https", "file", "ftp", "data", "ws", "wss", "moz-extension"]; +const PERMITTED_SCHEMES = ["http", "https", "file", "ftp", "data"]; const PERMITTED_SCHEMES_REGEXP = PERMITTED_SCHEMES.join("|"); // This function converts a glob pattern (containing * and possibly ?