From 0eb825e8df1b42c356570b2d82f5089ce35e5d55 Mon Sep 17 00:00:00 2001 From: ddbeck <64103+ddbeck@users.noreply.github.com> Date: Thu, 10 Jul 2025 11:29:10 +0000 Subject: [PATCH] Update draft features --- features/draft/spec/ecmascript.yml | 42 +++++++++++++-- features/draft/spec/html.yml | 3 +- features/draft/spec/html.yml.dist | 6 +++ .../spec/mediacapture-surface-control.yml | 4 +- .../mediacapture-surface-control.yml.dist | 2 + features/draft/spec/screen-capture.yml | 24 +++++++++ features/draft/spec/screen-capture.yml.dist | 10 ++++ features/draft/spec/trusted-types.yml | 51 +++++++++++++++++++ features/draft/spec/trusted-types.yml.dist | 30 +++++++++++ 9 files changed, 167 insertions(+), 5 deletions(-) create mode 100644 features/draft/spec/screen-capture.yml create mode 100644 features/draft/spec/screen-capture.yml.dist create mode 100644 features/draft/spec/trusted-types.yml create mode 100644 features/draft/spec/trusted-types.yml.dist diff --git a/features/draft/spec/ecmascript.yml b/features/draft/spec/ecmascript.yml index 8522cacba9f..cea8b217f13 100644 --- a/features/draft/spec/ecmascript.yml +++ b/features/draft/spec/ecmascript.yml @@ -1,4 +1,4 @@ -draft_date: 2025-07-03 +draft_date: 2025-07-10 name: ECMAScript® 2026 Language Specification description: TODO spec: https://tc39.es/ecma262/multipage/ @@ -400,6 +400,12 @@ compat_features: # - javascript.statements.try_catch # - javascript.statements.var # - javascript.statements.while +# - Float16Array: +# - javascript.builtins.DataView.getFloat16 +# - javascript.builtins.DataView.setFloat16 +# - javascript.builtins.Float16Array +# - javascript.builtins.Float16Array.Float16Array +# - javascript.builtins.Math.f16round # - Date: # - javascript.builtins.Date # - javascript.builtins.Date.@@toPrimitive @@ -452,6 +458,8 @@ compat_features: # - Error cause: # - javascript.builtins.Error.Error.options_cause_parameter # - javascript.builtins.Error.cause +# - Error.isError(): +# - javascript.builtins.Error.isError # - Weak references: # - javascript.builtins.FinalizationRegistry # - javascript.builtins.FinalizationRegistry.FinalizationRegistry @@ -463,8 +471,6 @@ compat_features: # - javascript.builtins.WeakRef.WeakRef # - javascript.builtins.WeakRef.WeakRef.symbol_as_target # - javascript.builtins.WeakRef.deref -# - Float16Array: -# - javascript.builtins.Float16Array.Float16Array # - Functions: # - javascript.builtins.Function # - javascript.builtins.Function.@@hasInstance @@ -599,6 +605,20 @@ compat_features: # - javascript.builtins.Iterator.@@iterator # - javascript.statements.for_of # - javascript.statements.for_of.closing_iterators +# - Iterator methods: +# - javascript.builtins.Iterator.Iterator +# - javascript.builtins.Iterator.drop +# - javascript.builtins.Iterator.every +# - javascript.builtins.Iterator.filter +# - javascript.builtins.Iterator.find +# - javascript.builtins.Iterator.flatMap +# - javascript.builtins.Iterator.forEach +# - javascript.builtins.Iterator.from +# - javascript.builtins.Iterator.map +# - javascript.builtins.Iterator.reduce +# - javascript.builtins.Iterator.some +# - javascript.builtins.Iterator.take +# - javascript.builtins.Iterator.toArray # - JSON: # - javascript.builtins.JSON # - javascript.builtins.JSON.json_superset @@ -678,6 +698,8 @@ compat_features: # - javascript.builtins.Promise.allSettled # - Promise finally(): # - javascript.builtins.Promise.finally +# - Promise.try(): +# - javascript.builtins.Promise.try # - Promise.withResolvers(): # - javascript.builtins.Promise.withResolvers # - Proxy and Reflect: @@ -764,6 +786,8 @@ compat_features: # - javascript.regular_expressions.unicode_character_class_escape # - javascript.regular_expressions.wildcard # - javascript.regular_expressions.word_boundary_assertion +# - RegExp.escape(): +# - javascript.builtins.RegExp.escape # - Set (initial support): # - javascript.builtins.Set # - javascript.builtins.Set.@@iterator @@ -781,6 +805,14 @@ compat_features: # - javascript.builtins.Set.keys # - javascript.builtins.Set.size # - javascript.builtins.Set.values +# - Set methods: +# - javascript.builtins.Set.difference +# - javascript.builtins.Set.intersection +# - javascript.builtins.Set.isDisjointFrom +# - javascript.builtins.Set.isSubsetOf +# - javascript.builtins.Set.isSupersetOf +# - javascript.builtins.Set.symmetricDifference +# - javascript.builtins.Set.union # - String (initial support): # - javascript.builtins.String # - javascript.builtins.String.@@iterator @@ -894,6 +926,7 @@ compat_features: # - javascript.grammar.template_literals.template_literal_revision # - JSON import attributes: # - javascript.grammar.trailing_commas.trailing_commas_in_dynamic_import +# - javascript.statements.import.import_attributes.type_json # - Unicode point escapes: # - javascript.grammar.unicode_point_escapes # - Top-level await: @@ -915,6 +948,7 @@ compat_features: # - javascript.statements.export.namespace # - javascript.statements.import # - javascript.statements.import.arbitrary_module_namespace_identifier_names +# - javascript.statements.import.import_attributes # - javascript.statements.import.worklet_support # - JavaScript modules in workers: # - javascript.operators.import.worker_support @@ -933,6 +967,8 @@ compat_features: # - Let and const: # - javascript.statements.const # - javascript.statements.let +# - CSS import attributes: +# - javascript.statements.import.import_attributes.type_css # - JavaScript modules in service workers: # - javascript.statements.import.service_worker_support # - Optional catch binding: diff --git a/features/draft/spec/html.yml b/features/draft/spec/html.yml index 85f4ec0e73a..d22d5a0cd54 100644 --- a/features/draft/spec/html.yml +++ b/features/draft/spec/html.yml @@ -1,4 +1,4 @@ -draft_date: 2025-07-03 +draft_date: 2025-07-10 name: HTML description: TODO spec: https://html.spec.whatwg.org/multipage/ @@ -100,6 +100,7 @@ compat_features: - html.elements.iframe.sandbox.allow-pointer-lock - html.elements.img.usemap.case_sensitive - html.elements.input.autocomplete + - html.elements.input.type_color.accepts_css_colors - html.elements.input.type_range.labeled_values - html.elements.link.rel.icon - html.elements.script.type.importmap.integrity diff --git a/features/draft/spec/html.yml.dist b/features/draft/spec/html.yml.dist index 910da59f5c8..2345d2e123c 100644 --- a/features/draft/spec/html.yml.dist +++ b/features/draft/spec/html.yml.dist @@ -917,6 +917,12 @@ compat_features: # safari_ios: "9" - api.HTMLMediaElement.getStartDate + # baseline: false + # support: + # safari: "18.4" + # safari_ios: "18.4" + - html.elements.input.type_color.accepts_css_colors + # baseline: false # support: # firefox: "67" diff --git a/features/draft/spec/mediacapture-surface-control.yml b/features/draft/spec/mediacapture-surface-control.yml index 238e43dd778..5d4c0334ac5 100644 --- a/features/draft/spec/mediacapture-surface-control.yml +++ b/features/draft/spec/mediacapture-surface-control.yml @@ -1,4 +1,4 @@ -draft_date: 2025-04-09 +draft_date: 2025-07-10 name: Captured Surface Control description: TODO spec: https://w3c.github.io/mediacapture-surface-control/ @@ -10,3 +10,5 @@ compat_features: - api.CaptureController.resetZoomLevel - api.CaptureController.zoomLevel - api.CaptureController.zoomlevelchange_event + - api.Permissions.permission_captured-surface-control + - http.headers.Permissions-Policy.captured-surface-control diff --git a/features/draft/spec/mediacapture-surface-control.yml.dist b/features/draft/spec/mediacapture-surface-control.yml.dist index 2b4d060fb78..18c21a3d578 100644 --- a/features/draft/spec/mediacapture-surface-control.yml.dist +++ b/features/draft/spec/mediacapture-surface-control.yml.dist @@ -14,3 +14,5 @@ compat_features: - api.CaptureController.resetZoomLevel - api.CaptureController.zoomLevel - api.CaptureController.zoomlevelchange_event + - api.Permissions.permission_captured-surface-control + - http.headers.Permissions-Policy.captured-surface-control diff --git a/features/draft/spec/screen-capture.yml b/features/draft/spec/screen-capture.yml new file mode 100644 index 00000000000..15dd4267ba8 --- /dev/null +++ b/features/draft/spec/screen-capture.yml @@ -0,0 +1,24 @@ +draft_date: 2025-07-10 +name: Screen Capture +description: TODO +spec: https://w3c.github.io/mediacapture-screen-share/ +compat_features: + - api.MediaStreamTrack.getSettings.return_object_property_screenPixelRatio + +# The following features in the spec are already part of web-features: +# - Screen capture: +# - api.CaptureController +# - api.CaptureController.CaptureController +# - api.CaptureController.setFocusBehavior +# - api.MediaDevices.getDisplayMedia +# - api.MediaDevices.getDisplayMedia.audio_capture_support +# - api.MediaDevices.getDisplayMedia.controller_option +# - api.MediaDevices.getDisplayMedia.monitorTypeSurfaces_option +# - api.MediaDevices.getDisplayMedia.selfBrowserSurface_option +# - api.MediaDevices.getDisplayMedia.surfaceSwitching_option +# - api.MediaDevices.getDisplayMedia.systemAudio_option +# - api.MediaStreamTrack.applyConstraints.displaySurface_constraint +# - api.MediaStreamTrack.applyConstraints.logicalSurface_constraint +# - api.MediaStreamTrack.applyConstraints.suppressLocalAudioPlayback_constraint +# - html.elements.iframe.allow.display-capture +# - http.headers.Permissions-Policy.display-capture diff --git a/features/draft/spec/screen-capture.yml.dist b/features/draft/spec/screen-capture.yml.dist new file mode 100644 index 00000000000..720ba7693b7 --- /dev/null +++ b/features/draft/spec/screen-capture.yml.dist @@ -0,0 +1,10 @@ +# Generated from: screen-capture.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "136" + edge: "136" +compat_features: + - api.MediaStreamTrack.getSettings.return_object_property_screenPixelRatio diff --git a/features/draft/spec/trusted-types.yml b/features/draft/spec/trusted-types.yml new file mode 100644 index 00000000000..4924ee86ae7 --- /dev/null +++ b/features/draft/spec/trusted-types.yml @@ -0,0 +1,51 @@ +draft_date: 2025-07-10 +name: Trusted Types +description: TODO +spec: https://w3c.github.io/trusted-types/dist/spec/ +compat_features: + - api.DOMParser.parseFromString.enforces_trusted_types + - api.Document.parseHTMLUnsafe_static.enforces_trusted_types + - api.Element.insertAdjacentHTML.enforces_trusted_types + - api.Element.outerHTML.enforces_trusted_types + - api.Element.setHTMLUnsafe.enforces_trusted_types + - api.HTMLIFrameElement.srcdoc.enforces_trusted_types + - api.Range.createContextualFragment.enforces_trusted_types + - api.ShadowRoot.setHTMLUnsafe.enforces_trusted_types + +# The following features in the spec are already part of web-features: +# - Trusted types: +# - api.Element.innerHTML.enforces_trusted_types +# - api.HTMLElement.innerText.scripts_accept_TrustedScript +# - api.HTMLScriptElement.src.accepts_TrustedScriptURL +# - api.HTMLScriptElement.text.accepts_TrustedScript +# - api.Node.textContent.scripts_accept_TrustedScript +# - api.ShadowRoot.innerHTML.enforces_trusted_types +# - api.TrustedHTML +# - api.TrustedHTML.toJSON +# - api.TrustedHTML.toString +# - api.TrustedScript +# - api.TrustedScript.toJSON +# - api.TrustedScript.toString +# - api.TrustedScriptURL +# - api.TrustedScriptURL.toJSON +# - api.TrustedScriptURL.toString +# - api.TrustedTypePolicy +# - api.TrustedTypePolicy.createHTML +# - api.TrustedTypePolicy.createScript +# - api.TrustedTypePolicy.createScriptURL +# - api.TrustedTypePolicy.name +# - api.TrustedTypePolicyFactory +# - api.TrustedTypePolicyFactory.createPolicy +# - api.TrustedTypePolicyFactory.defaultPolicy +# - api.TrustedTypePolicyFactory.emptyHTML +# - api.TrustedTypePolicyFactory.emptyScript +# - api.TrustedTypePolicyFactory.getAttributeType +# - api.TrustedTypePolicyFactory.getPropertyType +# - api.TrustedTypePolicyFactory.isHTML +# - api.TrustedTypePolicyFactory.isScript +# - api.TrustedTypePolicyFactory.isScriptURL +# - api.setInterval.code_param_accepts_trustedScript +# - api.setTimeout.code_param_accepts_trustedScript +# - api.trustedTypes +# - http.headers.Content-Security-Policy.require-trusted-types-for +# - http.headers.Content-Security-Policy.trusted-types diff --git a/features/draft/spec/trusted-types.yml.dist b/features/draft/spec/trusted-types.yml.dist new file mode 100644 index 00000000000..d7f295d8989 --- /dev/null +++ b/features/draft/spec/trusted-types.yml.dist @@ -0,0 +1,30 @@ +# Generated from: trusted-types.yml +# Do not edit this file by hand. Edit the source file instead! + +status: + baseline: false + support: + chrome: "124" + chrome_android: "124" + edge: "124" +compat_features: + # baseline: false + # support: + # chrome: "83" + # chrome_android: "83" + # edge: "83" + - api.DOMParser.parseFromString.enforces_trusted_types + - api.Element.insertAdjacentHTML.enforces_trusted_types + - api.Element.outerHTML.enforces_trusted_types + - api.HTMLIFrameElement.srcdoc.enforces_trusted_types + - api.Range.createContextualFragment.enforces_trusted_types + + # ⬇️ Same status as overall feature ⬇️ + # baseline: false + # support: + # chrome: "124" + # chrome_android: "124" + # edge: "124" + - api.Document.parseHTMLUnsafe_static.enforces_trusted_types + - api.Element.setHTMLUnsafe.enforces_trusted_types + - api.ShadowRoot.setHTMLUnsafe.enforces_trusted_types