diff --git a/webextensions/api/declarativeNetRequest.json b/webextensions/api/declarativeNetRequest.json
new file mode 100644
index 00000000000000..63a831662b153c
--- /dev/null
+++ b/webextensions/api/declarativeNetRequest.json
@@ -0,0 +1,1694 @@
+{
+ "webextensions": {
+ "api": {
+ "declarativeNetRequest": {
+ "DYNAMIC_RULESET_ID": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/DYNAMIC_RULESET_ID",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "GETMATCHEDRULES_QUOTA_INTERVAL": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/GETMATCHEDRULES_QUOTA_INTERVAL",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "GUARANTEED_MINIMUM_STATIC_RULES": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/GUARANTEED_MINIMUM_STATIC_RULES",
+ "support": {
+ "chrome": {
+ "version_added": "89"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULESL",
+ "support": {
+ "chrome": {
+ "version_added": "90"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "preview"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "MAX_NUMBER_OF_ENABLED_STATIC_RULESETS": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/MAX_NUMBER_OF_ENABLED_STATIC_RULESETS",
+ "support": {
+ "chrome": {
+ "version_added": "94"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "preview"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "MAX_NUMBER_OF_REGEX_RULES": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/MAX_NUMBER_OF_REGEX_RULES",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "MAX_NUMBER_OF_STATIC_RULESETS": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/MAX_NUMBER_OF_STATIC_RULESETS",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "MatchedRule": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/MatchedRule",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "extensionId": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": false
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ }
+ },
+ "Redirect": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/Redirect",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15.4"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "ResourceType": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/ResourceType",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "beacon": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": false
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "csp_report": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "font": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "image": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "imageset": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": false
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false,
+ "notes": "Use image
instead."
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "main_frame": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "media": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "object": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "object_subrequest": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": false
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "other": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "ping": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "script": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "speculative": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": false
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "stylesheet": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "sub_frame": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "web_manifest": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": false
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "webbundle": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "websocket": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "webtransport": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "xml_dtd": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": false
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "xmlhttprequest": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "xslt": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ }
+ },
+ "Rule": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/Rule",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "RuleAction": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/RuleAction",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "requestHeaders": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "86"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "header": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "86"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "operation": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "86",
+ "notes": "The "append"
operation is supported from Chrome 108."
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "value": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "86"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ }
+ },
+ "responseHeaders": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "86"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "header": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "86"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "operation": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "86"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "value": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "86"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ }
+ }
+ },
+ "RuleCondition": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/RuleCondition",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "domains": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84",
+ "notes": "Deprecated in Chrome 101, use initiatorDomains
instead."
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "excludedDomains": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84",
+ "notes": "Deprecated in Chrome 101, use excludedInitiatorDomains
instead."
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "excludedInitiatorDomains": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "101"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "excludedRequestDomains": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "101"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "preview"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "excludedRequestMethods": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "91"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "requestDomains": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "101"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "preview"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "requestMethods": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "91"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "tabIds": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "92"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ }
+ },
+ "SESSION_RULESET_ID": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/SESSION_RULESET_ID",
+ "support": {
+ "chrome": {
+ "version_added": "90"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "URLTransform": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/URLTransform",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15.4"
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "queryTransform": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15.4"
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "addOrReplaceParams": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15.4"
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "replaceOnly": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "94"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15.4"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ }
+ }
+ }
+ },
+ "getAvailableStaticRuleCount": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/getAvailableStaticRuleCount",
+ "support": {
+ "chrome": {
+ "version_added": "89"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "getDynamicRules": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/getDynamicRules",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15.4"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "getEnabledRulesets": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/getEnabledRulesets",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "getMatchedRules": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/getMatchedRules",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15.4"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "getSessionRules": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/getSessionRules",
+ "support": {
+ "chrome": {
+ "version_added": "90"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15.4"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "isRegexSupported": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/isRegexSupported",
+ "support": {
+ "chrome": {
+ "version_added": "87"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "onRuleMatchedDebug": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/onRuleMatchedDebug",
+ "support": {
+ "chrome": {
+ "version_added": "84",
+ "notes": "Available only to unpacked extensions."
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "request": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "documentId": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "106"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "documentLifecycle": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "106"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "frameId": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "frameType": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "initiator": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "method": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "parentDocumentId": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "106"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "parentFrameId": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "requestId": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "tabId": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "type": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "url": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ }
+ }
+ },
+ "setExtensionActionOptions": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/setExtensionActionOptions",
+ "support": {
+ "chrome": {
+ "version_added": "88"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "preview"
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "options": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "88"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "preview"
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "tabUpdate": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "89"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "preview"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ }
+ }
+ },
+ "testMatchOutcome": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/testMatchOutcome",
+ "support": {
+ "chrome": {
+ "version_added": "103"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "options": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": false
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "includeOtherExtensions": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": false
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": false
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ }
+ }
+ },
+ "updateDynamicRules": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/updateDynamicRules",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15.4"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "updateEnabledRulesets": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/updateEnabledRulesets",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "updateSessionRules": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/updateSessionRules",
+ "support": {
+ "chrome": {
+ "version_added": "90"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15.4"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/webextensions/api/webRequest.json b/webextensions/api/webRequest.json
index c88ca4023d4398..bab5eb9781580e 100644
--- a/webextensions/api/webRequest.json
+++ b/webextensions/api/webRequest.json
@@ -484,28 +484,6 @@
}
}
},
- "xbl": {
- "__compat": {
- "support": {
- "chrome": {
- "version_added": false
- },
- "edge": "mirror",
- "firefox": {
- "version_added": "45",
- "version_removed": "78"
- },
- "firefox_android": {
- "version_added": "48"
- },
- "opera": "mirror",
- "safari": {
- "version_added": false
- },
- "safari_ios": "mirror"
- }
- }
- },
"xml_dtd": {
"__compat": {
"support": {
diff --git a/webextensions/manifest/declarative_net_request.json b/webextensions/manifest/declarative_net_request.json
new file mode 100644
index 00000000000000..dee1a6be1f47c2
--- /dev/null
+++ b/webextensions/manifest/declarative_net_request.json
@@ -0,0 +1,102 @@
+{
+ "webextensions": {
+ "manifest": {
+ "declarative_net_request": {
+ "__compat": {
+ "mdn_url": "https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/manifest.json/declarative_net_request",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "rule_resources": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ },
+ "enabled": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "id": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "path": {
+ "__compat": {
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/webextensions/manifest/permissions.json b/webextensions/manifest/permissions.json
index bdbb9accbbeaee..1248404e117935 100644
--- a/webextensions/manifest/permissions.json
+++ b/webextensions/manifest/permissions.json
@@ -352,6 +352,67 @@
}
}
},
+ "declarativeNetRequest": {
+ "__compat": {
+ "description": "declarativeNetRequest
",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "declarativeNetRequestFeedback": {
+ "__compat": {
+ "description": "declarativeNetRequestFeedback
",
+ "support": {
+ "chrome": {
+ "version_added": "84",
+ "notes": "Available only to unpacked extensions."
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "15.4"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
+ "declarativeNetRequestWithHostAccess": {
+ "__compat": {
+ "description": "declarativeNetRequestWithHostAccess
",
+ "support": {
+ "chrome": {
+ "version_added": "84"
+ },
+ "edge": "mirror",
+ "firefox": {
+ "version_added": false
+ },
+ "firefox_android": "mirror",
+ "opera": "mirror",
+ "safari": {
+ "version_added": "16"
+ },
+ "safari_ios": "mirror"
+ }
+ }
+ },
"dns": {
"__compat": {
"description": "dns
",