diff --git a/xml/tests/testData/documentation/QuickDocumentationHtml5TagDialog.expected.html b/xml/tests/testData/documentation/QuickDocumentationHtml5TagDialog.expected.html index f032ad9da6ce..ad81a6de8321 100644 --- a/xml/tests/testData/documentation/QuickDocumentationHtml5TagDialog.expected.html +++ b/xml/tests/testData/documentation/QuickDocumentationHtml5TagDialog.expected.html @@ -7,8 +7,8 @@
Baseline since 2022
The <dialog> HTML element represents a modal or non-modal dialog box or other interactive component, such as a dismissible alert, inspector, or subwindow.
-
The HTML <dialog> element is used to create both modal and non-modal dialog boxes. Modal dialog boxes interrupt interaction with the rest of the page being inert, while non-modal dialog boxes allow interaction with the rest of the page.
-
JavaScript should be used to display the <dialog> element. Use the .showModal() method to display a modal dialog and the .show() method to display a non-modal dialog. The dialog box can be closed using the .close() method or using the dialog method when submitting a <form> that is nested within the <dialog> element. Modal dialogs can also be closed by pressing the Esc key.
+
The HTML <dialog> element is used to create both modal and non-modal dialog boxes.
+Modal dialog boxes block interaction with other UI elements, making the rest of the page inert, while non-modal dialog boxes allow interaction with the rest of the page.
display-mode CSS media feature can be used to test whether a web app is being displayed in a normal browser tab or in some alternative way, such as a standalone app or fullscreen mode.\nFor example:\n
A progressive web app can set its display mode by setting the display member in its manifest. In this case, the value of display-mode identifies the value that was set (but note that this may not be the same as the value requested in the manifest, since a browser may not support the requested mode).\n
Any web app can use the Fullscreen API or the Document Picture-in-Picture API to set the display mode, and in this case the value of display-mode identifies the mode that was set.\n
The display-mode value applies to the top-level browsing context and any child browsing contexts."
},
@@ -1743,6 +1744,19 @@
},
"scan": {
"url": "$MDN_URL$/web/css/reference/at-rules/@media/scan",
+ "status": [
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "104",
+ "ChromeAndroid": "104",
+ "Edge": "104",
+ "Firefox": "63",
+ "FirefoxAndroid": "63",
+ "Opera": "90",
+ "Safari": "16.4",
+ "SafariIOS": "16.4"
+ },
"doc": "The scan CSS media feature is used to apply CSS styles based on the scanning process of the output device."
},
"scripting": {
@@ -5667,7 +5681,8 @@
"Chrome": "135",
"ChromeAndroid": "135",
"Edge": "135",
- "Firefox": "preview",
+ "Firefox": "148",
+ "FirefoxAndroid": "148",
"Opera": "120",
"Safari": "18.4",
"SafariIOS": "18.4"
@@ -6778,7 +6793,7 @@
"level": "NONE"
},
"doc": "The alignment-baseline CSS property specifies the specific baseline used to align the box's text and inline-level contents. Baseline alignment is the relationship among the baselines of multiple alignment subjects within an alignment context. When performing baseline alignment, the alignment-baseline property value specifies which baseline of the box is aligned to the corresponding baseline of its alignment context.\n
Note:\nThe alignment-baseline property only has an effect on inline-level boxes, flex items, grid items, table cells, and the <text>, <textPath>, and <tspan> SVG elements. If present, it overrides the shape's alignment-baseline attribute.\n
In an inline formatting context, inline-level box fragments and glyphs share an alignment context established by their parent inline box fragment along its inline axis. In SVG text layout, these values instead specify the baseline that is aligned to the SVG current text position.",
- "formalSyntax": "baseline | text-bottom | alphabetic | ideographic | middle | central | mathematical | text-top",
+ "formalSyntax": "baseline | <baseline-metric>\n <baseline-metric> = text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top",
"values": {
"baseline": "Use the dominant-baseline value of the parent.",
"alphabetic": "Used in writing Latin, Cyrillic, Greek, and many other scripts; matches the box's alphabetic baseline to that of its parent, corresponding to the bottom of most, but not all characters.",
@@ -7733,6 +7748,30 @@
"<percentage>": "Stretches the image in the corresponding dimension to the specified percentage of the background positioning area.\nThe background positioning area is determined by the value of background-origin (by default, the padding box).\nHowever, if the background's background-attachment value is fixed, the positioning area is instead the entire viewport.\nNegative values are not allowed."
}
},
+ "baseline-shift": {
+ "url": "$MDN_URL$/web/css/reference/properties/baseline-shift",
+ "status": [
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "1",
+ "ChromeAndroid": "18",
+ "Edge": "79",
+ "Opera": "15",
+ "Safari": "4",
+ "SafariIOS": "3.2"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "The baseline-shift CSS property repositions the dominant-baseline of a text element relative to the dominant-baseline of its parent text content element. The shifted element might be a sub- or superscript. If the property is present, the value overrides the element's baseline-shift attribute.\n
Note:\nThe baseline-shift property only applies to <textPath> and <tspan> elements nested in an <svg>. It doesn't apply to other SVG, HTML, or pseudo-elements.\n
line-height."
+ }
+ },
"baseline-source": {
"url": "$MDN_URL$/web/css/reference/properties/baseline-source",
"status": [
@@ -8278,7 +8317,7 @@
"doc": "The border-bottom-width CSS property sets the width of the bottom border of an element.",
"formalSyntax": "<line-width>\n <line-width> = <length [0,∞]> | thin | medium | thick",
"values": {
- "<line-width>": "Defines the width of the border, either as an explicit nonnegative <length> or a keyword. If it's a keyword, it must be one of the following values:\nthinmediumthick<length> or a keyword. If it's a keyword, it must be one of the following values:\nthin\n1px.medium\n3px.thick\n5px.border-left-width CSS property sets the width of the left border of an element.",
"formalSyntax": "<line-width>\n <line-width> = <length [0,∞]> | thin | medium | thick",
"values": {
- "<line-width>": "Defines the width of the border, either as an explicit nonnegative <length> or a keyword. If it's a keyword, it must be one of the following values:\nthinmediumthick<length> or a keyword. If it's a keyword, it must be one of the following values:\nthin\n1px.medium\n3px.thick\n5px.border-right-width CSS property sets the width of the right border of an element.",
"formalSyntax": "<line-width>\n <line-width> = <length [0,∞]> | thin | medium | thick",
"values": {
- "<line-width>": "Defines the width of the border, either as an explicit nonnegative <length> or a keyword. If it's a keyword, it must be one of the following values:\nthinmediumthick<length> or a keyword. If it's a keyword, it must be one of the following values:\nthin\n1px.medium\n3px.thick\n5px.border-top-width CSS property sets the width of the top border of an element.",
"formalSyntax": "<line-width>\n <line-width> = <length [0,∞]> | thin | medium | thick",
"values": {
- "<line-width>": "Defines the width of the border, either as an explicit nonnegative <length> or a keyword. If it's a keyword, it must be one of the following values:\nthinmediumthick<length> or a keyword. If it's a keyword, it must be one of the following values:\nthin\n1px.medium\n3px.thick\n5px.border-width shorthand CSS property sets the width of an element's border.",
"formalSyntax": "<'border-top-width'>{1,4}\n <border-top-width> = <line-width>\n <line-width> = <length [0,∞]> | thin | medium | thick",
"values": {
- "<line-width>": "Defines the width of the border, either as an explicit nonnegative <length> or a keyword. If it's a keyword, it must be one of the following values:\nthinmediumthick<length> or a keyword. If it's a keyword, it must be one of the following values:\nthin\n1px.medium\n3px.thick\n5px.dominant-baseline CSS property specifies the specific baseline used to align the box's text and inline-level contents. It also indicates the default alignment baseline of any boxes participating in baseline alignment in the box's alignment context. If present, it overrides the shape's dominant-baseline attribute.\nBaselines are selected from the font baseline table. If there is no baseline table in the nominal font, or if the baseline table lacks an entry for the desired baseline, then the browser may use heuristics to determine the position of the desired baseline.\n
The dominant-baseline property is used to determine or re-determine a scaled-baseline-table. A scaled-baseline-table is a compound value with three components:\n
Some values of dominant-baseline re-determine all three values. Others only re-establish the baseline-table font-size. When the initial value, auto, would give an undesired result, this property can be used to explicitly set the desired scaled-baseline-table.\n
Note:\nThe dominant-baseline property only has an effect on the <text>, <textPath>, and <tspan> SVG elements.\n
<text> element, then the computed value depends on the value of the writing-mode attribute.\nIf the writing-mode is horizontal, then the value of the dominant-baseline component is alphabetic. Otherwise, if the writing-mode is vertical, then the value of the dominant-baseline component is central.\n
If this property is applied to a <tspan>, or <textPath> element, then the dominant-baseline and the baseline-table components remain the same as those of the parent text content element.\n
If the computed baseline-shift value actually shifts the baseline, then the baseline-table font-size component is set to the value of the font-size attribute on the element on which the dominant-baseline attribute occurs, otherwise the baseline-table font-size remains the same as that of the element.\n
If there is no parent text content element, the scaled-baseline-table value is constructed as for <text> elements.",
"alphabetic": "The baseline-identifier for the dominant-baseline is set to be alphabetic, the derived baseline-table is constructed using the alphabetic baseline-table in the font, and the baseline-table font-size is changed to the value of the element's font-size SVG attribute or the CSS font-size, if set.",
@@ -11871,7 +11910,7 @@
"formalSyntax": "normal | <feature-tag-value>#\n <feature-tag-value> = <opentype-tag> [ <integer [0,∞]> | on | off ]?\n <opentype-tag> = <string>\n <integer> = <number-token>",
"values": {
"normal": "Indicates that text is laid out using default font settings. This is the default value.",
- "<feature-tag-value>": "Represents a space-separated tuple consisting of a tag name and an optional value.\n
The tag name is always a <string> of four ASCII characters. If the tag name has more or fewer characters or if it contains characters outside the U+20 – U+7E code point range, the descriptor is invalid.\n
The optional value can be a positive integer or the keyword on or off. The keywords on and off are synonyms for the values 1 and 0, respectively. If no value is set, the default is 1. For non-boolean OpenType features (e.g., stylistic alternates), the value implies a particular glyph to be selected; for boolean features, the value turns the feature on or off."
+ "<feature-tag-value>": "Represents a space-separated tuple consisting of a tag name and an optional value.\n
The tag name is always a <string> of four ASCII characters. If the tag name has more or fewer characters or if it contains characters outside the U+20 – U+7E code point range, the descriptor is invalid.\n
The optional value can be a positive integer or the keyword on or off. The keywords on and off are synonyms for the values 1 and 0, respectively. If no value is set, the default is 1. For non-boolean OpenType features (e.g., stylistic alternates), the value implies a particular glyph to be selected; for boolean features, the value turns the feature on or off.\n
font-variant-position CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript.\nThe glyphs are positioned relative to the baseline of the font, which remains unchanged. These glyphs are typically used in <sub> and <sup> elements.\n
When the usage of these alternate glyphs is activated, if one character in the run doesn't have such a typographically-enhanced glyph, the whole set of characters of the run is rendered using a fallback method, synthesizing these glyphs.\n
These alternate glyphs share the same em-box and the same baseline as the rest of the font. They are merely graphically enhanced, and have no effect on the line-height and other box characteristics.",
"formalSyntax": "normal | sub | super",
@@ -14947,7 +14987,9 @@
"Edge": "109",
"Firefox": "117",
"FirefoxAndroid": "117",
- "Opera": "95"
+ "Opera": "95",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -20307,7 +20349,7 @@
"highDate": "2018-01-29"
},
"doc": "The vertical-align CSS property sets vertical alignment of an inline, inline-block or table-cell box.",
- "formalSyntax": "[ first | last ] || <'alignment-baseline'> || <'baseline-shift'>\n <alignment-baseline> = baseline | text-bottom | alphabetic | ideographic | middle | central | mathematical | text-top\n <baseline-shift> = <length-percentage> | sub | super | top | center | bottom\n <length-percentage> = <length> | <percentage>"
+ "formalSyntax": "[ first | last ] || <'alignment-baseline'> || <'baseline-shift'>\n <alignment-baseline> = baseline | <baseline-metric>\n <baseline-shift> = <length-percentage> | sub | super | top | center | bottom\n <baseline-metric> = text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top\n <length-percentage> = <length> | <percentage>"
},
"view-timeline": {
"url": "$MDN_URL$/web/css/reference/properties/view-timeline",
@@ -20591,7 +20633,9 @@
"max-content": "The intrinsic preferred width.",
"min-content": "The intrinsic minimum width.",
"fit-content": "Use the available space, but not more than max-content, i.e., min(max-content, max(min-content, stretch)).",
- "fit-content(<length-percentage>)": "Uses the fit-content formula with the available space replaced by the specified argument, i.e., min(max-content, max(min-content, <length-percentage>)).",
+ "anchor-size()": "Sets the width relative to a dimension of an anchor element. When defining the width of an anchor-positioned element, the first parameter defaults to the associated anchor's width. If applied to a non-anchor-positioned element, it sets the width to the fallback value. If no fallback is defined, the declaration is ignored.",
+ "calc-size()": "Sets the width to a modified intrinsic size.",
+ "fit-content(<length-percentage>)": "Uses the fit-content formula with the available space replaced by the specified argument, clamping the width according to the formula min(maximum size, max(minimum size, <length-percentage>)).",
"stretch": "Sets the width of the element's margin box to the width of its containing block. It attempts to make the margin box fill the available space in the containing block, so in a way behaving similar to 100% but applying the resulting size to the margin box rather than the box determined by box-sizing."
}
},
@@ -21009,16 +21053,12 @@
"Chrome": "110",
"ChromeAndroid": "110",
"Edge": "110",
- "Firefox": "86",
- "FirefoxAndroid": "86",
"Opera": "96",
"Safari": "15",
"SafariIOS": "15"
},
"baseline": {
- "level": "HIGH",
- "lowDate": "2023-02-09",
- "highDate": "2025-08-09"
+ "level": "NONE"
},
"doc": "The :autofill CSS pseudo-class matches when an <input> element has its value autofilled by the browser. The class stops matching if the user edits the field."
},
@@ -21213,8 +21253,9 @@
"SafariIOS": "6"
},
"baseline": {
- "level": "LOW",
- "lowDate": "2023-08-01"
+ "level": "HIGH",
+ "lowDate": "2023-08-01",
+ "highDate": "2026-02-01"
},
"doc": "The :first CSS pseudo-class, used with the @page at-rule, represents the first page of a printed document. (See :first-child for general first element of a node.)\n
Note:\nYou can't change all CSS properties with this pseudo-class. You can only change the margins, orphans, widows, and page breaks of the document. Furthermore, you may only use absolute-length units when defining the margins. All other properties will be ignored.\n
::search-text CSS pseudo-element applies styles to search results identified by the user agent's \"Find\" or \"Find in page\" text search feature."
+ "doc": "Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The ::search-text CSS pseudo-element applies styles to search results identified by the user agent's \"Find\" or \"Find in page\" text search feature."
},
"selection": {
"url": "$MDN_URL$/web/css/reference/selectors/_doublecolon_selection",
diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/DomEvents.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/DomEvents.json
index c0c2ad493dee..bd4cbacdf5a6 100644
--- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/DomEvents.json
+++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/DomEvents.json
@@ -517,7 +517,7 @@
"lowDate": "2015-07-29",
"highDate": "2018-01-29"
},
- "doc": "The blur event fires when an element has lost focus. The event does not bubble, but the related focusout event that follows does bubble.\nAn element will lose focus if another element is selected.\nAn element will also lose focus if a style that does not allow focus is applied, such as hidden, or if the element is removed from the document — in both of these cases focus moves to the body element (viewport).\nNote however that blur is not fired when a focused element is removed from the document.\nThe opposite of blur is the focus event, which fires when the element has received focus.\nThe blur event is not cancelable."
+ "doc": "The blur event fires when an element has lost focus. The event does not bubble, but the related focusout event that follows does bubble.\nAn element will lose focus if another element is selected.\nAn element will also lose focus if a style that does not allow focus is applied, such as hidden, or if the element is removed from the document — in both of these cases focus moves to the body element (viewport).\nNote that browser behavior differs when a focused element is removed from the document. In Chromium-based browsers, removing a focused element triggers a blur event, while in Firefox it does not.\nThe opposite of blur is the focus event, which fires when the element has received focus.\nThe blur event is not cancelable."
},
"boundary": {
"url": "$MDN_URL$/web/api/speechsynthesisutterance/boundary_event",
@@ -3792,7 +3792,7 @@
"lowDate": "2021-04-26",
"highDate": "2023-10-26"
},
- "doc": "The visibilitychange event is fired at the document when the contents of its tab have become visible or have been hidden.\nThe event is not cancelable."
+ "doc": "The visibilitychange event is fired at the document when its visibility status changes — for example, when the user switches browser tabs, navigates to a new page, minimizes or closes the browser, or on mobile, switches to a different app.\nThe event is not cancelable."
},
"voiceschanged": {
"url": "$MDN_URL$/web/api/speechsynthesis/voiceschanged_event",
diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/GlobalObjects.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/GlobalObjects.json
index 3ca32cdfa759..30367d1f202a 100644
--- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/GlobalObjects.json
+++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/GlobalObjects.json
@@ -274,7 +274,7 @@
"lowDate": "2015-07-29",
"highDate": "2018-01-29"
},
- "doc": "The every() method of Array instances returns false if it finds one element in the array that does not satisfy the provided testing function. Otherwise, it returns true.",
+ "doc": "The every() method of Array instances returns false if it finds an element in the array that does not satisfy the provided testing function. Otherwise, it returns true.",
"parameters": {
"callbackFn": "A function to execute for each element in the array. It should return a truthy value to indicate the element passes the test, and a falsy value otherwise. The function is called with the following arguments:\n
elementThe current element being processed in the array.\n
indexThe index of the current element being processed in the array.\n
arrayThe array every() was called upon.\n
this when executing callbackFn. See iterative methods."
@@ -1065,7 +1065,7 @@
"lowDate": "2015-07-29",
"highDate": "2018-01-29"
},
- "doc": "The some() method of Array instances returns true if it finds one element in the array that satisfies the provided testing function. Otherwise, it returns false.",
+ "doc": "The some() method of Array instances returns true if it finds an element in the array that satisfies the provided testing function. Otherwise, it returns false.",
"parameters": {
"callbackFn": "A function to execute for each element in the array. It should return a truthy value to indicate the element passes the test, and a falsy value otherwise. The function is called with the following arguments:\nelementThe current element being processed in the array.\n
indexThe index of the current element being processed in the array.\n
arrayThe array some() was called upon.\n
this when executing callbackFn. See iterative methods."
@@ -2257,13 +2257,13 @@
"lowDate": "2021-12-13",
"highDate": "2024-06-13"
},
- "doc": "The Atomics.add() static\nmethod adds a given value at a given position in the array and returns the old value at\nthat position. This atomic operation guarantees that no other write happens until the\nmodified value is written back.",
+ "doc": "The Atomics.add() static method adds a given value at a given position in the array, and returns the old value at that position. This atomic operation guarantees that no other write happens until the modified value is written back.",
"parameters": {
- "typedArray": "An integer typed array. One of Int8Array, Uint8Array,\nInt16Array, Uint16Array, Int32Array,\nUint32Array, BigInt64Array, or\nBigUint64Array.",
- "index": "The position in the typedArray to add a\nvalue to.",
+ "typedArray": "An integer typed array. One of Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, or BigUint64Array.",
+ "index": "The position in the typedArray to add a value to.",
"value": "The number to add."
},
- "returns": "The old value at the given position\n(typedArray[index]).",
+ "returns": "The old value at the given position (typedArray[index]).",
"throws": {
"TypeError": "Thrown if typedArray is not one of the allowed integer types.",
"RangeError": "Thrown if index is out of bounds in the typedArray."
@@ -2291,13 +2291,13 @@
"lowDate": "2021-12-13",
"highDate": "2024-06-13"
},
- "doc": "The Atomics.and() static\nmethod computes a bitwise AND with a given value at a given position in the array, and\nreturns the old value at that position. This atomic operation guarantees that no other\nwrite happens until the modified value is written back.",
+ "doc": "The Atomics.and() static method computes a bitwise AND with a given value at a given position in the array, and returns the old value at that position. This atomic operation guarantees that no other write happens until the modified value is written back.",
"parameters": {
- "typedArray": "An integer typed array. One of Int8Array, Uint8Array,\nInt16Array, Uint16Array, Int32Array,\nUint32Array, BigInt64Array, or\nBigUint64Array.",
+ "typedArray": "An integer typed array. One of Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, or BigUint64Array.",
"index": "The position in the typedArray to compute the bitwise AND.",
"value": "The number to compute the bitwise AND with."
},
- "returns": "The old value at the given position\n(typedArray[index]).",
+ "returns": "The old value at the given position (typedArray[index]).",
"throws": {
"TypeError": "Thrown if typedArray is not one of the allowed integer types.",
"RangeError": "Thrown if index is out of bounds in the typedArray."
@@ -2360,7 +2360,7 @@
"lowDate": "2021-12-13",
"highDate": "2024-06-13"
},
- "doc": "The Atomics.exchange() static method exchanges a given value at a given position in the array and returns the old value at that position. This atomic operation guarantees that no other write happens between the read of the old value and the write of the new value.",
+ "doc": "The Atomics.exchange() static method exchanges a given value at a given position in the array, and returns the old value at that position. This atomic operation guarantees that no other write happens between the read of the old value and the write of the new value.",
"parameters": {
"typedArray": "An integer typed array. One of Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, or BigUint64Array.",
"index": "The position in the typedArray to exchange a value.",
@@ -2422,9 +2422,9 @@
"lowDate": "2021-12-13",
"highDate": "2024-06-13"
},
- "doc": "The Atomics.load() static\nmethod returns a value at a given position in the array.",
+ "doc": "The Atomics.load() static method returns a value at a given position in the array. This atomic operation guarantees that the read is tear-free, and that all atomic reads are sequentially consistent.",
"parameters": {
- "typedArray": "An integer typed array. One of Int8Array, Uint8Array,\nInt16Array, Uint16Array, Int32Array,\nUint32Array, BigInt64Array, or\nBigUint64Array.",
+ "typedArray": "An integer typed array. One of Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, or BigUint64Array.",
"index": "The position in the typedArray to load from."
},
"returns": "The value at the given position (typedArray[index]).",
@@ -2455,7 +2455,7 @@
"lowDate": "2021-12-13",
"highDate": "2024-06-13"
},
- "doc": "The Atomics.notify() static\nmethod notifies up some agents that are sleeping in the wait queue.\nNote:\nThis operation only works with an Int32Array or BigInt64Array that views a SharedArrayBuffer.\nIt will return 0 on non-shared ArrayBuffer objects.\n
Atomics.notify() static method notifies up some agents that are sleeping in the wait queue.\nNote:\nThis operation only works with an Int32Array or BigInt64Array that views a SharedArrayBuffer.\nIt will return 0 on non-shared ArrayBuffer objects.\n
Int32Array or BigInt64Array that views a SharedArrayBuffer.",
"index": "The position in the typedArray to wake up on.",
@@ -2489,13 +2489,13 @@
"lowDate": "2021-12-13",
"highDate": "2024-06-13"
},
- "doc": "The Atomics.or() static\nmethod computes a bitwise OR with a given value at a given position in the array, and\nreturns the old value at that position. This atomic operation guarantees that no other\nwrite happens until the modified value is written back.",
+ "doc": "The Atomics.or() static method computes a bitwise OR with a given value at a given position in the array, and returns the old value at that position. This atomic operation guarantees that no other write happens until the modified value is written back.",
"parameters": {
- "typedArray": "An integer typed array. One of Int8Array, Uint8Array,\nInt16Array, Uint16Array, Int32Array,\nUint32Array, BigInt64Array, or\nBigUint64Array.",
+ "typedArray": "An integer typed array. One of Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, or BigUint64Array.",
"index": "The position in the typedArray to compute the bitwise OR.",
"value": "The number to compute the bitwise OR with."
},
- "returns": "The old value at the given position\n(typedArray[index]).",
+ "returns": "The old value at the given position (typedArray[index]).",
"throws": {
"TypeError": "Thrown if typedArray is not one of the allowed integer types.",
"RangeError": "Thrown if index is out of bounds in the typedArray."
@@ -2551,10 +2551,10 @@
"lowDate": "2021-12-13",
"highDate": "2024-06-13"
},
- "doc": "The Atomics.store() static\nmethod stores a given value at the given position in the array and returns that value.",
+ "doc": "The Atomics.store() static method stores a given value at a given position in the array and returns that value. This atomic operation guarantees that the write is tear-free, and that all atomic writes are sequentially consistent.\nNote that unlike many other Atomic methods, store() returns the new value instead of the old value. To get the old value, use Atomics.exchange() instead.",
"parameters": {
- "typedArray": "An integer typed array. One of Int8Array, Uint8Array,\nInt16Array, Uint16Array, Int32Array,\nUint32Array, BigInt64Array, or\nBigUint64Array.",
- "index": "The position in the typedArray to store a\nvalue in.",
+ "typedArray": "An integer typed array. One of Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, or BigUint64Array.",
+ "index": "The position in the typedArray to store a value in.",
"value": "The number to store."
},
"returns": "The value that has been stored.",
@@ -2585,13 +2585,13 @@
"lowDate": "2021-12-13",
"highDate": "2024-06-13"
},
- "doc": "The Atomics.sub() static method subtracts a given value\nat a given position in the array and returns the old value at that position. This atomic\noperation guarantees that no other write happens until the modified value is written\nback.",
+ "doc": "The Atomics.sub() static method subtracts a given value at a given position in the array, and returns the old value at that position. This atomic operation guarantees that no other write happens until the modified value is written back.",
"parameters": {
- "typedArray": "An integer typed array. One of Int8Array, Uint8Array,\nInt16Array, Uint16Array, Int32Array,\nUint32Array, BigInt64Array, or\nBigUint64Array.",
- "index": "The position in the typedArray to subtract a\nvalue from.",
+ "typedArray": "An integer typed array. One of Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, or BigUint64Array.",
+ "index": "The position in the typedArray to subtract a value from.",
"value": "The number to subtract."
},
- "returns": "The old value at the given position\n(typedArray[index]).",
+ "returns": "The old value at the given position (typedArray[index]).",
"throws": {
"TypeError": "Thrown if typedArray is not one of the allowed integer types.",
"RangeError": "Thrown if index is out of bounds in the typedArray."
@@ -2688,9 +2688,9 @@
"lowDate": "2021-12-13",
"highDate": "2024-06-13"
},
- "doc": "The Atomics.xor() static\nmethod computes a bitwise XOR with a given value at a given position in the array, and\nreturns the old value at that position. This atomic operation guarantees that no other\nwrite happens until the modified value is written back.",
+ "doc": "The Atomics.xor() static method computes a bitwise XOR with a given value at a given position in the array, and returns the old value at that position. This atomic operation guarantees that no other write happens until the modified value is written back.",
"parameters": {
- "typedArray": "An integer typed array. One of Int8Array, Uint8Array,\nInt16Array, Uint16Array, Int32Array,\nUint32Array, BigInt64Array, or\nBigUint64Array.",
+ "typedArray": "An integer typed array. One of Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, BigInt64Array, or BigUint64Array.",
"index": "The position in the typedArray to compute the bitwise XOR.",
"value": "The number to compute the bitwise XOR with."
},
@@ -8538,8 +8538,9 @@
"Nodejs": "19.0.0"
},
"baseline": {
- "level": "LOW",
- "lowDate": "2023-08-01"
+ "level": "HIGH",
+ "lowDate": "2023-08-01",
+ "highDate": "2026-02-01"
},
"doc": "The formatRange() method of Intl.NumberFormat instances formats a range of numbers according to the locale and formatting options of this Intl.NumberFormat object.",
"parameters": {
@@ -8569,8 +8570,9 @@
"Nodejs": "19.0.0"
},
"baseline": {
- "level": "LOW",
- "lowDate": "2023-08-01"
+ "level": "HIGH",
+ "lowDate": "2023-08-01",
+ "highDate": "2026-02-01"
},
"doc": "The formatRangeToParts() method of Intl.NumberFormat instances returns an Array of objects containing the locale-specific tokens from which it is possible to build custom strings while preserving the locale-specific parts. This makes it possible to provide locale-aware custom formatting ranges of number strings.",
"parameters": {
@@ -8844,8 +8846,9 @@
"Nodejs": "19.0.0"
},
"baseline": {
- "level": "LOW",
- "lowDate": "2023-08-01"
+ "level": "HIGH",
+ "lowDate": "2023-08-01",
+ "highDate": "2026-02-01"
},
"doc": "The selectRange() method of Intl.PluralRules instances receives two values and returns a string indicating which plural rule to use for locale-aware formatting of the indicated range.",
"parameters": {
@@ -9312,7 +9315,7 @@
"parameters": {
"key": "A key string indicating the category of values to be returned. This is one of:\n
\"calendar\": see supported calendar types\"collation\": see supported collation types\"currency\": see supported currency identifiers\"numberingSystem\": see supported numbering system types\"timeZone\": see supported time zone identifiers\"unit\": see supported unit identifiersBelow are all values that are commonly supported by browsers for the calendar key. These values can be used for the calendar option or the ca Unicode extension key when creating objects such as Intl.DateTimeFormat, as well as for creating Temporal date objects.\n\n\n
\n \n\n\nValue \nDescription \n\n \n \nbuddhistThai Buddhist calendar \n\n \n \nchineseTraditional Chinese calendar \n\n \n \ncopticCoptic calendar \n\n \n \ndangiTraditional Korean calendar \n\n \n \nethioaaEthiopic calendar, Amete Alem, single-era variant (epoch approx. 5493 B.C.E) \n\n \n \nethiopicEthiopic calendar, Amete Mihret, two-era variant (epoch approx, 8 C.E., Amete Alem for years before Amete Mihret) \n\n \n \ngregoryGregorian calendar (proleptic, not Julian hybrid) \n\n \n \nhebrewTraditional Hebrew calendar \n\n \n \nindianIndian calendar \n\n \n \nislamicHijri calendar, unspecified algorithm. Note: As of April 2025, this is an astronomical simulation whose parameters are undocumented and that is not known to match a specific Hijri calendar variant from non-software contexts. For well-specified results, use one of the three specific variants: \nislamic-umalqura, islamic-tbla, or islamic-civil.\n \n \nislamic-umalquraHijri calendar, Umm al-Qura (uses KACST-calculated months from the start of 1300 AH (1882-11-12 ISO) to the end of 1600 AH (2174-11-25 ISO) and falls back to \nislamic-civil outside that range)\n \n \nislamic-tblaHijri calendar, tabular/rule-based with leap year rule II (leap years 2,5,7,10,13,16,18,21,24,26,29 in the 30-year cycle (1-based numbering)) and Thursday/astronomical epoch (July 15, 622 Julian / 0622-07-18 ISO) \n\n \n \nislamic-civilHijri calendar, tabular/rule-based with leap year rule II (leap years 2,5,7,10,13,16,18,21,24,26,29 in the 30-year cycle (1-based numbering)) and Friday/civil epoch (July 16, 622 Julian / 0622-07-19 ISO) \n\n \n \niso8601ISO calendar (variant of the Gregorian calendar with week rules and formatting parameters made region-independent) \n\n \n \njapaneseJapanese Imperial calendar (this calendar adds an era for each new emperor, so the output year and era for a future date may not match the input year and era when your code runs on a future engine version. Note: See the remarks below this table about dates prior to 1868-10-23 ISO.) \n\n \n \npersianPersian calendar \n\n \n\n \nrocRepublic of China calendar \n
As of October 2025, in the japanese calendar, dates prior to 1868-10-23 ISO (the start date of the year 1 Meiji) don't work as expected in browsers in two ways. First, CLDR had the wrong start date for the Meiji era, which causes calendar implementations to extend the Meiji era further to the past than it actually did. Second, the upcoming Intl era and monthCode Proposal specifies that dates prior to the Meiji era should use Gregorian eras, but browsers have traditionally used approximations of prior Japanese eras instead. The japanese calendar was taken into use on January 1, 6 Meiji / 1873-01-01 ISO, so these problems only affect proleptic dates.\n
The types below are specified in CLDR but do not have implementations distinct from the above calendars in browsers.\n\n\n
\n \n\n\nValue \nDescription \nNotes \n\n \n \nislamicc \nDeprecated\nCivil (algorithmic) Arabic calendar. \nThis is an alias for \nislamic-civil and therefore is not returned by supportedValuesOf(). Use islamic-civil instead.\n \n\n \nislamic-rgsaHijri calendar, Saudi Arabia sighting \nBrowsers do not have historical sighting data and future sightings have not occurred yet. As of April 2025, this calendar results in the same behavior as \nislamic. Use islamic-umalqura for a Mecca-based astronomical calculation.
References:\n
Below are all values that are commonly supported by browsers for the collation key. These values can be used for the collation option or the co Unicode extension key when creating objects such as Intl.Collator.\n\n\n
\n \n\n\nValue \nDescription \n\n \n \ncompatA previous version of the ordering, for compatibility (for Arabic) \n\n \n \ndictDictionary style ordering (such as in Sinhala). Also recognized as \ndictionary.\n \n \nemojiRecommended ordering for emoji characters \n\n \n \neorEuropean ordering rules \n\n \n \nphonebkPhonebook style ordering (such as in German). Also recognized as \nphonebook.\n \n \nphoneticPhonetic ordering (sorting based on pronunciation; for Lingala) \n\n \n \npinyinPinyin ordering for Latin and for CJK characters (used in Chinese) \n\n \n \nsearchjlSpecial collation type for Korean initial consonant search. Warning: This collation is not for sorting, even though you can only use it with \nIntl.Collator of usage: \"sort\".\n \n \nstrokePinyin ordering for Latin, stroke order for CJK characters (used in Chinese) \n\n \n \ntradTraditional style ordering (such as in Spanish). Also recognized as \ntraditional.\n \n \nunihanPinyin ordering for Latin, Unihan radical-stroke ordering for CJK characters (used in Chinese) \n\n \n\n \nzhuyinPinyin ordering for Latin, zhuyin order for Bopomofo and CJK characters (used in Chinese) \n
The types below are specified in CLDR data, but are deprecated, are discouraged from explicit usage, and/or may not be indicated by browsers as supported for various reasons. Avoid using them:\n\n\n
\n \n\n\nValue \nDescription \nNotes \n\n \n \nbig5han \nDeprecated\nPinyin ordering for Latin, big5 charset ordering for CJK characters (used in Chinese) \nDeprecated. \n\n \n \ndirect \nDeprecated\nBinary code point order (used in Hindi) \nDeprecated. \n\n \n \nducetThe default Unicode collation element table order \nThe \nducet collation type is not available to the Web.\n \n \ngb2312 \nDeprecated\nPinyin ordering for Latin, gb2312han charset ordering for CJK characters (for Chinese). Also recognized as \ngb2312han.Deprecated. \n\n \n \nreformed \nDeprecated\nReformed ordering (such as Swedish) \nDeprecated. This is the old name for the default ordering for Swedish whose collation naming used to differ from other languages. Since this was the default, request \nsv instead of requesting sv-u-co-reformed.\n \n \nsearchSpecial collation type for string search \nDo not use as a collation type, since in \nIntl.Collator, this collation is activated via the usage: \"search\" option. There is currently no API for substring search, so this is currently only good for filtering a list of strings by trying a full-string match of the key against each list item.\n \n\n \nstandardDefault ordering for each language, except Chinese (and, previously, Swedish) \nDo not use explicitly. In general, it's unnecessary to specify this explicitly and specifying this for Swedish is problematic due to the different meaning for Swedish in the past. \n
References:\n
\nCurrency identifiers are three-letter uppercase codes defined in ISO 4217. These values can be used for the currency option when creating objects such as Intl.NumberFormat, as well as for Intl.DisplayNames.prototype.of(). There are over 300 identifiers in common use so we won't list them. For an exhaustive list of possible identifiers, see the Wikipedia article.\n
References:\n
\nBelow are all values that are commonly supported by browsers for the numberingSystem key. These values can be used for the numberingSystem option or the nu Unicode extension key when creating objects such as Intl.NumberFormat. For the rows with \"digit characters\", the runtime translates the digits one-by-one without extra actions. The others marked as \"algorithmic\" need additional algorithms to translate the digits. The higher the Unicode code point is, the newer the numbering system is and the more likely it is unsupported by all browsers.\n\n\n
\n \n\n\nValue \nDescription \nDigit characters \n\n \n \nadlmAdlam digits \n \n𞥐𞥑𞥒𞥓𞥔𞥕𞥖𞥗𞥘𞥙 (U+1E950 to U+1E959)\n \n \nahomAhom digits \n \n𑜰𑜱𑜲𑜳𑜴𑜵𑜶𑜷𑜸𑜹 (U+11730 to U+11739)\n \n \narabArabic-Indic digits \n \n٠١٢٣٤٥٦٧٨٩ (U+0660 to U+0669)\n \n \narabextExtended Arabic-Indic digits \n \n۰۰۱۲۳۴۵۶۷۸۹ (U+06F0 to U+06F9)\n \n \narmnArmenian upper case numerals \nalgorithmic \n\n \n \narmnlowArmenian lower case numerals \nalgorithmic \n\n \n \nbaliBalinese digits \n \n᭐᭑᭒᭓᭔᭕᭖᭗᭘᭙ (U+1B50 to U+1B59)\n \n \nbengBengali digits \n \n০১২৩৪৫৬৭৮৯ (U+09E6 to U+09EF)\n \n \nbhksBhaiksuki digits \n \n𑱐𑱑𑱒𑱓𑱔𑱕𑱖𑱗𑱘𑱙 (U+11C50 to U+11C59)\n \n \nbrahBrahmi digits \n \n𑁦𑁧𑁨𑁩𑁪𑁫𑁬𑁭𑁮𑁯 (U+11066 to U+1106F)\n \n \ncakmChakma digits \n \n𑄶𑄷𑄸𑄹𑄺𑄻𑄼𑄽𑄾𑄿 (U+11136 to U+1113F)\n \n \nchamCham digits \n \n꩐꩑꩒꩓꩔꩕꩖꩗꩘꩙ (U+AA50 to U+AA59)\n \n \ncyrlCyrillic numerals \nalgorithmic \n\n \n \ndevaDevanagari digits \n \n०१२३४५६७८९ (U+0966 to U+096F)\n \n \ndiakDives Akuru digits \n \n𑥐𑥑𑥒𑥓𑥔𑥕𑥖𑥗𑥘𑥙 (U+11950 to U+11959)\n \n \nethiEthiopic numerals \nalgorithmic \n\n \n \nfullwideFull width digits \n \n0123456789 (U+FF10 to U+FF19)\n \n \ngaraGaray digits \n \n (U+10D40 to U+10D49)\n \n \ngeorGeorgian numerals \nalgorithmic \n\n \n \ngongGunjala Gondi digits \n \n𑶠𑶡𑶢𑶣𑶤𑶥𑶦𑶧𑶨𑶩 (U+11DA0 to U+11DA9)\n \n \ngonmMasaram Gondi digits \n \n𑵐𑵑𑵒𑵓𑵔𑵕𑵖𑵗𑵘𑵙 (U+11D50 to U+11D59)\n \n \ngrekGreek upper case numerals \nalgorithmic \n\n \n \ngreklowGreek lower case numerals \nalgorithmic \n\n \n \ngujrGujarati digits \n \n૦૧૨૩૪૫૬૭૮૯ (U+0AE6 to U+0AEF)\n \n \ngukhGurung Khema digits \n \n (U+16130 to U+16139)\n \n \nguruGurmukhi digits \n \n੦੧੨੩੪੫੬੭੮੯ (U+0A66 to U+0A6F)\n \n \nhanidaysHan-character day-of-month numbering for lunar/other traditional calendars \n\n \n \n \nhanidecPositional decimal system using Chinese number ideographs as digits \n \n〇一二三四五六七八九 (U+3007, U+4E00, U+4E8C, U+4E09, U+56DB, U+4E94, U+516D, U+4E03, U+516B, U+4E5D)\n \n \nhansSimplified Chinese numerals \nalgorithmic \n\n \n \nhansfinSimplified Chinese financial numerals \nalgorithmic \n\n \n \nhantTraditional Chinese numerals \nalgorithmic \n\n \n \nhantfinTraditional Chinese financial numerals \nalgorithmic \n\n \n \nhebrHebrew numerals \nalgorithmic \n\n \n \nhmngPahawh Hmong digits \n \n𖭐𖭑𖭒𖭓𖭔𖭕𖭖𖭗𖭘𖭙 (U+16B50 to U+16B59)\n \n \nhmnpNyiakeng Puachue Hmong digits \n \n𞅀𞅁𞅂𞅃𞅄𞅅𞅆𞅇𞅈𞅉 (U+1E140 to U+1E149)\n \n \njavaJavanese digits \n \n꧐꧑꧒꧓꧔꧕꧖꧗꧘꧙ (U+A9D0 to U+A9D9)\n \n \njpanJapanese numerals \nalgorithmic \n\n \n \njpanfinJapanese financial numerals \nalgorithmic \n\n \n \njpanyearJapanese first-year Gannen numbering for Japanese calendar \nalgorithmic \n\n \n \nkaliKayah Li digits \n \n꤀꤁꤂꤃꤄꤅꤆꤇꤈꤉ (U+A900 to U+A909)\n \n \nkawiKawi digits \n \n𑽐𑽑𑽒𑽓𑽔𑽕𑽖𑽗𑽘𑽙 (U+11F50 to U+11F59)\n \n \nkhmrKhmer digits \n \n០១២៣៤៥៦៧៨៩ (U+17E0 to U+17E9)\n \n \nkndaKannada digits \n \n೦೧೨೩೪೫೬೭೮೯ (U+0CE6 to U+0CEF)\n \n \nkraiKirat Rai digits \n \n (U+16D70 to U+16D79)\n \n \nlanaTai Tham Hora (secular) digits \n \n᪀᪁᪂᪃᪄᪅᪆᪇᪈᪉ (U+1A80 to U+1A89)\n \n \nlanathamTai Tham (ecclesiastical) digits \n \n᪐᪑᪒᪓᪔᪕᪖᪗᪘᪙ (U+1A90 to U+1A99)\n \n \nlaooLao digits \n \n໐໑໒໓໔໕໖໗໘໙ (U+0ED0 to U+0ED9)\n \n \nlatnLatin digits \n \n0123456789 (U+0030 to U+0039)\n \n \nlepcLepcha digits \n \n᱀᱁᱂᱃᱄᱅᱆᱇᱈᱉ (U+1C40 to U+1C49)\n \n \nlimbLimbu digits \n \n᥆᥇᥈᥉᥊᥋᥌᥍᥎᥏ (U+1946 to U+194F)\n \n \nmathboldMathematical bold digits \n \n𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗 (U+1D7CE to U+1D7D7)\n \n \nmathdblMathematical double-struck digits \n \n𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡 (U+1D7D8 to U+1D7E1)\n \n \nmathmonoMathematical monospace digits \n \n𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿 (U+1D7F6 to U+1D7FF)\n \n \nmathsanbMathematical sans-serif bold digits \n \n𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵 (U+1D7EC to U+1D7F5)\n \n \nmathsansMathematical sans-serif digits \n \n𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫 (U+1D7E2 to U+1D7EB)\n \n \nmlymMalayalam digits \n \n൦൧൨൩൪൫൬൭൮൯ (U+0D66 to U+0D6F)\n \n \nmodiModi digits \n \n𑙐𑙑𑙒𑙓𑙔𑙕𑙖𑙗𑙘𑙙 (U+11650 to U+11659)\n \n \nmongMongolian digits \n \n᠐᠑᠒᠓᠔᠕᠖᠗᠘᠙ (U+1810 to U+1819)\n \n \nmrooMro digits \n \n𖩠𖩡𖩢𖩣𖩤𖩥𖩦𖩧𖩨𖩩 (U+16A60 to U+16A69)\n \n \nmteiMeetei Mayek digits \n \n꯰꯱꯲꯳꯴꯵꯶꯷꯸꯹ (U+ABF0 to U+ABF9)\n \n \nmymrMyanmar digits \n \n၀၁၂၃၄၅၆၇၈၉ (U+1040 to U+1049)\n \n \nmymrepkaMyanmar Eastern Pwo Karen digits \n \n (U+116DA to U+116E3)\n \n \nmymrpaoMyanmar Pao digits \n \n (U+116D0 to U+116D9)\n \n \nmymrshanMyanmar Shan digits \n \n႐႑႒႓႔႕႖႗႘႙ (U+1090 to U+1099)\n \n \nmymrtlngMyanmar Tai Laing digits \n \n꧰꧱꧲꧳꧴꧵꧶꧷꧸꧹ (U+A9F0 to U+A9F9)\n \n \nnagmNag Mundari digits \n \n𞓰𞓱𞓲𞓳𞓴𞓵𞓶𞓷𞓸𞓹 (U+1E4F0 to U+1E4F9)\n \n \nnewaNewa digits \n \n𑑐𑑑𑑒𑑓𑑔𑑕𑑖𑑗𑑘𑑙 (U+11450 to U+11459)\n \n \nnkooN'Ko digits \n \n߀߁߂߃߄߅߆߇߈߉ (U+07C0 to U+07C9)\n \n \nolckOl Chiki digits \n \n᱐᱑᱒᱓᱔᱕᱖᱗᱘᱙ (U+1C50 to U+1C59)\n \n \nonaoOl Onal digits \n \n (U+1E5F1 to U+1E5FA)\n \n \noryaOriya digits \n \n୦୧୨୩୪୫୬୭୮୯ (U+0B66 to U+0B6F)\n \n \nosmaOsmanya digits \n \n𐒠𐒡𐒢𐒣𐒤𐒥𐒦𐒧𐒨𐒩 (U+104A0 to U+104A9)\n \n \noutlinedLegacy computing outlined digits \n \n (U+1CCF0 to U+1CCF9)\n \n \nrohgHanifi Rohingya digits \n \n𐴰𐴱𐴲𐴳𐴴𐴵𐴶𐴷𐴸𐴹 (U+10D30 to U+10D39)\n \n \nromanRoman upper case numerals \nalgorithmic \n\n \n \nromanlowRoman lowercase numerals \nalgorithmic \n\n \n \nsaurSaurashtra digits \n \n꣐꣑꣒꣓꣔꣕꣖꣗꣘꣙ (U+A8D0 to U+A8D9)\n \n \nsegmentLegacy computing segmented digits \n \n🯰🯱🯲🯳🯴🯵🯶🯷🯸🯹 (U+1FBF0 to U+1FBF9)\n \n \nshrdSharada digits \n \n𑇐𑇑𑇒𑇓𑇔𑇕𑇖𑇗𑇘𑇙 (U+111D0 to U+111D9)\n \n \nsindKhudawadi digits \n \n𑋰𑋱𑋲𑋳𑋴𑋵𑋶𑋷𑋸𑋹 (U+112F0 to U+112F9)\n \n \nsinhSinhala Lith digits \n \n෦෧෨෩෪෫෬෭෮෯ (U+0DE6 to U+0DEF)\n \n \nsoraSora_Sompeng digits \n \n𑃰𑃱𑃲𑃳𑃴𑃵𑃶𑃷𑃸𑃹 (U+110F0 to U+110F9)\n \n \nsundSundanese digits \n \n᮰᮱᮲᮳᮴᮵᮶᮷᮸᮹ (U+1BB0 to U+1BB9)\n \n \nsunuSunuwar digits \n \n (U+11BF0 to U+11BF9)\n \n \ntakrTakri digits \n \n𑛀𑛁𑛂𑛃𑛄𑛅𑛆𑛇𑛈𑛉 (U+116C0 to U+116C9)\n \n \ntaluNew Tai Lue digits \n \n᧐᧑᧒᧓᧔᧕᧖᧗᧘᧙ (U+19D0 to U+19D9)\n \n \ntamlTamil numerals \nalgorithmic \n\n \n \ntamldecModern Tamil decimal digits \n \n௦௧௨௩௪௫௬௭௮௯ (U+0BE6 to U+0BEF)\n \n \nteluTelugu digits \n \n౦౧౨౩౪౫౬౭౮౯ (U+0C66 to U+0C6F)\n \n \nthaiThai digits \n \n๐๑๒๓๔๕๖๗๘๙ (U+0E50 to U+0E59)\n \n \ntibtTibetan digits \n \n༠༡༢༣༤༥༦༧༨༩ (U+0F20 to U+0F29)\n \n \ntirhTirhuta digits \n \n𑓐𑓑𑓒𑓓𑓔𑓕𑓖𑓗𑓘𑓙 (U+114D0 to U+114D9)\n \n \ntnsaTangsa digits \n \n𖫀𖫁𖫂𖫃𖫄𖫅𖫆𖫇𖫈𖫉 (U+16AC0 to U+16AC9)\n \n \nvaiiVai digits \n \n꘠꘡꘢꘣꘤꘥꘦꘧꘨꘩ (U+A620 to U+A629)\n \n \nwaraWarang Citi digits \n \n𑣠𑣡𑣢𑣣𑣤𑣥𑣦𑣧𑣨𑣩 (U+118E0 to U+118E9)\n \n\n \nwchoWancho digits \n \n𞋰𞋱𞋲𞋳𞋴𞋵𞋶𞋷𞋸𞋹 (U+1E2F0 to U+1E2F9)
There are three special values: native, traditio, and finance, whose meanings are locale-dependent, and will be resolved to the right system depending on the locale. Therefore, the resolvedOptions() methods will never return these values, but Intl.Locale.prototype.numberingSystem will (if provided as input).\n
References:\n
\nSupported time zone identifiers can be used for the timeZone option when creating objects such as Intl.DateTimeFormat, as well as for creating Temporal date objects. There are over 400 identifiers in common use so we won't list them. For an exhaustive list of possible identifiers, see the Wikipedia article or the IANA time zone database.\n
As you browse the list, note that the standardization of Temporal requires browsers to always return the primary identifier in the IANA database, which may change over time. See time zones and offsets for more information. For example, the returned array should contain \"Asia/Kolkata\" instead of \"Asia/Calcutta\" because the latter is an alias of the former and they both correspond to India; however, it should contain both \"Africa/Abidjan\" and \"Atlantic/Reykjavik\" because they are in different countries, despite the latter also being an alias of the former.\n
References:\n
\nBelow are all values that are commonly supported by browsers for the unit key. These values can be used for the unit option when creating objects such as Intl.NumberFormat. This list is a subset of the CLDR explicitly sanctioned by the ECMA-402 specification, so all implementations should be consistent.\n
acrebitbytecelsiuscentimeterdaydegreefahrenheitfluid-ouncefootgallongigabitgigabytegramhectarehourinchkilobitkilobytekilogramkilometerlitermegabitmegabytemetermicrosecondmilemile-scandinavianmillilitermillimetermillisecondminutemonthnanosecondouncepercentpetabytepoundsecondstoneterabitterabyteweekyardyearWhen specifying units, you can also combine two units with the \"-per-\" separator. For example, meter-per-second or liter-per-megabyte.\n
References:\n
", + "returns": "A sorted array of unique string values indicating the values supported by the implementation for the given key. The values that could be returned are listed below.\nBelow are all values that are commonly supported by browsers for the calendar key. These values can be used for the calendar option or the ca Unicode extension key when creating objects such as Intl.DateTimeFormat, as well as for creating Temporal date objects. This list is explicitly sanctioned by the ECMA-402 specification, so all implementations should be consistent.\n\n\n
\n \n\n\nValue \nDescription \n\n \n \nbuddhistThai Buddhist calendar, proleptic. Month numbers, month codes, and days are the same as in the ISO 8601 calendar, but the epoch year is different. There is one era. \n\n \n \nchineseTraditional Chinese calendar, proleptic. Lunisolar calendar used in China based on data published by the Purple Mountain Observatory between 1900 and 2100 (which compiles with GB/T 33661-2017 between 1912 and 2100), falling back to an implementation-defined approximation outside that range. The arithmetic year is identical to \ngregory, and there are no eras.\n \n \ncopticCoptic calendar, proleptic. Similar solar algorithm to \nethioaa and ethiopic, with one era and a different epoch year.\n \n \ndangiTraditional Korean calendar, proleptic. Lunisolar calendar using months published by the Korea Astronomy and Space Science Institute (KASI) between 1900 and 2050, falling back to an implementation-defined approximation outside that range. The arithmetic year is identical to \ngregory, and there are no eras.\n \n \nethioaaEthiopic calendar, Amete Alem, proleptic. Similar solar algorithm to \ncoptic and ethiopic, with one era and a different epoch year.\n \n \nethiopicEthiopic calendar, Amete Mihret, proleptic. Similar solar algorithm to \ncoptic and ethioaa, with two eras and a different epoch year.\n \n \ngregoryGregorian calendar, proleptic. Solar calendar almost identical to the ISO 8601 calendar, except that it does not define week numbering and it contains two eras, one before the epoch year. \n\n \n \nhebrewHebrew calendar, proleptic. Civil calendar with Tishrei as the first month of the year. Lunisolar calendar with one leap month inserted after month 5. There is one era. \n\n \n \nindianIndian national (or Śaka) calendar, proleptic. Solar calendar with one era. \n\n \n \nislamic-civilHijri calendar, proleptic, tabular/rule-based with leap year rule II (leap years 2,5,7,10,13,16,18,21,24,26,29 in the 30-year cycle (1-based numbering)) and civil epoch (Friday July 16, 622 Julian / 0622-07-19 ISO) \n\n \n \nislamic-tblaHijri calendar, proleptic, tabular/rule-based with leap year rule II (leap years 2,5,7,10,13,16,18,21,24,26,29 in the 30-year cycle (1-based numbering)) and astronomical epoch (Thursday July 15, 622 Julian / 0622-07-18 ISO) \n\n \n \nislamic-umalquraHijri calendar, proleptic, Umm al-Qura. Lunar calendar using KACST-calculated months from the start of 1300 AH (1882-11-12 ISO) to the end of 1600 AH (2174-11-25 ISO), falling back to \nislamic-civil outside that range.\n \n \niso8601ISO calendar (variant of the Gregorian calendar with week rules and formatting parameters made region-independent) \n\n \n \njapaneseJapanese Imperial calendar (this calendar adds an era for each new emperor, so the output year and era for a future date may not match the input year and era when your code runs on a future engine version. Note: See the remarks below this table about dates prior to 1868-10-23 ISO.) \n\n \n \npersianPersian (or Solar Hijri) calendar, proleptic. There is one era. \n\n \n\n \nrocRepublic of China (or Minguo) calendar, proleptic. Month numbers, month codes, and days are the same as in the ISO 8601 calendar, but the epoch year is different. There are two eras, one before the epoch year and one after. \n
As of October 2025, in the japanese calendar, dates prior to 1868-10-23 ISO (the start date of the year 1 Meiji) don't work as expected in browsers in two ways. First, CLDR had the wrong start date for the Meiji era, which causes calendar implementations to extend the Meiji era further to the past than it actually did. Second, the upcoming Intl era and monthCode Proposal specifies that dates prior to 1873-01-01 ISO should use Gregorian eras, but browsers have traditionally used approximations of prior Japanese eras instead. The japanese calendar was taken into use on January 1, 6 Meiji / 1873-01-01 ISO, so these problems only affect proleptic dates.\n
The types below are specified in CLDR but do not have implementations distinct from the above calendars in browsers.\n\n\n
\n \n\n\nValue \nDescription \nNotes \n\n \n \nethiopic-amete-alemEthiopic calendar, Amete Alem, proleptic. \nThis is an alias for \nethioaa and therefore is not returned by supportedValuesOf(). Use ethioaa instead.\n \n \nislamicHijri calendar, unspecified algorithm. \nAs of April 2025, this is an astronomical simulation whose parameters are undocumented and that is not known to match a specific Hijri calendar variant from non-software contexts. It is specified to be canonicalized to a different calendar, usually one of \nislamic-umalqura, islamic-tbla, or islamic-civil, and raise a warning.\n \n\n \nislamicc \nDeprecated\nCivil (algorithmic) Arabic calendar. \nThis is an alias for \nislamic-civil and therefore is not returned by supportedValuesOf(). Use islamic-civil instead.
The Temporal.PlainDate.prototype.era and Temporal.PlainDate.prototype.monthCode docs provide more information about different calendars.\n
References:\n
Below are all values that are commonly supported by browsers for the collation key. These values can be used for the collation option or the co Unicode extension key when creating objects such as Intl.Collator.\n\n\n
\n \n\n\nValue \nDescription \n\n \n \ncompatA previous version of the ordering, for compatibility (for Arabic) \n\n \n \ndictDictionary style ordering (such as in Sinhala). Also recognized as \ndictionary.\n \n \nemojiRecommended ordering for emoji characters \n\n \n \neorEuropean ordering rules \n\n \n \nphonebkPhonebook style ordering (such as in German). Also recognized as \nphonebook.\n \n \nphoneticPhonetic ordering (sorting based on pronunciation; for Lingala) \n\n \n \npinyinPinyin ordering for Latin and for CJK characters (used in Chinese) \n\n \n \nsearchjlSpecial collation type for Korean initial consonant search. Warning: This collation is not for sorting, even though you can only use it with \nIntl.Collator of usage: \"sort\".\n \n \nstrokePinyin ordering for Latin, stroke order for CJK characters (used in Chinese) \n\n \n \ntradTraditional style ordering (such as in Spanish). Also recognized as \ntraditional.\n \n \nunihanPinyin ordering for Latin, Unihan radical-stroke ordering for CJK characters (used in Chinese) \n\n \n\n \nzhuyinPinyin ordering for Latin, zhuyin order for Bopomofo and CJK characters (used in Chinese) \n
The types below are specified in CLDR data, but are deprecated, are discouraged from explicit usage, and/or may not be indicated by browsers as supported for various reasons. Avoid using them:\n\n\n
\n \n\n\nValue \nDescription \nNotes \n\n \n \nbig5han \nDeprecated\nPinyin ordering for Latin, big5 charset ordering for CJK characters (used in Chinese) \nDeprecated. \n\n \n \ndirect \nDeprecated\nBinary code point order (used in Hindi) \nDeprecated. \n\n \n \nducetThe default Unicode collation element table order \nThe \nducet collation type is not available to the Web.\n \n \ngb2312 \nDeprecated\nPinyin ordering for Latin, gb2312han charset ordering for CJK characters (for Chinese). Also recognized as \ngb2312han.Deprecated. \n\n \n \nreformed \nDeprecated\nReformed ordering (such as Swedish) \nDeprecated. This is the old name for the default ordering for Swedish whose collation naming used to differ from other languages. Since this was the default, request \nsv instead of requesting sv-u-co-reformed.\n \n \nsearchSpecial collation type for string search \nDo not use as a collation type, since in \nIntl.Collator, this collation is activated via the usage: \"search\" option. There is currently no API for substring search, so this is currently only good for filtering a list of strings by trying a full-string match of the key against each list item.\n \n\n \nstandardDefault ordering for each language, except Chinese (and, previously, Swedish) \nDo not use explicitly. In general, it's unnecessary to specify this explicitly and specifying this for Swedish is problematic due to the different meaning for Swedish in the past. \n
References:\n
\nCurrency identifiers are three-letter uppercase codes defined in ISO 4217. These values can be used for the currency option when creating objects such as Intl.NumberFormat, as well as for Intl.DisplayNames.prototype.of(). There are over 300 identifiers in common use so we won't list them. For an exhaustive list of possible identifiers, see the Wikipedia article.\n
References:\n
\nBelow are all values that are commonly supported by browsers for the numberingSystem key. These values can be used for the numberingSystem option or the nu Unicode extension key when creating objects such as Intl.NumberFormat. For the rows with \"digit characters\", the runtime translates the digits one-by-one without extra actions. The others marked as \"algorithmic\" need additional algorithms to translate the digits. The higher the Unicode code point is, the newer the numbering system is and the more likely it is unsupported by all browsers.\n\n\n
\n \n\n\nValue \nDescription \nDigit characters \n\n \n \nadlmAdlam digits \n \n𞥐𞥑𞥒𞥓𞥔𞥕𞥖𞥗𞥘𞥙 (U+1E950 to U+1E959)\n \n \nahomAhom digits \n \n𑜰𑜱𑜲𑜳𑜴𑜵𑜶𑜷𑜸𑜹 (U+11730 to U+11739)\n \n \narabArabic-Indic digits \n \n٠١٢٣٤٥٦٧٨٩ (U+0660 to U+0669)\n \n \narabextExtended Arabic-Indic digits \n \n۰۰۱۲۳۴۵۶۷۸۹ (U+06F0 to U+06F9)\n \n \narmnArmenian upper case numerals \nalgorithmic \n\n \n \narmnlowArmenian lower case numerals \nalgorithmic \n\n \n \nbaliBalinese digits \n \n᭐᭑᭒᭓᭔᭕᭖᭗᭘᭙ (U+1B50 to U+1B59)\n \n \nbengBengali digits \n \n০১২৩৪৫৬৭৮৯ (U+09E6 to U+09EF)\n \n \nbhksBhaiksuki digits \n \n𑱐𑱑𑱒𑱓𑱔𑱕𑱖𑱗𑱘𑱙 (U+11C50 to U+11C59)\n \n \nbrahBrahmi digits \n \n𑁦𑁧𑁨𑁩𑁪𑁫𑁬𑁭𑁮𑁯 (U+11066 to U+1106F)\n \n \ncakmChakma digits \n \n𑄶𑄷𑄸𑄹𑄺𑄻𑄼𑄽𑄾𑄿 (U+11136 to U+1113F)\n \n \nchamCham digits \n \n꩐꩑꩒꩓꩔꩕꩖꩗꩘꩙ (U+AA50 to U+AA59)\n \n \ncyrlCyrillic numerals \nalgorithmic \n\n \n \ndevaDevanagari digits \n \n०१२३४५६७८९ (U+0966 to U+096F)\n \n \ndiakDives Akuru digits \n \n𑥐𑥑𑥒𑥓𑥔𑥕𑥖𑥗𑥘𑥙 (U+11950 to U+11959)\n \n \nethiEthiopic numerals \nalgorithmic \n\n \n \nfullwideFull width digits \n \n0123456789 (U+FF10 to U+FF19)\n \n \ngaraGaray digits \n \n (U+10D40 to U+10D49)\n \n \ngeorGeorgian numerals \nalgorithmic \n\n \n \ngongGunjala Gondi digits \n \n𑶠𑶡𑶢𑶣𑶤𑶥𑶦𑶧𑶨𑶩 (U+11DA0 to U+11DA9)\n \n \ngonmMasaram Gondi digits \n \n𑵐𑵑𑵒𑵓𑵔𑵕𑵖𑵗𑵘𑵙 (U+11D50 to U+11D59)\n \n \ngrekGreek upper case numerals \nalgorithmic \n\n \n \ngreklowGreek lower case numerals \nalgorithmic \n\n \n \ngujrGujarati digits \n \n૦૧૨૩૪૫૬૭૮૯ (U+0AE6 to U+0AEF)\n \n \ngukhGurung Khema digits \n \n (U+16130 to U+16139)\n \n \nguruGurmukhi digits \n \n੦੧੨੩੪੫੬੭੮੯ (U+0A66 to U+0A6F)\n \n \nhanidaysHan-character day-of-month numbering for lunar/other traditional calendars \n\n \n \n \nhanidecPositional decimal system using Chinese number ideographs as digits \n \n〇一二三四五六七八九 (U+3007, U+4E00, U+4E8C, U+4E09, U+56DB, U+4E94, U+516D, U+4E03, U+516B, U+4E5D)\n \n \nhansSimplified Chinese numerals \nalgorithmic \n\n \n \nhansfinSimplified Chinese financial numerals \nalgorithmic \n\n \n \nhantTraditional Chinese numerals \nalgorithmic \n\n \n \nhantfinTraditional Chinese financial numerals \nalgorithmic \n\n \n \nhebrHebrew numerals \nalgorithmic \n\n \n \nhmngPahawh Hmong digits \n \n𖭐𖭑𖭒𖭓𖭔𖭕𖭖𖭗𖭘𖭙 (U+16B50 to U+16B59)\n \n \nhmnpNyiakeng Puachue Hmong digits \n \n𞅀𞅁𞅂𞅃𞅄𞅅𞅆𞅇𞅈𞅉 (U+1E140 to U+1E149)\n \n \njavaJavanese digits \n \n꧐꧑꧒꧓꧔꧕꧖꧗꧘꧙ (U+A9D0 to U+A9D9)\n \n \njpanJapanese numerals \nalgorithmic \n\n \n \njpanfinJapanese financial numerals \nalgorithmic \n\n \n \njpanyearJapanese first-year Gannen numbering for Japanese calendar \nalgorithmic \n\n \n \nkaliKayah Li digits \n \n꤀꤁꤂꤃꤄꤅꤆꤇꤈꤉ (U+A900 to U+A909)\n \n \nkawiKawi digits \n \n𑽐𑽑𑽒𑽓𑽔𑽕𑽖𑽗𑽘𑽙 (U+11F50 to U+11F59)\n \n \nkhmrKhmer digits \n \n០១២៣៤៥៦៧៨៩ (U+17E0 to U+17E9)\n \n \nkndaKannada digits \n \n೦೧೨೩೪೫೬೭೮೯ (U+0CE6 to U+0CEF)\n \n \nkraiKirat Rai digits \n \n (U+16D70 to U+16D79)\n \n \nlanaTai Tham Hora (secular) digits \n \n᪀᪁᪂᪃᪄᪅᪆᪇᪈᪉ (U+1A80 to U+1A89)\n \n \nlanathamTai Tham (ecclesiastical) digits \n \n᪐᪑᪒᪓᪔᪕᪖᪗᪘᪙ (U+1A90 to U+1A99)\n \n \nlaooLao digits \n \n໐໑໒໓໔໕໖໗໘໙ (U+0ED0 to U+0ED9)\n \n \nlatnLatin digits \n \n0123456789 (U+0030 to U+0039)\n \n \nlepcLepcha digits \n \n᱀᱁᱂᱃᱄᱅᱆᱇᱈᱉ (U+1C40 to U+1C49)\n \n \nlimbLimbu digits \n \n᥆᥇᥈᥉᥊᥋᥌᥍᥎᥏ (U+1946 to U+194F)\n \n \nmathboldMathematical bold digits \n \n𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗 (U+1D7CE to U+1D7D7)\n \n \nmathdblMathematical double-struck digits \n \n𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡 (U+1D7D8 to U+1D7E1)\n \n \nmathmonoMathematical monospace digits \n \n𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿 (U+1D7F6 to U+1D7FF)\n \n \nmathsanbMathematical sans-serif bold digits \n \n𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵 (U+1D7EC to U+1D7F5)\n \n \nmathsansMathematical sans-serif digits \n \n𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫 (U+1D7E2 to U+1D7EB)\n \n \nmlymMalayalam digits \n \n൦൧൨൩൪൫൬൭൮൯ (U+0D66 to U+0D6F)\n \n \nmodiModi digits \n \n𑙐𑙑𑙒𑙓𑙔𑙕𑙖𑙗𑙘𑙙 (U+11650 to U+11659)\n \n \nmongMongolian digits \n \n᠐᠑᠒᠓᠔᠕᠖᠗᠘᠙ (U+1810 to U+1819)\n \n \nmrooMro digits \n \n𖩠𖩡𖩢𖩣𖩤𖩥𖩦𖩧𖩨𖩩 (U+16A60 to U+16A69)\n \n \nmteiMeetei Mayek digits \n \n꯰꯱꯲꯳꯴꯵꯶꯷꯸꯹ (U+ABF0 to U+ABF9)\n \n \nmymrMyanmar digits \n \n၀၁၂၃၄၅၆၇၈၉ (U+1040 to U+1049)\n \n \nmymrepkaMyanmar Eastern Pwo Karen digits \n \n (U+116DA to U+116E3)\n \n \nmymrpaoMyanmar Pao digits \n \n (U+116D0 to U+116D9)\n \n \nmymrshanMyanmar Shan digits \n \n႐႑႒႓႔႕႖႗႘႙ (U+1090 to U+1099)\n \n \nmymrtlngMyanmar Tai Laing digits \n \n꧰꧱꧲꧳꧴꧵꧶꧷꧸꧹ (U+A9F0 to U+A9F9)\n \n \nnagmNag Mundari digits \n \n𞓰𞓱𞓲𞓳𞓴𞓵𞓶𞓷𞓸𞓹 (U+1E4F0 to U+1E4F9)\n \n \nnewaNewa digits \n \n𑑐𑑑𑑒𑑓𑑔𑑕𑑖𑑗𑑘𑑙 (U+11450 to U+11459)\n \n \nnkooN'Ko digits \n \n߀߁߂߃߄߅߆߇߈߉ (U+07C0 to U+07C9)\n \n \nolckOl Chiki digits \n \n᱐᱑᱒᱓᱔᱕᱖᱗᱘᱙ (U+1C50 to U+1C59)\n \n \nonaoOl Onal digits \n \n (U+1E5F1 to U+1E5FA)\n \n \noryaOriya digits \n \n୦୧୨୩୪୫୬୭୮୯ (U+0B66 to U+0B6F)\n \n \nosmaOsmanya digits \n \n𐒠𐒡𐒢𐒣𐒤𐒥𐒦𐒧𐒨𐒩 (U+104A0 to U+104A9)\n \n \noutlinedLegacy computing outlined digits \n \n (U+1CCF0 to U+1CCF9)\n \n \nrohgHanifi Rohingya digits \n \n𐴰𐴱𐴲𐴳𐴴𐴵𐴶𐴷𐴸𐴹 (U+10D30 to U+10D39)\n \n \nromanRoman upper case numerals \nalgorithmic \n\n \n \nromanlowRoman lowercase numerals \nalgorithmic \n\n \n \nsaurSaurashtra digits \n \n꣐꣑꣒꣓꣔꣕꣖꣗꣘꣙ (U+A8D0 to U+A8D9)\n \n \nsegmentLegacy computing segmented digits \n \n🯰🯱🯲🯳🯴🯵🯶🯷🯸🯹 (U+1FBF0 to U+1FBF9)\n \n \nshrdSharada digits \n \n𑇐𑇑𑇒𑇓𑇔𑇕𑇖𑇗𑇘𑇙 (U+111D0 to U+111D9)\n \n \nsindKhudawadi digits \n \n𑋰𑋱𑋲𑋳𑋴𑋵𑋶𑋷𑋸𑋹 (U+112F0 to U+112F9)\n \n \nsinhSinhala Lith digits \n \n෦෧෨෩෪෫෬෭෮෯ (U+0DE6 to U+0DEF)\n \n \nsoraSora_Sompeng digits \n \n𑃰𑃱𑃲𑃳𑃴𑃵𑃶𑃷𑃸𑃹 (U+110F0 to U+110F9)\n \n \nsundSundanese digits \n \n᮰᮱᮲᮳᮴᮵᮶᮷᮸᮹ (U+1BB0 to U+1BB9)\n \n \nsunuSunuwar digits \n \n (U+11BF0 to U+11BF9)\n \n \ntakrTakri digits \n \n𑛀𑛁𑛂𑛃𑛄𑛅𑛆𑛇𑛈𑛉 (U+116C0 to U+116C9)\n \n \ntaluNew Tai Lue digits \n \n᧐᧑᧒᧓᧔᧕᧖᧗᧘᧙ (U+19D0 to U+19D9)\n \n \ntamlTamil numerals \nalgorithmic \n\n \n \ntamldecModern Tamil decimal digits \n \n௦௧௨௩௪௫௬௭௮௯ (U+0BE6 to U+0BEF)\n \n \nteluTelugu digits \n \n౦౧౨౩౪౫౬౭౮౯ (U+0C66 to U+0C6F)\n \n \nthaiThai digits \n \n๐๑๒๓๔๕๖๗๘๙ (U+0E50 to U+0E59)\n \n \ntibtTibetan digits \n \n༠༡༢༣༤༥༦༧༨༩ (U+0F20 to U+0F29)\n \n \ntirhTirhuta digits \n \n𑓐𑓑𑓒𑓓𑓔𑓕𑓖𑓗𑓘𑓙 (U+114D0 to U+114D9)\n \n \ntnsaTangsa digits \n \n𖫀𖫁𖫂𖫃𖫄𖫅𖫆𖫇𖫈𖫉 (U+16AC0 to U+16AC9)\n \n \nvaiiVai digits \n \n꘠꘡꘢꘣꘤꘥꘦꘧꘨꘩ (U+A620 to U+A629)\n \n \nwaraWarang Citi digits \n \n𑣠𑣡𑣢𑣣𑣤𑣥𑣦𑣧𑣨𑣩 (U+118E0 to U+118E9)\n \n\n \nwchoWancho digits \n \n𞋰𞋱𞋲𞋳𞋴𞋵𞋶𞋷𞋸𞋹 (U+1E2F0 to U+1E2F9)
There are three special values: native, traditio, and finance, whose meanings are locale-dependent, and will be resolved to the right system depending on the locale. Therefore, the resolvedOptions() methods will never return these values, but Intl.Locale.prototype.numberingSystem will (if provided as input).\n
References:\n
\nSupported time zone identifiers can be used for the timeZone option when creating objects such as Intl.DateTimeFormat, as well as for creating Temporal date objects. There are over 400 identifiers in common use so we won't list them. For an exhaustive list of possible identifiers, see the Wikipedia article or the IANA time zone database.\n
As you browse the list, note that the standardization of Temporal requires browsers to always return the primary identifier in the IANA database, which may change over time. See time zones and offsets for more information. For example, the returned array should contain \"Asia/Kolkata\" instead of \"Asia/Calcutta\" because the latter is an alias of the former and they both correspond to India; however, it should contain both \"Africa/Abidjan\" and \"Atlantic/Reykjavik\" because they are in different countries, despite the latter also being an alias of the former.\n
References:\n
\nBelow are all values that are commonly supported by browsers for the unit key. These values can be used for the unit option when creating objects such as Intl.NumberFormat. This list is a subset of the CLDR explicitly sanctioned by the ECMA-402 specification, so all implementations should be consistent.\n
acrebitbytecelsiuscentimeterdaydegreefahrenheitfluid-ouncefootgallongigabitgigabytegramhectarehourinchkilobitkilobytekilogramkilometerlitermegabitmegabytemetermicrosecondmilemile-scandinavianmillilitermillimetermillisecondminutemonthnanosecondouncepercentpetabytepoundsecondstoneterabitterabyteweekyardyearWhen specifying units, you can also combine two units with the \"-per-\" separator. For example, meter-per-second or liter-per-megabyte.\n
References:\n
", "throws": { "RangeError": "Thrown if an unsupported key was passed as a parameter." } @@ -9403,8 +9406,13 @@ "StandardTrack" ], "compatibility": { + "Chrome": "146", + "ChromeAndroid": "146", + "Edge": "146", "Firefox": "147", - "FirefoxAndroid": "147" + "FirefoxAndroid": "147", + "Safari": "26.4", + "SafariIOS": "26.4" }, "baseline": { "level": "NONE" @@ -9466,7 +9474,7 @@ "level": "LOW", "lowDate": "2025-03-31" }, - "doc": "Theevery() method of Iterator instances is similar to Array.prototype.every(): it tests whether all elements produced by the iterator pass the test implemented by the provided function. It returns a boolean value.",
+ "doc": "The every() method of Iterator instances is similar to Array.prototype.every(): it returns false if it finds an element that does not satisfy the provided testing function. Otherwise, if the iterator is exhausted without finding such an element, it returns true.",
"parameters": {
"callbackFn": "A function to execute for each element produced by the iterator. It should return a truthy value to indicate the element passes the test, and a falsy value otherwise. The function is called with the following arguments:\nelementThe current element being processed.\n
indexThe index of the current element being processed.\n
some() method of Iterator instances is similar to Array.prototype.some(): it tests whether at least one element produced by the iterator passes the test implemented by the provided function. It returns a boolean value.",
+ "doc": "The some() method of Iterator instances is similar to Array.prototype.some(): it returns true if it finds an element that satisfies the provided testing function. Otherwise, if the iterator is exhausted without finding such an element, it returns false.",
"parameters": {
"callbackFn": "A function to execute for each element produced by the iterator. It should return a truthy value to indicate the element passes the test, and a falsy value otherwise. The function is called with the following arguments:\nelementThe current element being processed.\n
indexThe index of the current element being processed.\n
Iterator.zip() static method creates a new Iterator object that aggregates elements from multiple iterable objects by yielding arrays containing elements at the same position. It essentially \"zips\" the input iterables together, allowing simultaneous iteration over them.\nThe Iterator.zipKeyed() method is similar, but yields objects instead of arrays with keys you can specify.",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Firefox": "148",
+ "FirefoxAndroid": "148"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The Iterator.zip() static method creates a new Iterator object that aggregates elements from multiple iterable objects by yielding arrays containing elements at the same position. It essentially \"zips\" the input iterables together, allowing simultaneous iteration over them.\n
The Iterator.zipKeyed() method is similar, but yields objects instead of arrays with keys you can specify.",
"parameters": {
"iterables": "An iterable of iterables whose elements are aggregated. It must be iterable and cannot be an iterator. It should be finite, although its elements can be infinite iterables. Each element must implement either the iterable protocol or, failing that, the iterator protocol. Strings are rejected: to zip strings, convert them to iterators explicitly using Iterator.from().",
"options": "An object specifying behavior in case of inconsistent input lengths. It may have the following properties:\n
mode OptionalOne of the following:\n
\"shortest\" (default): The resulting iterator stops when one input iterable is exhausted.\"longest\": The resulting iterator stops when all input iterables are exhausted. Missing values from shorter iterables are filled according to the padding option.\"strict\": A TypeError is thrown if not all input iterables finish at the same time.padding OptionalAn iterable object (not iterator). Only retrieved and validated when mode is \"longest\". If undefined or absent, missing values from shorter iterables are filled with undefined (which is equivalent to passing an empty iterable). If an iterable is provided, it is iterated for the number of times equal to the number of elements in iterables as soon as Iterator.zip() is called. padding[i] is used for missing values for iterables[i] (assuming padding and iterables are provided as arrays; they don't have to be). If padding is shorter than iterables, undefined is used for the remaining iterables.\n
Iterator.zipKeyed() static method creates a new Iterator object that aggregates elements from multiple iterable objects by yielding objects containing elements at the same position, with keys specified by the input. It essentially \"zips\" the input iterables together, allowing simultaneous iteration over them.\nThe Iterator.zip() method is similar, but yields arrays instead of objects.",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Firefox": "148",
+ "FirefoxAndroid": "148"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The Iterator.zipKeyed() static method creates a new Iterator object that aggregates elements from multiple iterable objects by yielding objects containing elements at the same position, with keys specified by the input. It essentially \"zips\" the input iterables together, allowing simultaneous iteration over them.\n
The Iterator.zip() method is similar, but yields arrays instead of objects.",
"parameters": {
"iterables": "An object. Each property's key is used as the key in the resulting objects. The property's value must implement either the iterable protocol or, failing that, the iterator protocol. These iterables may be infinite. Strings are rejected: to zip strings, convert them to iterators explicitly using Iterator.from().",
"options": "An object specifying behavior in case of inconsistent input lengths. It may have the following properties:\n
mode OptionalOne of the following:\n
\"shortest\" (default): The resulting iterator stops when one input iterable is exhausted.\"longest\": The resulting iterator stops when all input iterables are exhausted. Missing values from shorter iterables are filled according to the padding option.\"strict\": A TypeError is thrown if not all input iterables finish at the same time.padding OptionalAn object. Only retrieved and validated when mode is \"longest\". If undefined or absent, missing values from shorter iterables are filled with undefined (which is equivalent to passing an empty object). If an object is provided, each key of the iterables argument is retrieved as soon as Iterator.zipKeyed() is called. padding[key] is used for missing values for iterables[key]. If the padding object is missing some keys, those keys are filled with undefined.\n
getOrInsert() method of Map instances returns the value corresponding to the specified key in this Map. If the key is not present, it inserts a new entry with the key and a given default value, and returns the inserted value.\nIf the computation of the default value is expensive, consider using Map.prototype.getOrInsertComputed() instead, which takes a callback to compute the default value only if it's actually needed.",
"parameters": {
@@ -10165,7 +10190,8 @@
"SafariIOS": "26.2"
},
"baseline": {
- "level": "NONE"
+ "level": "LOW",
+ "lowDate": "2026-02-14"
},
"doc": "The getOrInsertComputed() method of Map instances returns the value corresponding to the specified key in this Map. If the key is not present, it inserts a new entry with the key and a default value computed from a given callback, and returns the inserted value.\n
Use this method instead of Map.prototype.getOrInsert() when the default value is expensive to compute, and you want to avoid computing it unless it's actually needed.",
"parameters": {
@@ -14817,7 +14843,10 @@
"pattern": "The text of the regular expression.",
"flags": "Any combination of flag values."
},
- "returns": "None (undefined)."
+ "returns": "None (undefined).",
+ "throws": {
+ "TypeError": "Thrown if the this value is not an instance of the current realm's RegExp constructor.\nThis includes a subclass of RegExp and the RegExp constructor from a different realm."
+ }
},
"regexp.dotall": {
"url": "$MDN_URL$/web/javascript/reference/global_objects/regexp/dotall",
@@ -16192,7 +16221,7 @@
"length": "The size, in bytes, of the array buffer to create.",
"options": "An object, which can contain the following properties:\n
maxByteLength OptionalThe maximum size, in bytes, that the shared array buffer can be resized to.\n
SharedArrayBuffer object of the specified size, with its maxByteLength property set to the specified maxByteLength if one was specified. Its contents are\ninitialized to 0."
+ "returns": "A new SharedArrayBuffer object of the specified size, with its maxByteLength property set to the specified maxByteLength if one was specified. Its contents are initialized to 0."
},
"sharedarraybuffer.slice": {
"url": "$MDN_URL$/web/javascript/reference/global_objects/sharedarraybuffer/slice",
@@ -19791,7 +19820,7 @@
"baseline": {
"level": "NONE"
},
- "doc": "The era accessor property of Temporal.PlainDate instances returns a calendar-specific lowercase string representing the era of this date, or undefined if the calendar does not use eras (e.g., ISO 8601). era and eraYear together uniquely identify a year in a calendar, in the same way that year does. It is calendar-dependent. For Gregorian, it is either \"gregory\" or \"gregory-inverse\".\nThe set accessor of era is undefined. You cannot change this property directly. Use the with() method to create a new Temporal.PlainDate object with the desired new value. When setting eras, each code may have some aliases; for example, \"ce\" and \"ad\" are equivalent to \"gregory\", and \"bce\" and \"bc\" are equivalent to \"gregory-inverse\".\n
Note:\nThis string is not intended for display to users. Use toLocaleString() with the appropriate options to get a localized string.\n
era accessor property of Temporal.PlainDate instances returns a calendar-specific lowercase string representing the era of this date, or undefined if the calendar does not use eras (e.g., ISO 8601). era and eraYear together uniquely identify a year in a calendar, in the same way that year does. It is calendar-dependent. For Gregorian, it is either \"ce\" or \"bce\"."
},
"temporal.plaindate.erayear": {
"url": "$MDN_URL$/web/javascript/reference/global_objects/temporal/plaindate/erayear",
@@ -19808,7 +19837,7 @@
"baseline": {
"level": "NONE"
},
- "doc": "The eraYear accessor property of Temporal.PlainDate instances returns a non-negative integer representing the year of this date within the era, or undefined if the calendar does not use eras (e.g., ISO 8601). The year index usually starts from 1 (more common) or 0, and years in an era can decrease with time (e.g., Gregorian BCE). era and eraYear together uniquely identify a year in a calendar, in the same way that year does. It is calendar-dependent.\nUnlike year, era and eraYear may change in the middle of a calendar year. For example, Japan started the Reiwa era on May 1, 2019, so dates from 2019-01-01 to 2019-04-30 have { era: \"heisei\", eraYear: 31 }, and dates from 2019-05-01 onwards have { era: \"reiwa\", eraYear: 1 }, but the year is always 2019 (because the Japanese calendar uses the ISO 8601 year as the default year).\n
The set accessor of eraYear is undefined. You cannot change this property directly. Use the with() method to create a new Temporal.PlainDate object with the desired new value."
+ "doc": "The eraYear accessor property of Temporal.PlainDate instances returns a non-negative integer representing the year of this date within the era, or undefined if the calendar does not use eras (e.g., ISO 8601). The year index usually starts from 1 (more common) or 0, and years in an era can decrease with time (e.g., Gregorian BCE). era and eraYear together uniquely identify a year in a calendar, in the same way that year does. It is calendar-dependent.\n
Unlike year, era and eraYear may change in the middle of a calendar year. For example, Japan started the Reiwa era on May 1, 2019, so dates from 2019-01-01 to 2019-04-30 have { era: \"heisei\", eraYear: 31 }, and dates from 2019-05-01 onwards have { era: \"reiwa\", eraYear: 1 }, but the year is always 2019 (because the Japanese calendar uses the ISO 8601 year as the arithmetic year).\n
For more information about the values of era and eraYear for different calendars, see the era property.\n
The set accessor of eraYear is undefined. You cannot change this property directly. Use the with() method to create a new Temporal.PlainDate object with the desired new value."
},
"temporal.plaindate.from": {
"url": "$MDN_URL$/web/javascript/reference/global_objects/temporal/plaindate/from",
@@ -19885,7 +19914,7 @@
"baseline": {
"level": "NONE"
},
- "doc": "The monthCode accessor property of Temporal.PlainDate instances returns a calendar-specific string representing the month of this date. It is calendar-dependent.\n
Usually it is M plus a two-digit month number. For leap months, it is the previous month's code followed by L (even if it's conceptually a derivative of the following month; for example, in the Hebrew calendar, Adar I has code M05L but Adar II has code M06). If the leap month is the first month of the year, the code is M00L.\n
Note:\nDon't assume that monthCode is a user-friendly string; use toLocaleString() to format your date instead. Generally, don't cache the name of months in an array or object. Even though monthCode usually maps to the month's name within one calendar, we recommend always computing the month's name using, for example, date.toLocaleString(\"en-US\", { calendar: date.calendarId, month: \"long\" }).\n
The set accessor of monthCode is undefined. You cannot change this property directly. Use the with() method to create a new Temporal.PlainDate object with the desired new value."
+ "doc": "The monthCode accessor property of Temporal.PlainDate instances returns a calendar-specific string representing the month of this date. It is calendar-dependent."
},
"temporal.plaindate.monthsinyear": {
"url": "$MDN_URL$/web/javascript/reference/global_objects/temporal/plaindate/monthsinyear",
@@ -20259,7 +20288,7 @@
"baseline": {
"level": "NONE"
},
- "doc": "The year accessor property of Temporal.PlainDate instances returns an integer representing the number of years of this date relative to the start of a calendar-specific epoch year. It is calendar-dependent.\n
This property has the same function as the era/eraYear pair as a unique identifier of a year in a calendar. Usually year 1 is either the first year of the latest era or the ISO 8601 year 0001. Because year is relative to the start of the epoch year, not the epoch date, if the epoch is in the middle of the year, that year will have the same value before and after the start date of the era.\n
The set accessor of year is undefined. You cannot change this property directly. Use the with() method to create a new Temporal.PlainDate object with the desired new value."
+ "doc": "The year accessor property of Temporal.PlainDate instances returns an integer representing the number of years of this date relative to the start of a calendar-specific epoch year. This property has the same function as the era/eraYear pair as a unique identifier of a year in a calendar. It is calendar-dependent."
},
"temporal.plaindate.yearofweek": {
"url": "$MDN_URL$/web/javascript/reference/global_objects/temporal/plaindate/yearofweek",
@@ -23610,7 +23639,7 @@
"lowDate": "2016-09-20",
"highDate": "2019-03-20"
},
- "doc": "The every() method of TypedArray instances returns false if it finds one element in the array that does not satisfy the provided testing function. Otherwise, it returns true. This method has the same algorithm as Array.prototype.every().",
+ "doc": "The every() method of TypedArray instances returns false if it finds an element in the array that does not satisfy the provided testing function. Otherwise, it returns true. This method has the same algorithm as Array.prototype.every().",
"parameters": {
"callbackFn": "A function to execute for each element in the typed array. It should return a truthy value to indicate the element passes the test, and a falsy value otherwise. The function is called with the following arguments:\n
elementThe current element being processed in the typed array.\n
indexThe index of the current element being processed in the typed array.\n
arrayThe typed array every() was called upon.\n
this when executing callbackFn. See iterative methods."
@@ -24264,7 +24293,7 @@
"lowDate": "2016-09-20",
"highDate": "2019-03-20"
},
- "doc": "The some() method of TypedArray instances returns true if it finds one element in the array that satisfies the provided testing function. Otherwise, it returns false. This method has the same algorithm as Array.prototype.some().",
+ "doc": "The some() method of TypedArray instances returns true if it finds an element in the array that satisfies the provided testing function. Otherwise, it returns false. This method has the same algorithm as Array.prototype.some().",
"parameters": {
"callbackFn": "A function to execute for each element in the typed array. It should return a truthy value to indicate the element passes the test, and a falsy value otherwise. The function is called with the following arguments:\nelementThe current element being processed in the typed array.\n
indexThe index of the current element being processed in the typed array.\n
arrayThe typed array some() was called upon.\n
this when executing callbackFn. See iterative methods."
@@ -25205,7 +25234,8 @@
"SafariIOS": "26.2"
},
"baseline": {
- "level": "NONE"
+ "level": "LOW",
+ "lowDate": "2026-02-14"
},
"doc": "The getOrInsert() method of WeakMap instances returns the value corresponding to the specified key in this WeakMap. If the key is not present, it inserts a new entry with the key and a given default value, and returns the inserted value.\nIf the computation of the default value is expensive, consider using WeakMap.prototype.getOrInsertComputed() instead, which takes a callback to compute the default value only if it's actually needed.",
"parameters": {
@@ -25232,7 +25262,8 @@
"SafariIOS": "26.2"
},
"baseline": {
- "level": "NONE"
+ "level": "LOW",
+ "lowDate": "2026-02-14"
},
"doc": "The getOrInsertComputed() method of WeakMap instances returns the value corresponding to the specified key in this WeakMap. If the key is not present, it inserts a new entry with the key and a default value computed from a given callback, and returns the inserted value.\n
Use this method instead of WeakMap.prototype.getOrInsert() when the default value is expensive to compute, and you want to avoid computing it unless it's actually needed.",
"parameters": {
diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Html.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Html.json
index 7dabdee8e2f8..cafcbfed0cbb 100644
--- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Html.json
+++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/Html.json
@@ -3075,6 +3075,7 @@
"Chrome": "20",
"ChromeAndroid": "33",
"Edge": "12",
+ "Firefox": "4",
"Opera": "9.5",
"Safari": "12.1",
"SafariIOS": "12.2"
@@ -3328,7 +3329,7 @@
"lowDate": "2022-03-14",
"highDate": "2024-09-14"
},
- "doc": "The <dialog> HTML element represents a modal or non-modal dialog box or other interactive component, such as a dismissible alert, inspector, or subwindow.\n
The HTML <dialog> element is used to create both modal and non-modal dialog boxes. Modal dialog boxes interrupt interaction with the rest of the page being inert, while non-modal dialog boxes allow interaction with the rest of the page.\n
JavaScript should be used to display the <dialog> element. Use the .showModal() method to display a modal dialog and the .show() method to display a non-modal dialog. The dialog box can be closed using the .close() method or using the dialog method when submitting a <form> that is nested within the <dialog> element. Modal dialogs can also be closed by pressing the Esc key.",
+ "doc": "The <dialog> HTML element represents a modal or non-modal dialog box or other interactive component, such as a dismissible alert, inspector, or subwindow.\n
The HTML <dialog> element is used to create both modal and non-modal dialog boxes.\nModal dialog boxes block interaction with other UI elements, making the rest of the page inert, while non-modal dialog boxes allow interaction with the rest of the page.",
"details": {
"Content categories": "Flow content\n,\nsectioning root\n",
"Permitted content": "Flow content\n",
@@ -4538,6 +4539,56 @@
}
}
},
+ "geolocation": {
+ "url": "$MDN_URL$/web/html/reference/elements/geolocation",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The <geolocation> HTML element creates an interactive control for the user to share their location data with the page.\n
It provides:\n
geolocation feature.The <geolocation> element provides a declarative browser-defined control for sharing location data. In Chrome, for example, the button features a \"map pin\" icon and intuitive text (\"Use location\" in English content).\n
It also allows for intuitive management of user permissions.\nFor example, in Chrome, if the user previously denied permission to access location data, or dismissed the permission dialog without making a choice, they are free to press the button again to update their choice.\nIn cases where they previously denied permission, subsequent dialogs will inform them that they previously didn't allow location data to be shared, and ask them whether they want to continue not allowing it, or to allow it.\n
A key aspect of the <geolocation> element is that it reflects the user's conscious choice, and blocks possible usage that might trick the user into providing their location data unwittingly (see <geolocation> blocking for more information).\n
The element's DOM API interface, HTMLGeolocationElement, provides features to access returned position data, current permission status, and errors if the data retrieval was unsuccessful, reducing the amount of JavaScript logic that needs to be written. It also has events available to run code in response to location data being received, changes in permission status, and user interactions with the permission dialog.\n
Note:\nFor performance reasons, a maximum of three <geolocation> elements are allowed on any one page. If this quota is exceeded, all <geolocation> elements have their functionality disabled.\n
button\n",
+ "DOM interface": "HTMLGeolocationElement\n"
+ },
+ "attrs": {
+ "autolocate": {
+ "url": "$MDN_URL$/web/html/reference/elements/geolocation#autolocate",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "A boolean attribute that, when set to true, specifies that the browser should immediately retrieve location data when the <geolocation> element is rendered, provided permission was previously granted. If set to false, location data is not retrieved until the user activates the control. Defaults to false.\nIf permission was not previously granted, this attribute has no effect."
+ },
+ "watch": {
+ "url": "$MDN_URL$/web/html/reference/elements/geolocation#watch",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "A boolean attribute that, when set to true, specifies that the browser should retrieve location data whenever the position of the user's device changes. If set to false, location data is only retrieved once. Defaults to false."
+ }
+ }
+ },
"head": {
"url": "$MDN_URL$/web/html/reference/elements/head",
"status": [
@@ -6033,8 +6084,9 @@
"SafariIOS": "6"
},
"baseline": {
- "level": "LOW",
- "lowDate": "2023-08-01"
+ "level": "HIGH",
+ "lowDate": "2023-08-01",
+ "highDate": "2026-02-01"
},
"doc": "Valid for hidden, text, search, url, tel, and email input types, the dirname attribute enables the submission of the directionality of the element. When included, the form control will submit with two name/value pairs: the first being the name and value, and the second being the value of the dirname attribute as the name, with a value of ltr or rtl as set by the browser.\n
When the form above is submitted, the input cause both the name / value pair of fruit=cherry and the dirname / direction pair of fruit-dir=ltr to be sent.\nFor more information, see the dirname attribute."
},
@@ -6210,24 +6262,6 @@
},
"list": {
"url": "$MDN_URL$/web/html/reference/elements/input#list",
- "status": [
- "StandardTrack"
- ],
- "compatibility": {
- "Chrome": "20",
- "ChromeAndroid": "25",
- "Edge": "12",
- "Firefox": "4",
- "FirefoxAndroid": "4",
- "Opera": "12.1",
- "Safari": "12.1",
- "SafariIOS": "12.2"
- },
- "baseline": {
- "level": "HIGH",
- "lowDate": "2019-03-25",
- "highDate": "2021-09-25"
- },
"doc": "The value given to the list attribute should be the id of a <datalist> element located in the same document. The <datalist> provides a list of predefined values to suggest to the user for this input. Any values in the list that are not compatible with the type are not included in the suggested options. The values provided are suggestions, not requirements: users can select from this predefined list or provide a different value.\n
It is valid on text, search, url, tel, email, date, month, week, time, datetime-local, number, range, and color.\n
Per the specifications, the list attribute is not supported by the hidden, password, checkbox, radio, file, or any of the button types.\n
Depending on the browser, the user may see a custom color palette suggested, tic marks along a range, or even an input that opens like a <select> but allows for non-listed values. Check out the browser compatibility table for the other input types.\n
See the <datalist> element."
},
"max": {
@@ -11271,6 +11305,10 @@
},
"doc": "Sets the value of the clonable property of a ShadowRoot created using this element to true.\nIf set, a clone of the shadow host (the parent element of this <template>) created with Node.cloneNode() or Document.importNode() will include a shadow root in the copy."
},
+ "shadowrootcustomelementregistry": {
+ "url": "$MDN_URL$/web/html/reference/elements/template#shadowrootcustomelementregistry",
+ "doc": "Sets the customElementRegistry property of a ShadowRoot created using this element to null, rather than the document's custom element registry.\nThis allows a scoped CustomElementRegistry to be attached later using CustomElementRegistry.initialize()."
+ },
"shadowrootdelegatesfocus": {
"url": "$MDN_URL$/web/html/reference/elements/template#shadowrootdelegatesfocus",
"status": [
@@ -11447,8 +11485,9 @@
"SafariIOS": "6"
},
"baseline": {
- "level": "LOW",
- "lowDate": "2023-08-01"
+ "level": "HIGH",
+ "lowDate": "2023-08-01",
+ "highDate": "2026-02-01"
},
"doc": "This attribute is used to indicate the text directionality of the element contents.\nFor more information, see the dirname attribute."
},
diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-a.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-a.json
index d68ec6021956..60ab3d7675e3 100644
--- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-a.json
+++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-a.json
@@ -2238,7 +2238,10 @@
"lowDate": "2015-07-29",
"highDate": "2018-01-29"
},
- "doc": "The buffer property of the AudioBufferSourceNode interface provides the ability to play back audio using an AudioBuffer as the source of the sound data.\n
If the buffer property is set to the value null, the node\ngenerates a single channel containing silence (that is, every sample is 0)."
+ "doc": "The buffer property of the AudioBufferSourceNode interface provides the ability to play back audio using an AudioBuffer as the source of the sound data.\n
If the buffer property is set to the value null, the node\ngenerates a single channel containing silence (that is, every sample is 0).",
+ "throws": {
+ "InvalidStateError DOMException": "Thrown if the buffer property has already been set to a non-null value, and is then set to a non-null value again."
+ }
},
"audiobuffersourcenode.detune": {
"url": "$MDN_URL$/web/api/audiobuffersourcenode/detune",
@@ -3848,7 +3851,7 @@
"parameters": {
"destination": "An AudioNode or AudioParam specifying the node or nodes to disconnect from. If this value is an AudioNode, a single node is disconnected from, with any other, optional, parameters (output and/or input) further limiting which inputs and/or outputs should be disconnected. If this value is an AudioParam, then the connection to that AudioParam is terminated, and the node's contributions to that computed parameter become 0 going forward once the change takes effect.",
"output": "An index describing which output from the current AudioNode is to be disconnected. The index numbers are defined according to the number of output channels (see Audio channels).",
- "input": "An index describing which input into the specified destination AudioNode is to be disconnected. The index numbers are defined according to the number of input channels (see Audio channels)."
+ "input": "An index describing which input into the specified destination AudioNode is to be disconnected. The index numbers are defined according to the number of input channels (see Audio channels). Not applicable if destination is an AudioParam."
},
"returns": "None (undefined).",
"throws": {
@@ -4000,8 +4003,6 @@
"compatibility": {
"Chrome": "14",
"Edge": "12",
- "Firefox": "134",
- "FirefoxAndroid": "134",
"Opera": "15",
"Safari": "6",
"SafariIOS": "6"
@@ -4024,8 +4025,6 @@
"compatibility": {
"Chrome": "14",
"Edge": "12",
- "Firefox": "134",
- "FirefoxAndroid": "134",
"Opera": "15",
"Safari": "6",
"SafariIOS": "6"
@@ -4395,6 +4394,36 @@
"RangeError": "Thrown if the value specified for when is negative."
}
},
+ "audiosession": {
+ "url": "$MDN_URL$/web/api/audiosession",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Safari": "16.4",
+ "SafariIOS": "16.4"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The AudioSession interface of the Audio Session API allows developers to specify how audio from a web application interacts with other audio playing on a device.\n
An audio session represents the aggregated audio output from a web page. It allows web pages to express the general nature of their audio output, such as playback, recording, or transient sounds like notifications. The platform can then use this information to determine how web-based audio should interact with other applications on the device, for example, whether web audio should pause other audio or play alongside it." + }, + "audiosession.type": { + "url": "$MDN_URL$/web/api/audiosession/type", + "status": [ + "Experimental", + "StandardTrack" + ], + "compatibility": { + "Safari": "16.4", + "SafariIOS": "16.4" + }, + "baseline": { + "level": "NONE" + }, + "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The type property of the AudioSession interface returns or sets the type of the audio session.\n
The audio session type describes the general nature of a web page's audio output, allowing the platform to determine how web-based audio should interact with other audio playing on the device." + }, "audiosinkinfo": { "url": "$MDN_URL$/web/api/audiosinkinfo", "status": [ @@ -6896,7 +6925,8 @@ "Deno": "1.45" }, "baseline": { - "level": "NONE" + "level": "LOW", + "lowDate": "2026-01-21" }, "doc": "
Note: This feature is available in Web Workers.
The bytes() method of the Blob interface returns a Promise that resolves with a Uint8Array containing the contents of the blob as an array of bytes.",
"returns": "A Promise that fulfills with a Uint8Array object containing the blob data."
@@ -12244,7 +12274,7 @@
}
},
"clipboardchangeevent": {
- "url": "$MDN_URL$/web/api/ClipboardChangeEvent",
+ "url": "$MDN_URL$/web/api/clipboardchangeevent",
"status": [
"Experimental",
"StandardTrack"
@@ -12257,10 +12287,10 @@
"baseline": {
"level": "NONE"
},
- "doc": "The ClipboardChangeEvent interface of the Clipboard API represents events fired whenever the contents of the system clipboard are changed."
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The ClipboardChangeEvent interface of the Clipboard API represents events fired whenever the contents of the system clipboard are changed."
},
"clipboardchangeevent.changeid": {
- "url": "$MDN_URL$/web/api/ClipboardChangeEvent/changeId",
+ "url": "$MDN_URL$/web/api/clipboardchangeevent/changeid",
"status": [
"Experimental",
"StandardTrack"
@@ -12273,10 +12303,10 @@
"baseline": {
"level": "NONE"
},
- "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The changeId read-only property of the ClipboardChangeEvent interface returns an integer representing a unique identifier for this specific clipboard change operation.\n
The identifier is consistent across all windows and tabs with the same storage key for the same clipboard change, enabling applications to deduplicate events when multiple windows receive the same clipboard change notification." + "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The changeId read-only property of the ClipboardChangeEvent interface returns an integer representing a unique identifier for this specific clipboard change operation.\n
The identifier is consistent across all windows and tabs with the same storage key for the same clipboard change, enabling applications to deduplicate events when multiple windows receive the same clipboard change notification." }, "clipboardchangeevent.clipboardchangeevent": { - "url": "$MDN_URL$/web/api/ClipboardChangeEvent/ClipboardChangeEvent", + "url": "$MDN_URL$/web/api/clipboardchangeevent/clipboardchangeevent", "status": [ "Experimental", "StandardTrack" @@ -12289,7 +12319,7 @@ "baseline": { "level": "NONE" }, - "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The ClipboardChangeEvent() constructor creates a new ClipboardChangeEvent object instance when a clipboardchange event occurs. The clipboardchange event fires whenever the system clipboard contents are changed either by a web app or any other system application.\n
Note:\nThis event constructor is generally not needed for production websites. Its primary use is for tests that require an instance of this event.\n
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The ClipboardChangeEvent() constructor creates a new ClipboardChangeEvent object instance when a clipboardchange event occurs. The clipboardchange event fires whenever the system clipboard contents are changed either by a web app or any other system application.\n
Note:\nThis event constructor is generally not needed for production websites. Its primary use is for tests that require an instance of this event.\n
clipboardchange.",
"options": "An object that, in addition to the properties defined in Event(), can have the following properties:\ntypesAn array of strings representing the data types available on the system clipboard.\n
changeIdAn integer representing a unique identifier for the clipboard change operation.\n
ClipboardChangeEvent object."
},
"clipboardchangeevent.types": {
- "url": "$MDN_URL$/web/api/ClipboardChangeEvent/types",
+ "url": "$MDN_URL$/web/api/clipboardchangeevent/types",
"status": [
"Experimental",
"StandardTrack"
@@ -12310,7 +12340,7 @@
"baseline": {
"level": "NONE"
},
- "doc": "Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The types read-only property of the ClipboardChangeEvent interface returns an array of strings representing the mandatory MIME types available on the system clipboard when the ClipboardChangeEvent event was fired. Optional types and custom formats are not included to limit fingerprinting."
+ "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The types read-only property of the ClipboardChangeEvent interface returns an array of strings representing the mandatory MIME types available on the system clipboard when the ClipboardChangeEvent event was fired. Optional types and custom formats are not included to limit fingerprinting."
},
"clipboardevent": {
"url": "$MDN_URL$/web/api/clipboardevent",
@@ -14874,7 +14904,7 @@
"returns": "A Promise that resolves with one of the following:\n
FederatedCredential, if the credential type was federated.PasswordCredential, if the credential type was password.PublicKeyCredential, if the credential type was publicKey.If no credential object can be created, the promise resolves with null.",
"throws": {
"TypeError": "In the case of a PasswordCredential creation request, id, origin, or password were not provided (empty).",
- "NotAllowedError DOMException": "Possible causes include:\n
publickey-credentials-create Permissions Policy.allow attribute does not set an appropriate publickey-credentials-create policy.<iframe> does not have transient activation.residentKey is set to required in the create() call's PublicKeyCredentialCreationOptions option), but the user does not have a security key that supports discoverable credentials, and cancels the operation.publickey-credentials-create Permissions Policy.allow attribute does not set an appropriate publickey-credentials-create policy.<iframe> does not have transient activation.residentKey is set to required in the create() call's PublicKeyCredentialCreationOptions option), but the user does not have an authenticator that supports discoverable credentials.Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The get() method of the CredentialsContainer interface returns a Promise that fulfills with a single credential, which can then be used to authenticate a user to a website.\n
The method accepts a single optional options argument, which may include:\n
mediation property indicating how and whether the user should be asked to participate in the operation.\nThis controls, for example, whether the site can silently sign a user in using a stored credential.signal property enabling the operation to be cancelled using an AbortController.password, federated, identity, otp, publicKey — which indicate the types of credential being requested. If set, the values of these properties include any parameters that the browser needs in order to find an appropriate credential of the requested type.The API always fulfills with a single credential or null. If multiple credentials are available and user mediation is allowed, then the browser will ask the user to select a single credential.",
"parameters": {
- "options": "An object that contains options for the request. It can contain the following properties:\n
mediation OptionalA string indicating whether the user will be required to login for every visit to a client app. The value can be one of the following:\n
\"conditional\"Discovered credentials are presented to the user in a non-modal dialog box along with an indication of the origin requesting credentials. In practice, this means autofilling available credentials; see Sign in with a passkey through form autofill for more details of how this is used; PublicKeyCredential.isConditionalMediationAvailable() also provides some useful information.\n
\"optional\"If credentials can be handed over for a given operation without user mediation, they will be, enabling automatic reauthentication without user mediation. If user mediation is required, then the user agent will ask the user to authenticate. This value is intended for situations where you have reasonable confidence that a user won't be surprised or confused at seeing a login dialog box — for example on a site that doesn't automatically log users in, when a user has just clicked a \"Login/Signup\" button.\n
\"required\"The user will always be asked to authenticate. This value is intended for situations where you want to force user authentication — for example if you want a user to reauthenticate when a sensitive operation is being performed (like confirming a credit card payment), or when switching users.\n
\"silent\"The user will not be asked to authenticate. The user agent will automatically reauthenticate the user and log them in if possible. If consent is required, the promise will fulfill with null. This value is intended for situations where you would want to automatically sign a user in upon visiting a web app if possible, but if not, you don't want to present them with a confusing login dialog box. Instead, you'd want to wait for them to explicitly click a \"Login/Signup\" button.\n
The default value is \"optional\".\n
Note:\nIn the case of a federated authentication (FedCM API) request, a mediation value of optional or silent may result in attempted auto-reauthentication. Whether this occurred is communicated to the identity provider (IdP) via the is_auto_selected parameter sent to the IdP's id_assertion_endpoint during validation and the relying party (RP) via the IdentityCredential.isAutoSelected property. This is useful for performance evaluation, security requirements (the IdP may wish to reject automatic reauthentication requests and always require user mediation), and general UX (an IdP or RP may wish to present different UX for auto and non-auto login experiences).\n
signal OptionalAn AbortSignal object instance that allows an ongoing get() operation to be aborted. An aborted operation may complete normally (generally if the abort was received after the operation finished) or reject with the signal's reason (which is an AbortError DOMException by default, or a custom value if one was provided when calling abort()).\n
password OptionalThis option asks the browser to retrieve a stored password as a PasswordCredential object. It is a boolean value.\n
identity OptionalThis option asks the browser to retrieve a federated identity credential as an IdentityCredential object, using the Federated Credential Management API.\n
This option's value is an IdentityCredentialRequestOptions object containing details of the specific identity providers that the website wants to use.\n
federated OptionalThis option asks the browser to retrieve a federated identity credential as a FederatedCredential object. This interface is now superseded, and developers should prefer to use the identity option, if it is available.\n
This option's value is an object with the following properties:\n
protocolsAn array of strings representing the protocols of the requested credentials' federated identity providers (for example, \"openidconnect\").\n
providersAn array of strings representing the credentials' federated identity providers (for example \"https://www.facebook.com\" or \"https://accounts.google.com\").\n
otp OptionalThis option asks the browser to retrieve a one-time password (OTP) as an OTPCredential object.\n
This option's value is an array of strings which may only contain the string value \"sms\".\n
publicKey OptionalThis option asks the browser to retrieve an assertion signed using the Web Authentication API as a PublicKeyCredential.\n
This option's value is a PublicKeyCredentialRequestOptions object.\n
mediation OptionalA string indicating how the user is involved in retrieving the credential. The value can be one of the following:\n
\"conditional\"Discovered credentials are presented to the user in a non-modal dialog box along with an indication of the origin requesting credentials. In practice, this means autofilling available credentials; see Autofill UI for more details of how this is used.\n
\"optional\"If credentials can be handed over for a given operation without user mediation, they will be, enabling automatic reauthentication without user mediation. If user mediation is required, then the user agent will ask the user to authenticate. This value is intended for situations where you have reasonable confidence that a user won't be surprised or confused at seeing a login dialog box — for example on a site that doesn't automatically log users in, when a user has just clicked a \"Login/Signup\" button.\n
\"required\"The user will always be asked to authenticate. This value is intended for situations where you want to force user authentication — for example if you want a user to reauthenticate when a sensitive operation is being performed (like confirming a credit card payment), or when switching users.\n
\"silent\"The user will not be asked to authenticate. The user agent will automatically reauthenticate the user and log them in if possible. If consent is required, the promise will fulfill with null. This value is intended for situations where you would want to automatically sign a user in upon visiting a web app if possible, but if not, you don't want to present them with a confusing login dialog box. Instead, you'd want to wait for them to explicitly click a \"Login/Signup\" button.\n
The default value is \"optional\".\n
Note:\nIn the case of a federated authentication (FedCM API) request, a mediation value of optional or silent may result in attempted auto-reauthentication. Whether this occurred is communicated to the identity provider (IdP) via the is_auto_selected parameter sent to the IdP's id_assertion_endpoint during validation and the relying party (RP) via the IdentityCredential.isAutoSelected property. This is useful for performance evaluation, security requirements (the IdP may wish to reject automatic reauthentication requests and always require user mediation), and general UX (an IdP or RP may wish to present different UX for auto and non-auto login experiences).\n
signal OptionalAn AbortSignal object instance that allows an ongoing get() operation to be aborted. An aborted operation may complete normally (generally if the abort was received after the operation finished) or reject with the signal's reason (which is an AbortError DOMException by default, or a custom value if one was provided when calling abort()).\n
password OptionalThis option asks the browser to retrieve a stored password as a PasswordCredential object. It is a boolean value.\n
identity OptionalThis option asks the browser to retrieve a federated identity credential as an IdentityCredential object, using the Federated Credential Management API.\n
This option's value is an IdentityCredentialRequestOptions object containing details of the specific identity providers that the website wants to use.\n
federated OptionalThis option asks the browser to retrieve a federated identity credential as a FederatedCredential object. This interface is now superseded, and developers should prefer to use the identity option, if it is available.\n
This option's value is an object with the following properties:\n
protocolsAn array of strings representing the protocols of the requested credentials' federated identity providers (for example, \"openidconnect\").\n
providersAn array of strings representing the credentials' federated identity providers (for example \"https://www.facebook.com\" or \"https://accounts.google.com\").\n
otp OptionalThis option asks the browser to retrieve a one-time password (OTP) as an OTPCredential object.\n
This option's value is an array of strings which may only contain the string value \"sms\".\n
publicKey OptionalThis option asks the browser to retrieve an assertion signed using the Web Authentication API as a PublicKeyCredential.\n
This option's value is a PublicKeyCredentialRequestOptions object.\n
Promise that resolves with one of the following subclasses of Credential:\n\nIf conditional mediation was specified in the get() call, the browser UI dialog is shown and the promise remains pending until the user picks an account to sign-in with from available autofill suggestions:\n
PublicKeyCredential is returned to the caller.If a single credential cannot be unambiguously obtained, the promise resolves with null.",
"throws": {
@@ -15574,7 +15604,7 @@
},
"doc": "The CSS.registerProperty() static method registers\ncustom properties, allowing for property type checking, default\nvalues, and properties that do or do not inherit their value.\n
Registering a custom property allows you to tell the browser how the custom property\nshould behave; what types are allowed, whether the custom property inherits its value,\nand what the default value of the custom property is.", "parameters": { - "propertyDefinition": "An object containing the following properties:\n
nameA string representing the\nname of the property being defined.\n
syntax OptionalA string representing\nthe expected syntax of the defined property. Defaults to \"*\".\n
inheritsA boolean value defining whether the defined property should be inherited\n(true), or not (false). Defaults to false.\n
initialValue OptionalA string representing\nthe initial value of the defined property.\n
nameA string representing the\n<dashed-ident> name of the property being defined.\n
syntax OptionalA string representing\nthe expected syntax of the defined property. Defaults to \"*\".\nSee the syntax.\n
inheritsA boolean value defining whether the defined property should be inherited\n(true), or not (false). Defaults to false.\n
initialValue OptionalA string representing\nthe initial value of the defined property.\n
undefined.",
"throws": {
@@ -16059,6 +16089,227 @@
},
"doc": "The read-only style property of the CSSFontFaceRule interface contains a CSSStyleDeclaration object representing the descriptors available in the @font-face rule's body."
},
+ "cssfontfeaturevaluesmap": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "111",
+ "ChromeAndroid": "111",
+ "Edge": "111",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The CSSFontFeatureValuesMap interface of the CSS Object Model (CSSOM) represents an iterable and read-only set of the CSSFontFeatureValuesRule properties, such as swash, annotation, ornaments, etc.\n
An CSSFontFeatureValuesMap instance is a read-only Map-like object, in which each key is the user-defined name used to reference a font feature, and the corresponding value is the index for the font feature within the font."
+ },
+ "cssfontfeaturevaluesmap.clear": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap/clear",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "111",
+ "ChromeAndroid": "111",
+ "Edge": "111",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The clear() method of the CSSFontFeatureValuesMap interface removes all declarations in the CSSFontFeatureValuesMap.",
+ "returns": "None (undefined)."
+ },
+ "cssfontfeaturevaluesmap.delete": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap/delete",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "111",
+ "ChromeAndroid": "111",
+ "Edge": "111",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The delete() method of the CSSFontFeatureValuesMap interface removes the CSS declaration with the given property in the CSSFontFeatureValuesMap.",
+ "parameters": {
+ "property": "An identifier indicating the declaration to remove."
+ },
+ "returns": "None (undefined)."
+ },
+ "cssfontfeaturevaluesmap.entries": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap/entries",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "111",
+ "ChromeAndroid": "111",
+ "Edge": "111",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The entries() method of CSSFontFeatureValuesMap instances returns a new map iterator object that contains the [key, value] pairs for each declaration in this CSSFontFeatureValuesMap in insertion order.",
+ "returns": "A new iterable iterator object."
+ },
+ "cssfontfeaturevaluesmap.foreach": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap/foreach",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "111",
+ "ChromeAndroid": "111",
+ "Edge": "111",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The forEach() method of CSSFontFeatureValuesMap instances executes a provided function once per each key/value pair in this map, in insertion order.",
+ "parameters": {
+ "callbackFn": "A function to execute for each entry in the map. The function is called with the following arguments:\n
valueValue of each iteration.\n
keyKey of each iteration.\n
mapThe map being iterated.\n
this when executing callbackFn."
+ },
+ "returns": "None (undefined)."
+ },
+ "cssfontfeaturevaluesmap.get": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap/get",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "111",
+ "ChromeAndroid": "111",
+ "Edge": "111",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The get() method of the CSSFontFeatureValuesMap interface returns value corresponding to the key in this CSSFontFeatureValuesMap, or undefined if there is none.",
+ "parameters": {
+ "key": "The key of the value to return from the CSSFontFeatureValuesMap object."
+ },
+ "returns": "Returns true if an entry with the specified key exists in the CSSFontFeatureValuesMap object; otherwise false."
+ },
+ "cssfontfeaturevaluesmap.has": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap/has",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "111",
+ "ChromeAndroid": "111",
+ "Edge": "111",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The has() method of the CSSFontFeatureValuesMap interface returns a boolean indicating whether an entry with the specified key exists in this CSSFontFeatureValuesMap or not.",
+ "parameters": {
+ "key": "The key of the value to return from the CSSFontFeatureValuesMap object."
+ },
+ "returns": "The value associated with the specified key in the CSSFontFeatureValuesMap object. If the key can't be found, undefined is returned."
+ },
+ "cssfontfeaturevaluesmap.keys": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap/keys",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "111",
+ "ChromeAndroid": "111",
+ "Edge": "111",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The keys() method of CSSFontFeatureValuesMap instances returns a new map iterator object that contains the [key, value] pairs for each declaration in this CSSFontFeatureValuesMap in insertion order.",
+ "returns": "A new iterable iterator object."
+ },
+ "cssfontfeaturevaluesmap.set": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap/set",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "111",
+ "ChromeAndroid": "111",
+ "Edge": "111",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The set() method of CSSFontFeatureValuesMap instances adds a new entry with a specified key and value to this CSSFontFeatureValuesMap, or updates an existing entry if the key already exists.",
+ "parameters": {
+ "key": "The key of the entry to add to or modify within the CSSFontFeatureValuesMap object. Can be any value.",
+ "value": "The value of the entry to add to or modify within the CSSFontFeatureValuesMap object. Must be an integer that matches the index of the alternative font feature."
+ },
+ "returns": "The CSSFontFeatureValuesMap object."
+ },
+ "cssfontfeaturevaluesmap.size": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap/size",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "111",
+ "ChromeAndroid": "111",
+ "Edge": "111",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The size read-only property of the CSSFontFeatureValuesMap interface returns a positive integer containing the size of the CSSFontFeatureValuesMap object."
+ },
+ "cssfontfeaturevaluesmap.symbol.iterator": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap/symbol.iterator",
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The [Symbol.iterator]() method of CSSFontFeatureValuesMap interface implements the iterable protocol and allows built-in iterators to be consumed by most syntaxes expecting iterables, such as the spread syntax and for...of loops. It returns the value of this, which is the iterator object itself.",
+ "returns": "The value of this, which is the iterator object itself."
+ },
+ "cssfontfeaturevaluesmap.values": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesmap/values",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "111",
+ "ChromeAndroid": "111",
+ "Edge": "111",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The values() method of CSSFontFeatureValuesMap instances returns a new map iterator object that contains the [key, value] pairs for each declaration in this CSSFontFeatureValuesMap in insertion order.",
+ "returns": "A new iterable iterator object."
+ },
"cssfontfeaturevaluesrule": {
"url": "$MDN_URL$/web/api/cssfontfeaturevaluesrule",
"status": [
@@ -16078,7 +16329,41 @@
"level": "LOW",
"lowDate": "2025-03-06"
},
- "doc": "The CSSFontFeatureValuesRule interface represents an @font-feature-values at-rule, letting developers assign for each font face a common name to specify features indices to be used in font-variant-alternates."
+ "doc": "The CSSFontFeatureValuesRule interface represents an @font-feature-values at-rule. The values of its instance properties can be accessed with the CSSFontFeatureValuesMap interface.\n
@font-feature-values allows developers to associate, for a given font face, a human-readable name with a numeric index that controls a particular OpenType font feature.\nFor features that select alternative glyphs (stylistic, styleset, character-variant, swash, ornament or annotation), the font-variant-alternates property can then reference the human-readable name in order to apply the associated feature.\nThis is convenient, because it allows the same name to be used of represent a set of alternative glyphs across a number of fonts."
+ },
+ "cssfontfeaturevaluesrule.annotation": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesrule/annotation",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "134",
+ "ChromeAndroid": "134",
+ "Edge": "134",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The read-only annotation property of the CSSFontFeatureValuesRule interface contains a CSSFontFeatureValuesMap object representing the user-defined-ident and feature index for a variable font which supports annotation()."
+ },
+ "cssfontfeaturevaluesrule.charactervariant": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesrule/charactervariant",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "134",
+ "ChromeAndroid": "134",
+ "Edge": "134",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The read-only characterVariant property of the CSSFontFeatureValuesRule interface contains a CSSFontFeatureValuesMap object representing the user-defined-ident and feature index for a variable font which supports character-variant()."
},
"cssfontfeaturevaluesrule.fontfamily": {
"url": "$MDN_URL$/web/api/cssfontfeaturevaluesrule/fontfamily",
@@ -16099,7 +16384,75 @@
"level": "LOW",
"lowDate": "2025-03-06"
},
- "doc": "The fontFamily property of the CSSConditionRule interface represents the name of the font family it applies to."
+ "doc": "The fontFamily property of the CSSFontFeatureValuesRule interface represents the name of the font family it applies to."
+ },
+ "cssfontfeaturevaluesrule.ornaments": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesrule/ornaments",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "134",
+ "ChromeAndroid": "134",
+ "Edge": "134",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The read-only ornaments property of the CSSFontFeatureValuesRule interface contains a CSSFontFeatureValuesMap object representing the user-defined-ident and feature index for a variable font which supports ornaments()."
+ },
+ "cssfontfeaturevaluesrule.styleset": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesrule/styleset",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "134",
+ "ChromeAndroid": "134",
+ "Edge": "134",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The read-only styleset property of the CSSFontFeatureValuesRule interface contains a CSSFontFeatureValuesMap object representing the user-defined-ident and feature index for a variable font which supports styleset()."
+ },
+ "cssfontfeaturevaluesrule.stylistic": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesrule/stylistic",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "134",
+ "ChromeAndroid": "134",
+ "Edge": "134",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The read-only stylistic property of the CSSFontFeatureValuesRule interface contains a CSSFontFeatureValuesMap object representing the user-defined-ident and feature index for a variable font which supports stylistic()."
+ },
+ "cssfontfeaturevaluesrule.swash": {
+ "url": "$MDN_URL$/web/api/cssfontfeaturevaluesrule/swash",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "134",
+ "ChromeAndroid": "134",
+ "Edge": "134",
+ "Opera": "97"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The read-only swash property of the CSSFontFeatureValuesRule interface contains a CSSFontFeatureValuesMap object representing the developer-provided name and feature index for a variable font which supports swash()."
},
"cssfontpalettevaluesrule": {
"url": "$MDN_URL$/web/api/cssfontpalettevaluesrule",
@@ -20788,7 +21141,25 @@
"lowDate": "2020-01-15",
"highDate": "2022-07-15"
},
- "doc": "The CustomElementRegistry interface provides methods for registering custom elements and querying registered elements. To get an instance of it, use the window.customElements property."
+ "doc": "The CustomElementRegistry interface provides methods for registering custom elements and querying registered elements. To get an instance of it, use the window.customElements property. To create a scoped registry, use the CustomElementRegistry() constructor."
+ },
+ "customelementregistry.customelementregistry": {
+ "url": "$MDN_URL$/web/api/customelementregistry/CustomElementRegistry",
+ "status": [
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
+ "Safari": "26",
+ "SafariIOS": "26"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "The CustomElementRegistry() constructor creates a new CustomElementRegistry object for scoped usage.\n
The constructor is specifically used for creating scoped registries that limit custom element definitions to a particular scope, such as an element or ShadowRoot.\n
Note:\nThe global CustomElementRegistry object associated with a Window is not created using this constructor; it is automatically created when the window is set up, and is accessible via the window.customElements property.\n
CustomElementRegistry object."
},
"customelementregistry.define": {
"url": "$MDN_URL$/web/api/customelementregistry/define",
@@ -20867,6 +21238,30 @@
},
"returns": "The name for the previously defined custom element, or null if there is no custom element defined with the constructor."
},
+ "customelementregistry.initialize": {
+ "url": "$MDN_URL$/web/api/customelementregistry/initialize",
+ "status": [
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
+ "Safari": "26",
+ "SafariIOS": "26"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "The initialize() method of the CustomElementRegistry interface associates this registry with a DOM subtree, setting the customElementRegistry of each inclusive descendant that doesn't already have one, and attempting to upgrade any custom elements found.",
+ "parameters": {
+ "root": "A Node object (typically a Document, ShadowRoot, or Element) whose inclusive descendants will be associated with this registry."
+ },
+ "returns": "None (undefined).",
+ "throws": {
+ "NotSupportedError DOMException": "Thrown if this CustomElementRegistry is not scoped (i.e., not created with new CustomElementRegistry()) and either root is a Document node or root's node document's customElementRegistry is not this CustomElementRegistry."
+ }
+ },
"customelementregistry.upgrade": {
"url": "$MDN_URL$/web/api/customelementregistry/upgrade",
"status": [
@@ -21252,6 +21647,61 @@
"doc": "The values() method of the CustomStateSet interface returns a new iterator object that yields the values for each element in the CustomStateSet object in insertion order.",
"returns": "A new iterator object containing the values for each element in the given CustomStateSet, in insertion order."
},
+ "datacue": {
+ "url": "$MDN_URL$/web/api/datacue",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Safari": "11",
+ "SafariIOS": "11"
+ },
+ "doc": "Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The DataCue interface represents a cue that associates arbitrary timed data with an audio or video media resource, or exposes timed data from a media resource to web pages. It extends the TextTrackCue interface with a value property that can hold any data type, and a type property that identifies the kind of data.\n
Unlike VTTCue, which is designed for displaying subtitle and caption text, DataCue is intended for non-rendered timed metadata. Use cases include dynamic content replacement, ad insertion, presentation of supplemental content alongside audio or video, or more generally, triggering application logic at specific points on the media timeline.\n
Some user agents may also automatically generate DataCue objects for in-band timed metadata carried within media streams, such as ID3 tags in HTTP Live Streaming (HLS)."
+ },
+ "datacue.datacue": {
+ "url": "$MDN_URL$/web/api/datacue/datacue",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Safari": "11",
+ "SafariIOS": "11"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The DataCue() constructor creates and returns a new DataCue object that represents a timed metadata cue over a given time range. The resulting cue can be added to a metadata TextTrack using TextTrack.addCue(), allowing arbitrary data to be synchronized with audio or video playback.",
+ "parameters": {
+ "startTime": "A number representing the start time, in seconds, for the cue's time range. This corresponds to the point on the media timeline at which the cue becomes active and its enter event fires.",
+ "endTime": "A number representing the end time, in seconds, for the cue's time range. When the media playback reaches this time, the cue's exit event fires. Use Infinity for a cue that remains active until the end of the media.",
+ "value": "The data payload associated with the cue. This can be any type, such as a string, a JavaScript object, or an ArrayBuffer. The value is stored in the cue's value property.",
+ "type": "A string identifying the type or schema of the data in value. This is typically a reverse-domain notation string (e.g., \"org.id3\", \"org.mp4ra\"). The value is stored in the cue's type property and defaults to an empty string if not provided."
+ },
+ "returns": "A new DataCue object."
+ },
+ "datacue.type": {
+ "url": "$MDN_URL$/web/api/datacue/type",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Safari": "11",
+ "SafariIOS": "11"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The type read-only property of the DataCue interface returns a string identifying the type or schema of the data stored in the cue's value property. This is typically a reverse-domain notation string (e.g., \"org.id3\", \"com.apple.itunes\") that allows applications to interpret the cue's data payload correctly.\n
When a user agent automatically generates DataCue objects for in-band timed metadata (for example, from an HTTP Live Streaming source), it sets this property to indicate the metadata format. When application code creates a DataCue using the DataCue() constructor, the type is set from the optional fourth argument and defaults to an empty string if omitted."
+ },
+ "datacue.value": {
+ "url": "$MDN_URL$/web/api/datacue/value",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Safari": "11",
+ "SafariIOS": "11"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The value property of the DataCue interface represents the data payload of the cue. Unlike VTTCue, which carries text content, DataCue can hold any data type — such as a JavaScript object, a string, or an ArrayBuffer — making it suitable for timed metadata use cases where structured data needs to be synchronized with media playback.\n
The property is read-write for application-created cues, allowing the data to be updated after construction. For cues generated automatically by the user agent from in-band timed metadata (e.g., ID3 tags in an HTTP Live Streaming source), the value is set by the user agent and reflects the metadata payload.\n
The type property can be used alongside value to identify the format or schema of the data."
+ },
"datatransfer": {
"url": "$MDN_URL$/web/api/datatransfer",
"status": [
@@ -22456,6 +22906,24 @@
},
"doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The interval read-only property of the DeviceMotionEvent interface returns the interval, in milliseconds, at which data is obtained from the underlying\nhardware. You can use this to determine the granularity of motion events."
},
+ "devicemotionevent.requestpermission": {
+ "url": "$MDN_URL$/web/api/devicemotionevent/requestpermission_static",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "SafariIOS": "14.5"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The requestPermission() static method of the DeviceMotionEvent interface requests the user's permission to access device motion data from the accelerometer and gyroscope sensors. This method requires transient activation, meaning that it must be triggered by a UI event such as a button click.",
+ "returns": "A Promise that resolves with a string which is either \"granted\" or \"denied\".",
+ "throws": {
+ "NotAllowedError DOMException": "The permission state is \"prompt\" and the calling function does not have transient activation."
+ }
+ },
"devicemotionevent.rotationrate": {
"url": "$MDN_URL$/web/api/devicemotionevent/rotationrate",
"status": [
@@ -22755,6 +23223,27 @@
},
"doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The gamma read-only property of the DeviceOrientationEvent interface returns the rotation of the device around the Y axis; that is, the number of degrees,\nranged between -90 and 90, by which the device is tilted left\nor right.\nSee Orientation and motion data explained for details."
},
+ "deviceorientationevent.requestpermission": {
+ "url": "$MDN_URL$/web/api/deviceorientationevent/requestpermission_static",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "SafariIOS": "14.5"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The requestPermission() static method of the DeviceOrientationEvent interface requests the user's permission to access device orientation data from the accelerometer and gyroscope sensors. It can also request permission to access magnetometer data when absolute orientation is needed. This method requires transient activation, meaning that it must be triggered by a UI event such as a button click.",
+ "parameters": {
+ "absolute": "A boolean indicating whether absolute orientation data is needed. When true, the permission request also includes the magnetometer sensor. Defaults to false."
+ },
+ "returns": "A Promise that resolves with a string which is either \"granted\" or \"denied\".",
+ "throws": {
+ "NotAllowedError DOMException": "The permission state is \"prompt\" and the calling function does not have transient activation."
+ }
+ },
"deviceposture": {
"url": "$MDN_URL$/web/api/deviceposture",
"status": [
@@ -23771,6 +24260,23 @@
},
"doc": "The Document.currentScript property returns the <script> element whose script is currently being processed and isn't a JavaScript module. (For modules use import.meta instead.)\n
It's important to note that this will not reference the <script>\nelement if the code in the script is being called as a callback or event handler; it\nwill only reference the element while it's initially being processed."
},
+ "document.customelementregistry": {
+ "url": "$MDN_URL$/web/api/document/customElementRegistry",
+ "status": [
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
+ "Safari": "26",
+ "SafariIOS": "26"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "The customElementRegistry read-only property of the Document interface returns the CustomElementRegistry object associated with this document, or null if one has not been set.\n
For documents associated with a Window (such as the main document of a page), this is the global CustomElementRegistry that is also accessible through the window.customElements property. Documents created programmatically (for example, via DOMImplementation.createHTMLDocument()) have a null custom element registry by default.\n
This property is also available on ShadowRoot objects via the same customElementRegistry property name."
+ },
"document.defaultview": {
"url": "$MDN_URL$/web/api/document/defaultview",
"status": [
@@ -24080,7 +24586,7 @@
},
"doc": "
Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
Note:\nAlthough the execCommand() method is deprecated, there are still some valid use cases that do not yet have viable alternatives. For example, unlike direct DOM manipulation, modifications performed by execCommand() preserve the undo buffer (edit history). For these use cases, you can still use this method, but test to ensure cross-browser compatibility, such as by using document.queryCommandSupported().\n
The execCommand method implements multiple different commands. Some of them provide access to the clipboard, while others are for editing form inputs, contenteditable elements or entire documents (when switched to design mode).\n
To access the clipboard, the newer Clipboard API is recommended over execCommand().\n
Most commands affect the document's selection. For example, some commands (bold, italics, etc.) format the currently selected text, while others delete the selection, insert new elements (replacing the selection) or affect an entire line (indenting). Only the currently active editable element can be modified, but some commands (e.g., copy) can work without an editable element.\n
Note:\nModifications performed by execCommand() may or may not trigger beforeinput and input events, depending on the browser and configuration. If triggered, the handlers for the events will run before execCommand() returns. Authors need to be careful about such recursive calls, especially if they call execCommand() in response to these events. From Firefox 82, nested execCommand() calls will always fail, see bug 1634262.\n
backColorChanges the document background color. In styleWithCss mode, it affects the background color of the containing block instead. This requires a <color> value string to be passed in as a value argument.\n
boldToggles bold on/off for the selection or at the insertion point.\n
contentReadOnlyMakes the content document either read-only or editable. This requires a boolean true/false as the value argument.\n
copyCopies the current selection to the clipboard. Conditions of having this behavior enabled vary from one browser to another, and have evolved over time. Check the compatibility table to determine if you can use it in your case.\n
createLinkCreates a hyperlink from the selection, but only if there is a selection. Requires a URI string as a value argument for the hyperlink's href. The URI must contain at least a single character, which may be whitespace.\n
cutRemoves the current selection and copies it to the clipboard. When this behavior is enabled varies between browsers, and its conditions have evolved over time. Check the compatibility table for usage details.\n
decreaseFontSizeAdds a <small> tag around the selection or at the insertion point.\n
defaultParagraphSeparatorChanges the paragraph separator used when new paragraphs are created in editable text regions.\n
deleteDeletes the current selection.\n
enableAbsolutePositionEditorEnables or disables the grabber that allows absolutely-positioned elements to be moved around. The grabber is disabled by default since Firefox 64 (Firefox bug 1490641).\n
enableInlineTableEditingEnables or disables the table row/column insertion and deletion controls. The controls are disabled by default since Firefox 64 (Firefox bug 1490641).\n
enableObjectResizingEnables or disables the resize handles on images, tables, and absolutely-positioned elements and other resizable objects. The handles are disabled by default since Firefox 64 (Firefox bug 1490641).\n
fontNameChanges the font name for the selection or at the insertion point. This requires a font name string (like \"Arial\") as a value argument.\n
fontSizeChanges the font size for the selection or at the insertion point. This requires an integer from 1 - 7 as a value argument.\n
foreColorChanges a font color for the selection or at the insertion point. This requires a hexadecimal color value string as a value argument.\n
formatBlockAdds an HTML block-level element around the line containing the current selection, replacing the block element containing the line if one exists (in Firefox, <blockquote> is the exception — it will wrap any containing block element). Requires a tag-name string as a value argument. Virtually all block-level elements can be used. (Legacy Edge only supports heading tags H1 – H6, ADDRESS, and PRE, which must be wrapped in angle brackets, such as \"<H1>\".)\n
forwardDeleteDeletes the character ahead of the cursor's position, identical to hitting the Delete key on a Windows keyboard.\n
headingAdds 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.)\n
highlightColorChanges 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.\n
increaseFontSizeAdds a <big> tag around the selection or at the insertion point.\n
indentIndents the line containing the selection or insertion point. In Firefox, if the selection spans multiple lines at different levels of indentation, only the least indented lines in the selection will be indented.\n
insertBrOnReturnControls whether the Enter key inserts a <br> element, or splits the current block element into two.\n
insertHorizontalRuleInserts a <hr> element at the insertion point, or replaces the selection with it.\n
insertHTMLInserts an TrustedHTML instance or string of HTML markup at the insertion point (deletes selection).\nThis requires valid HTML markup.\n
Warning:\nThe input is parsed as HTML and written into the DOM.\nAPIs like this are known as injection sinks, and are potentially a vector for cross-site scripting (XSS) attacks, if the input originally came from an attacker.\n
You can mitigate this risk by always assigning TrustedHTML objects instead of strings and enforcing trusted types.\nSee the Trusted Types API for more information.\n
insertImageInserts 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.\n
insertOrderedListCreates a numbered ordered list for the selection or at the insertion point.\n
insertUnorderedListCreates a bulleted unordered list for the selection or at the insertion point.\n
insertParagraphInserts a paragraph around the selection or the current line.\n
insertTextInserts the given plain text at the insertion point (deletes selection).\n
italicToggles italics on/off for the selection or at the insertion point.\n
justifyCenterCenters the selection or insertion point.\n
justifyFullJustifies the selection or insertion point.\n
justifyLeftJustifies the selection or insertion point to the left.\n
justifyRightRight-justifies the selection or the insertion point.\n
outdentOutdents the line containing the selection or insertion point.\n
pastePastes the clipboard contents at the insertion point (replaces current selection). Disabled for web content.\n
redoRedoes the previous undo command.\n
removeFormatRemoves all formatting from the current selection.\n
selectAllSelects all of the content of the editable region.\n
strikeThroughToggles strikethrough on/off for the selection or at the insertion point.\n
subscriptToggles subscript on/off for the selection or at the insertion point.\n
superscriptToggles superscript on/off for the selection or at the insertion point.\n
underlineToggles underline on/off for the selection or at the insertion point.\n
undoUndoes the last executed command.\n
unlinkRemoves the anchor element from a selected hyperlink.\n
useCSS Toggles the use of HTML tags or CSS for the generated markup. Requires a boolean true/false as a value argument.\n
Note:\nThis argument is logically backwards (i.e., use false to use CSS,\ntrue to use HTML). This has been deprecated in favor of styleWithCSS.\n
styleWithCSSReplaces the useCSS command. true modifies/generates style attributes in markup, false generates presentational elements.\n
AutoUrlDetectChanges the browser auto-link behavior.\n
backColorChanges the document background color. In styleWithCss mode, it affects the background color of the containing block instead. This requires a <color> value string to be passed in as a value argument.\n
boldToggles bold on/off for the selection or at the insertion point.\n
contentReadOnlyMakes the content document either read-only or editable. This requires a boolean true/false as the value argument.\n
copyCopies the current selection to the clipboard. Conditions of having this behavior enabled vary from one browser to another, and have evolved over time. Check the compatibility table to determine if you can use it in your case.\n
createLinkCreates a hyperlink from the selection, but only if there is a selection. Requires a URI string as a value argument for the hyperlink's href. The URI must contain at least a single character, which may be whitespace.\n
cutRemoves the current selection and copies it to the clipboard. When this behavior is enabled varies between browsers, and its conditions have evolved over time. Check the compatibility table for usage details.\n
decreaseFontSizeAdds a <small> tag around the selection or at the insertion point.\n
defaultParagraphSeparatorChanges the paragraph separator used when new paragraphs are created in editable text regions.\n
deleteDeletes the current selection.\n
enableAbsolutePositionEditorEnables or disables the grabber that allows absolutely-positioned elements to be moved around. The grabber is disabled by default since Firefox 64 (Firefox bug 1490641).\n
enableInlineTableEditingEnables or disables the table row/column insertion and deletion controls. The controls are disabled by default since Firefox 64 (Firefox bug 1490641).\n
enableObjectResizingEnables or disables the resize handles on images, tables, and absolutely-positioned elements and other resizable objects. The handles are disabled by default since Firefox 64 (Firefox bug 1490641).\n
fontNameChanges the font name for the selection or at the insertion point. This requires a font name string (like \"Arial\") as a value argument.\n
fontSizeChanges the font size for the selection or at the insertion point. This requires an integer from 1 - 7 as a value argument.\n
foreColorChanges a font color for the selection or at the insertion point. This requires a hexadecimal color value string as a value argument.\n
formatBlockAdds an HTML block-level element around the line containing the current selection, replacing the block element containing the line if one exists (in Firefox, <blockquote> is the exception — it will wrap any containing block element). Requires a tag-name string as a value argument. Virtually all block-level elements can be used. (Legacy Edge only supports heading tags H1 – H6, ADDRESS, and PRE, which must be wrapped in angle brackets, such as \"<H1>\".)\n
forwardDeleteDeletes the character ahead of the cursor's position, identical to hitting the Delete key on a Windows keyboard.\n
headingAdds 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.)\n
highlightColorChanges 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.\n
increaseFontSizeAdds a <big> tag around the selection or at the insertion point.\n
indentIndents the line containing the selection or insertion point. In Firefox, if the selection spans multiple lines at different levels of indentation, only the least indented lines in the selection will be indented.\n
insertBrOnReturnControls whether the Enter key inserts a <br> element, or splits the current block element into two.\n
insertHorizontalRuleInserts a <hr> element at the insertion point, or replaces the selection with it.\n
insertHTMLInserts an TrustedHTML instance or string of HTML markup at the insertion point (deletes selection).\nThis requires valid HTML markup.\n
Warning:\nThe input is parsed as HTML and written into the DOM.\nAPIs like this are known as injection sinks, and are potentially a vector for cross-site scripting (XSS) attacks, if the input originally came from an attacker.\n
You can mitigate this risk by always assigning TrustedHTML objects instead of strings and enforcing trusted types.\nSee the Trusted Types API for more information.\n
insertImageInserts 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.\n
insertOrderedListCreates a numbered ordered list for the selection or at the insertion point.\n
insertUnorderedListCreates a bulleted unordered list for the selection or at the insertion point.\n
insertParagraphInserts a paragraph around the selection or the current line.\n
insertTextInserts the given plain text at the insertion point (deletes selection).\n
italicToggles italics on/off for the selection or at the insertion point.\n
justifyCenterCenters the selection or insertion point.\n
justifyFullJustifies the selection or insertion point.\n
justifyLeftJustifies the selection or insertion point to the left.\n
justifyRightRight-justifies the selection or the insertion point.\n
outdentOutdents the line containing the selection or insertion point.\n
pastePastes the clipboard contents at the insertion point (replaces current selection).\n
This feature is specified as disabled for web content, but has been implemented via the Clipboard API on some browsers.\nOn these browsers the feature requires transient activation, and acknowledgement of a popup UI when pasting cross-origin content.\nSee the Browser compatibility table for more information.\n
redoRedoes the previous undo command.\n
removeFormatRemoves all formatting from the current selection.\n
selectAllSelects all of the content of the editable region.\n
strikeThroughToggles strikethrough on/off for the selection or at the insertion point.\n
subscriptToggles subscript on/off for the selection or at the insertion point.\n
superscriptToggles superscript on/off for the selection or at the insertion point.\n
underlineToggles underline on/off for the selection or at the insertion point.\n
undoUndoes the last executed command.\n
unlinkRemoves the anchor element from a selected hyperlink.\n
useCSS Toggles the use of HTML tags or CSS for the generated markup. Requires a boolean true/false as a value argument.\n
Note:\nThis argument is logically backwards (i.e., use false to use CSS,\ntrue to use HTML). This has been deprecated in favor of styleWithCSS.\n
styleWithCSSReplaces the useCSS command. true modifies/generates style attributes in markup, false generates presentational elements.\n
AutoUrlDetectChanges the browser auto-link behavior.\n
insertImage requires the URL of the image to insert. Specify null if no argument is needed."
},
@@ -26749,7 +27255,7 @@
},
"doc": "Note: This feature is available in Web Workers.
The fromMatrix() static method of the DOMMatrix interface creates a new DOMMatrix object given an existing matrix or an object which provides the values for its properties.",
"parameters": {
- "other": "A DOMMatrix, DOMMatrix, or an object with the same properties. All properties default to 0. The properties are:\n
is2DA boolean. true if the matrix should be created as a 2D matrix. Defaults to false if at least one of m13, m14, m23, m24, m31, m32, m34, or m43 is non-zero, or at least one of m33 or m44 is not 1; otherwise, defaults to true.\n
m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44Numbers representing each component of a 4×4 matrix, where m11 through m14 are the first column, m21 through m24 are the second column, and so forth. m11, m22, m33, and m44 default to 1, and all other components default to 0.\n
If is2D is explicitly set to true, m13, m14, m23, m24, m31, m32, m34, or m43 must either be omitted or set to 0, and m33 and m44 must either be omitted or set to 1.\n
a, b, c, d, e, fAliases for m11, m12, m21, m22, m41, and m42, respectively, for convenience when initializing 2D matrices. If these aliases are provided with the m counterparts, their values must be equal.\n
DOMMatrix, DOMMatrixReadOnly, or an object with the same properties. All properties default to 0. The properties are:\nis2DA boolean. true if the matrix should be created as a 2D matrix. Defaults to false if at least one of m13, m14, m23, m24, m31, m32, m34, or m43 is non-zero, or at least one of m33 or m44 is not 1; otherwise, defaults to true.\n
m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44Numbers representing each component of a 4×4 matrix, where m11 through m14 are the first column, m21 through m24 are the second column, and so forth. m11, m22, m33, and m44 default to 1, and all other components default to 0.\n
If is2D is explicitly set to true, m13, m14, m23, m24, m31, m32, m34, or m43 must either be omitted or set to 0, and m33 and m44 must either be omitted or set to 1.\n
a, b, c, d, e, fAliases for m11, m12, m21, m22, m41, and m42, respectively, for convenience when initializing 2D matrices. If these aliases are provided with the m counterparts, their values must be equal.\n
DOMMatrix object.",
"throws": {
diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-e.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-e.json
index 8b8051142140..069072a0a11f 100644
--- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-e.json
+++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-e.json
@@ -1838,13 +1838,32 @@
"Edge": "128",
"Firefox": "126",
"FirefoxAndroid": "126",
- "Opera": "114"
+ "Opera": "114",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
},
"doc": "The currentCSSZoom read-only property of the Element interface provides the \"effective\" CSS zoom of an element, taking into account the zoom applied to the element and all its parent elements.\nThe value calculated by multiplying the CSS zoom values of the element and all of its parents.\nFor example, if three elements with zoom values of 2, 1.5, and 3, are nested within each other, the most deeply nested element will have a currentCSSZoom value of 9.\nIf the element doesn't have a CSS box, for example because display: none is set on the element or one of its parents, then the currentCSSZoom is set to 1.\n
Note that some methods, such as Element.getBoundingClientRect(), return dimensions and position that are relative to the viewport, and hence include the effects of CSS zoom.\nOther properties and methods return values that are relative to the element itself, and do not include the effects of zooming.\nThese include, for example, client* properties such as Element.clientHeight, scroll*() methods like Element.scroll(), and offset* properties such as HTMLElement.offsetHeight.\nThe currentCSSZoom property can be used to scale these values to adjust for the effects of zooming."
},
+ "element.customelementregistry": {
+ "url": "$MDN_URL$/web/api/element/customElementRegistry",
+ "status": [
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
+ "Safari": "26",
+ "SafariIOS": "26"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "The customElementRegistry read-only property of the Element interface returns the CustomElementRegistry object associated with this element, or null if one has not been set.\n
An element's customElementRegistry is set when the element is created (for example, via Document.createElement() with the customElementRegistry option, or when parsed in a context that has a scoped registry). Once set to a CustomElementRegistry object, it cannot be changed. The registry determines which custom element definitions are used when the element is upgraded."
+ },
"element.elementtiming": {
"url": "$MDN_URL$/web/api/element/elementtiming",
"status": [
@@ -3382,9 +3401,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -5350,7 +5369,7 @@
"lowDate": "2015-07-29",
"highDate": "2018-01-29"
},
- "doc": "
Note: This feature is available in Web Workers.
The Event interface represents an event which takes place on an EventTarget.\n
An event can be triggered by the user action e.g., clicking the mouse button or tapping keyboard, or generated by APIs to represent the progress of an asynchronous task. It can also be triggered programmatically, such as by calling the HTMLElement.click() method of an element, or by defining the event, then sending it to a specified target using EventTarget.dispatchEvent().\n
There are many types of events, some of which use other interfaces based on the main Event interface. Event itself contains the properties and methods which are common to all events.\n
Many DOM elements can be set up to accept (or \"listen\" for) these events, and execute code in response to process (or \"handle\") them. Event-handlers are usually connected (or \"attached\") to various HTML elements (such as <button>, <div>, <span>, etc.) using EventTarget.addEventListener(), and this generally replaces using the old HTML event handler attributes. Further, when properly added, such handlers can also be disconnected if needed using removeEventListener().\n
Note:\nOne element can have several such handlers, even for the exact same event—particularly if separate, independent code modules attach them, each for its own independent purposes. (For example, a webpage with an advertising-module and statistics-module both monitoring video-watching.)\n
When there are many nested elements, each with its own handler(s), event processing can become very complicated—especially where a parent element receives the very same event as its child elements because \"spatially\" they overlap so the event technically occurs in both, and the processing order of such events depends on the Event bubbling settings of each handler triggered." + "doc": "
Note: This feature is available in Web Workers.
The Event interface represents an event which takes place on an EventTarget.\n
An event can be triggered by the user action e.g., clicking the mouse button or tapping the keyboard, or generated by APIs to represent the progress of an asynchronous task. It can also be triggered programmatically, such as by calling the HTMLElement.click() method of an element, or by defining the event, then sending it to a specified target using EventTarget.dispatchEvent().\n
There are many types of events, some of which use other interfaces based on the main Event interface. Event itself contains the properties and methods which are common to all events.\n
Many DOM elements can be set up to accept (or \"listen\" for) these events, and execute code in response to process (or \"handle\") them. Event-handlers are usually connected (or \"attached\") to various HTML elements (such as <button>, <div>, <span>, etc.) using EventTarget.addEventListener(), and this generally replaces using the old HTML event handler attributes. Further, when properly added, such handlers can also be disconnected if needed using removeEventListener().\n
Note:\nOne element can have several such handlers, even for the exact same event—particularly if separate, independent code modules attach them, each for its own independent purposes. (For example, a webpage with an advertising-module and statistics-module both monitoring video-watching.)\n
When there are many nested elements, each with its own handler(s), event processing can become very complicated—especially where a parent element receives the very same event as its child elements because \"spatially\" they overlap so the event technically occurs in both, and the processing order of such events depends on the Event bubbling settings of each handler triggered." }, "event.bubbles": { "url": "$MDN_URL$/web/api/event/bubbles", @@ -9333,9 +9352,9 @@ "StandardTrack" ], "compatibility": { - "Chrome": "35", - "ChromeAndroid": "35", - "Edge": "79", + "Chrome": "140", + "ChromeAndroid": "140", + "Edge": "140", "Firefox": "41", "FirefoxAndroid": "41", "Opera": "124", @@ -9343,9 +9362,8 @@ "SafariIOS": "10" }, "baseline": { - "level": "HIGH", - "lowDate": "2020-01-15", - "highDate": "2022-07-15" + "level": "LOW", + "lowDate": "2025-09-05" }, "doc": "
Note: This feature is available in Web Workers.
The featureSettings property of the FontFace interface retrieves or sets infrequently used font features that are not available from a font's variant properties.\n
This property is equivalent to the font-feature-settings descriptor."
},
@@ -10450,7 +10468,7 @@
"doc": "The GainNode() constructor of the Web Audio API creates a new\nGainNode object which is an AudioNode that represents a\nchange in volume.",
"parameters": {
"context": "A reference to a BaseAudioContext, e.g., an AudioContext.",
- "options": "Options are as follows:\n
gainThe amount of gain to apply. This parameter is a- rate\nand it's nominal range is (-∞,+∞). The default is 1.\n
channelCountRepresents an integer used to determine how many channels are used when up-mixing and down-mixing connections to any inputs to the node. (See\nAudioNode.channelCount for more information.) Its usage and precise\ndefinition depend on the value of channelCountMode.\n
channelCountModeRepresents an enumerated value describing the way channels must be matched between\nthe node's inputs and outputs. (See AudioNode.channelCountMode for more\ninformation including default values.)\n
channelInterpretationRepresents an enumerated value describing the meaning of the channels. This\ninterpretation will define how audio up-mixing and down-mixing will happen.\nThe possible values are \"speakers\" or \"discrete\". (See\nAudioNode.channelCountMode for more information including default\nvalues.)\n
gainThe amount of gain to apply. This parameter is a- rate\nand it's nominal range is (-∞,+∞). The default is 1.\n
channelCountRepresents an integer used to determine how many channels are used when up-mixing and down-mixing connections to any inputs to the node. (See\nAudioNode.channelCount for more information.) Its usage and precise\ndefinition depend on the value of channelCountMode.\n
channelCountModeRepresents an enumerated value describing the way channels must be matched between\nthe node's inputs and outputs. (See AudioNode.channelCountMode for more\ninformation including default values.)\n
channelInterpretationRepresents an enumerated value describing the meaning of the channels. This\ninterpretation will define how audio up-mixing and down-mixing will happen.\nThe possible values are \"speakers\" or \"discrete\". (See\nAudioNode.channelInterpretation for more information including default\nvalues.)\n
GainNode object instance."
},
@@ -21162,6 +21180,137 @@
},
"doc": "Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
The HTMLFrameSetElement interface provides special properties (beyond those of the regular HTMLElement interface they also inherit) for manipulating <frameset> elements."
},
+ "htmlgeolocationelement": {
+ "url": "$MDN_URL$/web/api/htmlgeolocationelement",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The HTMLGeolocationElement interface of the HTML DOM API represents the <geolocation> element, and provides access to its properties and events.\n
This element is based on, and inherits properties and methods from, the HTMLElement interface.\n
Note:\nThe <geolocation> element and HTMLGeolocationElement interface allow the user to share their location data with the page in a more consistent and intuitive way than the older Geolocation API.\n
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The autolocate property of the HTMLGeolocationElement interface gets and sets a boolean value indicating whether the browser should immediately request location data when the <geolocation> element is rendered, provided permission to use the geolocation feature is already granted.\n
It reflects the value of the <geolocation> autolocate attribute."
+ },
+ "htmlgeolocationelement.error": {
+ "url": "$MDN_URL$/web/api/htmlgeolocationelement/error",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The error read-only property of the HTMLGeolocationElement interface returns a GeolocationPositionError object representing error information, in the event of a failure to retrieve location data.\n
If location data retrieval is successful, the data is available in the HTMLGeolocationElement.position property."
+ },
+ "htmlgeolocationelement.htmlgeolocationelement": {
+ "url": "$MDN_URL$/web/api/htmlgeolocationelement/htmlgeolocationelement",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The HTMLGeolocationElement() constructor creates a new HTMLGeolocationElement object instance.",
+ "returns": "A new HTMLGeolocationElement object instance, if used internally by the browser.\n
Developers cannot use the HTMLGeolocationElement() constructor directly to create a new HTMLGeolocationElement instance: attempting to do so results in an \"illegal constructor\" error."
+ },
+ "htmlgeolocationelement.initialpermissionstatus": {
+ "url": "$MDN_URL$/web/api/htmlgeolocationelement/initialpermissionstatus",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The initialPermissionStatus read-only property of the HTMLGeolocationElement interface returns an enumerated value representing the permission status for the geolocation feature when the page first loads.\n
If you want to access the current permission status for the geolocation feature, use the HTMLGeolocationElement.permissionStatus property."
+ },
+ "htmlgeolocationelement.invalidreason": {
+ "url": "$MDN_URL$/web/api/htmlgeolocationelement/invalidreason",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The invalidReason read-only property of the HTMLGeolocationElement interface returns an enumerated value representing the reason why the associated <geolocation> element is invalid (blocked), if that is the case.\n
When a blocker is active on a <geolocation> element, it is invalid: This means that it is prevented from functioning, either temporarily or permanently, depending on the reason.\n
You can query the HTMLGeolocationElement.isValid property to check whether the <geolocation> element is valid or not."
+ },
+ "htmlgeolocationelement.isvalid": {
+ "url": "$MDN_URL$/web/api/htmlgeolocationelement/isvalid",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The isValid read-only property of the HTMLGeolocationElement interface returns a boolean value indicating whether the associated <geolocation> element is valid or invalid (blocked).\n
When a blocker is active on a <geolocation> element, it is prevented from functioning (invalid), either temporarily or permanently, depending on the reason.\n
You can return the reason why it is invalid via the HTMLGeolocationElement.invalidReason property — see that page for a full list of possible reasons."
+ },
+ "htmlgeolocationelement.permissionstatus": {
+ "url": "$MDN_URL$/web/api/htmlgeolocationelement/permissionstatus",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The permissionStatus read-only property of the HTMLGeolocationElement interface returns an enumerated value representing the current permission status for the geolocation feature.\n
If you want to access the initial permission status for the geolocation feature as it was when the page first loaded, use the initialPermissionStatus property."
+ },
+ "htmlgeolocationelement.position": {
+ "url": "$MDN_URL$/web/api/htmlgeolocationelement/position",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The position read-only property of the HTMLGeolocationElement interface returns a GeolocationPosition object representing the user's position, in the event of successful location data retrieval.\n
The retrieved position may or may not be up to date. The user's position will only be retrieved once when the <geolocation> element's button control is pressed, unless you set the watch attribute to true, in which case a new position will be retrieved each time the user's device moves. To read the user's current position, you should read the position property in response to the location event firing.\n
If location data retrieval fails, associated error information will be available in the HTMLGeolocationElement.error property."
+ },
+ "htmlgeolocationelement.watch": {
+ "url": "$MDN_URL$/web/api/htmlgeolocationelement/watch",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "144",
+ "ChromeAndroid": "144",
+ "Edge": "144"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The watch property of the HTMLGeolocationElement interface gets and sets a boolean value indicating whether the browser should continuously update the user's location data whenever the position of their device changes, or only retrieve it once.\n
It reflects the value of the <geolocation> watch attribute."
+ },
"htmlheadelement": {
"url": "$MDN_URL$/web/api/htmlheadelement",
"status": [
@@ -22122,28 +22271,6 @@
},
"doc": "The sizes property of the HTMLImageElement interface allows you to specify the layout width of the image for each of a list of media queries. This provides the ability to automatically select among different images—even images of different orientations or aspect ratios—as the document state changes to match different media conditions. It reflects the <img> element's sizes content attribute."
},
- "htmlimageelement.sizes.sizes": {
- "url": "$MDN_URL$/web/api/htmlimageelement/sizes",
- "status": [
- "StandardTrack"
- ],
- "compatibility": {
- "Chrome": "38",
- "ChromeAndroid": "38",
- "Edge": "13",
- "Firefox": "38",
- "FirefoxAndroid": "38",
- "Opera": "25",
- "Safari": "9.1",
- "SafariIOS": "9.3"
- },
- "baseline": {
- "level": "HIGH",
- "lowDate": "2016-03-21",
- "highDate": "2018-09-21"
- },
- "doc": "The sizes property of the HTMLImageElement interface allows you to specify the layout width of the image for each of a list of media queries. This provides the ability to automatically select among different images—even images of different orientations or aspect ratios—as the document state changes to match different media conditions. It reflects the <img> element's sizes content attribute."
- },
"htmlimageelement.src": {
"url": "$MDN_URL$/web/api/htmlimageelement/src",
"status": [
@@ -22532,8 +22659,9 @@
"SafariIOS": "6"
},
"baseline": {
- "level": "LOW",
- "lowDate": "2023-08-01"
+ "level": "HIGH",
+ "lowDate": "2023-08-01",
+ "highDate": "2026-02-01"
},
"doc": "The dirName property of the HTMLInputElement interface is the directionality of the element and enables the submission of that value. It reflects the value of the <input> element's dirName attribute. This property can be retrieved or set.\n
Valid only for hidden, text, search, url, tel, and email <input> types, the dirname attribute controls how the element's directionality is submitted. When included, the form control will submit with two name/value pairs: the first being the name and value, and the second being the value of the dirname attribute as the name, with a value of ltr or rtl as set by the browser."
},
@@ -29796,7 +29924,24 @@
"level": "LOW",
"lowDate": "2024-09-16"
},
- "doc": "The shadowRootClonable property reflects the value of the shadowrootclonable attribute of the associated <template> element.\n
Note that this property is not useful for developers.\nIf a <template> element is used to declaratively create a ShadowRoot, then this object and property do not exist.\nOtherwise, if an HTMLTemplateElement is created, the value of this property is irrelevant because the object is not a shadow root and cannot subsequently be changed to a shadow root."
+ "doc": "The shadowRootClonable property reflects the value of the shadowrootclonable attribute of the associated <template> element.\n
Note:\nThis property is not useful for developers, and is only documented for completeness.\nIf a <template> element is used to declaratively create a ShadowRoot, then this object and property do not exist.\nOtherwise, if an HTMLTemplateElement is created, the value of this property is irrelevant because the object is not a shadow root and cannot subsequently be changed to a shadow root.\n
shadowRootCustomElementRegistry property of the HTMLTemplateElement interface reflects the value of the shadowrootcustomelementregistry attribute of the associated <template> element.\nNote:\nThis property is not useful for developers, and is only documented for completeness.\nIf a <template> element is used to declaratively create a ShadowRoot, then this object and property do not exist.\nOtherwise, if an HTMLTemplateElement is created, the value of this property is irrelevant because the object is not a shadow root and cannot subsequently be changed to a shadow root.\n
shadowRootDelegatesFocus property of the HTMLTemplateElement interface reflects the value of the shadowrootdelegatesfocus attribute of the associated <template> element.\nNote that this property is not useful for developers.\nIf a <template> element is used to declaratively create a ShadowRoot, then this object and property do not exist.\nOtherwise, if an HTMLTemplateElement is created, the value of this property is irrelevant because the object is not a shadow root and cannot subsequently be changed to a shadow root."
+ "doc": "The shadowRootDelegatesFocus property of the HTMLTemplateElement interface reflects the value of the shadowrootdelegatesfocus attribute of the associated <template> element.\n
Note:\nThis property is not useful for developers, and is only documented for completeness.\nIf a <template> element is used to declaratively create a ShadowRoot, then this object and property do not exist.\nOtherwise, if an HTMLTemplateElement is created, the value of this property is irrelevant because the object is not a shadow root and cannot subsequently be changed to a shadow root.\n
shadowRootMode property of the HTMLTemplateElement interface reflects the value of the shadowrootmode attribute of the associated <template> element.\nNote that this property is not useful for developers.\nIf a <template> element is used to declaratively create a ShadowRoot, then this object and property do not exist.\nOtherwise, if an HTMLTemplateElement is created, the value of this property is irrelevant because the object is not a shadow root and cannot subsequently be changed to a shadow root."
+ "doc": "The shadowRootMode property of the HTMLTemplateElement interface reflects the value of the shadowrootmode attribute of the associated <template> element.\n
Note:\nThis property is not useful for developers, and is only documented for completeness.\nIf a <template> element is used to declaratively create a ShadowRoot, then this object and property do not exist.\nOtherwise, if an HTMLTemplateElement is created, the value of this property is irrelevant because the object is not a shadow root and cannot subsequently be changed to a shadow root.\n
shadowRootSerializable property reflects the value of the shadowrootserializable attribute of the associated <template> element.\nNote that this property is not useful for developers.\nIf a <template> element is used to declaratively create a ShadowRoot, then this object and property do not exist.\nOtherwise, if an HTMLTemplateElement is created, the value of this property is irrelevant because the object is not a shadow root and cannot subsequently be changed to a shadow root."
+ "doc": "The shadowRootSerializable property reflects the value of the shadowrootserializable attribute of the associated <template> element.\n
Note:\nThis property is not useful for developers, and is only documented for completeness.\nIf a <template> element is used to declaratively create a ShadowRoot, then this object and property do not exist.\nOtherwise, if an HTMLTemplateElement is created, the value of this property is irrelevant because the object is not a shadow root and cannot subsequently be changed to a shadow root.\n
dirName property of the HTMLTextAreaElement interface is the directionality of the element. It reflects the value of the <textarea> element's dirName attribute. This property can be retrieved or set.\nThe dirname attribute controls how the element's directionality is submitted. When included, the form control will submit with two name/value pairs: the first being the name and value of the <textarea>, and the second being the value of the dirname attribute as the name, with a value of ltr or rtl as set by the browser."
},
@@ -35127,16 +35273,10 @@
"Chrome": "40",
"ChromeAndroid": "40",
"Edge": "17",
- "Firefox": "44",
- "FirefoxAndroid": "44",
- "Opera": "27",
- "Safari": "11.1",
- "SafariIOS": "11.3"
+ "Opera": "27"
},
"baseline": {
- "level": "HIGH",
- "lowDate": "2018-04-30",
- "highDate": "2020-10-30"
+ "level": "NONE"
},
"doc": "The parameter passed into an install event handler function, the InstallEvent interface represents an install action that is dispatched on the ServiceWorkerGlobalScope of a ServiceWorker. As a child of ExtendableEvent, it ensures that functional events such as FetchEvent are not dispatched during installation.\n
This interface inherits from the ExtendableEvent interface."
},
diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-index.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-index.json
index a94dae7d6ccc..bf56ea83829e 100644
--- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-index.json
+++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-index.json
@@ -4,8 +4,8 @@
"abstractrange.endoffset": "staticrange.endoffset",
"abstractrange.startcontainer": "staticrange.startcontainer",
"abstractrange.startoffset": "staticrange.startoffset",
- "animatable.animate": "element.animate",
- "animatable.getanimations": "element.getanimations",
+ "animationframeprovider.cancelanimationframe": "window.cancelanimationframe",
+ "animationframeprovider.requestanimationframe": "window.requestanimationframe",
"ariamixin.ariaactivedescendantelement": "elementinternals.ariaactivedescendantelement",
"ariamixin.ariaatomic": "elementinternals.ariaatomic",
"ariamixin.ariaautocomplete": "elementinternals.ariaautocomplete",
@@ -58,14 +58,6 @@
"ariamixin.ariavaluenow": "elementinternals.ariavaluenow",
"ariamixin.ariavaluetext": "elementinternals.ariavaluetext",
"ariamixin.role": "elementinternals.role",
- "body.arraybuffer": "request.arraybuffer",
- "body.blob": "request.blob",
- "body.body": "request.body",
- "body.bodyused": "request.bodyused",
- "body.bytes": "request.bytes",
- "body.formdata": "request.formdata",
- "body.json": "request.json",
- "body.text": "request.text",
"canvascompositing.globalalpha": "offscreencanvasrenderingcontext2d.globalalpha",
"canvascompositing.globalcompositeoperation": "offscreencanvasrenderingcontext2d.globalcompositeoperation",
"canvasdrawimage.drawimage": "offscreencanvasrenderingcontext2d.drawimage",
@@ -137,23 +129,14 @@
"canvastransform.transform": "offscreencanvasrenderingcontext2d.transform",
"canvastransform.translate": "offscreencanvasrenderingcontext2d.translate",
"canvasuserinterface.drawfocusifneeded": "canvasrenderingcontext2d.drawfocusifneeded",
- "childnode.after": "element.after",
- "childnode.before": "element.before",
- "childnode.remove": "element.remove",
- "childnode.replacewith": "element.replacewith",
+ "childnode.after": "documenttype.after",
+ "childnode.before": "documenttype.before",
+ "childnode.remove": "documenttype.remove",
+ "childnode.replacewith": "documenttype.replacewith",
"credential.id": "publickeycredential.id",
"cssgroupingrule.cssrules": "cssstylerule.cssrules",
"cssgroupingrule.deleterule": "cssstylerule.deleterule",
"cssgroupingrule.insertrule": "cssstylerule.insertrule",
- "documentorshadowroot.activeelement": "shadowroot.activeelement",
- "documentorshadowroot.adoptedstylesheets": "shadowroot.adoptedstylesheets",
- "documentorshadowroot.elementfrompoint": "shadowroot.elementfrompoint",
- "documentorshadowroot.elementsfrompoint": "shadowroot.elementsfrompoint",
- "documentorshadowroot.fullscreenelement": "shadowroot.fullscreenelement",
- "documentorshadowroot.getanimations": "shadowroot.getanimations",
- "documentorshadowroot.pictureinpictureelement": "shadowroot.pictureinpictureelement",
- "documentorshadowroot.pointerlockelement": "shadowroot.pointerlockelement",
- "documentorshadowroot.stylesheets": "shadowroot.stylesheets",
"domrect.height": "svgrect.height",
"domrect.width": "svgrect.width",
"domrect.x": "svgrect.x",
@@ -165,7 +148,6 @@
"elementcontenteditable.iscontenteditable": "htmlelement.iscontenteditable",
"elementcssinlinestyle.attributestylemap": "svgelement.attributestylemap",
"elementcssinlinestyle.style": "svgelement.style",
- "fontfacesource.fonts": "document.fonts",
"htmlcollectionbase.item": "htmlcollection.item",
"htmlcollectionbase.length": "htmlcollection.length",
"htmlelement.innertext": "htmlscriptelement.innertext",
@@ -181,7 +163,6 @@
"htmlhyperlinkelementutils.search": "htmlareaelement.search",
"htmlhyperlinkelementutils.tostring": "htmlareaelement.tostring",
"htmlhyperlinkelementutils.username": "htmlareaelement.username",
- "htmlimageelement.sizes": "htmlimageelement.sizes.sizes",
"htmlorsvgelement.autofocus": "svgelement.autofocus",
"htmlorsvgelement.blur": "svgelement.blur",
"htmlorsvgelement.dataset": "svgelement.dataset",
@@ -236,17 +217,15 @@
"navigatorplugins.pdfviewerenabled": "navigator.pdfviewerenabled",
"navigatorplugins.plugins": "navigator.plugins",
"navigatorstorage.storage": "navigator.storage",
- "nondocumenttypechildnode.nextelementsibling": "element.nextelementsibling",
- "nondocumenttypechildnode.previouselementsibling": "element.previouselementsibling",
- "parentnode.append": "element.append",
- "parentnode.childelementcount": "element.childelementcount",
- "parentnode.children": "element.children",
- "parentnode.firstelementchild": "element.firstelementchild",
- "parentnode.lastelementchild": "element.lastelementchild",
- "parentnode.prepend": "element.prepend",
- "parentnode.queryselector": "element.queryselector",
- "parentnode.queryselectorall": "element.queryselectorall",
- "parentnode.replacechildren": "element.replacechildren",
+ "parentnode.append": "documentfragment.append",
+ "parentnode.childelementcount": "documentfragment.childelementcount",
+ "parentnode.children": "documentfragment.children",
+ "parentnode.firstelementchild": "documentfragment.firstelementchild",
+ "parentnode.lastelementchild": "documentfragment.lastelementchild",
+ "parentnode.prepend": "documentfragment.prepend",
+ "parentnode.queryselector": "documentfragment.queryselector",
+ "parentnode.queryselectorall": "documentfragment.queryselectorall",
+ "parentnode.replacechildren": "documentfragment.replacechildren",
"performanceentry.tojson": "performancepainttiming.tojson",
"popoverinvokerelement.popovertargetaction": "htmlinputelement.popovertargetaction",
"popoverinvokerelement.popovertargetelement": "htmlinputelement.popovertargetelement",
@@ -278,17 +257,8 @@
"set.keys": "highlight.keys",
"set.size": "highlight.size",
"set.values": "highlight.values",
- "slottable.assignedslot": "text.assignedslot",
- "subtlecrypto.derivebits": "subtlecrypto.derivebits.derivebits",
- "subtlecrypto.derivekey": "subtlecrypto.derivekey.derivekey",
- "subtlecrypto.exportkey": "subtlecrypto.exportkey.exportkey",
- "subtlecrypto.generatekey": "subtlecrypto.generatekey.generatekey",
- "subtlecrypto.importkey": "subtlecrypto.importkey.importkey",
- "subtlecrypto.sign": "subtlecrypto.sign.sign",
- "subtlecrypto.verify": "subtlecrypto.verify.verify",
"svganimatedpoints.animatedpoints": "svgpolylineelement.animatedpoints",
"svganimatedpoints.points": "svgpolylineelement.points",
- "svgfeimageelement.preserveaspectratio": "svgfeimageelement.svgfeimageelement.preserveaspectratio",
"svgfilterprimitivestandardattributes.height": "svgfeturbulenceelement.height",
"svgfilterprimitivestandardattributes.result": "svgfeturbulenceelement.result",
"svgfilterprimitivestandardattributes.width": "svgfeturbulenceelement.width",
@@ -296,9 +266,6 @@
"svgfilterprimitivestandardattributes.y": "svgfeturbulenceelement.y",
"svgfittoviewbox.preserveaspectratio": "svgviewelement.preserveaspectratio",
"svgfittoviewbox.viewbox": "svgviewelement.viewbox",
- "svggeometryelement.getpointatlength": "svgpathelement.getpointatlength",
- "svggeometryelement.gettotallength": "svgpathelement.gettotallength",
- "svggeometryelement.pathlength": "svgpathelement.pathlength",
"svgtests.requiredextensions": "svggraphicselement.requiredextensions",
"svgtests.systemlanguage": "svggraphicselement.systemlanguage",
"svgurireference.href": "svguseelement.href",
diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-l.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-l.json
index 8bb260e81999..0ca7fe891faf 100644
--- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-l.json
+++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-l.json
@@ -19,6 +19,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The LanguageDetector interface of the Translator and Language Detector APIs contains all the language detection functionality, including checking AI model availability, creating a new LanguageDetector instance, using it to detect a language, and more."
},
"languagedetector.availability": {
@@ -31,6 +34,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The availability() static method of the LanguageDetector interface returns an enumerated value that indicates whether the browser AI model supports a given LanguageDetector configuration.",
"parameters": {
"options": "An object specifying configuration options for the LanguageDetector. Possible values include:\n
expectedInputLanguagesAn array of strings specifying the expected languages of the input text to have its language detected. These should be valid BCP 47 language tags. Defaults to [\"en\"]\n
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The create() static method of the LanguageDetector interface creates a new LanguageDetector instance to detect languages.\n
Note:\nThe create() method requires transient activation, that is, it must be invoked in response to a user action such as a mouse click or button press.\n
LanguageDetector. Possible values include:\nexpectedInputLanguagesAn array of strings specifying the expected languages of the input text, which helps improve the accuracy of the language detection. These should be valid BCP 47 language tags. Defaults to [\"en\"].\n
monitor OptionalA callback function with a CreateMonitor argument that enables monitoring download progress of the AI model.\n
signal OptionalAn AbortSignal object instance, which allows a create() operation to be aborted via the associated AbortController. The exact effect is dependant on when AbortController.abort() is called:\n
abort() is called before the create() promise resolves, the create() operation is cancelled.abort() is called after the create() promise fulfills, it has the same effect as calling LanguageDetector.destroy(): The resources assigned to the resulting LanguageDetector instance are released, and any ongoing and subsequent LanguageDetector method calls will reject with an AbortError.Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The destroy() method of the LanguageDetector interface releases the resources assigned to the LanguageDetector instance it is called on and stops any further activity on it. This means that any ongoing and subsequent method calls made on the LanguageDetector will reject with an AbortError.\n
It makes sense to destroy LanguageDetector objects if they are no longer being used, as they tie up significant resources in their handling.",
"returns": "None (undefined)."
},
@@ -88,6 +100,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The detect() method of the LanguageDetector interface detects the closest matching language or languages that a given text string is most likely to be written in.",
"parameters": {
"input": "A string representing the text to have its language detected.",
@@ -110,6 +125,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The expectedInputLanguages read-only property of the LanguageDetector interface returns the expected languages to be detected in the input text. Specifying expected input languages helps improve the accuracy of the language detection.\n
A LanguageDetector instance's expectedInputLanguages are set when creating it via a create() call."
},
"languagedetector.inputquota": {
@@ -122,6 +140,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The inputQuota read-only property of the LanguageDetector interface returns the input quota available to the browser for detecting languages."
},
"languagedetector.measureinputusage": {
@@ -134,6 +155,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The measureInputUsage() method of the LanguageDetector interface reports how much input quota would be used by a language detection operation for a given text input.",
"parameters": {
"input": "A string representing the input text you want an input usage measurement for.",
@@ -1628,8 +1652,9 @@
"SafariIOS": "11"
},
"baseline": {
- "level": "LOW",
- "lowDate": "2023-08-01"
+ "level": "HIGH",
+ "lowDate": "2023-08-01",
+ "highDate": "2026-02-01"
},
"doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The enumerateDevices() method of the MediaDevices interface requests a list of the currently available media input and output devices, such as microphones, cameras, headsets, and so forth.\nThe returned Promise is resolved with an array of MediaDeviceInfo objects describing the devices.\n
The returned list will omit any devices that are blocked by the document Permission Policy: microphone, camera, speaker-selection (for output devices), and so on.\nAccess to particular non-default devices is also gated by the Permissions API, and the list will omit devices for which the user has not granted explicit permission.",
"returns": "A Promise that is fulfilled with an array of MediaDeviceInfo objects.\nEach object in the array describes one of the available media input and output devices.\nThe order is significant — the default capture devices will be listed first.\n
Other than default devices, only devices for which permission has been granted are \"available\".\n
If the media device is an input device, an InputDeviceInfo object will be returned instead.\n
If enumeration fails, the promise is rejected."
@@ -8795,7 +8820,35 @@
"FirefoxAndroid": "147",
"Opera": "125"
},
- "doc": "The NavigationPrecommitController interface of the Navigation API defines redirect behavior for a navigation precommit handler."
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "The NavigationPrecommitController interface of the Navigation API is passed as an argument to a navigation precommit handler callback.\n
The callback is used to handle any modifications to the navigation that are required before it is committed (and the destination URL is actually displayed in the browser), such as cancelling or redirecting it somewhere else as required.\nThis interface provides methods to redirect to a new URL and update history and state, and to dynamically configure post-commit navigation behavior."
+ },
+ "navigationprecommitcontroller.addhandler": {
+ "url": "$MDN_URL$/web/api/navigationprecommitcontroller/addhandler",
+ "status": [
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
+ "Firefox": "148",
+ "FirefoxAndroid": "148"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "The addHandler() method of the NavigationPrecommitController interface allows you to dynamically add a handler callback function in precommit code, which will then be run after the navigation has committed.\n
This is useful when the navigation workflow depends on information that is not know until precommit code has started running.\nIf the precommit and (post-commit) handler are independent, the handler can be specified in the in the options.handler argument passed to NavigateEvent.intercept().",
+ "parameters": {
+ "handler": "A callback function that defines the post-commit navigation handling behavior should be; it returns a promise.\n
The handler callback is invoked as though it was passed to the NavigateEvent.intercept() method, and will run after the currentEntry property has been updated."
+ },
+ "returns": "None (undefined).",
+ "throws": {
+ "InvalidStateError DOMException": "Thrown if:\n
NavigateEvent was not intercepted or has been canceled.Document is not fully active.isTrusted attribute is false."
+ }
},
"navigationprecommitcontroller.redirect": {
"url": "$MDN_URL$/web/api/navigationprecommitcontroller/redirect",
@@ -8810,6 +8863,9 @@
"FirefoxAndroid": "147",
"Opera": "125"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "The redirect() method of the\nNavigationPrecommitController interface redirects the browser to a specified URL and specifies history behavior and any desired state information.",
"parameters": {
"url": "The URL to redirect to.",
@@ -9118,6 +9174,21 @@
},
"doc": "The Navigator.appVersion read-only property of the Navigator interface returns a string representing version information about the browser."
},
+ "navigator.audiosession": {
+ "url": "$MDN_URL$/web/api/navigator/audiosession",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Safari": "16.4",
+ "SafariIOS": "16.4"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The audioSession read-only property of the Navigator interface returns the AudioSession object for the current document.\n
The AudioSession interface can be used to control how audio from a web application interacts with other audio playing on a device, for example, allowing developers to specify whether their application's audio should play on its own, or along with other device audio."
+ },
"navigator.bluetooth": {
"url": "$MDN_URL$/web/api/navigator/bluetooth",
"status": [
@@ -11805,6 +11876,8 @@
"Chrome": "",
"ChromeAndroid": "",
"Edge": "",
+ "Firefox": "3.5",
+ "FirefoxAndroid": "4",
"Opera": "9",
"Safari": "3",
"SafariIOS": "3"
@@ -18289,7 +18362,7 @@
},
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is only available in Service Workers.
The respondWith() method of the PaymentRequestEvent interface prevents the default event handling and allows you to provide a Promise for a payment handler response object yourself.",
"parameters": {
- "promise": "A payment handler response object or a Promise that resolves to one. This object should contain the following properties:\n
methodNameThe payment method identifier for the payment method that the user selected to fulfill the transaction.\n
detailsA JSON-serializable object that provides a payment method-specific message used by the merchant to process the transaction and determine a successful fund transfer. See 7.1.2 details attribute for more details.\n
Promise that resolves to one. This object should contain the following properties:\nmethodNameThe payment method identifier for the payment method that the user selected to fulfill the transaction.\n
detailsA JSON-serializable object that provides a payment method-specific message used by the merchant to process the transaction and determine a successful fund transfer. See 8.1.2 details attribute for more details.\n
undefined)."
},
@@ -20651,7 +20724,6 @@
"performanceresourcetiming.deliverytype": {
"url": "$MDN_URL$/web/api/performanceresourcetiming/deliverytype",
"status": [
- "Experimental",
"StandardTrack"
],
"compatibility": {
@@ -20659,12 +20731,14 @@
"ChromeAndroid": "117",
"Edge": "117",
"Opera": "103",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "22.2.0"
},
"baseline": {
"level": "NONE"
},
- "doc": "Note: This feature is available in Web Workers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The deliveryType read-only property is a string indicating how the resource was delivered — for example from the cache or from a navigational prefetch."
+ "doc": "
Note: This feature is available in Web Workers.
The deliveryType read-only property is a string indicating how the resource was delivered — for example from the cache or from a navigational prefetch."
},
"performanceresourcetiming.domainlookupend": {
"url": "$MDN_URL$/web/api/performanceresourcetiming/domainlookupend",
@@ -20761,33 +20835,35 @@
"performanceresourcetiming.finalresponseheadersstart": {
"url": "$MDN_URL$/web/api/performanceresourcetiming/finalresponseheadersstart",
"status": [
- "Experimental",
"StandardTrack"
],
"compatibility": {
"Chrome": "133",
"ChromeAndroid": "133",
"Edge": "133",
- "Opera": "118"
+ "Opera": "118",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
- "doc": "
Note: This feature is available in Web Workers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The finalResponseHeadersStart read-only property returns a timestamp immediately after the browser receives the first byte of the final document response (for example, 200 OK) from the server.\n
This differs from requestStart (which may also be represented as firstInterimResponseStart), as this starts from the first bytes of any response including interim responses (for example, 103 Early Hints) with the final response coming potentially much later.\n
When there are no interim responses, requestStart is the same as finalResponseHeadersStart and firstInterimResponseStart is 0.\n
There is no end property for finalResponseHeadersStart."
+ "doc": "
Note: This feature is available in Web Workers.
The finalResponseHeadersStart read-only property returns a timestamp immediately after the browser receives the first byte of the final document response (for example, 200 OK) from the server.\n
This differs from requestStart (which may also be represented as firstInterimResponseStart), as this starts from the first bytes of any response including interim responses (for example, 103 Early Hints) with the final response coming potentially much later.\n
When there are no interim responses, requestStart is the same as finalResponseHeadersStart and firstInterimResponseStart is 0.\n
There is no end property for finalResponseHeadersStart."
},
"performanceresourcetiming.firstinterimresponsestart": {
"url": "$MDN_URL$/web/api/performanceresourcetiming/firstinterimresponsestart",
"status": [
- "Experimental",
"StandardTrack"
],
"compatibility": {
"Chrome": "115",
"ChromeAndroid": "115",
"Edge": "115",
- "Opera": "101"
+ "Opera": "101",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
},
- "doc": "
Note: This feature is available in Web Workers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The firstInterimResponseStart read-only property returns a timestamp immediately after the browser receives the first byte of the interim 1xx response (for example, 100 Continue or 103 Early Hints) from the server.\n
There is no end property for firstInterimResponseStart."
+ "doc": "
Note: This feature is available in Web Workers.
The firstInterimResponseStart read-only property returns a timestamp immediately after the browser receives the first byte of the interim 1xx response (for example, 100 Continue or 103 Early Hints) from the server.\n
There is no end property for firstInterimResponseStart."
},
"performanceresourcetiming.initiatortype": {
"url": "$MDN_URL$/web/api/performanceresourcetiming/initiatortype",
@@ -23820,7 +23896,7 @@
"lowDate": "2025-02-06"
},
"doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The getClientCapabilities() static method of the PublicKeyCredential interface returns a Promise that resolves with an object that can be used to check whether or not particular WebAuthn client capabilities and extensions are supported.\n
A relying party (RP) can use this information to appropriately customize its sign-in and sign-up user interfaces and workflows.",
- "returns": "A Promise that resolves to an object where the property names are the client capability strings, and the values are boolean values that indicate whether or not the corresponding capability or extension is supported.\n
The WebAuthn client capability strings are:\n
\"conditionalCreate\"The client is capable of creating discoverable credentials.\n
\"conditionalGet\"The client is capable of authenticating using discoverable credentials.\nThis capability is equivalent to isConditionalMediationAvailable() resolving to true.\n
\"hybridTransport\"The client supports usage of the hybrid transport.\nThis means that the client can use authenticators that rely on Bluetooth, NFC, or USB.\n
\"passkeyPlatformAuthenticator\"The client allows usage of a passkey authenticator that supports multi-factor authentication mechanisms such as a PIN or biometric check.\nThe authenticator can be part of the same platform (device) as the client, or connected via a hybrid transport such as Bluetooth or USB.\nThe credentials are stored on the authenticator.\nSee Passkeys developer guide for relying parties.\n
userVerifyingPlatformAuthenticatorThe client has a platform authenticator (part of the same device) that supports multi-factor authentication mechanisms, such as a PIN or biometric check.\nThe credentials may be stored on either the RP or the authenticator.\n
The client supports Related Origin Requests.\nThese clients allow a passkey to be used across multiple sites that have the same origin.\n
signalAllAcceptedCredentialsThe client supports the PublicKeyCredential.signalAllAcceptedCredentials() static method.\nIf not supported, RP workflows will need to prompt the user to manually delete credentials on the authenticator.\n
signalCurrentUserDetailsThe client supports the PublicKeyCredential.signalCurrentUserDetails() static method.\nIf not supported, RP workflows will need to prompt the user to manually update user details on the authenticator.\n
signalUnknownCredentialThe client supports the PublicKeyCredential.signalUnknownCredential() static method.\nIf not supported, RP workflows will need to prompt the user to manually delete credentials from the authenticator.\n
The web extension strings are formatted by prefixing the extension identifier with the prefix extension:.\nFor example, the key extension:appid can be used to check if the appid extension is supported.",
+ "returns": "A Promise that resolves to an object where the property names are the client capability strings, and the values are boolean values that indicate whether or not the corresponding capability or extension is supported.\n
The WebAuthn client capability strings are:\n
\"conditionalCreate\"The client is capable of creating discoverable credentials.\n
\"conditionalGet\"The client is capable of conditional mediation.\nThis capability is equivalent to isConditionalMediationAvailable() resolving to true.\n
\"hybridTransport\"The client supports usage of the hybrid transport.\nThis means that the client can use authenticators that rely on Bluetooth, NFC, or USB.\n
\"passkeyPlatformAuthenticator\"The client allows usage of a passkey authenticator that supports multi-factor authentication mechanisms such as a PIN or biometric check.\nThe authenticator can be part of the same platform (device) as the client, or connected via a hybrid transport such as Bluetooth or USB.\nThe credentials are stored on the authenticator.\nSee Passkeys developer guide for relying parties.\n
userVerifyingPlatformAuthenticatorThe client has a platform authenticator (part of the same device) that supports multi-factor authentication mechanisms, such as a PIN or biometric check.\nThe credentials may be stored on either the RP or the authenticator.\n
The client supports Related Origin Requests.\nThese clients allow a passkey to be used across multiple sites that have the same origin.\n
signalAllAcceptedCredentialsThe client supports the PublicKeyCredential.signalAllAcceptedCredentials() static method.\nIf not supported, RP workflows will need to prompt the user to manually delete credentials on the authenticator.\n
signalCurrentUserDetailsThe client supports the PublicKeyCredential.signalCurrentUserDetails() static method.\nIf not supported, RP workflows will need to prompt the user to manually update user details on the authenticator.\n
signalUnknownCredentialThe client supports the PublicKeyCredential.signalUnknownCredential() static method.\nIf not supported, RP workflows will need to prompt the user to manually delete credentials from the authenticator.\n
The web extension strings are formatted by prefixing the extension identifier with the prefix extension:.\nFor example, the key extension:appid can be used to check if the appid extension is supported.",
"throws": {
"SecurityError DOMException": "The RP domain is not valid."
}
@@ -23874,7 +23950,7 @@
"level": "LOW",
"lowDate": "2023-10-24"
},
- "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The isConditionalMediationAvailable() static method of the PublicKeyCredential interface returns a Promise which resolves to true if conditional mediation is available.",
+ "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The isConditionalMediationAvailable() static method of the PublicKeyCredential interface returns a Promise which resolves to true if conditional mediation is available.",
"returns": "A Promise which resolves to a boolean value indicating whether or not conditional mediation is available.",
"throws": {
"SecurityError DOMException": "The RP domain is not valid."
diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-r.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-r.json
index d384517e1ccb..7dace4c48357 100644
--- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-r.json
+++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-r.json
@@ -312,17 +312,14 @@
"Deprecated"
],
"compatibility": {
- "Chrome": "1",
- "ChromeAndroid": "18",
- "Edge": "12",
+ "Chrome": "",
+ "ChromeAndroid": "",
+ "Edge": "",
"Firefox": "",
"FirefoxAndroid": "4",
"Opera": "9",
- "Safari": "1",
- "SafariIOS": "1"
- },
- "baseline": {
- "level": "NONE"
+ "Safari": "",
+ "SafariIOS": ""
},
"doc": "
Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
The Range.detach() method does nothing. It used to\ndisable the Range object and enable the browser to release associated\nresources. The method has been kept for compatibility.",
"returns": "None (undefined)."
@@ -860,6 +857,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "18.0.0",
"Deno": "1.11"
},
@@ -880,6 +879,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": ""
},
@@ -900,6 +901,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": ""
},
@@ -924,6 +927,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": ""
},
@@ -944,6 +949,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": ""
},
@@ -971,6 +978,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": ""
},
@@ -1297,6 +1306,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "18.0.0",
"Deno": "1.16"
},
@@ -1317,6 +1328,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": "1.16"
},
@@ -1344,6 +1357,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": "1.16"
},
@@ -1364,6 +1379,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": "1.16"
},
@@ -1393,6 +1410,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": "1.16"
},
@@ -1420,6 +1439,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": "1.16"
},
@@ -1444,6 +1465,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "18.0.0",
"Deno": "1.16"
},
@@ -1464,6 +1487,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": "1.16"
},
@@ -1491,6 +1516,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": "1.16"
},
@@ -1519,6 +1546,8 @@
"Firefox": "102",
"FirefoxAndroid": "102",
"Opera": "75",
+ "Safari": "26.4",
+ "SafariIOS": "26.4",
"Nodejs": "16.5.0",
"Deno": "1.16"
},
@@ -4254,6 +4283,18 @@
},
"doc": "The read-only RTCDataChannel property ordered indicates\nwhether or not the data channel guarantees in-order delivery of messages;\nthe default is true,\nwhich indicates that the data channel is indeed ordered.\nThis is set when the RTCDataChannel is created,\nby setting the ordered property\non the object passed as RTCPeerConnection.createDataChannel()'s options parameter."
},
+ "rtcdatachannel.priority": {
+ "url": "$MDN_URL$/web/api/rtcdatachannel/priority",
+ "status": [
+ "Experimental",
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Safari": "15",
+ "SafariIOS": "15"
+ },
+ "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The read-only priority property of the RTCDataChannel interface returns a string indicating the priority of the data channel. The priority is assigned by the user agent at channel creation time based on the priority option in the dataChannelDict parameter passed to RTCPeerConnection.createDataChannel(), or from the remote peer for incoming data channels."
+ },
"rtcdatachannel.protocol": {
"url": "$MDN_URL$/web/api/rtcdatachannel/protocol",
"status": [
@@ -7738,6 +7779,18 @@
},
"returns": "A new RTCPeerConnectionIceEvent object, configured as specified in the provided options."
},
+ "rtcpeerconnectioniceevent.url": {
+ "url": "$MDN_URL$/web/api/rtcpeerconnectioniceevent/url",
+ "status": [
+ "StandardTrack",
+ "Deprecated"
+ ],
+ "compatibility": {
+ "Safari": "12",
+ "SafariIOS": "12"
+ },
+ "doc": "
Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
The read-only url property of the RTCPeerConnectionIceEvent interface returns the URL of the STUN or TURN server used to gather the ICE candidate that caused the event. If the candidate was not gathered from a STUN or TURN server, the value is null.\n
Note:\nThis property is considered deprecated by the specification in favor of the url property on the RTCIceCandidate interface itself.\n
getParameters() method of the RTCRtpSender interface returns an object describing the current configuration for how the sender's track will be encoded and transmitted to a remote RTCRtpReceiver.",
- "returns": "An object indicating the current configuration of the sender. \n\nencodingsAn array of objects, each specifying the parameters and settings for a single codec that could be used to encode the track's media.\nThe properties of the objects include:\n
activetrue (the default) if the encoding is being sent, false if it is not being sent or used.\n
codec OptionalSelects the media codec that is used for this encoding's RTP stream.\nIf not set, the user agent may select any codec negotiated for sending.\n\n
channels OptionalA positive integer indicating the number of channels supported by the codec.\nFor example, for audio codecs a value of 1 specifies monaural sound, while 2 indicates stereo.\n
clockRateA positive integer specifying the codec's clock rate in Hertz (Hz).\nThe clock rate is the rate at which the codec's RTP timestamp advances.\nMost codecs have specific values or ranges of values they permit.\nThe IANA maintains a list of codecs and their parameters, including their clock rates.\n
mimeTypeA string indicating the codec's MIME media type and subtype, specified as a string of the form \"type/subtype\".\nThe MIME type strings used by RTP differ from those used elsewhere.\nIANA maintains a registry of valid MIME types.\nAlso see Codecs used by WebRTC for details about potential codecs that might be referenced here.\n
sdpFmtpLine OptionalA string giving the format specific parameters provided by the local description.\n
dtx \nDeprecated\n \nNon-standard\nOnly used for an RTCRtpSender whose kind is audio, this property indicates whether or not discontinuous transmission is being used (a feature by which a phone is turned off or the microphone muted automatically in the absence of voice activity).\nThe value is taken either enabled or disabled.\n
maxBitrateA positive integer indicating the maximum number of bits per second that the user agent is allowed to grant to tracks encoded with this encoding.\nOther parameters may further constrain the bit rate, such as the value of maxFramerate, or the bandwidth available for the transport or physical network.\n
The value is computed using the standard Transport Independent Application Specific Maximum (TIAS) bandwidth as defined by RFC 3890, section 6.2.2; this is the maximum bandwidth needed without considering protocol overheads from IP, TCP or UDP, and so forth.\n
Note that the bitrate can be achieved in a number of ways, depending on the media and encoding.\nFor example, for video a low bit rate might be achieved by dropping frames (a bitrate of zero might allow just one frame to be sent), while for audio the track might have to stop playing if the bitrate is too low for it to be sent.\n
maxFramerateA value specifying the maximum number of frames per second to allow for this encoding.\n
priorityA string indicating the priority of the RTCRtpSender, which may determine how the user agent allocates bandwidth between senders.\nAllowed values are very-low, low (default), medium, high.\n
ridA string which, if set, specifies an RTP stream ID (RID) to be sent using the RID header extension.\nThis parameter cannot be modified using setParameters().\nIts value can only be set when the transceiver is first created.\n
scaleResolutionDownByOnly used for senders whose track's kind is video, this is a floating-point value specifying a factor by which to scale down the video during encoding.\nThe default value, 1.0, means that the video will be encoded at its original size.\nA value of 2.0 scales the video frames down by a factor of 2 in each dimension, resulting in a video 1/4 the size of the original.\nThe value must not be less than 1.0 (attempting to scale the video to a larger size will throw a RangeError).\n
transactionIdA string containing a unique ID.\nThis value is used to ensure that setParameters() can only be called to modify the parameters returned by a specific previous call to getParameters().\nThis parameter cannot be changed by the caller.\n\n
codecsAn array of objects describing the media codecs that the sender has set as enabled, and is prepared to use.\nThis parameter cannot be changed once initially set.\n
Each codec object in the array may have the following properties: \n
channels OptionalA positive integer indicating the number of channels supported by the codec.\nFor example, for audio codecs a value of 1 specifies monaural sound, while 2 indicates stereo.\n
clockRateA positive integer specifying the codec's clock rate in Hertz (Hz).\nThe clock rate is the rate at which the codec's RTP timestamp advances.\nMost codecs have specific values or ranges of values they permit.\nThe IANA maintains a list of codecs and their parameters, including their clock rates.\n
mimeTypeA string indicating the codec's MIME media type and subtype, specified as a string of the form \"type/subtype\".\nThe MIME type strings used by RTP differ from those used elsewhere.\nIANA maintains a registry of valid MIME types.\nAlso see Codecs used by WebRTC for details about potential codecs that might be referenced here.\n
payloadTypeThe RTP payload type used to identify this codec.\n
sdpFmtpLine OptionalA string giving the format specific parameters provided by the local description.\n
headerExtensionsAn array of zero or more RTP header extensions, each identifying an extension supported by the sender or receiver. Header extensions are described in RFC 3550, section 5.3.1.\nThis parameter cannot be changed once initially set.\n
rtcpAn object providing the configuration parameters used for RTCP on the sender.\nThis parameter cannot be changed.\n
The object may have the following properties: \n
\ndegradationPreference \nDeprecated\n Optional Specifies the preferred way the WebRTC layer should handle optimizing bandwidth against quality in constrained-bandwidth situations.\nThe possible values are maintain-framerate, maintain-resolution, or balanced.\nThe default value is balanced.\n
encodingsAn array of objects, each specifying the parameters and settings for a single codec that could be used to encode the track's media.\nThe properties of the objects include:\n
activetrue (the default) if the encoding is being sent, false if it is not being sent or used.\n
codec OptionalSelects the media codec that is used for this encoding's RTP stream.\nIf not set, the user agent may select any codec negotiated for sending.\n\n
channels OptionalA positive integer indicating the number of channels supported by the codec.\nFor example, for audio codecs a value of 1 specifies monaural sound, while 2 indicates stereo.\n
clockRateA positive integer specifying the codec's clock rate in Hertz (Hz).\nThe clock rate is the rate at which the codec's RTP timestamp advances.\nMost codecs have specific values or ranges of values they permit.\nThe IANA maintains a list of codecs and their parameters, including their clock rates.\n
mimeTypeA string indicating the codec's MIME media type and subtype, specified as a string of the form \"type/subtype\".\nThe MIME type strings used by RTP differ from those used elsewhere.\nIANA maintains a registry of valid MIME types.\nAlso see Codecs used by WebRTC for details about potential codecs that might be referenced here.\n
sdpFmtpLine OptionalA string giving the format specific parameters provided by the local description.\n
dtx \nDeprecated\n \nNon-standard\nOnly used for an RTCRtpSender whose kind is audio, this property indicates whether or not discontinuous transmission is being used (a feature by which a phone is turned off or the microphone muted automatically in the absence of voice activity).\nThe value is taken either enabled or disabled.\n
maxBitrateA positive integer indicating the maximum number of bits per second that the user agent is allowed to grant to tracks encoded with this encoding.\nOther parameters may further constrain the bit rate, such as the value of maxFramerate, or the bandwidth available for the transport or physical network.\n
The value is computed using the standard Transport Independent Application Specific Maximum (TIAS) bandwidth as defined by RFC 3890, section 6.2.2; this is the maximum bandwidth needed without considering protocol overheads from IP, TCP or UDP, and so forth.\n
Note that the bitrate can be achieved in a number of ways, depending on the media and encoding.\nFor example, for video a low bit rate might be achieved by dropping frames (a bitrate of zero might allow just one frame to be sent), while for audio the track might have to stop playing if the bitrate is too low for it to be sent.\n
maxFramerateA value specifying the maximum number of frames per second to allow for this encoding.\n
priorityA string indicating the priority of the RTCRtpSender, which may determine how the user agent allocates bandwidth between senders.\nAllowed values are very-low, low (default), medium, high.\n
ridA string which, if set, specifies an RTP stream ID (RID) to be sent using the RID header extension.\nThis parameter cannot be modified using setParameters().\nIts value can only be set when the transceiver is first created.\n
scaleResolutionDownByOnly used for senders whose track's kind is video, this is a floating-point value specifying a factor by which to scale down the video during encoding.\nThe default value, 1.0, means that the video will be encoded at its original size.\nA value of 2.0 scales the video frames down by a factor of 2 in each dimension, resulting in a video 1/4 the size of the original.\nThe value must not be less than 1.0 (attempting to scale the video to a larger size will throw a RangeError).\n
transactionIdA string containing a unique ID.\nThis value is used to ensure that setParameters() can only be called to modify the parameters returned by a specific previous call to getParameters().\nThis parameter cannot be changed by the caller.\n\n
codecsAn array of objects describing the media codecs that the sender has set as enabled, and is prepared to use.\nThis parameter cannot be changed once initially set.\n
Each codec object in the array may have the following properties: \n
channels OptionalA positive integer indicating the number of channels supported by the codec.\nFor example, for audio codecs a value of 1 specifies monaural sound, while 2 indicates stereo.\n
clockRateA positive integer specifying the codec's clock rate in Hertz (Hz).\nThe clock rate is the rate at which the codec's RTP timestamp advances.\nMost codecs have specific values or ranges of values they permit.\nThe IANA maintains a list of codecs and their parameters, including their clock rates.\n
mimeTypeA string indicating the codec's MIME media type and subtype, specified as a string of the form \"type/subtype\".\nThe MIME type strings used by RTP differ from those used elsewhere.\nIANA maintains a registry of valid MIME types.\nAlso see Codecs used by WebRTC for details about potential codecs that might be referenced here.\n
payloadTypeThe RTP payload type used to identify this codec.\n
sdpFmtpLine OptionalA string giving the format specific parameters provided by the local description.\n
headerExtensionsAn array of zero or more RTP header extensions, each identifying an extension supported by the sender or receiver. Header extensions are described in RFC 3550, section 5.3.1.\nThis parameter cannot be changed once initially set.\n
rtcpAn object providing the configuration parameters used for RTCP on the sender.\nThis parameter cannot be changed.\n
The object may have the following properties: \n
\ndegradationPreferenceSpecifies the preferred way in which the WebRTC layer should handle optimizing performance in constrained-bandwidth situations. The possible values are:\n
balancedThe default value. The browser will balance degradation of framerate and resolution.\n
maintain-framerateThe browser will degrade resolution to maintain framerate.\n
maintain-resolutionThe browser will degrade framerate to maintain resolution.\n
maintain-framerate-and-resolutionThe browser will maintain framerate and resolution regardless of video quality, which may cause frames to be dropped before encoding if necessary so as not to overuse network and encoder resources. This setting is useful for applications that implement their own video encoding quality and performance optimization mechanism, and don't want the browser's own internal mechanism to interfere with it.\n
setParameters() method of the RTCRtpSender interface applies changes the configuration of sender's track, which is the MediaStreamTrack for which the RTCRtpSender is responsible.\nIn other words, setParameters() updates the configuration of the RTP transmission as well as the encoding configuration for a specific outgoing media track on the WebRTC connection.",
"parameters": {
- "parameters": "A parameters object previously obtained by calling the same sender's getParameters() method, with the desired changes to the sender's configuration parameters.\nThese parameters include potential codecs that could be use for encoding the sender's track.\nThe available parameters are:\n
encodingsAn array of objects, each specifying the parameters for a single codec that could be used to encode the track's media.\nThe properties of the objects include:\n
activeSetting this value true (the default) causes this encoding to be sent, while false stops it from being sent and used (but does not cause the SSRC to be removed).\n
codec OptionalSelects the media codec that is used for this encoding's RTP stream.\nIf not set, the user agent may select any codec negotiated for sending.\n
channels OptionalA positive integer indicating the number of channels supported by the codec.\nFor example, for audio codecs a value of 1 specifies monaural sound, while 2 indicates stereo.\n
clockRateA positive integer specifying the codec's clock rate in Hertz (Hz).\nThe clock rate is the rate at which the codec's RTP timestamp advances.\nMost codecs have specific values or ranges of values they permit.\nThe IANA maintains a list of codecs and their parameters, including their clock rates.\n
mimeTypeA string indicating the codec's MIME media type and subtype, specified as a string of the form \"type/subtype\".\nThe MIME type strings used by RTP differ from those used elsewhere.\nIANA maintains a registry of valid MIME types.\nAlso see Codecs used by WebRTC for details about potential codecs that might be referenced here.\n
sdpFmtpLine OptionalA string giving the format specific parameters provided by the local description.\n
dtx Only used for an RTCRtpSender whose kind is audio, this property indicates whether or not to use discontinuous transmission (a feature by which a phone is turned off or the microphone muted automatically in the absence of voice activity).\nThe value is taken either enabled or disabled.\n
maxBitrateA positive integer indicating the maximum number of bits per second that the user agent is allowed to grant to tracks encoded with this encoding.\nOther parameters may further constrain the bit rate, such as the value of maxFramerate, or the bandwidth available for the transport or physical network.\n
The value is computed using the standard Transport Independent Application Specific Maximum (TIAS) bandwidth as defined by RFC 3890, section 6.2.2; this is the maximum bandwidth needed without considering protocol overheads from IP, TCP or UDP, and so forth.\n
Note that the bitrate can be achieved in a number of ways, depending on the media and encoding.\nFor example, for video a low bit rate might be achieved by dropping frames (a bitrate of zero might allow just one frame to be sent), while for audio the track might have to stop playing if the bitrate is too low for it to be sent.\n
maxFramerateA value specifying the maximum number of frames per second to allow for this encoding.\n
priorityA string indicating the priority of the RTCRtpSender, which may determine how the user agent allocates bandwidth between senders.\nAllowed values are very-low, low (default), medium, high.\n
ridA string which, if set, specifies an RTP stream ID (RID) to be sent using the RID header extension.\nThis parameter cannot be modified using setParameters().\nIts value can only be set when the transceiver is first created.\n
scaleResolutionDownByOnly used for senders whose track's kind is video, this is a floating-point value specifying a factor by which to scale down the video during encoding.\nThe default value, 1.0, means that the video will be encoded at its original size.\nA value of 2.0 scales the video frames down by a factor of 2 in each dimension, resulting in a video 1/4 the size of the original.\nThe value must not be less than 1.0 (attempting to scale the video to a larger size will throw a RangeError).\n
transactionIdA string containing a unique ID.\nThis ID is set in the previous getParameters() call, and ensures that the parameters originated from a previous call to getParameters().\n
codecsAn array of objects describing the media codecs from which the sender will choose.\nThis parameter cannot be changed once initially set.\n
Each codec object in the array may have the following properties:\n
channels OptionalA positive integer indicating the number of channels supported by the codec.\nFor example, for audio codecs a value of 1 specifies monaural sound, while 2 indicates stereo.\n
clockRateA positive integer specifying the codec's clock rate in Hertz (Hz).\nThe clock rate is the rate at which the codec's RTP timestamp advances.\nMost codecs have specific values or ranges of values they permit.\nThe IANA maintains a list of codecs and their parameters, including their clock rates.\n
mimeTypeA string indicating the codec's MIME media type and subtype, specified as a string of the form \"type/subtype\".\nThe MIME type strings used by RTP differ from those used elsewhere.\nIANA maintains a registry of valid MIME types.\nAlso see Codecs used by WebRTC for details about potential codecs that might be referenced here.\n
payloadTypeThe RTP payload type used to identify this codec.\n
sdpFmtpLine OptionalA string giving the format specific parameters provided by the local description.\n
headerExtensionsAn array of zero or more RTP header extensions, each identifying an extension supported by the sender.\nHeader extensions are described in RFC 3550, section 5.3.1.\nThis parameter cannot be changed.\n
rtcpAn object providing the configuration parameters used for RTCP on the sender.\nThis parameter cannot be changed.\n
The object may have the following properties:\n
\ndegradationPreference Specifies the preferred way the WebRTC layer should handle optimizing bandwidth against quality in constrained-bandwidth situations.\nThe possible values are maintain-framerate, maintain-resolution, or balanced.\nThe default value is balanced.\n
getParameters() method, with the desired changes to the sender's configuration parameters.\nThese parameters include potential codecs that could be use for encoding the sender's track.\nThe available parameters are:\nencodingsAn array of objects, each specifying the parameters for a single codec that could be used to encode the track's media.\nThe properties of the objects include:\n
activeSetting this value true (the default) causes this encoding to be sent, while false stops it from being sent and used (but does not cause the SSRC to be removed).\n
codec OptionalSelects the media codec that is used for this encoding's RTP stream.\nIf not set, the user agent may select any codec negotiated for sending.\n
channels OptionalA positive integer indicating the number of channels supported by the codec.\nFor example, for audio codecs a value of 1 specifies monaural sound, while 2 indicates stereo.\n
clockRateA positive integer specifying the codec's clock rate in Hertz (Hz).\nThe clock rate is the rate at which the codec's RTP timestamp advances.\nMost codecs have specific values or ranges of values they permit.\nThe IANA maintains a list of codecs and their parameters, including their clock rates.\n
mimeTypeA string indicating the codec's MIME media type and subtype, specified as a string of the form \"type/subtype\".\nThe MIME type strings used by RTP differ from those used elsewhere.\nIANA maintains a registry of valid MIME types.\nAlso see Codecs used by WebRTC for details about potential codecs that might be referenced here.\n
sdpFmtpLine OptionalA string giving the format specific parameters provided by the local description.\n
dtx Only used for an RTCRtpSender whose kind is audio, this property indicates whether or not to use discontinuous transmission (a feature by which a phone is turned off or the microphone muted automatically in the absence of voice activity).\nThe value is taken either enabled or disabled.\n
maxBitrateA positive integer indicating the maximum number of bits per second that the user agent is allowed to grant to tracks encoded with this encoding.\nOther parameters may further constrain the bit rate, such as the value of maxFramerate, or the bandwidth available for the transport or physical network.\n
The value is computed using the standard Transport Independent Application Specific Maximum (TIAS) bandwidth as defined by RFC 3890, section 6.2.2; this is the maximum bandwidth needed without considering protocol overheads from IP, TCP or UDP, and so forth.\n
Note that the bitrate can be achieved in a number of ways, depending on the media and encoding.\nFor example, for video a low bit rate might be achieved by dropping frames (a bitrate of zero might allow just one frame to be sent), while for audio the track might have to stop playing if the bitrate is too low for it to be sent.\n
maxFramerateA value specifying the maximum number of frames per second to allow for this encoding.\n
priorityA string indicating the priority of the RTCRtpSender, which may determine how the user agent allocates bandwidth between senders.\nAllowed values are very-low, low (default), medium, high.\n
ridA string which, if set, specifies an RTP stream ID (RID) to be sent using the RID header extension.\nThis parameter cannot be modified using setParameters().\nIts value can only be set when the transceiver is first created.\n
scaleResolutionDownByOnly used for senders whose track's kind is video, this is a floating-point value specifying a factor by which to scale down the video during encoding.\nThe default value, 1.0, means that the video will be encoded at its original size.\nA value of 2.0 scales the video frames down by a factor of 2 in each dimension, resulting in a video 1/4 the size of the original.\nThe value must not be less than 1.0 (attempting to scale the video to a larger size will throw a RangeError).\n
transactionIdA string containing a unique ID.\nThis ID is set in the previous getParameters() call, and ensures that the parameters originated from a previous call to getParameters().\n
codecsAn array of objects describing the media codecs from which the sender will choose.\nThis parameter cannot be changed once initially set.\n
Each codec object in the array may have the following properties:\n
channels OptionalA positive integer indicating the number of channels supported by the codec.\nFor example, for audio codecs a value of 1 specifies monaural sound, while 2 indicates stereo.\n
clockRateA positive integer specifying the codec's clock rate in Hertz (Hz).\nThe clock rate is the rate at which the codec's RTP timestamp advances.\nMost codecs have specific values or ranges of values they permit.\nThe IANA maintains a list of codecs and their parameters, including their clock rates.\n
mimeTypeA string indicating the codec's MIME media type and subtype, specified as a string of the form \"type/subtype\".\nThe MIME type strings used by RTP differ from those used elsewhere.\nIANA maintains a registry of valid MIME types.\nAlso see Codecs used by WebRTC for details about potential codecs that might be referenced here.\n
payloadTypeThe RTP payload type used to identify this codec.\n
sdpFmtpLine OptionalA string giving the format specific parameters provided by the local description.\n
headerExtensionsAn array of zero or more RTP header extensions, each identifying an extension supported by the sender.\nHeader extensions are described in RFC 3550, section 5.3.1.\nThis parameter cannot be changed.\n
rtcpAn object providing the configuration parameters used for RTCP on the sender.\nThis parameter cannot be changed.\n
The object may have the following properties:\n
\ndegradationPreference OptionalSpecifies the preferred way in which the WebRTC layer should handle optimizing performance in constrained-bandwidth situations. The possible values are:\n
balancedThe default value. The browser will balance degradation of framerate and resolution.\n
maintain-framerateThe browser will degrade resolution to maintain framerate.\n
maintain-resolutionThe browser will degrade framerate to maintain resolution.\n
maintain-framerate-and-resolutionThe browser will maintain framerate and resolution regardless of video quality, which may cause frames to be dropped before encoding if necessary so as not to overuse network and encoder resources. This setting is useful for applications that implement their own video encoding quality and performance optimization mechanism, and don't want the browser's own internal mechanism to interfere with it.\n
Promise that resolves when the RTCRtpSender.track property is updated with the given parameters.",
"throws": {
@@ -9744,9 +9797,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -9761,9 +9814,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -9782,9 +9835,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -9803,9 +9856,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -9821,9 +9874,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -9842,9 +9895,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -9863,9 +9916,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -9881,9 +9934,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -9902,9 +9955,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -9925,9 +9978,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -9946,9 +9999,9 @@
"StandardTrack"
],
"compatibility": {
- "Chrome": "145",
- "ChromeAndroid": "145",
- "Edge": "145",
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
"Firefox": "148",
"FirefoxAndroid": "148"
},
@@ -12928,7 +12981,7 @@
"parameters": {
"func": "A function to be executed after the timer expires.",
"code": "A TrustedScript or a string of arbitrary code that is compiled and executed every delay milliseconds.\nThis can be used instead of passing a function, but is strongly discouraged for the same reasons that make using eval() a security risk.",
- "delay": "The time that the timer should wait before the specified function or code is executed, in milliseconds.\nDefaults to 0 if not specified.\nNote:\n
delay to 0 will execute in the next event cycle rather than \"immediately\".\nSee Reasons for longer delays than specified for more information.Note:\n
delay to 0 will execute in the next event cycle rather than \"immediately\".\nSee Reasons for longer delays than specified for more information.func."
},
"returns": "A positive integer (typically within the range of 1 to 2,147,483,647) that uniquely identifies the timer created by the call.\nThis identifier, often referred to as a \"timeout ID\", can be passed to clearTimeout() to cancel the timer.\nWithin the same global environment (e.g., a specific window or worker) the timeout ID is guaranteed not to be reused for any new timer as long as the original timer remains active.\nHowever, separate global environments maintain their own independent pools of timer IDs.",
@@ -13019,6 +13072,23 @@
},
"doc": "The clonable read-only property of the ShadowRoot interface returns true if the shadow root is clonable, and false otherwise.\n
When the value is true, a shadow host cloned with Node.cloneNode() or Document.importNode() will include a copy of the shadow root.\n
By default the value is false.\nIt can be set to true using the clonable option of the Element.attachShadow() method or by setting the shadowrootclonable attribute of the <template> element that is being used to declaratively attach a shadow root."
},
+ "shadowroot.customelementregistry": {
+ "url": "$MDN_URL$/web/api/shadowroot/customElementRegistry",
+ "status": [
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "Chrome": "146",
+ "ChromeAndroid": "146",
+ "Edge": "146",
+ "Safari": "26",
+ "SafariIOS": "26"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "The customElementRegistry read-only property of the ShadowRoot interface returns the CustomElementRegistry object associated with this shadow root, or null if one has not been set.\n
A shadow root's customElementRegistry determines which custom element definitions are used for upgrading elements within that shadow tree. It can be set when the shadow root is created via the customElementRegistry option of Element.attachShadow(), or later using CustomElementRegistry.initialize(). Once set to a CustomElementRegistry object, it cannot be changed.\n
This property is also available on Document objects via the same customElementRegistry property name."
+ },
"shadowroot.delegatesfocus": {
"url": "$MDN_URL$/web/api/shadowroot/delegatesfocus",
"status": [
@@ -13556,7 +13626,7 @@
"baseline": {
"level": "NONE"
},
- "doc": "The SharedWorker interface represents a specific kind of worker that can be accessed from several browsing contexts, such as several windows, iframes or even workers. They implement an interface different than dedicated workers and have a different global scope, SharedWorkerGlobalScope.\n
Note:\nIf SharedWorker can be accessed from several browsing contexts, all those browsing contexts must share the exact same origin (same protocol, host and port).\n
SharedWorker interface represents a specific kind of worker that can be accessed from several browsing contexts, such as multiple windows or iframes. Shared workers implement a different interface than dedicated workers, have a different global scope (SharedWorkerGlobalScope), and their constructor is not exposed in DedicatedWorkerGlobalScope, so they cannot be instantiated from dedicated workers.\nNote:\nIf SharedWorker can be accessed from several browsing contexts, all those browsing contexts must share the exact same origin (same protocol, host and port).\n
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The deriveBits() method of the\nSubtleCrypto interface can be used to derive an array of bits from a base\nkey.\n
It takes as its arguments the base key, the derivation algorithm to use, and the length\nof the bits to derive. It returns a Promise\nwhich will be fulfilled with an\nArrayBuffer\ncontaining the derived bits.\n
This method is very similar to\nSubtleCrypto.deriveKey(),\nexcept that deriveKey() returns a\nCryptoKey object rather than an\nArrayBuffer. Essentially deriveKey() is composed of\nderiveBits() followed by\nimportKey().\n
This function supports the same derivation algorithms as deriveKey(): ECDH, HKDF, PBKDF2, and X25519.\nSee Supported algorithms for some more detail on these algorithms.",
- "parameters": {
- "algorithm": "An object defining the derivation algorithm to use.\n
EcdhKeyDeriveParams object, specifying the string ECDH as the name property.HkdfParams object.Pbkdf2Params object.EcdhKeyDeriveParams object, specifying the string X25519 as the name property.CryptoKey representing the input\nto the derivation algorithm. If algorithm is ECDH, this will be the ECDH\nprivate key. Otherwise it will be the initial key material for the derivation\nfunction: for example, for PBKDF2 it might be a password, imported as a\nCryptoKey using SubtleCrypto.importKey().",
- "length": "A number representing the number of bits to derive. To be compatible with all browsers, the number should be a multiple of 8."
- },
- "returns": "A Promise\nthat fulfills with an ArrayBuffer\ncontaining the derived bits.",
- "throws": {
- "OperationError DOMException": "Raised if the length parameter of the deriveBits() call is null, and also in some cases if the length parameter is not a multiple of 8.",
- "InvalidAccessError DOMException": "Raised when the base key is not a key for the requested derivation algorithm or if\nthe CryptoKey.usages value of that key doesn't contain\nderiveBits.",
- "NotSupported DOMException": "Raised when trying to use an algorithm that is either unknown or isn't suitable for\nderivation."
- }
- },
"subtlecrypto.derivekey": {
"url": "$MDN_URL$/web/api/subtlecrypto/derivekey",
"status": [
@@ -17346,43 +17381,6 @@
"SyntaxError DOMException": "Raised when keyUsages is empty but the unwrapped key is of type secret or private."
}
},
- "subtlecrypto.derivekey.derivekey": {
- "url": "$MDN_URL$/web/api/subtlecrypto/derivekey",
- "status": [
- "StandardTrack"
- ],
- "compatibility": {
- "Chrome": "41",
- "ChromeAndroid": "41",
- "Edge": "79",
- "Firefox": "34",
- "FirefoxAndroid": "34",
- "Opera": "28",
- "Safari": "11",
- "SafariIOS": "11",
- "Nodejs": "15.0.0",
- "Deno": "1.15"
- },
- "baseline": {
- "level": "HIGH",
- "lowDate": "2020-01-15",
- "highDate": "2022-07-15"
- },
- "doc": "Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The deriveKey() method of the SubtleCrypto interface can be used to derive a secret key from a master key.\n
It takes as arguments some initial key material, the derivation algorithm to use, and the desired properties for the key to derive.\nIt returns a Promise which will be fulfilled with a CryptoKey object representing the new key.\n
It's worth noting that the supported key derivation algorithms have quite different characteristics and are appropriate in quite different situations.\nSee Supported algorithms for some more detail on this.", - "parameters": { - "algorithm": "An object defining the derivation algorithm to use.\n
EcdhKeyDeriveParams object, specifying the string ECDH as the name property.HkdfParams object.Pbkdf2Params object.EcdhKeyDeriveParams object, specifying the string X25519 as the name property.CryptoKey representing the input to the derivation algorithm.\nIf algorithm is ECDH or X25519, then this will be the ECDH or X25519 private key.\nOtherwise it will be the initial key material for the derivation function: for example, for PBKDF2 it might be a password, imported as a CryptoKey using SubtleCrypto.importKey().",
- "derivedKeyType": "An object defining the algorithm the derived key will be used for:\nHmacImportParams object.AesDerivedKeyParams object.SubtleCrypto.exportKey() or SubtleCrypto.wrapKey().",
- "keyUsages": "An Array indicating what can be done with the derived key.\nNote that the key usages must be allowed by the algorithm set in derivedKeyAlgorithm.\nPossible values of the array are:\nencrypt: The key may be used to encrypt messages.decrypt: The key may be used to decrypt messages.sign: The key may be used to sign messages.verify: The key may be used to verify signatures.deriveKey: The key may be used in deriving a new key.deriveBits: The key may be used in deriving bits.wrapKey: The key may be used to wrap a key.unwrapKey: The key may be used to unwrap a key.Promise that fulfills with a CryptoKey.",
- "throws": {
- "InvalidAccessError DOMException": "Raised when the master key is not a key for the requested derivation algorithm or if the keyUsages value of that key doesn't contain deriveKey.",
- "NotSupported DOMException": "Raised when trying to use an algorithm that is either unknown or isn't suitable for derivation, or if the algorithm requested for the derived key doesn't define a key length.",
- "SyntaxError DOMException": "Raised when keyUsages is empty but the unwrapped key is of type secret or private."
- }
- },
"subtlecrypto.digest": {
"url": "$MDN_URL$/web/api/subtlecrypto/digest",
"status": [
@@ -17480,40 +17478,6 @@
"TypeError": "Raised when trying to use an invalid format."
}
},
- "subtlecrypto.exportkey.exportkey": {
- "url": "$MDN_URL$/web/api/subtlecrypto/exportkey",
- "status": [
- "StandardTrack"
- ],
- "compatibility": {
- "Chrome": "37",
- "ChromeAndroid": "37",
- "Edge": "79",
- "Firefox": "34",
- "FirefoxAndroid": "34",
- "Opera": "24",
- "Safari": "11",
- "SafariIOS": "11",
- "Nodejs": "15.0.0",
- "Deno": "1.18"
- },
- "baseline": {
- "level": "HIGH",
- "lowDate": "2020-01-15",
- "highDate": "2022-07-15"
- },
- "doc": "Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The exportKey() method of the SubtleCrypto\ninterface exports a key: that is, it takes as input a CryptoKey object\nand gives you the key in an external, portable format.\n
To export a key, the key must have CryptoKey.extractable set to\ntrue.\n
Keys can be exported in several formats: see Supported formats in the\nSubtleCrypto.importKey()\npage for details.\n
Keys are not exported in an encrypted format: to encrypt keys when exporting them use\nthe\nSubtleCrypto.wrapKey()\nAPI instead.",
- "parameters": {
- "format": "A string value describing the data format in which the key should be exported. It can be one of the following:\n
raw: Raw format.pkcs8: PKCS #8 format.spki: SubjectPublicKeyInfo format.jwk: JSON Web Key format.CryptoKey to export."
- },
- "returns": "A Promise.\nformat was jwk, then the promise fulfills\nwith a JSON object containing the key.ArrayBuffer\ncontaining the key.CryptoKey of type secret or private but keyUsages is empty, or invalid for the algorithm type.Raised when the result is a CryptoKeyPair and its privateKey.usages attribute is empty, or invalid for the algorithm type."
}
},
- "subtlecrypto.generatekey.generatekey": {
- "url": "$MDN_URL$/web/api/subtlecrypto/generatekey",
- "status": [
- "StandardTrack"
- ],
- "compatibility": {
- "Chrome": "37",
- "ChromeAndroid": "37",
- "Edge": "79",
- "Firefox": "34",
- "FirefoxAndroid": "34",
- "Opera": "24",
- "Safari": "11",
- "SafariIOS": "11",
- "Nodejs": "15.0.0"
- },
- "baseline": {
- "level": "HIGH",
- "lowDate": "2020-01-15",
- "highDate": "2022-07-15"
- },
- "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The generateKey() method of the SubtleCrypto interface is used to generate a new key (for symmetric algorithms) or key pair (for public-key algorithms).",
- "parameters": {
- "algorithm": "An object defining the type of key to generate and providing extra algorithm-specific parameters.\n
RsaHashedKeyGenParams object.EcKeyGenParams object.HmacKeyGenParams object.AesKeyGenParams object.Ed25519 or an object of the form { name: \"Ed25519\" }.X25519 or an object of the form { name: \"X25519\" }.SubtleCrypto.exportKey() or SubtleCrypto.wrapKey().",
- "keyUsages": "An Array of strings indicating what can be done with the newly generated key.\nPossible values for array elements are:\nencryptThe key may be used to encrypt messages.\n
decryptThe key may be used to decrypt messages.\n
signThe key may be used to sign messages.\n
verifyThe key may be used to verify signatures.\n
deriveKeyThe key may be used in deriving a new key.\n
deriveBitsThe key may be used in deriving bits.\n
wrapKeyThe key may be used to wrap a key.\n
unwrapKeyThe key may be used to unwrap a key.\n
Promise that fulfills with a CryptoKey (for symmetric algorithms) or a CryptoKeyPair (for public-key algorithms).",
- "throws": {
- "SyntaxError DOMException": "Raised when the result is a CryptoKey of type secret or private but keyUsages is empty, or invalid for the algorithm type.Raised when the result is a CryptoKeyPair and its privateKey.usages attribute is empty, or invalid for the algorithm type."
- }
- },
"subtlecrypto.importkey": {
"url": "$MDN_URL$/web/api/subtlecrypto/importkey",
"status": [
@@ -17613,41 +17545,6 @@
"TypeError": "Raised when trying to use an invalid format or if the keyData is not suited for that format."
}
},
- "subtlecrypto.importkey.importkey": {
- "url": "$MDN_URL$/web/api/subtlecrypto/importkey",
- "status": [
- "StandardTrack"
- ],
- "compatibility": {
- "Chrome": "37",
- "ChromeAndroid": "37",
- "Edge": "79",
- "Firefox": "34",
- "FirefoxAndroid": "34",
- "Opera": "24",
- "Safari": "11",
- "SafariIOS": "11",
- "Nodejs": "15.0.0"
- },
- "baseline": {
- "level": "HIGH",
- "lowDate": "2020-01-15",
- "highDate": "2022-07-15"
- },
- "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The importKey() method of the SubtleCrypto interface imports a key: that is, it takes as input a key in an external, portable format and gives you a CryptoKey object that you can use in the Web Crypto API.\n
The function accepts several import formats: see Supported formats for details.", - "parameters": { - "format": "A string describing the data format of the key to import. It can be one of the following:\n
raw: Raw format.pkcs8: PKCS #8 format.spki: SubjectPublicKeyInfo format.jwk: JSON Web Key format.ArrayBuffer, a TypedArray,\na DataView, or a JSONWebKey object containing the key in\nthe given format.",
- "algorithm": "An object defining the type of key to import and providing extra algorithm-specific parameters.\nRsaHashedImportParams object.EcKeyImportParams object.HmacImportParams object.{ name: ALGORITHM }, where ALGORITHM is the name of the algorithm.PBKDF2 or an object of the form { name: \"PBKDF2\" }.HKDF or an object of the form { name: \"HKDF\" }.Ed25519 or an object of the form { name: \"Ed25519\" }.X25519 or an object of the form { name: \"X25519\" }.SubtleCrypto.exportKey() or SubtleCrypto.wrapKey().",
- "keyUsages": "An Array indicating what can be done with the key. Possible array values are:\nencrypt: The key may be used to encrypt messages.decrypt: The key may be used to decrypt messages.sign: The key may be used to sign messages.verify: The key may be used to verify signatures.deriveKey: The key may be used in deriving a new key.deriveBits: The key may be used in deriving bits.wrapKey: The key may be used to wrap a key.unwrapKey: The key may be used to unwrap a key.Promise that fulfills with the imported key as a CryptoKey object.",
- "throws": {
- "SyntaxError DOMException": "Raised when keyUsages is empty but the unwrapped key is of type secret or private.",
- "TypeError": "Raised when trying to use an invalid format or if the keyData is not suited for that format."
- }
- },
"subtlecrypto.sign": {
"url": "$MDN_URL$/web/api/subtlecrypto/sign",
"status": [
@@ -17681,39 +17578,6 @@
"InvalidAccessError DOMException": "Raised when the signing key is not a key for the request signing algorithm or when trying to use an algorithm that is either unknown or isn't suitable for signing."
}
},
- "subtlecrypto.sign.sign": {
- "url": "$MDN_URL$/web/api/subtlecrypto/sign",
- "status": [
- "StandardTrack"
- ],
- "compatibility": {
- "Chrome": "37",
- "ChromeAndroid": "37",
- "Edge": "79",
- "Firefox": "34",
- "FirefoxAndroid": "34",
- "Opera": "24",
- "Safari": "11",
- "SafariIOS": "11",
- "Nodejs": "15.0.0",
- "Deno": "1.12"
- },
- "baseline": {
- "level": "HIGH",
- "lowDate": "2020-01-15",
- "highDate": "2022-07-15"
- },
- "doc": "Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The sign() method of the SubtleCrypto interface generates a digital signature.\n
It takes as its arguments a key to sign with, some algorithm-specific parameters, and the data to sign. It returns a Promise which will be fulfilled with the signature.\n
You can use the corresponding SubtleCrypto.verify() method to verify the signature.",
- "parameters": {
- "algorithm": "A string or object that specifies the signature algorithm to use and its parameters:\n
RSASSA-PKCS1-v1_5 or an object of the form { name: \"RSASSA-PKCS1-v1_5\" }.RsaPssParams object.EcdsaParams object.HMAC or an object of the form { name: \"HMAC\" }.Ed25519 or an object of the form { name: \"Ed25519\" }.CryptoKey object containing the key to be used for signing.\nIf algorithm identifies a public-key cryptosystem, this is the private key.",
- "data": "An ArrayBuffer, a TypedArray or a DataView object containing the data to be signed."
- },
- "returns": "A Promise that fulfills with an ArrayBuffer containing the signature.",
- "throws": {
- "InvalidAccessError DOMException": "Raised when the signing key is not a key for the request signing algorithm or when trying to use an algorithm that is either unknown or isn't suitable for signing."
- }
- },
"subtlecrypto.unwrapkey": {
"url": "$MDN_URL$/web/api/subtlecrypto/unwrapkey",
"status": [
@@ -17788,40 +17652,6 @@
"InvalidAccessError DOMException": "Raised when the encryption key is not a key for the requested verifying algorithm or when trying to use an algorithm that is either unknown or isn't suitable for a verify operation."
}
},
- "subtlecrypto.verify.verify": {
- "url": "$MDN_URL$/web/api/subtlecrypto/verify",
- "status": [
- "StandardTrack"
- ],
- "compatibility": {
- "Chrome": "37",
- "ChromeAndroid": "37",
- "Edge": "79",
- "Firefox": "34",
- "FirefoxAndroid": "34",
- "Opera": "24",
- "Safari": "11",
- "SafariIOS": "11",
- "Nodejs": "15.0.0",
- "Deno": "1.14"
- },
- "baseline": {
- "level": "HIGH",
- "lowDate": "2020-01-15",
- "highDate": "2022-07-15"
- },
- "doc": "Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The verify() method of the SubtleCrypto\ninterface verifies a digital signature.\n
It takes as its arguments a key to verify the signature with, some algorithm-specific parameters, the signature, and the original signed data.\nIt returns a Promise which will be fulfilled with a boolean value indicating whether the signature is valid.",
- "parameters": {
- "algorithm": "A string or object defining the algorithm to use, and for some algorithm choices, some extra parameters.\nThe values given for the extra parameters must match those passed into the corresponding sign() call.\n
\"RSASSA-PKCS1-v1_5\" or an object of the form { \"name\": \"RSASSA-PKCS1-v1_5\" }.RsaPssParams object.EcdsaParams object.\"HMAC\" or an object of the form { \"name\": \"HMAC\" }.{ \"name\": \"Ed25519\" }.CryptoKey containing the key that will be used to verify the signature.\nIt is the secret key for a symmetric algorithm and the public key for a public-key system.",
- "signature": "An ArrayBuffer containing the signature to verify.",
- "data": "An ArrayBuffer containing the data whose signature is to be verified."
- },
- "returns": "A Promise that fulfills with a\nboolean value: true if the signature is valid, false\notherwise.",
- "throws": {
- "InvalidAccessError DOMException": "Raised when the encryption key is not a key for the requested verifying algorithm or when trying to use an algorithm that is either unknown or isn't suitable for a verify operation."
- }
- },
"subtlecrypto.wrapkey": {
"url": "$MDN_URL$/web/api/subtlecrypto/wrapkey",
"status": [
@@ -18229,7 +18059,8 @@
"SafariIOS": "26.2"
},
"baseline": {
- "level": "NONE"
+ "level": "LOW",
+ "lowDate": "2026-01-21"
},
"doc": "The hreflang property of the SVGAElement interface returns a string indicating the language of the linked resource.\nThis property can be set, to change the URL's hreflang value. It reflects the value of the hreflang attribute."
},
@@ -18389,7 +18220,8 @@
"SafariIOS": "26.2"
},
"baseline": {
- "level": "NONE"
+ "level": "LOW",
+ "lowDate": "2026-01-21"
},
"doc": "The type property of the SVGAElement interface returns a string indicating the MIME type of the linked resource.\n
This property can be set, to change the URL's type value. It reflects the value of the type attribute."
},
@@ -23039,91 +22871,6 @@
},
"doc": "The result read-only property of the SVGFEImageElement interface describes the assigned name of an SVG filter primitive as a SVGAnimatedString.\n
It reflects the result attribute of the <feImage> element, which fetches image data from an external source and provides the pixel data as output. The attribute value is a <custom-ident>. If supplied, then graphics that result from processing this filter primitive can be referenced by an in attribute on a subsequent filter primitive within the same <filter> element.\n
If no result attribute is defined, the filter's result.baseVal and result.animVal are empty strings, and the output of the <feImage> filter will only be available for re-use as the implicit input into the next filter primitive if that filter primitive provides no value for its in attribute."
},
- "svgfeimageelement.svgfeimageelement": {
- "url": "$MDN_URL$/web/api/svgfeimageelement",
- "status": [
- "StandardTrack"
- ],
- "compatibility": {
- "Chrome": "5",
- "ChromeAndroid": "18",
- "Edge": "12",
- "Firefox": "3",
- "FirefoxAndroid": "4",
- "Opera": "12.1",
- "Safari": "6",
- "SafariIOS": "6"
- },
- "baseline": {
- "level": "HIGH",
- "lowDate": "2015-07-29",
- "highDate": "2018-01-29"
- },
- "doc": "The SVGFEImageElement interface corresponds to the <feImage> element."
- },
- "svgfeimageelement.svgfeimageelement.height": {
- "url": "$MDN_URL$/web/api/svgfeimageelement/height",
- "baseline": {
- "level": "HIGH",
- "lowDate": "2015-07-29",
- "highDate": "2018-01-29"
- },
- "doc": "The height read-only property of the SVGFEImageElement interface describes the vertical size of an SVG filter primitive as a SVGAnimatedLength.\n
It reflects the height attribute of the <feImage> element, which fetches image data from an external source and provides the pixel data as output. The attribute is a <length> or a <percentage> relative to the height of the filter region. The default value is 100%. The property value is a length in user coordinate system units."
- },
- "svgfeimageelement.svgfeimageelement.href": {
- "url": "$MDN_URL$/web/api/svgfeimageelement/href",
- "baseline": {
- "level": "HIGH",
- "lowDate": "2015-07-29",
- "highDate": "2018-01-29"
- },
- "doc": "The href read-only property of the SVGFEImageElement interface reflects the href or xlink:href attribute of the given <feImage> element."
- },
- "svgfeimageelement.svgfeimageelement.preserveaspectratio": {
- "url": "$MDN_URL$/web/api/svgfeimageelement/preserveaspectratio",
- "baseline": {
- "level": "HIGH",
- "lowDate": "2015-07-29",
- "highDate": "2018-01-29"
- },
- "doc": "The preserveAspectRatio read-only property of the SVGFEImageElement interface reflects the preserveAspectRatio attribute of the given <feImage> element."
- },
- "svgfeimageelement.svgfeimageelement.result": {
- "url": "$MDN_URL$/web/api/svgfeimageelement/result",
- "baseline": {
- "level": "HIGH",
- "lowDate": "2015-07-29",
- "highDate": "2018-01-29"
- },
- "doc": "The result read-only property of the SVGFEImageElement interface describes the assigned name of an SVG filter primitive as a SVGAnimatedString.\n
It reflects the result attribute of the <feImage> element, which fetches image data from an external source and provides the pixel data as output. The attribute value is a <custom-ident>. If supplied, then graphics that result from processing this filter primitive can be referenced by an in attribute on a subsequent filter primitive within the same <filter> element.\n
If no result attribute is defined, the filter's result.baseVal and result.animVal are empty strings, and the output of the <feImage> filter will only be available for re-use as the implicit input into the next filter primitive if that filter primitive provides no value for its in attribute."
- },
- "svgfeimageelement.svgfeimageelement.width": {
- "url": "$MDN_URL$/web/api/svgfeimageelement/width",
- "baseline": {
- "level": "HIGH",
- "lowDate": "2015-07-29",
- "highDate": "2018-01-29"
- },
- "doc": "The width read-only property of the SVGFEImageElement interface describes the horizontal size of an SVG filter primitive as a SVGAnimatedLength.\n
It reflects the width attribute of the <feImage> element, which fetches image data from an external source and provides the pixel data as output. The attribute is a <length> or a <percentage> relative to the width of the filter region. The default value is 100%. The property value is a length in user coordinate system units."
- },
- "svgfeimageelement.svgfeimageelement.x": {
- "url": "$MDN_URL$/web/api/svgfeimageelement/x",
- "baseline": {
- "level": "HIGH",
- "lowDate": "2015-07-29",
- "highDate": "2018-01-29"
- },
- "doc": "The x read-only property of the SVGFEImageElement interface describes the horizontal coordinate of the position of an SVG filter primitive as a SVGAnimatedLength.\n
It reflects the x attribute of the <feImage> element, which fetches image data from an external source and provides the pixel data as output. The attribute is a <length> or <percentage>. The <coordinate> is a length in the user coordinate system that is the given distance from the origin of the user coordinate system along the x-axis. If the x attribute is a percent value, the property value is relative to the width of the filter region in user coordinate system units. The default value is 0."
- },
- "svgfeimageelement.svgfeimageelement.y": {
- "url": "$MDN_URL$/web/api/svgfeimageelement/y",
- "baseline": {
- "level": "HIGH",
- "lowDate": "2015-07-29",
- "highDate": "2018-01-29"
- },
- "doc": "The y read-only property of the SVGFEImageElement interface describes the vertical coordinate of the position of an SVG filter primitive as a SVGAnimatedLength.\n
It reflects the y attribute of the <feImage> element, which fetches image data from an external source and provides the pixel data as output. The attribute is a <length> or <percentage>. The <coordinate> is a length in the user coordinate system that is the given distance from the origin of the filter along the y-axis. If the y attribute is a percent value, the property value is a relative to the height of the filter region in user coordinate system units. The default value is 0."
- },
"svgfeimageelement.width": {
"url": "$MDN_URL$/web/api/svgfeimageelement/width",
"status": [
@@ -32562,8 +32309,9 @@
"SafariIOS": "11.3"
},
"baseline": {
- "level": "LOW",
- "lowDate": "2023-08-01"
+ "level": "HIGH",
+ "lowDate": "2023-08-01",
+ "highDate": "2026-02-01"
},
"doc": "
Note: This feature is available in Web Workers.
The read-only fontBoundingBoxAscent property of the TextMetrics interface returns the distance from the horizontal line indicated by the CanvasRenderingContext2D.textBaseline attribute, to the top of the highest bounding rectangle of all the fonts used to render the text, in CSS pixels."
},
@@ -32583,8 +32331,9 @@
"SafariIOS": "11.3"
},
"baseline": {
- "level": "LOW",
- "lowDate": "2023-08-01"
+ "level": "HIGH",
+ "lowDate": "2023-08-01",
+ "highDate": "2026-02-01"
},
"doc": "
Note: This feature is available in Web Workers.
The read-only fontBoundingBoxDescent property of the TextMetrics interface returns the distance from the horizontal line indicated by the CanvasRenderingContext2D.textBaseline attribute to the bottom of the bounding rectangle of all the fonts used to render the text, in CSS pixels."
},
@@ -32935,7 +32684,7 @@
"lowDate": "2015-07-29",
"highDate": "2018-01-29"
},
- "doc": "The TextTrackCue interface of the WebVTT API is the abstract base class for the various derived cue types, such as VTTCue; you will work with these derived types rather than the base class.\n
These cues represent strings of text presented for some duration of time during the performance of a TextTrack. The cue includes the start time (the time at which the text will be displayed) and the end time (the time at which it will be removed from the display), as well as other information."
+ "doc": "The TextTrackCue interface of the WebVTT API is the abstract base class for the various derived cue types, such as VTTCue and DataCue; you will work with these derived types rather than the base class.\n
These cues represent strings of text presented for some duration of time during the performance of a TextTrack. The cue includes the start time (the time at which the text will be displayed) and the end time (the time at which it will be removed from the display), as well as other information."
},
"texttrackcue.endtime": {
"url": "$MDN_URL$/web/api/texttrackcue/endtime",
@@ -33550,6 +33299,32 @@
},
"doc": "The Touch interface represents a single contact point on a touch-sensitive device. The contact point is commonly a finger or stylus and the device may be a touchscreen or trackpad.\n
The Touch.radiusX, Touch.radiusY, and Touch.rotationAngle describe the area of contact between the user and the screen, the touch area. This can be helpful when dealing with imprecise pointing devices such as fingers. These values are set to describe an ellipse that as closely as possible matches the entire area of contact (such as the user's fingertip).\n
Note:\nMany of the properties' values are hardware-dependent; for example, if the device doesn't have a way to detect the amount of pressure placed on the surface, the force value will always be 0. This may also be the case for radiusX and radiusY; if the hardware reports only a single point, these values will be 1.\n
altitudeAngle read-only property of the Touch interface returns the angle between a transducer (a pointer or stylus) axis and the X-Y plane of a device screen. The altitude angle describes whether the transducer is perpendicular to the screen, parallel, or at some angle in between.\nNote:\nThe default value of altitudeAngle is 0 (parallel to the device surface), which differs from the PointerEvent.altitudeAngle property, which defaults to π/2 (perpendicular to the surface).\n
For hardware and platforms that do not report tilt or angle, the value is 0."
+ },
+ "touch.azimuthangle": {
+ "url": "$MDN_URL$/web/api/touch/azimuthangle",
+ "status": [
+ "StandardTrack"
+ ],
+ "compatibility": {
+ "SafariIOS": "10"
+ },
+ "baseline": {
+ "level": "NONE"
+ },
+ "doc": "The azimuthAngle read-only property of the Touch interface returns the angle between the Y-Z plane and the plane containing both the transducer (pointer or stylus) axis and the Y axis. This represents the compass direction that the transducer is pointing in relative to the device surface.\n
For hardware and platforms that do not report tilt or angle, the value is 0. When the transducer is perpendicular to the surface (altitudeAngle of π/2), the value is 0."
+ },
"touch.clientx": {
"url": "$MDN_URL$/web/api/touch/clientx",
"status": [
@@ -33787,6 +33562,19 @@
"touchInit": "An object with the following fields:\n
identifierA long value, that is the identification number for the touch point.\n
targetAn EventTarget object, the item at which the touch point started when it was first placed on the surface.\n
clientX OptionalDefaults to 0, of type double, that is the horizontal position of the touch on the client window of user's screen, excluding any scroll offset.\n
clientY OptionalDefaults to 0, of type double, that is the vertical position of the touch on the client window of the user's screen, excluding any scroll offset.\n
screenX OptionalDefaults to 0, of type double, that is the horizontal position of the touch on the user's screen.\n
screenY OptionalDefaults to 0, of type double, that is the vertical position of the touch on the user's screen.\n
pageX OptionalDefaults to 0, of type double, that is the horizontal position of the touch on the client window of user's screen, including any scroll offset.\n
pageY OptionalDefaults to 0, of type double, that is the vertical position of the touch on the client window of the user's screen, including any scroll offset.\n
radiusX OptionalDefaults to 0, of type float, that is the radius of the ellipse which most closely circumscribes the touching area (e.g., finger, stylus) along the axis indicated by rotationAngle, in CSS pixels of the same scale as screenX; 0 if no value is known. The value must not be negative.\n
radiusY OptionalDefaults to 0, of type float, that is the radius of the ellipse which most closely circumscribes the touching area (e.g., finger, stylus) along the axis perpendicular to that indicated by rotationAngle, in CSS pixels of the same scale as screenY; 0 if no value is known. The value must not be negative.\n
rotationAngle OptionalDefaults to 0, of type float, that is the angle (in degrees) that the ellipse described by radiusX and radiusY is rotated clockwise about its center; 0 if no value is known. The value must be greater than or equal to 0 and less than 90. If the ellipse described by radiusX and radiusY is circular, then rotationAngle has no effect. The user agent may use 0 as the value in this case, or it may use any other value in the allowed range. (For example, the user agent may use the rotationAngle value from the previous touch event, to avoid sudden changes.).\n
force OptionalDefaults to 0, of type float, that is the relative value of pressure applied, in the range 0 to 1, where 0 is no pressure, and 1 is the highest level of pressure the touch device is capable of sensing; 0 if no value is known. In environments where force is known, the absolute pressure represented by the force attribute, and the sensitivity in levels of pressure, may vary.\n
touchType read-only property of the Touch interface returns the type of device that triggered the touch, such as a stylus, or direct touch from a finger."
+ },
"touchevent": {
"url": "$MDN_URL$/web/api/touchevent",
"status": [
@@ -34450,6 +34238,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The Translator interface of the Translator and Language Detector APIs contains all the associated translation functionality, including checking AI model availability, creating a new Translator instance, using it to create a translation, and more."
},
"translator.availability": {
@@ -34462,6 +34253,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The availability() static method of the Translator interface returns an enumerated value that indicates the availability of the AI model for the given Translator configuration.",
"parameters": {
"options": "An object specifying configuration options for the Translator. Possible values include:\n
sourceLanguageA string specifying the language of the input text to be translated, which should be a valid BCP 47 language tag.\n
targetLanguageA string specifying the language that the input text will be translated into, which should be valid BCP 47 language tag.\n
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The create() static method of the Translator interface creates a new Translator instance that can be used to translate text.\n
Note:\nThe create() method requires transient activation, that is, it must be invoked in response to a user action such as a mouse click or button press.\n
Translator. Possible values include:\nsourceLanguageA string specifying the expected language of the input text to be translated, which should be a valid BCP 47 language tag.\n
targetLanguageA string specifying the language that the input text will be translated into, which should be valid BCP 47 language tag.\n
monitor OptionalA callback function with a CreateMonitor argument that enables monitoring download progress of the AI model.\n
signal OptionalAn AbortSignal object instance, which allows a create() operation to be aborted via the associated AbortController. The exact effect is dependant on when AbortController.abort() is called:\n
abort() is called before the create() promise resolves, the create() operation is cancelled.abort() is called after the create() promise fulfills, it has the same effect as calling Translator.destroy(): The resources assigned to the resulting Translator instance are released, and any ongoing and subsequent Translator method calls will reject with an AbortError.Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The destroy() method of the Translator interface releases the resources assigned to the Translator instance it is called on and stops any further activity on it. This means that any ongoing and subsequent method calls made on the Translator will reject with an AbortError.\n
It makes sense to destroy Translator objects if they are no longer being used, as they tie up significant resources in their handling.",
"returns": "None (undefined)."
},
@@ -34519,6 +34319,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The inputQuota read-only property of the Translator interface returns the input quota available to the browser for generating translations."
},
"translator.measureinputusage": {
@@ -34531,6 +34334,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The measureInputUsage() method of the Translator interface reports how much input quota would be used by a translation operation for a given text input.",
"parameters": {
"input": "A string representing the input text you want an input usage measurement for.",
@@ -34553,6 +34359,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The sourceLanguage read-only property of the Translator interface returns the expected language of the input text to be translated.\n
A Translator instance's sourceLanguage is set when creating it via a create() call."
},
"translator.targetlanguage": {
@@ -34565,6 +34374,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The targetLanguage read-only property of the Translator interface returns the language that the input text will be translated into.\n
A Translator instance's targetLanguage is set when creating it via a create() call."
},
"translator.translate": {
@@ -34577,6 +34389,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The translate() method of the Translator interface returns a translation of an input string.",
"parameters": {
"input": "A string representing the text to be translated.",
@@ -34599,6 +34414,9 @@
"Chrome": "138",
"Opera": "122"
},
+ "baseline": {
+ "level": "NONE"
+ },
"doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The translateStreaming() method of the Translator interface generates a translation as a ReadableStream.",
"parameters": {
"input": "A string representing the text to be translated.",
diff --git a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-u.json b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-u.json
index 4e7271de9226..71faa3dd9b38 100644
--- a/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-u.json
+++ b/xml/xml-psi-impl/resources-gen/com/intellij/documentation/mdn/WebApi-u.json
@@ -485,7 +485,7 @@
"lowDate": "2015-07-29",
"highDate": "2018-01-29"
},
- "doc": "
Note: This feature is available in Web Workers, except for Service Workers.
The revokeObjectURL() static method of the URL interface\nreleases an existing object URL which was previously created by calling\nURL.createObjectURL().\n
For more information, see blob URLs.\n
Call this method when you've finished\nusing an object URL to let the browser know not to keep the reference to the file any\nlonger.\n
Note:\nThis method is not available in Service Workers, due to\nissues with the Blob interface's life cycle and the potential for leaks.\n
Note: This feature is available in Web Workers, except for Service Workers.
The revokeObjectURL() static method of the URL interface\nreleases an existing object URL which was previously created by calling\nURL.createObjectURL().\n
For more information, see blob URLs.\n
Call this method when you've finished\nusing an object URL to let the browser know not to keep the reference to the file any\nlonger.\n
If the objectURL argument passed is not a currently-active object URL — for example if it is an invalid URL, non-object URL, or is already revoked — then calling this method does nothing.\n
Note:\nThis method is not available in Service Workers, due to\nissues with the Blob interface's life cycle and the potential for leaks.\n
createObjectURL()."
},
@@ -14693,7 +14693,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -14711,7 +14713,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -14736,7 +14740,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -14746,17 +14752,18 @@
"webtransport.congestioncontrol": {
"url": "$MDN_URL$/web/api/webtransport/congestioncontrol",
"status": [
- "Experimental",
"StandardTrack"
],
"compatibility": {
"Firefox": "114",
- "FirefoxAndroid": "114"
+ "FirefoxAndroid": "114",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
},
- "doc": "Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The congestionControl read-only property of the WebTransport interface indicates the application's preference for either high throughput or low-latency when sending data.\n
The value is set in the WebTransport() constructor options."
+ "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The congestionControl read-only property of the WebTransport interface indicates the application's preference for either high throughput or low-latency when sending data.\n
The value is set in the WebTransport() constructor options."
},
"webtransport.createbidirectionalstream": {
"url": "$MDN_URL$/web/api/webtransport/createbidirectionalstream",
@@ -14769,7 +14776,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -14792,7 +14801,9 @@
"Chrome": "97",
"ChromeAndroid": "97",
"Edge": "97",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -14817,7 +14828,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -14827,14 +14840,16 @@
"webtransport.getstats": {
"url": "$MDN_URL$/web/api/webtransport/getstats",
"status": [
- "Experimental",
"StandardTrack"
],
- "compatibility": {},
+ "compatibility": {
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
+ },
"baseline": {
"level": "NONE"
},
- "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The getStats() method of the WebTransport interface asynchronously returns an object containing HTTP/3 connection statistics.",
+ "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The getStats() method of the WebTransport interface asynchronously returns an object containing HTTP/3 connection statistics.",
"returns": "A Promise that resolves to an object containing HTTP/3 connection statistics.\nThe returned object may have the following properties/statistics:\n
timestampA DOMHighResTimeStamp indicating the timestamp at which the statistics were gathered, relative to Jan 1, 1970, UTC.\n
bytesSentA positive integer indicating the number of bytes sent on the QUIC connection, including retransmissions.\nNote that this count does not include additional data from protocols used by QUIC, such as UDP, or any other outer framing.\n
packetsSentA positive integer indicating the number of packets sent on the QUIC connection, including those that are known to have been lost.\n
packetsLostA positive integer indicating the number of packets lost on the QUIC connection.\nThis value will increase as packets are declared lost, and decrease if they are subsequently received.\n
numOutgoingStreamsCreatedA positive integer indicating the number of outgoing QUIC streams created on the QUIC connection.\n
numIncomingStreamsCreatedA positive integer indicating the number of incoming QUIC streams created on the QUIC connection.\n
bytesReceivedA positive integer indicating the total number of bytes received on the QUIC connection.\nThis count includes duplicate data from streams, but does not include additional data for protocols used by QUIC, such as UDP, or any other outer framing.\n
packetsReceivedA positive integer indicating the total number of packets received on the QUIC connection, including packets that were not processable.\n
smoothedRttA DOMHighResTimeStamp containing the smoothed round-trip time (RTT) currently observed on the connection, calculated as an exponentially weighted moving average of an endpoint's RTT samples after taking account of acknowledgement delays.\n
rttVariationA DOMHighResTimeStamp containing the mean variation in round-trip time samples currently observed on the connection.\n
minRttA DOMHighResTimeStamp containing the minimum round-trip time observed on the entire connection.\n
datagramsAn object containing statistics for datagram transmission over the connection.\nThe object has the following properties:\n
timestampA DOMHighResTimeStamp indicating the timestamp at which the statistics were gathered, relative to Jan 1, 1970, UTC.\n
expiredOutgoingA positive integer indicating the number of datagrams that were dropped from the queue for sending because they expired.\nNote that the maximum age before a datagram in the send-queue expires can be found in outgoingMaxAge.\n
droppedIncomingA positive integer indicating the number incoming datagrams that were dropped.\nIncoming datagrams are dropped if the application does not read them before new datagrams overflow the readable stream receive queue.\n
lostOutgoingA positive integer indicating the number of sent datagrams that were declared lost.\nNote that a datagram may be declared lost if, for example, no acknowledgement arrived within a timeout, or an acknowledgement for a later datagram was received first.\n
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The reliability read-only property of the WebTransport interface indicates whether the connection supports reliable transports only, or whether it also supports unreliable transports (such as UDP)."
+ "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The reliability read-only property of the WebTransport interface indicates whether the connection supports reliable transports only, or whether it also supports unreliable transports (such as UDP)."
},
"webtransport.webtransport": {
"url": "$MDN_URL$/web/api/webtransport/webtransport",
@@ -14917,7 +14939,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -14944,7 +14968,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -14962,7 +14988,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -14980,7 +15008,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -14998,7 +15028,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -15016,7 +15048,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -15034,7 +15068,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -15052,7 +15088,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -15070,7 +15108,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -15088,7 +15128,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -15106,7 +15148,9 @@
"Edge": "97",
"Firefox": "114",
"FirefoxAndroid": "114",
- "Opera": "83"
+ "Opera": "83",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
@@ -15116,7 +15160,6 @@
"webtransportdatagramduplexstream.writable": {
"url": "$MDN_URL$/web/api/webtransportdatagramduplexstream/writable",
"status": [
- "StandardTrack",
"Deprecated"
],
"compatibility": {
@@ -15127,7 +15170,7 @@
"FirefoxAndroid": "114",
"Opera": "83"
},
- "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
The writable read-only property of the WebTransportDatagramDuplexStream interface returns a WritableStream instance that can be used to unreliably write outgoing datagrams to the stream.\n
\"Unreliably\" means that transmission of data is not guaranteed, nor is arrival in a specific order. This is fine in some situations and provides very fast delivery. For example, you might want to transmit regular game state updates where each message supersedes the last one that arrives, and order is not important." + "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.
The writable read-only property of the WebTransportDatagramDuplexStream interface returns a WritableStream instance that can be used to unreliably write outgoing datagrams to the stream.\n
\"Unreliably\" means that transmission of data is not guaranteed, nor is arrival in a specific order. This is fine in some situations and provides very fast delivery. For example, you might want to transmit regular game state updates where each message supersedes the last one that arrives, and order is not important." }, "webtransporterror": { "url": "$MDN_URL$/web/api/webtransporterror", @@ -15140,7 +15183,9 @@ "Edge": "97", "Firefox": "114", "FirefoxAndroid": "114", - "Opera": "83" + "Opera": "83", + "Safari": "26.4", + "SafariIOS": "26.4" }, "baseline": { "level": "NONE" @@ -15158,7 +15203,9 @@ "Edge": "97", "Firefox": "114", "FirefoxAndroid": "114", - "Opera": "83" + "Opera": "83", + "Safari": "26.4", + "SafariIOS": "26.4" }, "baseline": { "level": "NONE" @@ -15176,7 +15223,9 @@ "Edge": "97", "Firefox": "114", "FirefoxAndroid": "114", - "Opera": "83" + "Opera": "83", + "Safari": "26.4", + "SafariIOS": "26.4" }, "baseline": { "level": "NONE" @@ -15194,7 +15243,9 @@ "Edge": "97", "Firefox": "114", "FirefoxAndroid": "114", - "Opera": "83" + "Opera": "83", + "Safari": "26.4", + "SafariIOS": "26.4" }, "baseline": { "level": "NONE" @@ -15207,79 +15258,84 @@ "webtransportreceivestream": { "url": "$MDN_URL$/web/api/webtransportreceivestream", "status": [ - "Experimental", "StandardTrack" ], "compatibility": { "Firefox": "114", - "FirefoxAndroid": "114" + "FirefoxAndroid": "114", + "Safari": "26.4", + "SafariIOS": "26.4" }, "baseline": { "level": "NONE" }, - "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The WebTransportReceiveStream interface of the WebTransport API is a ReadableStream that can be used to read from an incoming unidirectional or bidirectional WebTransport stream.\n
The stream is a readable byte stream of Uint8Array, and can be consumed using either a BYOB reader (ReadableStreamBYOBReader) or the default reader (ReadableStreamDefaultReader).\n
Objects of this type are not constructed directly.\nInstead they are obtained using the WebTransport.incomingUnidirectionalStream property.\n
WebTransportReceiveStream is a transferable object."
+ "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The WebTransportReceiveStream interface of the WebTransport API is a ReadableStream that can be used to read from an incoming unidirectional or bidirectional WebTransport stream.\n
The stream is a readable byte stream of Uint8Array, and can be consumed using either a BYOB reader (ReadableStreamBYOBReader) or the default reader (ReadableStreamDefaultReader).\n
Objects of this type are not constructed directly.\nInstead they are obtained using the WebTransport.incomingUnidirectionalStream property.\n
WebTransportReceiveStream is a transferable object."
},
"webtransportreceivestream.getstats": {
"url": "$MDN_URL$/web/api/webtransportreceivestream/getstats",
"status": [
- "Experimental",
"StandardTrack"
],
"compatibility": {
"Firefox": "114",
- "FirefoxAndroid": "114"
+ "FirefoxAndroid": "114",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
},
- "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The getStats() method of the WebTransportReceiveStream interface asynchronously returns an object containing statistics for the current stream.\n
The statistics include the total number of ordered bytes that have arrived on this stream (ignoring network overhead, up until the first missing byte) and the total number that have been read by the application.\nIt therefore provides a measure of how quickly the application is consuming bytes from the server on this particular stream.", + "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The getStats() method of the WebTransportReceiveStream interface asynchronously returns an object containing statistics for the current stream.\n
The statistics include the total number of ordered bytes that have arrived on this stream (ignoring network overhead, up until the first missing byte) and the total number that have been read by the application.\nIt therefore provides a measure of how quickly the application is consuming bytes from the server on this particular stream.",
"returns": "A Promise that resolves to an object containing statistics about the current stream.\nThe returned object has the following properties:\n
timestampA DOMHighResTimeStamp indicating the timestamp at which the statistics were gathered, relative to Jan 1, 1970, UTC.\n
bytesReceivedA positive integer indicating the number of bytes received by this stream, up to the first missing byte.\nThe number does not include any network overhead, and can only increase.\n
bytesReadA positive integer indicating the number of bytes the application has read from this WebTransportReceiveStream stream.\nThis number can only increase, and is always less than or equal to bytesReceived.\n
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The WebTransportSendStream interface of the WebTransport API is a specialized WritableStream that is used to send outbound data in both unidirectional or bidirectional WebTransport streams.\n
The send stream is a writable stream of Uint8Array, that can be written to in order to send data to a server.\nIt additionally provides streaming features such as setting the send order, and getting stream statistics.\n
Objects of this type are not constructed directly.\nWhen creating a unidirectional stream the WebTransport.createUnidirectionalStream() returns an object of this type for sending data.\nWhen creating a bidirectional stream using WebTransport.createBidirectionalStream(), the method returns a WebTransportBidirectionalStream, and the send stream object can be obtained from its writable property.\nWhen a bidirectional stream is initiated by the remote end, an object of this type can similarly be obtained using WebTransport.incomingBidirectionalStreams.\n
WebTransportSendStream is a transferable object."
+ "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The WebTransportSendStream interface of the WebTransport API is a specialized WritableStream that is used to send outbound data in both unidirectional or bidirectional WebTransport streams.\n
The send stream is a writable stream of Uint8Array, that can be written to in order to send data to a server.\nIt additionally provides streaming features such as setting the send order, and getting stream statistics.\n
Objects of this type are not constructed directly.\nWhen creating a unidirectional stream the WebTransport.createUnidirectionalStream() returns an object of this type for sending data.\nWhen creating a bidirectional stream using WebTransport.createBidirectionalStream(), the method returns a WebTransportBidirectionalStream, and the send stream object can be obtained from its writable property.\nWhen a bidirectional stream is initiated by the remote end, an object of this type can similarly be obtained using WebTransport.incomingBidirectionalStreams.\n
WebTransportSendStream is a transferable object."
},
"webtransportsendstream.getstats": {
"url": "$MDN_URL$/web/api/webtransportsendstream/getstats",
"status": [
- "Experimental",
"StandardTrack"
],
"compatibility": {
"Firefox": "114",
- "FirefoxAndroid": "114"
+ "FirefoxAndroid": "114",
+ "Safari": "26.4",
+ "SafariIOS": "26.4"
},
"baseline": {
"level": "NONE"
},
- "doc": "
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The getStats() method of the WebTransportSendStream interface asynchronously returns an object containing statistics for the current stream.\n
The statistics include the total number of bytes written to the stream, the number that have been sent (ignoring packet overhead), and the number of bytes that have been set at least once, and the number that have been acknowledged (up until the first sequentially-ordered non-acknowledged byte).\nIt therefore provides a measure of how quickly the application is sending bytes to the server on this particular stream.", + "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The getStats() method of the WebTransportSendStream interface asynchronously returns an object containing statistics for the current stream.\n
The statistics include the total number of bytes written to the stream, the number that have been sent (ignoring packet overhead), and the number of bytes that have been set at least once, and the number that have been acknowledged (up until the first sequentially-ordered non-acknowledged byte).\nIt therefore provides a measure of how quickly the application is sending bytes to the server on this particular stream.",
"returns": "A Promise that resolves to an object containing statistics about the current stream.\nThe returned object has the following properties:\n
bytesAcknowledgedA positive integer indicating the number of bytes written to this stream that have been sent and acknowledged as received by the server, using QUIC's ACK mechanism.\nOnly sequential bytes up to, but not including, the first non-acknowledged byte, are counted.\nThis number can only increase and is always less than or equal to bytesSent.\nWhen the connection is over HTTP/2, the value will match bytesSent.\n
bytesSentA positive integer indicating the number of bytes written to this stream that have been sent at least once (but not necessarily acknowledged).\nThis number can only increase, and is always less than or equal to bytesWritten.\nNote that this count does not include bytes sent as network overhead (such as packet headers).\n
bytesWrittenA positive integer indicating the number of bytes successfully written to this stream.\nThis number can only increase.\n
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The sendOrder property of the WebTransportSendStream interface indicates the send priority of this stream relative to other streams for which the value has been set.\n
Queued bytes are sent first for streams that have a higher value.\nIf not set, the send order depends on the implementation." + "doc": "
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The sendOrder property of the WebTransportSendStream interface indicates the send priority of this stream relative to other streams for which the value has been set.\n
Queued bytes are sent first for streams that have a higher value.\nIf not set, the send order depends on the implementation."
},
"wgsllanguagefeatures": {
"url": "$MDN_URL$/web/api/wgsllanguagefeatures",
@@ -17395,7 +17451,7 @@
"parameters": {
"func": "A function to be executed after the timer expires.",
"code": "A TrustedScript or a string of arbitrary code that is compiled and executed every delay milliseconds.\nThis can be used instead of passing a function, but is strongly discouraged for the same reasons that make using eval() a security risk.",
- "delay": "The time that the timer should wait before the specified function or code is executed, in milliseconds.\nDefaults to 0 if not specified.\n
Note:\n
delay to 0 will execute in the next event cycle rather than \"immediately\".\nSee Reasons for longer delays than specified for more information.Note:\n
delay to 0 will execute in the next event cycle rather than \"immediately\".\nSee Reasons for longer delays than specified for more information.func."
},
"returns": "A positive integer (typically within the range of 1 to 2,147,483,647) that uniquely identifies the timer created by the call.\nThis identifier, often referred to as a \"timeout ID\", can be passed to clearTimeout() to cancel the timer.\nWithin the same global environment (e.g., a specific window or worker) the timeout ID is guaranteed not to be reused for any new timer as long as the original timer remains active.\nHowever, separate global environments maintain their own independent pools of timer IDs.",