diff --git a/files/en-us/mozilla/add-ons/webextensions/manifest.json/theme/index.md b/files/en-us/mozilla/add-ons/webextensions/manifest.json/theme/index.md index ae5ee8ade4fcd05..728063e4ffb283a 100644 --- a/files/en-us/mozilla/add-ons/webextensions/manifest.json/theme/index.md +++ b/files/en-us/mozilla/add-ons/webextensions/manifest.json/theme/index.md @@ -47,9 +47,6 @@ Use the `theme` key to define a static theme to apply to Firefox. When provided > [!NOTE] > Since May 2019, themes need to be signed to be installed ([Firefox bug 1545109](https://bugzil.la/1545109)). See [Signing and distributing your add-on](https://extensionworkshop.com/documentation/publish/signing-and-distribution-overview/#distributing-your-addon) for more details. -> [!NOTE] -> A new version of Firefox for Android, based on GeckoView, is under development. A [pre-release version](https://play.google.com/store/apps/details?id=org.mozilla.fenix) is available. The pre-release version does not support themes. - ## Image formats The following image formats are supported in all theme image properties: @@ -90,7 +87,7 @@ The theme key is an object that takes the following properties:
colorsObjectMandatory.
+Mandatory
A JSON object whose properties represent the colors of various parts
of the browser. See colors for
@@ -105,7 +102,7 @@ The theme key is an object that takes the following properties:
Optional
This object has properties that affect how the
- "additional_backgrounds" images are displayed and color schemes are applied. See
+ "additional_backgrounds" items are displayed and color schemes are applied. See
properties for details on the properties that this object can contain.
theme_frameStringString or Object- The URL of a foreground image to be added to the header area and - anchored to the upper right corner of the header area. + A foreground image (defined by the path to an image asset packaged in the extension) or CSS gradient + to be added to the header area and anchored to the upper right corner + of the header area. CSS gradients are supported from Firefox 153.
@@ -144,39 +142,53 @@ Images should be 200 pixels high to ensure they always fill the header space ver
- Optional in desktop Firefox 60 onwards. Required in Firefox for Android. + Optional in desktop Firefox 60 onwards.
additional_backgroundsArray of StringArray of String or Object
Warning: The
- additional_backgrounds property is experimental. It is
- currently accepted in release versions of Firefox, but its behavior
- is subject to change. It is not supported in Firefox for Android.
+ additional_backgrounds property is experimental. It's
+ accepted in release versions of Firefox, but its behavior
+ is subject to change.
- An array of URLs for additional background images to be added to the
- header area and displayed behind the
- "theme_frame": image. These images layer the first image
- in the array on top, the last image in the array at the bottom.
+ An array of additional background items, each being either the path to an image asset packaged in the extension or CSS gradient, to be added to
+ the header area and displayed behind the
+ "theme_frame": items. These items layer the first item in
+ the array on top and the last item at the bottom. CSS gradients are
+ supported from Firefox 153.
Optional.
+Optional
- By default all images are anchored to the upper right corner of the
- header area, but their alignment and repeat behavior can be controlled
- by properties of "properties":.
+ By default, all items are anchored to the upper right corner of the
+ header area, but their alignment, repeat, and size behavior can be
+ controlled by "properties":.
|
The color of the header area background, displayed in the part of the
- header not covered or visible through the images specified in
+ header not covered or visible through the items specified in
@@ -386,7 +391,7 @@ All these properties can be specified as either a string containing any valid [C
The color of the header area background when the browser window is
inactive, displayed in the part of the header not covered or visible
- through the images specified in
@@ -1325,6 +1330,25 @@ Additionally, this key accepts various properties that are aliases for one of th
If not specified, defaults to |
+ ||
additional_backgrounds_size |
+
+
|
+
+ Optional +
+ An array of values defining the size of the corresponding
+ If not specified, defaults to |
+
color_scheme |
@@ -1386,7 +1410,7 @@ A basic theme must define an image to add to the header, the accent color to use } ``` -Multiple images can be used to fill the header. Before Firefox version 60, use a blank or transparent header image to gain control over the placement of each additional image: +Multiple items can be used to fill the header. Before Firefox version 60, use a blank or transparent header image to gain control over the placement of each additional item: ```json "theme": { @@ -1450,6 +1474,31 @@ It will give you a browser that looks like this: In this screenshot, `"toolbar_vertical_separator"` is the white vertical line in the URL bar dividing the Reader Mode icon from the other icons. +This example (Firefox 153+) mixes image backgrounds with a CSS linear gradient: + +```json +"theme": { + "images": { + "additional_backgrounds": [ + "background-image1.svg", + "background-image2.svg", + { "linear-gradient": "to bottom, #FF6BBA -20%, #FFC999 50%" } + ] + }, + "properties": { + "additional_backgrounds_alignment": ["right top", "left top", "right top"], + "additional_backgrounds_tiling": ["no-repeat", "no-repeat", "repeat-x"], + "additional_backgrounds_size": ["auto", "auto", "auto 144px"] + } +} +``` + +This results in: + +- `background-image1.svg` displaying at the top right, at its natural size. +- `background-image2.svg` displaying at the top left, at its natural size. +- The `linear-gradient` displaying from the top right, tiled horizontally across the header (`repeat-x`), and sized to 144px tall (width is automatic). The gradient transitions from pink (`#FF6BBA`) at the top to peach (`#FFC999`) at the bottom. + ## Browser compatibility {{Compat}} @@ -1458,7 +1507,7 @@ In this screenshot, `"toolbar_vertical_separator"` is the white vertical line in In Chrome: -- `colors/toolbar_text` is not used, use `colors/bookmark_text` instead. +- `colors/toolbar_text` isn't used, use `colors/bookmark_text` instead. - `images/theme_frame` anchors the image to the top left of the header and if the image doesn't fill the header area tile the image. - all colors must be specified as an array of RGB values, like this: diff --git a/files/en-us/mozilla/firefox/releases/153/index.md b/files/en-us/mozilla/firefox/releases/153/index.md index 62c87dafe553da1..83b72867bb8e74c 100644 --- a/files/en-us/mozilla/firefox/releases/153/index.md +++ b/files/en-us/mozilla/firefox/releases/153/index.md @@ -85,8 +85,9 @@ Firefox 153 is the current [Beta version of Firefox](https://www.firefox.com/en- - Extensions now require explicit user permission to access `file://` URLs. Previously, access to local files was covered by the "Access your data for all websites" host permission. This change introduces a separate "Access local files on your computer" option in the extension's permissions settings (desktop only), and file access is turned off by default for all extensions, including existing ones. The {{WebExtAPIRef("extension.isAllowedFileSchemeAccess()")}} method now correctly returns `true` if the user has granted file scheme access; previously, Firefox always returned `false`. Additionally, calling {{WebExtAPIRef("devtools.inspectedWindow.eval()")}} on `file://` URLs now requires this permission. ([Firefox bug 2034168](https://bugzil.la/2034168)) - Supports the {{WebExtAPIRef("userScripts.execute()")}} method, enabling extensions to inject user scripts on demand into a tab or frame. Unlike {{WebExtAPIRef("userScripts.register()")}}, this method supports one-off injection of multiple script sources executed in a defined order. ([Firefox bug 1930776](https://bugzil.la/1930776)) - Adds the {{WebExtAPIRef("publicSuffix")}} API, enabling extensions to determine the registrable domain (eTLD+1) and public suffix of a hostname using the browser's built-in [Public Suffix List](https://publicsuffix.org/). The API provides three synchronous methods: {{WebExtAPIRef("publicSuffix.isKnownSuffix()")}}, {{WebExtAPIRef("publicSuffix.getKnownSuffix()")}}, and {{WebExtAPIRef("publicSuffix.getDomain()")}}. ([Firefox bug 1315558](https://bugzil.la/1315558)) -- Extension content scripts can now read and modify constructed stylesheets in {{domxref("document.adoptedStyleSheets")}} and {{domxref("ShadowRoot.adoptedStyleSheets")}}, without `.wrappedJSObject`. ([Firefox bug 1751346](https://bugzil.la/1751346)) - Adds `documentId` to a range of WebExtension APIs, including a new {{WebExtAPIRef("runtime.getDocumentId()")}} method, {{WebExtAPIRef("webNavigation")}} events and methods, {{WebExtAPIRef("webRequest")}} events, scripting injection targets, and messaging APIs. See [Work with documentId](/en-US/docs/Mozilla/Add-ons/WebExtensions/Work_with_documentId) for the full list of supported events and methods, along with guidance on using `documentId`. ([Firefox bug 1891478](https://bugzil.la/1891478)) +- Extension content scripts can now read and modify constructed stylesheets in {{domxref("document.adoptedStyleSheets")}} and {{domxref("ShadowRoot.adoptedStyleSheets")}}, without `.wrappedJSObject`. ([Firefox bug 1751346](https://bugzil.la/1751346)) +- The [`theme`](/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme) manifest key's `images.additional_backgrounds` property now supports CSS gradients in addition to image URLs. A new `properties.additional_backgrounds_size` property controls the size of each additional background item. ([Firefox bug 2036647](https://bugzil.la/2036647)) - For contextual identities (containers): - Adds the {{WebExtAPIRef("contextualIdentities.getSupportedColors()")}} and {{WebExtAPIRef("contextualIdentities.getSupportedIcons()")}} methods to retrieve the supported colors and icons, avoiding the need to hardcode those values. ([Firefox bug 2044712](https://bugzil.la/2044712)) - Updates the colors available. `"turquoise"` is renamed to `"cyan"`, `"toolbar"` is renamed to `"gray"`, and `"violet"` is added. The legacy names `"turquoise"` and `"toolbar"` are accepted for backward compatibility. To avoid hardcoding color names, use {{WebExtAPIRef("contextualIdentities.getSupportedColors()")}} to retrieve the available colors. ([Firefox bug 2044354](https://bugzil.la/2044354)) |