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
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v24
v24.14.0
17 changes: 17 additions & 0 deletions files/en-us/mozilla/firefox/experimental_features/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -399,6 +399,22 @@ The [`@container`](/en-US/docs/Web/CSS/Reference/At-rules/@container) CSS at-rul

## APIs

### CSS Typed Object Model Level 1

Implementation work has started on the [CSS Typed OM Level 1](https://drafts.css-houdini.org/css-typed-om/).
For example, the {{domxref("CSSNumericValue/to","to()")}} method of the {{domxref("CSSNumericValue")}} interface is supported for converting a CSS numeric value from one unit to another.
([Firefox bug 1278697](https://bugzil.la/1278697)).

| Release channel | Version added | Enabled by default? |
| ----------------- | ------------- | ------------------- |
| Nightly | 149 | No |
| Developer Edition | 149 | No |
| Beta | 149 | No |
| Release | 149 | No |

- `layout.css.typed-om.enabled`
- : Set to `true` to enable.

### Notification actions and maxActions properties

The {{domxref("Notification/actions","actions")}} read-only property and the [`maxActions`](/en-US/docs/Web/API/Notification/maxActions_static) static read-only property of the {{domxref("Notification")}} interface are supported in Nightly on desktop.
Expand Down Expand Up @@ -520,6 +536,7 @@ Firefox supports [JPEG XL](https://jpeg.org/jpegxl/) images if this feature is e
See [Firefox bug 1539075](https://bugzil.la/1539075) for more details.

Note that, as shown below, the feature is only available on Nightly builds (irrespective of whether the preference is set).
In Firefox 149, the previous C++ [JPEG XL](https://jpeg.org/jpegxl/) image decoder was replaced with a new Rust-based implementation that uses the `jxl-rs` library ([Firefox bug 1986393](https://bugzil.la/1986393)).

| Release channel | Version added | Enabled by default? |
| ----------------- | ------------- | ------------------- |
Expand Down
33 changes: 29 additions & 4 deletions files/en-us/mozilla/firefox/releases/149/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ Firefox 149 is the current [Beta version of Firefox](https://www.firefox.com/en-

- The {{CSSXRef("vertical-align")}} CSS property is now a shorthand property for {{CSSXRef("alignment-baseline")}}, {{CSSXRef("baseline-shift")}} and {{CSSXRef("baseline-source")}} properties. ([Firefox bug 1830771](https://bugzil.la/1830771)).

- The [`<container-query>`](/en-US/docs/Web/CSS/Reference/At-rules/@container#container-query) part of the {{cssxref("@container")}} [at-rule](/en-US/docs/Web/CSS/Guides/Syntax/At-rules) condition is now optional.
This allows matching against containers based solely on their names.
([Firefox bug 2016474](https://bugzil.la/2016474)).

<!-- #### Removals -->

<!-- ### JavaScript -->
Expand Down Expand Up @@ -101,13 +105,25 @@ Firefox 149 is the current [Beta version of Firefox](https://www.firefox.com/en-

<!-- #### Removals -->

<!-- ### WebDriver conformance (WebDriver BiDi, Marionette) -->
### WebDriver conformance (WebDriver BiDi, Marionette)

#### General

- Updated the screenshot implementations for both the WebDriver BiDi and WebDriver classic protocols to correctly return an error when the requested screenshot area exceeds the maximum supported dimensions, rather than silently clipping it. ([Firefox bug 1994148](https://bugzil.la/1994148)).
- Updated the Actions implementation for both the WebDriver BiDi and WebDriver classic protocols to allow a `scroll` action of input source type `wheel` to scroll more than the visual viewport dimensions. ([Firefox bug 1962355](https://bugzil.la/1962355)).

#### WebDriver BiDi

<!-- #### General -->
- Added support for automatic user prompt handling, which can be configured through capabilities with the `session.new` command. ([Firefox bug 1905086](https://bugzil.la/1905086)).
- Added the `browser.setDownloadBehavior` command, which lets clients allow or prohibit the downloads and also set a custom download folder. This behavior can be configured per session or per user contexts. ([Firefox bug 1989022](https://bugzil.la/1989022)).
- Added the `script.realmCreated` and `script.realmDestroyed` events for worker realms (for dedicated, shared and service workers). ([Firefox bug 1936770](https://bugzil.la/1936770)).
- Fixed an issue where the `browsingContext.userPromptOpened` and `browsingContext.userPromptClosed` events incorrectly reported the top-level context ID instead of the iframe's context ID on Android. ([Firefox bug 2007385](https://bugzil.la/2007385)).
- Fixed the serialization for DOM nodes to stop exposing User Agent specific shadow roots. ([Firefox bug 2016673](https://bugzil.la/2016673)).
- Updated the logic of applying different settings to new browsing contexts to make sure that in the case of creating a browsing context with the `window.open` command, emulations, viewport overrides and preload scripts apply before the command returns. ([Firefox bug 1985997](https://bugzil.la/1985997), [Firefox bug 2005546](https://bugzil.la/2005546), and [Firefox bug 2005558](https://bugzil.la/2005558)).

<!-- #### WebDriver BiDi -->
#### Marionette

<!-- #### Marionette -->
- Improved several WebDriver classic commands to handle `implicit` and `pageLoad` timeouts in line with the script timeout, allowing `null` values to disable the timeouts. ([Firefox bug 2008345](https://bugzil.la/2008345)).

## Changes for add-on developers

Expand Down Expand Up @@ -151,3 +167,12 @@ You can find more such features on the [Experimental features](/en-US/docs/Mozil
- **`@container style()` queries** (Nightly): `layout.css.style-queries.enabled`

The [`@container`](/en-US/docs/Web/CSS/Reference/At-rules/@container) CSS at-rule supports [`style()`](/en-US/docs/Web/CSS/Guides/Containment/Container_size_and_style_queries#container_style_queries) queries. This allows you to check if a container has a valid CSS declaration, a CSS property, or a custom property, and apply styles to its children accordingly. ([Firefox bug 2014404](https://bugzil.la/2014404)).

- **CSS Typed Object Model Level 1**: `layout.css.typed-om.enabled`

The CSS Typed Object Model Level 1 specification is being implemented.
In this release, support for the {{domxref("CSSNumericValue/to","to()")}} method of the {{domxref("CSSNumericValue")}} interface was added, allowing the conversion of a CSS numeric value from one unit to another. ([Firefox bug 1278697](https://bugzil.la/1278697)).

- **JPEG XL image support: Rust-based decoder**: `image.jxl.enabled`

The previous C++ [JPEG XL](https://jpeg.org/jpegxl/) image decoder has been replaced with a new Rust-based implementation that uses the `jxl-rs` library. ([Firefox bug 1986393](https://bugzil.la/1986393)).
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,21 @@ To provide a reasonable user experience on mobile devices, and to cut down on am

- A text input for entering a title for your to-do list. This is the least avoidable bit of user typing.
- Number inputs for the hour and minute parts of the deadline. On browsers that support `type="number"`, you get a nice little up and down arrow number picker. On mobile platforms you tend to get a numeric keypad for entering data, which is helpful. On others you just get a standard text input, which is okay.
- {{HTMLElement("select")}} elements for inputting the day, month and year of the deadline. Because these values are the most ambiguous for users to enter (7, sunday, sun? 04, 4, April, Apr? 2013, '13, 13?), I decided the best solution was to give them a choice to pick from, which also saves on annoying typing for mobile users. The days are recorded as numerical days of the month, the months are recorded as full month names, and the years are recorded as full four digit year numbers.
- {{HTMLElement("select")}} elements for inputting the day, month and year of the deadline. Because these values are the most ambiguous for users to enter (7, sunday, sun? 04, 4, April, Apr? 2013, '13, 13?), I decided the best solution was to give them a choice to pick from, which also saves on annoying typing for mobile users. The days are recorded as numerical days of the month, the months are recorded as full month names, and the years are populated starting from the current year and 12 years into the future.

During the app initialization, we populate the year dropdown and store the current year for later use:

```js
const currentYear = new Date().getFullYear();
for (let i = 0; i <= 12; i++) {
const option = document.createElement("option");
const yearValue = currentYear + i;
option.value = yearValue;
option.textContent = yearValue;
year.appendChild(option);
}
year.value = currentYear;
```

When the form's submit button is pressed, we run the `addData()` function, which starts like this:

Expand Down Expand Up @@ -108,14 +122,14 @@ function addData(e) {
minutes.value = null;
day.value = "01";
month.value = "January";
year.value = 2020;
year.value = currentYear;
};
// update the display of data to show the newly added item, by running displayData() again.
displayData();
}
```

This next section creates a log message to say the new item addition is successful, and resets the form so it's ready for the next task to be entered. Last of all, we run the `displayData()` function, which updates the display of data in the app to show the new task that was just entered.
This next section creates a log message to say the new item addition is successful, and resets the form so it's ready for the next task to be entered. Note that the year field is reset to `currentYear`, which is set when the app initializes. Last of all, we run the `displayData()` function, which updates the display of data in the app to show the new task that was just entered.

### Checking whether a deadline has been reached

Expand Down
23 changes: 17 additions & 6 deletions files/en-us/web/css/reference/at-rules/@container/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,12 @@ The **`@container`** [CSS](/en-US/docs/Web/CSS) [at-rule](/en-US/docs/Web/CSS/Gu
Style declarations are filtered by a condition and applied to the container if the condition is true.
The condition is evaluated when the queried container size, [`<style-feature>`](#container_style_queries), or scroll-state changes.

The {{cssxref("container-name")}} property specifies a list of query container names. These names can be used by `@container` rules to filter which query containers are targeted. The optional, case-sensitive `<container-name>` filters the query containers that are targeted by the query.
The condition must specify one or both of {{cssxref("container-name")}} and `<container-query>`.

Once an eligible query container has been selected for an element, each container feature in the `<container-condition>` is evaluated against that query container.
The {{cssxref("container-name")}} property specifies a list of query container names, which are used to filter which containers are targeted by the `@container` rules.
The container features in the `<container-query>` are evaluated against the selected containers.
If no `<container-name>` is specified, the `<container-query>` features are evaluated against the nearest ancestor query container that has the matching [`container-type`](/en-US/docs/Web/CSS/Reference/Properties/container-type).
If no `<container-query>` is specified, named containers are selected.

## Syntax

Expand All @@ -31,6 +34,13 @@ Once an eligible query container has been selected for an element, each containe
}
}

/* With a <container-name> only (query is optional) */
@container sidebar {
h2 {
background: blue;
}
}

/* With a <scroll-state> */
@container scroll-state(scrollable: top) {
.back-to-top-link {
Expand Down Expand Up @@ -64,10 +74,11 @@ Once an eligible query container has been selected for an element, each containe
### Parameters

- `<container-condition>`
- : An optional `<container-name>` and a `<container-query>`. Styles defined in the `<stylesheet>` are applied if the condition is true.
- `<container-name>`
- : Optional. The name of the container that the styles will be applied to when the query evaluates to true, specified as an {{cssxref("ident")}}.
- `<container-query>`
- : One or both of `<container-name>` and `<container-query>`.
Styles defined in the `<stylesheet>` are applied if the condition is `true`.
- `<container-name>` {{optional_inline}}
- : The name of the container that the styles will be applied to when the query evaluates to `true`, specified as an {{cssxref("ident")}}.
- `<container-query>` {{optional_inline}}
- : A set of features that are evaluated against the query container when the size, [`<style-feature>`](#container_style_queries), or scroll-state of the container changes.

### Logical keywords in container queries
Expand Down
2 changes: 1 addition & 1 deletion files/en-us/web/html/reference/elements/select/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Keyboard users can select multiple non-contiguous items by:
## Styling with CSS

The `<select>` element has historically been difficult to style effectively with CSS.
The following guides contain information about newer features that have been introduced to enable fully customizable select elements:
The following guides contain information about features that enable fully customizable select elements:

- [Customizable select elements](/en-US/docs/Learn_web_development/Extensions/Forms/Customizable_select)
- [Customizable select listboxes](/en-US/docs/Learn_web_development/Extensions/Forms/Customizable_select_listboxes)
Expand Down
2 changes: 2 additions & 0 deletions files/en-us/web/http/guides/evolution_of_http/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ HTTP/1.0 200 OK
Date: Tue, 15 Nov 1994 08:12:31 GMT
Server: CERN/3.0 libwww/2.17
Content-Type: text/html

<HTML>
A page with an image
<IMG SRC="/my-image.gif">
Expand All @@ -73,6 +74,7 @@ HTTP/1.0 200 OK
Date: Tue, 15 Nov 1994 08:12:32 GMT
Server: CERN/3.0 libwww/2.17
Content-Type: text/gif

(image content)
```

Expand Down
4 changes: 0 additions & 4 deletions files/jsondata/InterfaceData.json
Original file line number Diff line number Diff line change
Expand Up @@ -1772,10 +1772,6 @@
"inh": "HTMLElement",
"impl": []
},
"HTMLPermissionElement": {
"inh": "HTMLElement",
"impl": []
},
"HTMLPictureElement": {
"inh": "HTMLElement",
"impl": []
Expand Down
1 change: 1 addition & 0 deletions files/sidebars/cssref.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ sidebar:
details: closed
children:
- /Web/CSS/Guides/Properties_and_values_API/Houdini
- /Web/CSS/Guides/Properties_and_values_API/Registering_properties
- type: listSubPages
path: /Web/CSS/Guides/Scroll_anchoring
title: Scroll_anchoring
Expand Down
18 changes: 4 additions & 14 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 7 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,16 @@
"type": "git",
"url": "git+https://github.com/mdn/content.git"
},
"packageManager": "npm@11.6.2",
"packageManager": "npm@11.9.0",
"engines": {
"node": ">=24"
},
"devEngines": {
"packageManager": {
"name": "npm",
"version": ">=11.8.0"
}
},
"type": "module",
"scripts": {
"info:fred": "node -e \"process.stderr.write('\\n🐥 This command is using Fred: https://github.com/mdn/fred\\n🐞 Please report issues here: https://github.com/mdn/fred/issues/new?template=bug.yml\\n\\n')\"",
Expand Down