Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save laedit/6fea59383430f6529b5273d0f204875c to your computer and use it in GitHub Desktop.
Save laedit/6fea59383430f6529b5273d0f204875c to your computer and use it in GitHub Desktop.
Diff of {toolkit, browser}/components/extensions/schemas/*.* in firefox source code, from version FIREFOX_111_0b8_RELEASE to FIREFOX_120_0b5_RELEASE. Downloaded from https://hg.mozilla.org/mozilla-unified/summary.
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/bookmarks.json schemas/FIREFOX_120_0b5_RELEASE/browser/bookmarks.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/bookmarks.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/bookmarks.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "bookmarks"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["bookmarks"]
+ }
+ ]
}
]
},
@@ -174,7 +174,7 @@
{
"name": "results",
"type": "array",
- "items": { "$ref": "BookmarkTreeNode"}
+ "items": { "$ref": "BookmarkTreeNode" }
}
]
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/chrome_settings_overrides.json schemas/FIREFOX_120_0b5_RELEASE/browser/chrome_settings_overrides.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/chrome_settings_overrides.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/chrome_settings_overrides.json 2023-11-01 10:27:26.000000000 +0100
@@ -16,7 +16,7 @@
"optional": true,
"preprocess": "localize"
},
- "search_provider": {
+ "search_provider": {
"type": "object",
"optional": true,
"additionalProperties": { "$ref": "UnrecognizedProperty" },
@@ -176,7 +176,13 @@
"purpose": {
"type": "string",
"optional": true,
- "enum": ["contextmenu", "searchbar", "homepage", "keyword", "newtab"],
+ "enum": [
+ "contextmenu",
+ "searchbar",
+ "homepage",
+ "keyword",
+ "newtab"
+ ],
"description": "The context that initiates a search, required if condition is \"purpose\"."
},
"value": {
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/commands.json schemas/FIREFOX_120_0b5_RELEASE/browser/commands.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/commands.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/commands.json 2023-11-01 10:27:26.000000000 +0100
@@ -6,7 +6,7 @@
{
"namespace": "manifest",
"types": [
- {
+ {
"id": "KeyName",
"type": "string",
"format": "manifestShortcutKey"
@@ -81,7 +81,7 @@
"id": "Command",
"type": "object",
"properties": {
- "name": {
+ "name": {
"type": "string",
"optional": true,
"description": "The name of the Extension Command"
@@ -110,6 +110,31 @@
"type": "string"
}
]
+ },
+ {
+ "name": "onChanged",
+ "description": "Fired when a registered command's shortcut is changed.",
+ "type": "function",
+ "parameters": [
+ {
+ "type": "object",
+ "name": "changeInfo",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the shortcut."
+ },
+ "newShortcut": {
+ "type": "string",
+ "description": "The new shortcut active for this command, or blank if not active."
+ },
+ "oldShortcut": {
+ "type": "string",
+ "description": "The old shortcut which is no longer active for this command, or blank if the shortcut was previously inactive."
+ }
+ }
+ }
+ ]
}
],
"functions": [
@@ -127,7 +152,7 @@
"name": {
"type": "string",
"description": "The name of the command."
- },
+ },
"description": {
"type": "string",
"optional": true,
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/devtools_inspected_window.json schemas/FIREFOX_120_0b5_RELEASE/browser/devtools_inspected_window.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/devtools_inspected_window.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/devtools_inspected_window.json 2023-11-01 10:27:26.000000000 +0100
@@ -73,7 +73,7 @@
{
"name": "error",
"type": "object",
- "additionalProperties": {"type": "any"},
+ "additionalProperties": { "type": "any" },
"optional": true,
"description": "Set to undefined if the resource content was set successfully; describes error otherwise."
}
@@ -217,7 +217,6 @@
"unsupported": true,
"type": "function",
"description": "Retrieves the list of resources from the inspected page.",
- "unsupported": true,
"async": "callback",
"parameters": [
{
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/devtools.json schemas/FIREFOX_120_0b5_RELEASE/browser/devtools.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/devtools.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/devtools.json 2023-11-01 10:27:26.000000000 +0100
@@ -13,12 +13,12 @@
},
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "devtools"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["devtools"]
+ }
+ ]
}
]
},
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/devtools_network.json schemas/FIREFOX_120_0b5_RELEASE/browser/devtools_network.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/devtools_network.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/devtools_network.json 2023-11-01 10:27:26.000000000 +0100
@@ -57,7 +57,7 @@
{
"name": "harLog",
"type": "object",
- "additionalProperties": {"type": "any"},
+ "additionalProperties": { "type": "any" },
"description": "A HAR log. See HAR specification for details."
}
]
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/devtools_panels.json schemas/FIREFOX_120_0b5_RELEASE/browser/devtools_panels.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/devtools_panels.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/devtools_panels.json 2023-11-01 10:27:26.000000000 +0100
@@ -336,8 +336,8 @@
"name": "iconPath",
"description": "Path of the panel's icon relative to the extension directory, or an empty string to use the default extension icon as the panel icon.",
"choices": [
- {"type": "string", "enum": [""]},
- {"$ref": "manifest.ExtensionURL"}
+ { "type": "string", "enum": [""] },
+ { "$ref": "manifest.ExtensionURL" }
]
},
{
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/find.json schemas/FIREFOX_120_0b5_RELEASE/browser/find.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/find.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/find.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "find"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["find"]
+ }
+ ]
}
]
},
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/history.json schemas/FIREFOX_120_0b5_RELEASE/browser/history.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/history.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/history.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "history"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["history"]
+ }
+ ]
}
]
},
@@ -25,7 +25,19 @@
{
"id": "TransitionType",
"type": "string",
- "enum": ["link", "typed", "auto_bookmark", "auto_subframe", "manual_subframe", "generated", "auto_toplevel", "form_submit", "reload", "keyword", "keyword_generated"],
+ "enum": [
+ "link",
+ "typed",
+ "auto_bookmark",
+ "auto_subframe",
+ "manual_subframe",
+ "generated",
+ "auto_toplevel",
+ "form_submit",
+ "reload",
+ "keyword",
+ "keyword_generated"
+ ],
"description": "The $(topic:transition-types)[transition type] for this visit from its referrer."
},
{
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/menus.json schemas/FIREFOX_120_0b5_RELEASE/browser/menus.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/menus.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/menus.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,21 +8,21 @@
"types": [
{
"$extend": "PermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "menus",
- "contextMenus"
- ]
- }]
- }, {
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["menus", "contextMenus"]
+ }
+ ]
+ },
+ {
"$extend": "OptionalPermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "menus.overrideContext"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["menus.overrideContext"]
+ }
+ ]
}
]
},
@@ -49,7 +49,22 @@
"choices": [
{
"type": "string",
- "enum": ["all", "page", "frame", "selection", "link", "editable", "password", "image", "video", "audio", "launcher", "bookmark", "tab", "tools_menu"]
+ "enum": [
+ "all",
+ "page",
+ "frame",
+ "selection",
+ "link",
+ "editable",
+ "password",
+ "image",
+ "video",
+ "audio",
+ "launcher",
+ "bookmark",
+ "tab",
+ "tools_menu"
+ ]
},
{
"type": "string",
@@ -75,17 +90,11 @@
"description": "Information sent when a context menu item is clicked.",
"properties": {
"menuItemId": {
- "choices": [
- { "type": "integer" },
- { "type": "string" }
- ],
+ "choices": [{ "type": "integer" }, { "type": "string" }],
"description": "The ID of the menu item that was clicked."
},
"parentMenuItemId": {
- "choices": [
- { "type": "integer" },
- { "type": "string" }
- ],
+ "choices": [{ "type": "integer" }, { "type": "string" }],
"optional": true,
"description": "The parent ID, if any, for the item clicked."
},
@@ -120,10 +129,10 @@
"description": "The URL of the page where the menu item was clicked. This property is not set if the click occured in a context where there is no current page, such as in a launcher context menu."
},
"frameId": {
- "type": "integer",
- "optional": true,
- "minimum": 0,
- "description": "The id of the frame of the element where the context menu was clicked."
+ "type": "integer",
+ "optional": true,
+ "minimum": 0,
+ "description": "The id of the frame of the element where the context menu was clicked."
},
"frameUrl": {
"type": "string",
@@ -181,10 +190,7 @@
"type": "function",
"description": "Creates a new context menu item. Note that if an error occurs during creation, you may not find out until the creation callback fires (the details will be in $(ref:runtime.lastError)).",
"returns": {
- "choices": [
- { "type": "integer" },
- { "type": "string" }
- ],
+ "choices": [{ "type": "integer" }, { "type": "string" }],
"description": "The ID of the newly created item."
},
"parameters": [
@@ -204,9 +210,9 @@
},
"icons": {
"type": "object",
- "optional" : true,
- "patternProperties" : {
- "^[1-9]\\d*$": { "type" : "string" }
+ "optional": true,
+ "patternProperties": {
+ "^[1-9]\\d*$": { "type": "string" }
}
},
"title": {
@@ -261,22 +267,19 @@
]
},
"parentId": {
- "choices": [
- { "type": "integer" },
- { "type": "string" }
- ],
+ "choices": [{ "type": "integer" }, { "type": "string" }],
"optional": true,
"description": "The ID of a parent menu item; this makes the item a child of a previously added item."
},
"documentUrlPatterns": {
"type": "array",
- "items": {"type": "string"},
+ "items": { "type": "string" },
"optional": true,
"description": "Lets you restrict the item to apply only to documents whose URL matches one of the given patterns. (This applies to frames as well.) For details on the format of a pattern, see $(topic:match_patterns)[Match Patterns]."
},
"targetUrlPatterns": {
"type": "array",
- "items": {"type": "string"},
+ "items": { "type": "string" },
"optional": true,
"description": "Similar to documentUrlPatterns, but lets you filter based on the src attribute of img/audio/video tags and the href of anchor tags."
},
@@ -290,13 +293,21 @@
{ "type": "string" },
{
"type": "string",
- "enum": ["_execute_browser_action", "_execute_page_action", "_execute_sidebar_action"],
+ "enum": [
+ "_execute_browser_action",
+ "_execute_page_action",
+ "_execute_sidebar_action"
+ ],
"max_manifest_version": 2,
"description": "Manifest V2 supports internal commands _execute_page_action, _execute_browser_action and _execute_sidebar_action."
},
{
"type": "string",
- "enum": ["_execute_action", "_execute_page_action", "_execute_sidebar_action"],
+ "enum": [
+ "_execute_action",
+ "_execute_page_action",
+ "_execute_sidebar_action"
+ ],
"min_manifest_version": 3,
"description": "Manifest V3 supports internal commands _execute_page_action, _execute_action and _execute_sidebar_action."
}
@@ -322,10 +333,7 @@
"async": "callback",
"parameters": [
{
- "choices": [
- { "type": "integer" },
- { "type": "string" }
- ],
+ "choices": [{ "type": "integer" }, { "type": "string" }],
"name": "id",
"description": "The ID of the item to update."
},
@@ -341,8 +349,8 @@
"icons": {
"type": "object",
"optional": "omit-key-if-missing",
- "patternProperties" : {
- "^[1-9]\\d*$": { "type" : "string" }
+ "patternProperties": {
+ "^[1-9]\\d*$": { "type": "string" }
}
},
"title": {
@@ -391,21 +399,18 @@
]
},
"parentId": {
- "choices": [
- { "type": "integer" },
- { "type": "string" }
- ],
+ "choices": [{ "type": "integer" }, { "type": "string" }],
"optional": true,
"description": "Note: You cannot change an item to be a child of one of its own descendants."
},
"documentUrlPatterns": {
"type": "array",
- "items": {"type": "string"},
+ "items": { "type": "string" },
"optional": true
},
"targetUrlPatterns": {
"type": "array",
- "items": {"type": "string"},
+ "items": { "type": "string" },
"optional": true
},
"enabled": {
@@ -430,10 +435,7 @@
"async": "callback",
"parameters": [
{
- "choices": [
- { "type": "integer" },
- { "type": "string" }
- ],
+ "choices": [{ "type": "integer" }, { "type": "string" }],
"name": "menuItemId",
"description": "The ID of the context menu item to remove."
},
@@ -540,16 +542,13 @@
"description": "A list of IDs of the menu items that were shown.",
"type": "array",
"items": {
- "choices": [
- { "type": "integer" },
- { "type": "string" }
- ]
+ "choices": [{ "type": "integer" }, { "type": "string" }]
}
},
"contexts": {
"description": "A list of all contexts that apply to the menu.",
"type": "array",
- "items": {"$ref": "ContextType"}
+ "items": { "$ref": "ContextType" }
},
"viewType": {
"$ref": "extension.ViewType",
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/normandyAddonStudy.json schemas/FIREFOX_120_0b5_RELEASE/browser/normandyAddonStudy.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/normandyAddonStudy.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/normandyAddonStudy.json 2023-11-01 10:27:26.000000000 +0100
@@ -1,24 +1,24 @@
[
{
"namespace": "manifest",
- "types": [{
- "$extend": "PermissionPrivileged",
- "choices": [{
- "type": "string",
- "enum": [
- "normandyAddonStudy"
+ "types": [
+ {
+ "$extend": "PermissionPrivileged",
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["normandyAddonStudy"]
+ }
]
- }]
- }]
+ }
+ ]
},
{
"namespace": "normandyAddonStudy",
"description": "Normandy Study API",
"allowedContexts": ["content", "devtools"],
"defaultContexts": ["content", "devtools"],
- "permissions": [
- "normandyAddonStudy"
- ],
+ "permissions": ["normandyAddonStudy"],
"types": [
{
"id": "Study",
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/pkcs11.json schemas/FIREFOX_120_0b5_RELEASE/browser/pkcs11.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/pkcs11.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/pkcs11.json 2023-11-01 10:27:26.000000000 +0100
@@ -4,12 +4,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "pkcs11"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["pkcs11"]
+ }
+ ]
}
]
},
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/search.json schemas/FIREFOX_120_0b5_RELEASE/browser/search.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/search.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/search.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "OptionalPermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "search"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["search"]
+ }
+ ]
}
]
},
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/sessions.json schemas/FIREFOX_120_0b5_RELEASE/browser/sessions.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/sessions.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/sessions.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "sessions"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["sessions"]
+ }
+ ]
}
]
},
@@ -39,18 +39,36 @@
"id": "Session",
"type": "object",
"properties": {
- "lastModified": {"type": "integer", "description": "The time when the window or tab was closed or modified, represented in milliseconds since the epoch."},
- "tab": {"$ref": "tabs.Tab", "optional": true, "description": "The $(ref:tabs.Tab), if this entry describes a tab. Either this or $(ref:sessions.Session.window) will be set."},
- "window": {"$ref": "windows.Window", "optional": true, "description": "The $(ref:windows.Window), if this entry describes a window. Either this or $(ref:sessions.Session.tab) will be set."}
+ "lastModified": {
+ "type": "integer",
+ "description": "The time when the window or tab was closed or modified, represented in milliseconds since the epoch."
+ },
+ "tab": {
+ "$ref": "tabs.Tab",
+ "optional": true,
+ "description": "The $(ref:tabs.Tab), if this entry describes a tab. Either this or $(ref:sessions.Session.window) will be set."
+ },
+ "window": {
+ "$ref": "windows.Window",
+ "optional": true,
+ "description": "The $(ref:windows.Window), if this entry describes a window. Either this or $(ref:sessions.Session.tab) will be set."
+ }
}
},
{
"id": "Device",
"type": "object",
"properties": {
- "info": {"type": "string"},
- "deviceName": {"type": "string", "description": "The name of the foreign device."},
- "sessions": {"type": "array", "items": {"$ref": "Session"}, "description": "A list of open window sessions for the foreign device, sorted from most recently to least recently modified session."}
+ "info": { "type": "string" },
+ "deviceName": {
+ "type": "string",
+ "description": "The name of the foreign device."
+ },
+ "sessions": {
+ "type": "array",
+ "items": { "$ref": "Session" },
+ "description": "A list of open window sessions for the foreign device, sorted from most recently to least recently modified session."
+ }
}
}
],
@@ -103,7 +121,10 @@
"name": "callback",
"parameters": [
{
- "name": "sessions", "type": "array", "items": { "$ref": "Session" }, "description": "The list of closed entries in reverse order that they were closed (the most recently closed tab or window will be at index <code>0</code>). The entries may contain either tabs or windows."
+ "name": "sessions",
+ "type": "array",
+ "items": { "$ref": "Session" },
+ "description": "The list of closed entries in reverse order that they were closed (the most recently closed tab or window will be at index <code>0</code>). The entries may contain either tabs or windows."
}
]
}
@@ -126,7 +147,10 @@
"name": "callback",
"parameters": [
{
- "name": "devices", "type": "array", "items": { "$ref": "Device" }, "description": "The list of $(ref:sessions.Device) objects for each synced session, sorted in order from device with most recently modified session to device with least recently modified session. $(ref:tabs.Tab) objects are sorted by recency in the $(ref:windows.Window) of the $(ref:sessions.Session) objects."
+ "name": "devices",
+ "type": "array",
+ "items": { "$ref": "Device" },
+ "description": "The list of $(ref:sessions.Device) objects for each synced session, sorted in order from device with most recently modified session to device with least recently modified session. $(ref:tabs.Tab) objects are sorted by recency in the $(ref:windows.Window) of the $(ref:sessions.Session) objects."
}
]
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/sidebar_action.json schemas/FIREFOX_120_0b5_RELEASE/browser/sidebar_action.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/sidebar_action.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/sidebar_action.json 2023-11-01 10:27:26.000000000 +0100
@@ -25,7 +25,7 @@
"browser_style": {
"type": "boolean",
"optional": true,
- "default": true
+ "description": "Defaults to true in Manifest V2; Deprecated in Manifest V3."
},
"default_panel": {
"type": "string",
@@ -71,10 +71,7 @@
"type": "object",
"properties": {
"title": {
- "choices": [
- {"type": "string"},
- {"type": "null"}
- ],
+ "choices": [{ "type": "string" }, { "type": "null" }],
"description": "The string the sidebar action should display when moused over."
},
"tabId": {
@@ -146,7 +143,7 @@
{ "type": "string" },
{
"type": "object",
- "additionalProperties": {"type": "string"}
+ "additionalProperties": { "type": "string" }
}
],
"optional": true,
@@ -190,10 +187,7 @@
"description": "Sets the sidebar url for the window specified by windowId."
},
"panel": {
- "choices": [
- {"type": "string"},
- {"type": "null"}
- ],
+ "choices": [{ "type": "string" }, { "type": "null" }],
"description": "The url to the html file to show in a sidebar. If set to the empty string (''), no sidebar is shown."
}
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/tabs.json schemas/FIREFOX_120_0b5_RELEASE/browser/tabs.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/tabs.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/tabs.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,22 +8,21 @@
"types": [
{
"$extend": "OptionalPermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "activeTab"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["activeTab"]
+ }
+ ]
},
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "tabs",
- "tabHide"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["tabs", "tabHide"]
+ }
+ ]
}
]
},
@@ -31,13 +30,23 @@
"namespace": "tabs",
"description": "Use the <code>browser.tabs</code> API to interact with the browser's tab system. You can use this API to create, modify, and rearrange tabs in the browser.",
"types": [
- { "id": "MutedInfoReason",
+ {
+ "id": "MutedInfoReason",
"type": "string",
"description": "An event that caused a muted state change.",
"enum": [
- {"name": "user", "description": "A user input action has set/overridden the muted state."},
- {"name": "capture", "description": "Tab capture started, forcing a muted state change."},
- {"name": "extension", "description": "An extension, identified by the extensionId field, set the muted state."}
+ {
+ "name": "user",
+ "description": "A user input action has set/overridden the muted state."
+ },
+ {
+ "name": "capture",
+ "description": "Tab capture started, forcing a muted state change."
+ },
+ {
+ "name": "extension",
+ "description": "An extension, identified by the extensionId field, set the muted state."
+ }
]
},
{
@@ -85,32 +94,144 @@
"id": "Tab",
"type": "object",
"properties": {
- "id": {"type": "integer", "minimum": -1, "optional": true, "description": "The ID of the tab. Tab IDs are unique within a browser session. Under some circumstances a Tab may not be assigned an ID, for example when querying foreign tabs using the $(ref:sessions) API, in which case a session ID may be present. Tab ID can also be set to $(ref:tabs.TAB_ID_NONE) for apps and devtools windows."},
- "index": {"type": "integer", "minimum": -1, "description": "The zero-based index of the tab within its window."},
- "windowId": {"type": "integer", "optional": true, "minimum": 0, "description": "The ID of the window the tab is contained within."},
- "openerTabId": {"type": "integer", "minimum": 0, "optional": true, "description": "The ID of the tab that opened this tab, if any. This property is only present if the opener tab still exists."},
- "highlighted": {"type": "boolean", "description": "Whether the tab is highlighted. Works as an alias of active"},
- "active": {"type": "boolean", "description": "Whether the tab is active in its window. (Does not necessarily mean the window is focused.)"},
- "pinned": {"type": "boolean", "description": "Whether the tab is pinned."},
- "lastAccessed": {"type": "integer", "optional": true, "description": "The last time the tab was accessed as the number of milliseconds since epoch."},
- "audible": {"type": "boolean", "optional": true, "description": "Whether the tab has produced sound over the past couple of seconds (but it might not be heard if also muted). Equivalent to whether the speaker audio indicator is showing."},
- "mutedInfo": {"$ref": "MutedInfo", "optional": true, "description": "Current tab muted state and the reason for the last state change."},
- "url": {"type": "string", "optional": true, "permissions": ["tabs"], "description": "The URL the tab is displaying. This property is only present if the extension's manifest includes the <code>\"tabs\"</code> permission."},
- "title": {"type": "string", "optional": true, "permissions": ["tabs"], "description": "The title of the tab. This property is only present if the extension's manifest includes the <code>\"tabs\"</code> permission."},
- "favIconUrl": {"type": "string", "optional": true, "permissions": ["tabs"], "description": "The URL of the tab's favicon. This property is only present if the extension's manifest includes the <code>\"tabs\"</code> permission. It may also be an empty string if the tab is loading."},
- "status": {"type": "string", "optional": true, "description": "Either <em>loading</em> or <em>complete</em>."},
- "discarded": {"type": "boolean", "optional": true, "description": "True while the tab is not loaded with content."},
- "incognito": {"type": "boolean", "description": "Whether the tab is in an incognito window."},
- "width": {"type": "integer", "optional": true, "description": "The width of the tab in pixels."},
- "height": {"type": "integer", "optional": true, "description": "The height of the tab in pixels."},
- "hidden": {"type": "boolean", "optional": true, "description": "True if the tab is hidden."},
- "sessionId": {"type": "string", "optional": true, "description": "The session ID used to uniquely identify a Tab obtained from the $(ref:sessions) API."},
- "cookieStoreId": {"type": "string", "optional": true, "description": "The CookieStoreId used for the tab."},
- "isArticle": {"type": "boolean", "optional": true, "description": "Whether the document in the tab can be rendered in reader mode."},
- "isInReaderMode": {"type": "boolean", "optional": true, "description": "Whether the document in the tab is being rendered in reader mode."},
- "sharingState": {"$ref": "SharingState", "optional": true, "description": "Current tab sharing state for screen, microphone and camera."},
- "attention": {"type": "boolean", "optional": true, "description": "Whether the tab is drawing attention."},
- "successorTabId": {"type": "integer", "optional": true, "minimum": -1, "description": "The ID of this tab's successor, if any; $(ref:tabs.TAB_ID_NONE) otherwise."}
+ "id": {
+ "type": "integer",
+ "minimum": -1,
+ "optional": true,
+ "description": "The ID of the tab. Tab IDs are unique within a browser session. Under some circumstances a Tab may not be assigned an ID, for example when querying foreign tabs using the $(ref:sessions) API, in which case a session ID may be present. Tab ID can also be set to $(ref:tabs.TAB_ID_NONE) for apps and devtools windows."
+ },
+ "index": {
+ "type": "integer",
+ "minimum": -1,
+ "description": "The zero-based index of the tab within its window."
+ },
+ "windowId": {
+ "type": "integer",
+ "optional": true,
+ "minimum": 0,
+ "description": "The ID of the window the tab is contained within."
+ },
+ "openerTabId": {
+ "type": "integer",
+ "minimum": 0,
+ "optional": true,
+ "description": "The ID of the tab that opened this tab, if any. This property is only present if the opener tab still exists."
+ },
+ "highlighted": {
+ "type": "boolean",
+ "description": "Whether the tab is highlighted. Works as an alias of active"
+ },
+ "active": {
+ "type": "boolean",
+ "description": "Whether the tab is active in its window. (Does not necessarily mean the window is focused.)"
+ },
+ "pinned": {
+ "type": "boolean",
+ "description": "Whether the tab is pinned."
+ },
+ "lastAccessed": {
+ "type": "integer",
+ "optional": true,
+ "description": "The last time the tab was accessed as the number of milliseconds since epoch."
+ },
+ "audible": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the tab has produced sound over the past couple of seconds (but it might not be heard if also muted). Equivalent to whether the speaker audio indicator is showing."
+ },
+ "autoDiscardable": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the tab can be discarded automatically by the browser when resources are low."
+ },
+ "mutedInfo": {
+ "$ref": "MutedInfo",
+ "optional": true,
+ "description": "Current tab muted state and the reason for the last state change."
+ },
+ "url": {
+ "type": "string",
+ "optional": true,
+ "permissions": ["tabs"],
+ "description": "The URL the tab is displaying. This property is only present if the extension's manifest includes the <code>\"tabs\"</code> permission."
+ },
+ "title": {
+ "type": "string",
+ "optional": true,
+ "permissions": ["tabs"],
+ "description": "The title of the tab. This property is only present if the extension's manifest includes the <code>\"tabs\"</code> permission."
+ },
+ "favIconUrl": {
+ "type": "string",
+ "optional": true,
+ "permissions": ["tabs"],
+ "description": "The URL of the tab's favicon. This property is only present if the extension's manifest includes the <code>\"tabs\"</code> permission. It may also be an empty string if the tab is loading."
+ },
+ "status": {
+ "type": "string",
+ "optional": true,
+ "description": "Either <em>loading</em> or <em>complete</em>."
+ },
+ "discarded": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True while the tab is not loaded with content."
+ },
+ "incognito": {
+ "type": "boolean",
+ "description": "Whether the tab is in an incognito window."
+ },
+ "width": {
+ "type": "integer",
+ "optional": true,
+ "description": "The width of the tab in pixels."
+ },
+ "height": {
+ "type": "integer",
+ "optional": true,
+ "description": "The height of the tab in pixels."
+ },
+ "hidden": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True if the tab is hidden."
+ },
+ "sessionId": {
+ "type": "string",
+ "optional": true,
+ "description": "The session ID used to uniquely identify a Tab obtained from the $(ref:sessions) API."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "optional": true,
+ "description": "The CookieStoreId used for the tab."
+ },
+ "isArticle": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the document in the tab can be rendered in reader mode."
+ },
+ "isInReaderMode": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the document in the tab is being rendered in reader mode."
+ },
+ "sharingState": {
+ "$ref": "SharingState",
+ "optional": true,
+ "description": "Current tab sharing state for screen, microphone and camera."
+ },
+ "attention": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the tab is drawing attention."
+ },
+ "successorTabId": {
+ "type": "integer",
+ "optional": true,
+ "minimum": -1,
+ "description": "The ID of this tab's successor, if any; $(ref:tabs.TAB_ID_NONE) otherwise."
+ }
}
},
{
@@ -309,6 +430,7 @@
"enum": [
"attention",
"audible",
+ "autoDiscardable",
"discarded",
"favIconUrl",
"hidden",
@@ -367,9 +489,7 @@
{
"type": "function",
"name": "callback",
- "parameters": [
- {"name": "tab", "$ref": "Tab"}
- ]
+ "parameters": [{ "name": "tab", "$ref": "Tab" }]
}
]
},
@@ -406,7 +526,11 @@
"type": "object",
"name": "connectInfo",
"properties": {
- "name": { "type": "string", "optional": true, "description": "Will be passed into onConnect for content scripts that are listening for the connection event." },
+ "name": {
+ "type": "string",
+ "optional": true,
+ "description": "Will be passed into onConnect for content scripts that are listening for the connection event."
+ },
"frameId": {
"type": "integer",
"optional": true,
@@ -623,6 +747,11 @@
"optional": true,
"description": "Whether the tabs are audible."
},
+ "autoDiscardable": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the tab can be discarded automatically by the browser when resources are low."
+ },
"muted": {
"type": "boolean",
"optional": true,
@@ -665,8 +794,8 @@
},
"url": {
"choices": [
- {"type": "string"},
- {"type": "array", "items": {"type": "string"}}
+ { "type": "string" },
+ { "type": "array", "items": { "type": "string" } }
],
"optional": true,
"description": "Match tabs against one or more $(topic:match_patterns)[URL patterns]. Note that fragment identifiers are not matched."
@@ -689,14 +818,14 @@
"description": "The position of the tabs within their windows."
},
"cookieStoreId": {
- "choices": [
+ "choices": [
{
"type": "array",
"items": { "type": "string" }
},
{
"type": "string"
- }
+ }
],
"optional": true,
"description": "The CookieStoreId used for the tab."
@@ -709,8 +838,11 @@
},
"screen": {
"choices": [
- {"type": "string", "enum": ["Screen", "Window", "Application"]},
- {"type": "boolean"}
+ {
+ "type": "string",
+ "enum": ["Screen", "Window", "Application"]
+ },
+ { "type": "boolean" }
],
"optional": true,
"description": "True for any screen sharing, or a string to specify type of screen sharing."
@@ -752,39 +884,42 @@
"type": "object",
"name": "highlightInfo",
"properties": {
- "windowId": {
- "type": "integer",
- "optional": true,
- "description": "The window that contains the tabs.",
- "minimum": -2
- },
- "populate": {
- "type": "boolean",
- "optional": true,
- "default": true,
- "description": "If true, the $(ref:windows.Window) returned will have a <var>tabs</var> property that contains a list of the $(ref:tabs.Tab) objects. The <code>Tab</code> objects only contain the <code>url</code>, <code>title</code> and <code>favIconUrl</code> properties if the extension's manifest file includes the <code>\"tabs\"</code> permission. If false, the $(ref:windows.Window) won't have the <var>tabs</var> property."
- },
- "tabs": {
- "description": "One or more tab indices to highlight.",
- "choices": [
- {"type": "array", "items": {"type": "integer", "minimum": 0}},
- {"type": "integer"}
- ]
- }
- }
- },
- {
- "type": "function",
- "name": "callback",
- "optional": true,
- "parameters": [
- {
- "name": "window",
- "$ref": "windows.Window",
- "description": "Contains details about the window whose tabs were highlighted."
- }
- ]
- }
+ "windowId": {
+ "type": "integer",
+ "optional": true,
+ "description": "The window that contains the tabs.",
+ "minimum": -2
+ },
+ "populate": {
+ "type": "boolean",
+ "optional": true,
+ "default": true,
+ "description": "If true, the $(ref:windows.Window) returned will have a <var>tabs</var> property that contains a list of the $(ref:tabs.Tab) objects. The <code>Tab</code> objects only contain the <code>url</code>, <code>title</code> and <code>favIconUrl</code> properties if the extension's manifest file includes the <code>\"tabs\"</code> permission. If false, the $(ref:windows.Window) won't have the <var>tabs</var> property."
+ },
+ "tabs": {
+ "description": "One or more tab indices to highlight.",
+ "choices": [
+ {
+ "type": "array",
+ "items": { "type": "integer", "minimum": 0 }
+ },
+ { "type": "integer" }
+ ]
+ }
+ }
+ },
+ {
+ "type": "function",
+ "name": "callback",
+ "optional": true,
+ "parameters": [
+ {
+ "name": "window",
+ "$ref": "windows.Window",
+ "description": "Contains details about the window whose tabs were highlighted."
+ }
+ ]
+ }
]
},
{
@@ -814,6 +949,11 @@
"optional": true,
"description": "Whether the tab should be active. Does not affect whether the window is focused (see $(ref:windows.update))."
},
+ "autoDiscardable": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the tab can be discarded automatically by the browser when resources are low."
+ },
"highlighted": {
"type": "boolean",
"optional": true,
@@ -873,8 +1013,8 @@
"name": "tabIds",
"description": "The tab or list of tabs to move.",
"choices": [
- {"type": "integer", "minimum": 0},
- {"type": "array", "items": {"type": "integer", "minimum": 0}}
+ { "type": "integer", "minimum": 0 },
+ { "type": "array", "items": { "type": "integer", "minimum": 0 } }
]
},
{
@@ -903,8 +1043,8 @@
"name": "tabs",
"description": "Details about the moved tabs.",
"choices": [
- {"$ref": "Tab"},
- {"type": "array", "items": {"$ref": "Tab"}}
+ { "$ref": "Tab" },
+ { "type": "array", "items": { "$ref": "Tab" } }
]
}
]
@@ -969,8 +1109,8 @@
"name": "tabIds",
"description": "The tab or list of tabs to close.",
"choices": [
- {"type": "integer", "minimum": 0},
- {"type": "array", "items": {"type": "integer", "minimum": 0}}
+ { "type": "integer", "minimum": 0 },
+ { "type": "array", "items": { "type": "integer", "minimum": 0 } }
]
},
{
@@ -991,8 +1131,8 @@
"name": "tabIds",
"description": "The tab or list of tabs to discard.",
"choices": [
- {"type": "integer", "minimum": 0},
- {"type": "array", "items": {"type": "integer", "minimum": 0}}
+ { "type": "integer", "minimum": 0 },
+ { "type": "array", "items": { "type": "integer", "minimum": 0 } }
]
}
]
@@ -1120,7 +1260,7 @@
"name": "result",
"optional": true,
"type": "array",
- "items": {"type": "any"},
+ "items": { "type": "any" },
"description": "The result of the script in every injected frame."
}
]
@@ -1349,8 +1489,8 @@
"name": "tabIds",
"description": "The TAB ID or list of TAB IDs to show.",
"choices": [
- {"type": "integer", "minimum": 0},
- {"type": "array", "items": {"type": "integer", "minimum": 0}}
+ { "type": "integer", "minimum": 0 },
+ { "type": "array", "items": { "type": "integer", "minimum": 0 } }
]
}
]
@@ -1366,8 +1506,8 @@
"name": "tabIds",
"description": "The TAB ID or list of TAB IDs to hide.",
"choices": [
- {"type": "integer", "minimum": 0},
- {"type": "array", "items": {"type": "integer", "minimum": 0}}
+ { "type": "integer", "minimum": 0 },
+ { "type": "array", "items": { "type": "integer", "minimum": 0 } }
]
}
]
@@ -1475,7 +1615,7 @@
"type": "function",
"description": "Fired when a tab is updated.",
"parameters": [
- {"type": "integer", "name": "tabId", "minimum": 0},
+ { "type": "integer", "name": "tabId", "minimum": 0 },
{
"type": "object",
"name": "changeInfo",
@@ -1491,6 +1631,11 @@
"optional": true,
"description": "The tab's new audible state."
},
+ "autoDiscardable": {
+ "type": "boolean",
+ "optional": true,
+ "description": "The tab's new autoDiscardable state."
+ },
"discarded": {
"type": "boolean",
"optional": true,
@@ -1566,14 +1711,14 @@
"type": "function",
"description": "Fired when a tab is moved within a window. Only one move event is fired, representing the tab the user directly moved. Move events are not fired for the other tabs that must move in response. This event is not fired when a tab is moved between windows. For that, see $(ref:tabs.onDetached).",
"parameters": [
- {"type": "integer", "name": "tabId", "minimum": 0},
+ { "type": "integer", "name": "tabId", "minimum": 0 },
{
"type": "object",
"name": "moveInfo",
"properties": {
- "windowId": {"type": "integer", "minimum": 0},
- "fromIndex": {"type": "integer", "minimum": 0},
- "toIndex": {"type": "integer", "minimum": 0}
+ "windowId": { "type": "integer", "minimum": 0 },
+ "fromIndex": { "type": "integer", "minimum": 0 },
+ "toIndex": { "type": "integer", "minimum": 0 }
}
}
]
@@ -1623,7 +1768,7 @@
},
"tabIds": {
"type": "array",
- "items": {"type": "integer", "minimum": 0},
+ "items": { "type": "integer", "minimum": 0 },
"description": "All highlighted tabs in the window."
}
}
@@ -1635,13 +1780,13 @@
"type": "function",
"description": "Fired when a tab is detached from a window, for example because it is being moved between windows.",
"parameters": [
- {"type": "integer", "name": "tabId", "minimum": 0},
+ { "type": "integer", "name": "tabId", "minimum": 0 },
{
"type": "object",
"name": "detachInfo",
"properties": {
- "oldWindowId": {"type": "integer", "minimum": 0},
- "oldPosition": {"type": "integer", "minimum": 0}
+ "oldWindowId": { "type": "integer", "minimum": 0 },
+ "oldPosition": { "type": "integer", "minimum": 0 }
}
}
]
@@ -1651,13 +1796,13 @@
"type": "function",
"description": "Fired when a tab is attached to a window, for example because it was moved between windows.",
"parameters": [
- {"type": "integer", "name": "tabId", "minimum": 0},
+ { "type": "integer", "name": "tabId", "minimum": 0 },
{
"type": "object",
"name": "attachInfo",
"properties": {
- "newWindowId": {"type": "integer", "minimum": 0},
- "newPosition": {"type": "integer", "minimum": 0}
+ "newWindowId": { "type": "integer", "minimum": 0 },
+ "newPosition": { "type": "integer", "minimum": 0 }
}
}
]
@@ -1667,13 +1812,20 @@
"type": "function",
"description": "Fired when a tab is closed.",
"parameters": [
- {"type": "integer", "name": "tabId", "minimum": 0},
+ { "type": "integer", "name": "tabId", "minimum": 0 },
{
"type": "object",
"name": "removeInfo",
"properties": {
- "windowId": {"type": "integer", "minimum": 0, "description": "The window whose tab is closed." },
- "isWindowClosing": {"type": "boolean", "description": "True when the tab is being closed because its window is being closed." }
+ "windowId": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "The window whose tab is closed."
+ },
+ "isWindowClosing": {
+ "type": "boolean",
+ "description": "True when the tab is being closed because its window is being closed."
+ }
}
}
]
@@ -1683,24 +1835,26 @@
"type": "function",
"description": "Fired when a tab is replaced with another tab due to prerendering or instant.",
"parameters": [
- {"type": "integer", "name": "addedTabId", "minimum": 0},
- {"type": "integer", "name": "removedTabId", "minimum": 0}
+ { "type": "integer", "name": "addedTabId", "minimum": 0 },
+ { "type": "integer", "name": "removedTabId", "minimum": 0 }
]
},
{
"name": "onZoomChange",
"type": "function",
"description": "Fired when a tab is zoomed.",
- "parameters": [{
- "type": "object",
- "name": "ZoomChangeInfo",
- "properties": {
- "tabId": {"type": "integer", "minimum": 0},
- "oldZoomFactor": {"type": "number"},
- "newZoomFactor": {"type": "number"},
- "zoomSettings": {"$ref": "ZoomSettings"}
+ "parameters": [
+ {
+ "type": "object",
+ "name": "ZoomChangeInfo",
+ "properties": {
+ "tabId": { "type": "integer", "minimum": 0 },
+ "oldZoomFactor": { "type": "number" },
+ "newZoomFactor": { "type": "number" },
+ "zoomSettings": { "$ref": "ZoomSettings" }
+ }
}
- }]
+ ]
}
]
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/top_sites.json schemas/FIREFOX_120_0b5_RELEASE/browser/top_sites.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/top_sites.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/top_sites.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "topSites"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["topSites"]
+ }
+ ]
}
]
},
@@ -43,10 +43,7 @@
},
"type": {
"type": "string",
- "enum": [
- "url",
- "search"
- ],
+ "enum": ["url", "search"],
"optional": true,
"default": "url",
"description": "The entry type, either <code>url</code> for a normal page link, or <code>search</code> for a search shortcut."
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/urlbar.json schemas/FIREFOX_120_0b5_RELEASE/browser/urlbar.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/urlbar.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/urlbar.json 2023-11-01 10:27:26.000000000 +0100
@@ -11,9 +11,7 @@
"choices": [
{
"type": "string",
- "enum": [
- "urlbar"
- ]
+ "enum": ["urlbar"]
}
]
}
@@ -22,9 +20,7 @@
{
"namespace": "urlbar",
"description": "Use the <code>browser.urlbar</code> API to experiment with new features in the URLBar. Restricted to Mozilla privileged WebExtensions.",
- "permissions": [
- "urlbar"
- ],
+ "permissions": ["urlbar"],
"types": [
{
"id": "EngagementState",
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/browser/url_overrides.json schemas/FIREFOX_120_0b5_RELEASE/browser/url_overrides.json
--- schemas/FIREFOX_111_0b8_RELEASE/browser/url_overrides.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/browser/url_overrides.json 2023-11-01 10:27:26.000000000 +0100
@@ -32,4 +32,4 @@
}
]
}
-]
\ No newline at end of file
+]
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/activity_log.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/activity_log.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/activity_log.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/activity_log.json 2023-11-01 10:27:26.000000000 +0100
@@ -1,15 +1,17 @@
[
{
"namespace": "manifest",
- "types": [{
- "$extend": "PermissionPrivileged",
- "choices": [{
- "type": "string",
- "enum": [
- "activityLog"
+ "types": [
+ {
+ "$extend": "PermissionPrivileged",
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["activityLog"]
+ }
]
- }]
- }]
+ }
+ ]
},
{
"namespace": "activityLog",
@@ -31,13 +33,25 @@
},
"type": {
"type": "string",
- "enum": ["api_call", "api_event", "content_script", "user_script"],
+ "enum": [
+ "api_call",
+ "api_event",
+ "content_script",
+ "user_script"
+ ],
"description": "The type of log entry. api_call is a function call made by the extension and api_event is an event callback to the extension. content_script is logged when a content script is injected."
},
"viewType": {
"type": "string",
"optional": true,
- "enum": ["background", "popup", "sidebar", "tab", "devtools_page", "devtools_panel"],
+ "enum": [
+ "background",
+ "popup",
+ "sidebar",
+ "tab",
+ "devtools_page",
+ "devtools_panel"
+ ],
"description": "The type of view where the activity occurred. Content scripts will not have a viewType."
},
"name": {
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/alarms.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/alarms.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/alarms.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/alarms.json 2023-11-01 10:27:26.000000000 +0100
@@ -44,12 +44,21 @@
"name": "alarmInfo",
"description": "Details about the alarm. The alarm first fires either at 'when' milliseconds past the epoch (if 'when' is provided), after 'delayInMinutes' minutes from the current time (if 'delayInMinutes' is provided instead), or after 'periodInMinutes' minutes from the current time (if only 'periodInMinutes' is provided). Users should never provide both 'when' and 'delayInMinutes'. If 'periodInMinutes' is provided, then the alarm recurs repeatedly after that many minutes.",
"properties": {
- "when": {"type": "number", "optional": true,
- "description": "Time when the alarm is scheduled to first fire, in milliseconds past the epoch."},
- "delayInMinutes": {"type": "number", "optional": true,
- "description": "Number of minutes from the current time after which the alarm should first fire."},
- "periodInMinutes": {"type": "number", "optional": true,
- "description": "Number of minutes after which the alarm should recur repeatedly."}
+ "when": {
+ "type": "number",
+ "optional": true,
+ "description": "Time when the alarm is scheduled to first fire, in milliseconds past the epoch."
+ },
+ "delayInMinutes": {
+ "type": "number",
+ "optional": true,
+ "description": "Number of minutes from the current time after which the alarm should first fire."
+ },
+ "periodInMinutes": {
+ "type": "number",
+ "optional": true,
+ "description": "Number of minutes after which the alarm should recur repeatedly."
+ }
}
}
]
@@ -74,7 +83,7 @@
"name": "alarm",
"$ref": "Alarm",
"optional": true
- }
+ }
]
}
]
@@ -89,7 +98,11 @@
"type": "function",
"name": "callback",
"parameters": [
- { "name": "alarms", "type": "array", "items": { "$ref": "Alarm" } }
+ {
+ "name": "alarms",
+ "type": "array",
+ "items": { "$ref": "Alarm" }
+ }
]
}
]
@@ -110,7 +123,11 @@
"type": "function",
"name": "callback",
"parameters": [
- { "name": "wasCleared", "type": "boolean", "description": "Whether an alarm of the given name was found to clear." }
+ {
+ "name": "wasCleared",
+ "type": "boolean",
+ "description": "Whether an alarm of the given name was found to clear."
+ }
]
}
]
@@ -125,7 +142,11 @@
"type": "function",
"name": "callback",
"parameters": [
- { "name": "wasCleared", "type": "boolean", "description": "Whether any alarm was found to clear." }
+ {
+ "name": "wasCleared",
+ "type": "boolean",
+ "description": "Whether any alarm was found to clear."
+ }
]
}
]
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/browser_action.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/browser_action.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/browser_action.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/browser_action.json 2023-11-01 10:27:26.000000000 +0100
@@ -36,7 +36,7 @@
"browser_style": {
"type": "boolean",
"optional": true,
- "default": false
+ "description": "Deprecated in Manifest V3."
},
"default_area": {
"description": "Defines the location the browserAction will appear by default. The default location is navbar.",
@@ -116,9 +116,9 @@
"id": "ColorValue",
"description": "An array of four integers in the range [0,255] that make up the RGBA color of the badge. For example, opaque red is <code>[255, 0, 0, 255]</code>. Can also be a string with a CSS value, with opaque red being <code>#FF0000</code> or <code>#F00</code>.",
"choices": [
- {"type": "string"},
- {"$ref": "ColorArray"},
- {"type": "null"}
+ { "type": "string" },
+ { "$ref": "ColorArray" },
+ { "type": "null" }
]
},
{
@@ -155,10 +155,7 @@
"$import": "Details",
"properties": {
"title": {
- "choices": [
- {"type": "string"},
- {"type": "null"}
- ],
+ "choices": [{ "type": "string" }, { "type": "null" }],
"description": "The string the browser action should display when moused over."
}
}
@@ -194,6 +191,32 @@
]
},
{
+ "name": "getUserSettings",
+ "type": "function",
+ "description": "Returns the user-specified settings relating to an extension's action.",
+ "async": "callback",
+ "parameters": [
+ {
+ "type": "function",
+ "name": "callback",
+ "parameters": [
+ {
+ "name": "userSettings",
+ "type": "object",
+ "properties": {
+ "isOnToolbar": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the extension's action icon is visible on browser windows' top-level toolbar (i.e., whether the extension has been 'pinned' by the user)."
+ }
+ },
+ "description": "The collection of user-specified settings relating to an extension's action."
+ }
+ ]
+ }
+ ]
+ },
+ {
"name": "setIcon",
"type": "function",
"description": "Sets the icon for the browser action. The icon can be specified either as the path to an image file or as the pixel data from a canvas element, or as dictionary of either one of those. Either the <b>path</b> or the <b>imageData</b> property must be specified.",
@@ -210,7 +233,7 @@
{
"type": "object",
"patternProperties": {
- "^[1-9]\\d*$": {"$ref": "ImageDataType"}
+ "^[1-9]\\d*$": { "$ref": "ImageDataType" }
}
}
],
@@ -252,10 +275,7 @@
"$import": "Details",
"properties": {
"popup": {
- "choices": [
- {"type": "string"},
- {"type": "null"}
- ],
+ "choices": [{ "type": "string" }, { "type": "null" }],
"description": "The html file to show in a popup. If set to the empty string (''), no popup is shown."
}
}
@@ -302,10 +322,7 @@
"$import": "Details",
"properties": {
"text": {
- "choices": [
- {"type": "string"},
- {"type": "null"}
- ],
+ "choices": [{ "type": "string" }, { "type": "null" }],
"description": "Any number of characters can be passed, but only about four can fit in the space."
}
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/browsing_data.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/browsing_data.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/browsing_data.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/browsing_data.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "browsingData"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["browsingData"]
+ }
+ ]
}
]
},
@@ -34,7 +34,7 @@
},
"hostnames": {
"type": "array",
- "items": {"type": "string", "format": "hostname"},
+ "items": { "type": "string", "format": "hostname" },
"optional": true,
"description": "Only remove data associated with these hostnames (only applies to cookies and localStorage)."
},
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/captive_portal.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/captive_portal.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/captive_portal.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/captive_portal.json 2023-11-01 10:27:26.000000000 +0100
@@ -4,12 +4,12 @@
"types": [
{
"$extend": "PermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "captivePortal"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["captivePortal"]
+ }
+ ]
}
]
},
@@ -51,7 +51,12 @@
"properties": {
"state": {
"type": "string",
- "enum": ["unknown", "not_captive", "unlocked_portal", "locked_portal"],
+ "enum": [
+ "unknown",
+ "not_captive",
+ "unlocked_portal",
+ "locked_portal"
+ ],
"description": "The current captive portal state."
}
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/content_scripts.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/content_scripts.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/content_scripts.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/content_scripts.json 2023-11-01 10:27:26.000000000 +0100
@@ -46,15 +46,23 @@
"description": "The list of JS files to inject",
"items": { "$ref": "extensionTypes.ExtensionFileOrCode" }
},
- "allFrames": {"type": "boolean", "optional": true, "description": "If allFrames is <code>true</code>, implies that the JavaScript or CSS should be injected into all frames of current page. By default, it's <code>false</code> and is only injected into the top frame."},
- "matchAboutBlank": {"type": "boolean", "optional": true, "description": "If matchAboutBlank is true, then the code is also injected in about:blank and about:srcdoc frames if your extension has access to its parent document. Code cannot be inserted in top-level about:-frames. By default it is <code>false</code>."},
+ "allFrames": {
+ "type": "boolean",
+ "optional": true,
+ "description": "If allFrames is <code>true</code>, implies that the JavaScript or CSS should be injected into all frames of current page. By default, it's <code>false</code> and is only injected into the top frame."
+ },
+ "matchAboutBlank": {
+ "type": "boolean",
+ "optional": true,
+ "description": "If matchAboutBlank is true, then the code is also injected in about:blank and about:srcdoc frames if your extension has access to its parent document. Code cannot be inserted in top-level about:-frames. By default it is <code>false</code>."
+ },
"runAt": {
"$ref": "extensionTypes.RunAt",
"optional": true,
"description": "The soonest that the JavaScript or CSS will be injected into the tab. Defaults to \"document_idle\"."
},
"cookieStoreId": {
- "choices": [
+ "choices": [
{
"type": "array",
"minItems": 1,
@@ -62,7 +70,7 @@
},
{
"type": "string"
- }
+ }
],
"optional": true,
"description": "limit the set of matched tabs to those that belong to the given cookie store id"
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/contextual_identities.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/contextual_identities.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/contextual_identities.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/contextual_identities.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "PermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "contextualIdentities"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["contextualIdentities"]
+ }
+ ]
}
]
},
@@ -27,12 +27,30 @@
"type": "object",
"description": "Represents information about a contextual identity.",
"properties": {
- "name": {"type": "string", "description": "The name of the contextual identity."},
- "icon": {"type": "string", "description": "The icon name of the contextual identity."},
- "iconUrl": {"type": "string", "description": "The icon url of the contextual identity."},
- "color": {"type": "string", "description": "The color name of the contextual identity."},
- "colorCode": {"type": "string", "description": "The color hash of the contextual identity."},
- "cookieStoreId": {"type": "string", "description": "The cookie store ID of the contextual identity."}
+ "name": {
+ "type": "string",
+ "description": "The name of the contextual identity."
+ },
+ "icon": {
+ "type": "string",
+ "description": "The icon name of the contextual identity."
+ },
+ "iconUrl": {
+ "type": "string",
+ "description": "The icon url of the contextual identity."
+ },
+ "color": {
+ "type": "string",
+ "description": "The color name of the contextual identity."
+ },
+ "colorCode": {
+ "type": "string",
+ "description": "The color hash of the contextual identity."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "description": "The cookie store ID of the contextual identity."
+ }
}
}
],
@@ -61,7 +79,11 @@
"name": "details",
"description": "Information to filter the contextual identities being retrieved.",
"properties": {
- "name": {"type": "string", "optional": true, "description": "Filters the contextual identity by name."}
+ "name": {
+ "type": "string",
+ "optional": true,
+ "description": "Filters the contextual identity by name."
+ }
}
}
]
@@ -77,9 +99,21 @@
"name": "details",
"description": "Details about the contextual identity being created.",
"properties": {
- "name": {"type": "string", "optional": false, "description": "The name of the contextual identity." },
- "color": {"type": "string", "optional": false, "description": "The color of the contextual identity." },
- "icon": {"type": "string", "optional": false, "description": "The icon of the contextual identity." }
+ "name": {
+ "type": "string",
+ "optional": false,
+ "description": "The name of the contextual identity."
+ },
+ "color": {
+ "type": "string",
+ "optional": false,
+ "description": "The color of the contextual identity."
+ },
+ "icon": {
+ "type": "string",
+ "optional": false,
+ "description": "The icon of the contextual identity."
+ }
}
}
]
@@ -100,9 +134,21 @@
"name": "details",
"description": "Details about the contextual identity being created.",
"properties": {
- "name": {"type": "string", "optional": true, "description": "The name of the contextual identity." },
- "color": {"type": "string", "optional": true, "description": "The color of the contextual identity." },
- "icon": {"type": "string", "optional": true, "description": "The icon of the contextual identity." }
+ "name": {
+ "type": "string",
+ "optional": true,
+ "description": "The name of the contextual identity."
+ },
+ "color": {
+ "type": "string",
+ "optional": true,
+ "description": "The color of the contextual identity."
+ },
+ "icon": {
+ "type": "string",
+ "optional": true,
+ "description": "The icon of the contextual identity."
+ }
}
}
]
@@ -131,7 +177,10 @@
"type": "object",
"name": "changeInfo",
"properties": {
- "contextualIdentity": {"$ref": "ContextualIdentity", "description": "Contextual identity that has been updated"}
+ "contextualIdentity": {
+ "$ref": "ContextualIdentity",
+ "description": "Contextual identity that has been updated"
+ }
}
}
]
@@ -145,7 +194,10 @@
"type": "object",
"name": "changeInfo",
"properties": {
- "contextualIdentity": {"$ref": "ContextualIdentity", "description": "Contextual identity that has been created"}
+ "contextualIdentity": {
+ "$ref": "ContextualIdentity",
+ "description": "Contextual identity that has been created"
+ }
}
}
]
@@ -159,7 +211,10 @@
"type": "object",
"name": "changeInfo",
"properties": {
- "contextualIdentity": {"$ref": "ContextualIdentity", "description": "Contextual identity that has been removed"}
+ "contextualIdentity": {
+ "$ref": "ContextualIdentity",
+ "description": "Contextual identity that has been removed"
+ }
}
}
]
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/cookies.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/cookies.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/cookies.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/cookies.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "OptionalPermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "cookies"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["cookies"]
+ }
+ ]
}
]
},
@@ -45,19 +45,60 @@
"type": "object",
"description": "Represents information about an HTTP cookie.",
"properties": {
- "name": {"type": "string", "description": "The name of the cookie."},
- "value": {"type": "string", "description": "The value of the cookie."},
- "domain": {"type": "string", "description": "The domain of the cookie (e.g. \"www.google.com\", \"example.com\")."},
- "hostOnly": {"type": "boolean", "description": "True if the cookie is a host-only cookie (i.e. a request's host must exactly match the domain of the cookie)."},
- "path": {"type": "string", "description": "The path of the cookie."},
- "secure": {"type": "boolean", "description": "True if the cookie is marked as Secure (i.e. its scope is limited to secure channels, typically HTTPS)."},
- "httpOnly": {"type": "boolean", "description": "True if the cookie is marked as HttpOnly (i.e. the cookie is inaccessible to client-side scripts)."},
- "sameSite": {"$ref": "SameSiteStatus", "description": "The cookie's same-site status (i.e. whether the cookie is sent with cross-site requests)."},
- "session": {"type": "boolean", "description": "True if the cookie is a session cookie, as opposed to a persistent cookie with an expiration date."},
- "expirationDate": {"type": "number", "optional": true, "description": "The expiration date of the cookie as the number of seconds since the UNIX epoch. Not provided for session cookies."},
- "storeId": {"type": "string", "description": "The ID of the cookie store containing this cookie, as provided in getAllCookieStores()."},
- "firstPartyDomain": {"type": "string", "description": "The first-party domain of the cookie."},
- "partitionKey": {"$ref": "PartitionKey", "optional": true, "description": "The cookie's storage partition, if any. null if not partitioned."}
+ "name": {
+ "type": "string",
+ "description": "The name of the cookie."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the cookie."
+ },
+ "domain": {
+ "type": "string",
+ "description": "The domain of the cookie (e.g. \"www.google.com\", \"example.com\")."
+ },
+ "hostOnly": {
+ "type": "boolean",
+ "description": "True if the cookie is a host-only cookie (i.e. a request's host must exactly match the domain of the cookie)."
+ },
+ "path": {
+ "type": "string",
+ "description": "The path of the cookie."
+ },
+ "secure": {
+ "type": "boolean",
+ "description": "True if the cookie is marked as Secure (i.e. its scope is limited to secure channels, typically HTTPS)."
+ },
+ "httpOnly": {
+ "type": "boolean",
+ "description": "True if the cookie is marked as HttpOnly (i.e. the cookie is inaccessible to client-side scripts)."
+ },
+ "sameSite": {
+ "$ref": "SameSiteStatus",
+ "description": "The cookie's same-site status (i.e. whether the cookie is sent with cross-site requests)."
+ },
+ "session": {
+ "type": "boolean",
+ "description": "True if the cookie is a session cookie, as opposed to a persistent cookie with an expiration date."
+ },
+ "expirationDate": {
+ "type": "number",
+ "optional": true,
+ "description": "The expiration date of the cookie as the number of seconds since the UNIX epoch. Not provided for session cookies."
+ },
+ "storeId": {
+ "type": "string",
+ "description": "The ID of the cookie store containing this cookie, as provided in getAllCookieStores()."
+ },
+ "firstPartyDomain": {
+ "type": "string",
+ "description": "The first-party domain of the cookie."
+ },
+ "partitionKey": {
+ "$ref": "PartitionKey",
+ "optional": true,
+ "description": "The cookie's storage partition, if any. null if not partitioned."
+ }
}
},
{
@@ -65,15 +106,31 @@
"type": "object",
"description": "Represents a cookie store in the browser. An incognito mode window, for instance, uses a separate cookie store from a non-incognito window.",
"properties": {
- "id": {"type": "string", "description": "The unique identifier for the cookie store."},
- "tabIds": {"type": "array", "items": {"type": "integer"}, "description": "Identifiers of all the browser tabs that share this cookie store."},
- "incognito": {"type": "boolean", "description": "Indicates if this is an incognito cookie store"}
+ "id": {
+ "type": "string",
+ "description": "The unique identifier for the cookie store."
+ },
+ "tabIds": {
+ "type": "array",
+ "items": { "type": "integer" },
+ "description": "Identifiers of all the browser tabs that share this cookie store."
+ },
+ "incognito": {
+ "type": "boolean",
+ "description": "Indicates if this is an incognito cookie store"
+ }
}
},
{
"id": "OnChangedCause",
"type": "string",
- "enum": ["evicted", "expired", "explicit", "expired_overwrite", "overwrite"],
+ "enum": [
+ "evicted",
+ "expired",
+ "explicit",
+ "expired_overwrite",
+ "overwrite"
+ ],
"description": "The underlying reason behind the cookie's change. If a cookie was inserted, or removed via an explicit call to $(ref:cookies.remove), \"cause\" will be \"explicit\". If a cookie was automatically removed due to expiry, \"cause\" will be \"expired\". If a cookie was removed due to being overwritten with an already-expired expiration date, \"cause\" will be set to \"expired_overwrite\". If a cookie was automatically removed due to garbage collection, \"cause\" will be \"evicted\". If a cookie was automatically removed due to a \"set\" call that overwrote it, \"cause\" will be \"overwrite\". Plan your response accordingly."
}
],
@@ -89,11 +146,29 @@
"name": "details",
"description": "Details to identify the cookie being retrieved.",
"properties": {
- "url": {"type": "string", "description": "The URL with which the cookie to retrieve is associated. This argument may be a full URL, in which case any data following the URL path (e.g. the query string) is simply ignored. If host permissions for this URL are not specified in the manifest file, the API call will fail."},
- "name": {"type": "string", "description": "The name of the cookie to retrieve."},
- "storeId": {"type": "string", "optional": true, "description": "The ID of the cookie store in which to look for the cookie. By default, the current execution context's cookie store will be used."},
- "firstPartyDomain": {"type": "string", "optional": true, "description": "The first-party domain which the cookie to retrieve is associated. This attribute is required if First-Party Isolation is enabled."},
- "partitionKey": {"$ref": "PartitionKey", "optional": true, "description": "The storage partition, if the cookie is part of partitioned storage. By default, only non-partitioned cookies are returned."}
+ "url": {
+ "type": "string",
+ "description": "The URL with which the cookie to retrieve is associated. This argument may be a full URL, in which case any data following the URL path (e.g. the query string) is simply ignored. If host permissions for this URL are not specified in the manifest file, the API call will fail."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the cookie to retrieve."
+ },
+ "storeId": {
+ "type": "string",
+ "optional": true,
+ "description": "The ID of the cookie store in which to look for the cookie. By default, the current execution context's cookie store will be used."
+ },
+ "firstPartyDomain": {
+ "type": "string",
+ "optional": true,
+ "description": "The first-party domain which the cookie to retrieve is associated. This attribute is required if First-Party Isolation is enabled."
+ },
+ "partitionKey": {
+ "$ref": "PartitionKey",
+ "optional": true,
+ "description": "The storage partition, if the cookie is part of partitioned storage. By default, only non-partitioned cookies are returned."
+ }
}
},
{
@@ -101,7 +176,10 @@
"name": "callback",
"parameters": [
{
- "name": "cookie", "$ref": "Cookie", "optional": true, "description": "Contains details about the cookie. This parameter is null if no such cookie was found."
+ "name": "cookie",
+ "$ref": "Cookie",
+ "optional": true,
+ "description": "Contains details about the cookie. This parameter is null if no such cookie was found."
}
]
}
@@ -118,15 +196,51 @@
"name": "details",
"description": "Information to filter the cookies being retrieved.",
"properties": {
- "url": {"type": "string", "optional": true, "description": "Restricts the retrieved cookies to those that would match the given URL."},
- "name": {"type": "string", "optional": true, "description": "Filters the cookies by name."},
- "domain": {"type": "string", "optional": true, "description": "Restricts the retrieved cookies to those whose domains match or are subdomains of this one."},
- "path": {"type": "string", "optional": true, "description": "Restricts the retrieved cookies to those whose path exactly matches this string."},
- "secure": {"type": "boolean", "optional": true, "description": "Filters the cookies by their Secure property."},
- "session": {"type": "boolean", "optional": true, "description": "Filters out session vs. persistent cookies."},
- "storeId": {"type": "string", "optional": true, "description": "The cookie store to retrieve cookies from. If omitted, the current execution context's cookie store will be used."},
- "firstPartyDomain": {"type": "string", "optional": "omit-key-if-missing", "description": "Restricts the retrieved cookies to those whose first-party domains match this one. This attribute is required if First-Party Isolation is enabled. To not filter by a specific first-party domain, use `null` or `undefined`."},
- "partitionKey": {"$ref": "PartitionKey", "optional": true, "description": "Selects a specific storage partition to look up cookies. Defaults to null, in which case only non-partitioned cookies are retrieved. If an object iis passed, partitioned cookies are also included, and filtered based on the keys present in the given PartitionKey description. An empty object ({}) returns all cookies (partitioned + unpartitioned), a non-empty object (e.g. {topLevelSite: '...'}) only returns cookies whose partition match all given attributes."}
+ "url": {
+ "type": "string",
+ "optional": true,
+ "description": "Restricts the retrieved cookies to those that would match the given URL."
+ },
+ "name": {
+ "type": "string",
+ "optional": true,
+ "description": "Filters the cookies by name."
+ },
+ "domain": {
+ "type": "string",
+ "optional": true,
+ "description": "Restricts the retrieved cookies to those whose domains match or are subdomains of this one."
+ },
+ "path": {
+ "type": "string",
+ "optional": true,
+ "description": "Restricts the retrieved cookies to those whose path exactly matches this string."
+ },
+ "secure": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Filters the cookies by their Secure property."
+ },
+ "session": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Filters out session vs. persistent cookies."
+ },
+ "storeId": {
+ "type": "string",
+ "optional": true,
+ "description": "The cookie store to retrieve cookies from. If omitted, the current execution context's cookie store will be used."
+ },
+ "firstPartyDomain": {
+ "type": "string",
+ "optional": "omit-key-if-missing",
+ "description": "Restricts the retrieved cookies to those whose first-party domains match this one. This attribute is required if First-Party Isolation is enabled. To not filter by a specific first-party domain, use `null` or `undefined`."
+ },
+ "partitionKey": {
+ "$ref": "PartitionKey",
+ "optional": true,
+ "description": "Selects a specific storage partition to look up cookies. Defaults to null, in which case only non-partitioned cookies are retrieved. If an object iis passed, partitioned cookies are also included, and filtered based on the keys present in the given PartitionKey description. An empty object ({}) returns all cookies (partitioned + unpartitioned), a non-empty object (e.g. {topLevelSite: '...'}) only returns cookies whose partition match all given attributes."
+ }
}
},
{
@@ -134,7 +248,10 @@
"name": "callback",
"parameters": [
{
- "name": "cookies", "type": "array", "items": {"$ref": "Cookie"}, "description": "All the existing, unexpired cookies that match the given cookie info."
+ "name": "cookies",
+ "type": "array",
+ "items": { "$ref": "Cookie" },
+ "description": "All the existing, unexpired cookies that match the given cookie info."
}
]
}
@@ -151,18 +268,66 @@
"name": "details",
"description": "Details about the cookie being set.",
"properties": {
- "url": {"type": "string", "description": "The request-URI to associate with the setting of the cookie. This value can affect the default domain and path values of the created cookie. If host permissions for this URL are not specified in the manifest file, the API call will fail."},
- "name": {"type": "string", "optional": true, "description": "The name of the cookie. Empty by default if omitted."},
- "value": {"type": "string", "optional": true, "description": "The value of the cookie. Empty by default if omitted."},
- "domain": {"type": "string", "optional": true, "description": "The domain of the cookie. If omitted, the cookie becomes a host-only cookie."},
- "path": {"type": "string", "optional": true, "description": "The path of the cookie. Defaults to the path portion of the url parameter."},
- "secure": {"type": "boolean", "optional": true, "description": "Whether the cookie should be marked as Secure. Defaults to false."},
- "httpOnly": {"type": "boolean", "optional": true, "description": "Whether the cookie should be marked as HttpOnly. Defaults to false."},
- "sameSite": {"$ref": "SameSiteStatus", "optional": true, "description": "The cookie's same-site status.", "default": "no_restriction"},
- "expirationDate": {"type": "number", "optional": true, "description": "The expiration date of the cookie as the number of seconds since the UNIX epoch. If omitted, the cookie becomes a session cookie."},
- "storeId": {"type": "string", "optional": true, "description": "The ID of the cookie store in which to set the cookie. By default, the cookie is set in the current execution context's cookie store."},
- "firstPartyDomain": {"type": "string", "optional": true, "description": "The first-party domain of the cookie. This attribute is required if First-Party Isolation is enabled."},
- "partitionKey": {"$ref": "PartitionKey", "optional": true, "description": "The storage partition, if the cookie is part of partitioned storage. By default, non-partitioned storage is used."}
+ "url": {
+ "type": "string",
+ "description": "The request-URI to associate with the setting of the cookie. This value can affect the default domain and path values of the created cookie. If host permissions for this URL are not specified in the manifest file, the API call will fail."
+ },
+ "name": {
+ "type": "string",
+ "optional": true,
+ "description": "The name of the cookie. Empty by default if omitted."
+ },
+ "value": {
+ "type": "string",
+ "optional": true,
+ "description": "The value of the cookie. Empty by default if omitted."
+ },
+ "domain": {
+ "type": "string",
+ "optional": true,
+ "description": "The domain of the cookie. If omitted, the cookie becomes a host-only cookie."
+ },
+ "path": {
+ "type": "string",
+ "optional": true,
+ "description": "The path of the cookie. Defaults to the path portion of the url parameter."
+ },
+ "secure": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the cookie should be marked as Secure. Defaults to false."
+ },
+ "httpOnly": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the cookie should be marked as HttpOnly. Defaults to false."
+ },
+ "sameSite": {
+ "$ref": "SameSiteStatus",
+ "optional": true,
+ "description": "The cookie's same-site status.",
+ "default": "no_restriction"
+ },
+ "expirationDate": {
+ "type": "number",
+ "optional": true,
+ "description": "The expiration date of the cookie as the number of seconds since the UNIX epoch. If omitted, the cookie becomes a session cookie."
+ },
+ "storeId": {
+ "type": "string",
+ "optional": true,
+ "description": "The ID of the cookie store in which to set the cookie. By default, the cookie is set in the current execution context's cookie store."
+ },
+ "firstPartyDomain": {
+ "type": "string",
+ "optional": true,
+ "description": "The first-party domain of the cookie. This attribute is required if First-Party Isolation is enabled."
+ },
+ "partitionKey": {
+ "$ref": "PartitionKey",
+ "optional": true,
+ "description": "The storage partition, if the cookie is part of partitioned storage. By default, non-partitioned storage is used."
+ }
}
},
{
@@ -171,7 +336,10 @@
"optional": true,
"parameters": [
{
- "name": "cookie", "$ref": "Cookie", "optional": true, "description": "Contains details about the cookie that's been set. If setting failed for any reason, this will be \"null\", and $(ref:runtime.lastError) will be set."
+ "name": "cookie",
+ "$ref": "Cookie",
+ "optional": true,
+ "description": "Contains details about the cookie that's been set. If setting failed for any reason, this will be \"null\", and $(ref:runtime.lastError) will be set."
}
]
}
@@ -188,11 +356,29 @@
"name": "details",
"description": "Information to identify the cookie to remove.",
"properties": {
- "url": {"type": "string", "description": "The URL associated with the cookie. If host permissions for this URL are not specified in the manifest file, the API call will fail."},
- "name": {"type": "string", "description": "The name of the cookie to remove."},
- "storeId": {"type": "string", "optional": true, "description": "The ID of the cookie store to look in for the cookie. If unspecified, the cookie is looked for by default in the current execution context's cookie store."},
- "firstPartyDomain": {"type": "string", "optional": true, "description": "The first-party domain associated with the cookie. This attribute is required if First-Party Isolation is enabled."},
- "partitionKey": {"$ref": "PartitionKey", "optional": true, "description": "The storage partition, if the cookie is part of partitioned storage. By default, non-partitioned storage is used."}
+ "url": {
+ "type": "string",
+ "description": "The URL associated with the cookie. If host permissions for this URL are not specified in the manifest file, the API call will fail."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the cookie to remove."
+ },
+ "storeId": {
+ "type": "string",
+ "optional": true,
+ "description": "The ID of the cookie store to look in for the cookie. If unspecified, the cookie is looked for by default in the current execution context's cookie store."
+ },
+ "firstPartyDomain": {
+ "type": "string",
+ "optional": true,
+ "description": "The first-party domain associated with the cookie. This attribute is required if First-Party Isolation is enabled."
+ },
+ "partitionKey": {
+ "$ref": "PartitionKey",
+ "optional": true,
+ "description": "The storage partition, if the cookie is part of partitioned storage. By default, non-partitioned storage is used."
+ }
}
},
{
@@ -206,11 +392,27 @@
"description": "Contains details about the cookie that's been removed. If removal failed for any reason, this will be \"null\", and $(ref:runtime.lastError) will be set.",
"optional": true,
"properties": {
- "url": {"type": "string", "description": "The URL associated with the cookie that's been removed."},
- "name": {"type": "string", "description": "The name of the cookie that's been removed."},
- "storeId": {"type": "string", "description": "The ID of the cookie store from which the cookie was removed."},
- "firstPartyDomain": {"type": "string", "description": "The first-party domain associated with the cookie that's been removed."},
- "partitionKey": {"$ref": "PartitionKey", "optional": true, "description": "The storage partition, if the cookie is part of partitioned storage. null if not partitioned."}
+ "url": {
+ "type": "string",
+ "description": "The URL associated with the cookie that's been removed."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the cookie that's been removed."
+ },
+ "storeId": {
+ "type": "string",
+ "description": "The ID of the cookie store from which the cookie was removed."
+ },
+ "firstPartyDomain": {
+ "type": "string",
+ "description": "The first-party domain associated with the cookie that's been removed."
+ },
+ "partitionKey": {
+ "$ref": "PartitionKey",
+ "optional": true,
+ "description": "The storage partition, if the cookie is part of partitioned storage. null if not partitioned."
+ }
}
}
]
@@ -228,7 +430,10 @@
"name": "callback",
"parameters": [
{
- "name": "cookieStores", "type": "array", "items": {"$ref": "CookieStore"}, "description": "All the existing cookie stores."
+ "name": "cookieStores",
+ "type": "array",
+ "items": { "$ref": "CookieStore" },
+ "description": "All the existing cookie stores."
}
]
}
@@ -245,9 +450,18 @@
"type": "object",
"name": "changeInfo",
"properties": {
- "removed": {"type": "boolean", "description": "True if a cookie was removed."},
- "cookie": {"$ref": "Cookie", "description": "Information about the cookie that was set or removed."},
- "cause": {"$ref": "OnChangedCause", "description": "The underlying reason behind the cookie's change."}
+ "removed": {
+ "type": "boolean",
+ "description": "True if a cookie was removed."
+ },
+ "cookie": {
+ "$ref": "Cookie",
+ "description": "Information about the cookie that was set or removed."
+ },
+ "cause": {
+ "$ref": "OnChangedCause",
+ "description": "The underlying reason behind the cookie's change."
+ }
}
}
]
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/declarative_net_request.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/declarative_net_request.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/declarative_net_request.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/declarative_net_request.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,26 +8,36 @@
"types": [
{
"$extend": "Permission",
- "choices": [{
- "type": "string",
- "enum": ["declarativeNetRequest"],
- "min_manifest_version": 3
- }]
- },
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["declarativeNetRequest"]
+ }
+ ]
+ },
+ {
+ "$extend": "OptionalPermission",
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["declarativeNetRequestFeedback"]
+ }
+ ]
+ },
{
"$extend": "PermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": ["declarativeNetRequestFeedback", "declarativeNetRequestWithHostAccess"],
- "min_manifest_version": 3
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["declarativeNetRequestWithHostAccess"]
+ }
+ ]
},
{
"$extend": "WebExtensionManifest",
"properties": {
"declarative_net_request": {
"type": "object",
- "min_manifest_version": 3,
"optional": true,
"additionalProperties": { "$ref": "UnrecognizedProperty" },
"properties": {
@@ -63,7 +73,10 @@
{
"namespace": "declarativeNetRequest",
"description": "Use the declarativeNetRequest API to block or modify network requests by specifying declarative rules.",
- "permissions": ["declarativeNetRequest", "declarativeNetRequestWithHostAccess"],
+ "permissions": [
+ "declarativeNetRequest",
+ "declarativeNetRequestWithHostAccess"
+ ],
"types": [
{
"id": "ResourceType",
@@ -93,6 +106,12 @@
]
},
{
+ "id": "UnsupportedRegexReason",
+ "type": "string",
+ "description": "Describes the reason why a given regular expression isn't supported.",
+ "enum": ["syntaxError", "memoryLimitExceeded"]
+ },
+ {
"id": "MatchedRule",
"type": "object",
"properties": {
@@ -333,8 +352,15 @@
"description": "The action to take if this rule is matched.",
"properties": {
"type": {
- "type": "string",
- "enum": ["block", "redirect", "allow", "upgradeScheme", "modifyHeaders", "allowAllRequests"]
+ "type": "string",
+ "enum": [
+ "block",
+ "redirect",
+ "allow",
+ "upgradeScheme",
+ "modifyHeaders",
+ "allowAllRequests"
+ ]
},
"redirect": {
"type": "object",
@@ -360,7 +386,7 @@
"regexSubstitution": {
"type": "string",
"optional": true,
- "description": "TODO with regexFilter + Substitution pattern for rules which specify a 'regexFilter'."
+ "description": "Substitution pattern for rules which specify a 'regexFilter'. The first match of regexFilter within the url will be replaced with this pattern. Within regexSubstitution, backslash-escaped digits (\\1 to \\9) can be used to insert the corresponding capture groups. \\0 refers to the entire matching text."
}
}
},
@@ -603,6 +629,57 @@
]
},
{
+ "name": "isRegexSupported",
+ "type": "function",
+ "description": "Checks if the given regular expression will be supported as a 'regexFilter' rule condition.",
+ "async": "callback",
+ "parameters": [
+ {
+ "name": "regexOptions",
+ "type": "object",
+ "properties": {
+ "regex": {
+ "type": "string",
+ "description": "The regular expresson to check."
+ },
+ "isCaseSensitive": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the 'regex' specified is case sensitive.",
+ "default": false
+ },
+ "requireCapturing": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the 'regex' specified requires capturing. Capturing is only required for redirect rules which specify a 'regexSubstition' action.",
+ "default": false
+ }
+ }
+ },
+ {
+ "name": "callback",
+ "type": "function",
+ "parameters": [
+ {
+ "name": "result",
+ "type": "object",
+ "properties": {
+ "isSupported": {
+ "type": "boolean",
+ "description": "Whether the given regex is supported"
+ },
+ "reason": {
+ "$ref": "UnsupportedRegexReason",
+ "optional": true,
+ "description": "Specifies the reason why the regular expression is not supported. Only provided if 'isSupported' is false."
+ }
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
"name": "testMatchOutcome",
"type": "function",
"description": "Checks if any of the extension's declarativeNetRequest rules would match a hypothetical request.",
@@ -698,6 +775,10 @@
"type": "number",
"description": "The maximum number of dynamic and session rules an extension can add. NOTE: in the Firefox we are enforcing this limit to the session and dynamic rules count separately, instead of enforcing it to the rules count for both combined as the Chrome implementation does."
},
+ "MAX_NUMBER_OF_REGEX_RULES": {
+ "type": "number",
+ "description": "The maximum number of regular expression rules that an extension can add. This limit is evaluated separately for the set of session rules, dynamic rules and those specified in the rule_resources file."
+ },
"SESSION_RULESET_ID": {
"type": "string",
"value": "_session",
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/dns.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/dns.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/dns.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/dns.json 2023-11-01 10:27:26.000000000 +0100
@@ -4,12 +4,12 @@
"types": [
{
"$extend": "PermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "dns"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["dns"]
+ }
+ ]
}
]
},
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/downloads.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/downloads.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/downloads.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/downloads.json 2023-11-01 10:27:26.000000000 +0100
@@ -4,13 +4,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "downloads",
- "downloads.open"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["downloads", "downloads.open"]
+ }
+ ]
}
]
},
@@ -21,11 +20,7 @@
{
"id": "FilenameConflictAction",
"type": "string",
- "enum": [
- "uniquify",
- "overwrite",
- "prompt"
- ]
+ "enum": ["uniquify", "overwrite", "prompt"]
},
{
"id": "InterruptReason",
@@ -75,11 +70,7 @@
{
"id": "State",
"type": "string",
- "enum": [
- "in_progress",
- "interrupted",
- "complete"
- ],
+ "enum": ["in_progress", "interrupted", "complete"],
"description": "<dl><dt>in_progress</dt><dd>The download is currently receiving data from the server.</dd><dt>interrupted</dt><dd>An error broke the connection with the file host.</dd><dt>complete</dt><dd>The download completed successfully.</dd></dl>These string constants will never change, however the set of States may change."
},
{
@@ -409,10 +400,7 @@
},
"method": {
"description": "The HTTP method to use if the URL uses the HTTP[S] protocol.",
- "enum": [
- "GET",
- "POST"
- ],
+ "enum": ["GET", "POST"],
"optional": true,
"type": "string"
},
@@ -667,7 +655,7 @@
"name": "callback",
"type": "function",
"optional": true,
- "parameters": [ ]
+ "parameters": []
}
]
},
@@ -684,7 +672,7 @@
"name": "callback",
"type": "function",
"optional": true,
- "parameters": [ ]
+ "parameters": []
}
],
"type": "function"
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/events.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/events.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/events.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/events.json 2023-11-01 10:27:26.000000000 +0100
@@ -19,18 +19,18 @@
},
"tags": {
"type": "array",
- "items": {"type": "string"},
+ "items": { "type": "string" },
"optional": true,
- "description": "Tags can be used to annotate rules and perform operations on sets of rules."
+ "description": "Tags can be used to annotate rules and perform operations on sets of rules."
},
"conditions": {
"type": "array",
- "items": {"type": "any"},
+ "items": { "type": "any" },
"description": "List of conditions that can trigger the actions."
},
"actions": {
"type": "array",
- "items": {"type": "any"},
+ "items": { "type": "any" },
"description": "List of actions that are triggered if one of the condtions is fulfilled."
},
"priority": {
@@ -112,7 +112,7 @@
{
"name": "rules",
"type": "array",
- "items": {"$ref": "Rule"},
+ "items": { "$ref": "Rule" },
"description": "Rules to be registered. These do not replace previously registered rules."
},
{
@@ -123,7 +123,7 @@
{
"name": "rules",
"type": "array",
- "items": {"$ref": "Rule"},
+ "items": { "$ref": "Rule" },
"description": "Rules that were registered, the optional parameters are filled with values."
}
],
@@ -151,7 +151,7 @@
"name": "ruleIdentifiers",
"optional": true,
"type": "array",
- "items": {"type": "string"},
+ "items": { "type": "string" },
"description": "If an array is passed, only rules with identifiers contained in this array are returned."
},
{
@@ -161,7 +161,7 @@
{
"name": "rules",
"type": "array",
- "items": {"$ref": "Rule"},
+ "items": { "$ref": "Rule" },
"description": "Rules that were registered, the optional parameters are filled with values."
}
],
@@ -189,7 +189,7 @@
"name": "ruleIdentifiers",
"optional": true,
"type": "array",
- "items": {"type": "string"},
+ "items": { "type": "string" },
"description": "If an array is passed, only rules with identifiers contained in this array are unregistered."
},
{
@@ -310,8 +310,14 @@
"optional": true,
"items": {
"choices": [
- {"type": "integer", "description": "A specific port."},
- {"type": "array", "minItems": 2, "maxItems": 2, "items": {"type": "integer"}, "description": "A pair of integers identiying the start and end (both inclusive) of a port range."}
+ { "type": "integer", "description": "A specific port." },
+ {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": { "type": "integer" },
+ "description": "A pair of integers identiying the start and end (both inclusive) of a port range."
+ }
]
}
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/experiments.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/experiments.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/experiments.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/experiments.json 2023-11-01 10:27:26.000000000 +0100
@@ -16,7 +16,7 @@
"properties": {
"experiment_apis": {
"type": "object",
- "additionalProperties": {"$ref": "experiments.ExperimentAPI"},
+ "additionalProperties": { "$ref": "experiments.ExperimentAPI" },
"optional": true,
"privileged": true
}
@@ -31,7 +31,7 @@
"id": "ExperimentAPI",
"type": "object",
"properties": {
- "schema": {"$ref": "ExperimentURL"},
+ "schema": { "$ref": "ExperimentURL" },
"parent": {
"type": "object",
@@ -48,11 +48,11 @@
"default": []
},
- "script": {"$ref": "ExperimentURL"},
+ "script": { "$ref": "ExperimentURL" },
"scopes": {
"type": "array",
- "items": {"$ref": "APIParentScope", "onError": "warn"},
+ "items": { "$ref": "APIParentScope", "onError": "warn" },
"optional": true,
"default": []
}
@@ -63,14 +63,14 @@
"child": {
"type": "object",
"properties": {
- "paths": {"$ref": "APIPaths"},
+ "paths": { "$ref": "APIPaths" },
- "script": {"$ref": "ExperimentURL"},
+ "script": { "$ref": "ExperimentURL" },
"scopes": {
"type": "array",
"minItems": 1,
- "items": {"$ref": "APIChildScope", "onError": "warn"}
+ "items": { "$ref": "APIChildScope", "onError": "warn" }
}
},
"optional": true
@@ -85,44 +85,34 @@
{
"id": "APIPaths",
"type": "array",
- "items": {"$ref": "APIPath"},
+ "items": { "$ref": "APIPath" },
"minItems": 1
},
{
"id": "APIPath",
"type": "array",
- "items": {"type": "string"},
+ "items": { "type": "string" },
"minItems": 1
},
{
"id": "APIEvents",
"type": "array",
- "items": {"$ref": "APIEvent", "onError": "warn"}
+ "items": { "$ref": "APIEvent", "onError": "warn" }
},
{
"id": "APIEvent",
"type": "string",
- "enum": [
- "startup"
- ]
+ "enum": ["startup"]
},
{
"id": "APIParentScope",
"type": "string",
- "enum": [
- "addon_parent",
- "content_parent",
- "devtools_parent"
- ]
+ "enum": ["addon_parent", "content_parent", "devtools_parent"]
},
{
"id": "APIChildScope",
"type": "string",
- "enum": [
- "addon_child",
- "content_child",
- "devtools_child"
- ]
+ "enum": ["addon_child", "content_child", "devtools_child"]
}
]
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/extension.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/extension.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/extension.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/extension.json 2023-11-01 10:27:26.000000000 +0100
@@ -16,7 +16,10 @@
"allowedContexts": ["content", "devtools"],
"description": "Set for the lifetime of a callback if an ansychronous extension api has resulted in an error. If no error has occured lastError will be <var>undefined</var>.",
"properties": {
- "message": { "type": "string", "description": "Description of the error that has taken place." }
+ "message": {
+ "type": "string",
+ "description": "Description of the error that has taken place."
+ }
},
"additionalProperties": {
"type": "any"
@@ -79,7 +82,7 @@
},
"tabId": {
"type": "integer",
- "optional":true,
+ "optional": true,
"description": "Find a view according to a tab id. If this field is omitted, returns all views."
}
}
@@ -101,11 +104,11 @@
"description": "Returns the JavaScript 'window' object for the background page running inside the current extension. Returns null if the extension has no background page.",
"parameters": [],
"returns": {
- "type": "object",
- "optional": true,
- "isInstanceOf": "Window",
- "additionalProperties": { "type": "any" }
- }
+ "type": "object",
+ "optional": true,
+ "isInstanceOf": "Window",
+ "additionalProperties": { "type": "any" }
+ }
},
{
"name": "isAllowedIncognitoAccess",
@@ -150,9 +153,7 @@
"unsupported": true,
"type": "function",
"description": "Sets the value of the ap CGI parameter used in the extension's update URL. This value is ignored for extensions that are hosted in the browser vendor's store.",
- "parameters": [
- {"type": "string", "name": "data", "maxLength": 1024}
- ]
+ "parameters": [{ "type": "string", "name": "data", "maxLength": 1024 }]
}
],
"events": [
@@ -163,9 +164,18 @@
"type": "function",
"description": "Fired when a request is sent from either an extension process or a content script.",
"parameters": [
- {"name": "request", "type": "any", "optional": true, "description": "The request sent by the calling script."},
- {"name": "sender", "$ref": "runtime.MessageSender" },
- {"name": "sendResponse", "type": "function", "description": "Function to call (at most once) when you have a response. The argument should be any JSON-ifiable object, or undefined if there is no response. If you have more than one <code>onRequest</code> listener in the same document, then only one may send a response." }
+ {
+ "name": "request",
+ "type": "any",
+ "optional": true,
+ "description": "The request sent by the calling script."
+ },
+ { "name": "sender", "$ref": "runtime.MessageSender" },
+ {
+ "name": "sendResponse",
+ "type": "function",
+ "description": "Function to call (at most once) when you have a response. The argument should be any JSON-ifiable object, or undefined if there is no response. If you have more than one <code>onRequest</code> listener in the same document, then only one may send a response."
+ }
]
},
{
@@ -175,9 +185,18 @@
"type": "function",
"description": "Fired when a request is sent from another extension.",
"parameters": [
- {"name": "request", "type": "any", "optional": true, "description": "The request sent by the calling script."},
- {"name": "sender", "$ref": "runtime.MessageSender" },
- {"name": "sendResponse", "type": "function", "description": "Function to call when you have a response. The argument should be any JSON-ifiable object, or undefined if there is no response." }
+ {
+ "name": "request",
+ "type": "any",
+ "optional": true,
+ "description": "The request sent by the calling script."
+ },
+ { "name": "sender", "$ref": "runtime.MessageSender" },
+ {
+ "name": "sendResponse",
+ "type": "function",
+ "description": "Function to call when you have a response. The argument should be any JSON-ifiable object, or undefined if there is no response."
+ }
]
}
]
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/extension_protocol_handlers.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/extension_protocol_handlers.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/extension_protocol_handlers.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/extension_protocol_handlers.json 2023-11-01 10:27:26.000000000 +0100
@@ -13,25 +13,49 @@
},
"protocol": {
"description": "The protocol the site wishes to handle, specified as a string. For example, you can register to handle SMS text message links by registering to handle the \"sms\" scheme.",
- "choices": [{
- "type": "string",
- "enum": [
- "bitcoin", "dat", "dweb", "ftp", "geo", "gopher", "im", "ipfs", "ipns", "irc", "ircs", "magnet",
- "mailto", "matrix", "mms", "news", "nntp", "sip", "sms", "smsto", "ssb", "ssh",
- "tel", "urn", "webcal", "wtai", "xmpp"
- ]
- }, {
- "type": "string",
- "pattern": "^(ext|web)\\+[a-z0-9.+-]+$"
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": [
+ "bitcoin",
+ "dat",
+ "dweb",
+ "ftp",
+ "geo",
+ "gopher",
+ "im",
+ "ipfs",
+ "ipns",
+ "irc",
+ "ircs",
+ "magnet",
+ "mailto",
+ "matrix",
+ "mms",
+ "news",
+ "nntp",
+ "sip",
+ "sms",
+ "smsto",
+ "ssb",
+ "ssh",
+ "tel",
+ "urn",
+ "webcal",
+ "wtai",
+ "xmpp"
+ ]
+ },
+ {
+ "type": "string",
+ "pattern": "^(ext|web)\\+[a-z0-9.+-]+$"
+ }
+ ]
},
"uriTemplate": {
"description": "The URL of the handler, as a string. This string should include \"%s\" as a placeholder which will be replaced with the escaped URL of the document to be handled. This URL might be a true URL, or it could be a phone number, email address, or so forth.",
"preprocess": "localize",
- "choices": [
- {"$ref": "ExtensionURL"},
- {"$ref": "HttpURL"}
- ]
+ "choices": [{ "$ref": "ExtensionURL" }, { "$ref": "HttpURL" }]
}
}
},
@@ -42,7 +66,7 @@
"description": "A list of protocol handler definitions.",
"optional": true,
"type": "array",
- "items": {"$ref": "ProtocolHandler"}
+ "items": { "$ref": "ProtocolHandler" }
}
}
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/extension_types.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/extension_types.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/extension_types.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/extension_types.json 2023-11-01 10:27:26.000000000 +0100
@@ -35,10 +35,10 @@
"optional": true,
"description": "The area of the document to capture, in CSS pixels, relative to the page. If omitted, capture the visible viewport.",
"properties": {
- "x": {"type": "number"},
- "y": {"type": "number"},
- "width": {"type": "number"},
- "height": {"type": "number"}
+ "x": { "type": "number" },
+ "y": { "type": "number" },
+ "width": { "type": "number" },
+ "height": { "type": "number" }
}
},
"scale": {
@@ -70,10 +70,26 @@
"type": "object",
"description": "Details of the script or CSS to inject. Either the code or the file property must be set, but both may not be set at the same time.",
"properties": {
- "code": {"type": "string", "optional": true, "description": "JavaScript or CSS code to inject.<br><br><b>Warning:</b><br>Be careful using the <code>code</code> parameter. Incorrect use of it may open your extension to <a href=\"https://en.wikipedia.org/wiki/Cross-site_scripting\">cross site scripting</a> attacks."},
- "file": {"type": "string", "optional": true, "description": "JavaScript or CSS file to inject."},
- "allFrames": {"type": "boolean", "optional": true, "description": "If allFrames is <code>true</code>, implies that the JavaScript or CSS should be injected into all frames of current page. By default, it's <code>false</code> and is only injected into the top frame."},
- "matchAboutBlank": {"type": "boolean", "optional": true, "description": "If matchAboutBlank is true, then the code is also injected in about:blank and about:srcdoc frames if your extension has access to its parent document. Code cannot be inserted in top-level about:-frames. By default it is <code>false</code>."},
+ "code": {
+ "type": "string",
+ "optional": true,
+ "description": "JavaScript or CSS code to inject.<br><br><b>Warning:</b><br>Be careful using the <code>code</code> parameter. Incorrect use of it may open your extension to <a href=\"https://en.wikipedia.org/wiki/Cross-site_scripting\">cross site scripting</a> attacks."
+ },
+ "file": {
+ "type": "string",
+ "optional": true,
+ "description": "JavaScript or CSS file to inject."
+ },
+ "allFrames": {
+ "type": "boolean",
+ "optional": true,
+ "description": "If allFrames is <code>true</code>, implies that the JavaScript or CSS should be injected into all frames of current page. By default, it's <code>false</code> and is only injected into the top frame."
+ },
+ "matchAboutBlank": {
+ "type": "boolean",
+ "optional": true,
+ "description": "If matchAboutBlank is true, then the code is also injected in about:blank and about:srcdoc frames if your extension has access to its parent document. Code cannot be inserted in top-level about:-frames. By default it is <code>false</code>."
+ },
"frameId": {
"type": "integer",
"minimum": 0,
@@ -140,8 +156,11 @@
{ "type": "number" },
{ "type": "string" },
{ "type": "boolean" },
- { "type": "array", "items": {"$ref": "PlainJSONValue"} },
- { "type": "object", "additionalProperties": { "$ref": "PlainJSONValue" } }
+ { "type": "array", "items": { "$ref": "PlainJSONValue" } },
+ {
+ "type": "object",
+ "additionalProperties": { "$ref": "PlainJSONValue" }
+ }
]
}
]
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/geckoProfiler.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/geckoProfiler.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/geckoProfiler.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/geckoProfiler.json 2023-11-01 10:27:26.000000000 +0100
@@ -4,12 +4,12 @@
"types": [
{
"$extend": "PermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "geckoProfiler"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["geckoProfiler"]
+ }
+ ]
}
]
},
@@ -28,7 +28,7 @@
"mainthreadio",
"fileio",
"fileioall",
- "noiostacks",
+ "nomarkerstacks",
"screenshots",
"seqstyle",
"stackwalk",
@@ -45,24 +45,23 @@
"unregisteredthreads",
"processcpu",
"power",
- "responsiveness"
+ "responsiveness",
+ "cpufreq"
]
},
{
"id": "supports",
"type": "string",
- "enum": [
- "windowLength"
- ]
+ "enum": ["windowLength"]
}
],
"functions": [
{
- "name": "start",
- "type": "function",
- "description": "Starts the profiler with the specified settings.",
- "async": true,
- "parameters": [
+ "name": "start",
+ "type": "function",
+ "description": "Starts the profiler with the specified settings.",
+ "async": true,
+ "parameters": [
{
"name": "settings",
"type": "object",
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/i18n.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/i18n.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/i18n.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/i18n.json 2023-11-01 10:27:26.000000000 +0100
@@ -48,7 +48,12 @@
"type": "function",
"name": "callback",
"parameters": [
- {"name": "languages", "type": "array", "items": {"$ref": "LanguageCode"}, "description": "Array of LanguageCode"}
+ {
+ "name": "languages",
+ "type": "array",
+ "items": { "$ref": "LanguageCode" },
+ "description": "Array of LanguageCode"
+ }
]
}
]
@@ -105,29 +110,27 @@
"name": "result",
"description": "LanguageDetectionResult object that holds detected langugae reliability and array of DetectedLanguage",
"properties": {
- "isReliable": { "type": "boolean", "description": "CLD detected language reliability" },
- "languages":
- {
- "type": "array",
- "description": "array of detectedLanguage",
- "items":
- {
- "type": "object",
- "description": "DetectedLanguage object that holds detected ISO language code and its percentage in the input string",
- "properties":
- {
- "language":
- {
- "$ref": "LanguageCode"
- },
- "percentage":
- {
- "type": "integer",
- "description": "The percentage of the detected language"
- }
- }
+ "isReliable": {
+ "type": "boolean",
+ "description": "CLD detected language reliability"
+ },
+ "languages": {
+ "type": "array",
+ "description": "array of detectedLanguage",
+ "items": {
+ "type": "object",
+ "description": "DetectedLanguage object that holds detected ISO language code and its percentage in the input string",
+ "properties": {
+ "language": {
+ "$ref": "LanguageCode"
+ },
+ "percentage": {
+ "type": "integer",
+ "description": "The percentage of the detected language"
}
+ }
}
+ }
}
}
]
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/identity.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/identity.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/identity.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/identity.json 2023-11-01 10:27:26.000000000 +0100
@@ -4,12 +4,12 @@
"types": [
{
"$extend": "PermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "identity"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["identity"]
+ }
+ ]
}
]
},
@@ -113,7 +113,7 @@
"name": "userinfo",
"type": "object",
"properties": {
- "email": {"type": "string"},
+ "email": { "type": "string" },
"id": { "type": "string" }
}
}
@@ -132,7 +132,7 @@
"name": "details",
"type": "object",
"properties": {
- "token": {"type": "string"}
+ "token": { "type": "string" }
}
},
{
@@ -144,7 +144,7 @@
"name": "userinfo",
"type": "object",
"properties": {
- "email": {"type": "string"},
+ "email": { "type": "string" },
"id": { "type": "string" }
}
}
@@ -162,8 +162,8 @@
"name": "details",
"type": "object",
"properties": {
- "url": {"$ref": "manifest.HttpURL"},
- "interactive": {"type": "boolean", "optional": true}
+ "url": { "$ref": "manifest.HttpURL" },
+ "interactive": { "type": "boolean", "optional": true }
}
},
{
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/management.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/management.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/management.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/management.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,17 +8,17 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "management"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["management"]
+ }
+ ]
}
]
},
{
- "namespace":"management",
+ "namespace": "management",
"description": "The <code>browser.management</code> API provides ways to manage the list of extensions that are installed and running.",
"types": [
{
@@ -128,7 +128,7 @@
"description": "Returns a list of API based permissions.",
"type": "array",
"optional": true,
- "items" : {
+ "items": {
"type": "string"
}
},
@@ -136,7 +136,7 @@
"description": "Returns a list of host based permissions.",
"type": "array",
"optional": true,
- "items" : {
+ "items": {
"type": "string"
}
},
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/manifest.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/manifest.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/manifest.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/manifest.json 2023-11-01 10:27:26.000000000 +0100
@@ -16,7 +16,7 @@
},
"applications": {
- "$ref": "BrowserSpecificSettings",
+ "$ref": "DeprecatedApplications",
"description": "The applications property is deprecated, please use 'browser_specific_settings'",
"optional": true,
"max_manifest_version": 2
@@ -101,12 +101,12 @@
"$import": "ManifestBase",
"properties": {
- "minimum_chrome_version":{
+ "minimum_chrome_version": {
"type": "string",
"optional": true
},
- "minimum_opera_version":{
+ "minimum_opera_version": {
"type": "string",
"optional": true
},
@@ -148,6 +148,11 @@
"type": "array",
"items": { "$ref": "ExtensionURL" }
},
+ "type": {
+ "optional": true,
+ "type": "string",
+ "enum": ["module", "classic"]
+ },
"persistent": {
"optional": true,
"type": "boolean",
@@ -178,22 +183,20 @@
"browser_style": {
"type": "boolean",
"optional": true,
- "default": true
+ "description": "Defaults to true in Manifest V2; Deprecated in Manifest V3."
},
"chrome_style": {
"type": "boolean",
- "optional": true
+ "optional": true,
+ "max_manifest_version": 2,
+ "description": "chrome_style is ignored in Firefox. Its replacement (browser_style) has been deprecated."
},
"open_in_tab": {
"type": "boolean",
"optional": true
}
},
-
- "additionalProperties": {
- "type": "any",
- "deprecated": "An unexpected property was found in the WebExtension manifest"
- }
+ "additionalProperties": { "$ref": "UnrecognizedProperty" }
},
"content_scripts": {
@@ -291,19 +294,16 @@
"min_manifest_version": 3,
"type": "array",
"postprocess": "webAccessibleMatching",
- "minItems": 1,
"items": {
"type": "object",
"properties": {
"resources": {
"type": "array",
- "minItems": 1,
"items": { "type": "string" }
},
"matches": {
"optional": true,
"type": "array",
- "minItems": 1,
"items": { "$ref": "MatchPattern" }
},
"extension_ids": {
@@ -311,12 +311,13 @@
"type": "array",
"items": {
"choices": [
- {"$ref": "ExtensionID" },
+ { "$ref": "ExtensionID" },
{ "type": "string", "enum": ["*"] }
]
}
}
- }
+ },
+ "additionalProperties": { "$ref": "UnrecognizedProperty" }
}
}
]
@@ -468,9 +469,7 @@
"choices": [
{
"type": "string",
- "enum": [
- "idle"
- ]
+ "enum": ["idle"]
}
]
},
@@ -501,9 +500,7 @@
"choices": [
{
"type": "string",
- "enum": [
- "mozillaAddons"
- ]
+ "enum": ["mozillaAddons"]
}
]
},
@@ -514,11 +511,7 @@
{ "$ref": "PermissionPrivileged" },
{
"type": "string",
- "enum": [
- "alarms",
- "storage",
- "unlimitedStorage"
- ]
+ "enum": ["alarms", "storage", "unlimitedStorage"]
}
]
},
@@ -531,20 +524,14 @@
},
{
"id": "PermissionOrOrigin",
- "choices": [
- { "$ref": "Permission" },
- { "$ref": "MatchPattern" }
- ]
+ "choices": [{ "$ref": "Permission" }, { "$ref": "MatchPattern" }]
},
{
"id": "SitePermission",
"choices": [
{
"type": "string",
- "enum": [
- "midi",
- "midi-sysex"
- ]
+ "enum": ["midi", "midi-sysex"]
}
]
},
@@ -611,12 +598,47 @@
}
},
{
+ "id": "GeckoAndroidSpecificProperties",
+ "type": "object",
+ "properties": {
+ "strict_min_version": {
+ "type": "string",
+ "optional": true
+ },
+ "strict_max_version": {
+ "type": "string",
+ "optional": true
+ }
+ },
+ "additionalProperties": { "type": "any" }
+ },
+ {
+ "id": "DeprecatedApplications",
+ "type": "object",
+ "properties": {
+ "gecko": {
+ "$ref": "FirefoxSpecificProperties",
+ "optional": true
+ },
+ "gecko_android": {
+ "$ref": "GeckoAndroidSpecificProperties",
+ "optional": true,
+ "unsupported": true
+ }
+ },
+ "additionalProperties": { "type": "any" }
+ },
+ {
"id": "BrowserSpecificSettings",
"type": "object",
"properties": {
"gecko": {
"$ref": "FirefoxSpecificProperties",
"optional": true
+ },
+ "gecko_android": {
+ "$ref": "GeckoAndroidSpecificProperties",
+ "optional": true
}
},
"additionalProperties": { "type": "any" }
@@ -700,8 +722,16 @@
"description": "The list of JS files to inject",
"items": { "$ref": "ExtensionURL" }
},
- "all_frames": {"type": "boolean", "optional": true, "description": "If allFrames is <code>true</code>, implies that the JavaScript or CSS should be injected into all frames of current page. By default, it's <code>false</code> and is only injected into the top frame."},
- "match_about_blank": {"type": "boolean", "optional": true, "description": "If matchAboutBlank is true, then the code is also injected in about:blank and about:srcdoc frames if your extension has access to its parent document. Code cannot be inserted in top-level about:-frames. By default it is <code>false</code>."},
+ "all_frames": {
+ "type": "boolean",
+ "optional": true,
+ "description": "If allFrames is <code>true</code>, implies that the JavaScript or CSS should be injected into all frames of current page. By default, it's <code>false</code> and is only injected into the top frame."
+ },
+ "match_about_blank": {
+ "type": "boolean",
+ "optional": true,
+ "description": "If matchAboutBlank is true, then the code is also injected in about:blank and about:srcdoc frames if your extension has access to its parent document. Code cannot be inserted in top-level about:-frames. By default it is <code>false</code>."
+ },
"run_at": {
"$ref": "extensionTypes.RunAt",
"optional": true,
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/native_manifest.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/native_manifest.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/native_manifest.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/native_manifest.json 2023-11-01 10:27:26.000000000 +0100
@@ -21,9 +21,7 @@
},
"type": {
"type": "string",
- "enum": [
- "pkcs11", "stdio"
- ]
+ "enum": ["pkcs11", "stdio"]
},
"allowed_extensions": {
"type": "array",
@@ -51,9 +49,7 @@
},
"type": {
"type": "string",
- "enum": [
- "storage"
- ]
+ "enum": ["storage"]
}
}
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/network_status.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/network_status.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/network_status.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/network_status.json 2023-11-01 10:27:26.000000000 +0100
@@ -4,12 +4,12 @@
"types": [
{
"$extend": "PermissionPrivileged",
- "choices": [{
- "type": "string",
- "enum": [
- "networkStatus"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["networkStatus"]
+ }
+ ]
}
]
},
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/notifications.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/notifications.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/notifications.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/notifications.json 2023-11-01 10:27:26.000000000 +0100
@@ -10,20 +10,12 @@
{
"id": "TemplateType",
"type": "string",
- "enum": [
- "basic",
- "image",
- "list",
- "progress"
- ]
+ "enum": ["basic", "image", "list", "progress"]
},
{
"id": "PermissionLevel",
"type": "string",
- "enum": [
- "granted",
- "denied"
- ]
+ "enum": ["granted", "denied"]
},
{
"id": "NotificationItem",
@@ -316,7 +308,7 @@
{
"name": "notifications",
"type": "object",
- "additionalProperties": {"$ref": "CreateNotificationOptions"},
+ "additionalProperties": { "$ref": "CreateNotificationOptions" },
"description": "The set of notifications currently in the system."
}
]
@@ -409,8 +401,7 @@
"unsupported": true,
"type": "function",
"description": "Fired when the user clicked on a link for the app's notification settings.",
- "parameters": [
- ]
+ "parameters": []
},
{
"name": "onShown",
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/page_action.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/page_action.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/page_action.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/page_action.json 2023-11-01 10:27:26.000000000 +0100
@@ -31,7 +31,7 @@
"browser_style": {
"type": "boolean",
"optional": true,
- "default": false
+ "description": "Deprecated in Manifest V3."
},
"show_matches": {
"type": "array",
@@ -98,7 +98,12 @@
"async": "callback",
"description": "Shows the page action. The page action is shown whenever the tab is selected.",
"parameters": [
- {"type": "integer", "name": "tabId", "minimum": 0, "description": "The id of the tab for which you want to modify the page action."},
+ {
+ "type": "integer",
+ "name": "tabId",
+ "minimum": 0,
+ "description": "The id of the tab for which you want to modify the page action."
+ },
{
"type": "function",
"name": "callback",
@@ -113,7 +118,12 @@
"async": "callback",
"description": "Hides the page action.",
"parameters": [
- {"type": "integer", "name": "tabId", "minimum": 0, "description": "The id of the tab for which you want to modify the page action."},
+ {
+ "type": "integer",
+ "name": "tabId",
+ "minimum": 0,
+ "description": "The id of the tab for which you want to modify the page action."
+ },
{
"type": "function",
"name": "callback",
@@ -149,12 +159,13 @@
"name": "details",
"type": "object",
"properties": {
- "tabId": {"type": "integer", "minimum": 0, "description": "The id of the tab for which you want to modify the page action."},
+ "tabId": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "The id of the tab for which you want to modify the page action."
+ },
"title": {
- "choices": [
- {"type": "string"},
- {"type": "null"}
- ],
+ "choices": [{ "type": "string" }, { "type": "null" }],
"description": "The tooltip string."
}
}
@@ -199,14 +210,18 @@
"name": "details",
"type": "object",
"properties": {
- "tabId": {"type": "integer", "minimum": 0, "description": "The id of the tab for which you want to modify the page action."},
+ "tabId": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "The id of the tab for which you want to modify the page action."
+ },
"imageData": {
"choices": [
{ "$ref": "ImageDataType" },
{
"type": "object",
"patternProperties": {
- "^[1-9]\\d*$": {"$ref": "ImageDataType"}
+ "^[1-9]\\d*$": { "$ref": "ImageDataType" }
}
}
],
@@ -246,12 +261,13 @@
"name": "details",
"type": "object",
"properties": {
- "tabId": {"type": "integer", "minimum": 0, "description": "The id of the tab for which you want to modify the page action."},
+ "tabId": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "The id of the tab for which you want to modify the page action."
+ },
"popup": {
- "choices": [
- {"type": "string"},
- {"type": "null"}
- ],
+ "choices": [{ "type": "string" }, { "type": "null" }],
"description": "The html file to show in a popup. If set to the empty string (''), no popup is shown."
}
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/permissions.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/permissions.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/permissions.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/permissions.json 2023-11-01 10:27:26.000000000 +0100
@@ -117,8 +117,7 @@
{
"name": "callback",
"type": "function",
- "parameters": [
- ]
+ "parameters": []
}
]
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/privacy.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/privacy.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/privacy.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/privacy.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "privacy"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["privacy"]
+ }
+ ]
}
]
},
@@ -29,7 +29,13 @@
{
"id": "IPHandlingPolicy",
"type": "string",
- "enum": ["default", "default_public_and_private_interfaces", "default_public_interface_only", "disable_non_proxied_udp", "proxy_only"],
+ "enum": [
+ "default",
+ "default_public_and_private_interfaces",
+ "default_public_interface_only",
+ "disable_non_proxied_udp",
+ "proxy_only"
+ ],
"description": "The IP handling policy of WebRTC."
},
{
@@ -39,25 +45,13 @@
"properties": {
"minimum": {
"type": "string",
- "enum": [
- "TLSv1",
- "TLSv1.1",
- "TLSv1.2",
- "TLSv1.3",
- "unknown"
- ],
+ "enum": ["TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3", "unknown"],
"optional": true,
"description": "The minimum TLS version supported."
},
"maximum": {
"type": "string",
- "enum": [
- "TLSv1",
- "TLSv1.1",
- "TLSv1.2",
- "TLSv1.3",
- "unknown"
- ],
+ "enum": ["TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3", "unknown"],
"optional": true,
"description": "The maximum TLS version supported."
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/proxy.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/proxy.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/proxy.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/proxy.json 2023-11-01 10:27:26.000000000 +0100
@@ -4,12 +4,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "proxy"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["proxy"]
+ }
+ ]
}
]
},
@@ -26,13 +26,7 @@
"proxyType": {
"type": "string",
"optional": true,
- "enum": [
- "none",
- "autoDetect",
- "system",
- "manual",
- "autoConfig"
- ],
+ "enum": ["none", "autoDetect", "system", "manual", "autoConfig"],
"description": "The type of proxy to use."
},
"http": {
@@ -40,7 +34,7 @@
"optional": true,
"description": "The address of the http proxy, can include a port."
},
- "httpProxyAll":{
+ "httpProxyAll": {
"type": "boolean",
"optional": true,
"description": "Use the http proxy server for all protocols."
@@ -91,7 +85,7 @@
"respectBeConservative": {
"type": "boolean",
"optional": true,
- "default" : true,
+ "default": true,
"description": " If true (the default value), do not use newer TLS protocol features that might have interoperability problems on the Internet. This is intended only for use with critical infrastructure like the updates, and is only available to privileged addons."
}
}
@@ -113,22 +107,72 @@
"type": "object",
"name": "details",
"properties": {
- "requestId": {"type": "string", "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."},
- "url": {"type": "string"},
- "method": {"type": "string", "description": "Standard HTTP method."},
- "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
- "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
- "incognito": {"type": "boolean", "optional": true, "description": "True for private browsing requests."},
- "cookieStoreId": {"type": "string", "optional": true, "description": "The cookie store ID of the contextual identity."},
- "originUrl": {"type": "string", "optional": true, "description": "URL of the resource that triggered this request."},
- "documentUrl": {"type": "string", "optional": true, "description": "URL of the page into which the requested resource will be loaded."},
- "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
- "type": {"$ref": "webRequest.ResourceType", "description": "How the requested resource will be used."},
- "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
- "fromCache": {"type": "boolean", "description": "Indicates if this response was fetched from disk cache."},
- "requestHeaders": {"$ref": "webRequest.HttpHeaders", "optional": true, "description": "The HTTP request headers that are going to be sent out with this request."},
- "urlClassification": {"$ref": "webRequest.UrlClassification", "description": "Url classification if the request has been classified."},
- "thirdParty": {"type": "boolean", "description": "Indicates if this request and its content window hierarchy is third party."}
+ "requestId": {
+ "type": "string",
+ "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."
+ },
+ "url": { "type": "string" },
+ "method": {
+ "type": "string",
+ "description": "Standard HTTP method."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."
+ },
+ "parentFrameId": {
+ "type": "integer",
+ "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
+ },
+ "incognito": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True for private browsing requests."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "optional": true,
+ "description": "The cookie store ID of the contextual identity."
+ },
+ "originUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the resource that triggered this request."
+ },
+ "documentUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the page into which the requested resource will be loaded."
+ },
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."
+ },
+ "type": {
+ "$ref": "webRequest.ResourceType",
+ "description": "How the requested resource will be used."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when this signal is triggered, in milliseconds since the epoch."
+ },
+ "fromCache": {
+ "type": "boolean",
+ "description": "Indicates if this response was fetched from disk cache."
+ },
+ "requestHeaders": {
+ "$ref": "webRequest.HttpHeaders",
+ "optional": true,
+ "description": "The HTTP request headers that are going to be sent out with this request."
+ },
+ "urlClassification": {
+ "$ref": "webRequest.UrlClassification",
+ "description": "Url classification if the request has been classified."
+ },
+ "thirdParty": {
+ "type": "boolean",
+ "description": "Indicates if this request and its content window hierarchy is third party."
+ }
}
}
],
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/runtime.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/runtime.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/runtime.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/runtime.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "nativeMessaging"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["nativeMessaging"]
+ }
+ ]
}
]
},
@@ -28,18 +28,18 @@
"allowedContexts": ["content", "devtools"],
"description": "An object which allows two way communication with other pages.",
"properties": {
- "name": {"type": "string"},
+ "name": { "type": "string" },
"disconnect": { "type": "function" },
"onDisconnect": { "$ref": "events.Event" },
"onMessage": { "$ref": "events.Event" },
- "postMessage": {"type": "function"},
+ "postMessage": { "type": "function" },
"sender": {
"$ref": "MessageSender",
"optional": true,
"description": "This property will <b>only</b> be present on ports passed to onConnect/onConnectExternal listeners."
}
},
- "additionalProperties": { "type": "any"}
+ "additionalProperties": { "type": "any" }
},
{
"id": "MessageSender",
@@ -47,11 +47,32 @@
"allowedContexts": ["content", "devtools"],
"description": "An object containing information about the script context that sent a message or request.",
"properties": {
- "tab": {"$ref": "tabs.Tab", "optional": true, "description": "The $(ref:tabs.Tab) which opened the connection, if any. This property will <strong>only</strong> be present when the connection was opened from a tab (including content scripts), and <strong>only</strong> if the receiver is an extension, not an app."},
- "frameId": {"type": "integer", "optional": true, "description": "The $(topic:frame_ids)[frame] that opened the connection. 0 for top-level frames, positive for child frames. This will only be set when <code>tab</code> is set."},
- "id": {"type": "string", "optional": true, "description": "The ID of the extension or app that opened the connection, if any."},
- "url": {"type": "string", "optional": true, "description": "The URL of the page or frame that opened the connection. If the sender is in an iframe, it will be iframe's URL not the URL of the page which hosts it."},
- "tlsChannelId": {"unsupported": true, "type": "string", "optional": true, "description": "The TLS channel ID of the page or frame that opened the connection, if requested by the extension or app, and if available."}
+ "tab": {
+ "$ref": "tabs.Tab",
+ "optional": true,
+ "description": "The $(ref:tabs.Tab) which opened the connection, if any. This property will <strong>only</strong> be present when the connection was opened from a tab (including content scripts), and <strong>only</strong> if the receiver is an extension, not an app."
+ },
+ "frameId": {
+ "type": "integer",
+ "optional": true,
+ "description": "The $(topic:frame_ids)[frame] that opened the connection. 0 for top-level frames, positive for child frames. This will only be set when <code>tab</code> is set."
+ },
+ "id": {
+ "type": "string",
+ "optional": true,
+ "description": "The ID of the extension or app that opened the connection, if any."
+ },
+ "url": {
+ "type": "string",
+ "optional": true,
+ "description": "The URL of the page or frame that opened the connection. If the sender is in an iframe, it will be iframe's URL not the URL of the page which hosts it."
+ },
+ "tlsChannelId": {
+ "unsupported": true,
+ "type": "string",
+ "optional": true,
+ "description": "The TLS channel ID of the page or frame that opened the connection, if requested by the extension or app, and if available."
+ }
}
},
{
@@ -64,7 +85,16 @@
{
"id": "PlatformArch",
"type": "string",
- "enum": ["aarch64", "arm", "ppc64", "s390x", "sparc64", "x86-32", "x86-64", "noarch"],
+ "enum": [
+ "aarch64",
+ "arm",
+ "ppc64",
+ "s390x",
+ "sparc64",
+ "x86-32",
+ "x86-64",
+ "noarch"
+ ],
"allowedContexts": ["content", "devtools"],
"description": "The machine's processor architecture."
},
@@ -82,7 +112,7 @@
"$ref": "PlatformArch",
"description": "The machine's processor architecture."
},
- "nacl_arch" : {
+ "nacl_arch": {
"unsupported": true,
"description": "The native client architecture. This may be different from arch on some platforms.",
"$ref": "PlatformNaclArch"
@@ -185,12 +215,14 @@
"type": "function",
"description": "<p>Open your Extension's options page, if possible.</p><p>The precise behavior may depend on your manifest's <code>$(topic:optionsV2)[options_ui]</code> or <code>$(topic:options)[options_page]</code> key, or what the browser happens to support at the time.</p><p>If your Extension does not declare an options page, or the browser failed to create one for some other reason, the callback will set $(ref:lastError).</p>",
"async": "callback",
- "parameters": [{
- "type": "function",
- "name": "callback",
- "parameters": [],
- "optional": true
- }]
+ "parameters": [
+ {
+ "type": "function",
+ "name": "callback",
+ "parameters": [],
+ "optional": true
+ }
+ ]
},
{
"name": "getManifest",
@@ -243,14 +275,14 @@
{
"name": "setUninstallURL",
"type": "function",
- "description": "Sets the URL to be visited upon uninstallation. This may be used to clean up server-side data, do analytics, and implement surveys. Maximum 255 characters.",
+ "description": "Sets the URL to be visited upon uninstallation. This may be used to clean up server-side data, do analytics, and implement surveys. Maximum 1023 characters.",
"async": "callback",
"parameters": [
{
"type": "string",
"name": "url",
"optional": true,
- "maxLength": 255,
+ "maxLength": 1023,
"description": "URL to be opened after the extension is uninstalled. This URL must have an http: or https: scheme. Set an empty string to not open a new tab upon uninstallation."
},
{
@@ -313,13 +345,26 @@
"allowedContexts": ["content", "devtools"],
"description": "Attempts to connect to connect listeners within an extension/app (such as the background page), or other extensions/apps. This is useful for content scripts connecting to their extension processes, inter-app/extension communication, and $(topic:manifest/externally_connectable)[web messaging]. Note that this does not connect to any listeners in a content script. Extensions may connect to content scripts embedded in tabs via $(ref:tabs.connect).",
"parameters": [
- {"type": "string", "name": "extensionId", "optional": true, "description": "The ID of the extension or app to connect to. If omitted, a connection will be attempted with your own extension. Required if sending messages from a web page for $(topic:manifest/externally_connectable)[web messaging]."},
+ {
+ "type": "string",
+ "name": "extensionId",
+ "optional": true,
+ "description": "The ID of the extension or app to connect to. If omitted, a connection will be attempted with your own extension. Required if sending messages from a web page for $(topic:manifest/externally_connectable)[web messaging]."
+ },
{
"type": "object",
"name": "connectInfo",
"properties": {
- "name": { "type": "string", "optional": true, "description": "Will be passed into onConnect for processes that are listening for the connection event." },
- "includeTlsChannelId": { "type": "boolean", "optional": true, "description": "Whether the TLS channel ID will be passed into onConnectExternal for processes that are listening for the connection event." }
+ "name": {
+ "type": "string",
+ "optional": true,
+ "description": "Will be passed into onConnect for processes that are listening for the connection event."
+ },
+ "includeTlsChannelId": {
+ "type": "boolean",
+ "optional": true,
+ "description": "Whether the TLS channel ID will be passed into onConnectExternal for processes that are listening for the connection event."
+ }
},
"optional": true
}
@@ -356,13 +401,23 @@
"description": "Sends a single message to event listeners within your extension/app or a different extension/app. Similar to $(ref:runtime.connect) but only sends a single message, with an optional response. If sending to your extension, the $(ref:runtime.onMessage) event will be fired in each page, or $(ref:runtime.onMessageExternal), if a different extension. Note that extensions cannot send messages to content scripts using this method. To send messages to content scripts, use $(ref:tabs.sendMessage).",
"async": "responseCallback",
"parameters": [
- {"type": "string", "name": "extensionId", "optional": true, "description": "The ID of the extension/app to send the message to. If omitted, the message will be sent to your own extension/app. Required if sending messages from a web page for $(topic:manifest/externally_connectable)[web messaging]."},
+ {
+ "type": "string",
+ "name": "extensionId",
+ "optional": true,
+ "description": "The ID of the extension/app to send the message to. If omitted, the message will be sent to your own extension/app. Required if sending messages from a web page for $(topic:manifest/externally_connectable)[web messaging]."
+ },
{ "type": "any", "name": "message" },
{
"type": "object",
"name": "options",
"properties": {
- "includeTlsChannelId": { "type": "boolean", "optional": true, "unsupported": true, "description": "Whether the TLS channel ID will be passed into onMessageExternal for processes that are listening for the connection event." }
+ "includeTlsChannelId": {
+ "type": "boolean",
+ "optional": true,
+ "unsupported": true,
+ "description": "Whether the TLS channel ID will be passed into onMessageExternal for processes that are listening for the connection event."
+ }
},
"optional": true
},
@@ -553,17 +608,13 @@
"type": "function",
"allowedContexts": ["content", "devtools"],
"description": "Fired when a connection is made from either an extension process or a content script.",
- "parameters": [
- {"$ref": "Port", "name": "port"}
- ]
+ "parameters": [{ "$ref": "Port", "name": "port" }]
},
{
"name": "onConnectExternal",
"type": "function",
"description": "Fired when a connection is made from another extension.",
- "parameters": [
- {"$ref": "Port", "name": "port"}
- ]
+ "parameters": [{ "$ref": "Port", "name": "port" }]
},
{
"name": "onMessage",
@@ -571,9 +622,18 @@
"allowedContexts": ["content", "devtools"],
"description": "Fired when a message is sent from either an extension process or a content script.",
"parameters": [
- {"name": "message", "type": "any", "optional": true, "description": "The message sent by the calling script."},
- {"name": "sender", "$ref": "MessageSender" },
- {"name": "sendResponse", "type": "function", "description": "Function to call (at most once) when you have a response. The argument should be any JSON-ifiable object. If you have more than one <code>onMessage</code> listener in the same document, then only one may send a response. This function becomes invalid when the event listener returns, unless you return true from the event listener to indicate you wish to send a response asynchronously (this will keep the message channel open to the other end until <code>sendResponse</code> is called)." }
+ {
+ "name": "message",
+ "type": "any",
+ "optional": true,
+ "description": "The message sent by the calling script."
+ },
+ { "name": "sender", "$ref": "MessageSender" },
+ {
+ "name": "sendResponse",
+ "type": "function",
+ "description": "Function to call (at most once) when you have a response. The argument should be any JSON-ifiable object. If you have more than one <code>onMessage</code> listener in the same document, then only one may send a response. This function becomes invalid when the event listener returns, unless you return true from the event listener to indicate you wish to send a response asynchronously (this will keep the message channel open to the other end until <code>sendResponse</code> is called)."
+ }
],
"returns": {
"type": "boolean",
@@ -586,9 +646,18 @@
"type": "function",
"description": "Fired when a message is sent from another extension/app. Cannot be used in a content script.",
"parameters": [
- {"name": "message", "type": "any", "optional": true, "description": "The message sent by the calling script."},
- {"name": "sender", "$ref": "MessageSender" },
- {"name": "sendResponse", "type": "function", "description": "Function to call (at most once) when you have a response. The argument should be any JSON-ifiable object. If you have more than one <code>onMessage</code> listener in the same document, then only one may send a response. This function becomes invalid when the event listener returns, unless you return true from the event listener to indicate you wish to send a response asynchronously (this will keep the message channel open to the other end until <code>sendResponse</code> is called)." }
+ {
+ "name": "message",
+ "type": "any",
+ "optional": true,
+ "description": "The message sent by the calling script."
+ },
+ { "name": "sender", "$ref": "MessageSender" },
+ {
+ "name": "sendResponse",
+ "type": "function",
+ "description": "Function to call (at most once) when you have a response. The argument should be any JSON-ifiable object. If you have more than one <code>onMessage</code> listener in the same document, then only one may send a response. This function becomes invalid when the event listener returns, unless you return true from the event listener to indicate you wish to send a response asynchronously (this will keep the message channel open to the other end until <code>sendResponse</code> is called)."
+ }
],
"returns": {
"type": "boolean",
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/scripting.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/scripting.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/scripting.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/scripting.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,10 +8,12 @@
"types": [
{
"$extend": "OptionalPermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": ["scripting"]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["scripting"]
+ }
+ ]
}
]
},
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/storage.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/storage.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/storage.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/storage.json 2023-11-01 10:27:26.000000000 +0100
@@ -125,8 +125,8 @@
{
"name": "keys",
"choices": [
- {"type": "string"},
- {"type": "array", "items": {"type": "string"}}
+ { "type": "string" },
+ { "type": "array", "items": { "type": "string" } }
],
"description": "A single key or a list of keys for items to remove."
},
@@ -269,8 +269,8 @@
{
"name": "keys",
"choices": [
- {"type": "string"},
- {"type": "array", "items": {"type": "string"}}
+ { "type": "string" },
+ { "type": "array", "items": { "type": "string" } }
],
"description": "A single key or a list of keys for items to remove."
},
@@ -387,6 +387,11 @@
"description": "The maximum size (in bytes) of the managed storage JSON manifest file. Files larger than this limit will fail to load."
}
}
+ },
+ "session": {
+ "allowedContexts": ["devtools"],
+ "$ref": "StorageArea",
+ "description": "Items in the <code>session</code> storage area are kept in memory, and only until the either browser or extension is closed or reloaded."
}
}
}
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/telemetry.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/telemetry.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/telemetry.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/telemetry.json 2023-11-01 10:27:26.000000000 +0100
@@ -1,460 +1,469 @@
[
{
"namespace": "manifest",
- "types": [{
- "$extend": "WebExtensionManifest",
- "properties": {
- "telemetry": {
- "type": "object",
- "optional": true,
- "additionalProperties": { "$ref": "UnrecognizedProperty" },
- "properties": {
- "ping_type": {
- "type": "string"
- },
- "schemaNamespace": {
- "type": "string"
- },
- "public_key": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "key": {
- "type": "object",
- "properties": {
- "crv": {
- "type": "string",
- "optional": "false"
- },
- "kty": {
- "type": "string",
- "optional": "false"
- },
- "x": {
- "type": "string",
- "optional": "false"
- },
- "y": {
- "type": "string",
- "optional": "false"
+ "types": [
+ {
+ "$extend": "WebExtensionManifest",
+ "properties": {
+ "telemetry": {
+ "type": "object",
+ "optional": true,
+ "additionalProperties": { "$ref": "UnrecognizedProperty" },
+ "properties": {
+ "ping_type": {
+ "type": "string"
+ },
+ "schemaNamespace": {
+ "type": "string"
+ },
+ "public_key": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "key": {
+ "type": "object",
+ "properties": {
+ "crv": {
+ "type": "string",
+ "optional": "false"
+ },
+ "kty": {
+ "type": "string",
+ "optional": "false"
+ },
+ "x": {
+ "type": "string",
+ "optional": "false"
+ },
+ "y": {
+ "type": "string",
+ "optional": "false"
+ }
}
}
}
+ },
+ "study_name": {
+ "type": "string",
+ "optional": true
+ },
+ "pioneer_id": {
+ "type": "boolean",
+ "optional": true,
+ "default": false
}
- },
- "study_name": {
- "type": "string",
- "optional": true
- },
- "pioneer_id": {
- "type": "boolean",
- "optional": true,
- "default": false
}
}
}
- }
- },{
- "$extend": "PermissionPrivileged",
- "choices": [{
- "type": "string",
- "enum": [
- "telemetry"
+ },
+ {
+ "$extend": "PermissionPrivileged",
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["telemetry"]
+ }
]
- }]
- }]
+ }
+ ]
},
{
"namespace": "telemetry",
"description": "Use the <code>browser.telemetry</code> API to send telemetry data to the Mozilla Telemetry service. Restricted to Mozilla privileged webextensions.",
- "types": [{
- "id": "ScalarType",
- "type": "string",
- "enum": ["count", "string", "boolean"],
- "description": "Type of scalar: 'count' for numeric values, 'string' for string values, 'boolean' for boolean values. Maps to <code>nsITelemetry.SCALAR_TYPE_*</code>."
- }, {
- "id": "ScalarData",
- "type": "object",
- "description": "Represents registration data for a Telemetry scalar.",
- "properties": {
- "kind": {
- "$ref": "ScalarType"
- },
- "keyed": {
- "type": "boolean",
- "optional": true,
- "default": false,
- "description": "True if this is a keyed scalar."
- },
- "record_on_release": {
- "type": "boolean",
- "optional": true,
- "default": false,
- "description": "True if this data should be recorded on release."
- },
- "expired": {
- "type": "boolean",
- "optional": true,
- "default": false,
- "description": "True if this scalar entry is expired. This allows recording it without error, but it will be discarded."
+ "types": [
+ {
+ "id": "ScalarType",
+ "type": "string",
+ "enum": ["count", "string", "boolean"],
+ "description": "Type of scalar: 'count' for numeric values, 'string' for string values, 'boolean' for boolean values. Maps to <code>nsITelemetry.SCALAR_TYPE_*</code>."
+ },
+ {
+ "id": "ScalarData",
+ "type": "object",
+ "description": "Represents registration data for a Telemetry scalar.",
+ "properties": {
+ "kind": {
+ "$ref": "ScalarType"
+ },
+ "keyed": {
+ "type": "boolean",
+ "optional": true,
+ "default": false,
+ "description": "True if this is a keyed scalar."
+ },
+ "record_on_release": {
+ "type": "boolean",
+ "optional": true,
+ "default": false,
+ "description": "True if this data should be recorded on release."
+ },
+ "expired": {
+ "type": "boolean",
+ "optional": true,
+ "default": false,
+ "description": "True if this scalar entry is expired. This allows recording it without error, but it will be discarded."
+ }
}
- }
- }, {
- "id": "EventData",
- "type": "object",
- "description": "Represents registration data for a Telemetry event.",
- "properties": {
- "methods": {
- "type": "array",
- "items": { "type": "string" },
- "description": "List of methods for this event entry."
- },
- "objects": {
- "type": "array",
- "items": { "type": "string" },
- "description": "List of objects for this event entry."
- },
- "extra_keys": {
- "type": "array",
- "items": { "type": "string" },
- "description": "List of allowed extra keys for this event entry."
- },
- "record_on_release": {
- "type": "boolean",
- "optional": true,
- "default": false,
- "description": "True if this data should be recorded on release."
- },
- "expired": {
- "type": "boolean",
- "optional": true,
- "default": false,
- "description": "True if this event entry is expired. This allows recording it without error, but it will be discarded."
+ },
+ {
+ "id": "EventData",
+ "type": "object",
+ "description": "Represents registration data for a Telemetry event.",
+ "properties": {
+ "methods": {
+ "type": "array",
+ "items": { "type": "string" },
+ "description": "List of methods for this event entry."
+ },
+ "objects": {
+ "type": "array",
+ "items": { "type": "string" },
+ "description": "List of objects for this event entry."
+ },
+ "extra_keys": {
+ "type": "array",
+ "items": { "type": "string" },
+ "description": "List of allowed extra keys for this event entry."
+ },
+ "record_on_release": {
+ "type": "boolean",
+ "optional": true,
+ "default": false,
+ "description": "True if this data should be recorded on release."
+ },
+ "expired": {
+ "type": "boolean",
+ "optional": true,
+ "default": false,
+ "description": "True if this event entry is expired. This allows recording it without error, but it will be discarded."
+ }
}
}
- }],
+ ],
"permissions": ["telemetry"],
- "functions": [{
- "name": "submitPing",
- "type": "function",
- "description": "Submits a custom ping to the Telemetry back-end. See <code>submitExternalPing</code> inside TelemetryController.sys.mjs for more details.",
- "async": true,
- "parameters": [
- {
- "name": "type",
- "type": "string",
- "pattern": "^[a-z0-9][a-z0-9-]+[a-z0-9]$",
- "description": "The type of the ping."
- },
- {
- "name": "message",
- "type": "object",
- "additionalProperties": { "type": "any" },
- "description": "The data payload for the ping."
- },
- {
- "description": "Options object.",
- "name": "options",
- "type": "object",
- "properties": {
- "addClientId": {
- "type": "boolean",
- "optional": true,
- "default": false,
- "description": "True if the ping should contain the client id."
- },
- "addEnvironment": {
- "type": "boolean",
- "optional": true,
- "default": false,
- "description": "True if the ping should contain the environment data."
- },
- "overrideEnvironment": {
- "type": "object",
- "additionalProperties": { "type": "any" },
- "optional": true,
- "default": false,
- "description": "Set to override the environment data."
- },
- "usePingSender": {
- "type": "boolean",
- "optional": true,
- "default": false,
- "description": "If true, send the ping using the PingSender."
+ "functions": [
+ {
+ "name": "submitPing",
+ "type": "function",
+ "description": "Submits a custom ping to the Telemetry back-end. See <code>submitExternalPing</code> inside TelemetryController.sys.mjs for more details.",
+ "async": true,
+ "parameters": [
+ {
+ "name": "type",
+ "type": "string",
+ "pattern": "^[a-z0-9][a-z0-9-]+[a-z0-9]$",
+ "description": "The type of the ping."
+ },
+ {
+ "name": "message",
+ "type": "object",
+ "additionalProperties": { "type": "any" },
+ "description": "The data payload for the ping."
+ },
+ {
+ "description": "Options object.",
+ "name": "options",
+ "type": "object",
+ "properties": {
+ "addClientId": {
+ "type": "boolean",
+ "optional": true,
+ "default": false,
+ "description": "True if the ping should contain the client id."
+ },
+ "addEnvironment": {
+ "type": "boolean",
+ "optional": true,
+ "default": false,
+ "description": "True if the ping should contain the environment data."
+ },
+ "overrideEnvironment": {
+ "type": "object",
+ "additionalProperties": { "type": "any" },
+ "optional": true,
+ "default": false,
+ "description": "Set to override the environment data."
+ },
+ "usePingSender": {
+ "type": "boolean",
+ "optional": true,
+ "default": false,
+ "description": "If true, send the ping using the PingSender."
+ }
}
}
- }
- ]
- },
- {
- "name": "submitEncryptedPing",
- "type": "function",
- "description": "Submits a custom ping to the Telemetry back-end, with an encrypted payload. Requires a telemetry entry in the manifest to be used.",
- "parameters": [
- {
- "name": "message",
- "type": "object",
- "additionalProperties": { "type": "any" },
- "description": "The data payload for the ping, which will be encrypted."
- },
- {
- "description": "Options object.",
- "name": "options",
- "type": "object",
- "properties": {
- "schemaName": {
- "type": "string",
- "optional": false,
- "description": "Schema name used for payload."
- },
- "schemaVersion": {
- "type": "integer",
- "optional": false,
- "description": "Schema version used for payload."
+ ]
+ },
+ {
+ "name": "submitEncryptedPing",
+ "type": "function",
+ "description": "Submits a custom ping to the Telemetry back-end, with an encrypted payload. Requires a telemetry entry in the manifest to be used.",
+ "parameters": [
+ {
+ "name": "message",
+ "type": "object",
+ "additionalProperties": { "type": "any" },
+ "description": "The data payload for the ping, which will be encrypted."
+ },
+ {
+ "description": "Options object.",
+ "name": "options",
+ "type": "object",
+ "properties": {
+ "schemaName": {
+ "type": "string",
+ "optional": false,
+ "description": "Schema name used for payload."
+ },
+ "schemaVersion": {
+ "type": "integer",
+ "optional": false,
+ "description": "Schema version used for payload."
+ }
}
}
- }
- ],
- "async": true
- },
- {
- "name": "canUpload",
- "type": "function",
- "description": "Checks if Telemetry upload is enabled.",
- "parameters": [],
- "async": true
- },
- {
- "name": "scalarAdd",
- "type": "function",
- "description": "Adds the value to the given scalar.",
- "async": true,
- "parameters": [
- {
- "name": "name",
- "type": "string",
- "description": "The scalar name."
- },
- {
- "name": "value",
- "type": "integer",
- "minimum": 1,
- "description": "The numeric value to add to the scalar. Only unsigned integers supported."
- }
- ]
- },
- {
- "name": "scalarSet",
- "type": "function",
- "description": "Sets the named scalar to the given value. Throws if the value type doesn't match the scalar type.",
- "async": true,
- "parameters": [
- {
- "name": "name",
- "type": "string",
- "description": "The scalar name"
- },
- {
- "name": "value",
- "description": "The value to set the scalar to",
- "choices": [
- { "type": "string" },
- { "type": "boolean" },
- { "type": "integer" },
- { "type": "object", "additionalProperties": { "type": "any" } }
- ]
- }
- ]
- },
- {
- "name": "scalarSetMaximum",
- "type": "function",
- "description": "Sets the scalar to the maximum of the current and the passed value",
- "async": true,
- "parameters": [
- {
- "name": "name",
- "type": "string",
- "description": "The scalar name."
- },
- {
- "name": "value",
- "type": "integer",
- "minimum": 0,
- "description": "The numeric value to set the scalar to. Only unsigned integers supported."
- }
- ]
- },
- {
- "name": "keyedScalarAdd",
- "type": "function",
- "description": "Adds the value to the given keyed scalar.",
- "async": true,
- "parameters": [
- {
- "name": "name",
- "type": "string",
- "description": "The scalar name"
- },
- {
- "name": "key",
- "type": "string",
- "description": "The key name"
- },
- {
- "name": "value",
- "type": "integer",
- "minimum": 1,
- "description": "The numeric value to add to the scalar. Only unsigned integers supported."
- }
- ]
- },
- {
- "name": "keyedScalarSet",
- "type": "function",
- "description": "Sets the keyed scalar to the given value. Throws if the value type doesn't match the scalar type.",
- "async": true,
- "parameters": [
- {
- "name": "name",
- "type": "string",
- "description": "The scalar name."
- },
- {
- "name": "key",
- "type": "string",
- "description": "The key name."
- },
- {
- "name": "value",
- "description": "The value to set the scalar to.",
- "choices": [
- { "type": "string" },
- { "type": "boolean" },
- { "type": "integer" },
- { "type": "object", "additionalProperties": { "type": "any" } }
- ]
- }
- ]
- },
- {
- "name": "keyedScalarSetMaximum",
- "type": "function",
- "description": "Sets the keyed scalar to the maximum of the current and the passed value",
- "async": true,
- "parameters": [
- {
- "name": "name",
- "type": "string",
- "description": "The scalar name."
- },
- {
- "name": "key",
- "type": "string",
- "description": "The key name."
- },
- {
- "name": "value",
- "type": "integer",
- "minimum": 0,
- "description": "The numeric value to set the scalar to. Only unsigned integers supported."
- }
- ]
- },
- {
- "name": "recordEvent",
- "type": "function",
- "description": "Record an event in Telemetry. Throws when trying to record an unknown event.",
- "async": true,
- "parameters": [
- {
- "name": "category",
- "type": "string",
- "description": "The category name."
- },
- {
- "name": "method",
- "type": "string",
- "description": "The method name."
- },
- {
- "name": "object",
- "type": "string",
- "description": "The object name."
- },
- {
- "name": "value",
- "type": "string",
- "optional": true,
- "description": "An optional string value to record."
- },
- {
- "name": "extra",
- "type": "object",
- "optional": true,
- "description": "An optional object of the form (string -> string). It should only contain registered extra keys.",
- "additionalProperties": { "type": "string" }
- }
- ]
- },
+ ],
+ "async": true
+ },
+ {
+ "name": "canUpload",
+ "type": "function",
+ "description": "Checks if Telemetry upload is enabled.",
+ "parameters": [],
+ "async": true
+ },
+ {
+ "name": "scalarAdd",
+ "type": "function",
+ "description": "Adds the value to the given scalar.",
+ "async": true,
+ "parameters": [
+ {
+ "name": "name",
+ "type": "string",
+ "description": "The scalar name."
+ },
+ {
+ "name": "value",
+ "type": "integer",
+ "minimum": 1,
+ "description": "The numeric value to add to the scalar. Only unsigned integers supported."
+ }
+ ]
+ },
+ {
+ "name": "scalarSet",
+ "type": "function",
+ "description": "Sets the named scalar to the given value. Throws if the value type doesn't match the scalar type.",
+ "async": true,
+ "parameters": [
+ {
+ "name": "name",
+ "type": "string",
+ "description": "The scalar name"
+ },
+ {
+ "name": "value",
+ "description": "The value to set the scalar to",
+ "choices": [
+ { "type": "string" },
+ { "type": "boolean" },
+ { "type": "integer" },
+ { "type": "object", "additionalProperties": { "type": "any" } }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "scalarSetMaximum",
+ "type": "function",
+ "description": "Sets the scalar to the maximum of the current and the passed value",
+ "async": true,
+ "parameters": [
+ {
+ "name": "name",
+ "type": "string",
+ "description": "The scalar name."
+ },
+ {
+ "name": "value",
+ "type": "integer",
+ "minimum": 0,
+ "description": "The numeric value to set the scalar to. Only unsigned integers supported."
+ }
+ ]
+ },
+ {
+ "name": "keyedScalarAdd",
+ "type": "function",
+ "description": "Adds the value to the given keyed scalar.",
+ "async": true,
+ "parameters": [
+ {
+ "name": "name",
+ "type": "string",
+ "description": "The scalar name"
+ },
+ {
+ "name": "key",
+ "type": "string",
+ "description": "The key name"
+ },
+ {
+ "name": "value",
+ "type": "integer",
+ "minimum": 1,
+ "description": "The numeric value to add to the scalar. Only unsigned integers supported."
+ }
+ ]
+ },
+ {
+ "name": "keyedScalarSet",
+ "type": "function",
+ "description": "Sets the keyed scalar to the given value. Throws if the value type doesn't match the scalar type.",
+ "async": true,
+ "parameters": [
+ {
+ "name": "name",
+ "type": "string",
+ "description": "The scalar name."
+ },
+ {
+ "name": "key",
+ "type": "string",
+ "description": "The key name."
+ },
+ {
+ "name": "value",
+ "description": "The value to set the scalar to.",
+ "choices": [
+ { "type": "string" },
+ { "type": "boolean" },
+ { "type": "integer" },
+ { "type": "object", "additionalProperties": { "type": "any" } }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "keyedScalarSetMaximum",
+ "type": "function",
+ "description": "Sets the keyed scalar to the maximum of the current and the passed value",
+ "async": true,
+ "parameters": [
+ {
+ "name": "name",
+ "type": "string",
+ "description": "The scalar name."
+ },
+ {
+ "name": "key",
+ "type": "string",
+ "description": "The key name."
+ },
+ {
+ "name": "value",
+ "type": "integer",
+ "minimum": 0,
+ "description": "The numeric value to set the scalar to. Only unsigned integers supported."
+ }
+ ]
+ },
+ {
+ "name": "recordEvent",
+ "type": "function",
+ "description": "Record an event in Telemetry. Throws when trying to record an unknown event.",
+ "async": true,
+ "parameters": [
+ {
+ "name": "category",
+ "type": "string",
+ "description": "The category name."
+ },
+ {
+ "name": "method",
+ "type": "string",
+ "description": "The method name."
+ },
+ {
+ "name": "object",
+ "type": "string",
+ "description": "The object name."
+ },
+ {
+ "name": "value",
+ "type": "string",
+ "optional": true,
+ "description": "An optional string value to record."
+ },
+ {
+ "name": "extra",
+ "type": "object",
+ "optional": true,
+ "description": "An optional object of the form (string -> string). It should only contain registered extra keys.",
+ "additionalProperties": { "type": "string" }
+ }
+ ]
+ },
- {
- "name": "registerScalars",
- "type": "function",
- "description": "Register new scalars to record them from addons. See nsITelemetry.idl for more details.",
- "async": true,
- "parameters": [
- {
- "name": "category",
- "type": "string",
- "description": "The unique category the scalars are registered in."
- },
- {
- "name": "data",
- "type": "object",
- "additionalProperties": { "$ref": "ScalarData" },
- "description": "An object that contains registration data for multiple scalars. Each property name is the scalar name, and the corresponding property value is an object of ScalarData type."
- }
- ]
- },
- {
- "name": "registerEvents",
- "type": "function",
- "description": "Register new events to record them from addons. See nsITelemetry.idl for more details.",
- "async": true,
- "parameters": [
- {
- "name": "category",
- "type": "string",
- "description": "The unique category the events are registered in."
- },
- {
- "name": "data",
- "type": "object",
- "additionalProperties": { "$ref": "EventData" },
- "description": "An object that contains registration data for 1+ events. Each property name is the category name, and the corresponding property value is an object of EventData type."
- }
- ]
- },
- {
- "name": "setEventRecordingEnabled",
- "type": "function",
- "description": "Enable recording of events in a category. Events default to recording disabled. This allows to toggle recording for all events in the specified category.",
- "async": true,
- "parameters": [
- {
- "name": "category",
- "type": "string",
- "description": "The category name."
- },
- {
- "name": "enabled",
- "type": "boolean",
- "description": "Whether recording is enabled for events in that category."
- }
- ]
- }]
+ {
+ "name": "registerScalars",
+ "type": "function",
+ "description": "Register new scalars to record them from addons. See nsITelemetry.idl for more details.",
+ "async": true,
+ "parameters": [
+ {
+ "name": "category",
+ "type": "string",
+ "description": "The unique category the scalars are registered in."
+ },
+ {
+ "name": "data",
+ "type": "object",
+ "additionalProperties": { "$ref": "ScalarData" },
+ "description": "An object that contains registration data for multiple scalars. Each property name is the scalar name, and the corresponding property value is an object of ScalarData type."
+ }
+ ]
+ },
+ {
+ "name": "registerEvents",
+ "type": "function",
+ "description": "Register new events to record them from addons. See nsITelemetry.idl for more details.",
+ "async": true,
+ "parameters": [
+ {
+ "name": "category",
+ "type": "string",
+ "description": "The unique category the events are registered in."
+ },
+ {
+ "name": "data",
+ "type": "object",
+ "additionalProperties": { "$ref": "EventData" },
+ "description": "An object that contains registration data for 1+ events. Each property name is the category name, and the corresponding property value is an object of EventData type."
+ }
+ ]
+ },
+ {
+ "name": "setEventRecordingEnabled",
+ "type": "function",
+ "description": "Enable recording of events in a category. Events default to recording disabled. This allows to toggle recording for all events in the specified category.",
+ "async": true,
+ "parameters": [
+ {
+ "name": "category",
+ "type": "string",
+ "description": "The category name."
+ },
+ {
+ "name": "enabled",
+ "type": "boolean",
+ "description": "Whether recording is enabled for events in that category."
+ }
+ ]
+ }
+ ]
}
]
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/test.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/test.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/test.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/test.json 2023-11-01 10:27:26.000000000 +0100
@@ -13,33 +13,27 @@
"name": "withHandlingUserInput",
"type": "function",
"description": "Calls the callback function wrapped with user input set. This is only used for internal unit testing.",
- "parameters": [
- {"type": "function", "name": "callback"}
- ]
+ "parameters": [{ "type": "function", "name": "callback" }]
},
{
"name": "notifyFail",
"type": "function",
"description": "Notifies the browser process that test code running in the extension failed. This is only used for internal unit testing.",
- "parameters": [
- {"type": "string", "name": "message"}
- ]
+ "parameters": [{ "type": "string", "name": "message" }]
},
{
"name": "notifyPass",
"type": "function",
"description": "Notifies the browser process that test code running in the extension passed. This is only used for internal unit testing.",
"parameters": [
- {"type": "string", "name": "message", "optional": true}
+ { "type": "string", "name": "message", "optional": true }
]
},
{
"name": "log",
"type": "function",
"description": "Logs a message during internal unit testing.",
- "parameters": [
- {"type": "string", "name": "message"}
- ]
+ "parameters": [{ "type": "string", "name": "message" }]
},
{
"name": "sendMessage",
@@ -47,31 +41,27 @@
"description": "Sends a string message to the browser process, generating a Notification that C++ test code can wait for.",
"allowAmbiguousOptionalArguments": true,
"parameters": [
- {"type": "any", "name": "arg1", "optional": true},
- {"type": "any", "name": "arg2", "optional": true}
+ { "type": "any", "name": "arg1", "optional": true },
+ { "type": "any", "name": "arg2", "optional": true }
]
},
{
"name": "fail",
"type": "function",
- "parameters": [
- {"type": "any", "name": "message", "optional": true}
- ]
+ "parameters": [{ "type": "any", "name": "message", "optional": true }]
},
{
"name": "succeed",
"type": "function",
- "parameters": [
- {"type": "any", "name": "message", "optional": true}
- ]
+ "parameters": [{ "type": "any", "name": "message", "optional": true }]
},
{
"name": "assertTrue",
"type": "function",
"allowAmbiguousOptionalArguments": true,
"parameters": [
- {"name": "test", "type": "any", "optional": true},
- {"type": "string", "name": "message", "optional": true}
+ { "name": "test", "type": "any", "optional": true },
+ { "type": "string", "name": "message", "optional": true }
]
},
{
@@ -79,8 +69,8 @@
"type": "function",
"allowAmbiguousOptionalArguments": true,
"parameters": [
- {"name": "test", "type": "any", "optional": true},
- {"type": "string", "name": "message", "optional": true}
+ { "name": "test", "type": "any", "optional": true },
+ { "type": "string", "name": "message", "optional": true }
]
},
{
@@ -90,13 +80,10 @@
"parameters": [
{
"name": "test",
- "choices": [
- {"type": "string"},
- {"type": "boolean"}
- ]
+ "choices": [{ "type": "string" }, { "type": "boolean" }]
},
- {"type": "boolean", "name": "expected"},
- {"type": "string", "name": "message", "optional": true}
+ { "type": "boolean", "name": "expected" },
+ { "type": "string", "name": "message", "optional": true }
]
},
{
@@ -104,9 +91,9 @@
"type": "function",
"allowAmbiguousOptionalArguments": true,
"parameters": [
- {"type": "any", "name": "expected"},
- {"type": "any", "name": "actual"},
- {"type": "string", "name": "message", "optional": true}
+ { "type": "any", "name": "expected" },
+ { "type": "any", "name": "actual" },
+ { "type": "string", "name": "message", "optional": true }
]
},
{
@@ -114,9 +101,9 @@
"type": "function",
"allowAmbiguousOptionalArguments": true,
"parameters": [
- {"type": "any", "name": "expected", "optional": true},
- {"type": "any", "name": "actual", "optional": true},
- {"type": "string", "name": "message", "optional": true}
+ { "type": "any", "name": "expected", "optional": true },
+ { "type": "any", "name": "actual", "optional": true },
+ { "type": "string", "name": "message", "optional": true }
]
},
{
@@ -129,9 +116,7 @@
"name": "assertLastError",
"type": "function",
"unsupported": true,
- "parameters": [
- {"type": "string", "name": "expectedError"}
- ]
+ "parameters": [{ "type": "string", "name": "expectedError" }]
},
{
"name": "assertRejects",
@@ -177,9 +162,13 @@
{
"id": "ExpectedError",
"choices": [
- {"type": "string"},
- {"type": "object", "isInstanceOf": "RegExp", "additionalProperties": true},
- {"type": "function"}
+ { "type": "string" },
+ {
+ "type": "object",
+ "isInstanceOf": "RegExp",
+ "additionalProperties": true
+ },
+ { "type": "function" }
]
},
{
@@ -188,7 +177,7 @@
{
"type": "object",
"properties": {
- "then": {"type": "function"}
+ "then": { "type": "function" }
},
"additionalProperties": true
},
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/theme.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/theme.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/theme.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/theme.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "PermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "theme"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["theme"]
+ }
+ ]
},
{
"id": "ThemeColor",
@@ -151,7 +151,7 @@
"toolbar_text": {
"$ref": "ThemeColor",
"optional": true,
- "description": "This color property is an alias of 'bookmark_text'."
+ "description": "This color property is an alias of 'bookmark_text'."
},
"bookmark_text": {
"$ref": "ThemeColor",
@@ -195,8 +195,8 @@
"optional": true
},
"button_background_hover": {
- "$ref": "ThemeColor",
- "optional": true
+ "$ref": "ThemeColor",
+ "optional": true
},
"button_background_active": {
"$ref": "ThemeColor",
@@ -266,7 +266,7 @@
"$ref": "ThemeColor",
"optional": true
},
- "toolbar_field_highlight": {
+ "toolbar_field_highlight": {
"$ref": "ThemeColor",
"optional": true
},
@@ -286,10 +286,20 @@
"items": {
"type": "string",
"enum": [
- "bottom", "center", "left", "right", "top",
- "center bottom", "center center", "center top",
- "left bottom", "left center", "left top",
- "right bottom", "right center", "right top"
+ "bottom",
+ "center",
+ "left",
+ "right",
+ "top",
+ "center bottom",
+ "center center",
+ "center top",
+ "left bottom",
+ "left center",
+ "left top",
+ "right bottom",
+ "right center",
+ "right top"
]
},
"maxItems": 15,
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/types.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/types.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/types.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/types.json 2023-11-01 10:27:26.000000000 +0100
@@ -10,13 +10,23 @@
{
"id": "SettingScope",
"type": "string",
- "enum": ["regular", "regular_only", "incognito_persistent", "incognito_session_only"],
+ "enum": [
+ "regular",
+ "regular_only",
+ "incognito_persistent",
+ "incognito_session_only"
+ ],
"description": "The scope of the Setting. One of<ul><li><var>regular</var>: setting for the regular profile (which is inherited by the incognito profile if not overridden elsewhere),</li><li><var>regular_only</var>: setting for the regular profile only (not inherited by the incognito profile),</li><li><var>incognito_persistent</var>: setting for the incognito profile that survives browser restarts (overrides regular preferences),</li><li><var>incognito_session_only</var>: setting for the incognito profile that can only be set during an incognito session and is deleted when the incognito session ends (overrides regular and incognito_persistent preferences).</li></ul> Only <var>regular</var> is supported by Firefox at this time."
},
{
"id": "LevelOfControl",
"type": "string",
- "enum": ["not_controllable", "controlled_by_other_extensions", "controllable_by_this_extension", "controlled_by_this_extension"],
+ "enum": [
+ "not_controllable",
+ "controlled_by_other_extensions",
+ "controllable_by_this_extension",
+ "controlled_by_this_extension"
+ ],
"description": "One of<ul><li><var>not_controllable</var>: cannot be controlled by any extension</li><li><var>controlled_by_other_extensions</var>: controlled by extensions with higher precedence</li><li><var>controllable_by_this_extension</var>: can be controlled by this extension</li><li><var>controlled_by_this_extension</var>: controlled by this extension</li></ul>"
},
{
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/user_scripts.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/user_scripts.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/user_scripts.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/user_scripts.json 2023-11-01 10:27:26.000000000 +0100
@@ -88,7 +88,7 @@
"description": "The soonest that the JavaScript will be injected into the tab. Defaults to \"document_idle\"."
},
"cookieStoreId": {
- "choices": [
+ "choices": [
{
"type": "array",
"minItems": 1,
@@ -96,7 +96,7 @@
},
{
"type": "string"
- }
+ }
],
"optional": true,
"description": "limit the set of matched tabs to those that belong to the given cookie store id"
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/web_navigation.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/web_navigation.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/web_navigation.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/web_navigation.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,12 +8,12 @@
"types": [
{
"$extend": "OptionalPermission",
- "choices": [{
- "type": "string",
- "enum": [
- "webNavigation"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": ["webNavigation"]
+ }
+ ]
}
]
},
@@ -25,13 +25,30 @@
{
"id": "TransitionType",
"type": "string",
- "enum": ["link", "typed", "auto_bookmark", "auto_subframe", "manual_subframe", "generated", "start_page", "form_submit", "reload", "keyword", "keyword_generated"],
+ "enum": [
+ "link",
+ "typed",
+ "auto_bookmark",
+ "auto_subframe",
+ "manual_subframe",
+ "generated",
+ "start_page",
+ "form_submit",
+ "reload",
+ "keyword",
+ "keyword_generated"
+ ],
"description": "Cause of the navigation. The same transition types as defined in the history API are used. These are the same transition types as defined in the $(topic:transition_types)[history API] except with <code>\"start_page\"</code> in place of <code>\"auto_toplevel\"</code> (for backwards compatibility)."
},
{
"id": "TransitionQualifier",
"type": "string",
- "enum": ["client_redirect", "server_redirect", "forward_back", "from_address_bar"]
+ "enum": [
+ "client_redirect",
+ "server_redirect",
+ "forward_back",
+ "from_address_bar"
+ ]
},
{
"id": "EventUrlFilters",
@@ -57,9 +74,21 @@
"name": "details",
"description": "Information about the frame to retrieve information about.",
"properties": {
- "tabId": { "type": "integer", "minimum": 0, "description": "The ID of the tab in which the frame is." },
- "processId": {"optional": true, "type": "integer", "description": "The ID of the process runs the renderer for this tab."},
- "frameId": { "type": "integer", "minimum": 0, "description": "The ID of the frame in the given tab." }
+ "tabId": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "The ID of the tab in which the frame is."
+ },
+ "processId": {
+ "optional": true,
+ "type": "integer",
+ "description": "The ID of the process runs the renderer for this tab."
+ },
+ "frameId": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "The ID of the frame in the given tab."
+ }
}
},
{
@@ -110,7 +139,11 @@
"name": "details",
"description": "Information about the tab to retrieve all frames from.",
"properties": {
- "tabId": { "type": "integer", "minimum": 0, "description": "The ID of the tab." }
+ "tabId": {
+ "type": "integer",
+ "minimum": 0,
+ "description": "The ID of the tab."
+ }
}
},
{
@@ -169,12 +202,28 @@
"type": "object",
"name": "details",
"properties": {
- "tabId": {"type": "integer", "description": "The ID of the tab in which the navigation is about to occur."},
- "url": {"type": "string"},
- "processId": {"unsupported": true, "type": "integer", "description": "The ID of the process runs the renderer for this tab."},
- "frameId": {"type": "integer", "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique for a given tab and process."},
- "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame. Set to -1 of no parent frame exists."},
- "timeStamp": {"type": "number", "description": "The time when the browser was about to start the navigation, in milliseconds since the epoch."}
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the navigation is about to occur."
+ },
+ "url": { "type": "string" },
+ "processId": {
+ "unsupported": true,
+ "type": "integer",
+ "description": "The ID of the process runs the renderer for this tab."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique for a given tab and process."
+ },
+ "parentFrameId": {
+ "type": "integer",
+ "description": "ID of frame that wraps the frame. Set to -1 of no parent frame exists."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when the browser was about to start the navigation, in milliseconds since the epoch."
+ }
}
}
],
@@ -196,13 +245,33 @@
"type": "object",
"name": "details",
"properties": {
- "tabId": {"type": "integer", "description": "The ID of the tab in which the navigation occurs."},
- "url": {"type": "string"},
- "processId": {"unsupported": true, "type": "integer", "description": "The ID of the process runs the renderer for this tab."},
- "frameId": {"type": "integer", "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."},
- "transitionType": {"unsupported": true, "$ref": "TransitionType", "description": "Cause of the navigation."},
- "transitionQualifiers": {"unsupported": true, "type": "array", "description": "A list of transition qualifiers.", "items": {"$ref": "TransitionQualifier"}},
- "timeStamp": {"type": "number", "description": "The time when the navigation was committed, in milliseconds since the epoch."}
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the navigation occurs."
+ },
+ "url": { "type": "string" },
+ "processId": {
+ "unsupported": true,
+ "type": "integer",
+ "description": "The ID of the process runs the renderer for this tab."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
+ },
+ "transitionType": {
+ "$ref": "TransitionType",
+ "description": "Cause of the navigation."
+ },
+ "transitionQualifiers": {
+ "type": "array",
+ "description": "A list of transition qualifiers.",
+ "items": { "$ref": "TransitionQualifier" }
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when the navigation was committed, in milliseconds since the epoch."
+ }
}
}
],
@@ -224,11 +293,24 @@
"type": "object",
"name": "details",
"properties": {
- "tabId": {"type": "integer", "description": "The ID of the tab in which the navigation occurs."},
- "url": {"type": "string"},
- "processId": {"unsupported": true, "type": "integer", "description": "The ID of the process runs the renderer for this tab."},
- "frameId": {"type": "integer", "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."},
- "timeStamp": {"type": "number", "description": "The time when the page's DOM was fully constructed, in milliseconds since the epoch."}
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the navigation occurs."
+ },
+ "url": { "type": "string" },
+ "processId": {
+ "unsupported": true,
+ "type": "integer",
+ "description": "The ID of the process runs the renderer for this tab."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when the page's DOM was fully constructed, in milliseconds since the epoch."
+ }
}
}
],
@@ -250,11 +332,24 @@
"type": "object",
"name": "details",
"properties": {
- "tabId": {"type": "integer", "description": "The ID of the tab in which the navigation occurs."},
- "url": {"type": "string"},
- "processId": {"unsupported": true, "type": "integer", "description": "The ID of the process runs the renderer for this tab."},
- "frameId": {"type": "integer", "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."},
- "timeStamp": {"type": "number", "description": "The time when the document finished loading, in milliseconds since the epoch."}
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the navigation occurs."
+ },
+ "url": { "type": "string" },
+ "processId": {
+ "unsupported": true,
+ "type": "integer",
+ "description": "The ID of the process runs the renderer for this tab."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when the document finished loading, in milliseconds since the epoch."
+ }
}
}
],
@@ -276,12 +371,29 @@
"type": "object",
"name": "details",
"properties": {
- "tabId": {"type": "integer", "description": "The ID of the tab in which the navigation occurs."},
- "url": {"type": "string"},
- "processId": {"unsupported": true, "type": "integer", "description": "The ID of the process runs the renderer for this tab."},
- "frameId": {"type": "integer", "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."},
- "error": {"unsupported": true, "type": "string", "description": "The error description."},
- "timeStamp": {"type": "number", "description": "The time when the error occurred, in milliseconds since the epoch."}
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the navigation occurs."
+ },
+ "url": { "type": "string" },
+ "processId": {
+ "unsupported": true,
+ "type": "integer",
+ "description": "The ID of the process runs the renderer for this tab."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
+ },
+ "error": {
+ "unsupported": true,
+ "type": "string",
+ "description": "The error description."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when the error occurred, in milliseconds since the epoch."
+ }
}
}
],
@@ -303,12 +415,30 @@
"type": "object",
"name": "details",
"properties": {
- "sourceTabId": {"type": "integer", "description": "The ID of the tab in which the navigation is triggered."},
- "sourceProcessId": {"type": "integer", "description": "The ID of the process runs the renderer for the source tab."},
- "sourceFrameId": {"type": "integer", "description": "The ID of the frame with sourceTabId in which the navigation is triggered. 0 indicates the main frame."},
- "url": {"type": "string", "description": "The URL to be opened in the new window."},
- "tabId": {"type": "integer", "description": "The ID of the tab in which the url is opened"},
- "timeStamp": {"type": "number", "description": "The time when the browser was about to create a new view, in milliseconds since the epoch."}
+ "sourceTabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the navigation is triggered."
+ },
+ "sourceProcessId": {
+ "type": "integer",
+ "description": "The ID of the process runs the renderer for the source tab."
+ },
+ "sourceFrameId": {
+ "type": "integer",
+ "description": "The ID of the frame with sourceTabId in which the navigation is triggered. 0 indicates the main frame."
+ },
+ "url": {
+ "type": "string",
+ "description": "The URL to be opened in the new window."
+ },
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the url is opened"
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when the browser was about to create a new view, in milliseconds since the epoch."
+ }
}
}
],
@@ -330,13 +460,33 @@
"type": "object",
"name": "details",
"properties": {
- "tabId": {"type": "integer", "description": "The ID of the tab in which the navigation occurs."},
- "url": {"type": "string"},
- "processId": {"unsupported": true, "type": "integer", "description": "The ID of the process runs the renderer for this tab."},
- "frameId": {"type": "integer", "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."},
- "transitionType": {"unsupported": true, "$ref": "TransitionType", "description": "Cause of the navigation."},
- "transitionQualifiers": {"unsupported": true, "type": "array", "description": "A list of transition qualifiers.", "items": {"$ref": "TransitionQualifier"}},
- "timeStamp": {"type": "number", "description": "The time when the navigation was committed, in milliseconds since the epoch."}
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the navigation occurs."
+ },
+ "url": { "type": "string" },
+ "processId": {
+ "unsupported": true,
+ "type": "integer",
+ "description": "The ID of the process runs the renderer for this tab."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
+ },
+ "transitionType": {
+ "$ref": "TransitionType",
+ "description": "Cause of the navigation."
+ },
+ "transitionQualifiers": {
+ "type": "array",
+ "description": "A list of transition qualifiers.",
+ "items": { "$ref": "TransitionQualifier" }
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when the navigation was committed, in milliseconds since the epoch."
+ }
}
}
],
@@ -358,9 +508,18 @@
"type": "object",
"name": "details",
"properties": {
- "replacedTabId": {"type": "integer", "description": "The ID of the tab that was replaced."},
- "tabId": {"type": "integer", "description": "The ID of the tab that replaced the old tab."},
- "timeStamp": {"type": "number", "description": "The time when the replacement happened, in milliseconds since the epoch."}
+ "replacedTabId": {
+ "type": "integer",
+ "description": "The ID of the tab that was replaced."
+ },
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab that replaced the old tab."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when the replacement happened, in milliseconds since the epoch."
+ }
}
}
]
@@ -374,13 +533,33 @@
"type": "object",
"name": "details",
"properties": {
- "tabId": {"type": "integer", "description": "The ID of the tab in which the navigation occurs."},
- "url": {"type": "string"},
- "processId": {"unsupported": true, "type": "integer", "description": "The ID of the process runs the renderer for this tab."},
- "frameId": {"type": "integer", "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."},
- "transitionType": {"unsupported": true, "$ref": "TransitionType", "description": "Cause of the navigation."},
- "transitionQualifiers": {"unsupported": true, "type": "array", "description": "A list of transition qualifiers.", "items": {"$ref": "TransitionQualifier"}},
- "timeStamp": {"type": "number", "description": "The time when the navigation was committed, in milliseconds since the epoch."}
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the navigation occurs."
+ },
+ "url": { "type": "string" },
+ "processId": {
+ "unsupported": true,
+ "type": "integer",
+ "description": "The ID of the process runs the renderer for this tab."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
+ },
+ "transitionType": {
+ "$ref": "TransitionType",
+ "description": "Cause of the navigation."
+ },
+ "transitionQualifiers": {
+ "type": "array",
+ "description": "A list of transition qualifiers.",
+ "items": { "$ref": "TransitionQualifier" }
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when the navigation was committed, in milliseconds since the epoch."
+ }
}
}
],
diff -uNr schemas/FIREFOX_111_0b8_RELEASE/toolkit/web_request.json schemas/FIREFOX_120_0b5_RELEASE/toolkit/web_request.json
--- schemas/FIREFOX_111_0b8_RELEASE/toolkit/web_request.json 2023-03-02 19:58:28.000000000 +0100
+++ schemas/FIREFOX_120_0b5_RELEASE/toolkit/web_request.json 2023-11-01 10:27:26.000000000 +0100
@@ -8,15 +8,17 @@
"types": [
{
"$extend": "OptionalPermissionNoPrompt",
- "choices": [{
- "type": "string",
- "enum": [
- "webRequest",
- "webRequestBlocking",
- "webRequestFilterResponse",
- "webRequestFilterResponse.serviceWorkerScript"
- ]
- }]
+ "choices": [
+ {
+ "type": "string",
+ "enum": [
+ "webRequest",
+ "webRequestBlocking",
+ "webRequestFilterResponse",
+ "webRequestFilterResponse.serviceWorkerScript"
+ ]
+ }
+ ]
}
]
},
@@ -121,7 +123,11 @@
},
"tabId": { "type": "integer", "optional": true },
"windowId": { "type": "integer", "optional": true },
- "incognito": { "type": "boolean", "optional": true, "description": "If provided, requests that do not match the incognito state will be filtered out."}
+ "incognito": {
+ "type": "boolean",
+ "optional": true,
+ "description": "If provided, requests that do not match the incognito state will be filtered out."
+ }
}
},
{
@@ -131,13 +137,20 @@
"items": {
"type": "object",
"properties": {
- "name": {"type": "string", "description": "Name of the HTTP header."},
- "value": {"type": "string", "optional": true, "description": "Value of the HTTP header if it can be represented by UTF-8."},
+ "name": {
+ "type": "string",
+ "description": "Name of the HTTP header."
+ },
+ "value": {
+ "type": "string",
+ "optional": true,
+ "description": "Value of the HTTP header if it can be represented by UTF-8."
+ },
"binaryValue": {
"type": "array",
"optional": true,
"description": "Value of the HTTP header if it cannot be represented by UTF-8, stored as individual byte values (0..255).",
- "items": {"type": "integer"}
+ "items": { "type": "integer" }
}
}
}
@@ -177,8 +190,8 @@
"description": "Only used as a response to the onAuthRequired event. If set, the request is made using the supplied credentials.",
"optional": true,
"properties": {
- "username": {"type": "string"},
- "password": {"type": "string"}
+ "username": { "type": "string" },
+ "password": { "type": "string" }
}
}
}
@@ -233,7 +246,12 @@
{
"id": "CertificateTransparencyStatus",
"type": "string",
- "enum": ["not_applicable", "policy_compliant", "policy_not_enough_scts", "policy_not_diverse_scts"]
+ "enum": [
+ "not_applicable",
+ "policy_compliant",
+ "policy_not_enough_scts",
+ "policy_not_diverse_scts"
+ ]
},
{
"id": "TransportWeaknessReasons",
@@ -247,12 +265,7 @@
"properties": {
"state": {
"type": "string",
- "enum": [
- "insecure",
- "weak",
- "broken",
- "secure"
- ]
+ "enum": ["insecure", "weak", "broken", "secure"]
},
"errorMessage": {
"type": "string",
@@ -262,13 +275,7 @@
"protocolVersion": {
"type": "string",
"description": "Protocol version if state is \"secure\"",
- "enum": [
- "TLSv1",
- "TLSv1.1",
- "TLSv1.2",
- "TLSv1.3",
- "unknown"
- ],
+ "enum": ["TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3", "unknown"],
"optional": true
},
"cipherSuite": {
@@ -347,6 +354,26 @@
"items": { "$ref": "TransportWeaknessReasons" },
"description": "list of reasons that cause the request to be considered weak, if state is \"weak\"",
"optional": true
+ },
+ "usedEch": {
+ "type": "boolean",
+ "description": "True if the TLS connection used Encrypted Client Hello.",
+ "optional": true
+ },
+ "usedDelegatedCredentials": {
+ "type": "boolean",
+ "description": "True if the TLS connection used Delegated Credentials.",
+ "optional": true
+ },
+ "usedOcsp": {
+ "type": "boolean",
+ "description": "True if the TLS connection made OCSP requests.",
+ "optional": true
+ },
+ "usedPrivateDns": {
+ "type": "boolean",
+ "description": "True if the TLS connection used a privacy-preserving DNS transport like DNS-over-HTTPS.",
+ "optional": true
}
}
},
@@ -370,24 +397,42 @@
{
"id": "UrlClassificationFlags",
"type": "string",
- "enum": ["fingerprinting", "fingerprinting_content", "cryptomining", "cryptomining_content",
- "emailtracking", "emailtracking_content", "tracking", "tracking_ad",
- "tracking_analytics", "tracking_social", "tracking_content",
- "any_basic_tracking", "any_strict_tracking", "any_social_tracking"],
+ "enum": [
+ "fingerprinting",
+ "fingerprinting_content",
+ "cryptomining",
+ "cryptomining_content",
+ "emailtracking",
+ "emailtracking_content",
+ "tracking",
+ "tracking_ad",
+ "tracking_analytics",
+ "tracking_social",
+ "tracking_content",
+ "any_basic_tracking",
+ "any_strict_tracking",
+ "any_social_tracking"
+ ],
"description": "Tracking flags that match our internal tracking classification"
},
{
"id": "UrlClassificationParty",
"type": "array",
- "items": {"$ref": "UrlClassificationFlags"},
+ "items": { "$ref": "UrlClassificationFlags" },
"description": "If the request has been classified this is an array of $(ref:UrlClassificationFlags)."
},
{
"id": "UrlClassification",
"type": "object",
"properties": {
- "firstParty": {"$ref": "UrlClassificationParty", "description": "Classification flags if the request has been classified and it is first party."},
- "thirdParty": {"$ref": "UrlClassificationParty", "description": "Classification flags if the request has been classified and it or its window hierarchy is third party."}
+ "firstParty": {
+ "$ref": "UrlClassificationParty",
+ "description": "Classification flags if the request has been classified and it is first party."
+ },
+ "thirdParty": {
+ "$ref": "UrlClassificationParty",
+ "description": "Classification flags if the request has been classified and it or its window hierarchy is third party."
+ }
}
}
],
@@ -419,7 +464,7 @@
],
"returns": {
"type": "object",
- "additionalProperties": {"type": "any"},
+ "additionalProperties": { "type": "any" },
"isInstanceOf": "StreamFilter"
}
},
@@ -463,21 +508,53 @@
"type": "object",
"name": "details",
"properties": {
- "requestId": {"type": "string", "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."},
- "url": {"type": "string"},
- "method": {"type": "string", "description": "Standard HTTP method."},
- "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
- "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
- "incognito": {"type": "boolean", "optional": true, "description": "True for private browsing requests."},
- "cookieStoreId": {"type": "string", "optional": true, "description": "The cookie store ID of the contextual identity."},
- "originUrl": {"type": "string", "optional": true, "description": "URL of the resource that triggered this request."},
- "documentUrl": {"type": "string", "optional": true, "description": "URL of the page into which the requested resource will be loaded."},
+ "requestId": {
+ "type": "string",
+ "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."
+ },
+ "url": { "type": "string" },
+ "method": {
+ "type": "string",
+ "description": "Standard HTTP method."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."
+ },
+ "parentFrameId": {
+ "type": "integer",
+ "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
+ },
+ "incognito": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True for private browsing requests."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "optional": true,
+ "description": "The cookie store ID of the contextual identity."
+ },
+ "originUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the resource that triggered this request."
+ },
+ "documentUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the page into which the requested resource will be loaded."
+ },
"requestBody": {
"type": "object",
"optional": true,
"description": "Contains the HTTP request body data. Only provided if extraInfoSpec contains 'requestBody'.",
"properties": {
- "error": {"type": "string", "optional": true, "description": "Errors when obtaining request body data."},
+ "error": {
+ "type": "string",
+ "optional": true,
+ "description": "Errors when obtaining request body data."
+ },
"formData": {
"type": "object",
"optional": true,
@@ -488,19 +565,35 @@
"items": { "type": "string" }
}
},
- "raw" : {
+ "raw": {
"type": "array",
"optional": true,
- "items": {"$ref": "UploadData"},
+ "items": { "$ref": "UploadData" },
"description": "If the request method is PUT or POST, and the body is not already parsed in formData, then the unparsed request body elements are contained in this array."
}
}
},
- "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
- "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
- "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
- "urlClassification": {"$ref": "UrlClassification", "optional": true, "description": "Tracking classification if the request has been classified."},
- "thirdParty": {"type": "boolean", "description": "Indicates if this request and its content window hierarchy is third party."}
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."
+ },
+ "type": {
+ "$ref": "ResourceType",
+ "description": "How the requested resource will be used."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when this signal is triggered, in milliseconds since the epoch."
+ },
+ "urlClassification": {
+ "$ref": "UrlClassification",
+ "optional": true,
+ "description": "Tracking classification if the request has been classified."
+ },
+ "thirdParty": {
+ "type": "boolean",
+ "description": "Indicates if this request and its content window hierarchy is third party."
+ }
}
}
],
@@ -535,21 +628,69 @@
"type": "object",
"name": "details",
"properties": {
- "requestId": {"type": "string", "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."},
- "url": {"type": "string"},
- "method": {"type": "string", "description": "Standard HTTP method."},
- "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
- "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
- "incognito": {"type": "boolean", "optional": true, "description": "True for private browsing requests."},
- "cookieStoreId": {"type": "string", "optional": true, "description": "The cookie store ID of the contextual identity."},
- "originUrl": {"type": "string", "optional": true, "description": "URL of the resource that triggered this request."},
- "documentUrl": {"type": "string", "optional": true, "description": "URL of the page into which the requested resource will be loaded."},
- "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
- "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
- "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
- "requestHeaders": {"$ref": "HttpHeaders", "optional": true, "description": "The HTTP request headers that are going to be sent out with this request."},
- "urlClassification": {"$ref": "UrlClassification", "optional": true, "description": "Tracking classification if the request has been classified."},
- "thirdParty": {"type": "boolean", "description": "Indicates if this request and its content window hierarchy is third party."}
+ "requestId": {
+ "type": "string",
+ "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."
+ },
+ "url": { "type": "string" },
+ "method": {
+ "type": "string",
+ "description": "Standard HTTP method."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."
+ },
+ "parentFrameId": {
+ "type": "integer",
+ "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
+ },
+ "incognito": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True for private browsing requests."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "optional": true,
+ "description": "The cookie store ID of the contextual identity."
+ },
+ "originUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the resource that triggered this request."
+ },
+ "documentUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the page into which the requested resource will be loaded."
+ },
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."
+ },
+ "type": {
+ "$ref": "ResourceType",
+ "description": "How the requested resource will be used."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when this signal is triggered, in milliseconds since the epoch."
+ },
+ "requestHeaders": {
+ "$ref": "HttpHeaders",
+ "optional": true,
+ "description": "The HTTP request headers that are going to be sent out with this request."
+ },
+ "urlClassification": {
+ "$ref": "UrlClassification",
+ "optional": true,
+ "description": "Tracking classification if the request has been classified."
+ },
+ "thirdParty": {
+ "type": "boolean",
+ "description": "Indicates if this request and its content window hierarchy is third party."
+ }
}
}
],
@@ -584,21 +725,69 @@
"type": "object",
"name": "details",
"properties": {
- "requestId": {"type": "string", "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."},
- "url": {"type": "string"},
- "method": {"type": "string", "description": "Standard HTTP method."},
- "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
- "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
- "incognito": {"type": "boolean", "optional": true, "description": "True for private browsing requests."},
- "cookieStoreId": {"type": "string", "optional": true, "description": "The cookie store ID of the contextual identity."},
- "originUrl": {"type": "string", "optional": true, "description": "URL of the resource that triggered this request."},
- "documentUrl": {"type": "string", "optional": true, "description": "URL of the page into which the requested resource will be loaded."},
- "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
- "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
- "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
- "requestHeaders": {"$ref": "HttpHeaders", "optional": true, "description": "The HTTP request headers that have been sent out with this request."},
- "urlClassification": {"$ref": "UrlClassification", "optional": true, "description": "Tracking classification if the request has been classified."},
- "thirdParty": {"type": "boolean", "description": "Indicates if this request and its content window hierarchy is third party."}
+ "requestId": {
+ "type": "string",
+ "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."
+ },
+ "url": { "type": "string" },
+ "method": {
+ "type": "string",
+ "description": "Standard HTTP method."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."
+ },
+ "parentFrameId": {
+ "type": "integer",
+ "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
+ },
+ "incognito": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True for private browsing requests."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "optional": true,
+ "description": "The cookie store ID of the contextual identity."
+ },
+ "originUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the resource that triggered this request."
+ },
+ "documentUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the page into which the requested resource will be loaded."
+ },
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."
+ },
+ "type": {
+ "$ref": "ResourceType",
+ "description": "How the requested resource will be used."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when this signal is triggered, in milliseconds since the epoch."
+ },
+ "requestHeaders": {
+ "$ref": "HttpHeaders",
+ "optional": true,
+ "description": "The HTTP request headers that have been sent out with this request."
+ },
+ "urlClassification": {
+ "$ref": "UrlClassification",
+ "optional": true,
+ "description": "Tracking classification if the request has been classified."
+ },
+ "thirdParty": {
+ "type": "boolean",
+ "description": "Indicates if this request and its content window hierarchy is third party."
+ }
}
}
],
@@ -628,24 +817,78 @@
"type": "object",
"name": "details",
"properties": {
- "requestId": {"type": "string", "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."},
- "url": {"type": "string"},
- "method": {"type": "string", "description": "Standard HTTP method."},
- "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
- "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
- "incognito": {"type": "boolean", "optional": true, "description": "True for private browsing requests."},
- "cookieStoreId": {"type": "string", "optional": true, "description": "The cookie store ID of the contextual identity."},
- "originUrl": {"type": "string", "optional": true, "description": "URL of the resource that triggered this request."},
- "documentUrl": {"type": "string", "optional": true, "description": "URL of the page into which the requested resource will be loaded."},
- "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
- "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
- "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
- "statusLine": {"type": "string", "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line)."},
- "responseHeaders": {"$ref": "HttpHeaders", "optional": true, "description": "The HTTP response headers that have been received with this response."},
- "statusCode": {"type": "integer", "description": "Standard HTTP status code returned by the server."},
- "urlClassification": {"$ref": "UrlClassification", "optional": true, "description": "Tracking classification if the request has been classified."},
- "thirdParty": {"type": "boolean", "description": "Indicates if this request and its content window hierarchy is third party."}
- }
+ "requestId": {
+ "type": "string",
+ "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."
+ },
+ "url": { "type": "string" },
+ "method": {
+ "type": "string",
+ "description": "Standard HTTP method."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."
+ },
+ "parentFrameId": {
+ "type": "integer",
+ "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
+ },
+ "incognito": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True for private browsing requests."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "optional": true,
+ "description": "The cookie store ID of the contextual identity."
+ },
+ "originUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the resource that triggered this request."
+ },
+ "documentUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the page into which the requested resource will be loaded."
+ },
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."
+ },
+ "type": {
+ "$ref": "ResourceType",
+ "description": "How the requested resource will be used."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when this signal is triggered, in milliseconds since the epoch."
+ },
+ "statusLine": {
+ "type": "string",
+ "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line)."
+ },
+ "responseHeaders": {
+ "$ref": "HttpHeaders",
+ "optional": true,
+ "description": "The HTTP response headers that have been received with this response."
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Standard HTTP status code returned by the server."
+ },
+ "urlClassification": {
+ "$ref": "UrlClassification",
+ "optional": true,
+ "description": "Tracking classification if the request has been classified."
+ },
+ "thirdParty": {
+ "type": "boolean",
+ "description": "Indicates if this request and its content window hierarchy is third party."
+ }
+ }
}
],
"extraParameters": [
@@ -679,36 +922,105 @@
"type": "object",
"name": "details",
"properties": {
- "requestId": {"type": "string", "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."},
- "url": {"type": "string"},
- "method": {"type": "string", "description": "Standard HTTP method."},
- "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
- "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
- "incognito": {"type": "boolean", "optional": true, "description": "True for private browsing requests."},
- "cookieStoreId": {"type": "string", "optional": true, "description": "The cookie store ID of the contextual identity."},
- "originUrl": {"type": "string", "optional": true, "description": "URL of the resource that triggered this request."},
- "documentUrl": {"type": "string", "optional": true, "description": "URL of the page into which the requested resource will be loaded."},
- "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
- "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
- "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
- "scheme": {"type": "string", "description": "The authentication scheme, e.g. Basic or Digest."},
- "realm": {"type": "string", "description": "The authentication realm provided by the server, if there is one.", "optional": true},
- "challenger": {"type": "object", "description": "The server requesting authentication.", "properties": {"host": {"type": "string"}, "port": {"type": "integer"}}},
- "isProxy": {"type": "boolean", "description": "True for Proxy-Authenticate, false for WWW-Authenticate."},
- "responseHeaders": {"$ref": "HttpHeaders", "optional": true, "description": "The HTTP response headers that were received along with this response."},
- "statusLine": {"type": "string", "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line) or an empty string if there are no headers."},
- "statusCode": {"type": "integer", "description": "Standard HTTP status code returned by the server."},
- "urlClassification": {"$ref": "UrlClassification", "optional": true, "description": "Tracking classification if the request has been classified."},
- "thirdParty": {"type": "boolean", "description": "Indicates if this request and its content window hierarchy is third party."}
+ "requestId": {
+ "type": "string",
+ "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."
+ },
+ "url": { "type": "string" },
+ "method": {
+ "type": "string",
+ "description": "Standard HTTP method."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."
+ },
+ "parentFrameId": {
+ "type": "integer",
+ "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
+ },
+ "incognito": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True for private browsing requests."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "optional": true,
+ "description": "The cookie store ID of the contextual identity."
+ },
+ "originUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the resource that triggered this request."
+ },
+ "documentUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the page into which the requested resource will be loaded."
+ },
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."
+ },
+ "type": {
+ "$ref": "ResourceType",
+ "description": "How the requested resource will be used."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when this signal is triggered, in milliseconds since the epoch."
+ },
+ "scheme": {
+ "type": "string",
+ "description": "The authentication scheme, e.g. Basic or Digest."
+ },
+ "realm": {
+ "type": "string",
+ "description": "The authentication realm provided by the server, if there is one.",
+ "optional": true
+ },
+ "challenger": {
+ "type": "object",
+ "description": "The server requesting authentication.",
+ "properties": {
+ "host": { "type": "string" },
+ "port": { "type": "integer" }
+ }
+ },
+ "isProxy": {
+ "type": "boolean",
+ "description": "True for Proxy-Authenticate, false for WWW-Authenticate."
+ },
+ "responseHeaders": {
+ "$ref": "HttpHeaders",
+ "optional": true,
+ "description": "The HTTP response headers that were received along with this response."
+ },
+ "statusLine": {
+ "type": "string",
+ "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line) or an empty string if there are no headers."
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Standard HTTP status code returned by the server."
+ },
+ "urlClassification": {
+ "$ref": "UrlClassification",
+ "optional": true,
+ "description": "Tracking classification if the request has been classified."
+ },
+ "thirdParty": {
+ "type": "boolean",
+ "description": "Indicates if this request and its content window hierarchy is third party."
+ }
}
},
{
"type": "function",
"optional": true,
"name": "callback",
- "parameters": [
- {"name": "response", "$ref": "BlockingResponse"}
- ]
+ "parameters": [{ "name": "response", "$ref": "BlockingResponse" }]
}
],
"extraParameters": [
@@ -742,25 +1054,86 @@
"type": "object",
"name": "details",
"properties": {
- "requestId": {"type": "string", "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."},
- "url": {"type": "string"},
- "method": {"type": "string", "description": "Standard HTTP method."},
- "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
- "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
- "incognito": {"type": "boolean", "optional": true, "description": "True for private browsing requests."},
- "cookieStoreId": {"type": "string", "optional": true, "description": "The cookie store ID of the contextual identity."},
- "originUrl": {"type": "string", "optional": true, "description": "URL of the resource that triggered this request."},
- "documentUrl": {"type": "string", "optional": true, "description": "URL of the page into which the requested resource will be loaded."},
- "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
- "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
- "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
- "ip": {"type": "string", "optional": true, "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."},
- "fromCache": {"type": "boolean", "description": "Indicates if this response was fetched from disk cache."},
- "statusCode": {"type": "integer", "description": "Standard HTTP status code returned by the server."},
- "responseHeaders": {"$ref": "HttpHeaders", "optional": true, "description": "The HTTP response headers that were received along with this response."},
- "statusLine": {"type": "string", "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line) or an empty string if there are no headers."},
- "urlClassification": {"$ref": "UrlClassification", "optional": true, "description": "Tracking classification if the request has been classified."},
- "thirdParty": {"type": "boolean", "description": "Indicates if this request and its content window hierarchy is third party."}
+ "requestId": {
+ "type": "string",
+ "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."
+ },
+ "url": { "type": "string" },
+ "method": {
+ "type": "string",
+ "description": "Standard HTTP method."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."
+ },
+ "parentFrameId": {
+ "type": "integer",
+ "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
+ },
+ "incognito": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True for private browsing requests."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "optional": true,
+ "description": "The cookie store ID of the contextual identity."
+ },
+ "originUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the resource that triggered this request."
+ },
+ "documentUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the page into which the requested resource will be loaded."
+ },
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."
+ },
+ "type": {
+ "$ref": "ResourceType",
+ "description": "How the requested resource will be used."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when this signal is triggered, in milliseconds since the epoch."
+ },
+ "ip": {
+ "type": "string",
+ "optional": true,
+ "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."
+ },
+ "fromCache": {
+ "type": "boolean",
+ "description": "Indicates if this response was fetched from disk cache."
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Standard HTTP status code returned by the server."
+ },
+ "responseHeaders": {
+ "$ref": "HttpHeaders",
+ "optional": true,
+ "description": "The HTTP response headers that were received along with this response."
+ },
+ "statusLine": {
+ "type": "string",
+ "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line) or an empty string if there are no headers."
+ },
+ "urlClassification": {
+ "$ref": "UrlClassification",
+ "optional": true,
+ "description": "Tracking classification if the request has been classified."
+ },
+ "thirdParty": {
+ "type": "boolean",
+ "description": "Indicates if this request and its content window hierarchy is third party."
+ }
}
}
],
@@ -790,26 +1163,90 @@
"type": "object",
"name": "details",
"properties": {
- "requestId": {"type": "string", "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."},
- "url": {"type": "string"},
- "method": {"type": "string", "description": "Standard HTTP method."},
- "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
- "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
- "incognito": {"type": "boolean", "optional": true, "description": "True for private browsing requests."},
- "cookieStoreId": {"type": "string", "optional": true, "description": "The cookie store ID of the contextual identity."},
- "originUrl": {"type": "string", "optional": true, "description": "URL of the resource that triggered this request."},
- "documentUrl": {"type": "string", "optional": true, "description": "URL of the page into which the requested resource will be loaded."},
- "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
- "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
- "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
- "ip": {"type": "string", "optional": true, "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."},
- "fromCache": {"type": "boolean", "description": "Indicates if this response was fetched from disk cache."},
- "statusCode": {"type": "integer", "description": "Standard HTTP status code returned by the server."},
- "redirectUrl": {"type": "string", "description": "The new URL."},
- "responseHeaders": {"$ref": "HttpHeaders", "optional": true, "description": "The HTTP response headers that were received along with this redirect."},
- "statusLine": {"type": "string", "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line) or an empty string if there are no headers."},
- "urlClassification": {"$ref": "UrlClassification", "optional": true, "description": "Tracking classification if the request has been classified."},
- "thirdParty": {"type": "boolean", "description": "Indicates if this request and its content window hierarchy is third party."}
+ "requestId": {
+ "type": "string",
+ "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."
+ },
+ "url": { "type": "string" },
+ "method": {
+ "type": "string",
+ "description": "Standard HTTP method."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."
+ },
+ "parentFrameId": {
+ "type": "integer",
+ "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
+ },
+ "incognito": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True for private browsing requests."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "optional": true,
+ "description": "The cookie store ID of the contextual identity."
+ },
+ "originUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the resource that triggered this request."
+ },
+ "documentUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the page into which the requested resource will be loaded."
+ },
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."
+ },
+ "type": {
+ "$ref": "ResourceType",
+ "description": "How the requested resource will be used."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when this signal is triggered, in milliseconds since the epoch."
+ },
+ "ip": {
+ "type": "string",
+ "optional": true,
+ "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."
+ },
+ "fromCache": {
+ "type": "boolean",
+ "description": "Indicates if this response was fetched from disk cache."
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Standard HTTP status code returned by the server."
+ },
+ "redirectUrl": {
+ "type": "string",
+ "description": "The new URL."
+ },
+ "responseHeaders": {
+ "$ref": "HttpHeaders",
+ "optional": true,
+ "description": "The HTTP response headers that were received along with this redirect."
+ },
+ "statusLine": {
+ "type": "string",
+ "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line) or an empty string if there are no headers."
+ },
+ "urlClassification": {
+ "$ref": "UrlClassification",
+ "optional": true,
+ "description": "Tracking classification if the request has been classified."
+ },
+ "thirdParty": {
+ "type": "boolean",
+ "description": "Indicates if this request and its content window hierarchy is third party."
+ }
}
}
],
@@ -839,27 +1276,93 @@
"type": "object",
"name": "details",
"properties": {
- "requestId": {"type": "string", "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."},
- "url": {"type": "string"},
- "method": {"type": "string", "description": "Standard HTTP method."},
- "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
- "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
- "incognito": {"type": "boolean", "optional": true, "description": "True for private browsing requests."},
- "cookieStoreId": {"type": "string", "optional": true, "description": "The cookie store ID of the contextual identity."},
- "originUrl": {"type": "string", "optional": true, "description": "URL of the resource that triggered this request."},
- "documentUrl": {"type": "string", "optional": true, "description": "URL of the page into which the requested resource will be loaded."},
- "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
- "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
- "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
- "ip": {"type": "string", "optional": true, "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."},
- "fromCache": {"type": "boolean", "description": "Indicates if this response was fetched from disk cache."},
- "statusCode": {"type": "integer", "description": "Standard HTTP status code returned by the server."},
- "responseHeaders": {"$ref": "HttpHeaders", "optional": true, "description": "The HTTP response headers that were received along with this response."},
- "statusLine": {"type": "string", "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line) or an empty string if there are no headers."},
- "urlClassification": {"$ref": "UrlClassification","description": "Tracking classification if the request has been classified."},
- "thirdParty": {"type": "boolean", "description": "Indicates if this request and its content window hierarchy is third party."},
- "requestSize": {"type": "integer", "description": "For http requests, the bytes transferred in the request. Only available in onCompleted."},
- "responseSize": {"type": "integer", "description": "For http requests, the bytes received in the request. Only available in onCompleted."}
+ "requestId": {
+ "type": "string",
+ "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."
+ },
+ "url": { "type": "string" },
+ "method": {
+ "type": "string",
+ "description": "Standard HTTP method."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."
+ },
+ "parentFrameId": {
+ "type": "integer",
+ "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
+ },
+ "incognito": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True for private browsing requests."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "optional": true,
+ "description": "The cookie store ID of the contextual identity."
+ },
+ "originUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the resource that triggered this request."
+ },
+ "documentUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the page into which the requested resource will be loaded."
+ },
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."
+ },
+ "type": {
+ "$ref": "ResourceType",
+ "description": "How the requested resource will be used."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when this signal is triggered, in milliseconds since the epoch."
+ },
+ "ip": {
+ "type": "string",
+ "optional": true,
+ "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."
+ },
+ "fromCache": {
+ "type": "boolean",
+ "description": "Indicates if this response was fetched from disk cache."
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Standard HTTP status code returned by the server."
+ },
+ "responseHeaders": {
+ "$ref": "HttpHeaders",
+ "optional": true,
+ "description": "The HTTP response headers that were received along with this response."
+ },
+ "statusLine": {
+ "type": "string",
+ "description": "HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (i.e., responses that lack a status line) or an empty string if there are no headers."
+ },
+ "urlClassification": {
+ "$ref": "UrlClassification",
+ "description": "Tracking classification if the request has been classified."
+ },
+ "thirdParty": {
+ "type": "boolean",
+ "description": "Indicates if this request and its content window hierarchy is third party."
+ },
+ "requestSize": {
+ "type": "integer",
+ "description": "For http requests, the bytes transferred in the request. Only available in onCompleted."
+ },
+ "responseSize": {
+ "type": "integer",
+ "description": "For http requests, the bytes received in the request. Only available in onCompleted."
+ }
}
}
],
@@ -889,23 +1392,77 @@
"type": "object",
"name": "details",
"properties": {
- "requestId": {"type": "string", "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."},
- "url": {"type": "string"},
- "method": {"type": "string", "description": "Standard HTTP method."},
- "frameId": {"type": "integer", "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."},
- "parentFrameId": {"type": "integer", "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."},
- "incognito": {"type": "boolean", "optional": true, "description": "True for private browsing requests."},
- "cookieStoreId": {"type": "string", "optional": true, "description": "The cookie store ID of the contextual identity."},
- "originUrl": {"type": "string", "optional": true, "description": "URL of the resource that triggered this request."},
- "documentUrl": {"type": "string", "optional": true, "description": "URL of the page into which the requested resource will be loaded."},
- "tabId": {"type": "integer", "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."},
- "type": {"$ref": "ResourceType", "description": "How the requested resource will be used."},
- "timeStamp": {"type": "number", "description": "The time when this signal is triggered, in milliseconds since the epoch."},
- "ip": {"type": "string", "optional": true, "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."},
- "fromCache": {"type": "boolean", "description": "Indicates if this response was fetched from disk cache."},
- "error": {"type": "string", "description": "The error description. This string is <em>not</em> guaranteed to remain backwards compatible between releases. You must not parse and act based upon its content."},
- "urlClassification": {"$ref": "UrlClassification", "optional": true, "description": "Tracking classification if the request has been classified."},
- "thirdParty": {"type": "boolean", "description": "Indicates if this request and its content window hierarchy is third party."}
+ "requestId": {
+ "type": "string",
+ "description": "The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request."
+ },
+ "url": { "type": "string" },
+ "method": {
+ "type": "string",
+ "description": "Standard HTTP method."
+ },
+ "frameId": {
+ "type": "integer",
+ "description": "The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (<code>type</code> is <code>main_frame</code> or <code>sub_frame</code>), <code>frameId</code> indicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab."
+ },
+ "parentFrameId": {
+ "type": "integer",
+ "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
+ },
+ "incognito": {
+ "type": "boolean",
+ "optional": true,
+ "description": "True for private browsing requests."
+ },
+ "cookieStoreId": {
+ "type": "string",
+ "optional": true,
+ "description": "The cookie store ID of the contextual identity."
+ },
+ "originUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the resource that triggered this request."
+ },
+ "documentUrl": {
+ "type": "string",
+ "optional": true,
+ "description": "URL of the page into which the requested resource will be loaded."
+ },
+ "tabId": {
+ "type": "integer",
+ "description": "The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab."
+ },
+ "type": {
+ "$ref": "ResourceType",
+ "description": "How the requested resource will be used."
+ },
+ "timeStamp": {
+ "type": "number",
+ "description": "The time when this signal is triggered, in milliseconds since the epoch."
+ },
+ "ip": {
+ "type": "string",
+ "optional": true,
+ "description": "The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address."
+ },
+ "fromCache": {
+ "type": "boolean",
+ "description": "Indicates if this response was fetched from disk cache."
+ },
+ "error": {
+ "type": "string",
+ "description": "The error description. This string is <em>not</em> guaranteed to remain backwards compatible between releases. You must not parse and act based upon its content."
+ },
+ "urlClassification": {
+ "$ref": "UrlClassification",
+ "optional": true,
+ "description": "Tracking classification if the request has been classified."
+ },
+ "thirdParty": {
+ "type": "boolean",
+ "description": "Indicates if this request and its content window hierarchy is third party."
+ }
}
}
],
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment