Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ let gettingIsEnabled = browser.browserAction.isEnabled(
### Parameters

- `details` {{optional_inline}}
- : `integer` or `object`. An an `integer` it defines the ID of a tab to check. As an `object` it contains:
- : `integer` or `object`. As an `integer` it defines the ID of a tab to check. As an `object` it contains:
- `tabId` {{optional_inline}}
- : `integer`. ID of a tab to check.
- `windowId` {{optional_inline}}
Expand Down
5 changes: 2 additions & 3 deletions files/en-us/mozilla/firefox/releases/149/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Firefox 149 was released on [March 24, 2026](https://whattrainisitnow.com/releas
A serialized version of the report objects can also be sent to a reporting server specified in the corresponding HTTP header — endpoint names and corresponding URLs must first be defined in the {{httpheader('Reporting-Endpoints')}} or {{httpheader('Report-To')}} HTTP response headers.
([Firefox bug 1976074](https://bugzil.la/1976074), [Firefox bug 2008916](https://bugzil.la/2008916)).

- Up to Firefox 148, `structuredClone.call(iframe.contentWindow)` incorrectly created objects in the caller's [realm](/en-US/docs/Web/JavaScript/Reference/Execution_model#realms) instead of the iframe's realm. The implementation now instantiates objects in the `this` realm, so the method's behavior more closely matched the specification.
- Up to Firefox 148, `structuredClone.call(iframe.contentWindow)` incorrectly created objects in the caller's [realm](/en-US/docs/Web/JavaScript/Reference/Execution_model#realms) instead of the iframe's realm. The implementation now instantiates objects in the `this` realm, so the method's behavior more closely matched the specification ([Firefox bug 2017797](https://bugzil.la/2017797)).

#### DOM

Expand Down Expand Up @@ -108,8 +108,7 @@ Firefox 149 was released on [March 24, 2026](https://whattrainisitnow.com/releas
- Adds support for `tabId` as a top-level parameter in {{WebExtAPIRef("action.isEnabled")}} and {{WebExtAPIRef("browserAction.isEnabled")}}. This change provides for compatibility with the Chrome implementation of `action.isEnabled`. ([Firefox bug 2013477](https://bugzil.la/2013477))
- A user gesture is no longer required for {{WebExtAPIRef("action.openPopup")}} and {{WebExtAPIRef("browserAction.openPopup")}} to open a popup. This feature was available behind the `extensions.openPopupWithoutUserGesture.enabled` preference from Firefox 108. This change aligns Firefox's behavior with Chrome and Safari. ([Firefox bug 1799344](https://bugzil.la/1799344))
- If `windowId` is passed in {{WebExtAPIRef("action.openPopup")}} or {{WebExtAPIRef("browserAction.openPopup")}}, the window must be focused (active) for the popup to open. To open a popup in an unfocused window {{WebExtAPIRef("windows.update","windows.update(windowId, { focused: true })")}} must be called first. This change aligns Firefox behavior with Chrome. ([Firefox bug 2011516](https://bugzil.la/2011516))
- The implementation of {{domxref("structuredClone")}} has changed to instantiate objects in the `this` realm instead of the caller's realm. For backwards compatibility, the global scope of content scripts now includes its own `structuredClone` method that shadows the `window.structuredClone` method. For more information, see [`structuredClone` in Sharing objects with page scripts](/en-US/docs/Mozilla/Add-ons/WebExtensions/Sharing_objects_with_page_scripts#structuredclone).

- The implementation of {{domxref("structuredClone")}} has changed to instantiate objects in the `this` realm instead of the caller's realm. For backwards compatibility, the global scope of content scripts now includes its own `structuredClone` method that shadows the `window.structuredClone` method. For more information, see [`structuredClone` in Sharing objects with page scripts](/en-US/docs/Mozilla/Add-ons/WebExtensions/Sharing_objects_with_page_scripts#structuredclone) ([Firefox bug 2017797](https://bugzil.la/2017797)).
- The ability of extensions to dynamically execute code in their `moz-extension:` documents with {{WebExtAPIRef("tabs.executeScript")}}, {{WebExtAPIRef("tabs.insertCSS")}}, {{WebExtAPIRef("tabs.removeCSS")}}, {{WebExtAPIRef("scripting.executeScript")}}, {{WebExtAPIRef("scripting.insertCSS")}}, and {{WebExtAPIRef("scripting.removeCSS")}} is deprecated. ([Firefox bug 2011234](https://bugzil.la/2011234)) The feature is no longer available in Firefox Nightly, and the beta and release versions of Firefox provide a warning in the tab's console. This restriction will apply to all versions of Firefox 152 and later. ([Firefox bug 2015559](https://bugzil.la/2015559)) As an alternative, an extension can run code in its documents dynamically by registering a {{WebExtAPIRef("runtime.onMessage")}} listener in the document's script, then sending a message to trigger execution of the required code.
- The implicit CSS filter applied to [page action](/en-US/docs/Mozilla/Add-ons/WebExtensions/user_interface/Page_actions) SVG icons on dark themes is deactivated in Nightly builds ([Firefox bug 2001318](https://bugzil.la/2001318)) and will be deactivated in other Firefox editions from version 152 ([Firefox bug 2016509](https://bugzil.la/2016509)). You can test page action SVG icons with the CSS filter disabled in other Firefox editions by creating a boolean `about:config` preference called `extensions.webextensions.pageActionIconDarkModeFilter.enabled` and setting it to `false`.

Expand Down
2 changes: 1 addition & 1 deletion files/en-us/web/api/cookiestore/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ async function cookieTest() {
}

// Set cookie using document.cookie
// (to demonstrate these are are fetched too)
// (to demonstrate these are fetched too)
document.cookie = "favorite_food=tripe; SameSite=None; Secure";

// Get named cookie and log properties
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ browser-compat: api.ReportingObserver.ReportingObserver.options_parameter.types_

The **`columnNumber`** property of the {{domxref("CSPViolationReport")}} dictionary indicates the character position in the source file line that triggered the [Content Security Policy (CSP)](/en-US/docs/Web/HTTP/Guides/CSP) violation.

This property is used with the {{domxref("CSPViolationReport.sourceFile")}} and {{domxref("CSPViolationReport.lineNumber")}} properties, which together provide the the exact location in the source that caused the violation.
This property is used with the {{domxref("CSPViolationReport.sourceFile")}} and {{domxref("CSPViolationReport.lineNumber")}} properties, which together provide the exact location in the source that caused the violation.

Note that the browser extracts the value from _the global object_ of the file that triggered the violation.
If the resource that triggers the CSP violation is not loaded, the value will be `null`.
Expand Down
4 changes: 3 additions & 1 deletion files/en-us/web/api/document/execcommand/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ execCommand(commandName, showDefaultUI, valueArgument)
- : Deletes the character ahead of the [cursor](https://en.wikipedia.org/wiki/Cursor_%28computers%29)'s position, identical to hitting the Delete key on a Windows keyboard.
- `heading`
- : Adds a heading element around a selection or insertion point line. Requires the tag-name string as a value argument (i.e., `"H1"`, `"H6"`). (Not supported by Safari.)
- `highlightColor`
- `hiliteColor`
- : Changes the background color for the selection or at the insertion point. Requires a color value string as a value argument. `useCSS` must be `true` for this to function.
- `increaseFontSize`
- : Adds a {{HTMLElement("big")}} tag around the selection or at the insertion point.
Expand All @@ -91,6 +91,8 @@ execCommand(commandName, showDefaultUI, valueArgument)

- `insertImage`
- : Inserts an image at the insertion point (deletes selection). Requires a URL string for the image's `src` as a value argument. The requirements for this string are the same as `createLink`.
- `insertLineBreak`
- : Deletes the selection, and replaces it with a [line break element](/en-US/docs/Web/HTML/Reference/Elements/br).
- `insertOrderedList`
- : Creates a [numbered ordered list](/en-US/docs/Web/HTML/Reference/Elements/ol) for the selection or at the insertion point.
- `insertUnorderedList`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ if (geo.initialPermissionStatus === "prompt") {
}
```

Finally, we we add a {{domxref("HTMLGeolocationElement.location_event", "location")}} event listener to the `HTMLGeolocationElement` object, to detect when the location data request is returned. If the data is returned successfully, we access it via the {{domxref("HTMLGeolocationElement.position")}} property, and print the latitude and longitude values to the output paragraph. If the data request fails, we access the error via the {{domxref("HTMLGeolocationElement.error")}} property and print it to the output paragraph.
Finally, we add a {{domxref("HTMLGeolocationElement.location_event", "location")}} event listener to the `HTMLGeolocationElement` object, to detect when the location data request is returned. If the data is returned successfully, we access it via the {{domxref("HTMLGeolocationElement.position")}} property, and print the latitude and longitude values to the output paragraph. If the data request fails, we access the error via the {{domxref("HTMLGeolocationElement.error")}} property and print it to the output paragraph.

```js
geo.addEventListener("location", () => {
Expand Down
2 changes: 1 addition & 1 deletion files/en-us/web/api/navigateevent/intercept/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ The `precommitHandler()` callback takes a {{domxref("NavigationPrecommitControll

### Scheduling post-commit actions in `precommitHandler()`

As we saw above, you can specify a `handler()` callback in the object passed to the `intercept()` method in order to preform actions after a navigation is is committed.
As we saw above, you can specify a `handler()` callback in the object passed to the `intercept()` method in order to preform actions after a navigation is committed.
This approach works well if the actions required after commit do not depend on any actions run in the pre-commit phase.
If they do, then you can use {{domxref("NavigationPrecommitController.addHandler()")}} in `precommitHandler()` to dynamically add a handler that will run after the navigation commits.

Expand Down
2 changes: 1 addition & 1 deletion files/en-us/web/api/worker/worker/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ If a cross-origin worker is required, users must load it from an intermediate sa

### Module and classic workers

A classic worker is one that that is constructed from a classic script, while a module worker is constructed from an [ECMASCript module](/en-US/docs/Web/JavaScript/Guide/Modules).
A classic worker is one that is constructed from a classic script, while a module worker is constructed from an [ECMASCript module](/en-US/docs/Web/JavaScript/Guide/Modules).
The type of worker affects the worker constructor options, how the worker script is fetched, and how it is executed.

The code below shows two ways you can construct a classic worker, and also how you specify the `type` of `"module"` to create a module worker.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,7 @@ body::before {
}
```

Select the the different height values, then scroll to compare `entry` with `entry-crossing` for each size.
Select the different height values, then scroll to compare `entry` with `entry-crossing` for each size.

{{EmbedLiveSample("entry_crossing", "100%", "400")}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ ul {

{{EmbedLiveSample("Multiple_background_images")}}

Note how the first background image is fixed to the viewport while the the second background image is fixed relative to the list.
Note how the first background image is fixed to the viewport while the second background image is fixed relative to the list.

## Specifications

Expand Down
2 changes: 1 addition & 1 deletion files/en-us/web/security/authentication/passkeys/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ The RP's front-end code sends this to the server, which:

- Verifies the attestation, if attestation is taking place
- Verifies that the challenge is the expected value
- Creates a new user account and stores the public key in it along with with the user's account information.
- Creates a new user account and stores the public key in it along with the user's account information.

## Sign in

Expand Down
2 changes: 1 addition & 1 deletion files/en-us/webassembly/reference/memory/grow/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Currently each page is 64KiB.

;; grow memory by 1 page
;; grow returns in 1 for success and -1 for failure
;; will fail if you change to more more than 1 page
;; will fail if you change to more than 1 page
(memory.grow (i32.const 1))
call $log ;; log the result

Expand Down
Loading