From 712900e267493c8d484d8c0fac692992dc9cd73d Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Tue, 26 Aug 2025 15:00:33 +0200 Subject: [PATCH 01/18] Add more spec_urls; set some standard_tracks to false (APIs A-C) --- api/Animation.json | 1 + api/AudioNode.json | 5 +++++ api/AudioParamMap.json | 8 ++++++++ api/AudioProcessingEvent.json | 1 + api/BarProp.json | 1 + api/BaseAudioContext.json | 2 ++ api/BatteryManager.json | 1 + api/CSSNumericArray.json | 5 +++++ api/CSSPageRule.json | 1 + api/CSSPrimitiveValue.json | 18 +++++++++--------- api/CSSStyleDeclaration.json | 2 +- api/CSSStyleSheet.json | 1 + api/CSSTransformValue.json | 5 +++++ api/CSSUnparsedValue.json | 5 +++++ api/CSSValue.json | 6 +++--- api/CSSValueList.json | 6 +++--- api/Cache.json | 1 + api/CacheStorage.json | 2 ++ api/CanvasPattern.json | 1 + api/CanvasRenderingContext2D.json | 9 +++++++++ api/Clipboard.json | 3 +++ api/Crypto.json | 1 + api/CustomElementRegistry.json | 3 ++- api/CustomEvent.json | 1 + 24 files changed, 72 insertions(+), 17 deletions(-) diff --git a/api/Animation.json b/api/Animation.json index 4462082ea24637..5f07fc384a18d1 100644 --- a/api/Animation.json +++ b/api/Animation.json @@ -760,6 +760,7 @@ "__compat": { "description": "Browsers automatically remove indefinite filling animations", "mdn_url": "https://developer.mozilla.org/docs/Web/API/Web_Animations_API/Using_the_Web_Animations_API#automatically_removing_filling_animations", + "spec_url": "https://drafts.csswg.org/web-animations-1/#replacing-animations", "tags": [ "web-features:web-animations" ], diff --git a/api/AudioNode.json b/api/AudioNode.json index 0ebffb834631b5..3e1ed50d59c556 100644 --- a/api/AudioNode.json +++ b/api/AudioNode.json @@ -269,6 +269,10 @@ "destination_parameter": { "__compat": { "description": "`destination` parameter", + "spec_url": [ + "https://webaudio.github.io/web-audio-api/#dom-audionode-disconnect-destinationnode", + "https://webaudio.github.io/web-audio-api/#dom-audionode-disconnect-destinationparam" + ], "tags": [ "web-features:web-audio" ], @@ -305,6 +309,7 @@ "input_parameter": { "__compat": { "description": "`input` parameter", + "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audionode-disconnect-destinationnode-output-input", "tags": [ "web-features:web-audio" ], diff --git a/api/AudioParamMap.json b/api/AudioParamMap.json index e2fd5e30c10d04..754fa4b5195650 100644 --- a/api/AudioParamMap.json +++ b/api/AudioParamMap.json @@ -36,6 +36,7 @@ }, "entries": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -69,6 +70,7 @@ }, "forEach": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -102,6 +104,7 @@ }, "get": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -135,6 +138,7 @@ }, "has": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -168,6 +172,7 @@ }, "keys": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -201,6 +206,7 @@ }, "size": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -234,6 +240,7 @@ }, "values": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -268,6 +275,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], diff --git a/api/AudioProcessingEvent.json b/api/AudioProcessingEvent.json index d011e2d36e3164..9af682c3c73d0e 100644 --- a/api/AudioProcessingEvent.json +++ b/api/AudioProcessingEvent.json @@ -3,6 +3,7 @@ "AudioProcessingEvent": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent", + "spec_url": "https://webaudio.github.io/web-audio-api/#AudioProcessingEvent", "support": { "chrome": { "version_added": "14" diff --git a/api/BarProp.json b/api/BarProp.json index db409c4233b27c..d7ed4bbedb5482 100644 --- a/api/BarProp.json +++ b/api/BarProp.json @@ -79,6 +79,7 @@ "returns_popup": { "__compat": { "description": "Returns `true` for non-popup windows", + "spec_url": "https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-barprop-visible", "tags": [ "web-features:barprop" ], diff --git a/api/BaseAudioContext.json b/api/BaseAudioContext.json index 37c3dfd3ee6215..cbd9e63fa7fdd5 100644 --- a/api/BaseAudioContext.json +++ b/api/BaseAudioContext.json @@ -676,6 +676,7 @@ "constraints_disableNormalization_parameter": { "__compat": { "description": "`constraints.disableNormalization` parameter", + "spec_url": "https://webaudio.github.io/web-audio-api/#dom-periodicwaveconstraints-disablenormalization", "tags": [ "web-features:web-audio" ], @@ -900,6 +901,7 @@ "returns_promise": { "__compat": { "description": "Returns a `Promise`", + "spec_url": "https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-decodeaudiodata", "tags": [ "web-features:web-audio" ], diff --git a/api/BatteryManager.json b/api/BatteryManager.json index c97e9dc1e8a374..d1995be0ac927f 100644 --- a/api/BatteryManager.json +++ b/api/BatteryManager.json @@ -38,6 +38,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/battery/#the-batterymanager-interface", "tags": [ "web-features:battery" ], diff --git a/api/CSSNumericArray.json b/api/CSSNumericArray.json index d98c5b10d9752f..167709bdc8beb3 100644 --- a/api/CSSNumericArray.json +++ b/api/CSSNumericArray.json @@ -37,6 +37,7 @@ }, "entries": { "__compat": { + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssnumericarray", "tags": [ "web-features:css-typed-om" ], @@ -70,6 +71,7 @@ }, "forEach": { "__compat": { + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssnumericarray", "tags": [ "web-features:css-typed-om" ], @@ -103,6 +105,7 @@ }, "keys": { "__compat": { + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssnumericarray", "tags": [ "web-features:css-typed-om" ], @@ -172,6 +175,7 @@ }, "values": { "__compat": { + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssnumericarray", "tags": [ "web-features:css-typed-om" ], @@ -206,6 +210,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssnumericarray", "tags": [ "web-features:css-typed-om" ], diff --git a/api/CSSPageRule.json b/api/CSSPageRule.json index e61e11ab3eb5c0..29dc6054843b77 100644 --- a/api/CSSPageRule.json +++ b/api/CSSPageRule.json @@ -139,6 +139,7 @@ "type_CSSPageDescriptors": { "__compat": { "description": "Type changed to [`CSSPageDescriptors`](https://developer.mozilla.org/docs/Web/API/CSSPageDescriptors)", + "spec_url": "https://drafts.csswg.org/cssom/#dom-csspagerule-style", "tags": [ "web-features:css-object-model" ], diff --git a/api/CSSPrimitiveValue.json b/api/CSSPrimitiveValue.json index 12ae9d5e5658a0..b529c3ee99b5b2 100644 --- a/api/CSSPrimitiveValue.json +++ b/api/CSSPrimitiveValue.json @@ -39,7 +39,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } }, @@ -76,7 +76,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -120,7 +120,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -158,7 +158,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -196,7 +196,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -234,7 +234,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -269,7 +269,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -307,7 +307,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -345,7 +345,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/CSSStyleDeclaration.json b/api/CSSStyleDeclaration.json index 9ff1cfd8dd066a..8c3d4869dfaf24 100644 --- a/api/CSSStyleDeclaration.json +++ b/api/CSSStyleDeclaration.json @@ -172,7 +172,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/CSSStyleSheet.json b/api/CSSStyleSheet.json index 4667a0df74afad..a0e8da6ea14e06 100644 --- a/api/CSSStyleSheet.json +++ b/api/CSSStyleSheet.json @@ -289,6 +289,7 @@ "index_parameter_optional": { "__compat": { "description": "`index` parameter is optional", + "spec_url": "https://drafts.csswg.org/cssom/#dom-cssstylesheet-insertrule", "tags": [ "web-features:css-object-model" ], diff --git a/api/CSSTransformValue.json b/api/CSSTransformValue.json index ebe31c286359e2..c009f356061901 100644 --- a/api/CSSTransformValue.json +++ b/api/CSSTransformValue.json @@ -75,6 +75,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSTransformValue/entries", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#transformvalue-objects", "tags": [ "web-features:css-typed-om" ], @@ -110,6 +111,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSTransformValue/forEach", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#transformvalue-objects", "tags": [ "web-features:css-typed-om" ], @@ -181,6 +183,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSTransformValue/keys", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#transformvalue-objects", "tags": [ "web-features:css-typed-om" ], @@ -288,6 +291,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSTransformValue/values", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#transformvalue-objects", "tags": [ "web-features:css-typed-om" ], @@ -323,6 +327,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#transformvalue-objects", "tags": [ "web-features:css-typed-om" ], diff --git a/api/CSSUnparsedValue.json b/api/CSSUnparsedValue.json index 750b6752f3769f..615b86c2ad4342 100644 --- a/api/CSSUnparsedValue.json +++ b/api/CSSUnparsedValue.json @@ -75,6 +75,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue/entries", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssunparsedvalue", "tags": [ "web-features:css-typed-om" ], @@ -110,6 +111,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue/forEach", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssunparsedvalue", "tags": [ "web-features:css-typed-om" ], @@ -145,6 +147,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue/keys", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssunparsedvalue", "tags": [ "web-features:css-typed-om" ], @@ -216,6 +219,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue/values", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssunparsedvalue", "tags": [ "web-features:css-typed-om" ], @@ -251,6 +255,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssunparsedvalue", "tags": [ "web-features:css-typed-om" ], diff --git a/api/CSSValue.json b/api/CSSValue.json index d2f1d7b3312f6a..7dc30f6f3af67e 100644 --- a/api/CSSValue.json +++ b/api/CSSValue.json @@ -32,7 +32,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } }, @@ -66,7 +66,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -101,7 +101,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/CSSValueList.json b/api/CSSValueList.json index 547d1a2750b8ee..9e3a5a1233b3c8 100644 --- a/api/CSSValueList.json +++ b/api/CSSValueList.json @@ -32,7 +32,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } }, @@ -68,7 +68,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -103,7 +103,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/Cache.json b/api/Cache.json index 3862383c4aab77..686cdc12756492 100644 --- a/api/Cache.json +++ b/api/Cache.json @@ -45,6 +45,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/ServiceWorker/#cache-interface", "tags": [ "web-features:service-workers" ], diff --git a/api/CacheStorage.json b/api/CacheStorage.json index 9c3dc6547edcc4..35c32aab8f3447 100644 --- a/api/CacheStorage.json +++ b/api/CacheStorage.json @@ -50,6 +50,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/ServiceWorker/#cachestorage-interface", "tags": [ "web-features:service-workers" ], @@ -84,6 +85,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/ServiceWorker/#cachestorage-interface", "tags": [ "web-features:service-workers" ], diff --git a/api/CanvasPattern.json b/api/CanvasPattern.json index 57039a323f2fae..5f61fee3f7c342 100644 --- a/api/CanvasPattern.json +++ b/api/CanvasPattern.json @@ -80,6 +80,7 @@ "dommatrix": { "__compat": { "description": "Accepts a `DOMMatrix2DInit`-like object parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-canvaspattern-settransform", "tags": [ "web-features:canvas-2d" ], diff --git a/api/CanvasRenderingContext2D.json b/api/CanvasRenderingContext2D.json index e81ee02955aae3..aad31c730fc82d 100644 --- a/api/CanvasRenderingContext2D.json +++ b/api/CanvasRenderingContext2D.json @@ -357,6 +357,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-clip-path", "tags": [ "web-features:canvas-2d" ], @@ -743,6 +744,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-drawfocusifneeded-path-element", "tags": [ "web-features:canvas-2d" ], @@ -823,6 +825,7 @@ "ImageBitmap_source_image": { "__compat": { "description": "ImageBitmap as source image", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-drawimage-dev", "tags": [ "web-features:canvas-2d" ], @@ -857,6 +860,7 @@ "SVGImageElement_source_image": { "__compat": { "description": "SVGImageElement as source image", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-drawimage-dev", "tags": [ "web-features:svg" ], @@ -974,6 +978,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-fill-path", "tags": [ "web-features:canvas-2d" ], @@ -1739,6 +1744,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-ispointinpath-path", "tags": [ "web-features:canvas-2d" ], @@ -1810,6 +1816,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-ispointinstroke-path", "tags": [ "web-features:canvas-2d" ], @@ -2767,6 +2774,7 @@ "matrix_parameter": { "__compat": { "description": "Accept matrix object as parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-settransform-matrix", "tags": [ "web-features:canvas-2d" ], @@ -3021,6 +3029,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-stroke-path", "tags": [ "web-features:canvas-2d" ], diff --git a/api/Clipboard.json b/api/Clipboard.json index 71d83899b16c0b..6850141b626939 100644 --- a/api/Clipboard.json +++ b/api/Clipboard.json @@ -155,6 +155,7 @@ "type_image-png": { "__compat": { "description": "Supports `image/png` MIME type", + "spec_url": "https://w3c.github.io/clipboard-apis/#dom-clipboard-readtext", "tags": [ "web-features:async-clipboard" ], @@ -189,6 +190,7 @@ "type_text-html": { "__compat": { "description": "Supports `text/html` MIME type", + "spec_url": "https://w3c.github.io/clipboard-apis/#dom-clipboard-readtext", "tags": [ "web-features:async-clipboard" ], @@ -223,6 +225,7 @@ "type_text-plain": { "__compat": { "description": "Supports `text/plain` MIME type", + "spec_url": "https://w3c.github.io/clipboard-apis/#dom-clipboard-readtext", "tags": [ "web-features:async-clipboard" ], diff --git a/api/Crypto.json b/api/Crypto.json index 226c1e3c3478a8..8ac775d7cb775c 100644 --- a/api/Crypto.json +++ b/api/Crypto.json @@ -211,6 +211,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/webcrypto/#crypto-interface", "tags": [ "web-features:web-cryptography" ], diff --git a/api/CustomElementRegistry.json b/api/CustomElementRegistry.json index 9e58e303b9ade3..251206bf2a41c6 100644 --- a/api/CustomElementRegistry.json +++ b/api/CustomElementRegistry.json @@ -173,7 +173,8 @@ }, "disabledFeatures_static_property": { "__compat": { - "description": "Supports `disabledFeatures` static property", + "description": "`disabledFeatures` static property", + "spec_url": "https://html.spec.whatwg.org/multipage/custom-elements.html#dom-customelementregistry-define", "tags": [ "web-features:autonomous-custom-elements" ], diff --git a/api/CustomEvent.json b/api/CustomEvent.json index f097b0b3e195bb..ce66a42a2d6b07 100644 --- a/api/CustomEvent.json +++ b/api/CustomEvent.json @@ -104,6 +104,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://dom.spec.whatwg.org/#interface-customevent", "tags": [ "web-features:events" ], From 0f99e1fb29b4a9c5ed6cd75b6b9a1a19bf132ee6 Mon Sep 17 00:00:00 2001 From: Florian Scholz Date: Tue, 2 Sep 2025 11:38:21 +0200 Subject: [PATCH 02/18] More specs --- api/BeforeUnloadEvent.json | 1 + api/CSS.json | 1 + api/CommandEvent.json | 1 + api/CredentialsContainer.json | 3 +++ api/CustomElementRegistry.json | 1 + api/DOMError.json | 6 +++--- api/DOMMatrix.json | 1 + api/DOMMatrixReadOnly.json | 2 ++ api/DOMParser.json | 3 +++ api/DOMPoint.json | 1 + api/DOMPointReadOnly.json | 1 + api/DOMQuad.json | 1 + api/DOMRect.json | 1 + api/DOMRectReadOnly.json | 1 + api/DOMTokenList.json | 13 ++++++++++++- api/Document.json | 13 +++++++++---- api/EXT_disjoint_timer_query_webgl2.json | 2 ++ api/Element.json | 18 ++++++++++++++++++ api/EventCounts.json | 8 ++++++++ api/EventSource.json | 2 ++ api/EventTarget.json | 6 ++++++ api/ExtendableEvent.json | 1 + api/EyeDropper.json | 1 + api/FeaturePolicy.json | 10 +++++----- 24 files changed, 85 insertions(+), 13 deletions(-) diff --git a/api/BeforeUnloadEvent.json b/api/BeforeUnloadEvent.json index 8cc5a7b248682e..30bbd305848c65 100644 --- a/api/BeforeUnloadEvent.json +++ b/api/BeforeUnloadEvent.json @@ -97,6 +97,7 @@ "user_interaction": { "__compat": { "description": "User interaction required for dialog box", + "spec_url": "https://html.spec.whatwg.org/multipage/nav-history-apis.html#the-beforeunloadevent-interface", "tags": [ "web-features:beforeunload" ], diff --git a/api/CSS.json b/api/CSS.json index f4c947a82385d8..86d8c158b4536e 100644 --- a/api/CSS.json +++ b/api/CSS.json @@ -2064,6 +2064,7 @@ "optional_parens": { "__compat": { "description": "Parentheses for single-argument version are optional.", + "spec_url": "https://drafts.csswg.org/css-conditional-3/#dom-css-supports", "tags": [ "web-features:css-supports" ], diff --git a/api/CommandEvent.json b/api/CommandEvent.json index c2db028fd30c89..2a752fa899b8a2 100644 --- a/api/CommandEvent.json +++ b/api/CommandEvent.json @@ -47,6 +47,7 @@ "__compat": { "description": "`CommandEvent()` constructor", "mdn_url": "https://developer.mozilla.org/docs/Web/API/CommandEvent/CommandEvent", + "spec_url": "https://html.spec.whatwg.org/multipage/interaction.html#commandevent", "tags": [ "web-features:invoker-commands" ], diff --git a/api/CredentialsContainer.json b/api/CredentialsContainer.json index 51449497a2273a..ebfa56b572869b 100644 --- a/api/CredentialsContainer.json +++ b/api/CredentialsContainer.json @@ -450,6 +450,7 @@ "__compat": { "description": "`credProtect` extension", "mdn_url": "https://developer.mozilla.org/docs/Web/API/Web_Authentication_API/WebAuthn_extensions#credprotect", + "spec_url": "https://fidoalliance.org/specs/fido-v2.2-ps-20250714/fido-client-to-authenticator-protocol-v2.2-ps-20250714.html#sctn-credProtect-extension", "tags": [ "web-features:webauthn" ], @@ -525,6 +526,7 @@ "__compat": { "description": "`minPinLength` extension", "mdn_url": "https://developer.mozilla.org/docs/Web/API/Web_Authentication_API/WebAuthn_extensions#minpinlength", + "spec_url": "https://fidoalliance.org/specs/fido-v2.2-ps-20250714/fido-client-to-authenticator-protocol-v2.2-ps-20250714.html#sctn-minpinlength-extension", "tags": [ "web-features:webauthn" ], @@ -946,6 +948,7 @@ "providers_multiple": { "__compat": { "description": "Support for multiple `providers`", + "spec_url": "https://w3c-fedid.github.io/FedCM/#dom-identitycredentialrequestoptions-providers", "tags": [ "web-features:fedcm" ], diff --git a/api/CustomElementRegistry.json b/api/CustomElementRegistry.json index 251206bf2a41c6..e6f9b6f23edd58 100644 --- a/api/CustomElementRegistry.json +++ b/api/CustomElementRegistry.json @@ -73,6 +73,7 @@ "__compat": { "description": "Customized built-in element support", "mdn_url": "https://developer.mozilla.org/docs/Web/API/CustomElementRegistry/define#defining_a_customized_built-in_element", + "spec_url": "https://html.spec.whatwg.org/multipage/custom-elements.html#dom-customelementregistry-define-dev", "tags": [ "web-features:customized-built-in-elements" ], diff --git a/api/DOMError.json b/api/DOMError.json index 1e025dd3769428..0dd89f59cb5e70 100644 --- a/api/DOMError.json +++ b/api/DOMError.json @@ -48,7 +48,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } }, @@ -83,7 +83,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -119,7 +119,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/DOMMatrix.json b/api/DOMMatrix.json index 06af1618d5e43b..d361915350ad39 100644 --- a/api/DOMMatrix.json +++ b/api/DOMMatrix.json @@ -267,6 +267,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.fxtf.org/geometry/#DOMMatrix", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMMatrixReadOnly.json b/api/DOMMatrixReadOnly.json index 2dfbe1fda1a5af..258a6f40438254 100644 --- a/api/DOMMatrixReadOnly.json +++ b/api/DOMMatrixReadOnly.json @@ -73,6 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.fxtf.org/geometry/#DOMMatrix", "tags": [ "web-features:dom-geometry" ], @@ -1593,6 +1594,7 @@ "__compat": { "description": "`toString()`", "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toString", + "spec_url": "https://drafts.fxtf.org/geometry/#dommatrixreadonly-stringification-behavior", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMParser.json b/api/DOMParser.json index 65c36b480283eb..9512ef78572582 100644 --- a/api/DOMParser.json +++ b/api/DOMParser.json @@ -176,6 +176,7 @@ "html": { "__compat": { "description": "HTML (`text/html`) support", + "spec_url": "https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparsersupportedtype-texthtml", "tags": [ "web-features:domparser" ], @@ -219,6 +220,7 @@ "svg": { "__compat": { "description": "SVG (`image/svg+xml`) support", + "spec_url": "https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparsersupportedtype-otherwise", "tags": [ "web-features:svg" ], @@ -260,6 +262,7 @@ "xml": { "__compat": { "description": "XML (`application/xml`) support", + "spec_url": "https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparsersupportedtype-otherwise", "tags": [ "web-features:domparser" ], diff --git a/api/DOMPoint.json b/api/DOMPoint.json index 1c1553040a9c9c..7d02faff097575 100644 --- a/api/DOMPoint.json +++ b/api/DOMPoint.json @@ -73,6 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.fxtf.org/geometry/#DOMPoint", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMPointReadOnly.json b/api/DOMPointReadOnly.json index d156f46c361cd7..8f6f942ddef7da 100644 --- a/api/DOMPointReadOnly.json +++ b/api/DOMPointReadOnly.json @@ -73,6 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.fxtf.org/geometry/#DOMPoint", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMQuad.json b/api/DOMQuad.json index 8d32930d33be11..fe917bfde9fb18 100644 --- a/api/DOMQuad.json +++ b/api/DOMQuad.json @@ -73,6 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.fxtf.org/geometry/#DOMQuad", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMRect.json b/api/DOMRect.json index a182a1d86962ab..2531f9360ed887 100644 --- a/api/DOMRect.json +++ b/api/DOMRect.json @@ -134,6 +134,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.fxtf.org/geometry/#DOMRect", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMRectReadOnly.json b/api/DOMRectReadOnly.json index bb8c3cc62ecbfe..e6a05e583688bc 100644 --- a/api/DOMRectReadOnly.json +++ b/api/DOMRectReadOnly.json @@ -139,6 +139,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.fxtf.org/geometry/#DOMRect", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMTokenList.json b/api/DOMTokenList.json index 5cc68b59573183..470a52411bbf0a 100644 --- a/api/DOMTokenList.json +++ b/api/DOMTokenList.json @@ -93,6 +93,7 @@ "multiple_parameters": { "__compat": { "description": "Multiple parameters for `add()`", + "spec_url": "https://dom.spec.whatwg.org/#dom-domtokenlist-add", "tags": [ "web-features:dom" ], @@ -176,6 +177,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMTokenList/entries", + "spec_url": "https://dom.spec.whatwg.org/#interface-domtokenlist", "tags": [ "web-features:dom" ], @@ -212,6 +214,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMTokenList/forEach", + "spec_url": "https://dom.spec.whatwg.org/#interface-domtokenlist", "tags": [ "web-features:dom" ], @@ -294,6 +297,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMTokenList/keys", + "spec_url": "https://dom.spec.whatwg.org/#interface-domtokenlist", "tags": [ "web-features:dom" ], @@ -421,6 +425,7 @@ "multiple_parameters": { "__compat": { "description": "Multiple parameters for `remove()`", + "spec_url": "https://dom.spec.whatwg.org/#dom-domtokenlist-remove", "tags": [ "web-features:dom" ], @@ -459,6 +464,7 @@ "__compat": { "description": "Removes duplicates", "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMTokenList#trimming_of_whitespace_and_removal_of_duplicates", + "spec_url": "https://dom.spec.whatwg.org/#dom-domtokenlist-remove", "tags": [ "web-features:dom" ], @@ -530,7 +536,8 @@ }, "boolean_value": { "__compat": { - "description": "`return()`'s value is a boolean, not void as it used to be.", + "description": "Boolean return value (not void anymore)", + "spec_url": "https://dom.spec.whatwg.org/#dom-domtokenlist-replace", "tags": [ "web-features:dom" ], @@ -650,6 +657,7 @@ "force_parameter": { "__compat": { "description": "`force` parameter", + "spec_url": "https://dom.spec.whatwg.org/#dom-domtokenlist-toggle", "tags": [ "web-features:dom" ], @@ -729,6 +737,7 @@ "__compat": { "description": "Trims whitespace", "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMTokenList#trimming_of_whitespace_and_removal_of_duplicates", + "spec_url": "https://dom.spec.whatwg.org/#DOMTokenList-stringification-behavior", "tags": [ "web-features:dom" ], @@ -806,6 +815,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMTokenList/values", + "spec_url": "https://dom.spec.whatwg.org/#interface-domtokenlist", "tags": [ "web-features:dom" ], @@ -842,6 +852,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://dom.spec.whatwg.org/#interface-domtokenlist", "tags": [ "web-features:dom" ], diff --git a/api/Document.json b/api/Document.json index ed0b203de92a64..3e0d3dc6f1987b 100644 --- a/api/Document.json +++ b/api/Document.json @@ -1009,6 +1009,7 @@ "options_parameter": { "__compat": { "description": "`options` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-document-caretpositionfrompoint-x-y-options-options", "tags": [ "web-features:document-caretpositionfrompoint" ], @@ -1920,6 +1921,7 @@ "options_parameter": { "__compat": { "description": "`options` parameter", + "spec_url": "https://dom.spec.whatwg.org/#dom-document-createelement-localname-options-options", "tags": [ "web-features:dom" ], @@ -2003,6 +2005,7 @@ "options_parameter": { "__compat": { "description": "`options` parameter", + "spec_url": "https://dom.spec.whatwg.org/#dom-document-createelementns-namespace-qualifiedname-options-options", "tags": [ "web-features:dom" ], @@ -2475,6 +2478,7 @@ "whatToShow_filter_parameters_optional": { "__compat": { "description": "`whatToShow` and `filter` parameters are optional", + "spec_url": "https://dom.spec.whatwg.org/#dom-document-createtreewalker", "tags": [ "web-features:dom" ], @@ -3269,7 +3273,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } }, @@ -3535,6 +3539,7 @@ "returns_promise": { "__compat": { "description": "Returns a `Promise`", + "spec_url": "https://fullscreen.spec.whatwg.org/#ref-for-dom-document-exitfullscreen①", "tags": [ "web-features:fullscreen" ], @@ -3697,7 +3702,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } @@ -6535,7 +6540,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -6696,7 +6701,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/EXT_disjoint_timer_query_webgl2.json b/api/EXT_disjoint_timer_query_webgl2.json index 169cbe75afde79..6f3659f61b119b 100644 --- a/api/EXT_disjoint_timer_query_webgl2.json +++ b/api/EXT_disjoint_timer_query_webgl2.json @@ -2,6 +2,7 @@ "api": { "EXT_disjoint_timer_query_webgl2": { "__compat": { + "spec_url": "https://registry.khronos.org/webgl/extensions/EXT_disjoint_timer_query_webgl2/", "support": { "chrome": [ { @@ -41,6 +42,7 @@ }, "queryCounterEXT": { "__compat": { + "spec_url": "https://registry.khronos.org/webgl/extensions/EXT_disjoint_timer_query_webgl2/", "support": { "chrome": [ { diff --git a/api/Element.json b/api/Element.json index a2c42c44807da5..1a4751d1d0eae5 100644 --- a/api/Element.json +++ b/api/Element.json @@ -257,6 +257,7 @@ "__compat": { "description": "Implicit to/from keyframes are supported", "mdn_url": "https://developer.mozilla.org/docs/Web/API/Element/animate#implicit_tofrom_keyframes", + "spec_url": "https://drafts.csswg.org/web-animations-1/#dom-animatable-animate", "tags": [ "web-features:web-animations" ], @@ -2900,6 +2901,7 @@ "type_pointerevent": { "__compat": { "description": "Is a `PointerEvent`", + "spec_url": "https://w3c.github.io/uievents/#event-type-auxclick", "tags": [ "web-features:pointer-events-api" ], @@ -3665,6 +3667,7 @@ "type_pointerevent": { "__compat": { "description": "Is a `PointerEvent`", + "spec_url": "https://w3c.github.io/uievents/#event-type-click", "tags": [ "web-features:pointer-events-api" ], @@ -4187,6 +4190,7 @@ "type_pointerevent": { "__compat": { "description": "Is a `PointerEvent`", + "spec_url": "https://w3c.github.io/uievents/#event-type-contextmenu", "tags": [ "web-features:pointer-events-api" ], @@ -5493,6 +5497,7 @@ "all_elements_selector": { "__compat": { "description": "`getElementsByTagName(\"*\")`", + "spec_url": "https://dom.spec.whatwg.org/#concept-getelementsbytagname", "tags": [ "web-features:dom" ], @@ -5591,6 +5596,7 @@ "all_elements_selector": { "__compat": { "description": "`getElementsByTagNameNS(namespaceURI, \"*\")`", + "spec_url": "https://dom.spec.whatwg.org/#concept-getelementsbytagnamens", "tags": [ "web-features:dom" ], @@ -8699,6 +8705,7 @@ "returns_promise": { "__compat": { "description": "Returns a `Promise`", + "spec_url": "https://fullscreen.spec.whatwg.org/#ref-for-dom-element-requestfullscreen①", "tags": [ "web-features:fullscreen" ], @@ -8913,6 +8920,7 @@ "options_behavior_parameter": { "__compat": { "description": "`options.behavior` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-scrolloptions-behavior", "tags": [ "web-features:scroll-elements" ], @@ -8947,6 +8955,7 @@ "options_left_parameter": { "__compat": { "description": "`options.left` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-scrolltooptions-left", "tags": [ "web-features:scroll-elements" ], @@ -8981,6 +8990,7 @@ "options_top_parameter": { "__compat": { "description": "`options.top` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-scrolltooptions-top", "tags": [ "web-features:scroll-elements" ], @@ -9098,6 +9108,7 @@ "options_behavior_parameter": { "__compat": { "description": "`options.behavior` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-scrolloptions-behavior", "tags": [ "web-features:scroll-elements" ], @@ -9132,6 +9143,7 @@ "options_left_parameter": { "__compat": { "description": "`options.left` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-scrolltooptions-left", "tags": [ "web-features:scroll-elements" ], @@ -9166,6 +9178,7 @@ "options_top_parameter": { "__compat": { "description": "`options.top` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-scrolltooptions-top", "tags": [ "web-features:scroll-elements" ], @@ -9369,6 +9382,7 @@ "options_container_parameter": { "__compat": { "description": "`options.container` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-scrollintoviewoptions-container", "tags": [ "web-features:scroll-into-view" ], @@ -9403,6 +9417,7 @@ "options_parameter": { "__compat": { "description": "`options` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-element-scrollintoview-arg-arg", "tags": [ "web-features:scroll-into-view" ], @@ -9675,6 +9690,7 @@ "options_behavior_parameter": { "__compat": { "description": "`options.behavior` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-scrolloptions-behavior", "tags": [ "web-features:scroll-elements" ], @@ -9709,6 +9725,7 @@ "options_left_parameter": { "__compat": { "description": "`options.left` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-scrolltooptions-left", "tags": [ "web-features:scroll-elements" ], @@ -9743,6 +9760,7 @@ "options_top_parameter": { "__compat": { "description": "`options.top` parameter", + "spec_url": "https://drafts.csswg.org/cssom-view/#dom-scrolltooptions-top", "tags": [ "web-features:scroll-elements" ], diff --git a/api/EventCounts.json b/api/EventCounts.json index 3a3a75e4f02554..ff5e49e8a0d37d 100644 --- a/api/EventCounts.json +++ b/api/EventCounts.json @@ -36,6 +36,7 @@ }, "entries": { "__compat": { + "spec_url": "https://w3c.github.io/event-timing/#sec-event-counts", "tags": [ "web-features:event-timing" ], @@ -69,6 +70,7 @@ }, "forEach": { "__compat": { + "spec_url": "https://w3c.github.io/event-timing/#sec-event-counts", "tags": [ "web-features:event-timing" ], @@ -102,6 +104,7 @@ }, "get": { "__compat": { + "spec_url": "https://w3c.github.io/event-timing/#sec-event-counts", "tags": [ "web-features:event-timing" ], @@ -135,6 +138,7 @@ }, "has": { "__compat": { + "spec_url": "https://w3c.github.io/event-timing/#sec-event-counts", "tags": [ "web-features:event-timing" ], @@ -168,6 +172,7 @@ }, "keys": { "__compat": { + "spec_url": "https://w3c.github.io/event-timing/#sec-event-counts", "tags": [ "web-features:event-timing" ], @@ -201,6 +206,7 @@ }, "size": { "__compat": { + "spec_url": "https://w3c.github.io/event-timing/#sec-event-counts", "tags": [ "web-features:event-timing" ], @@ -234,6 +240,7 @@ }, "values": { "__compat": { + "spec_url": "https://w3c.github.io/event-timing/#sec-event-counts", "tags": [ "web-features:event-timing" ], @@ -268,6 +275,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://w3c.github.io/event-timing/#sec-event-counts", "tags": [ "web-features:event-timing" ], diff --git a/api/EventSource.json b/api/EventSource.json index ad0e2fc887ba60..782b171443f281 100644 --- a/api/EventSource.json +++ b/api/EventSource.json @@ -94,6 +94,7 @@ "options_withCredentials_parameter": { "__compat": { "description": "`options.withCredentials` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/server-sent-events.html#dom-eventsourceinit-withcredentials", "tags": [ "web-features:server-sent-events" ], @@ -140,6 +141,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://html.spec.whatwg.org/multipage/server-sent-events.html#the-eventsource-interface", "tags": [ "web-features:server-sent-events" ], diff --git a/api/EventTarget.json b/api/EventTarget.json index 41ac387ce5030b..28d70663f1368f 100644 --- a/api/EventTarget.json +++ b/api/EventTarget.json @@ -169,6 +169,7 @@ "options_parameter": { "__compat": { "description": "Form with `options` object supported (third parameter can be either options or a `Boolean`, for backwards compatibility)", + "spec_url": "https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener-type-callback-options-options", "tags": [ "web-features:events" ], @@ -339,6 +340,7 @@ "options_passive_parameter_default_true_touch": { "__compat": { "description": "`options.passive` parameter defaults to `true` for `touchstart` and `touchmove` events", + "spec_url": "https://dom.spec.whatwg.org/#dom-addeventlisteneroptions-passive", "tags": [ "web-features:events" ], @@ -373,6 +375,7 @@ "options_passive_parameter_default_true_wheel": { "__compat": { "description": "`options.passive` parameter defaults to `true` for `wheel` and `mousewheel` events", + "spec_url": "https://dom.spec.whatwg.org/#dom-addeventlisteneroptions-passive", "tags": [ "web-features:events" ], @@ -455,6 +458,7 @@ "useCapture_parameter_optional": { "__compat": { "description": "`useCapture` parameter is optional", + "spec_url": "https://dom.spec.whatwg.org/#dom-eventlisteneroptions-capture", "tags": [ "web-features:events" ], @@ -624,6 +628,7 @@ "options_parameter": { "__compat": { "description": "Form with `options` object supported (third parameter can be either options or a `Boolean`, for backwards compatibility)", + "spec_url": "https://dom.spec.whatwg.org/#dom-eventtarget-removeeventlistener-type-callback-options-options", "tags": [ "web-features:events" ], @@ -666,6 +671,7 @@ "useCapture_parameter_optional": { "__compat": { "description": "`useCapture` parameter is optional", + "spec_url": "https://dom.spec.whatwg.org/#dom-eventlisteneroptions-capture", "tags": [ "web-features:events" ], diff --git a/api/ExtendableEvent.json b/api/ExtendableEvent.json index 0c27f92e581e71..aac6c851afd82d 100644 --- a/api/ExtendableEvent.json +++ b/api/ExtendableEvent.json @@ -131,6 +131,7 @@ "async_waitUntil": { "__compat": { "description": "`waitUntil` may be called asynchronously", + "spec_url": "https://w3c.github.io/ServiceWorker/#dom-extendableevent-waituntil", "tags": [ "web-features:service-workers" ], diff --git a/api/EyeDropper.json b/api/EyeDropper.json index 8333be98bc2e10..f7170e0520b22e 100644 --- a/api/EyeDropper.json +++ b/api/EyeDropper.json @@ -80,6 +80,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://wicg.github.io/eyedropper-api/#eyedropper-interface", "tags": [ "web-features:eyedropper" ], diff --git a/api/FeaturePolicy.json b/api/FeaturePolicy.json index 23c66ce2817731..2582359f48f7bd 100644 --- a/api/FeaturePolicy.json +++ b/api/FeaturePolicy.json @@ -34,7 +34,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } }, @@ -71,7 +71,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } @@ -109,7 +109,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } @@ -147,7 +147,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } @@ -185,7 +185,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } From 520d074c0fd51bee5d74b7a2e58775859939fb52 Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Tue, 10 Mar 2026 17:08:05 +0100 Subject: [PATCH 03/18] chore(scripts): add fix-standard-track-exceptions script --- scripts/fix-standard-track-exceptions.js | 236 +++++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 scripts/fix-standard-track-exceptions.js diff --git a/scripts/fix-standard-track-exceptions.js b/scripts/fix-standard-track-exceptions.js new file mode 100644 index 00000000000000..a2dfc6f43a687c --- /dev/null +++ b/scripts/fix-standard-track-exceptions.js @@ -0,0 +1,236 @@ +/* This file is a part of @mdn/browser-compat-data + * See LICENSE file for more information. */ + +/** + * Interactive script to eliminate entries from standard-track-exceptions.txt. + * + * Usage: node scripts/fix-standard-track-exceptions.js + * + * Walks through each exception and prompts for an action: + * + * https://... — Add the URL as spec_url + * f / false — Set standard_track to false (includes all subfeatures) + * p — Copy the parent feature's spec_url + * (empty) — Skip this entry + * /foo — Skip ahead until the next entry containing "foo" + * ? — Print instructions + * + * Changes are written to disk immediately. The exception list is updated + * on exit (including Ctrl+C). + */ + +import readline from 'node:readline/promises'; +import { styleText } from 'node:util'; + +import bcd from '../index.js'; +import query from '../utils/query.js'; +import { + getStandardTrackExceptions, + setStandardTrackExceptions, +} from '../lint/common/standard-track-exceptions.js'; + +import { updateFeatures } from './bulk-editor/utils.js'; + +const instructions = ` + ${styleText('bold', 'Actions:')} + ${styleText('cyan', 'https://...')} Add the URL as spec_url + ${styleText('cyan', 'p')} Use parent feature's spec_url + ${styleText('cyan', 'f')} Set standard_track to false (+ all subfeatures) + ${styleText('cyan', '(Enter)')} Skip this entry + ${styleText('cyan', '/foo')} Skip ahead until an entry containing "foo" + ${styleText('cyan', '?')} Show these instructions +`; + +/** + * Find the closest ancestor that has a spec_url. + * @param {string} featurePath Dot-separated feature path + * @returns {{ path: string, spec_url: string | string[] } | null} + */ +const findAncestorSpecUrl = (featurePath) => { + const parts = featurePath.split('.'); + for (let i = parts.length - 1; i >= 1; i--) { + const ancestorPath = parts.slice(0, i).join('.'); + try { + const node = query(ancestorPath, bcd); + if (node?.__compat?.spec_url) { + return { path: ancestorPath, spec_url: node.__compat.spec_url }; + } + } catch { + // ancestor not found, keep going up + } + } + return null; +}; + +const exceptions = await getStandardTrackExceptions(); +const remaining = new Set(exceptions); +const total = exceptions.length; + +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, +}); + +const prompt = ` ${styleText('dim', 'Paste spec url, p(arent), f(alse), /skip-to, or ?')} + > `; + +/** Save progress and exit */ +const save = async () => { + await setStandardTrackExceptions(remaining); + const removed = total - remaining.size; + if (removed > 0) { + console.log( + `\n${styleText('green', `Removed ${removed} exception(s).`)} ${remaining.size} remaining.`, + ); + } + rl.close(); +}; + +process.on('SIGINT', async () => { + console.log('\nInterrupted.'); + await save(); + process.exit(0); +}); + +console.log(instructions); + +let skipUntil = null; + +for (const [i, featurePath] of exceptions.entries()) { + // Handle skip-until filter + if (skipUntil) { + if (!featurePath.includes(skipUntil)) { + continue; + } + skipUntil = null; + } + + // Skip if already handled (e.g. as a subfeature of a previous "f" action) + if (!remaining.has(featurePath)) { + continue; + } + + // Load feature data + let compat; + try { + const node = query(featurePath, bcd); + compat = node?.__compat; + } catch { + console.log( + styleText( + 'yellow', + `[${i + 1}/${total}] ${featurePath} — not found, skipping`, + ), + ); + continue; + } + + if (!compat) { + console.log( + styleText( + 'yellow', + `[${i + 1}/${total}] ${featurePath} — no __compat, skipping`, + ), + ); + continue; + } + + // Skip if exception no longer applies (spec_url was added or standard_track is false) + if (compat.spec_url || compat.status?.standard_track === false) { + remaining.delete(featurePath); + continue; + } + + // Print header + console.log( + `\n${styleText('bold', `[${i + 1}/${total}]`)} ${styleText('cyan', featurePath)}`, + ); + + // Print description + if (compat.description) { + console.log(` desc: ${compat.description}`); + } + + // Print mdn_url + if (compat.mdn_url) { + console.log(` mdn: ${styleText('underline', compat.mdn_url)}`); + } + + // Print ancestor spec_url + const ancestor = findAncestorSpecUrl(featurePath); + if (ancestor) { + const urls = Array.isArray(ancestor.spec_url) + ? ancestor.spec_url + : [ancestor.spec_url]; + console.log(` parent: ${ancestor.path}`); + for (const url of urls) { + console.log(` spec: ${styleText('underline', url)}`); + } + } else { + console.log(styleText('dim', ' (no ancestor with spec_url)')); + } + + // Prompt loop (re-prompt on ? and invalid p) + while (true) { + const answer = (await rl.question(prompt)).trim(); + + if (answer === '?') { + console.log(instructions); + continue; + } + + if (answer === '') { + break; + } + + if (answer.startsWith('/')) { + skipUntil = answer.slice(1); + break; + } + + if (answer === 'f' || answer === 'false') { + // Update this feature and all subfeatures + updateFeatures([featurePath, featurePath + '.*'], (c) => { + c.status.standard_track = false; + return c; + }); + remaining.delete(featurePath); + // Also remove subfeatures from exception list + const prefix = featurePath + '.'; + for (const entry of remaining) { + if (entry.startsWith(prefix)) { + remaining.delete(entry); + } + } + break; + } + + if (answer === 'p') { + if (!ancestor) { + console.log(styleText('red', ' No ancestor with spec_url found.')); + continue; + } + updateFeatures([featurePath], (c) => { + c.spec_url = ancestor.spec_url; + return c; + }); + remaining.delete(featurePath); + break; + } + + if (answer.startsWith('https://')) { + updateFeatures([featurePath], (c) => { + c.spec_url = answer; + return c; + }); + remaining.delete(featurePath); + break; + } + + console.log( + styleText('yellow', ' Unknown input, try again. Type ? for help.'), + ); + } +} + +await save(); From 4efeb3691696572e9c2dda5b6b19c312b679105c Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Tue, 10 Mar 2026 17:49:16 +0100 Subject: [PATCH 04/18] Fix ~100 standard-track exceptions --- api/Animation.json | 1 + api/AudioNode.json | 2 + api/AudioParamMap.json | 8 ++ api/AudioProcessingEvent.json | 1 + api/BarProp.json | 1 + api/BaseAudioContext.json | 2 + api/BatteryManager.json | 1 + api/BeforeUnloadEvent.json | 2 +- api/CSPViolationReportBody.json | 2 +- api/CSS.json | 2 +- api/CSSFontFaceRule.json | 1 + api/CSSNumericArray.json | 5 ++ api/CSSPageRule.json | 1 + api/CSSPrimitiveValue.json | 18 ++-- api/CSSStyleDeclaration.json | 3 +- api/CSSStyleSheet.json | 1 + api/CSSTransformValue.json | 5 ++ api/CSSUnparsedValue.json | 5 ++ api/CSSValue.json | 6 +- api/CSSValueList.json | 6 +- api/Cache.json | 1 + api/CacheStorage.json | 2 + api/CanvasPattern.json | 1 + api/CanvasRenderingContext2D.json | 9 ++ api/Clipboard.json | 3 + api/CommandEvent.json | 1 + api/CredentialsContainer.json | 5 +- api/Crypto.json | 1 + api/CustomElementRegistry.json | 1 + api/CustomEvent.json | 1 + api/DOMError.json | 6 +- api/DOMMatrix.json | 1 + api/DOMMatrixReadOnly.json | 2 + api/DOMParser.json | 3 + api/DOMPoint.json | 1 + api/DOMPointReadOnly.json | 3 +- api/DOMQuad.json | 3 +- api/DOMRect.json | 3 +- api/DOMRectReadOnly.json | 3 +- api/DOMTokenList.json | 10 +++ lint/common/standard-track-exceptions.txt | 101 ---------------------- 41 files changed, 105 insertions(+), 129 deletions(-) diff --git a/api/Animation.json b/api/Animation.json index 0bde327caf7369..5f029fbf09a84a 100644 --- a/api/Animation.json +++ b/api/Animation.json @@ -760,6 +760,7 @@ "__compat": { "description": "Browsers automatically remove indefinite filling animations", "mdn_url": "https://developer.mozilla.org/docs/Web/API/Web_Animations_API/Using_the_Web_Animations_API#automatically_removing_filling_animations", + "spec_url": "https://drafts.csswg.org/web-animations-1/#replacing-animations", "tags": [ "web-features:web-animations" ], diff --git a/api/AudioNode.json b/api/AudioNode.json index 0ebffb834631b5..e77b054de0f87d 100644 --- a/api/AudioNode.json +++ b/api/AudioNode.json @@ -269,6 +269,7 @@ "destination_parameter": { "__compat": { "description": "`destination` parameter", + "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audionode-disconnect-destinationparam", "tags": [ "web-features:web-audio" ], @@ -305,6 +306,7 @@ "input_parameter": { "__compat": { "description": "`input` parameter", + "spec_url": "https://webaudio.github.io/web-audio-api/#dom-audionode-disconnect-destinationnode-output-input", "tags": [ "web-features:web-audio" ], diff --git a/api/AudioParamMap.json b/api/AudioParamMap.json index e2fd5e30c10d04..754fa4b5195650 100644 --- a/api/AudioParamMap.json +++ b/api/AudioParamMap.json @@ -36,6 +36,7 @@ }, "entries": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -69,6 +70,7 @@ }, "forEach": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -102,6 +104,7 @@ }, "get": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -135,6 +138,7 @@ }, "has": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -168,6 +172,7 @@ }, "keys": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -201,6 +206,7 @@ }, "size": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -234,6 +240,7 @@ }, "values": { "__compat": { + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], @@ -268,6 +275,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://webaudio.github.io/web-audio-api/#audioparammap", "tags": [ "web-features:web-audio" ], diff --git a/api/AudioProcessingEvent.json b/api/AudioProcessingEvent.json index d011e2d36e3164..7d42e1c9119c58 100644 --- a/api/AudioProcessingEvent.json +++ b/api/AudioProcessingEvent.json @@ -3,6 +3,7 @@ "AudioProcessingEvent": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/AudioProcessingEvent", + "spec_url": "https://www.w3.org/TR/webaudio-1.1/#AudioProcessingEvent", "support": { "chrome": { "version_added": "14" diff --git a/api/BarProp.json b/api/BarProp.json index db409c4233b27c..d7ed4bbedb5482 100644 --- a/api/BarProp.json +++ b/api/BarProp.json @@ -79,6 +79,7 @@ "returns_popup": { "__compat": { "description": "Returns `true` for non-popup windows", + "spec_url": "https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-barprop-visible", "tags": [ "web-features:barprop" ], diff --git a/api/BaseAudioContext.json b/api/BaseAudioContext.json index 37c3dfd3ee6215..cbd9e63fa7fdd5 100644 --- a/api/BaseAudioContext.json +++ b/api/BaseAudioContext.json @@ -676,6 +676,7 @@ "constraints_disableNormalization_parameter": { "__compat": { "description": "`constraints.disableNormalization` parameter", + "spec_url": "https://webaudio.github.io/web-audio-api/#dom-periodicwaveconstraints-disablenormalization", "tags": [ "web-features:web-audio" ], @@ -900,6 +901,7 @@ "returns_promise": { "__compat": { "description": "Returns a `Promise`", + "spec_url": "https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-decodeaudiodata", "tags": [ "web-features:web-audio" ], diff --git a/api/BatteryManager.json b/api/BatteryManager.json index c97e9dc1e8a374..d1995be0ac927f 100644 --- a/api/BatteryManager.json +++ b/api/BatteryManager.json @@ -38,6 +38,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/battery/#the-batterymanager-interface", "tags": [ "web-features:battery" ], diff --git a/api/BeforeUnloadEvent.json b/api/BeforeUnloadEvent.json index 8cc5a7b248682e..3039e6f2d5f6cd 100644 --- a/api/BeforeUnloadEvent.json +++ b/api/BeforeUnloadEvent.json @@ -126,7 +126,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/CSPViolationReportBody.json b/api/CSPViolationReportBody.json index aea7a5e80eb2b8..32c9ef64a1f347 100644 --- a/api/CSPViolationReportBody.json +++ b/api/CSPViolationReportBody.json @@ -526,7 +526,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/CSS.json b/api/CSS.json index f4c947a82385d8..44b76feb0e5efe 100644 --- a/api/CSS.json +++ b/api/CSS.json @@ -2090,7 +2090,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/CSSFontFaceRule.json b/api/CSSFontFaceRule.json index ac28a2ac145dfc..6b53c17e4ff762 100644 --- a/api/CSSFontFaceRule.json +++ b/api/CSSFontFaceRule.json @@ -89,6 +89,7 @@ "type_CSSFontFaceDescriptors": { "__compat": { "description": "Type changed to [`CSSFontFaceDescriptors`](https://developer.mozilla.org/docs/Web/API/CSSFontFaceDescriptors)", + "spec_url": "https://drafts.csswg.org/css-fonts/#dom-cssfontfacerule-style", "tags": [ "web-features:font-face" ], diff --git a/api/CSSNumericArray.json b/api/CSSNumericArray.json index d98c5b10d9752f..167709bdc8beb3 100644 --- a/api/CSSNumericArray.json +++ b/api/CSSNumericArray.json @@ -37,6 +37,7 @@ }, "entries": { "__compat": { + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssnumericarray", "tags": [ "web-features:css-typed-om" ], @@ -70,6 +71,7 @@ }, "forEach": { "__compat": { + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssnumericarray", "tags": [ "web-features:css-typed-om" ], @@ -103,6 +105,7 @@ }, "keys": { "__compat": { + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssnumericarray", "tags": [ "web-features:css-typed-om" ], @@ -172,6 +175,7 @@ }, "values": { "__compat": { + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssnumericarray", "tags": [ "web-features:css-typed-om" ], @@ -206,6 +210,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssnumericarray", "tags": [ "web-features:css-typed-om" ], diff --git a/api/CSSPageRule.json b/api/CSSPageRule.json index e61e11ab3eb5c0..29dc6054843b77 100644 --- a/api/CSSPageRule.json +++ b/api/CSSPageRule.json @@ -139,6 +139,7 @@ "type_CSSPageDescriptors": { "__compat": { "description": "Type changed to [`CSSPageDescriptors`](https://developer.mozilla.org/docs/Web/API/CSSPageDescriptors)", + "spec_url": "https://drafts.csswg.org/cssom/#dom-csspagerule-style", "tags": [ "web-features:css-object-model" ], diff --git a/api/CSSPrimitiveValue.json b/api/CSSPrimitiveValue.json index 12ae9d5e5658a0..b529c3ee99b5b2 100644 --- a/api/CSSPrimitiveValue.json +++ b/api/CSSPrimitiveValue.json @@ -39,7 +39,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } }, @@ -76,7 +76,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -120,7 +120,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -158,7 +158,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -196,7 +196,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -234,7 +234,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -269,7 +269,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -307,7 +307,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -345,7 +345,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/CSSStyleDeclaration.json b/api/CSSStyleDeclaration.json index f9f13f92a6d50f..bb3890b3ed454d 100644 --- a/api/CSSStyleDeclaration.json +++ b/api/CSSStyleDeclaration.json @@ -173,7 +173,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -485,6 +485,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://drafts.csswg.org/cssom/#the-cssstyledeclaration-interface", "tags": [ "web-features:css-object-model" ], diff --git a/api/CSSStyleSheet.json b/api/CSSStyleSheet.json index 6447efb15cce86..3bcff0cf131ab8 100644 --- a/api/CSSStyleSheet.json +++ b/api/CSSStyleSheet.json @@ -289,6 +289,7 @@ "index_parameter_optional": { "__compat": { "description": "`index` parameter is optional", + "spec_url": "https://drafts.csswg.org/cssom/#dom-cssstylesheet-insertrule-rule-index-index", "tags": [ "web-features:css-object-model" ], diff --git a/api/CSSTransformValue.json b/api/CSSTransformValue.json index ebe31c286359e2..c009f356061901 100644 --- a/api/CSSTransformValue.json +++ b/api/CSSTransformValue.json @@ -75,6 +75,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSTransformValue/entries", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#transformvalue-objects", "tags": [ "web-features:css-typed-om" ], @@ -110,6 +111,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSTransformValue/forEach", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#transformvalue-objects", "tags": [ "web-features:css-typed-om" ], @@ -181,6 +183,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSTransformValue/keys", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#transformvalue-objects", "tags": [ "web-features:css-typed-om" ], @@ -288,6 +291,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSTransformValue/values", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#transformvalue-objects", "tags": [ "web-features:css-typed-om" ], @@ -323,6 +327,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#transformvalue-objects", "tags": [ "web-features:css-typed-om" ], diff --git a/api/CSSUnparsedValue.json b/api/CSSUnparsedValue.json index 750b6752f3769f..615b86c2ad4342 100644 --- a/api/CSSUnparsedValue.json +++ b/api/CSSUnparsedValue.json @@ -75,6 +75,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue/entries", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssunparsedvalue", "tags": [ "web-features:css-typed-om" ], @@ -110,6 +111,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue/forEach", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssunparsedvalue", "tags": [ "web-features:css-typed-om" ], @@ -145,6 +147,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue/keys", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssunparsedvalue", "tags": [ "web-features:css-typed-om" ], @@ -216,6 +219,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/CSSUnparsedValue/values", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssunparsedvalue", "tags": [ "web-features:css-typed-om" ], @@ -251,6 +255,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://drafts.css-houdini.org/css-typed-om/#cssunparsedvalue", "tags": [ "web-features:css-typed-om" ], diff --git a/api/CSSValue.json b/api/CSSValue.json index d2f1d7b3312f6a..7dc30f6f3af67e 100644 --- a/api/CSSValue.json +++ b/api/CSSValue.json @@ -32,7 +32,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } }, @@ -66,7 +66,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -101,7 +101,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/CSSValueList.json b/api/CSSValueList.json index 547d1a2750b8ee..9e3a5a1233b3c8 100644 --- a/api/CSSValueList.json +++ b/api/CSSValueList.json @@ -32,7 +32,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } }, @@ -68,7 +68,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -103,7 +103,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/Cache.json b/api/Cache.json index 723f1d5e69df57..58700b199b93d5 100644 --- a/api/Cache.json +++ b/api/Cache.json @@ -45,6 +45,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/ServiceWorker/#cache-interface", "tags": [ "web-features:service-workers" ], diff --git a/api/CacheStorage.json b/api/CacheStorage.json index 9c3dc6547edcc4..35c32aab8f3447 100644 --- a/api/CacheStorage.json +++ b/api/CacheStorage.json @@ -50,6 +50,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/ServiceWorker/#cachestorage-interface", "tags": [ "web-features:service-workers" ], @@ -84,6 +85,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/ServiceWorker/#cachestorage-interface", "tags": [ "web-features:service-workers" ], diff --git a/api/CanvasPattern.json b/api/CanvasPattern.json index 57039a323f2fae..96eb9ddb3ce1b1 100644 --- a/api/CanvasPattern.json +++ b/api/CanvasPattern.json @@ -80,6 +80,7 @@ "dommatrix": { "__compat": { "description": "Accepts a `DOMMatrix2DInit`-like object parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-canvaspattern-settransform-dev", "tags": [ "web-features:canvas-2d" ], diff --git a/api/CanvasRenderingContext2D.json b/api/CanvasRenderingContext2D.json index c53a9c9e99053c..f60dedb7ede230 100644 --- a/api/CanvasRenderingContext2D.json +++ b/api/CanvasRenderingContext2D.json @@ -357,6 +357,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-clip-path", "tags": [ "web-features:canvas-2d" ], @@ -743,6 +744,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-drawfocusifneeded-path-element", "tags": [ "web-features:canvas-2d" ], @@ -823,6 +825,7 @@ "ImageBitmap_source_image": { "__compat": { "description": "ImageBitmap as source image", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#canvasimagesource", "tags": [ "web-features:canvas-2d" ], @@ -857,6 +860,7 @@ "SVGImageElement_source_image": { "__compat": { "description": "SVGImageElement as source image", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#canvasimagesource", "tags": [ "web-features:svg" ], @@ -974,6 +978,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-fill-path", "tags": [ "web-features:canvas-2d" ], @@ -1738,6 +1743,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-ispointinpath-path", "tags": [ "web-features:canvas-2d" ], @@ -1809,6 +1815,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-ispointinstroke-path", "tags": [ "web-features:canvas-2d" ], @@ -2766,6 +2773,7 @@ "matrix_parameter": { "__compat": { "description": "Accept matrix object as parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-settransform-matrix", "tags": [ "web-features:canvas-2d" ], @@ -3020,6 +3028,7 @@ "path_parameter": { "__compat": { "description": "`path` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-stroke-path", "tags": [ "web-features:canvas-2d" ], diff --git a/api/Clipboard.json b/api/Clipboard.json index 8c8d51369af90e..5138d9ec0b3387 100644 --- a/api/Clipboard.json +++ b/api/Clipboard.json @@ -194,6 +194,7 @@ "type_image-png": { "__compat": { "description": "Supports `image/png` MIME type", + "spec_url": "https://w3c.github.io/clipboard-apis/#mandatory-data-types-x", "tags": [ "web-features:async-clipboard" ], @@ -228,6 +229,7 @@ "type_text-html": { "__compat": { "description": "Supports `text/html` MIME type", + "spec_url": "https://w3c.github.io/clipboard-apis/#mandatory-data-types-x", "tags": [ "web-features:async-clipboard" ], @@ -262,6 +264,7 @@ "type_text-plain": { "__compat": { "description": "Supports `text/plain` MIME type", + "spec_url": "https://w3c.github.io/clipboard-apis/#mandatory-data-types-x", "tags": [ "web-features:async-clipboard" ], diff --git a/api/CommandEvent.json b/api/CommandEvent.json index 9a3a30914658e8..96390bf91f339e 100644 --- a/api/CommandEvent.json +++ b/api/CommandEvent.json @@ -38,6 +38,7 @@ "__compat": { "description": "`CommandEvent()` constructor", "mdn_url": "https://developer.mozilla.org/docs/Web/API/CommandEvent/CommandEvent", + "spec_url": "https://html.spec.whatwg.org/multipage/interaction.html#commandevent", "tags": [ "web-features:invoker-commands" ], diff --git a/api/CredentialsContainer.json b/api/CredentialsContainer.json index a05c2a16635786..83c10b34c8dbeb 100644 --- a/api/CredentialsContainer.json +++ b/api/CredentialsContainer.json @@ -478,7 +478,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": false } } @@ -525,6 +525,7 @@ "__compat": { "description": "`minPinLength` extension", "mdn_url": "https://developer.mozilla.org/docs/Web/API/Web_Authentication_API/WebAuthn_extensions#minpinlength", + "spec_url": "https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-errata-20220621.html#dom-authenticationextensionsclientinputs-minpinlength", "tags": [ "web-features:webauthn" ], @@ -939,7 +940,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/Crypto.json b/api/Crypto.json index ec869139fac139..eff4c2e1608f41 100644 --- a/api/Crypto.json +++ b/api/Crypto.json @@ -223,6 +223,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/webcrypto/#Crypto-attribute-subtle", "tags": [ "web-features:web-cryptography" ], diff --git a/api/CustomElementRegistry.json b/api/CustomElementRegistry.json index 20cd53784e6c4f..6a32f7a26ad245 100644 --- a/api/CustomElementRegistry.json +++ b/api/CustomElementRegistry.json @@ -178,6 +178,7 @@ "disabledFeatures_static_property": { "__compat": { "description": "Supports `disabledFeatures` static property", + "spec_url": "https://html.spec.whatwg.org/multipage/custom-elements.html#dom-customelementregistry-define-dev:~:text=disabledFeatures", "tags": [ "web-features:autonomous-custom-elements" ], diff --git a/api/CustomEvent.json b/api/CustomEvent.json index 5bb5b84bbd9210..99e287897edcf9 100644 --- a/api/CustomEvent.json +++ b/api/CustomEvent.json @@ -110,6 +110,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://dom.spec.whatwg.org/#interface-customevent", "tags": [ "web-features:events" ], diff --git a/api/DOMError.json b/api/DOMError.json index 1e025dd3769428..0dd89f59cb5e70 100644 --- a/api/DOMError.json +++ b/api/DOMError.json @@ -48,7 +48,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } }, @@ -83,7 +83,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -119,7 +119,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/DOMMatrix.json b/api/DOMMatrix.json index 4a7fcd01d6297f..0e6da00ad9d674 100644 --- a/api/DOMMatrix.json +++ b/api/DOMMatrix.json @@ -267,6 +267,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.csswg.org/geometry/#DOMMatrix", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMMatrixReadOnly.json b/api/DOMMatrixReadOnly.json index 00be96843f326a..8c69c57ea62523 100644 --- a/api/DOMMatrixReadOnly.json +++ b/api/DOMMatrixReadOnly.json @@ -73,6 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.csswg.org/geometry/#DOMMatrix", "tags": [ "web-features:dom-geometry" ], @@ -1596,6 +1597,7 @@ "__compat": { "description": "`toString()`", "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toString", + "spec_url": "https://drafts.csswg.org/geometry/#dommatrixreadonly-stringification-behavior", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMParser.json b/api/DOMParser.json index e455ee7e703f72..7c70c3c54b6764 100644 --- a/api/DOMParser.json +++ b/api/DOMParser.json @@ -169,6 +169,7 @@ "html": { "__compat": { "description": "HTML (`text/html`) support", + "spec_url": "https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring-dev", "tags": [ "web-features:domparser" ], @@ -212,6 +213,7 @@ "svg": { "__compat": { "description": "SVG (`image/svg+xml`) support", + "spec_url": "https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring-dev", "tags": [ "web-features:svg" ], @@ -253,6 +255,7 @@ "xml": { "__compat": { "description": "XML (`application/xml`) support", + "spec_url": "https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring-dev", "tags": [ "web-features:domparser" ], diff --git a/api/DOMPoint.json b/api/DOMPoint.json index 56eef892c15c18..9e5fc23e4d4ca8 100644 --- a/api/DOMPoint.json +++ b/api/DOMPoint.json @@ -73,6 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.csswg.org/geometry/#DOMPoint", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMPointReadOnly.json b/api/DOMPointReadOnly.json index f5299f15123e3b..985e00b639d6d1 100644 --- a/api/DOMPointReadOnly.json +++ b/api/DOMPointReadOnly.json @@ -3,7 +3,7 @@ "DOMPointReadOnly": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly", - "spec_url": "https://drafts.csswg.org/geometry/#DOMPoint", + "spec_url": "https://drafts.csswg.org/geometry/#dompointreadonly", "tags": [ "web-features:dom-geometry" ], @@ -73,6 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.csswg.org/geometry/#dompointreadonly", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMQuad.json b/api/DOMQuad.json index 11ce4bfbaca4b3..0de2d769e5093e 100644 --- a/api/DOMQuad.json +++ b/api/DOMQuad.json @@ -3,7 +3,7 @@ "DOMQuad": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMQuad", - "spec_url": "https://drafts.csswg.org/geometry/#DOMQuad", + "spec_url": "https://drafts.csswg.org/geometry/#domquad", "tags": [ "web-features:dom-geometry" ], @@ -73,6 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.csswg.org/geometry/#domquad", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMRect.json b/api/DOMRect.json index ea32425e318ebf..3a29b2bd243252 100644 --- a/api/DOMRect.json +++ b/api/DOMRect.json @@ -3,7 +3,7 @@ "DOMRect": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMRect", - "spec_url": "https://drafts.csswg.org/geometry/#DOMRect", + "spec_url": "https://drafts.csswg.org/geometry/#domrect", "tags": [ "web-features:dom-geometry" ], @@ -134,6 +134,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.csswg.org/geometry/#domrect", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMRectReadOnly.json b/api/DOMRectReadOnly.json index 50d43137cd5906..bd25e9211668b1 100644 --- a/api/DOMRectReadOnly.json +++ b/api/DOMRectReadOnly.json @@ -3,7 +3,7 @@ "DOMRectReadOnly": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMRectReadOnly", - "spec_url": "https://drafts.csswg.org/geometry/#DOMRect", + "spec_url": "https://drafts.csswg.org/geometry/#domrectreadonly", "tags": [ "web-features:dom-geometry" ], @@ -139,6 +139,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.csswg.org/geometry/#domrectreadonly", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMTokenList.json b/api/DOMTokenList.json index 5cc68b59573183..c0ddb97aaa4825 100644 --- a/api/DOMTokenList.json +++ b/api/DOMTokenList.json @@ -93,6 +93,7 @@ "multiple_parameters": { "__compat": { "description": "Multiple parameters for `add()`", + "spec_url": "https://dom.spec.whatwg.org/#ref-for-dom-domtokenlist-add①", "tags": [ "web-features:dom" ], @@ -176,6 +177,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMTokenList/entries", + "spec_url": "https://dom.spec.whatwg.org/#interface-domtokenlist", "tags": [ "web-features:dom" ], @@ -212,6 +214,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMTokenList/forEach", + "spec_url": "https://dom.spec.whatwg.org/#interface-domtokenlist", "tags": [ "web-features:dom" ], @@ -294,6 +297,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMTokenList/keys", + "spec_url": "https://dom.spec.whatwg.org/#interface-domtokenlist", "tags": [ "web-features:dom" ], @@ -421,6 +425,7 @@ "multiple_parameters": { "__compat": { "description": "Multiple parameters for `remove()`", + "spec_url": "https://dom.spec.whatwg.org/#ref-for-dom-domtokenlist-remove①", "tags": [ "web-features:dom" ], @@ -459,6 +464,7 @@ "__compat": { "description": "Removes duplicates", "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMTokenList#trimming_of_whitespace_and_removal_of_duplicates", + "spec_url": "https://dom.spec.whatwg.org/#interface-domtokenlist:~:text=duplicates%20omitted", "tags": [ "web-features:dom" ], @@ -531,6 +537,7 @@ "boolean_value": { "__compat": { "description": "`return()`'s value is a boolean, not void as it used to be.", + "spec_url": "https://dom.spec.whatwg.org/#ref-for-dom-domtokenlist-replace①", "tags": [ "web-features:dom" ], @@ -650,6 +657,7 @@ "force_parameter": { "__compat": { "description": "`force` parameter", + "spec_url": "https://dom.spec.whatwg.org/#ref-for-dom-domtokenlist-toggle①", "tags": [ "web-features:dom" ], @@ -806,6 +814,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMTokenList/values", + "spec_url": "https://dom.spec.whatwg.org/#interface-domtokenlist", "tags": [ "web-features:dom" ], @@ -842,6 +851,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://dom.spec.whatwg.org/#interface-domtokenlist", "tags": [ "web-features:dom" ], diff --git a/lint/common/standard-track-exceptions.txt b/lint/common/standard-track-exceptions.txt index 017b1457485142..3fc43fa0e5fa73 100644 --- a/lint/common/standard-track-exceptions.txt +++ b/lint/common/standard-track-exceptions.txt @@ -5,109 +5,8 @@ # but where the required `spec_url` is missing. # # As soon as this list is empty, we can derive `standard_track` at build time. -api.Animation.remove_filling_animation -api.AudioNode.disconnect.destination_parameter -api.AudioNode.disconnect.input_parameter -api.AudioParamMap.@@iterator -api.AudioParamMap.entries -api.AudioParamMap.forEach -api.AudioParamMap.get -api.AudioParamMap.has -api.AudioParamMap.keys -api.AudioParamMap.size -api.AudioParamMap.values -api.AudioProcessingEvent -api.BarProp.visible.returns_popup -api.BaseAudioContext.createPeriodicWave.constraints_disableNormalization_parameter -api.BaseAudioContext.decodeAudioData.returns_promise -api.BatteryManager.secure_context_required -api.BeforeUnloadEvent.user_interaction -api.CSPViolationReportBody.toJSON -api.CSS.supports_static.optional_parens -api.CSSFontFaceRule.style.type_CSSFontFaceDescriptors -api.CSSNumericArray.@@iterator -api.CSSNumericArray.entries -api.CSSNumericArray.forEach -api.CSSNumericArray.keys -api.CSSNumericArray.values -api.CSSPageRule.style.type_CSSPageDescriptors -api.CSSPrimitiveValue -api.CSSPrimitiveValue.getCounterValue -api.CSSPrimitiveValue.getFloatValue -api.CSSPrimitiveValue.getRGBColorValue -api.CSSPrimitiveValue.getRectValue -api.CSSPrimitiveValue.getStringValue -api.CSSPrimitiveValue.primitiveType -api.CSSPrimitiveValue.setFloatValue -api.CSSPrimitiveValue.setStringValue -api.CSSStyleDeclaration.@@iterator -api.CSSStyleDeclaration.getPropertyCSSValue -api.CSSStyleSheet.insertRule.index_parameter_optional -api.CSSTransformValue.@@iterator -api.CSSTransformValue.entries -api.CSSTransformValue.forEach -api.CSSTransformValue.keys -api.CSSTransformValue.values -api.CSSUnparsedValue.@@iterator -api.CSSUnparsedValue.entries -api.CSSUnparsedValue.forEach -api.CSSUnparsedValue.keys -api.CSSUnparsedValue.values -api.CSSValue -api.CSSValue.cssText -api.CSSValue.cssValueType -api.CSSValueList -api.CSSValueList.item -api.CSSValueList.length -api.Cache.worker_support -api.CacheStorage.secure_context_required -api.CacheStorage.worker_support -api.CanvasPattern.setTransform.dommatrix -api.CanvasRenderingContext2D.clip.path_parameter -api.CanvasRenderingContext2D.drawFocusIfNeeded.path_parameter -api.CanvasRenderingContext2D.drawImage.ImageBitmap_source_image -api.CanvasRenderingContext2D.drawImage.SVGImageElement_source_image -api.CanvasRenderingContext2D.fill.path_parameter -api.CanvasRenderingContext2D.isPointInPath.path_parameter -api.CanvasRenderingContext2D.isPointInStroke.path_parameter -api.CanvasRenderingContext2D.setTransform.matrix_parameter -api.CanvasRenderingContext2D.stroke.path_parameter -api.Clipboard.type_image-png -api.Clipboard.type_text-html -api.Clipboard.type_text-plain -api.CommandEvent.CommandEvent -api.CredentialsContainer.create.publicKey_option.extensions.credProtect -api.CredentialsContainer.create.publicKey_option.extensions.minPinLength -api.CredentialsContainer.get.identity_option.providers_multiple -api.Crypto.subtle.secure_context_required api.CustomElementRegistry.builtin_element_support -api.CustomElementRegistry.define.disabledFeatures_static_property -api.CustomEvent.worker_support -api.DOMError -api.DOMError.message -api.DOMError.name -api.DOMMatrix.worker_support -api.DOMMatrixReadOnly.toString -api.DOMMatrixReadOnly.worker_support -api.DOMParser.parseFromString.html -api.DOMParser.parseFromString.svg -api.DOMParser.parseFromString.xml -api.DOMPoint.worker_support -api.DOMPointReadOnly.worker_support -api.DOMQuad.worker_support -api.DOMRect.worker_support -api.DOMRectReadOnly.worker_support -api.DOMTokenList.@@iterator -api.DOMTokenList.add.multiple_parameters -api.DOMTokenList.entries -api.DOMTokenList.forEach -api.DOMTokenList.keys -api.DOMTokenList.remove.multiple_parameters -api.DOMTokenList.remove_duplicates -api.DOMTokenList.replace.boolean_value -api.DOMTokenList.toggle.force_parameter api.DOMTokenList.trim_whitespace -api.DOMTokenList.values api.Document.caretPositionFromPoint.options_parameter api.Document.createElement.options_parameter api.Document.createElementNS.options_parameter From a9a71385578effbb168bcb81ee8a6128596c43fb Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Tue, 10 Mar 2026 17:51:08 +0100 Subject: [PATCH 05/18] chore(lefthook): stage standard-track-exceptions changes --- .lefthook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.lefthook.yml b/.lefthook.yml index 9b5e8289a17d96..44aaba7f363ea5 100644 --- a/.lefthook.yml +++ b/.lefthook.yml @@ -18,7 +18,7 @@ pre-commit: - .vscode/*.json - browsers/*.json - schemas/*.json - run: npm run lint:fix {staged_files} + run: npm run lint:fix {staged_files} && git add lint/common/standard-track-exceptions.txt stage_fixed: true pre-push: From c5c27b1b36af17027f47a9f3a35c62ae3bac2333 Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Tue, 10 Mar 2026 18:04:22 +0100 Subject: [PATCH 06/18] Replace geometry spec URLs Mostly: ```diff -https://drafts.fxtf.org/geometry/ +https://drafts.csswg.org/geometry/ ``` --- api/DOMMatrix.json | 2 +- api/DOMMatrixReadOnly.json | 4 ++-- api/DOMPoint.json | 2 +- api/DOMPointReadOnly.json | 2 +- api/DOMQuad.json | 2 +- api/DOMRect.json | 2 +- api/DOMRectReadOnly.json | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/api/DOMMatrix.json b/api/DOMMatrix.json index a7f797a84cc47d..0b707e6bd6163f 100644 --- a/api/DOMMatrix.json +++ b/api/DOMMatrix.json @@ -267,7 +267,7 @@ "worker_support": { "__compat": { "description": "Available in workers", - "spec_url": "https://drafts.fxtf.org/geometry/#DOMMatrix", + "spec_url": "https://drafts.csswg.org/geometry/#dom-dommatrix-dommatrix", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMMatrixReadOnly.json b/api/DOMMatrixReadOnly.json index 9b23c1f766388b..d5382c04980e70 100644 --- a/api/DOMMatrixReadOnly.json +++ b/api/DOMMatrixReadOnly.json @@ -73,7 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", - "spec_url": "https://drafts.fxtf.org/geometry/#DOMMatrix", + "spec_url": "https://drafts.csswg.org/geometry/#dom-dommatrixreadonly-dommatrixreadonly", "tags": [ "web-features:dom-geometry" ], @@ -1597,7 +1597,7 @@ "__compat": { "description": "`toString()`", "mdn_url": "https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toString", - "spec_url": "https://drafts.fxtf.org/geometry/#dommatrixreadonly-stringification-behavior", + "spec_url": "https://drafts.csswg.org/geometry/#dommatrixreadonly-stringification-behavior", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMPoint.json b/api/DOMPoint.json index 89653789da0c7c..05754f6e1ec35b 100644 --- a/api/DOMPoint.json +++ b/api/DOMPoint.json @@ -73,7 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", - "spec_url": "https://drafts.fxtf.org/geometry/#DOMPoint", + "spec_url": "https://drafts.csswg.org/geometry/#dom-dompoint-dompoint", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMPointReadOnly.json b/api/DOMPointReadOnly.json index 4895caed706dac..5636e96a3f1740 100644 --- a/api/DOMPointReadOnly.json +++ b/api/DOMPointReadOnly.json @@ -73,7 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", - "spec_url": "https://drafts.fxtf.org/geometry/#DOMPoint", + "spec_url": "https://drafts.csswg.org/geometry/#dom-dompoint-dompoint", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMQuad.json b/api/DOMQuad.json index bf2e0002450f7f..0e3288e3df24a3 100644 --- a/api/DOMQuad.json +++ b/api/DOMQuad.json @@ -73,7 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", - "spec_url": "https://drafts.fxtf.org/geometry/#DOMQuad", + "spec_url": "https://drafts.csswg.org/geometry/#dom-domquad-domquad", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMRect.json b/api/DOMRect.json index a0e8c6fad2487b..5b6091d673d07c 100644 --- a/api/DOMRect.json +++ b/api/DOMRect.json @@ -134,7 +134,7 @@ "worker_support": { "__compat": { "description": "Available in workers", - "spec_url": "https://drafts.fxtf.org/geometry/#DOMRect", + "spec_url": "https://drafts.csswg.org/geometry/#dom-domrect-domrect", "tags": [ "web-features:dom-geometry" ], diff --git a/api/DOMRectReadOnly.json b/api/DOMRectReadOnly.json index 40c9564e01d27a..888083cfa5fb12 100644 --- a/api/DOMRectReadOnly.json +++ b/api/DOMRectReadOnly.json @@ -139,7 +139,7 @@ "worker_support": { "__compat": { "description": "Available in workers", - "spec_url": "https://drafts.fxtf.org/geometry/#DOMRect", + "spec_url": "https://drafts.csswg.org/geometry/#dom-domrectreadonly-domrectreadonly", "tags": [ "web-features:dom-geometry" ], From 2d59573e89082fc881a329ac440d859063880e34 Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 11:27:36 +0100 Subject: [PATCH 07/18] fixup! chore(scripts): add fix-standard-track-exceptions script --- scripts/fix-standard-track-exceptions.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/fix-standard-track-exceptions.js b/scripts/fix-standard-track-exceptions.js index a2dfc6f43a687c..4ea1df41fb44cb 100644 --- a/scripts/fix-standard-track-exceptions.js +++ b/scripts/fix-standard-track-exceptions.js @@ -22,6 +22,8 @@ import readline from 'node:readline/promises'; import { styleText } from 'node:util'; +/** @import {Identifier} from '../types/types.js' */ + import bcd from '../index.js'; import query from '../utils/query.js'; import { @@ -51,7 +53,7 @@ const findAncestorSpecUrl = (featurePath) => { for (let i = parts.length - 1; i >= 1; i--) { const ancestorPath = parts.slice(0, i).join('.'); try { - const node = query(ancestorPath, bcd); + const node = /** @type {Identifier} */ (query(ancestorPath, bcd)); if (node?.__compat?.spec_url) { return { path: ancestorPath, spec_url: node.__compat.spec_url }; } @@ -113,7 +115,7 @@ for (const [i, featurePath] of exceptions.entries()) { // Load feature data let compat; try { - const node = query(featurePath, bcd); + const node = /** @type {Identifier} */ (query(featurePath, bcd)); compat = node?.__compat; } catch { console.log( From 26fc429c5c651cdf8491c95bd2a81a43fb54cc85 Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 11:47:35 +0100 Subject: [PATCH 08/18] Fix more API exceptions --- api/Element.json | 2 ++ api/FetchEvent.json | 2 ++ lint/common/standard-track-exceptions.txt | 4 ---- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/Element.json b/api/Element.json index 77697eb7f36ad3..f09f27d616b15a 100644 --- a/api/Element.json +++ b/api/Element.json @@ -10089,6 +10089,7 @@ "enforces_trusted_types": { "__compat": { "description": "Requires `value` parameter to be `TrustedHTML` instance (for `iframe.srcdoc`), or `TrustedScriptURL` (for HTML `script.src`, and SVG `script.href`) when trusted types are enforced", + "spec_url": "https://w3c.github.io/trusted-types/dist/spec/#dom-xss-injection-sinks", "support": { "chrome": { "version_added": "83" @@ -10254,6 +10255,7 @@ "enforces_trusted_types": { "__compat": { "description": "Requires `value` parameter to be `TrustedHTML`, `TrustedScript`, or `TrustedScriptURL` instance when trusted types enforced (matching attribute type)", + "spec_url": "https://w3c.github.io/trusted-types/dist/spec/#dom-xss-injection-sinks", "support": { "chrome": { "version_added": "83" diff --git a/api/FetchEvent.json b/api/FetchEvent.json index 3477134eb2b4d8..7e7a07778c1e7d 100644 --- a/api/FetchEvent.json +++ b/api/FetchEvent.json @@ -316,6 +316,7 @@ "networkerror_on_same-origin_cors": { "__compat": { "description": "`NetworkError` thrown if the request mode is `same-origin` and the response type is `cors`", + "spec_url": "https://w3c.github.io/ServiceWorker/#fetch-event-respondwith", "tags": [ "web-features:service-workers" ], @@ -350,6 +351,7 @@ "resource_url": { "__compat": { "description": "Change in behavior when specifying the final URL of a resource.", + "spec_url": "https://w3c.github.io/ServiceWorker/#fetch-event-respondwith", "tags": [ "web-features:service-workers" ], diff --git a/lint/common/standard-track-exceptions.txt b/lint/common/standard-track-exceptions.txt index b57d4595124dff..695a5cc28220c5 100644 --- a/lint/common/standard-track-exceptions.txt +++ b/lint/common/standard-track-exceptions.txt @@ -5,10 +5,6 @@ # but where the required `spec_url` is missing. # # As soon as this list is empty, we can derive `standard_track` at build time. -api.Element.setAttribute.enforces_trusted_types -api.Element.setAttributeNS.enforces_trusted_types -api.FetchEvent.respondWith.networkerror_on_same-origin_cors -api.FetchEvent.respondWith.resource_url api.FetchLaterResult.activated api.FileReader.worker_support api.FileReaderSync.worker_support From 8827a80ba041f278fdcbf8cdc9a2c09ca97dc573 Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 12:44:06 +0100 Subject: [PATCH 09/18] Fix more API exceptions --- api/FetchLaterResult.json | 1 + api/FileReader.json | 1 + api/FileReaderSync.json | 1 + api/FileSystemSyncAccessHandle.json | 4 + api/FontFace.json | 1 + api/FontFaceSet.json | 7 + api/FontFaceSetLoadEvent.json | 1 + api/FormData.json | 8 ++ api/GPU.json | 2 +- api/GPUAdapter.json | 3 +- api/GPUCommandEncoder.json | 3 + api/GPUComputePassEncoder.json | 1 + api/GPUDevice.json | 14 ++ api/GPUPipelineError.json | 1 + api/GPUQueue.json | 3 + api/GPURenderBundleEncoder.json | 2 + api/GPURenderPassEncoder.json | 2 + api/GPUSupportedFeatures.json | 1 + api/Gamepad.json | 2 +- api/GamepadButton.json | 2 +- api/GamepadEvent.json | 2 +- api/GamepadHapticActuator.json | 2 +- api/GamepadPose.json | 2 +- api/Geolocation.json | 2 +- api/GeolocationCoordinates.json | 1 + api/GeolocationPosition.json | 1 + api/GeolocationPositionError.json | 2 +- api/HID.json | 1 + api/HIDConnectionEvent.json | 1 + api/HIDDevice.json | 1 + api/HIDInputReportEvent.json | 1 + api/HTMLAnchorElement.json | 3 + api/HTMLAreaElement.json | 3 + api/HTMLBaseElement.json | 2 + api/HTMLCanvasElement.json | 11 ++ api/HTMLDirectoryElement.json | 1 + api/HTMLElement.json | 4 + api/HTMLFieldSetElement.json | 1 + api/HTMLIFrameElement.json | 5 +- api/HTMLImageElement.json | 3 + api/HTMLLinkElement.json | 3 + api/HTMLMediaElement.json | 1 + api/HTMLScriptElement.json | 3 + api/HTMLSelectElement.json | 1 + api/HTMLTableRowElement.json | 2 + api/Headers.json | 7 + api/Highlight.json | 10 ++ api/HighlightRegistry.json | 13 +- api/IDBCursor.json | 2 + api/IDBCursorWithValue.json | 1 + api/IDBDatabase.json | 1 + api/IDBFactory.json | 1 + api/IDBIndex.json | 2 + api/IDBKeyRange.json | 1 + api/IDBObjectStore.json | 2 + api/IDBOpenDBRequest.json | 1 + api/IDBRequest.json | 2 + api/IDBTransaction.json | 2 + api/IDBVersionChangeEvent.json | 1 + api/ImageData.json | 7 +- lint/common/standard-track-exceptions.txt | 155 ---------------------- 61 files changed, 160 insertions(+), 167 deletions(-) diff --git a/api/FetchLaterResult.json b/api/FetchLaterResult.json index 5a3f26a04fb1de..919d55f8ab3117 100644 --- a/api/FetchLaterResult.json +++ b/api/FetchLaterResult.json @@ -39,6 +39,7 @@ "activated": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/FetchLaterResult/activated", + "spec_url": "https://fetch.spec.whatwg.org/#dom-fetchlaterresult-activated", "tags": [ "web-features:fetchlater" ], diff --git a/api/FileReader.json b/api/FileReader.json index 99dea77fe95c4c..0fd70c95573121 100644 --- a/api/FileReader.json +++ b/api/FileReader.json @@ -106,6 +106,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/FileAPI/#APIASynch", "tags": [ "web-features:file" ], diff --git a/api/FileReaderSync.json b/api/FileReaderSync.json index 160bb57cd9db96..f47e3dfe5879c6 100644 --- a/api/FileReaderSync.json +++ b/api/FileReaderSync.json @@ -97,6 +97,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/FileAPI/#FileReaderSync", "tags": [ "web-features:file" ], diff --git a/api/FileSystemSyncAccessHandle.json b/api/FileSystemSyncAccessHandle.json index b29f7fd492ed99..5296cee2bbfd08 100644 --- a/api/FileSystemSyncAccessHandle.json +++ b/api/FileSystemSyncAccessHandle.json @@ -75,6 +75,7 @@ "sync_version": { "__compat": { "description": "Synchronous implementation of the `close()` method", + "spec_url": "https://fs.spec.whatwg.org/#api-filesystemsyncaccesshandle-close", "tags": [ "web-features:origin-private-file-system" ], @@ -148,6 +149,7 @@ "sync_version": { "__compat": { "description": "Synchronous implementation of the `flush()` method", + "spec_url": "https://fs.spec.whatwg.org/#api-filesystemsyncaccesshandle-flush", "tags": [ "web-features:origin-private-file-system" ], @@ -221,6 +223,7 @@ "sync_version": { "__compat": { "description": "Synchronous implementation of the `getSize()` method", + "spec_url": "https://fs.spec.whatwg.org/#api-filesystemsyncaccesshandle-getsize", "tags": [ "web-features:origin-private-file-system" ], @@ -331,6 +334,7 @@ "sync_version": { "__compat": { "description": "Synchronous implementation of the `truncate()` method", + "spec_url": "https://fs.spec.whatwg.org/#api-filesystemsyncaccesshandle-truncate", "tags": [ "web-features:origin-private-file-system" ], diff --git a/api/FontFace.json b/api/FontFace.json index 73ae365b7833c5..419c67fb7778bf 100644 --- a/api/FontFace.json +++ b/api/FontFace.json @@ -77,6 +77,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.csswg.org/css-font-loading/#fontface-interface", "tags": [ "web-features:font-loading" ], diff --git a/api/FontFaceSet.json b/api/FontFaceSet.json index 8d899f1c4440f5..8522cf76336573 100644 --- a/api/FontFaceSet.json +++ b/api/FontFaceSet.json @@ -71,6 +71,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.csswg.org/css-font-loading/#FontFaceSet-interface", "tags": [ "web-features:font-loading" ], @@ -253,6 +254,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/FontFaceSet/entries", + "spec_url": "https://drafts.csswg.org/css-font-loading/#FontFaceSet-interface", "tags": [ "web-features:font-loading" ], @@ -287,6 +289,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/FontFaceSet/forEach", + "spec_url": "https://drafts.csswg.org/css-font-loading/#FontFaceSet-interface", "tags": [ "web-features:font-loading" ], @@ -321,6 +324,7 @@ "has": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/FontFaceSet/has", + "spec_url": "https://drafts.csswg.org/css-font-loading/#FontFaceSet-interface", "tags": [ "web-features:font-loading" ], @@ -355,6 +359,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/FontFaceSet/keys", + "spec_url": "https://drafts.csswg.org/css-font-loading/#FontFaceSet-interface", "tags": [ "web-features:font-loading" ], @@ -567,6 +572,7 @@ "size": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/FontFaceSet/size", + "spec_url": "https://drafts.csswg.org/css-font-loading/#FontFaceSet-interface", "tags": [ "web-features:font-loading" ], @@ -636,6 +642,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/FontFaceSet/values", + "spec_url": "https://drafts.csswg.org/css-font-loading/#FontFaceSet-interface", "tags": [ "web-features:font-loading" ], diff --git a/api/FontFaceSetLoadEvent.json b/api/FontFaceSetLoadEvent.json index aedefd2ad32579..fd989a9c77f611 100644 --- a/api/FontFaceSetLoadEvent.json +++ b/api/FontFaceSetLoadEvent.json @@ -73,6 +73,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://drafts.csswg.org/css-font-loading/#fontfacesetloadevent", "tags": [ "web-features:font-loading" ], diff --git a/api/FormData.json b/api/FormData.json index ee09465edde813..de7d749947d2f8 100644 --- a/api/FormData.json +++ b/api/FormData.json @@ -118,6 +118,7 @@ "submitter": { "__compat": { "description": "`submitter` parameter", + "spec_url": "https://xhr.spec.whatwg.org/#dom-formdata", "tags": [ "web-features:xhr" ], @@ -156,6 +157,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://xhr.spec.whatwg.org/#interface-formdata", "tags": [ "web-features:xhr" ], @@ -258,6 +260,7 @@ "filename_parameter": { "__compat": { "description": "`filename` parameter", + "spec_url": "https://xhr.spec.whatwg.org/#dom-formdata-append-blob", "tags": [ "web-features:xhr" ], @@ -351,6 +354,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/FormData/entries", + "spec_url": "https://xhr.spec.whatwg.org/#interface-formdata", "tags": [ "web-features:xhr" ], @@ -395,6 +399,7 @@ }, "forEach": { "__compat": { + "spec_url": "https://xhr.spec.whatwg.org/#interface-formdata", "tags": [ "web-features:xhr" ], @@ -578,6 +583,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/FormData/keys", + "spec_url": "https://xhr.spec.whatwg.org/#interface-formdata", "tags": [ "web-features:xhr" ], @@ -669,6 +675,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/FormData/values", + "spec_url": "https://xhr.spec.whatwg.org/#interface-formdata", "tags": [ "web-features:xhr" ], @@ -714,6 +721,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://xhr.spec.whatwg.org/#interface-formdata", "tags": [ "web-features:xhr" ], diff --git a/api/GPU.json b/api/GPU.json index ec83ed11abb96a..e2e6ca42eec015 100644 --- a/api/GPU.json +++ b/api/GPU.json @@ -223,7 +223,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/GPUAdapter.json b/api/GPUAdapter.json index 13c9e965c824de..ad9d0da409bb45 100644 --- a/api/GPUAdapter.json +++ b/api/GPUAdapter.json @@ -426,6 +426,7 @@ "handles_duplicate_calls": { "__compat": { "description": "Rejects duplicate calls as adapter is consumed.", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpuadapter-requestdevice", "tags": [ "web-features:webgpu" ], @@ -529,7 +530,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/GPUCommandEncoder.json b/api/GPUCommandEncoder.json index 73919f28d7740f..bbac3b47436d14 100644 --- a/api/GPUCommandEncoder.json +++ b/api/GPUCommandEncoder.json @@ -248,6 +248,7 @@ "accepts_GPUTexture_resources": { "__compat": { "description": "Accepts `GPUTexture` resources instead of `GPUTextureView` (provided default view is desired).", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpurenderpasscolorattachment-view", "tags": [ "web-features:webgpu" ], @@ -333,6 +334,7 @@ "separate_depth_stencil_read-only": { "__compat": { "description": "Set `depthReadOnly` and `stencilReadOnly` to `true` separately from one another.", + "spec_url": "https://gpuweb.github.io/gpuweb/#dictdef-gpurenderbundleencoderdescriptor", "tags": [ "web-features:webgpu" ], @@ -554,6 +556,7 @@ "offset_and_size_parameter_optional": { "__compat": { "description": "Offset and `size` parameters are optional", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpucommandencoder-copybuffertobuffer", "tags": [ "web-features:webgpu" ], diff --git a/api/GPUComputePassEncoder.json b/api/GPUComputePassEncoder.json index fe89956df9386c..7e33a12aa46fc3 100644 --- a/api/GPUComputePassEncoder.json +++ b/api/GPUComputePassEncoder.json @@ -613,6 +613,7 @@ "unset_bind_group": { "__compat": { "description": "Pass `null` to unset bind group", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpubindingcommandsmixin-setbindgroup-index-bindgroup-dynamicoffsets-bindgroup", "tags": [ "web-features:webgpu" ], diff --git a/api/GPUDevice.json b/api/GPUDevice.json index 9b4bc2d246bd69..fcdfd984d9a28e 100644 --- a/api/GPUDevice.json +++ b/api/GPUDevice.json @@ -188,6 +188,7 @@ "descriptor_entries_resource_parameter_accepts_GPUBuffer": { "__compat": { "description": "`descriptor.entries.resource` parameter accepts `GPUBuffer` in place of `GPUBufferBinding`.", + "spec_url": "https://gpuweb.github.io/gpuweb/#abstract-opdef-get-as-buffer-binding", "tags": [ "web-features:webgpu" ], @@ -230,6 +231,7 @@ "descriptor_entries_resource_parameter_accepts_GPUTexture_resource": { "__compat": { "description": "`descriptor.entries.resource` parameter accepts `GPUTexture` in place of `GPUTextureView` (provided default view is desired).", + "spec_url": "https://gpuweb.github.io/gpuweb/#typedefdef-gpubindingresource", "tags": [ "web-features:webgpu" ], @@ -272,6 +274,7 @@ "descriptor_entries_resource_parameter_accepts_GPUTextureView": { "__compat": { "description": "`descriptor.entries.resource` parameter accepts `GPUTextureView` (2D, single subresource) in place of `GPUExternalTexture`.", + "spec_url": "https://gpuweb.github.io/gpuweb/#typedefdef-gpubindingresource", "tags": [ "web-features:webgpu" ], @@ -675,6 +678,7 @@ "optional_entryPoint": { "__compat": { "description": "`entryPoint` properties are optional for determined default compute shader entry points.", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpuprogrammablestage-entrypoint", "tags": [ "web-features:webgpu" ], @@ -785,6 +789,7 @@ "optional_entryPoint": { "__compat": { "description": "`entryPoint` properties are optional for determined default compute shader entry points.", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpuprogrammablestage-entrypoint", "tags": [ "web-features:webgpu" ], @@ -895,6 +900,7 @@ "descriptor_bindGroupLayouts_parameter_accepts_null_values": { "__compat": { "description": "`bindGroupLayouts` array accepts `null` values.", + "spec_url": "https://gpuweb.github.io/gpuweb/#dictdef-gpupipelinelayoutdescriptor", "tags": [ "web-features:webgpu" ], @@ -1227,6 +1233,7 @@ "optional_depthcompare_depthwriteenabled": { "__compat": { "description": "`depthCompare` and `depthWriteEnabled` properties are optional when not needed (for example, formats without depth).", + "spec_url": "https://gpuweb.github.io/gpuweb/#abstract-opdef-validating-gpudepthstencilstate", "tags": [ "web-features:webgpu" ], @@ -1271,6 +1278,7 @@ "optional_entryPoint": { "__compat": { "description": "`entryPoint` properties are optional for determined default fragment and vertex shader entry points.", + "spec_url": "https://gpuweb.github.io/gpuweb/#abstract-opdef-get-the-entry-point", "tags": [ "web-features:webgpu" ], @@ -1358,6 +1366,7 @@ "validates_depth_bias_for_line_and_point_topologies": { "__compat": { "description": "Validates that `depthBias`, `depthBiasSlopeScale`, and `depthBiasClamp` must be `0` for line and point topologies.", + "spec_url": "https://gpuweb.github.io/gpuweb/#abstract-opdef-biased-fragment-depth", "tags": [ "web-features:webgpu" ], @@ -1556,6 +1565,7 @@ "optional_depthcompare_depthwriteenabled": { "__compat": { "description": "`depthCompare` and `depthWriteEnabled` properties are optional when not needed (for example, formats without depth).", + "spec_url": "https://gpuweb.github.io/gpuweb/#abstract-opdef-validating-gpudepthstencilstate", "tags": [ "web-features:webgpu" ], @@ -1600,6 +1610,7 @@ "optional_entryPoint": { "__compat": { "description": "`entryPoint` properties are optional for determined default fragment and vertex shader entry points.", + "spec_url": "https://gpuweb.github.io/gpuweb/#abstract-opdef-get-the-entry-point", "tags": [ "web-features:webgpu" ], @@ -1687,6 +1698,7 @@ "validates_depth_bias_for_line_and_point_topologies": { "__compat": { "description": "Validates that `depthBias`, `depthBiasSlopeScale`, and `depthBiasClamp` must be `0` for line and point topologies.", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpudevice-createrenderpipelineasync", "tags": [ "web-features:webgpu" ], @@ -2208,6 +2220,7 @@ "color_space_display-p3": { "__compat": { "description": "display-p3 color space", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-predefinedcolorspace-display-p3", "tags": [ "web-features:webgpu" ], @@ -2250,6 +2263,7 @@ "videoframe_source": { "__compat": { "description": "`VideoFrame` object as source", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpuexternaltexturedescriptor-source", "tags": [ "web-features:webgpu" ], diff --git a/api/GPUPipelineError.json b/api/GPUPipelineError.json index a49d4e5dc105af..289df472c09895 100644 --- a/api/GPUPipelineError.json +++ b/api/GPUPipelineError.json @@ -114,6 +114,7 @@ "message_optional": { "__compat": { "description": "`message` parameter is optional", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpupipelineerror-constructor-message", "tags": [ "web-features:webgpu" ], diff --git a/api/GPUQueue.json b/api/GPUQueue.json index 31b1994a3c2dd8..5cb6c87f636401 100644 --- a/api/GPUQueue.json +++ b/api/GPUQueue.json @@ -137,6 +137,7 @@ "htmlimageelement_imagedata_source": { "__compat": { "description": "`HTMLImageElement` and `ImageData` objects as `source`", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpuqueue-copyexternalimagetotexture-source-destination-copysize-source", "tags": [ "web-features:webgpu" ], @@ -181,6 +182,7 @@ "videoframe_source": { "__compat": { "description": "`VideoFrame` object as `source`", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpuqueue-copyexternalimagetotexture-source-destination-copysize-source", "tags": [ "web-features:webgpu" ], @@ -441,6 +443,7 @@ "validates_command_buffer_uniqueness": { "__compat": { "description": "Validates that submitted command buffers are unique.", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpuqueue-submit", "tags": [ "web-features:webgpu" ], diff --git a/api/GPURenderBundleEncoder.json b/api/GPURenderBundleEncoder.json index d7668f09332066..919c621fe39b65 100644 --- a/api/GPURenderBundleEncoder.json +++ b/api/GPURenderBundleEncoder.json @@ -737,6 +737,7 @@ "unset_bind_group": { "__compat": { "description": "Pass `null` to unset bind group", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpubindingcommandsmixin-setbindgroup-index-bindgroup-dynamicoffsets-bindgroup", "tags": [ "web-features:webgpu" ], @@ -985,6 +986,7 @@ "unset_vertex_buffer": { "__compat": { "description": "Pass `null` to unset vertex buffer", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpurendercommandsmixin-setvertexbuffer-slot-buffer-offset-size-buffer", "tags": [ "web-features:webgpu" ], diff --git a/api/GPURenderPassEncoder.json b/api/GPURenderPassEncoder.json index 416e1d9b3311a3..811e123dbef970 100644 --- a/api/GPURenderPassEncoder.json +++ b/api/GPURenderPassEncoder.json @@ -953,6 +953,7 @@ "unset_bind_group": { "__compat": { "description": "Pass `null` to unset bind group", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpubindingcommandsmixin-setbindgroup-index-bindgroup-dynamicoffsets-bindgroup", "tags": [ "web-features:webgpu" ], @@ -1405,6 +1406,7 @@ "unset_vertex_buffer": { "__compat": { "description": "Pass `null` to unset vertex buffer", + "spec_url": "https://gpuweb.github.io/gpuweb/#dom-gpurendercommandsmixin-setvertexbuffer-slot-buffer-offset-size-buffer", "tags": [ "web-features:webgpu" ], diff --git a/api/GPUSupportedFeatures.json b/api/GPUSupportedFeatures.json index bfcd5b57da7996..eee9dd7e6419d4 100644 --- a/api/GPUSupportedFeatures.json +++ b/api/GPUSupportedFeatures.json @@ -724,6 +724,7 @@ "subgroup_id_num_subgroups": { "__compat": { "description": "`subgroup_id` and `num_subgroups` WGSL builtins available if `subgroups` feature enabled", + "spec_url": "https://gpuweb.github.io/gpuweb/#subgroups", "tags": [ "web-features:webgpu" ], diff --git a/api/Gamepad.json b/api/Gamepad.json index 655af17345c9cc..42369583124c4b 100644 --- a/api/Gamepad.json +++ b/api/Gamepad.json @@ -77,7 +77,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/GamepadButton.json b/api/GamepadButton.json index 5bf9b70af479c3..2b939bc9fda8eb 100644 --- a/api/GamepadButton.json +++ b/api/GamepadButton.json @@ -74,7 +74,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/GamepadEvent.json b/api/GamepadEvent.json index a11fa04cfa8f2d..642231ce3707f2 100644 --- a/api/GamepadEvent.json +++ b/api/GamepadEvent.json @@ -114,7 +114,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/GamepadHapticActuator.json b/api/GamepadHapticActuator.json index 46c7d20d967453..6d62064ca70670 100644 --- a/api/GamepadHapticActuator.json +++ b/api/GamepadHapticActuator.json @@ -74,7 +74,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/GamepadPose.json b/api/GamepadPose.json index d19ec94ebddf7a..f55e51fc8a4d9c 100644 --- a/api/GamepadPose.json +++ b/api/GamepadPose.json @@ -66,7 +66,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/Geolocation.json b/api/Geolocation.json index f105ca2009c652..7272536bfd764a 100644 --- a/api/Geolocation.json +++ b/api/Geolocation.json @@ -80,7 +80,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/GeolocationCoordinates.json b/api/GeolocationCoordinates.json index 6e3dc2a144da88..7b79abd5f36bab 100644 --- a/api/GeolocationCoordinates.json +++ b/api/GeolocationCoordinates.json @@ -97,6 +97,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/geolocation/#coordinates_interface", "tags": [ "web-features:geolocation" ], diff --git a/api/GeolocationPosition.json b/api/GeolocationPosition.json index 2f28a17902cc07..daa3e0ece16e3e 100644 --- a/api/GeolocationPosition.json +++ b/api/GeolocationPosition.json @@ -80,6 +80,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/geolocation/#position_interface", "tags": [ "web-features:geolocation" ], diff --git a/api/GeolocationPositionError.json b/api/GeolocationPositionError.json index f6dc145f3a27da..fec4575d7e93d7 100644 --- a/api/GeolocationPositionError.json +++ b/api/GeolocationPositionError.json @@ -98,7 +98,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/HID.json b/api/HID.json index 774db9541df4e7..6750c58a028a01 100644 --- a/api/HID.json +++ b/api/HID.json @@ -43,6 +43,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://wicg.github.io/webhid/#dom-hid", "tags": [ "web-features:webhid" ], diff --git a/api/HIDConnectionEvent.json b/api/HIDConnectionEvent.json index 4e75cf027d88d3..6865b8af4b1414 100644 --- a/api/HIDConnectionEvent.json +++ b/api/HIDConnectionEvent.json @@ -81,6 +81,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://wicg.github.io/webhid/#dom-hidconnectionevent", "tags": [ "web-features:webhid" ], diff --git a/api/HIDDevice.json b/api/HIDDevice.json index 1fd8f317afc751..04ac4f9553865a 100644 --- a/api/HIDDevice.json +++ b/api/HIDDevice.json @@ -43,6 +43,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://wicg.github.io/webhid/#dom-hiddevice", "tags": [ "web-features:webhid" ], diff --git a/api/HIDInputReportEvent.json b/api/HIDInputReportEvent.json index f3e5c53e0f3011..c6f99291bc60cd 100644 --- a/api/HIDInputReportEvent.json +++ b/api/HIDInputReportEvent.json @@ -43,6 +43,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://wicg.github.io/webhid/#dom-hidinputreportevent", "tags": [ "web-features:webhid" ], diff --git a/api/HTMLAnchorElement.json b/api/HTMLAnchorElement.json index 18adacfa03a8dc..8d9bc0efc6c487 100644 --- a/api/HTMLAnchorElement.json +++ b/api/HTMLAnchorElement.json @@ -833,6 +833,7 @@ "no-referrer-when-downgrade": { "__compat": { "description": "no-referrer-when-downgrade", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-no-referrer-when-downgrade", "tags": [ "web-features:referrer-policy" ], @@ -868,6 +869,7 @@ "origin-when-cross-origin": { "__compat": { "description": "origin-when-cross-origin", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-origin-when-cross-origin", "tags": [ "web-features:referrer-policy" ], @@ -903,6 +905,7 @@ "unsafe-url": { "__compat": { "description": "unsafe-url", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-unsafe-url", "tags": [ "web-features:referrer-policy" ], diff --git a/api/HTMLAreaElement.json b/api/HTMLAreaElement.json index 07ca440b028b47..a408fc8881c6d5 100644 --- a/api/HTMLAreaElement.json +++ b/api/HTMLAreaElement.json @@ -719,6 +719,7 @@ "no-referrer-when-downgrade": { "__compat": { "description": "no-referrer-when-downgrade", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-no-referrer-when-downgrade", "tags": [ "web-features:referrer-policy" ], @@ -754,6 +755,7 @@ "origin-when-cross-origin": { "__compat": { "description": "origin-when-cross-origin", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-origin-when-cross-origin", "tags": [ "web-features:referrer-policy" ], @@ -789,6 +791,7 @@ "unsafe-url": { "__compat": { "description": "unsafe-url", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-unsafe-url", "tags": [ "web-features:referrer-policy" ], diff --git a/api/HTMLBaseElement.json b/api/HTMLBaseElement.json index 32a60f6c09e867..7a02ccddc5fd67 100644 --- a/api/HTMLBaseElement.json +++ b/api/HTMLBaseElement.json @@ -93,6 +93,7 @@ "forbid_data_javascript_urls": { "__compat": { "description": "`data:` and `javascript:` urls are not allowed", + "spec_url": "https://html.spec.whatwg.org/multipage/semantics.html#set-the-frozen-base-url", "support": { "chrome": { "version_added": false, @@ -125,6 +126,7 @@ "forbid_special_characters": { "__compat": { "description": "tab, newline, and < are not allowed (dangling markup prevention)", + "spec_url": "https://url.spec.whatwg.org/#concept-basic-url-parser", "support": { "chrome": { "version_added": "61" diff --git a/api/HTMLCanvasElement.json b/api/HTMLCanvasElement.json index 0cc16ea66d2dcf..d8aba7d85af5e5 100644 --- a/api/HTMLCanvasElement.json +++ b/api/HTMLCanvasElement.json @@ -200,6 +200,7 @@ "bitmaprenderer_context": { "__compat": { "description": "`bitmaprenderer` context", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#canvas-context-bitmaprenderer", "tags": [ "web-features:imagebitmaprenderingcontext" ], @@ -269,6 +270,7 @@ "webgl_context": { "__compat": { "description": "WebGL context", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#canvas-context-webgl", "tags": [ "web-features:webgl" ], @@ -537,6 +539,7 @@ "webgl2_context": { "__compat": { "description": "WebGL2 context", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#canvas-context-webgl2", "tags": [ "web-features:webgl2" ], @@ -784,6 +787,7 @@ "2d_context": { "__compat": { "description": "`2d` context", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#canvas-context-2d", "tags": [ "web-features:canvas-2d" ], @@ -1172,6 +1176,7 @@ "quality_parameter": { "__compat": { "description": "`quality` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-canvas-toblob-dev", "support": { "chrome": { "version_added": "50" @@ -1203,6 +1208,7 @@ "type_parameter_jpeg": { "__compat": { "description": "`type` parameter supports `\"image/jpeg\"`", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-canvas-toblob-dev", "support": { "chrome": { "version_added": "50" @@ -1234,6 +1240,7 @@ "type_parameter_png": { "__compat": { "description": "`type` parameter supports `\"image/png\"`", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-canvas-toblob-dev", "support": { "chrome": { "version_added": "50" @@ -1265,6 +1272,7 @@ "type_parameter_webp": { "__compat": { "description": "`type` parameter supports `\"image/webp\"`", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-canvas-toblob-dev", "support": { "chrome": { "version_added": "50" @@ -1342,6 +1350,7 @@ "type_parameter_jpeg": { "__compat": { "description": "`type` parameter supports `\"image/jpeg\"`", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-canvas-todataurl-dev", "support": { "chrome": { "version_added": "50" @@ -1373,6 +1382,7 @@ "type_parameter_png": { "__compat": { "description": "`type` parameter supports `\"image/png\"`", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-canvas-todataurl-dev", "support": { "chrome": { "version_added": "50" @@ -1404,6 +1414,7 @@ "type_parameter_webp": { "__compat": { "description": "`type` parameter supports `\"image/webp\"`", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#dom-canvas-todataurl-dev", "support": { "chrome": { "version_added": "17" diff --git a/api/HTMLDirectoryElement.json b/api/HTMLDirectoryElement.json index d17b637d1bd6d6..f18dcfa520ed0a 100644 --- a/api/HTMLDirectoryElement.json +++ b/api/HTMLDirectoryElement.json @@ -2,6 +2,7 @@ "api": { "HTMLDirectoryElement": { "__compat": { + "spec_url": "https://html.spec.whatwg.org/multipage/obsolete.html#htmldirectoryelement", "support": { "chrome": { "version_added": "1" diff --git a/api/HTMLElement.json b/api/HTMLElement.json index 53cac96477726e..851f761e35ed69 100644 --- a/api/HTMLElement.json +++ b/api/HTMLElement.json @@ -759,6 +759,7 @@ "plaintext-only": { "__compat": { "description": "`plaintext-only` as a value", + "spec_url": "https://html.spec.whatwg.org/multipage/interaction.html#attr-contenteditable-plaintextonly", "tags": [ "web-features:contenteditable-plaintextonly" ], @@ -1475,6 +1476,7 @@ "options_focusVisible_parameter": { "__compat": { "description": "`options.focusVisible` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/interaction.html#dom-focusoptions-focusvisible", "tags": [ "web-features:focus-events" ], @@ -1509,6 +1511,7 @@ "options_preventScroll_parameter": { "__compat": { "description": "`options.preventScroll` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/interaction.html#dom-focusoptions-preventscroll", "tags": [ "web-features:focus-events" ], @@ -3103,6 +3106,7 @@ "returns_boolean": { "__compat": { "description": "Returns `true` or `false`", + "spec_url": "https://html.spec.whatwg.org/multipage/popover.html#dom-togglepopover", "tags": [ "web-features:popover" ], diff --git a/api/HTMLFieldSetElement.json b/api/HTMLFieldSetElement.json index 0e58f3ca743e35..1b068c9acb2c90 100644 --- a/api/HTMLFieldSetElement.json +++ b/api/HTMLFieldSetElement.json @@ -180,6 +180,7 @@ "type_HTMLCollection": { "__compat": { "description": "Returns an `HTMLCollection`", + "spec_url": "https://html.spec.whatwg.org/multipage/form-elements.html#dom-fieldset-elements-dev", "tags": [ "web-features:fieldset" ], diff --git a/api/HTMLIFrameElement.json b/api/HTMLIFrameElement.json index 60b29a3b2eb6ad..f4906365c3039a 100644 --- a/api/HTMLIFrameElement.json +++ b/api/HTMLIFrameElement.json @@ -476,7 +476,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } @@ -902,6 +902,7 @@ "no-referrer-when-downgrade": { "__compat": { "description": "no-referrer-when-downgrade", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-no-referrer-when-downgrade", "tags": [ "web-features:referrer-policy" ], @@ -937,6 +938,7 @@ "origin-when-cross-origin": { "__compat": { "description": "origin-when-cross-origin", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-origin-when-cross-origin", "tags": [ "web-features:referrer-policy" ], @@ -972,6 +974,7 @@ "unsafe-url": { "__compat": { "description": "unsafe-url", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-unsafe-url", "tags": [ "web-features:referrer-policy" ], diff --git a/api/HTMLImageElement.json b/api/HTMLImageElement.json index 19d269fd116be4..f04eca52c48261 100644 --- a/api/HTMLImageElement.json +++ b/api/HTMLImageElement.json @@ -926,6 +926,7 @@ "no-referrer-when-downgrade": { "__compat": { "description": "no-referrer-when-downgrade", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-no-referrer-when-downgrade", "tags": [ "web-features:referrer-policy" ], @@ -961,6 +962,7 @@ "origin-when-cross-origin": { "__compat": { "description": "origin-when-cross-origin", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-origin-when-cross-origin", "tags": [ "web-features:referrer-policy" ], @@ -996,6 +998,7 @@ "unsafe-url": { "__compat": { "description": "unsafe-url", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-unsafe-url", "tags": [ "web-features:referrer-policy" ], diff --git a/api/HTMLLinkElement.json b/api/HTMLLinkElement.json index cea29da33f3086..cd9c35b6cff9bb 100644 --- a/api/HTMLLinkElement.json +++ b/api/HTMLLinkElement.json @@ -563,6 +563,7 @@ "no-referrer-when-downgrade": { "__compat": { "description": "no-referrer-when-downgrade", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-no-referrer-when-downgrade", "tags": [ "web-features:referrer-policy" ], @@ -598,6 +599,7 @@ "origin-when-cross-origin": { "__compat": { "description": "origin-when-cross-origin", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-origin-when-cross-origin", "tags": [ "web-features:referrer-policy" ], @@ -633,6 +635,7 @@ "unsafe-url": { "__compat": { "description": "unsafe-url", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-unsafe-url", "tags": [ "web-features:referrer-policy" ], diff --git a/api/HTMLMediaElement.json b/api/HTMLMediaElement.json index e1de9773e175ca..a86f56cc27be07 100644 --- a/api/HTMLMediaElement.json +++ b/api/HTMLMediaElement.json @@ -2059,6 +2059,7 @@ "returns_promise": { "__compat": { "description": "Returns a `Promise`", + "spec_url": "https://html.spec.whatwg.org/multipage/media.html#dom-media-play", "tags": [ "web-features:video" ], diff --git a/api/HTMLScriptElement.json b/api/HTMLScriptElement.json index dfbe830daa2d4c..5f39af2927bd1a 100644 --- a/api/HTMLScriptElement.json +++ b/api/HTMLScriptElement.json @@ -596,6 +596,7 @@ "no-referrer-when-downgrade": { "__compat": { "description": "no-referrer-when-downgrade", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-no-referrer-when-downgrade", "tags": [ "web-features:referrer-policy" ], @@ -631,6 +632,7 @@ "origin-when-cross-origin": { "__compat": { "description": "origin-when-cross-origin", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-origin-when-cross-origin", "tags": [ "web-features:referrer-policy" ], @@ -666,6 +668,7 @@ "unsafe-url": { "__compat": { "description": "unsafe-url", + "spec_url": "https://w3c.github.io/webappsec-referrer-policy/#dom-referrerpolicy-unsafe-url", "tags": [ "web-features:referrer-policy" ], diff --git a/api/HTMLSelectElement.json b/api/HTMLSelectElement.json index 7088d74acc34e9..df86ccec827cdd 100644 --- a/api/HTMLSelectElement.json +++ b/api/HTMLSelectElement.json @@ -96,6 +96,7 @@ "index_before_parameter": { "__compat": { "description": "Index as `before` parameter", + "spec_url": "https://html.spec.whatwg.org/multipage/form-elements.html#dom-select-add-dev", "tags": [ "web-features:select" ], diff --git a/api/HTMLTableRowElement.json b/api/HTMLTableRowElement.json index 18198e42fb8a39..cafa0cefb17e78 100644 --- a/api/HTMLTableRowElement.json +++ b/api/HTMLTableRowElement.json @@ -369,6 +369,7 @@ "index_parameter_negative_one": { "__compat": { "description": "`index` parameter can be `-1`", + "spec_url": "https://html.spec.whatwg.org/multipage/tables.html#dom-tr-insertcell-dev", "tags": [ "web-features:table" ], @@ -414,6 +415,7 @@ "index_parameter_optional": { "__compat": { "description": "`index` parameter is optional", + "spec_url": "https://html.spec.whatwg.org/multipage/tables.html#dom-tr-insertcell-dev", "tags": [ "web-features:table" ], diff --git a/api/Headers.json b/api/Headers.json index 3feed275f1e124..1c27ce5a455900 100644 --- a/api/Headers.json +++ b/api/Headers.json @@ -187,6 +187,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Headers/entries", + "spec_url": "https://fetch.spec.whatwg.org/#headers-class", "tags": [ "web-features:fetch" ], @@ -232,6 +233,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Headers/forEach", + "spec_url": "https://fetch.spec.whatwg.org/#headers-class", "tags": [ "web-features:fetch" ], @@ -415,6 +417,7 @@ "iterate_combined_duplicates": { "__compat": { "description": "Iteration combines duplicate header names", + "spec_url": "https://fetch.spec.whatwg.org/#concept-header-list-get", "tags": [ "web-features:fetch" ], @@ -457,6 +460,7 @@ "iterate_lexicographically": { "__compat": { "description": "Iteration is lexicographically sorted", + "spec_url": "https://fetch.spec.whatwg.org/#convert-header-names-to-a-sorted-lowercase-set", "tags": [ "web-features:fetch" ], @@ -502,6 +506,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Headers/keys", + "spec_url": "https://fetch.spec.whatwg.org/#headers-class", "tags": [ "web-features:fetch" ], @@ -593,6 +598,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Headers/values", + "spec_url": "https://fetch.spec.whatwg.org/#headers-class", "tags": [ "web-features:fetch" ], @@ -638,6 +644,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://fetch.spec.whatwg.org/#headers-class", "tags": [ "web-features:fetch" ], diff --git a/api/Highlight.json b/api/Highlight.json index cdac11010076a7..8d241f742707ff 100644 --- a/api/Highlight.json +++ b/api/Highlight.json @@ -73,6 +73,7 @@ "add": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Highlight/add", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlight", "tags": [ "web-features:highlight" ], @@ -107,6 +108,7 @@ "clear": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Highlight/clear", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlight", "tags": [ "web-features:highlight" ], @@ -141,6 +143,7 @@ "delete": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Highlight/delete", + "spec_url": "https://fetch.spec.whatwg.org/#dom-headers-delete", "tags": [ "web-features:highlight" ], @@ -175,6 +178,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Highlight/entries", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlight", "tags": [ "web-features:highlight" ], @@ -209,6 +213,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Highlight/forEach", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlight", "tags": [ "web-features:highlight" ], @@ -243,6 +248,7 @@ "has": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Highlight/has", + "spec_url": "https://fetch.spec.whatwg.org/#dom-headers-has", "tags": [ "web-features:highlight" ], @@ -277,6 +283,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Highlight/keys", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlight", "tags": [ "web-features:highlight" ], @@ -346,6 +353,7 @@ "size": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Highlight/size", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlight", "tags": [ "web-features:highlight" ], @@ -415,6 +423,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Highlight/values", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlight", "tags": [ "web-features:highlight" ], @@ -449,6 +458,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlight", "tags": [ "web-features:highlight" ], diff --git a/api/HighlightRegistry.json b/api/HighlightRegistry.json index 050557b924e4dc..a6e886540e0bfc 100644 --- a/api/HighlightRegistry.json +++ b/api/HighlightRegistry.json @@ -3,7 +3,7 @@ "HighlightRegistry": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/HighlightRegistry", - "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlight-registry", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], @@ -37,6 +37,7 @@ "clear": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/HighlightRegistry/clear", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], @@ -71,6 +72,7 @@ "delete": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/HighlightRegistry/delete", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], @@ -105,6 +107,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/HighlightRegistry/entries", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], @@ -139,6 +142,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/HighlightRegistry/forEach", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], @@ -173,6 +177,7 @@ "get": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/HighlightRegistry/get", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], @@ -207,6 +212,7 @@ "has": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/HighlightRegistry/has", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], @@ -276,6 +282,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/HighlightRegistry/keys", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], @@ -310,6 +317,7 @@ "set": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/HighlightRegistry/set", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], @@ -344,6 +352,7 @@ "size": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/HighlightRegistry/size", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], @@ -378,6 +387,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/HighlightRegistry/values", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], @@ -412,6 +422,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://drafts.csswg.org/css-highlight-api/#highlightregistry", "tags": [ "web-features:highlight" ], diff --git a/api/IDBCursor.json b/api/IDBCursor.json index 3a5d38b82d57c1..cb20c7ca7498a3 100644 --- a/api/IDBCursor.json +++ b/api/IDBCursor.json @@ -76,6 +76,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/IndexedDB/#cursor-interface", "tags": [ "web-features:indexeddb" ], @@ -361,6 +362,7 @@ "binary_keys": { "__compat": { "description": "Binary keys", + "spec_url": "https://w3c.github.io/IndexedDB/#dom-idbcursor-key", "tags": [ "web-features:indexeddb" ], diff --git a/api/IDBCursorWithValue.json b/api/IDBCursorWithValue.json index cf0a9d015789c4..baa1554b9a3cf1 100644 --- a/api/IDBCursorWithValue.json +++ b/api/IDBCursorWithValue.json @@ -62,6 +62,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/IndexedDB/#idbcursorwithvalue", "tags": [ "web-features:indexeddb" ], diff --git a/api/IDBDatabase.json b/api/IDBDatabase.json index e4321cee63d1b0..b78e582631a8d8 100644 --- a/api/IDBDatabase.json +++ b/api/IDBDatabase.json @@ -62,6 +62,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/IndexedDB/#database-interface", "tags": [ "web-features:indexeddb" ], diff --git a/api/IDBFactory.json b/api/IDBFactory.json index df609d90b8c9ee..ef1ae0873c6387 100644 --- a/api/IDBFactory.json +++ b/api/IDBFactory.json @@ -62,6 +62,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/IndexedDB/#factory-interface", "tags": [ "web-features:indexeddb" ], diff --git a/api/IDBIndex.json b/api/IDBIndex.json index fc6417e5db6a6e..9aa373d438cfc1 100644 --- a/api/IDBIndex.json +++ b/api/IDBIndex.json @@ -62,6 +62,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/IndexedDB/#index-interface", "tags": [ "web-features:indexeddb" ], @@ -661,6 +662,7 @@ "renaming_through_name_setter": { "__compat": { "description": "Renaming through `name` setter", + "spec_url": "https://w3c.github.io/IndexedDB/#ref-for-dom-idbindex-name①", "tags": [ "web-features:indexeddb" ], diff --git a/api/IDBKeyRange.json b/api/IDBKeyRange.json index cded8e679928f3..360e3e599c307f 100644 --- a/api/IDBKeyRange.json +++ b/api/IDBKeyRange.json @@ -67,6 +67,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/IndexedDB/#keyrange", "tags": [ "web-features:indexeddb" ], diff --git a/api/IDBObjectStore.json b/api/IDBObjectStore.json index f73de07a294e54..e36c95b957bfd5 100644 --- a/api/IDBObjectStore.json +++ b/api/IDBObjectStore.json @@ -62,6 +62,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/IndexedDB/#object-store-interface", "tags": [ "web-features:indexeddb" ], @@ -911,6 +912,7 @@ "renaming_through_name_setter": { "__compat": { "description": "Renaming through `name` setter", + "spec_url": "https://w3c.github.io/IndexedDB/#ref-for-dom-idbobjectstore-name①", "tags": [ "web-features:indexeddb" ], diff --git a/api/IDBOpenDBRequest.json b/api/IDBOpenDBRequest.json index b4b5b051dc92aa..ce9169b595f6dc 100644 --- a/api/IDBOpenDBRequest.json +++ b/api/IDBOpenDBRequest.json @@ -62,6 +62,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/IndexedDB/#idbopendbrequest", "tags": [ "web-features:indexeddb" ], diff --git a/api/IDBRequest.json b/api/IDBRequest.json index 2de86e5ab5a885..4cf3abee49b55f 100644 --- a/api/IDBRequest.json +++ b/api/IDBRequest.json @@ -71,6 +71,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/IndexedDB/#request-api", "tags": [ "web-features:indexeddb" ], @@ -151,6 +152,7 @@ "DOMException": { "__compat": { "description": "`DOMException` value instead of `DOMError`", + "spec_url": "https://w3c.github.io/IndexedDB/#ref-for-dom-idbrequest-error①", "tags": [ "web-features:indexeddb" ], diff --git a/api/IDBTransaction.json b/api/IDBTransaction.json index 30d0e1e1a9b1f1..51ec477f89f0f7 100644 --- a/api/IDBTransaction.json +++ b/api/IDBTransaction.json @@ -62,6 +62,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/IndexedDB/#transaction", "tags": [ "web-features:indexeddb" ], @@ -384,6 +385,7 @@ "DOMException": { "__compat": { "description": "`DOMException` value instead of `DOMError`", + "spec_url": "https://w3c.github.io/IndexedDB/#ref-for-dom-idbtransaction-error①", "tags": [ "web-features:indexeddb" ], diff --git a/api/IDBVersionChangeEvent.json b/api/IDBVersionChangeEvent.json index e1610d580adcb8..fea2549e24c9d0 100644 --- a/api/IDBVersionChangeEvent.json +++ b/api/IDBVersionChangeEvent.json @@ -93,6 +93,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/IndexedDB/#events", "tags": [ "web-features:indexeddb" ], diff --git a/api/ImageData.json b/api/ImageData.json index 252075df8fc663..2188e809441859 100644 --- a/api/ImageData.json +++ b/api/ImageData.json @@ -91,6 +91,10 @@ }, "settings_parameter": { "__compat": { + "spec_url": [ + "https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#dom-imagedata", + "https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#dom-imagedata-with-data" + ], "support": { "chrome": { "version_added": "92" @@ -188,6 +192,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#imagedata", "tags": [ "web-features:canvas-2d" ], @@ -437,4 +442,4 @@ } } } -} \ No newline at end of file +} diff --git a/lint/common/standard-track-exceptions.txt b/lint/common/standard-track-exceptions.txt index 695a5cc28220c5..cd7267d56779b7 100644 --- a/lint/common/standard-track-exceptions.txt +++ b/lint/common/standard-track-exceptions.txt @@ -5,105 +5,6 @@ # but where the required `spec_url` is missing. # # As soon as this list is empty, we can derive `standard_track` at build time. -api.FetchLaterResult.activated -api.FileReader.worker_support -api.FileReaderSync.worker_support -api.FileSystemSyncAccessHandle.close.sync_version -api.FileSystemSyncAccessHandle.flush.sync_version -api.FileSystemSyncAccessHandle.getSize.sync_version -api.FileSystemSyncAccessHandle.truncate.sync_version -api.FontFace.worker_support -api.FontFaceSet.entries -api.FontFaceSet.forEach -api.FontFaceSet.has -api.FontFaceSet.keys -api.FontFaceSet.size -api.FontFaceSet.values -api.FontFaceSet.worker_support -api.FontFaceSetLoadEvent.worker_support -api.FormData.@@iterator -api.FormData.FormData.submitter -api.FormData.append.filename_parameter -api.FormData.entries -api.FormData.forEach -api.FormData.keys -api.FormData.values -api.FormData.worker_support -api.GPU.requestAdapter.discrete_adapter_default_ac -api.GPUAdapter.requestDevice.handles_duplicate_calls -api.GPUAdapter.requestDevice.undefined_limits -api.GPUCommandEncoder.beginRenderPass.accepts_GPUTexture_resources -api.GPUCommandEncoder.beginRenderPass.separate_depth_stencil_read-only -api.GPUCommandEncoder.copyBufferToBuffer.offset_and_size_parameter_optional -api.GPUComputePassEncoder.setBindGroup.unset_bind_group -api.GPUDevice.createBindGroup.descriptor_entries_resource_parameter_accepts_GPUBuffer -api.GPUDevice.createBindGroup.descriptor_entries_resource_parameter_accepts_GPUTextureView -api.GPUDevice.createBindGroup.descriptor_entries_resource_parameter_accepts_GPUTexture_resource -api.GPUDevice.createComputePipeline.optional_entryPoint -api.GPUDevice.createComputePipelineAsync.optional_entryPoint -api.GPUDevice.createPipelineLayout.descriptor_bindGroupLayouts_parameter_accepts_null_values -api.GPUDevice.createRenderPipeline.optional_depthcompare_depthwriteenabled -api.GPUDevice.createRenderPipeline.optional_entryPoint -api.GPUDevice.createRenderPipeline.validates_depth_bias_for_line_and_point_topologies -api.GPUDevice.createRenderPipelineAsync.optional_depthcompare_depthwriteenabled -api.GPUDevice.createRenderPipelineAsync.optional_entryPoint -api.GPUDevice.createRenderPipelineAsync.validates_depth_bias_for_line_and_point_topologies -api.GPUDevice.importExternalTexture.color_space_display-p3 -api.GPUDevice.importExternalTexture.videoframe_source -api.GPUPipelineError.GPUPipelineError.message_optional -api.GPUQueue.copyExternalImageToTexture.htmlimageelement_imagedata_source -api.GPUQueue.copyExternalImageToTexture.videoframe_source -api.GPUQueue.submit.validates_command_buffer_uniqueness -api.GPURenderBundleEncoder.setBindGroup.unset_bind_group -api.GPURenderBundleEncoder.setVertexBuffer.unset_vertex_buffer -api.GPURenderPassEncoder.setBindGroup.unset_bind_group -api.GPURenderPassEncoder.setVertexBuffer.unset_vertex_buffer -api.GPUSupportedFeatures.feature_subgroups.subgroup_id_num_subgroups -api.Gamepad.secure_context_required -api.GamepadButton.secure_context_required -api.GamepadEvent.secure_context_required -api.GamepadHapticActuator.secure_context_required -api.GamepadPose.secure_context_required -api.Geolocation.secure_context_required -api.GeolocationCoordinates.secure_context_required -api.GeolocationPosition.secure_context_required -api.GeolocationPositionError.secure_context_required -api.HID.worker_support -api.HIDConnectionEvent.worker_support -api.HIDDevice.worker_support -api.HIDInputReportEvent.worker_support -api.HTMLAnchorElement.referrerPolicy.no-referrer-when-downgrade -api.HTMLAnchorElement.referrerPolicy.origin-when-cross-origin -api.HTMLAnchorElement.referrerPolicy.unsafe-url -api.HTMLAreaElement.referrerPolicy.no-referrer-when-downgrade -api.HTMLAreaElement.referrerPolicy.origin-when-cross-origin -api.HTMLAreaElement.referrerPolicy.unsafe-url -api.HTMLBaseElement.href.forbid_data_javascript_urls -api.HTMLBaseElement.href.forbid_special_characters -api.HTMLCanvasElement.getContext.2d_context -api.HTMLCanvasElement.getContext.bitmaprenderer_context -api.HTMLCanvasElement.getContext.webgl2_context -api.HTMLCanvasElement.getContext.webgl_context -api.HTMLCanvasElement.toBlob.quality_parameter -api.HTMLCanvasElement.toBlob.type_parameter_jpeg -api.HTMLCanvasElement.toBlob.type_parameter_png -api.HTMLCanvasElement.toBlob.type_parameter_webp -api.HTMLCanvasElement.toDataURL.type_parameter_jpeg -api.HTMLCanvasElement.toDataURL.type_parameter_png -api.HTMLCanvasElement.toDataURL.type_parameter_webp -api.HTMLDirectoryElement -api.HTMLElement.contentEditable.plaintext-only -api.HTMLElement.focus.options_focusVisible_parameter -api.HTMLElement.focus.options_preventScroll_parameter -api.HTMLElement.togglePopover.returns_boolean -api.HTMLFieldSetElement.elements.type_HTMLCollection -api.HTMLIFrameElement.featurePolicy -api.HTMLIFrameElement.referrerPolicy.no-referrer-when-downgrade -api.HTMLIFrameElement.referrerPolicy.origin-when-cross-origin -api.HTMLIFrameElement.referrerPolicy.unsafe-url -api.HTMLImageElement.referrerPolicy.no-referrer-when-downgrade -api.HTMLImageElement.referrerPolicy.origin-when-cross-origin -api.HTMLImageElement.referrerPolicy.unsafe-url api.HTMLInputElement.showPicker.autocomplete_input api.HTMLInputElement.showPicker.color_input api.HTMLInputElement.showPicker.datalist_input @@ -113,62 +14,6 @@ api.HTMLInputElement.showPicker.file_input api.HTMLInputElement.showPicker.month_input api.HTMLInputElement.showPicker.time_input api.HTMLInputElement.showPicker.week_input -api.HTMLLinkElement.referrerPolicy.no-referrer-when-downgrade -api.HTMLLinkElement.referrerPolicy.origin-when-cross-origin -api.HTMLLinkElement.referrerPolicy.unsafe-url -api.HTMLMediaElement.play.returns_promise -api.HTMLScriptElement.referrerPolicy.no-referrer-when-downgrade -api.HTMLScriptElement.referrerPolicy.origin-when-cross-origin -api.HTMLScriptElement.referrerPolicy.unsafe-url -api.HTMLSelectElement.add.index_before_parameter -api.HTMLTableRowElement.insertCell.index_parameter_negative_one -api.HTMLTableRowElement.insertCell.index_parameter_optional -api.Headers.@@iterator -api.Headers.entries -api.Headers.forEach -api.Headers.iterate_combined_duplicates -api.Headers.iterate_lexicographically -api.Headers.keys -api.Headers.values -api.Highlight.@@iterator -api.Highlight.add -api.Highlight.clear -api.Highlight.delete -api.Highlight.entries -api.Highlight.forEach -api.Highlight.has -api.Highlight.keys -api.Highlight.size -api.Highlight.values -api.HighlightRegistry.@@iterator -api.HighlightRegistry.clear -api.HighlightRegistry.delete -api.HighlightRegistry.entries -api.HighlightRegistry.forEach -api.HighlightRegistry.get -api.HighlightRegistry.has -api.HighlightRegistry.keys -api.HighlightRegistry.set -api.HighlightRegistry.size -api.HighlightRegistry.values -api.IDBCursor.key.binary_keys -api.IDBCursor.worker_support -api.IDBCursorWithValue.worker_support -api.IDBDatabase.worker_support -api.IDBFactory.worker_support -api.IDBIndex.name.renaming_through_name_setter -api.IDBIndex.worker_support -api.IDBKeyRange.worker_support -api.IDBObjectStore.name.renaming_through_name_setter -api.IDBObjectStore.worker_support -api.IDBOpenDBRequest.worker_support -api.IDBRequest.error.DOMException -api.IDBRequest.worker_support -api.IDBTransaction.error.DOMException -api.IDBTransaction.worker_support -api.IDBVersionChangeEvent.worker_support -api.ImageData.ImageData.settings_parameter -api.ImageData.worker_support api.InputEvent.inputType.insertFromPasteAsQuotation api.IntersectionObserver.IntersectionObserver.options_root_parameter_Document api.IntersectionObserver.scrollMargin From bf31add8b73fbc4225bc074c1b768c9c0dafe056 Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 12:48:33 +0100 Subject: [PATCH 10/18] chore(fix-standard-track-exceptions): support multiple comma-separated spec URLs --- scripts/fix-standard-track-exceptions.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/fix-standard-track-exceptions.js b/scripts/fix-standard-track-exceptions.js index 4ea1df41fb44cb..3b7a61eb937b7b 100644 --- a/scripts/fix-standard-track-exceptions.js +++ b/scripts/fix-standard-track-exceptions.js @@ -8,7 +8,7 @@ * * Walks through each exception and prompts for an action: * - * https://... — Add the URL as spec_url + * https://... — Add the URL as spec_url (comma-separated for multiple) * f / false — Set standard_track to false (includes all subfeatures) * p — Copy the parent feature's spec_url * (empty) — Skip this entry @@ -35,7 +35,7 @@ import { updateFeatures } from './bulk-editor/utils.js'; const instructions = ` ${styleText('bold', 'Actions:')} - ${styleText('cyan', 'https://...')} Add the URL as spec_url + ${styleText('cyan', 'https://...')} Add the URL as spec_url (comma-separated for multiple) ${styleText('cyan', 'p')} Use parent feature's spec_url ${styleText('cyan', 'f')} Set standard_track to false (+ all subfeatures) ${styleText('cyan', '(Enter)')} Skip this entry @@ -221,8 +221,10 @@ for (const [i, featurePath] of exceptions.entries()) { } if (answer.startsWith('https://')) { + const urls = answer.split(',').map((u) => u.trim()); + const specUrl = urls.length === 1 ? urls[0] : urls; updateFeatures([featurePath], (c) => { - c.spec_url = answer; + c.spec_url = specUrl; return c; }); remaining.delete(featurePath); From 917d9f941ceab342089d05406088b70981a83a3b Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 12:50:05 +0100 Subject: [PATCH 11/18] chore(fix-standard-track-exceptions): support p=URL to set spec_url on parent and subfeature --- scripts/fix-standard-track-exceptions.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/scripts/fix-standard-track-exceptions.js b/scripts/fix-standard-track-exceptions.js index 3b7a61eb937b7b..386a1bc54de295 100644 --- a/scripts/fix-standard-track-exceptions.js +++ b/scripts/fix-standard-track-exceptions.js @@ -11,6 +11,7 @@ * https://... — Add the URL as spec_url (comma-separated for multiple) * f / false — Set standard_track to false (includes all subfeatures) * p — Copy the parent feature's spec_url + * p=https://.. — Set spec_url on both the parent and this subfeature * (empty) — Skip this entry * /foo — Skip ahead until the next entry containing "foo" * ? — Print instructions @@ -37,6 +38,7 @@ const instructions = ` ${styleText('bold', 'Actions:')} ${styleText('cyan', 'https://...')} Add the URL as spec_url (comma-separated for multiple) ${styleText('cyan', 'p')} Use parent feature's spec_url + ${styleText('cyan', 'p=https://...')} Set spec_url on parent + this subfeature ${styleText('cyan', 'f')} Set standard_track to false (+ all subfeatures) ${styleText('cyan', '(Enter)')} Skip this entry ${styleText('cyan', '/foo')} Skip ahead until an entry containing "foo" @@ -220,6 +222,23 @@ for (const [i, featurePath] of exceptions.entries()) { break; } + if (answer.startsWith('p=https://')) { + const raw = answer.slice(2); + const urls = raw.split(',').map((u) => u.trim()); + const specUrl = urls.length === 1 ? urls[0] : urls; + const parentPath = featurePath.split('.').slice(0, -1).join('.'); + updateFeatures([parentPath], (c) => { + c.spec_url = specUrl; + return c; + }); + updateFeatures([featurePath], (c) => { + c.spec_url = specUrl; + return c; + }); + remaining.delete(featurePath); + break; + } + if (answer.startsWith('https://')) { const urls = answer.split(',').map((u) => u.trim()); const specUrl = urls.length === 1 ? urls[0] : urls; From 37041f0859fce203e1616fcbc1d2e085f0e7339e Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 12:51:16 +0100 Subject: [PATCH 12/18] chore(fix-standard-track-exceptions): support "o" to open spec URLs in browser --- scripts/fix-standard-track-exceptions.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/scripts/fix-standard-track-exceptions.js b/scripts/fix-standard-track-exceptions.js index 386a1bc54de295..0e26bf5289702a 100644 --- a/scripts/fix-standard-track-exceptions.js +++ b/scripts/fix-standard-track-exceptions.js @@ -14,12 +14,14 @@ * p=https://.. — Set spec_url on both the parent and this subfeature * (empty) — Skip this entry * /foo — Skip ahead until the next entry containing "foo" + * o — Open ancestor spec_url(s) in the browser * ? — Print instructions * * Changes are written to disk immediately. The exception list is updated * on exit (including Ctrl+C). */ +import { execFile } from 'node:child_process'; import readline from 'node:readline/promises'; import { styleText } from 'node:util'; @@ -42,6 +44,7 @@ const instructions = ` ${styleText('cyan', 'f')} Set standard_track to false (+ all subfeatures) ${styleText('cyan', '(Enter)')} Skip this entry ${styleText('cyan', '/foo')} Skip ahead until an entry containing "foo" + ${styleText('cyan', 'o')} Open ancestor spec_url(s) in the browser ${styleText('cyan', '?')} Show these instructions `; @@ -66,6 +69,17 @@ const findAncestorSpecUrl = (featurePath) => { return null; }; +/** + * Open one or more URLs in the default browser. + * @param {string | string[]} urls + */ +const openUrls = (urls) => { + const cmd = process.platform === 'darwin' ? 'open' : 'xdg-open'; + for (const url of Array.isArray(urls) ? urls : [urls]) { + execFile(cmd, [url]); + } +}; + const exceptions = await getStandardTrackExceptions(); const remaining = new Set(exceptions); const total = exceptions.length; @@ -183,6 +197,15 @@ for (const [i, featurePath] of exceptions.entries()) { continue; } + if (answer === 'o') { + if (ancestor) { + openUrls(ancestor.spec_url); + } else { + console.log(styleText('red', ' No ancestor with spec_url to open.')); + } + continue; + } + if (answer === '') { break; } From 0812adc52edca0c767fe8f66f1aaa8a6231304b7 Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 12:51:41 +0100 Subject: [PATCH 13/18] chore(fix-standard-track-exceptions): bold last path segment in feature display --- scripts/fix-standard-track-exceptions.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/fix-standard-track-exceptions.js b/scripts/fix-standard-track-exceptions.js index 0e26bf5289702a..cffbdf4af531da 100644 --- a/scripts/fix-standard-track-exceptions.js +++ b/scripts/fix-standard-track-exceptions.js @@ -159,10 +159,14 @@ for (const [i, featurePath] of exceptions.entries()) { continue; } - // Print header - console.log( - `\n${styleText('bold', `[${i + 1}/${total}]`)} ${styleText('cyan', featurePath)}`, - ); + // Print header with last path segment bold + const lastDot = featurePath.lastIndexOf('.'); + const pathDisplay = + lastDot === -1 + ? styleText(['cyan', 'bold'], featurePath) + : styleText('cyan', featurePath.slice(0, lastDot + 1)) + + styleText(['cyan', 'bold'], featurePath.slice(lastDot + 1)); + console.log(`\n${styleText('bold', `[${i + 1}/${total}]`)} ${pathDisplay}`); // Print description if (compat.description) { From ea3d36b89e55a18d05ebbe5089e895318beb142a Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 12:52:01 +0100 Subject: [PATCH 14/18] chore(fix-standard-track-exceptions): show experimental/deprecated status flags --- scripts/fix-standard-track-exceptions.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/scripts/fix-standard-track-exceptions.js b/scripts/fix-standard-track-exceptions.js index cffbdf4af531da..e82c672155334d 100644 --- a/scripts/fix-standard-track-exceptions.js +++ b/scripts/fix-standard-track-exceptions.js @@ -168,6 +168,18 @@ for (const [i, featurePath] of exceptions.entries()) { styleText(['cyan', 'bold'], featurePath.slice(lastDot + 1)); console.log(`\n${styleText('bold', `[${i + 1}/${total}]`)} ${pathDisplay}`); + // Print status flags + const statusParts = []; + if (compat.status?.experimental) { + statusParts.push(styleText('yellow', 'experimental')); + } + if (compat.status?.deprecated) { + statusParts.push(styleText('green', 'deprecated')); + } + if (statusParts.length > 0) { + console.log(` status: ${statusParts.join(' ')}`); + } + // Print description if (compat.description) { console.log(` desc: ${compat.description}`); From 10fc9028a6b37970702e095296ba1754a221017d Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 12:54:51 +0100 Subject: [PATCH 15/18] chore(fix-standard-track-exceptions): support "u" to undo last change --- scripts/fix-standard-track-exceptions.js | 96 ++++++++++++++++++++++-- 1 file changed, 88 insertions(+), 8 deletions(-) diff --git a/scripts/fix-standard-track-exceptions.js b/scripts/fix-standard-track-exceptions.js index e82c672155334d..c7b04998b4916a 100644 --- a/scripts/fix-standard-track-exceptions.js +++ b/scripts/fix-standard-track-exceptions.js @@ -15,6 +15,7 @@ * (empty) — Skip this entry * /foo — Skip ahead until the next entry containing "foo" * o — Open ancestor spec_url(s) in the browser + * u — Undo last change and revisit that feature * ? — Print instructions * * Changes are written to disk immediately. The exception list is updated @@ -45,6 +46,7 @@ const instructions = ` ${styleText('cyan', '(Enter)')} Skip this entry ${styleText('cyan', '/foo')} Skip ahead until an entry containing "foo" ${styleText('cyan', 'o')} Open ancestor spec_url(s) in the browser + ${styleText('cyan', 'u')} Undo last change and revisit that feature ${styleText('cyan', '?')} Show these instructions `; @@ -114,7 +116,15 @@ console.log(instructions); let skipUntil = null; -for (const [i, featurePath] of exceptions.entries()) { +/** @type {{ index: number, undo: () => void } | null} */ +let lastAction = null; + +let idx = 0; +while (idx < exceptions.length) { + const i = idx; + const featurePath = exceptions[i]; + idx++; + // Handle skip-until filter if (skipUntil) { if (!featurePath.includes(skipUntil)) { @@ -204,7 +214,7 @@ for (const [i, featurePath] of exceptions.entries()) { console.log(styleText('dim', ' (no ancestor with spec_url)')); } - // Prompt loop (re-prompt on ? and invalid p) + // Prompt loop (re-prompt on ?, o, and invalid input) while (true) { const answer = (await rl.question(prompt)).trim(); @@ -222,6 +232,18 @@ for (const [i, featurePath] of exceptions.entries()) { continue; } + if (answer === 'u') { + if (!lastAction) { + console.log(styleText('red', ' Nothing to undo.')); + continue; + } + lastAction.undo(); + idx = lastAction.index; + lastAction = null; + console.log(styleText('dim', ' Undone.')); + break; + } + if (answer === '') { break; } @@ -232,19 +254,34 @@ for (const [i, featurePath] of exceptions.entries()) { } if (answer === 'f' || answer === 'false') { + // Collect subfeatures that will be removed + const prefix = featurePath + '.'; + const removedSubs = [...remaining].filter((e) => e.startsWith(prefix)); // Update this feature and all subfeatures updateFeatures([featurePath, featurePath + '.*'], (c) => { c.status.standard_track = false; return c; }); remaining.delete(featurePath); - // Also remove subfeatures from exception list - const prefix = featurePath + '.'; - for (const entry of remaining) { - if (entry.startsWith(prefix)) { - remaining.delete(entry); - } + for (const sub of removedSubs) { + remaining.delete(sub); } + lastAction = { + index: i, + /** + * + */ + undo: () => { + updateFeatures([featurePath, featurePath + '.*'], (c) => { + c.status.standard_track = true; + return c; + }); + remaining.add(featurePath); + for (const sub of removedSubs) { + remaining.add(sub); + } + }, + }; break; } @@ -258,6 +295,19 @@ for (const [i, featurePath] of exceptions.entries()) { return c; }); remaining.delete(featurePath); + lastAction = { + index: i, + /** + * + */ + undo: () => { + updateFeatures([featurePath], (c) => { + delete c.spec_url; + return c; + }); + remaining.add(featurePath); + }, + }; break; } @@ -275,6 +325,23 @@ for (const [i, featurePath] of exceptions.entries()) { return c; }); remaining.delete(featurePath); + lastAction = { + index: i, + /** + * + */ + undo: () => { + updateFeatures([parentPath], (c) => { + delete c.spec_url; + return c; + }); + updateFeatures([featurePath], (c) => { + delete c.spec_url; + return c; + }); + remaining.add(featurePath); + }, + }; break; } @@ -286,6 +353,19 @@ for (const [i, featurePath] of exceptions.entries()) { return c; }); remaining.delete(featurePath); + lastAction = { + index: i, + /** + * + */ + undo: () => { + updateFeatures([featurePath], (c) => { + delete c.spec_url; + return c; + }); + remaining.add(featurePath); + }, + }; break; } From 3b7ec168b48f21164ec67e0767ee969dbdccc88d Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 13:38:11 +0100 Subject: [PATCH 16/18] Fix more API exceptions --- api/InputEvent.json | 1 + api/IntersectionObserver.json | 2 + api/KeyboardEvent.json | 13 +++ api/KeyboardLayoutMap.json | 10 +- api/LargestContentfulPaint.json | 2 +- api/MIDIInputMap.json | 8 ++ api/MIDIOutputMap.json | 8 ++ api/MediaDevices.json | 2 + api/MediaKeyStatusMap.json | 5 + api/MediaQueryList.json | 3 +- api/MediaRecorder.json | 1 + api/MediaSession.json | 14 +++ api/MediaSource.json | 1 + api/MerchantValidationEvent.json | 10 +- api/MessagePort.json | 1 + api/NDEFMessage.json | 1 + api/NDEFReader.json | 1 + api/NDEFReadingEvent.json | 1 + api/NDEFRecord.json | 1 + api/Navigator.json | 34 +++++- api/NetworkInformation.json | 1 + api/NodeList.json | 3 + api/NotRestoredReasonDetails.json | 1 + api/NotRestoredReasons.json | 1 + api/Notification.json | 5 +- api/OfflineAudioContext.json | 2 + api/OffscreenCanvas.json | 4 + api/PaymentManager.json | 1 + api/PaymentRequest.json | 5 +- api/PaymentRequestUpdateEvent.json | 1 + api/PaymentResponse.json | 1 + api/Performance.json | 4 + api/PerformanceElementTiming.json | 2 +- api/PerformanceEntry.json | 3 +- api/PerformanceObserver.json | 3 +- api/PerformanceResourceTiming.json | 3 +- api/Permissions.json | 1 + lint/common/standard-track-exceptions.txt | 136 ---------------------- 38 files changed, 143 insertions(+), 153 deletions(-) diff --git a/api/InputEvent.json b/api/InputEvent.json index 12f91d535d84a3..75d55a5ccb8f1e 100644 --- a/api/InputEvent.json +++ b/api/InputEvent.json @@ -215,6 +215,7 @@ "insertFromPasteAsQuotation": { "__compat": { "description": "`insertFromPasteAsQuotation` input type", + "spec_url": "https://w3c.github.io/input-events/#:~:text=insertFromPasteAsQuotation", "tags": [ "web-features:input-event" ], diff --git a/api/IntersectionObserver.json b/api/IntersectionObserver.json index 72107f744a6040..c8d28065003749 100644 --- a/api/IntersectionObserver.json +++ b/api/IntersectionObserver.json @@ -79,6 +79,7 @@ "options_root_parameter_Document": { "__compat": { "description": "`options.root` parameter can be a `Document`", + "spec_url": "https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-root", "tags": [ "web-features:intersection-observer" ], @@ -299,6 +300,7 @@ "scrollMargin": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/IntersectionObserver/scrollMargin", + "spec_url": "https://w3c.github.io/IntersectionObserver/#dom-intersectionobserver-scrollmargin", "tags": [ "web-features:intersection-observer" ], diff --git a/api/KeyboardEvent.json b/api/KeyboardEvent.json index 189401f2db7999..1a066499d97d45 100644 --- a/api/KeyboardEvent.json +++ b/api/KeyboardEvent.json @@ -326,6 +326,7 @@ "key_parameter_alt": { "__compat": { "description": "`\"Alt\"` as `key` parameter", + "spec_url": "https://www.w3.org/TR/uievents-key/#keys-modifier", "tags": [ "web-features:keyboard-events" ], @@ -365,6 +366,7 @@ "key_parameter_altgraph": { "__compat": { "description": "`\"AltGraph\"` as `key` parameter", + "spec_url": "https://www.w3.org/TR/uievents-key/#keys-modifier", "tags": [ "web-features:keyboard-events" ], @@ -399,6 +401,7 @@ "key_parameter_capslock": { "__compat": { "description": "`\"CapsLock\"` as `key` parameter", + "spec_url": "https://www.w3.org/TR/uievents-key/#keys-modifier", "tags": [ "web-features:keyboard-events" ], @@ -438,6 +441,7 @@ "key_parameter_control": { "__compat": { "description": "`\"Control\"` as `key` parameter", + "spec_url": "https://www.w3.org/TR/uievents-key/#keys-modifier", "tags": [ "web-features:keyboard-events" ], @@ -477,6 +481,7 @@ "key_parameter_fn": { "__compat": { "description": "`\"Fn\"` as `key` parameter", + "spec_url": "https://www.w3.org/TR/uievents-key/#keys-modifier", "tags": [ "web-features:keyboard-events" ], @@ -511,6 +516,7 @@ "key_parameter_meta": { "__compat": { "description": "`\"Meta\"` as `key` parameter", + "spec_url": "https://www.w3.org/TR/uievents-key/#keys-modifier", "tags": [ "web-features:keyboard-events" ], @@ -545,6 +551,7 @@ "key_parameter_numlock": { "__compat": { "description": "`\"NumLock\"` as `key` parameter", + "spec_url": "https://www.w3.org/TR/uievents-key/#keys-modifier", "tags": [ "web-features:keyboard-events" ], @@ -626,6 +633,7 @@ "key_parameter_scrolllock": { "__compat": { "description": "`\"ScrollLock\"` as `key` parameter", + "spec_url": "https://www.w3.org/TR/uievents-key/#keys-modifier", "tags": [ "web-features:keyboard-events" ], @@ -673,6 +681,7 @@ "key_parameter_shift": { "__compat": { "description": "`\"Shift\"` as `key` parameter", + "spec_url": "https://www.w3.org/TR/uievents-key/#keys-modifier", "tags": [ "web-features:keyboard-events" ], @@ -712,6 +721,7 @@ "key_parameter_symbol": { "__compat": { "description": "`\"Symbol\"` as `key` parameter", + "spec_url": "https://www.w3.org/TR/uievents-key/#keys-modifier", "tags": [ "web-features:keyboard-events" ], @@ -864,6 +874,7 @@ "dead_key": { "__compat": { "description": "Dead key", + "spec_url": "https://www.w3.org/TR/uievents/#dead-key", "tags": [ "web-features:keyboard-events" ], @@ -898,6 +909,7 @@ "non_printable_keys": { "__compat": { "description": "Non-printable keys", + "spec_url": "https://w3c.github.io/uievents/#dom-keyboardevent-key", "tags": [ "web-features:keyboard-events" ], @@ -938,6 +950,7 @@ "printable_key": { "__compat": { "description": "Printable keys", + "spec_url": "https://w3c.github.io/uievents/#dom-keyboardevent-key", "tags": [ "web-features:keyboard-events" ], diff --git a/api/KeyboardLayoutMap.json b/api/KeyboardLayoutMap.json index ce15527ee67f2b..6954c11a262a6d 100644 --- a/api/KeyboardLayoutMap.json +++ b/api/KeyboardLayoutMap.json @@ -3,7 +3,7 @@ "KeyboardLayoutMap": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/KeyboardLayoutMap", - "spec_url": "https://wicg.github.io/keyboard-map/#keyboardlayoutmap-interface", + "spec_url": "https://wicg.github.io/keyboard-map/#keyboardlayoutmap", "tags": [ "web-features:keyboard-map" ], @@ -39,6 +39,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/KeyboardLayoutMap/entries", + "spec_url": "https://wicg.github.io/keyboard-map/#keyboardlayoutmap-interface", "tags": [ "web-features:keyboard-map" ], @@ -73,6 +74,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/KeyboardLayoutMap/forEach", + "spec_url": "https://wicg.github.io/keyboard-map/#keyboardlayoutmap-interface", "tags": [ "web-features:keyboard-map" ], @@ -107,6 +109,7 @@ "get": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/KeyboardLayoutMap/get", + "spec_url": "https://wicg.github.io/keyboard-map/#keyboardlayoutmap-interface", "tags": [ "web-features:keyboard-map" ], @@ -141,6 +144,7 @@ "has": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/KeyboardLayoutMap/has", + "spec_url": "https://wicg.github.io/keyboard-map/#keyboardlayoutmap-interface", "tags": [ "web-features:keyboard-map" ], @@ -175,6 +179,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/KeyboardLayoutMap/keys", + "spec_url": "https://wicg.github.io/keyboard-map/#keyboardlayoutmap-interface", "tags": [ "web-features:keyboard-map" ], @@ -209,6 +214,7 @@ "size": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/KeyboardLayoutMap/size", + "spec_url": "https://wicg.github.io/keyboard-map/#keyboardlayoutmap-interface", "tags": [ "web-features:keyboard-map" ], @@ -243,6 +249,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/KeyboardLayoutMap/values", + "spec_url": "https://wicg.github.io/keyboard-map/#keyboardlayoutmap-interface", "tags": [ "web-features:keyboard-map" ], @@ -277,6 +284,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://wicg.github.io/keyboard-map/#keyboardlayoutmap", "tags": [ "web-features:keyboard-map" ], diff --git a/api/LargestContentfulPaint.json b/api/LargestContentfulPaint.json index 5a10674222efb2..4f8867b78dc4a5 100644 --- a/api/LargestContentfulPaint.json +++ b/api/LargestContentfulPaint.json @@ -269,7 +269,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/MIDIInputMap.json b/api/MIDIInputMap.json index 3c54094670b012..878149643a0c6a 100644 --- a/api/MIDIInputMap.json +++ b/api/MIDIInputMap.json @@ -39,6 +39,7 @@ }, "entries": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -75,6 +76,7 @@ }, "forEach": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -111,6 +113,7 @@ }, "get": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -147,6 +150,7 @@ }, "has": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -183,6 +187,7 @@ }, "keys": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -219,6 +224,7 @@ }, "size": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -255,6 +261,7 @@ }, "values": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -292,6 +299,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], diff --git a/api/MIDIOutputMap.json b/api/MIDIOutputMap.json index 3f23d93954f5c0..bc7f93fd43153d 100644 --- a/api/MIDIOutputMap.json +++ b/api/MIDIOutputMap.json @@ -39,6 +39,7 @@ }, "entries": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -75,6 +76,7 @@ }, "forEach": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -111,6 +113,7 @@ }, "get": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -147,6 +150,7 @@ }, "has": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -183,6 +187,7 @@ }, "keys": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -219,6 +224,7 @@ }, "size": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -255,6 +261,7 @@ }, "values": { "__compat": { + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], @@ -292,6 +299,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://webidl.spec.whatwg.org/#js-maplike", "tags": [ "web-features:web-midi" ], diff --git a/api/MediaDevices.json b/api/MediaDevices.json index e406bacec3191b..e068e5b1f5ce38 100644 --- a/api/MediaDevices.json +++ b/api/MediaDevices.json @@ -197,6 +197,7 @@ "__compat": { "description": "Audio capture support", "mdn_url": "https://developer.mozilla.org/docs/Web/API/Screen_Capture_API/Using_Screen_Capture#capturing_shared_audio", + "spec_url": "https://w3c.github.io/mediacapture-screen-share/#capturing-audio", "tags": [ "web-features:screen-capture" ], @@ -1157,6 +1158,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/mediacapture-main/#dom-navigator-getusermedia", "tags": [ "web-features:media-capture" ], diff --git a/api/MediaKeyStatusMap.json b/api/MediaKeyStatusMap.json index 083a188001f0b1..0511c93e288468 100644 --- a/api/MediaKeyStatusMap.json +++ b/api/MediaKeyStatusMap.json @@ -41,6 +41,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/entries", + "spec_url": "https://webidl.spec.whatwg.org/#js-iterable", "tags": [ "web-features:encrypted-media-extensions" ], @@ -79,6 +80,7 @@ "forEach": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/forEach", + "spec_url": "https://webidl.spec.whatwg.org/#js-iterable", "tags": [ "web-features:encrypted-media-extensions" ], @@ -195,6 +197,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/keys", + "spec_url": "https://webidl.spec.whatwg.org/#js-iterable", "tags": [ "web-features:encrypted-media-extensions" ], @@ -272,6 +275,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/values", + "spec_url": "https://webidl.spec.whatwg.org/#js-iterable", "tags": [ "web-features:encrypted-media-extensions" ], @@ -310,6 +314,7 @@ "@@iterator": { "__compat": { "description": "[Symbol.iterator]", + "spec_url": "https://webidl.spec.whatwg.org/#js-iterable", "tags": [ "web-features:encrypted-media-extensions" ], diff --git a/api/MediaQueryList.json b/api/MediaQueryList.json index 716d6d5175c019..c4dafc1019e9e5 100644 --- a/api/MediaQueryList.json +++ b/api/MediaQueryList.json @@ -3,7 +3,7 @@ "MediaQueryList": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/MediaQueryList", - "spec_url": "https://drafts.csswg.org/cssom-view/#the-mediaquerylist-interface", + "spec_url": "https://drafts.csswg.org/cssom-view/#mediaquerylist", "tags": [ "web-features:matchmedia" ], @@ -46,6 +46,7 @@ "EventTarget_inheritance": { "__compat": { "description": "`MediaQueryList` inherits `EventTarget`", + "spec_url": "https://drafts.csswg.org/cssom-view/#mediaquerylist", "tags": [ "web-features:matchmedia" ], diff --git a/api/MediaRecorder.json b/api/MediaRecorder.json index 8cbbc093c5a0d4..4bfa68c11e16ac 100644 --- a/api/MediaRecorder.json +++ b/api/MediaRecorder.json @@ -85,6 +85,7 @@ "options_parameter": { "__compat": { "description": "`options` parameter", + "spec_url": "https://w3c.github.io/mediacapture-record/#dictdef-mediarecorderoptions", "tags": [ "web-features:mediastream-recording" ], diff --git a/api/MediaSession.json b/api/MediaSession.json index 2df21ecf5ce4bb..18e3ff317a613d 100644 --- a/api/MediaSession.json +++ b/api/MediaSession.json @@ -175,6 +175,7 @@ "hangup_type": { "__compat": { "description": "`\"hangup\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-hangup", "tags": [ "web-features:media-session" ], @@ -211,6 +212,7 @@ "nextslide_type": { "__compat": { "description": "`\"nextslide\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-nextslide", "tags": [ "web-features:media-session" ], @@ -247,6 +249,7 @@ "nexttrack_type": { "__compat": { "description": "`\"nexttrack\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-nexttrack", "tags": [ "web-features:media-session" ], @@ -285,6 +288,7 @@ "pause_type": { "__compat": { "description": "`\"pause\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-pause", "tags": [ "web-features:media-session" ], @@ -323,6 +327,7 @@ "play_type": { "__compat": { "description": "`\"play\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-play", "tags": [ "web-features:media-session" ], @@ -361,6 +366,7 @@ "previousslide_type": { "__compat": { "description": "`\"previousslide\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-previousslide", "tags": [ "web-features:media-session" ], @@ -397,6 +403,7 @@ "previoustrack_type": { "__compat": { "description": "`\"previoustrack\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-previoustrack", "tags": [ "web-features:media-session" ], @@ -435,6 +442,7 @@ "seekbackward_type": { "__compat": { "description": "`\"seekbackward\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-seekbackward", "tags": [ "web-features:media-session" ], @@ -473,6 +481,7 @@ "seekforward_type": { "__compat": { "description": "`\"seekforward\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-seekforward", "tags": [ "web-features:media-session" ], @@ -511,6 +520,7 @@ "seekto_type": { "__compat": { "description": "`\"seekto\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-seekto", "tags": [ "web-features:media-session" ], @@ -547,6 +557,7 @@ "skipad_type": { "__compat": { "description": "`\"skipad\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-skipad", "tags": [ "web-features:media-session" ], @@ -583,6 +594,7 @@ "stop_type": { "__compat": { "description": "`\"stop\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-stop", "tags": [ "web-features:media-session" ], @@ -619,6 +631,7 @@ "togglecamera_type": { "__compat": { "description": "`\"togglecamera\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-togglecamera", "tags": [ "web-features:media-session" ], @@ -655,6 +668,7 @@ "togglemicrophone_type": { "__compat": { "description": "`\"togglemicrophone\"` type", + "spec_url": "https://w3c.github.io/mediasession/#dom-mediasessionaction-togglemicrophone", "tags": [ "web-features:media-session" ], diff --git a/api/MediaSource.json b/api/MediaSource.json index cdd580509c4350..b4bf7dd4b83827 100644 --- a/api/MediaSource.json +++ b/api/MediaSource.json @@ -119,6 +119,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/media-source/#mediasource", "tags": [ "web-features:media-source" ], diff --git a/api/MerchantValidationEvent.json b/api/MerchantValidationEvent.json index 72baf7e6990d7d..e37be65d0e0ada 100644 --- a/api/MerchantValidationEvent.json +++ b/api/MerchantValidationEvent.json @@ -34,7 +34,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } }, @@ -73,7 +73,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -113,7 +113,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -152,7 +152,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } @@ -191,7 +191,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/MessagePort.json b/api/MessagePort.json index 8b24daf8d263b1..854d577ef98bcc 100644 --- a/api/MessagePort.json +++ b/api/MessagePort.json @@ -72,6 +72,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://html.spec.whatwg.org/multipage/web-messaging.html#message-ports", "tags": [ "web-features:channel-messaging" ], diff --git a/api/NDEFMessage.json b/api/NDEFMessage.json index 57a5924f7b9f61..eae87a7952bec5 100644 --- a/api/NDEFMessage.json +++ b/api/NDEFMessage.json @@ -77,6 +77,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/web-nfc/#dom-ndefmessage", "tags": [ "web-features:web-nfc" ], diff --git a/api/NDEFReader.json b/api/NDEFReader.json index 1f2e64907c1f17..8c2f5c66db67dc 100644 --- a/api/NDEFReader.json +++ b/api/NDEFReader.json @@ -77,6 +77,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/web-nfc/#the-ndefreader-object", "tags": [ "web-features:web-nfc" ], diff --git a/api/NDEFReadingEvent.json b/api/NDEFReadingEvent.json index 7c0c64de3c7c99..db856e650146f1 100644 --- a/api/NDEFReadingEvent.json +++ b/api/NDEFReadingEvent.json @@ -77,6 +77,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/web-nfc/#dom-ndefreadingevent", "tags": [ "web-features:web-nfc" ], diff --git a/api/NDEFRecord.json b/api/NDEFRecord.json index 74b49122c5659a..1daae323b0926e 100644 --- a/api/NDEFRecord.json +++ b/api/NDEFRecord.json @@ -77,6 +77,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/web-nfc/#dom-ndefrecord", "tags": [ "web-features:web-nfc" ], diff --git a/api/Navigator.json b/api/Navigator.json index f63d008cf18aec..3e1b8df73d4299 100644 --- a/api/Navigator.json +++ b/api/Navigator.json @@ -399,7 +399,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } @@ -1339,7 +1339,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": false } } @@ -1421,6 +1421,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/battery/#dom-navigator-getbattery", "tags": [ "web-features:battery" ], @@ -1508,6 +1509,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/gamepad/#dom-navigator-getgamepads", "tags": [ "web-features:gamepad" ], @@ -2545,6 +2547,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/mediacapture-main/#mediadevices", "tags": [ "web-features:media-capture" ], @@ -3328,6 +3331,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#custom-handlers", "tags": [ "web-features:registerprotocolhandler" ], @@ -3371,6 +3375,7 @@ "scheme_parameter_bitcoin": { "__compat": { "description": "`scheme` parameter supports `bitcoin`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -3590,6 +3595,7 @@ "scheme_parameter_ftp": { "__compat": { "description": "`scheme` parameter supports `ftp`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -3627,6 +3633,7 @@ "scheme_parameter_ftps": { "__compat": { "description": "`scheme` parameter supports `ftps`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -3664,6 +3671,7 @@ "scheme_parameter_geo": { "__compat": { "description": "`scheme` parameter supports `geo`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -3739,6 +3747,7 @@ "scheme_parameter_im": { "__compat": { "description": "`scheme` parameter supports `im`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -3850,6 +3859,7 @@ "scheme_parameter_irc": { "__compat": { "description": "`scheme` parameter supports `irc`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -3891,6 +3901,7 @@ "scheme_parameter_ircs": { "__compat": { "description": "`scheme` parameter supports `ircs`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -3930,6 +3941,7 @@ "scheme_parameter_magnet": { "__compat": { "description": "`scheme` parameter supports `magnet`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -3969,6 +3981,7 @@ "scheme_parameter_mailto": { "__compat": { "description": "`scheme` parameter supports `mailto`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4010,6 +4023,7 @@ "scheme_parameter_matrix": { "__compat": { "description": "`scheme` parameter supports `matrix`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4049,6 +4063,7 @@ "scheme_parameter_mms": { "__compat": { "description": "`scheme` parameter supports `mms`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4090,6 +4105,7 @@ "scheme_parameter_news": { "__compat": { "description": "`scheme` parameter supports `news`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4131,6 +4147,7 @@ "scheme_parameter_nntp": { "__compat": { "description": "`scheme` parameter supports `nntp`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4172,6 +4189,7 @@ "scheme_parameter_openpgp4fpr": { "__compat": { "description": "`scheme` parameter supports `openpgp4fpr`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4211,6 +4229,7 @@ "scheme_parameter_sftp": { "__compat": { "description": "`scheme` parameter supports `sftp`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4248,6 +4267,7 @@ "scheme_parameter_sip": { "__compat": { "description": "`scheme` parameter supports `sip`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4287,6 +4307,7 @@ "scheme_parameter_sms": { "__compat": { "description": "`scheme` parameter supports `sms`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4328,6 +4349,7 @@ "scheme_parameter_smsto": { "__compat": { "description": "`scheme` parameter supports `smsto`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4403,6 +4425,7 @@ "scheme_parameter_ssh": { "__compat": { "description": "`scheme` parameter supports `ssh`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4442,6 +4465,7 @@ "scheme_parameter_tel": { "__compat": { "description": "`scheme` parameter supports `tel`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4483,6 +4507,7 @@ "scheme_parameter_urn": { "__compat": { "description": "`scheme` parameter supports `urn`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4524,6 +4549,7 @@ "scheme_parameter_webcal": { "__compat": { "description": "`scheme` parameter supports `webcal`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4565,6 +4591,7 @@ "scheme_parameter_wtai": { "__compat": { "description": "`scheme` parameter supports `wtai`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4604,6 +4631,7 @@ "scheme_parameter_xmpp": { "__compat": { "description": "`scheme` parameter supports `xmpp`", + "spec_url": "https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme", "tags": [ "web-features:registerprotocolhandler" ], @@ -4746,6 +4774,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://webaudio.github.io/web-midi-api/#dom-navigator-requestmidiaccess", "tags": [ "web-features:web-midi" ], @@ -5597,6 +5626,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://wicg.github.io/ua-client-hints/#dom-navigatorua-useragentdata", "tags": [ "web-features:ua-client-hints" ], diff --git a/api/NetworkInformation.json b/api/NetworkInformation.json index e06f358968ded9..9e796d19f640e6 100644 --- a/api/NetworkInformation.json +++ b/api/NetworkInformation.json @@ -46,6 +46,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://wicg.github.io/netinfo/#networkinformation-interface", "tags": [ "web-features:network-information" ], diff --git a/api/NodeList.json b/api/NodeList.json index 0e1fb1beb4cb08..2e1d8df5aeab93 100644 --- a/api/NodeList.json +++ b/api/NodeList.json @@ -46,6 +46,7 @@ "entries": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/NodeList/entries", + "spec_url": "https://webidl.spec.whatwg.org/#js-iterable", "tags": [ "web-features:dom" ], @@ -163,6 +164,7 @@ "keys": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/NodeList/keys", + "spec_url": "https://webidl.spec.whatwg.org/#js-iterable", "tags": [ "web-features:dom" ], @@ -243,6 +245,7 @@ "values": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/NodeList/values", + "spec_url": "https://webidl.spec.whatwg.org/#js-iterable", "tags": [ "web-features:dom" ], diff --git a/api/NotRestoredReasonDetails.json b/api/NotRestoredReasonDetails.json index 0e48798671a064..531ebea2b049b1 100644 --- a/api/NotRestoredReasonDetails.json +++ b/api/NotRestoredReasonDetails.json @@ -72,6 +72,7 @@ "toJSON": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/NotRestoredReasonDetails/toJSON", + "spec_url": "https://html.spec.whatwg.org/multipage/nav-history-apis.html#notrestoredreasondetails", "tags": [ "web-features:bfcache-blocking-reasons" ], diff --git a/api/NotRestoredReasons.json b/api/NotRestoredReasons.json index 316bd8d234168b..8447866f9415df 100644 --- a/api/NotRestoredReasons.json +++ b/api/NotRestoredReasons.json @@ -212,6 +212,7 @@ "toJSON": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/NotRestoredReasons/toJSON", + "spec_url": "https://html.spec.whatwg.org/multipage/nav-history-apis.html#notrestoredreasons", "tags": [ "web-features:bfcache-blocking-reasons" ], diff --git a/api/Notification.json b/api/Notification.json index 2dda3cd41125bf..6337339dcaf5aa 100644 --- a/api/Notification.json +++ b/api/Notification.json @@ -3,7 +3,7 @@ "Notification": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Notification", - "spec_url": "https://notifications.spec.whatwg.org/#api", + "spec_url": "https://notifications.spec.whatwg.org/#notification", "tags": [ "web-features:notifications" ], @@ -150,6 +150,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://notifications.spec.whatwg.org/#notification", "tags": [ "web-features:notifications" ], @@ -187,6 +188,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://notifications.spec.whatwg.org/#api", "tags": [ "web-features:notifications" ], @@ -1017,6 +1019,7 @@ "returns_promise": { "__compat": { "description": "Returns a `Promise`", + "spec_url": "https://notifications.spec.whatwg.org/#dom-notification-requestpermission", "tags": [ "web-features:notifications" ], diff --git a/api/OfflineAudioContext.json b/api/OfflineAudioContext.json index d5b60b4cef3d8b..9f6767706cd4be 100644 --- a/api/OfflineAudioContext.json +++ b/api/OfflineAudioContext.json @@ -104,6 +104,7 @@ "options_parameter": { "__compat": { "description": "`options` parameter (accepts all parameters as a single dictionary)", + "spec_url": "https://webaudio.github.io/web-audio-api/#dom-offlineaudiocontext-offlineaudiocontext", "tags": [ "web-features:offline-audio-context" ], @@ -292,6 +293,7 @@ "returns_promise": { "__compat": { "description": "Returns a `Promise`", + "spec_url": "https://webaudio.github.io/web-audio-api/#dom-offlineaudiocontext-startrendering", "tags": [ "web-features:offline-audio-context" ], diff --git a/api/OffscreenCanvas.json b/api/OffscreenCanvas.json index b7289cef05ff67..027538fee4f9ee 100644 --- a/api/OffscreenCanvas.json +++ b/api/OffscreenCanvas.json @@ -260,6 +260,7 @@ "bitmaprenderer_context": { "__compat": { "description": "`bitmaprenderer` context", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#canvas-context-bitmaprenderer", "tags": [ "web-features:offscreen-canvas" ], @@ -294,6 +295,7 @@ "webgl_context": { "__compat": { "description": "`webgl` context", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#canvas-context-webgl", "tags": [ "web-features:offscreen-canvas" ], @@ -328,6 +330,7 @@ "webgl2_context": { "__compat": { "description": "`webgl2` context", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#canvas-context-webgl2", "tags": [ "web-features:offscreen-canvas" ], @@ -408,6 +411,7 @@ "2d_context": { "__compat": { "description": "`2d` context", + "spec_url": "https://html.spec.whatwg.org/multipage/canvas.html#canvas-context-2d", "tags": [ "web-features:offscreen-canvas" ], diff --git a/api/PaymentManager.json b/api/PaymentManager.json index 15991f8dc319ea..82a5f55282b933 100644 --- a/api/PaymentManager.json +++ b/api/PaymentManager.json @@ -40,6 +40,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/web-based-payment-handler/#paymentmanager-interface", "tags": [ "web-features:payment-handler" ], diff --git a/api/PaymentRequest.json b/api/PaymentRequest.json index 848cb9911a1ec0..589868caa2eca2 100644 --- a/api/PaymentRequest.json +++ b/api/PaymentRequest.json @@ -58,7 +58,7 @@ "__compat": { "description": "`PaymentRequest()` constructor", "mdn_url": "https://developer.mozilla.org/docs/Web/API/PaymentRequest/PaymentRequest", - "spec_url": "https://w3c.github.io/payment-request/#constructor", + "spec_url": "https://w3c.github.io/payment-request/#dom-paymentrequest", "tags": [ "web-features:payment-request" ], @@ -108,6 +108,7 @@ "__compat": { "description": "`secure-payment-confirmation` method", "mdn_url": "https://developer.mozilla.org/docs/Web/API/Payment_Request_API/Concepts#secure-payment-confirmation", + "spec_url": "https://w3c.github.io/payment-request/#dom-paymentrequest", "tags": [ "web-features:payment-request" ], @@ -330,7 +331,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": true } } diff --git a/api/PaymentRequestUpdateEvent.json b/api/PaymentRequestUpdateEvent.json index 9ceb3ccc4944e7..486c0c8435f17b 100644 --- a/api/PaymentRequestUpdateEvent.json +++ b/api/PaymentRequestUpdateEvent.json @@ -104,6 +104,7 @@ "secure_context_required": { "__compat": { "description": "Secure context required", + "spec_url": "https://w3c.github.io/payment-request/#paymentrequestupdateevent-interface", "tags": [ "web-features:payment-request" ], diff --git a/api/PaymentResponse.json b/api/PaymentResponse.json index 1dfee7e04da172..48715b2974cb53 100644 --- a/api/PaymentResponse.json +++ b/api/PaymentResponse.json @@ -645,6 +645,7 @@ "__compat": { "description": "`toJSON()`", "mdn_url": "https://developer.mozilla.org/docs/Web/API/PaymentResponse/toJSON", + "spec_url": "https://webidl.spec.whatwg.org/#default-tojson-steps", "tags": [ "web-features:payment-request" ], diff --git a/api/Performance.json b/api/Performance.json index afdba2b42099d7..f02e692d33bd8e 100644 --- a/api/Performance.json +++ b/api/Performance.json @@ -597,6 +597,7 @@ "markOptions_parameter": { "__compat": { "description": "`markOptions` parameter", + "spec_url": "https://w3c.github.io/user-timing/#dom-performancemarkoptions", "tags": [ "web-features:performance" ], @@ -640,6 +641,7 @@ "returns_performancemark": { "__compat": { "description": "Returns `PerformanceMark`", + "spec_url": "https://w3c.github.io/user-timing/#dom-performance-mark", "tags": [ "web-features:performance" ], @@ -782,6 +784,7 @@ "measureOptions_parameter": { "__compat": { "description": "`measureOptions` parameter", + "spec_url": "https://w3c.github.io/user-timing/#dom-performancemeasureoptions", "tags": [ "web-features:performance" ], @@ -825,6 +828,7 @@ "returns_performancemeasure": { "__compat": { "description": "Returns `PerformanceMeasure`", + "spec_url": "https://w3c.github.io/user-timing/#dom-performance-measure", "tags": [ "web-features:performance" ], diff --git a/api/PerformanceElementTiming.json b/api/PerformanceElementTiming.json index 614db161ee6332..dcf36adf0b5de3 100644 --- a/api/PerformanceElementTiming.json +++ b/api/PerformanceElementTiming.json @@ -405,7 +405,7 @@ }, "status": { "experimental": true, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/api/PerformanceEntry.json b/api/PerformanceEntry.json index 5bea1aefd9c55c..082a76a81dd056 100644 --- a/api/PerformanceEntry.json +++ b/api/PerformanceEntry.json @@ -3,7 +3,7 @@ "PerformanceEntry": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/PerformanceEntry", - "spec_url": "https://w3c.github.io/performance-timeline/#dom-performanceentry", + "spec_url": "https://w3c.github.io/performance-timeline/#performanceentry", "tags": [ "web-features:performance" ], @@ -65,6 +65,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/performance-timeline/#performanceentry", "tags": [ "web-features:performance" ], diff --git a/api/PerformanceObserver.json b/api/PerformanceObserver.json index dfe3c2f6bc3eed..dbda3a3a4049df 100644 --- a/api/PerformanceObserver.json +++ b/api/PerformanceObserver.json @@ -3,7 +3,7 @@ "PerformanceObserver": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/PerformanceObserver", - "spec_url": "https://w3c.github.io/performance-timeline/#dom-performanceobserver", + "spec_url": "https://w3c.github.io/performance-timeline/#performanceobserver", "tags": [ "web-features:performance" ], @@ -140,6 +140,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/performance-timeline/#performanceobserver", "tags": [ "web-features:performance" ], diff --git a/api/PerformanceResourceTiming.json b/api/PerformanceResourceTiming.json index b34dce260e9e9d..3177e4b8907f0c 100644 --- a/api/PerformanceResourceTiming.json +++ b/api/PerformanceResourceTiming.json @@ -3,7 +3,7 @@ "PerformanceResourceTiming": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/PerformanceResourceTiming", - "spec_url": "https://w3c.github.io/resource-timing/#resources-included-in-the-performanceresourcetiming-interface", + "spec_url": "https://w3c.github.io/resource-timing/#performanceresourcetiming", "tags": [ "web-features:resource-timing" ], @@ -62,6 +62,7 @@ "worker_support": { "__compat": { "description": "Available in workers", + "spec_url": "https://w3c.github.io/resource-timing/#performanceresourcetiming", "tags": [ "web-features:resource-timing" ], diff --git a/api/Permissions.json b/api/Permissions.json index d72f8ecacc47cf..5743a73f73a66c 100644 --- a/api/Permissions.json +++ b/api/Permissions.json @@ -40,6 +40,7 @@ "permission_accelerometer": { "__compat": { "description": "`accelerometer` permission", + "spec_url": "https://w3c.github.io/sensors/#permissions-policy-api", "tags": [ "web-features:accelerometer" ], diff --git a/lint/common/standard-track-exceptions.txt b/lint/common/standard-track-exceptions.txt index cd7267d56779b7..c0d4a1b40cd1de 100644 --- a/lint/common/standard-track-exceptions.txt +++ b/lint/common/standard-track-exceptions.txt @@ -14,143 +14,7 @@ api.HTMLInputElement.showPicker.file_input api.HTMLInputElement.showPicker.month_input api.HTMLInputElement.showPicker.time_input api.HTMLInputElement.showPicker.week_input -api.InputEvent.inputType.insertFromPasteAsQuotation -api.IntersectionObserver.IntersectionObserver.options_root_parameter_Document -api.IntersectionObserver.scrollMargin -api.KeyboardEvent.getModifierState.key_parameter_alt -api.KeyboardEvent.getModifierState.key_parameter_altgraph -api.KeyboardEvent.getModifierState.key_parameter_capslock -api.KeyboardEvent.getModifierState.key_parameter_control -api.KeyboardEvent.getModifierState.key_parameter_fn -api.KeyboardEvent.getModifierState.key_parameter_meta -api.KeyboardEvent.getModifierState.key_parameter_numlock -api.KeyboardEvent.getModifierState.key_parameter_scrolllock -api.KeyboardEvent.getModifierState.key_parameter_shift -api.KeyboardEvent.getModifierState.key_parameter_symbol -api.KeyboardEvent.key.dead_key -api.KeyboardEvent.key.non_printable_keys -api.KeyboardEvent.key.printable_key -api.KeyboardLayoutMap.@@iterator -api.KeyboardLayoutMap.entries -api.KeyboardLayoutMap.forEach -api.KeyboardLayoutMap.get -api.KeyboardLayoutMap.has -api.KeyboardLayoutMap.keys -api.KeyboardLayoutMap.size -api.KeyboardLayoutMap.values -api.LargestContentfulPaint.renderTime.cross-origin -api.MIDIInputMap.@@iterator -api.MIDIInputMap.entries -api.MIDIInputMap.forEach -api.MIDIInputMap.get -api.MIDIInputMap.has -api.MIDIInputMap.keys -api.MIDIInputMap.size -api.MIDIInputMap.values -api.MIDIOutputMap.@@iterator -api.MIDIOutputMap.entries -api.MIDIOutputMap.forEach -api.MIDIOutputMap.get -api.MIDIOutputMap.has -api.MIDIOutputMap.keys -api.MIDIOutputMap.size -api.MIDIOutputMap.values -api.MediaDevices.getDisplayMedia.audio_capture_support -api.MediaDevices.getUserMedia.secure_context_required -api.MediaKeyStatusMap.@@iterator -api.MediaKeyStatusMap.entries -api.MediaKeyStatusMap.forEach -api.MediaKeyStatusMap.keys -api.MediaKeyStatusMap.values -api.MediaQueryList.EventTarget_inheritance -api.MediaRecorder.MediaRecorder.options_parameter -api.MediaSession.setActionHandler.hangup_type -api.MediaSession.setActionHandler.nextslide_type -api.MediaSession.setActionHandler.nexttrack_type -api.MediaSession.setActionHandler.pause_type -api.MediaSession.setActionHandler.play_type -api.MediaSession.setActionHandler.previousslide_type -api.MediaSession.setActionHandler.previoustrack_type -api.MediaSession.setActionHandler.seekbackward_type -api.MediaSession.setActionHandler.seekforward_type -api.MediaSession.setActionHandler.seekto_type -api.MediaSession.setActionHandler.skipad_type -api.MediaSession.setActionHandler.stop_type -api.MediaSession.setActionHandler.togglecamera_type -api.MediaSession.setActionHandler.togglemicrophone_type -api.MediaSource.worker_support -api.MerchantValidationEvent -api.MerchantValidationEvent.MerchantValidationEvent -api.MerchantValidationEvent.complete -api.MerchantValidationEvent.methodName -api.MerchantValidationEvent.validationURL -api.MessagePort.worker_support -api.NDEFMessage.secure_context_required -api.NDEFReader.secure_context_required -api.NDEFReadingEvent.secure_context_required -api.NDEFRecord.secure_context_required -api.Navigator.authentication -api.Navigator.geolocation.secure_context_required -api.Navigator.getBattery.secure_context_required -api.Navigator.getGamepads.secure_context_required -api.Navigator.mediaDevices.secure_context_required -api.Navigator.registerProtocolHandler.scheme_parameter_bitcoin -api.Navigator.registerProtocolHandler.scheme_parameter_ftp -api.Navigator.registerProtocolHandler.scheme_parameter_ftps -api.Navigator.registerProtocolHandler.scheme_parameter_geo -api.Navigator.registerProtocolHandler.scheme_parameter_im -api.Navigator.registerProtocolHandler.scheme_parameter_irc -api.Navigator.registerProtocolHandler.scheme_parameter_ircs -api.Navigator.registerProtocolHandler.scheme_parameter_magnet -api.Navigator.registerProtocolHandler.scheme_parameter_mailto -api.Navigator.registerProtocolHandler.scheme_parameter_matrix -api.Navigator.registerProtocolHandler.scheme_parameter_mms -api.Navigator.registerProtocolHandler.scheme_parameter_news -api.Navigator.registerProtocolHandler.scheme_parameter_nntp -api.Navigator.registerProtocolHandler.scheme_parameter_openpgp4fpr -api.Navigator.registerProtocolHandler.scheme_parameter_sftp -api.Navigator.registerProtocolHandler.scheme_parameter_sip -api.Navigator.registerProtocolHandler.scheme_parameter_sms -api.Navigator.registerProtocolHandler.scheme_parameter_smsto -api.Navigator.registerProtocolHandler.scheme_parameter_ssh -api.Navigator.registerProtocolHandler.scheme_parameter_tel -api.Navigator.registerProtocolHandler.scheme_parameter_urn -api.Navigator.registerProtocolHandler.scheme_parameter_webcal -api.Navigator.registerProtocolHandler.scheme_parameter_wtai -api.Navigator.registerProtocolHandler.scheme_parameter_xmpp -api.Navigator.registerProtocolHandler.secure_context_required -api.Navigator.requestMIDIAccess.secure_context_required -api.Navigator.userAgentData.secure_context_required -api.NetworkInformation.worker_support -api.NodeList.entries -api.NodeList.keys -api.NodeList.values -api.NotRestoredReasonDetails.toJSON -api.NotRestoredReasons.toJSON -api.Notification.requestPermission_static.returns_promise -api.Notification.secure_context_required -api.Notification.worker_support -api.OfflineAudioContext.OfflineAudioContext.options_parameter -api.OfflineAudioContext.startRendering.returns_promise api.OffscreenCanvas.convertToBlob.option_type_parameter_webp -api.OffscreenCanvas.getContext.2d_context -api.OffscreenCanvas.getContext.bitmaprenderer_context -api.OffscreenCanvas.getContext.webgl2_context -api.OffscreenCanvas.getContext.webgl_context -api.PaymentManager.secure_context_required -api.PaymentRequest.PaymentRequest.secure_payment_confirmation_method -api.PaymentRequest.merchantvalidation_event -api.PaymentRequestUpdateEvent.secure_context_required -api.PaymentResponse.toJSON -api.Performance.mark.markOptions_parameter -api.Performance.mark.returns_performancemark -api.Performance.measure.measureOptions_parameter -api.Performance.measure.returns_performancemeasure -api.PerformanceElementTiming.renderTime.cross-origin -api.PerformanceEntry.worker_support -api.PerformanceObserver.worker_support -api.PerformanceResourceTiming.worker_support -api.Permissions.permission_accelerometer api.Permissions.permission_ambient-light-sensor api.Permissions.permission_background-sync api.Permissions.permission_camera From d3215c5b71db64c509fc62c88ce7019eea9b1fe3 Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 14:19:07 +0100 Subject: [PATCH 17/18] Fix some CSS exceptions --- css/at-rules/font-face.json | 8 ++ css/at-rules/font-feature-values.json | 7 ++ css/at-rules/keyframes.json | 1 + css/at-rules/media.json | 2 + css/at-rules/supports.json | 3 + css/properties/accent-color.json | 1 + css/properties/align-content.json | 5 + css/properties/align-items.json | 15 +++ css/properties/align-self.json | 10 ++ css/properties/alignment-baseline.json | 8 ++ css/properties/animation-timing-function.json | 6 + css/properties/background-attachment.json | 1 + css/properties/background-image.json | 1 + css/properties/background-position-x.json | 3 +- css/properties/background-position-y.json | 3 +- css/properties/background-position.json | 2 + css/properties/background-repeat.json | 2 + css/properties/background.json | 4 + css/properties/block-size.json | 8 +- css/properties/border-bottom-left-radius.json | 1 + .../border-bottom-right-radius.json | 1 + css/properties/border-collapse.json | 2 + css/properties/border-image.json | 6 + css/properties/border-radius.json | 4 +- css/properties/border-top-left-radius.json | 3 +- css/properties/border-top-right-radius.json | 3 +- css/properties/box-shadow.json | 8 +- css/properties/break-after.json | 23 +++- css/properties/break-before.json | 16 +++ css/properties/break-inside.json | 6 + lint/common/standard-track-exceptions.txt | 112 ------------------ 31 files changed, 148 insertions(+), 127 deletions(-) diff --git a/css/at-rules/font-face.json b/css/at-rules/font-face.json index ce02e9c5cde636..1aeb6c12db40e8 100644 --- a/css/at-rules/font-face.json +++ b/css/at-rules/font-face.json @@ -50,6 +50,7 @@ "OpenType_CBDT_CBLC": { "__compat": { "description": "OpenType CBDT and CBLC rendering", + "spec_url": "https://drafts.csswg.org/css-fonts-4/#valdef-color-font-tech-color-cbdt", "tags": [ "web-features:font-face" ], @@ -84,6 +85,7 @@ "OpenType_COLRv0": { "__compat": { "description": "OpenType COLRv0 rendering", + "spec_url": "https://drafts.csswg.org/css-fonts-4/#valdef-color-font-tech-color-colrv0", "tags": [ "web-features:colrv0" ], @@ -118,6 +120,7 @@ "OpenType_COLRv1": { "__compat": { "description": "OpenType COLRv1 rendering", + "spec_url": "https://drafts.csswg.org/css-fonts-4/#valdef-color-font-tech-color-colrv1", "tags": [ "web-features:colrv1" ], @@ -152,6 +155,7 @@ "OpenType_SBIX": { "__compat": { "description": "OpenType SBIX rendering", + "spec_url": "https://drafts.csswg.org/css-fonts-4/#valdef-color-font-tech-color-sbix", "tags": [ "web-features:font-face" ], @@ -186,6 +190,7 @@ "OpenType_SVG": { "__compat": { "description": "OpenType SVG rendering", + "spec_url": "https://drafts.csswg.org/css-fonts-4/#valdef-color-font-tech-color-svg", "tags": [ "web-features:svg" ], @@ -896,6 +901,7 @@ "drop_invalid_item": { "__compat": { "description": "Drop invalid item (not src string)", + "spec_url": "https://drafts.csswg.org/css-fonts/#font-face-src-formats", "tags": [ "web-features:font-face" ], @@ -932,6 +938,7 @@ "format_keyword": { "__compat": { "description": "`format(keyword)`", + "spec_url": "https://drafts.csswg.org/css-fonts/#format()", "tags": [ "web-features:font-face" ], @@ -1004,6 +1011,7 @@ "tech_keyword": { "__compat": { "description": "`tech(keyword)`", + "spec_url": "https://drafts.csswg.org/css-fonts/#tech()", "tags": [ "web-features:font-face" ], diff --git a/css/at-rules/font-feature-values.json b/css/at-rules/font-feature-values.json index 843d35e112f4b8..bf1785def2cf29 100644 --- a/css/at-rules/font-feature-values.json +++ b/css/at-rules/font-feature-values.json @@ -40,6 +40,7 @@ "__compat": { "description": "`@annotation`", "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/At-rules/@font-feature-values", + "spec_url": "https://drafts.csswg.org/css-fonts/#at-ruledef-font-feature-values-annotation", "tags": [ "web-features:font-variant-alternates" ], @@ -75,6 +76,7 @@ "__compat": { "description": "`@character-variant`", "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/At-rules/@font-feature-values", + "spec_url": "https://drafts.csswg.org/css-fonts/#at-ruledef-font-feature-values-character-variant", "tags": [ "web-features:font-variant-alternates" ], @@ -109,6 +111,7 @@ "historical-forms": { "__compat": { "description": "`@historical-forms`", + "spec_url": "https://drafts.csswg.org/css-fonts/#at-ruledef-font-feature-values-historical-forms", "tags": [ "web-features:font-variant-alternates" ], @@ -144,6 +147,7 @@ "__compat": { "description": "`@ornaments`", "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/At-rules/@font-feature-values", + "spec_url": "https://drafts.csswg.org/css-fonts/#at-ruledef-font-feature-values-ornaments", "tags": [ "web-features:font-variant-alternates" ], @@ -179,6 +183,7 @@ "__compat": { "description": "`@styleset`", "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/At-rules/@font-feature-values", + "spec_url": "https://drafts.csswg.org/css-fonts/#at-ruledef-font-feature-values-styleset", "tags": [ "web-features:font-variant-alternates" ], @@ -214,6 +219,7 @@ "__compat": { "description": "`@stylistic`", "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/At-rules/@font-feature-values", + "spec_url": "https://drafts.csswg.org/css-fonts/#at-ruledef-font-feature-values-stylistic", "tags": [ "web-features:font-variant-alternates" ], @@ -249,6 +255,7 @@ "__compat": { "description": "`@swash`", "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/At-rules/@font-feature-values", + "spec_url": "https://drafts.csswg.org/css-fonts/#at-ruledef-font-feature-values-swash", "tags": [ "web-features:font-variant-alternates" ], diff --git a/css/at-rules/keyframes.json b/css/at-rules/keyframes.json index c45bd61d77b1ca..60b9ef18ef89dc 100644 --- a/css/at-rules/keyframes.json +++ b/css/at-rules/keyframes.json @@ -108,6 +108,7 @@ "ignore_important_declarations": { "__compat": { "description": "Ignore `!important` declarations", + "spec_url": "https://drafts.csswg.org/css-animations/#keyframes", "tags": [ "web-features:animations-css" ], diff --git a/css/at-rules/media.json b/css/at-rules/media.json index fd22a7d6e8e34a..04528855fb1264 100644 --- a/css/at-rules/media.json +++ b/css/at-rules/media.json @@ -1375,6 +1375,7 @@ "__compat": { "description": "`or` syntax from Media Queries Level 4", "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Guides/Media_queries/Using", + "spec_url": "https://drafts.csswg.org/mediaqueries-5/#typedef-media-or", "tags": [ "web-features:media-queries" ], @@ -1869,6 +1870,7 @@ "range_syntax": { "__compat": { "description": "Range syntax from Media Queries Level 4", + "spec_url": "https://drafts.csswg.org/mediaqueries-5/#typedef-mf-range", "tags": [ "web-features:media-query-range-syntax" ], diff --git a/css/at-rules/supports.json b/css/at-rules/supports.json index 7f34c7a3584b4a..3820ba80b5f588 100644 --- a/css/at-rules/supports.json +++ b/css/at-rules/supports.json @@ -49,6 +49,7 @@ "font-format": { "__compat": { "description": "`font-format()`", + "spec_url": "https://drafts.csswg.org/css-conditional-5/#typedef-supports-font-format-fn", "tags": [ "web-features:supports" ], @@ -83,6 +84,7 @@ "font-tech": { "__compat": { "description": "`font-tech()`", + "spec_url": "https://drafts.csswg.org/css-conditional-5/#typedef-supports-font-tech-fn", "tags": [ "web-features:supports" ], @@ -117,6 +119,7 @@ "selector": { "__compat": { "description": "`selector()`", + "spec_url": "https://drafts.csswg.org/css-conditional-4/#typedef-supports-selector-fn", "tags": [ "web-features:supports" ], diff --git a/css/properties/accent-color.json b/css/properties/accent-color.json index 54be774f3dfa19..0b3566683e27e7 100644 --- a/css/properties/accent-color.json +++ b/css/properties/accent-color.json @@ -43,6 +43,7 @@ }, "auto": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-ui/#valdef-accent-color-auto", "tags": [ "web-features:accent-color" ], diff --git a/css/properties/align-content.json b/css/properties/align-content.json index 465ea78de3c225..b7a6856b3fd6ae 100644 --- a/css/properties/align-content.json +++ b/css/properties/align-content.json @@ -259,6 +259,10 @@ "safe_unsafe": { "__compat": { "description": "`safe` and `unsafe`", + "spec_url": [ + "https://drafts.csswg.org/css-align-3/#valdef-overflow-position-safe", + "https://drafts.csswg.org/css-align-3/#valdef-overflow-position-unsafe" + ], "tags": [ "web-features:flexbox" ], @@ -366,6 +370,7 @@ }, "stretch": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-flexbox/#valdef-align-content-stretch", "tags": [ "web-features:flexbox" ], diff --git a/css/properties/align-items.json b/css/properties/align-items.json index 2818bcd337b67b..30b5871e73c6a9 100644 --- a/css/properties/align-items.json +++ b/css/properties/align-items.json @@ -155,6 +155,7 @@ }, "baseline": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-flexbox-1/#valdef-align-items-baseline", "tags": [ "web-features:flexbox" ], @@ -197,6 +198,7 @@ "first_baseline": { "__compat": { "description": "`first baseline`", + "spec_url": "https://drafts.csswg.org/css-align-3/#valdef-justify-self-first-baseline", "tags": [ "web-features:flexbox" ], @@ -231,6 +233,7 @@ "last_baseline": { "__compat": { "description": "`last baseline`", + "spec_url": "https://drafts.csswg.org/css-align-3/#valdef-justify-self-last-baseline", "tags": [ "web-features:flexbox" ], @@ -265,6 +268,10 @@ "safe_unsafe": { "__compat": { "description": "`safe` and `unsafe`", + "spec_url": [ + "https://drafts.csswg.org/css-align-3/#valdef-overflow-position-safe", + "https://drafts.csswg.org/css-align-3/#valdef-overflow-position-unsafe" + ], "tags": [ "web-features:flexbox" ], @@ -300,6 +307,10 @@ "start_end": { "__compat": { "description": "`start` and `end`", + "spec_url": [ + "https://drafts.csswg.org/css-align-3/#valdef-self-position-start", + "https://drafts.csswg.org/css-align-3/#valdef-self-position-end" + ], "tags": [ "web-features:flexbox" ], @@ -382,6 +393,10 @@ "start_end": { "__compat": { "description": "`start` and `end`", + "spec_url": [ + "https://drafts.csswg.org/css-align-3/#valdef-self-position-start", + "https://drafts.csswg.org/css-align-3/#valdef-self-position-end" + ], "tags": [ "web-features:grid" ], diff --git a/css/properties/align-self.json b/css/properties/align-self.json index e71513023bef1d..23e9fefd1b1afd 100644 --- a/css/properties/align-self.json +++ b/css/properties/align-self.json @@ -242,6 +242,7 @@ "first_baseline": { "__compat": { "description": "`first baseline`", + "spec_url": "https://drafts.csswg.org/css-align-3/#valdef-justify-self-first-baseline", "tags": [ "web-features:flexbox" ], @@ -276,6 +277,7 @@ "last_baseline": { "__compat": { "description": "`last baseline`", + "spec_url": "https://drafts.csswg.org/css-align-3/#valdef-justify-self-last-baseline", "tags": [ "web-features:flexbox" ], @@ -310,6 +312,10 @@ "safe_unsafe": { "__compat": { "description": "`safe` and `unsafe`", + "spec_url": [ + "https://drafts.csswg.org/css-align-3/#valdef-overflow-position-safe", + "https://drafts.csswg.org/css-align-3/#valdef-overflow-position-unsafe" + ], "tags": [ "web-features:flexbox" ], @@ -345,6 +351,10 @@ "start_end": { "__compat": { "description": "`start` and `end`", + "spec_url": [ + "https://drafts.csswg.org/css-align-3/#valdef-self-position-start", + "https://drafts.csswg.org/css-align-3/#valdef-self-position-end" + ], "tags": [ "web-features:flexbox" ], diff --git a/css/properties/alignment-baseline.json b/css/properties/alignment-baseline.json index aa74d90552b5b4..a2e257af07f222 100644 --- a/css/properties/alignment-baseline.json +++ b/css/properties/alignment-baseline.json @@ -40,6 +40,7 @@ }, "alphabetic": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-inline/#valdef-dominant-baseline-alphabetic", "tags": [ "web-features:alignment-baseline" ], @@ -73,6 +74,7 @@ }, "baseline": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-inline-3/#valdef-alignment-baseline-baseline", "tags": [ "web-features:alignment-baseline" ], @@ -106,6 +108,7 @@ }, "central": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-inline/#valdef-dominant-baseline-central", "tags": [ "web-features:alignment-baseline" ], @@ -139,6 +142,7 @@ }, "ideographic": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-inline/#valdef-dominant-baseline-ideographic", "tags": [ "web-features:alignment-baseline" ], @@ -172,6 +176,7 @@ }, "mathematical": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-inline/#valdef-dominant-baseline-mathematical", "tags": [ "web-features:alignment-baseline" ], @@ -205,6 +210,7 @@ }, "middle": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-inline/#valdef-dominant-baseline-middle", "tags": [ "web-features:alignment-baseline" ], @@ -238,6 +244,7 @@ }, "text-after-edge": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-inline-3/#valdef-alignment-baseline-text-after-edge", "tags": [ "web-features:alignment-baseline" ], @@ -271,6 +278,7 @@ }, "text-before-edge": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-inline-3/#valdef-alignment-baseline-text-before-edge", "tags": [ "web-features:alignment-baseline" ], diff --git a/css/properties/animation-timing-function.json b/css/properties/animation-timing-function.json index 366ab25dfa39d8..f63311a34d214f 100644 --- a/css/properties/animation-timing-function.json +++ b/css/properties/animation-timing-function.json @@ -249,6 +249,12 @@ "jump": { "__compat": { "description": "`jump-` keywords for `steps()`", + "spec_url": [ + "https://drafts.csswg.org/css-easing-2/#valdef-step-position-jump-start", + "https://drafts.csswg.org/css-easing-2/#valdef-step-position-jump-end", + "https://drafts.csswg.org/css-easing-2/#valdef-step-position-jump-none", + "https://drafts.csswg.org/css-easing-2/#valdef-step-position-jump-both" + ], "tags": [ "web-features:animations-css" ], diff --git a/css/properties/background-attachment.json b/css/properties/background-attachment.json index 9693ce1989bb55..13bc5df815581b 100644 --- a/css/properties/background-attachment.json +++ b/css/properties/background-attachment.json @@ -178,6 +178,7 @@ "multiple_backgrounds": { "__compat": { "description": "Multiple backgrounds", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#background-attachment", "tags": [ "web-features:background-attachment" ], diff --git a/css/properties/background-image.json b/css/properties/background-image.json index ad910a71269f1c..7eb9a10907dd77 100644 --- a/css/properties/background-image.json +++ b/css/properties/background-image.json @@ -257,6 +257,7 @@ "multiple_backgrounds": { "__compat": { "description": "Multiple backgrounds", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#background-image", "tags": [ "web-features:background-image" ], diff --git a/css/properties/background-position-x.json b/css/properties/background-position-x.json index c254d713da6687..2c94cfee0222a0 100644 --- a/css/properties/background-position-x.json +++ b/css/properties/background-position-x.json @@ -4,7 +4,7 @@ "background-position-x": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-position-x", - "spec_url": "https://drafts.csswg.org/css-backgrounds-4/#background-position-longhands", + "spec_url": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-x", "tags": [ "web-features:background-position" ], @@ -43,6 +43,7 @@ "side-relative_values": { "__compat": { "description": "Side-relative values (such as `left 10%`)", + "spec_url": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-x", "tags": [ "web-features:background-position" ], diff --git a/css/properties/background-position-y.json b/css/properties/background-position-y.json index ba4633cab74800..691515e907bbd7 100644 --- a/css/properties/background-position-y.json +++ b/css/properties/background-position-y.json @@ -4,7 +4,7 @@ "background-position-y": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/background-position-y", - "spec_url": "https://drafts.csswg.org/css-backgrounds-4/#background-position-longhands", + "spec_url": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-y", "tags": [ "web-features:background-position" ], @@ -43,6 +43,7 @@ "side-relative_values": { "__compat": { "description": "Side-relative values (such as `bottom 10%`)", + "spec_url": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-y", "tags": [ "web-features:background-position" ], diff --git a/css/properties/background-position.json b/css/properties/background-position.json index c04ea47a0a82db..f4e60b24ed68f2 100644 --- a/css/properties/background-position.json +++ b/css/properties/background-position.json @@ -147,6 +147,7 @@ "multiple_backgrounds": { "__compat": { "description": "Multiple backgrounds", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#background-position", "tags": [ "web-features:background-position" ], @@ -222,6 +223,7 @@ "side-relative_values": { "__compat": { "description": "Side-relative values (such as `bottom 10% right 20%`)", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#background-position", "tags": [ "web-features:background-position" ], diff --git a/css/properties/background-repeat.json b/css/properties/background-repeat.json index 4a1a35a08efa0d..5ee935107dd4bc 100644 --- a/css/properties/background-repeat.json +++ b/css/properties/background-repeat.json @@ -47,6 +47,7 @@ "multiple_backgrounds": { "__compat": { "description": "Multiple backgrounds", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#background-repeat", "tags": [ "web-features:background-repeat" ], @@ -340,6 +341,7 @@ "2-value": { "__compat": { "description": "Two-value syntax (different values for x & y directions)", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#typedef-repeat-style", "tags": [ "web-features:background-repeat" ], diff --git a/css/properties/background.json b/css/properties/background.json index 2366a75c30dc11..369703c28e2ed9 100644 --- a/css/properties/background.json +++ b/css/properties/background.json @@ -94,6 +94,7 @@ "background-clip": { "__compat": { "description": "Values of `background-clip` longhand", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#background-clip", "tags": [ "web-features:background-clip" ], @@ -137,6 +138,7 @@ "background-origin": { "__compat": { "description": "Values of `background-origin` longhand", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#background-origin", "tags": [ "web-features:background-origin" ], @@ -180,6 +182,7 @@ "background-size": { "__compat": { "description": "Values of `background-size` longhand", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#background-size", "tags": [ "web-features:background-size" ], @@ -494,6 +497,7 @@ "multiple_backgrounds": { "__compat": { "description": "Multiple backgrounds", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#background", "tags": [ "web-features:background" ], diff --git a/css/properties/block-size.json b/css/properties/block-size.json index a8e60359e72d83..67f19f106b5ed8 100644 --- a/css/properties/block-size.json +++ b/css/properties/block-size.json @@ -4,10 +4,7 @@ "block-size": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/block-size", - "spec_url": [ - "https://drafts.csswg.org/css-logical/#dimension-properties", - "https://drafts.csswg.org/css-sizing-4/#sizing-values" - ], + "spec_url": "https://drafts.csswg.org/css-logical/#propdef-block-size", "tags": [ "web-features:logical-properties" ], @@ -159,6 +156,7 @@ "fit-content_function": { "__compat": { "description": "`fit-content()`", + "spec_url": "https://drafts.csswg.org/css-sizing-4/#valdef-width-fit-content", "tags": [ "web-features:fit-content-function" ], @@ -198,6 +196,7 @@ }, "max-content": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-sizing-3/#valdef-width-max-content", "tags": [ "web-features:logical-properties" ], @@ -239,6 +238,7 @@ }, "min-content": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-sizing-3/#valdef-width-min-content", "tags": [ "web-features:logical-properties" ], diff --git a/css/properties/border-bottom-left-radius.json b/css/properties/border-bottom-left-radius.json index 252393545fc137..4aef10057135d9 100644 --- a/css/properties/border-bottom-left-radius.json +++ b/css/properties/border-bottom-left-radius.json @@ -140,6 +140,7 @@ "percentages": { "__compat": { "description": "Percentages", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#border-radius", "tags": [ "web-features:border-radius" ], diff --git a/css/properties/border-bottom-right-radius.json b/css/properties/border-bottom-right-radius.json index c50673baec01a2..a1009573aec5fc 100644 --- a/css/properties/border-bottom-right-radius.json +++ b/css/properties/border-bottom-right-radius.json @@ -140,6 +140,7 @@ "percentages": { "__compat": { "description": "Percentages", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#border-radius", "tags": [ "web-features:border-radius" ], diff --git a/css/properties/border-collapse.json b/css/properties/border-collapse.json index e8e2086b472bd6..7c47fc30eb67d8 100644 --- a/css/properties/border-collapse.json +++ b/css/properties/border-collapse.json @@ -48,6 +48,7 @@ }, "collapse": { "__compat": { + "spec_url": "https://drafts.csswg.org/css2/#valdef-border-collapse-collapse", "tags": [ "web-features:table" ], @@ -81,6 +82,7 @@ }, "separate": { "__compat": { + "spec_url": "https://drafts.csswg.org/css2/#valdef-border-collapse-separate", "tags": [ "web-features:table" ], diff --git a/css/properties/border-image.json b/css/properties/border-image.json index 361065211208b6..257d1bf4463954 100644 --- a/css/properties/border-image.json +++ b/css/properties/border-image.json @@ -104,6 +104,7 @@ }, "fill": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-backgrounds/#border-image-slice-fill", "tags": [ "web-features:border-image" ], @@ -143,6 +144,10 @@ "gradient": { "__compat": { "description": "``", + "spec_url": [ + "https://drafts.csswg.org/css-backgrounds/#propdef-border-image-source", + "https://drafts.csswg.org/css-images-3/#typedef-image" + ], "tags": [ "web-features:border-image" ], @@ -218,6 +223,7 @@ "optional_border_image_slice": { "__compat": { "description": "optional ``", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#border-image", "tags": [ "web-features:border-image" ], diff --git a/css/properties/border-radius.json b/css/properties/border-radius.json index f710d4e708f1a6..7ceccbd0020957 100644 --- a/css/properties/border-radius.json +++ b/css/properties/border-radius.json @@ -4,7 +4,7 @@ "border-radius": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-radius", - "spec_url": "https://drafts.csswg.org/css-backgrounds/#border-radius", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#propdef-border-radius", "tags": [ "web-features:border-radius" ], @@ -157,6 +157,7 @@ "percentages": { "__compat": { "description": "Percentages", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#border-radius", "tags": [ "web-features:border-radius" ], @@ -204,6 +205,7 @@ "4_values_for_4_corners": { "__compat": { "description": "4 values for 4 corners", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#propdef-border-radius", "tags": [ "web-features:border-radius" ], diff --git a/css/properties/border-top-left-radius.json b/css/properties/border-top-left-radius.json index ce171fbc510d91..247a4ea23cd4fc 100644 --- a/css/properties/border-top-left-radius.json +++ b/css/properties/border-top-left-radius.json @@ -4,7 +4,7 @@ "border-top-left-radius": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-top-left-radius", - "spec_url": "https://drafts.csswg.org/css-backgrounds/#border-radius", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#propdef-border-top-left-radius", "tags": [ "web-features:border-radius" ], @@ -140,6 +140,7 @@ "percentages": { "__compat": { "description": "Percentages", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#propdef-border-top-left-radius", "tags": [ "web-features:border-radius" ], diff --git a/css/properties/border-top-right-radius.json b/css/properties/border-top-right-radius.json index 4639ff2713ea5f..f7655c8c7e5ac7 100644 --- a/css/properties/border-top-right-radius.json +++ b/css/properties/border-top-right-radius.json @@ -4,7 +4,7 @@ "border-top-right-radius": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/border-top-right-radius", - "spec_url": "https://drafts.csswg.org/css-backgrounds/#border-radius", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#propdef-border-top-right-radius", "tags": [ "web-features:border-radius" ], @@ -140,6 +140,7 @@ "percentages": { "__compat": { "description": "Percentages", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#propdef-border-top-right-radius", "tags": [ "web-features:border-radius" ], diff --git a/css/properties/box-shadow.json b/css/properties/box-shadow.json index e5739f17de6bdb..3ad2ec778fc1a0 100644 --- a/css/properties/box-shadow.json +++ b/css/properties/box-shadow.json @@ -4,7 +4,7 @@ "box-shadow": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/box-shadow", - "spec_url": "https://drafts.csswg.org/css-backgrounds/#box-shadow", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#propdef-box-shadow", "tags": [ "web-features:box-shadow" ], @@ -84,6 +84,7 @@ }, "inset": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-backgrounds/#shadow-inset", "tags": [ "web-features:box-shadow" ], @@ -127,6 +128,7 @@ "multiple_shadows": { "__compat": { "description": "Multiple shadows", + "spec_url": "https://drafts.csswg.org/css-backgrounds/#propdef-box-shadow", "tags": [ "web-features:box-shadow" ], @@ -206,6 +208,10 @@ "spread_radius": { "__compat": { "description": "Spread radius", + "spec_url": [ + "https://drafts.csswg.org/css-backgrounds/#box-shadow-blur-radius", + "https://drafts.csswg.org/css-backgrounds/#box-shadow-spread-distance" + ], "tags": [ "web-features:box-shadow" ], diff --git a/css/properties/break-after.json b/css/properties/break-after.json index a3d8aac1fc30ca..244039d3ff5503 100644 --- a/css/properties/break-after.json +++ b/css/properties/break-after.json @@ -4,11 +4,7 @@ "break-after": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/break-after", - "spec_url": [ - "https://drafts.csswg.org/css-break/#break-between", - "https://drafts.csswg.org/css-regions/#region-flow-break", - "https://drafts.csswg.org/css-multicol/#break-before-break-after-break-inside" - ], + "spec_url": "https://drafts.csswg.org/css-break/#propdef-break-after", "tags": [ "web-features:page-breaks" ], @@ -62,6 +58,7 @@ }, "always": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#page-break-properties", "tags": [ "web-features:page-breaks" ], @@ -95,6 +92,7 @@ }, "auto": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-auto", "tags": [ "web-features:page-breaks" ], @@ -128,6 +126,7 @@ }, "avoid": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid", "tags": [ "web-features:page-breaks" ], @@ -165,6 +164,7 @@ }, "avoid-column": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid-column", "tags": [ "web-features:column-breaks" ], @@ -198,6 +198,7 @@ }, "avoid-page": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid-page", "tags": [ "web-features:page-breaks" ], @@ -231,6 +232,7 @@ }, "column": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-column", "tags": [ "web-features:column-breaks" ], @@ -264,6 +266,7 @@ }, "left": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-left", "tags": [ "web-features:page-breaks" ], @@ -390,6 +393,7 @@ }, "avoid": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid", "tags": [ "web-features:column-breaks" ], @@ -439,6 +443,7 @@ }, "avoid-column": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid-column", "tags": [ "web-features:column-breaks" ], @@ -499,6 +504,7 @@ }, "column": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-column", "tags": [ "web-features:column-breaks" ], @@ -554,6 +560,7 @@ }, "page": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-page", "tags": [ "web-features:page-breaks" ], @@ -687,6 +694,7 @@ }, "avoid-page": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid-page", "tags": [ "web-features:page-breaks" ], @@ -728,6 +736,7 @@ }, "page": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-page", "tags": [ "web-features:page-breaks" ], @@ -770,6 +779,7 @@ "recto": { "__compat": { "description": "`recto` and `verso`", + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-recto", "tags": [ "web-features:page-breaks" ], @@ -805,6 +815,7 @@ }, "recto": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-recto", "tags": [ "web-features:page-breaks" ], @@ -838,6 +849,7 @@ }, "right": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-right", "tags": [ "web-features:page-breaks" ], @@ -871,6 +883,7 @@ }, "verso": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-verso", "tags": [ "web-features:page-breaks" ], diff --git a/css/properties/break-before.json b/css/properties/break-before.json index 18d77b9620597a..22ade6240ca1ae 100644 --- a/css/properties/break-before.json +++ b/css/properties/break-before.json @@ -62,6 +62,7 @@ }, "always": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#page-break-properties", "tags": [ "web-features:page-breaks" ], @@ -95,6 +96,7 @@ }, "auto": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-auto", "tags": [ "web-features:page-breaks" ], @@ -128,6 +130,7 @@ }, "avoid": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid", "tags": [ "web-features:page-breaks" ], @@ -165,6 +168,7 @@ }, "avoid-column": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid-column", "tags": [ "web-features:column-breaks" ], @@ -198,6 +202,7 @@ }, "avoid-page": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid-page", "tags": [ "web-features:page-breaks" ], @@ -231,6 +236,7 @@ }, "column": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-column", "tags": [ "web-features:column-breaks" ], @@ -264,6 +270,7 @@ }, "left": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-left", "tags": [ "web-features:page-breaks" ], @@ -390,6 +397,7 @@ }, "avoid": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid", "tags": [ "web-features:column-breaks" ], @@ -439,6 +447,7 @@ }, "avoid-column": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid-column", "tags": [ "web-features:column-breaks" ], @@ -499,6 +508,7 @@ }, "column": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-column", "tags": [ "web-features:column-breaks" ], @@ -538,6 +548,7 @@ }, "page": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-page", "tags": [ "web-features:page-breaks" ], @@ -672,6 +683,7 @@ "page": { "__compat": { "description": "`page` and `avoid-page`", + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-page", "tags": [ "web-features:page-breaks" ], @@ -714,6 +726,7 @@ "recto": { "__compat": { "description": "`recto` and `verso`", + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-recto", "tags": [ "web-features:page-breaks" ], @@ -749,6 +762,7 @@ }, "recto": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-recto", "tags": [ "web-features:page-breaks" ], @@ -782,6 +796,7 @@ }, "right": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-right", "tags": [ "web-features:page-breaks" ], @@ -815,6 +830,7 @@ }, "verso": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-verso", "tags": [ "web-features:page-breaks" ], diff --git a/css/properties/break-inside.json b/css/properties/break-inside.json index d521d64d590496..baf0f0198e8feb 100644 --- a/css/properties/break-inside.json +++ b/css/properties/break-inside.json @@ -62,6 +62,7 @@ }, "auto": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-auto", "tags": [ "web-features:page-breaks" ], @@ -95,6 +96,7 @@ }, "avoid": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid", "tags": [ "web-features:page-breaks" ], @@ -128,6 +130,7 @@ }, "avoid-column": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid-column", "tags": [ "web-features:column-breaks" ], @@ -161,6 +164,7 @@ }, "avoid-page": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid-page", "tags": [ "web-features:page-breaks" ], @@ -253,6 +257,7 @@ }, "avoid-column": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid-column", "tags": [ "web-features:column-breaks" ], @@ -367,6 +372,7 @@ }, "avoid-page": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-break/#valdef-break-before-avoid-page", "tags": [ "web-features:page-breaks" ], diff --git a/lint/common/standard-track-exceptions.txt b/lint/common/standard-track-exceptions.txt index c0d4a1b40cd1de..e05d36883c4169 100644 --- a/lint/common/standard-track-exceptions.txt +++ b/lint/common/standard-track-exceptions.txt @@ -84,7 +84,6 @@ api.ReadableStreamDefaultReader.releaseLock.reject_pending_read_request api.Report.toJSON api.ReportBody.toJSON api.ReportingObserver.ReportingObserver.options_parameter -api.ReportingObserver.ReportingObserver.options_parameter api.ReportingObserver.ReportingObserver.options_parameter.types_property api.ReportingObserver.worker_support api.Request.Request.cross_origin_stripped @@ -387,136 +386,25 @@ api.setInterval.supports_parameters_for_callback api.setInterval.worker_support api.setTimeout.supports_parameters_for_callback api.setTimeout.worker_support -css.at-rules.font-face.OpenType_CBDT_CBLC -css.at-rules.font-face.OpenType_COLRv0 -css.at-rules.font-face.OpenType_COLRv1 -css.at-rules.font-face.OpenType_SBIX -css.at-rules.font-face.OpenType_SVG -css.at-rules.font-face.src.drop_invalid_item -css.at-rules.font-face.src.format_keyword -css.at-rules.font-face.src.tech_keyword -css.at-rules.font-feature-values.annotation -css.at-rules.font-feature-values.character-variant -css.at-rules.font-feature-values.historical-forms -css.at-rules.font-feature-values.ornaments -css.at-rules.font-feature-values.styleset -css.at-rules.font-feature-values.stylistic -css.at-rules.font-feature-values.swash -css.at-rules.keyframes.ignore_important_declarations css.at-rules.media.media_features css.at-rules.media.media_query_values css.at-rules.media.nested-queries -css.at-rules.media.or_syntax -css.at-rules.media.range_syntax -css.at-rules.supports.font-format -css.at-rules.supports.font-tech -css.at-rules.supports.selector -css.properties.accent-color.auto css.properties.align-content.flex_context.baseline css.properties.align-content.flex_context.first_baseline css.properties.align-content.flex_context.last_baseline -css.properties.align-content.flex_context.safe_unsafe css.properties.align-content.flex_context.space-evenly css.properties.align-content.flex_context.start_end -css.properties.align-content.flex_context.stretch -css.properties.align-items.flex_context.baseline -css.properties.align-items.flex_context.first_baseline -css.properties.align-items.flex_context.last_baseline -css.properties.align-items.flex_context.safe_unsafe -css.properties.align-items.flex_context.start_end -css.properties.align-items.grid_context.start_end -css.properties.align-self.flex_context.first_baseline -css.properties.align-self.flex_context.last_baseline -css.properties.align-self.flex_context.safe_unsafe -css.properties.align-self.flex_context.start_end -css.properties.alignment-baseline.alphabetic -css.properties.alignment-baseline.baseline -css.properties.alignment-baseline.central -css.properties.alignment-baseline.ideographic -css.properties.alignment-baseline.mathematical -css.properties.alignment-baseline.middle -css.properties.alignment-baseline.text-after-edge -css.properties.alignment-baseline.text-before-edge -css.properties.animation-timing-function.jump css.properties.animation.animation-timeline_included css.properties.appearance.base-select.listbox css.properties.appearance.base-select.multiple_dropdown css.properties.appearance.base-select.single_dropdown -css.properties.background-attachment.multiple_backgrounds -css.properties.background-image.multiple_backgrounds css.properties.background-image.svg_images -css.properties.background-position-x.side-relative_values -css.properties.background-position-y.side-relative_values -css.properties.background-position.multiple_backgrounds -css.properties.background-position.side-relative_values -css.properties.background-repeat.2-value -css.properties.background-repeat.multiple_backgrounds css.properties.background.SVG_image_as_background -css.properties.background.background-clip -css.properties.background.background-origin -css.properties.background.background-size -css.properties.background.multiple_backgrounds -css.properties.block-size.fit-content_function -css.properties.block-size.max-content -css.properties.block-size.min-content css.properties.border-bottom-left-radius.elliptical_corners -css.properties.border-bottom-left-radius.percentages css.properties.border-bottom-right-radius.elliptical_corners -css.properties.border-bottom-right-radius.percentages -css.properties.border-collapse.collapse -css.properties.border-collapse.separate -css.properties.border-image.fill -css.properties.border-image.gradient -css.properties.border-image.optional_border_image_slice -css.properties.border-radius.4_values_for_4_corners css.properties.border-radius.elliptical_borders -css.properties.border-radius.percentages css.properties.border-top-left-radius.elliptical_corners -css.properties.border-top-left-radius.percentages css.properties.border-top-right-radius.elliptical_corners -css.properties.border-top-right-radius.percentages -css.properties.box-shadow.inset -css.properties.box-shadow.multiple_shadows -css.properties.box-shadow.spread_radius -css.properties.break-after.always -css.properties.break-after.auto -css.properties.break-after.avoid -css.properties.break-after.avoid-column -css.properties.break-after.avoid-page -css.properties.break-after.column -css.properties.break-after.left -css.properties.break-after.multicol_context.avoid -css.properties.break-after.multicol_context.avoid-column -css.properties.break-after.multicol_context.column -css.properties.break-after.page -css.properties.break-after.paged_context.avoid-page -css.properties.break-after.paged_context.page -css.properties.break-after.paged_context.recto -css.properties.break-after.recto -css.properties.break-after.right -css.properties.break-after.verso -css.properties.break-before.always -css.properties.break-before.auto -css.properties.break-before.avoid -css.properties.break-before.avoid-column -css.properties.break-before.avoid-page -css.properties.break-before.column -css.properties.break-before.left -css.properties.break-before.multicol_context.avoid -css.properties.break-before.multicol_context.avoid-column -css.properties.break-before.multicol_context.column -css.properties.break-before.page -css.properties.break-before.paged_context.page -css.properties.break-before.paged_context.recto -css.properties.break-before.recto -css.properties.break-before.right -css.properties.break-before.verso -css.properties.break-inside.auto -css.properties.break-inside.avoid -css.properties.break-inside.avoid-column -css.properties.break-inside.avoid-page -css.properties.break-inside.multicol_context.avoid-column -css.properties.break-inside.paged_context.avoid-page css.properties.caption-side.bottom css.properties.caption-side.top css.properties.caption-side.writing-mode_relative_values From b034ed10f39ba25ebf1ee6515b0bfded9387c71c Mon Sep 17 00:00:00 2001 From: Claas Augner Date: Wed, 11 Mar 2026 20:42:09 +0100 Subject: [PATCH 18/18] Fix some CSS exceptions --- css/properties/caption-side.json | 2 ++ css/properties/clip-path.json | 6 +++-- css/properties/clip.json | 3 ++- css/properties/color-interpolation.json | 2 +- css/properties/color-scheme.json | 4 ++++ css/properties/column-width.json | 6 ++--- css/properties/contain-intrinsic-size.json | 4 ++++ css/properties/content.json | 6 ++++- css/properties/cursor.json | 2 ++ css/properties/display.json | 8 +++++++ lint/common/standard-track-exceptions.txt | 27 ---------------------- 11 files changed, 34 insertions(+), 36 deletions(-) diff --git a/css/properties/caption-side.json b/css/properties/caption-side.json index f72d370321d405..5fd52228173f72 100644 --- a/css/properties/caption-side.json +++ b/css/properties/caption-side.json @@ -47,6 +47,7 @@ }, "bottom": { "__compat": { + "spec_url": "https://drafts.csswg.org/css2/#valdef-caption-side-bottom", "tags": [ "web-features:table" ], @@ -178,6 +179,7 @@ }, "top": { "__compat": { + "spec_url": "https://drafts.csswg.org/css2/#valdef-caption-side-top", "tags": [ "web-features:table" ], diff --git a/css/properties/clip-path.json b/css/properties/clip-path.json index f5f71113f9ece0..351d6a5615d8e1 100644 --- a/css/properties/clip-path.json +++ b/css/properties/clip-path.json @@ -4,7 +4,7 @@ "clip-path": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/clip-path", - "spec_url": "https://drafts.csswg.org/css-masking/#the-clip-path", + "spec_url": "https://drafts.csswg.org/css-masking/#propdef-clip-path", "tags": [ "web-features:clip-path" ], @@ -203,6 +203,7 @@ "html_elements": { "__compat": { "description": "On HTML elements", + "spec_url": "https://drafts.csswg.org/css-masking/#propdef-clip-path", "tags": [ "web-features:clip-path" ], @@ -237,6 +238,7 @@ "is_animatable": { "__compat": { "description": "Is animatable", + "spec_url": "https://drafts.csswg.org/css-masking/#propdef-clip-path", "tags": [ "web-features:clip-path-animatable" ], @@ -379,7 +381,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/css/properties/clip.json b/css/properties/clip.json index 93ba2acaaf155b..abf1ad16c68c58 100644 --- a/css/properties/clip.json +++ b/css/properties/clip.json @@ -4,7 +4,7 @@ "clip": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/clip", - "spec_url": "https://drafts.csswg.org/css-masking/#clip-property", + "spec_url": "https://drafts.csswg.org/css-masking/#propdef-clip", "tags": [ "web-features:clip" ], @@ -46,6 +46,7 @@ }, "auto": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-masking/#propdef-clip", "tags": [ "web-features:clip" ], diff --git a/css/properties/color-interpolation.json b/css/properties/color-interpolation.json index 3fe322f2ce9824..880cf4643bb7a0 100644 --- a/css/properties/color-interpolation.json +++ b/css/properties/color-interpolation.json @@ -99,7 +99,7 @@ }, "status": { "experimental": false, - "standard_track": true, + "standard_track": false, "deprecated": false } } diff --git a/css/properties/color-scheme.json b/css/properties/color-scheme.json index bb2ab082a70923..32908ef4af2193 100644 --- a/css/properties/color-scheme.json +++ b/css/properties/color-scheme.json @@ -37,6 +37,7 @@ }, "dark": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-color-adjust/#valdef-color-scheme-dark", "tags": [ "web-features:color-scheme" ], @@ -70,6 +71,7 @@ }, "light": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-color-adjust/#valdef-color-scheme-light", "tags": [ "web-features:color-scheme" ], @@ -103,6 +105,7 @@ }, "normal": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-color-adjust/#valdef-color-scheme-normal", "tags": [ "web-features:color-scheme" ], @@ -137,6 +140,7 @@ "only": { "__compat": { "description": "`only` keyword", + "spec_url": "https://drafts.csswg.org/css-color-adjust/#valdef-color-scheme-only", "tags": [ "web-features:color-scheme" ], diff --git a/css/properties/column-width.json b/css/properties/column-width.json index 5b1bbc2d8f1b9a..3001982dbfa3ba 100644 --- a/css/properties/column-width.json +++ b/css/properties/column-width.json @@ -4,10 +4,7 @@ "column-width": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/column-width", - "spec_url": [ - "https://drafts.csswg.org/css-sizing/#column-sizing", - "https://drafts.csswg.org/css-multicol/#cw" - ], + "spec_url": "https://drafts.csswg.org/css-multicol-2/#propdef-column-width", "tags": [ "web-features:multi-column" ], @@ -104,6 +101,7 @@ }, "auto": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-multicol-2/#valdef-column-width-auto", "tags": [ "web-features:multi-column" ], diff --git a/css/properties/contain-intrinsic-size.json b/css/properties/contain-intrinsic-size.json index 44fe31f1219184..062ac7d2ae716d 100644 --- a/css/properties/contain-intrinsic-size.json +++ b/css/properties/contain-intrinsic-size.json @@ -38,6 +38,10 @@ "auto_none": { "__compat": { "description": "`auto none` value", + "spec_url": [ + "https://drafts.csswg.org/css-sizing-4/#valdef-contain-intrinsic-width-auto", + "https://drafts.csswg.org/css-sizing-4/#valdef-contain-intrinsic-width-none" + ], "tags": [ "web-features:contain-intrinsic-size" ], diff --git a/css/properties/content.json b/css/properties/content.json index b1b1bce48c0a4f..b58ac9227b6649 100644 --- a/css/properties/content.json +++ b/css/properties/content.json @@ -4,7 +4,7 @@ "content": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Reference/Properties/content", - "spec_url": "https://drafts.csswg.org/css-content/#content-property", + "spec_url": "https://drafts.csswg.org/css-content/#propdef-content", "tags": [ "web-features:content" ], @@ -47,6 +47,7 @@ "alt_text": { "__compat": { "description": "Alternative text after `/`", + "spec_url": "https://drafts.csswg.org/css-content/#propdef-content", "tags": [ "web-features:alt-text-generated-content" ], @@ -80,6 +81,7 @@ "counters": { "__compat": { "description": "`counter()` and `counters()` in alternative text", + "spec_url": "https://drafts.csswg.org/css-lists-3/#typedef-counter", "tags": [ "web-features:alt-text-generated-content" ], @@ -158,6 +160,7 @@ "element_replacement": { "__compat": { "description": "Element replacement", + "spec_url": "https://drafts.csswg.org/css-content/#typedef-content-content-replacement", "tags": [ "web-features:content" ], @@ -440,6 +443,7 @@ "none_applies_to_elements": { "__compat": { "description": "`content: none` for elements", + "spec_url": "https://drafts.csswg.org/css-content/#valdef-content-none", "tags": [ "web-features:content" ], diff --git a/css/properties/cursor.json b/css/properties/cursor.json index d2890730517e46..2f2bcf8a309298 100644 --- a/css/properties/cursor.json +++ b/css/properties/cursor.json @@ -561,6 +561,7 @@ "grab": { "__compat": { "description": "Grab cursors (`grab` and `grabbing`)", + "spec_url": "https://drafts.csswg.org/css-ui/#valdef-cursor-grab", "tags": [ "web-features:cursor" ], @@ -1521,6 +1522,7 @@ "url": { "__compat": { "description": "`url()`", + "spec_url": "https://drafts.csswg.org/css-ui/#typedef-cursor-cursor-image", "tags": [ "web-features:cursor" ], diff --git a/css/properties/display.json b/css/properties/display.json index 2f84cffb3e54a9..e3f96df1e95ae8 100644 --- a/css/properties/display.json +++ b/css/properties/display.json @@ -161,6 +161,7 @@ "focusable_elements": { "__compat": { "description": "Elements with `display: contents` are focusable", + "spec_url": "https://drafts.csswg.org/css-display/#valdef-display-contents", "tags": [ "web-features:display-contents" ], @@ -201,6 +202,7 @@ }, "flex": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-display/#valdef-display-flex", "tags": [ "web-features:flexbox" ], @@ -286,6 +288,7 @@ }, "flow-root": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-display/#valdef-display-flow-root", "tags": [ "web-features:display-flow-root" ], @@ -319,6 +322,7 @@ }, "grid": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-display/#valdef-display-grid", "tags": [ "web-features:grid" ], @@ -443,6 +447,7 @@ }, "inline-block": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-display/#valdef-display-inline-block", "tags": [ "web-features:display" ], @@ -491,6 +496,7 @@ }, "inline-flex": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-display/#valdef-display-inline-flex", "tags": [ "web-features:flexbox" ], @@ -548,6 +554,7 @@ }, "inline-grid": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-display/#valdef-display-inline-grid", "tags": [ "web-features:grid" ], @@ -629,6 +636,7 @@ }, "inline-table": { "__compat": { + "spec_url": "https://drafts.csswg.org/css-display/#valdef-display-inline-table", "tags": [ "web-features:display-table" ], diff --git a/lint/common/standard-track-exceptions.txt b/lint/common/standard-track-exceptions.txt index e05d36883c4169..128353f5af4d40 100644 --- a/lint/common/standard-track-exceptions.txt +++ b/lint/common/standard-track-exceptions.txt @@ -405,40 +405,13 @@ css.properties.border-bottom-right-radius.elliptical_corners css.properties.border-radius.elliptical_borders css.properties.border-top-left-radius.elliptical_corners css.properties.border-top-right-radius.elliptical_corners -css.properties.caption-side.bottom -css.properties.caption-side.top css.properties.caption-side.writing-mode_relative_values -css.properties.clip-path.html_elements -css.properties.clip-path.is_animatable -css.properties.clip-path.path css.properties.clip-path.svg_elements -css.properties.clip.auto -css.properties.color-interpolation.linearGradient -css.properties.color-scheme.dark -css.properties.color-scheme.light -css.properties.color-scheme.normal -css.properties.color-scheme.only css.properties.column-gap.multicol_context.calc_values css.properties.column-gap.multicol_context.percentage_values -css.properties.column-width.auto -css.properties.contain-intrinsic-size.auto_none -css.properties.content.alt_text -css.properties.content.alt_text.counters -css.properties.content.element_replacement -css.properties.content.none_applies_to_elements css.properties.counter-reset.reset_does_not_affect_siblings -css.properties.cursor.grab -css.properties.cursor.url css.properties.cursor.url_positioning_syntax css.properties.direction.vertical_slider_direction -css.properties.display.contents.focusable_elements -css.properties.display.flex -css.properties.display.flow-root -css.properties.display.grid -css.properties.display.inline-block -css.properties.display.inline-flex -css.properties.display.inline-grid -css.properties.display.inline-table css.properties.display.list-item.legend-support css.properties.display.math css.properties.display.multi-keyword_values