Skip to content

Commit 454c425

Browse files
Edit pass on 134 relnotes
1 parent 606bfb3 commit 454c425

2 files changed

Lines changed: 124 additions & 67 deletions

File tree

microsoft-edge/web-platform/release-notes/134.md

Lines changed: 92 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,34 @@ The following are the new web platform features and updates in Microsoft Edge 13
1313

1414
To stay up-to-date and get the latest web platform features, download an Insiders version of Microsoft Edge, such as Canary, Dev, or Beta; see [Become a Microsoft Edge Insider](https://aka.ms/microsoftedge).
1515

16+
**Detailed contents:**
17+
18+
* [Edge DevTools](#edge-devtools)
19+
* [WebView2](#webview2)
20+
* [Web platform features](#web-platform-features)
21+
* [Enabled features](#enabled-features)
22+
* [`:has-slotted` pseudo selector](#has-slotted-pseudo-selector)
23+
* [Attribution Reporting: Remove aggregatable report limit when trigger context ID is non-null](#attribution-reporting-remove-aggregatable-report-limit-when-trigger-context-id-is-non-null)
24+
* [CSS Highlight Inheritance](#css-highlight-inheritance)
25+
* [CSS dynamic-range-limit property](#css-dynamic-range-limit-property)
26+
* [Customizable `<select>` Element](#customizable-select-element)
27+
* [Dialog light dismiss](#dialog-light-dismiss)
28+
* [`application-title` meta tag for installed web apps](#application-title-meta-tag-for-installed-web-apps)
29+
* [Document-Policy: expect-no-linked-resources](#document-policy-expect-no-linked-resources)
30+
* [Explicit resource management](#explicit-resource-management)
31+
* [Extend the `console.timeStamp` API to support measurements and presentation options](#extend-the-consoletimestamp-api-to-support-measurements-and-presentation-options)
32+
* [Offscreen canvas `getContextAttributes`](#offscreen-canvas-getcontextattributes)
33+
* [Private Aggregation API: per-context contribution limits for Shared Storage callers](#private-aggregation-api-per-context-contribution-limits-for-shared-storage-callers)
34+
* [Support `imageSmoothingQuality` in CSS Painting API](#support-imagesmoothingquality-in-css-painting-api)
35+
* [WebGPU Subgroups](#webgpu-subgroups)
36+
* [`fetchLater()`](#fetchlater)
37+
* [Origin trials](#origin-trials)
38+
* [Microsoft Edge-only origin trials](#microsoft-edge-only-origin-trials)
39+
* [Digital Goods API](#digital-goods-api)
40+
* [Web App `LocalFolder` Access](#web-app-localfolder-access)
41+
* [HTML+IDL handwriting attribute](#htmlidl-handwriting-attribute)
42+
* [Acquisition Info API](#acquisition-info-api)
43+
1644

1745
<!-- ====================================================================== -->
1846
## Edge DevTools
@@ -39,143 +67,150 @@ For WebView2, see [Release Notes for the WebView2 SDK](../../webview2/release-no
3967

4068
The `:has-slotted` pseudo class represents a slot element with slotted content, such as a text node or element. This can be used to style elements based on whether or not they are using slot fallback content.
4169

70+
See [:has-slotted](https://developer.mozilla.org/docs/Web/CSS/:has-slotted) at MDN.
71+
4272

4373
<!-- ---------- -->
44-
###### Attribution Reporting: Remove Aggregatable report limit when trigger context ID is non-null
74+
###### Attribution reporting: remove aggregatable report limit when trigger context ID is non-null
4575

4676
The aggregatable report limit when the trigger context ID is non-null is removed from the Attribution Reporting API.
4777

78+
See [Attribution Reporting API](https://developer.mozilla.org/docs/Web/API/Attribution_Reporting_API) at MDN.
79+
4880

4981
<!-- ---------- -->
50-
###### Blob URL Partitioning: Fetching/Navigation
82+
###### CSS highlight inheritance
5183

52-
<!-- TODO: Chrome-only? -->
84+
With CSS highlight inheritance, the pseudo-classes such as `::selection` and `::highlight` now inherit their properties through the pseudo highlight chain, rather than the element chain. The result is a more intuitive model for inheritance of properties in highlights.
5385

54-
As a continuation of Storage Partitioning, Chromium implements partitioning of Blob URL access by Storage Key (top-level site, frame origin, and the has-cross-site-ancestor boolean), with the exception of top-level navigations which remain partitioned only by frame origin. This behavior is similar to what's currently implemented by both Firefox and Safari, and aligns Blob URL usage with the partitioning scheme used by other storage APIs as part of Storage Partitioning. In addition, Chromium enforces noopener on renderer-initiated top-level navigations to Blob URLs where the corresponding site is cross-site to the top-level site performing the navigation. This aligns Chromium with similar behavior in Safari, and the relevant specs have been updated to reflect these changes.
86+
When any supported property is not given a value by the cascade, its specified value is determined by inheritance from the corresponding highlight pseudo-element of its originating element's parent.
5587

56-
This change can be temporarily reverted by setting the PartitionedBlobURLUsage policy. The policy will be deprecated when the other storage partitioning related enterprise policies are deprecated.
88+
See [CSS Custom Highlight API](https://developer.mozilla.org/docs/Web/API/CSS_Custom_Highlight_API) at MDN.
5789

5890

5991
<!-- ---------- -->
60-
###### CSS Highlight Inheritance
92+
###### CSS `dynamic-range-limit` property
6193

62-
With CSS Highlight Inheritance, the CSS Highlight pseudo classes, such as `::selection` and `::highlight`, inherit their properties through the pseudo highlight chain, rather than the element chain. The result is a more intuitive model for inheritance of properties in highlights.
94+
The `dynamic-range-limit` CSS property enables a page to limit the maximum brightness of HDR content.
6395

64-
When any supported property is not given a value by the cascade, its specified value is determined by inheritance from the corresponding highlight pseudo-element of its originating element's parent element.
65-
66-
There are some caveats due to properties not allowed on a highlight pseudo and historical usage: units depending on fonts, container queries, viewports, and more use metrics from the originating element, and all custom property values used in the highlight pseudo are taken from the originating element (inherited through the originating element cascade).
96+
Using this property, webpages that display HDR images can limit their brightness when viewed in an image gallery, and only increase the brightness on user interaction, for example on hover.
6797

6898

6999
<!-- ---------- -->
70-
###### CSS dynamic-range-limit property
71-
72-
Enables a page to limit the maximum brightness of HDR content.
100+
###### Customizable `<select>` element
73101

102+
The customizable `<select>` element allows developers to take complete control of the rendering of the element, by adding the `appearance: base-select` CSS declaration.
74103

75-
<!-- ---------- -->
76-
###### Customizable `<select>` Element
104+
This feature currently relies on the `SelectParserRelaxation` flag, which changes the HTML parser to allow more tags within the `<select>` tag. Sites which include additional tags inside `<select>` which were getting removed before, such as `<span>`s, or are including an extremely large number of `<option>`s may be affected by `SelectParserRelaxation`.
77105

78-
Customizable `<select>` allows developers to take complete control of the rendering of `<select>` elements by adding the `appearance:base-select` CSS declaration.
79-
80-
This feature relies on the `SelectParserRelaxation` flag, which changes the HTML parser to allow more tags within the `<select>` tag. Sites which include additional tags inside `<select>` which were getting removed before, such as `<span>`s, or are including an extremely large number of `<option>`s may be affected by `SelectParserRelaxation`.
106+
See [Customizable Select Element (Explainer)](https://open-ui.org/components/customizableselect/).
81107

82108

83109
<!-- ---------- -->
84-
###### Dialog light dismiss
110+
###### `<dialog>` light dismiss
111+
112+
This feature adds the _light dismiss_ behavior of the Popover API to `<dialog>` elements. Light dismissing is the act of closing the `<dialog>` element by clicking or tapping outside of the element.
85113

86-
This brings the "light dismiss" behavior of the Popover API to `<dialog>` elements. A new `closedby` attribute controls the behavior:
114+
A new `closedby` attribute controls the behavior:
87115

88-
* `<dialog closedby=none>` - no user-triggered closing of dialogs at all.
89-
* `<dialog closedby=closerequest>` - user pressing ESC (or other close trigger) closes the dialog
90-
* `<dialog closedby=any>` - user clicking outside the dialog, or pressing ESC, closes the dialog. Akin to `popover=auto` behavior.
116+
* `<dialog closedby="none">`: no user-triggered closing of dialogs at all.
117+
* `<dialog closedby="closerequest">`: user pressing ESC (or another close trigger) closes the dialog.
118+
* `<dialog closedby="any">`: user clicking outside the dialog, or pressing ESC, closes the dialog. Akin to `popover=auto` behavior.
91119

92120

93121
<!-- ---------- -->
94122
###### `application-title` meta tag for installed web apps
95123

96-
This feature allows developers of installed web applications to set the text they want to display in the title bar of the window by using the `<meta name="application-title">` tag in the HTML head. This replaces the text contained in the HTML `<title>` tag when the application is installed.
124+
The `<meta name="application-title">` element allows developers of installed web applications to set the text that appears in the title bar of the installed application window. By default, if the `application-title` meta name is missing, the text contained in the HTML `<title>` element is used instead.
125+
126+
See [Other names](https://developer.mozilla.org/docs/Web/HTML/Element/meta/name#other_names), in _Standard metadata names_, at MDN.
97127

98128

99129
<!-- ---------- -->
100-
###### Document-Policy: expect-no-linked-resources
130+
###### Document-Policy: `expect-no-linked-resources`
101131

102-
The `expect-no-linked-resources` configuration point in Document Policy allows a document to hint to the user agent to better optimize its loading sequence, such as not using the default speculative parsing behavior.
132+
In Document-Policy, the `expect-no-linked-resources` configuration point allows a document to hint the browser to better optimize its loading sequence, such as by not using the default speculative parsing behavior.
103133

104-
User Agents have implemented speculative parsing of HTML to speculatively fetch resources that are present in the HTML markup, to speed up page loading. For the vast majority of pages on the Web that have resources declared in the HTML markup, the optimization is beneficial and the cost paid in determining such resources is a sound tradeoff. However, the following scenarios might result in a sub-optimal performance tradeoff vs. the explicit time spent parsing HTML for determining sub resources to fetch:
134+
Browsers have implemented speculative parsing of HTML to speculatively fetch resources that are present in the HTML markup, to speed up page loading. For the vast majority of web pages that have resources declared in the HTML markup, the optimization is beneficial and the cost paid in determining such resources is a sound tradeoff. However, the following scenarios might result in a sub-optimal performance tradeoff vs. the explicit time spent parsing HTML for determining sub resources to fetch:
105135

106-
* Pages that do not have any resources declared in the HTML.
107-
* Large HTML pages with minimal or no resource loads that could explicitly control preloading resources via other preload mechanisms available.
136+
* Pages that do not have any resources declared in the HTML.
137+
* Large HTML pages with minimal or no resource loads that could explicitly control preloading resources via other preload mechanisms available.
108138

109-
`expect-no-linked-resources` Document-Policy hints the User Agent that it may choose to optimize out the time spent in such sub resource determination.
139+
The `expect-no-linked-resources` Document-Policy hints the browser that it may choose to optimize out the time spent in such sub resource determination.
110140

111141

112142
<!-- ---------- -->
113-
###### Explicit resource management (async)
143+
###### Explicit resource management
114144

115-
<!-- TODO: What is this? -->
145+
This feature introduces the `using` keyword to JavaScript, which allows developers to explicitly manage resources. The `using` keyword is used to define a block of code that uses a resource, and ensures that the resource is disposed of when the block is exited. This feature addresses a common pattern in software development regarding the lifetime and management of various resources (memory, I/O, etc.). This pattern generally includes the allocation of a resource and the ability to explicitly release critical resources.
116146

117-
This feature addresses a common pattern in software development regarding the lifetime and management of various resources (memory, I/O, etc.). This pattern generally includes the allocation of a resource and the ability to explicitly release critical resources.
147+
See [ECMAScript Explicit Resource Management](https://github.com/tc39/proposal-explicit-resource-management).
118148

119149

120150
<!-- ---------- -->
121-
###### Explicit resource management (sync)
151+
###### Extend the `console.timeStamp` API to support measurements and presentation options
122152

123-
<!-- TODO: What is this? -->
153+
This feature extends the `console.timeStamp()` API, in a backwards-compatible manner, to provide a high-performance method for instrumenting applications and surfacing timing data to the **Performance** tool in DevTools.
124154

125-
This feature addresses a common pattern in software development regarding the lifetime and management of various resources (memory, I/O, etc.). This pattern generally includes the allocation of a resource and the ability to explicitly release critical resources.
155+
Timing entries added with the API can have a custom timestamp, duration, and presentation options such as the color to be used in the **Performance** tool for the entry.
126156

157+
See also:
127158

128-
<!-- ---------- -->
129-
###### Extend the `console.timeStamp` API to support measurements and and presentation options
130-
131-
This feature extends the `console.timeStamp()` API, in a backwards-compatible manner, to provide a high-performance method for instrumenting applications and surfacing timing data to the Performance panel in DevTools.
132-
133-
Timing entries added with the API can have a custom timestamp, duration and presentation options (track / swimlane and color).
159+
* [console.timeStamp()](https://developer.mozilla.org/docs/Web/API/console/timeStamp) at MDN.
160+
* [Console object API Reference](../../devtools-guide-chromium/console/api.md).
161+
* [Introduction to the Performance tool](../../devtools-guide-chromium/evaluate-performance/index.md).
134162

135163

136164
<!-- ---------- -->
137-
###### OffscreenCanvas getContextAttributes
165+
###### Offscreen canvas `getContextAttributes`
166+
167+
This feature adds the `getContextAttributes()` method from the `CanvasRenderingContext2D` interface to the `OffscreenCanvasRenderingContext2D` interface.
138168

139-
Add the `getContextAttributes` interface from `CanvasRenderingContext2D` to `OffscreenCanvasRenderingContext2D`.
169+
See [CanvasRenderingContext2D: getContextAttributes() method](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/getContextAttributes) at MDN.
140170

141171

142172
<!-- ---------- -->
143173
###### Private Aggregation API: per-context contribution limits for Shared Storage callers
144174

145-
<!-- TODO: Chrome only? -->
146-
147175
Enables Shared Storage callers to customize the number of contributions per Private Aggregation report.
148176

149-
This feature enables Shared Storage callers to configure per-context contribution limits via a new field, `maxContributions`. Callers set this field to override the default number of contributions per report — larger and smaller numbers will both be permitted. Chrome will accept values of `maxContributions` between 1 and 1000 inclusive; larger values will be interpreted as 1000.
177+
This feature enables Shared Storage callers to configure per-context contribution limits via a new field: `maxContributions`. Callers set this field to override the default number of contributions per report — larger and smaller numbers will both be permitted. Due to padding, the size of each report's payload will be roughly proportional to the chosen number of contributions per report.
150178

151-
Due to padding, the size of each report's payload will be roughly proportional to the chosen number of contributions per report. We expect that opting into larger reports will increase the cost of operating the Aggregation Service.
179+
See also:
152180

153-
Protected Audience callers will not be affected by this feature. However, we are planning to add support for customizing the number of contributions for Protected Audience reports in future features.
181+
* [Sign up for the Ad Selection API](../ad-selection-api.md)
154182

155183

156184
<!-- ---------- -->
157-
###### Support `imageSmoothingQuality` in PaintCanvas
185+
###### Support `imageSmoothingQuality` in CSS Painting API
186+
187+
This feature adds support for the `imageSmoothingQuality` attribute on the `PaintRenderingContext2D` interface. This allows web developers to make quality and performance tradeoffs when scaling images created from the CSS Painting API. The `imageSmoothingQuality` attribute supports three options: low, medium, and high.
188+
189+
See also:
158190

159-
Add support for the `imageSmoothingQuality` attribute on Paint Canvas. It allows a web developer to choose the quality/performance tradeoff when scaling images. There are 3 options in total for `imageSmoothingQuality`: low, medium and high.
191+
* [CSS Painting API](https://developer.mozilla.org/docs/Web/API/CSS_Painting_API) at MDN.
192+
* [CanvasRenderingContext2D: imageSmoothingQuality property](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/imageSmoothingQuality) at MDN.
160193

161194

162195
<!-- ---------- -->
163196
###### WebGPU Subgroups
164197

165-
Adds subgroup functionality to WebGPU. Subgroup operations perform SIMT operations to provide efficient communication and data sharing among groups of invocations. These operations can be used to accelerate applications by reducing memory overheads incurred by inter-invocation communication.
198+
The subgroups WbGPU feature allows SIMD parallelism. With subgroups, threads within a group can perform collective operations. This provides efficient communication and data sharing among groups of invocations. These operations can be used to accelerate applications by reducing memory overheads incurred by inter-invocation communication.
199+
200+
See [WebGPU API](https://developer.mozilla.org/docs/Web/API/WebGPU_API) at MDN.
166201

167202

168203
<!-- ---------- -->
169-
###### `fetchLater` API
204+
###### `fetchLater()`
170205

171-
`fetchLater()` is a JavaScript API to request a deferred fetch. Once called, the request is queued by the browser, and will be invoked in one of the following scenarios:
206+
The `fetchLater()` JavaScript method requests a deferred fetch. Once called, the network request is queued by the browser and will be invoked in one of the following scenarios:
172207

173-
* The document is destroyed.
208+
* When the document is destroyed.
174209
* After a certain time.
175210

176-
The API returns a `FetchLaterResult` that contains a boolean field "activated" that may be updated to tell whether the deferred request has been sent out or not. On successful sending, the whole response will be ignored by browser, including body and headers. Nothing at all should be processed or updated, as the page may have already be gone.
211+
The method returns a `FetchLaterResult` that contains a boolean field which value is updated when the deferred request has been sent. When the request is successfully sent, the response is ignored by browser, including its body and headers.
177212

178-
Note that from the point of view of the API user, the exact send time is unknown.
213+
See [Window: fetch() method](https://developer.mozilla.org/docs/Web/API/Window/fetch) at MDN.
179214

180215

181216
<!-- ====================================================================== -->
@@ -236,12 +271,6 @@ Supports 3P acquisition attribution for Progressive Web Apps (PWAs) that were ac
236271
* [Register](https://developer.microsoft.com/en-us/microsoft-edge/origin-trials/trials/4013a45f-3f48-4341-81ea-1bc13bf90c83)
237272

238273

239-
<!-- ------------------------------ -->
240-
#### New Chromium origin trials
241-
242-
<!-- Check if new OTs are added in 134 -->
243-
244-
245274
<!-- ====================================================================== -->
246275
> [!NOTE]
247276
> Portions of this page are modifications based on work created and shared by Chromium.org and used according to terms described in the [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0).

0 commit comments

Comments
 (0)