You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: microsoft-edge/web-platform/release-notes/134.md
+92-63Lines changed: 92 additions & 63 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,34 @@ The following are the new web platform features and updates in Microsoft Edge 13
13
13
14
14
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).
*[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)
*[Extend the `console.timeStamp` API to support measurements and presentation options](#extend-the-consoletimestamp-api-to-support-measurements-and-presentation-options)
@@ -39,143 +67,150 @@ For WebView2, see [Release Notes for the WebView2 SDK](../../webview2/release-no
39
67
40
68
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.
41
69
70
+
See [:has-slotted](https://developer.mozilla.org/docs/Web/CSS/:has-slotted) at MDN.
71
+
42
72
43
73
<!-- ---------- -->
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
45
75
46
76
The aggregatable report limit when the trigger context ID is non-null is removed from the Attribution Reporting API.
47
77
78
+
See [Attribution Reporting API](https://developer.mozilla.org/docs/Web/API/Attribution_Reporting_API) at MDN.
79
+
48
80
49
81
<!-- ---------- -->
50
-
###### Blob URL Partitioning: Fetching/Navigation
82
+
###### CSS highlight inheritance
51
83
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.
53
85
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.
55
87
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.
57
89
58
90
59
91
<!-- ---------- -->
60
-
###### CSS Highlight Inheritance
92
+
###### CSS `dynamic-range-limit` property
61
93
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.
63
95
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.
67
97
68
98
69
99
<!-- ---------- -->
70
-
###### CSS dynamic-range-limit property
71
-
72
-
Enables a page to limit the maximum brightness of HDR content.
100
+
###### Customizable `<select>` element
73
101
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.
74
103
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`.
77
105
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/).
81
107
82
108
83
109
<!-- ---------- -->
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.
85
113
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:
87
115
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.
91
119
92
120
93
121
<!-- ---------- -->
94
122
###### `application-title` meta tag for installed web apps
95
123
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.
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.
103
133
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:
105
135
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.
108
138
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.
110
140
111
141
112
142
<!-- ---------- -->
113
-
###### Explicit resource management (async)
143
+
###### Explicit resource management
114
144
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.
116
146
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).
118
148
119
149
120
150
<!-- ---------- -->
121
-
###### Explicit resource management (sync)
151
+
###### Extend the `console.timeStamp` API to support measurements and presentation options
122
152
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.
124
154
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.
126
156
157
+
See also:
127
158
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).
134
162
135
163
136
164
<!-- ---------- -->
137
-
###### OffscreenCanvas getContextAttributes
165
+
###### Offscreen canvas `getContextAttributes`
166
+
167
+
This feature adds the `getContextAttributes()` method from the `CanvasRenderingContext2D` interface to the `OffscreenCanvasRenderingContext2D` interface.
138
168
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.
Enables Shared Storage callers to customize the number of contributions per Private Aggregation report.
148
176
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.
150
178
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:
152
180
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)
154
182
155
183
156
184
<!-- ---------- -->
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:
158
190
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.
160
193
161
194
162
195
<!-- ---------- -->
163
196
###### WebGPU Subgroups
164
197
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.
166
201
167
202
168
203
<!-- ---------- -->
169
-
###### `fetchLater` API
204
+
###### `fetchLater()`
170
205
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:
172
207
173
-
*The document is destroyed.
208
+
*When the document is destroyed.
174
209
* After a certain time.
175
210
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.
177
212
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.
> 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