)]}'
{"features_by_type": {"Enabled by default": [{"id": 5080055102439424, "name": "Add options bag to WebSocket constructor", "summary": "Add support for passing an option bag (WebSocketInit dictionary) as the second argument to the WebSocket constructor. The option bag will initially support a \"protocols\" option, allowing developers to specify subprotocols (mirroring the existing protocols argument), and also serves as an extension point for future options.\n\nBefore, this would be written `const socket = new WebSocket(\"wss://example.com:8080\", \"soap\")`. After, this could also be written `const socket = new WebSocket(\"wss://example.com:8080\", { protocols: \"soap\" })`.\n\nSee https://github.com/whatwg/websockets/issues/42 and spec PR https://github.com/whatwg/websockets/pull/76 for this change.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Network>WebSockets"], "resources": {"samples": [], "docs": []}, "creator": "cthomp@chromium.org", "editors": ["hchao@chromium.org", "jdeblasio@chromium.org"], "owners": ["cthomp@chromium.org"], "created": {"by": "cthomp@chromium.org", "when": "2026-08-04 21:34:59.860511"}, "updated": {"by": "cthomp@chromium.org", "when": "2026-08-20 13:18:51.909103"}, "accurate_as_of": "2026-08-04 21:34:59.860313", "standards": {"spec": "https://github.com/whatwg/websockets/pull/76", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://crbug.com/542670554", "blink_components": ["Blink>Network>WebSockets"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["cthomp@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1444", "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/708", "notes": null, "text": "Support", "val": 3}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6572599730634752], "finch_urls": []}, {"id": 5143933628841984, "name": "Ask-before-HTTP warning on by default", "summary": "Chrome now prompts users by default when they access an insecure (HTTP) connection. IT admins can control this default behavior via [HttpsOnlyMode](https://chromeenterprise.google/policies/#HttpsOnlyMode) policy. \n", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 2, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 155, "blink_components": ["Blink"], "resources": {"samples": [], "docs": []}, "creator": "erictrouton@google.com", "editors": [], "owners": ["erictrouton@google.com", "jdeblasio@google.com"], "created": {"by": "erictrouton@google.com", "when": "2026-09-10 15:38:27.773146"}, "updated": {"by": "siobhankeating@google.com", "when": "2026-09-22 14:40:27.009635"}, "accurate_as_of": "2026-09-10 15:38:27.772972", "standards": {"spec": null, "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": null, "blink_components": ["Blink"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["erictrouton@google.com", "jdeblasio@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6560686976139264], "finch_urls": []}, {"id": 5109685301673984, "name": "CSS scroll-marker-group modes", "summary": "The scroll-marker-group property is enhaced to support modes:\n1) 'links' - The generated ::scroll-marker-group operates in \"links\" mode, functioning like a navigation list. This is the default mode if omitted.\n2) 'tabs' - The generated ::scroll-marker-group operates in \"tabs\" mode, functioning like a tablist.\n\nEach mode changes focus order and accessibility behavior of ::scroll-marker-group and ::scroll-markers, following WAI-ARIA patterns.\n\nMore details:\n# The links mode (default)\nThis mode is designed to mimic standard Navigation Landmarks combined with fragment anchors.\n\n## Semantic roles\nThe ::scroll-marker-group takes on the navigation role, and the ::scroll-marker elements take on the link role. This perfectly maps to the <nav> + <a> structural pattern.\n\n## Keyboard navigation\nAll ::scroll-marker elements are sequential tab stops, natively acting like a list of standard anchor links.\n\n## Unaffected targets\nThe originating elements do not get forced into any role, leaving the document's natural semantic structure intact.\n\n## Activation focus management\nWhen a link marker is activated, it sets the sequential focus navigation starting point to the target element (the originating element), and focus is lost from the marker. This mimics the native behavior of clicking a standard internal <a href=\"#target\"> link.\n\n# The tabs mode\nThis mode is designed to natively replicate the Tabs Pattern and serves as the interactive foundation for the Tabbed Carousel Pattern.\n\n## Semantic roles\nThe ::scroll-marker-group is implicitly assigned the tablist role, ::scroll-marker elements act as tab roles, and their originating elements get the tabpanel role. This mirrors the required WAI-ARIA Tabs structure.\n\n## Keyboard navigation (roving tabindex)\nIt follows the complex keyboard interactions outlined in standard practices. Only the active ::scroll-marker acts as a tab stop. Users use arrow keys to navigate the focusgroup (switching between markers), preventing the \"tab trap\" of having to tab through 20 carousel dots.\n\n## Focus scope management\nThe marker acts as a focus navigation scope owner. Pressing Tab from the active marker moves focus directly into the active tabpanel content, matching the specification for tabbed interfaces.\n\n## Tree pruning\nContent from inactive tabs is explicitly hidden from the accessibility tree. This mimics the expected behavior of aria-hidden=\"true\" or inert on inactive tab panels, saving developers from manually scripting state changes.\n\n## Activation focus\nWhen a marker is activated, focus is retained on the marker, which is exactly how standard tabs operate.\n\n", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>CSS"], "resources": {"samples": ["https://codepen.io/Daniil-Sakhapov/pen/ogzQQYZ", "https://codepen.io/Daniil-Sakhapov/pen/ZYpmmJE"], "docs": []}, "creator": "sakhapov@chromium.org", "editors": [], "owners": ["sakhapov@chromium.org"], "created": {"by": "sakhapov@chromium.org", "when": "2026-06-26 17:27:34.183405"}, "updated": {"by": "sakhapov@chromium.org", "when": "2026-08-31 09:05:26.436577"}, "accurate_as_of": "2026-08-31 09:05:26.436577", "standards": {"spec": "https://drafts.csswg.org/css-overflow-5/#scroll-marker-modes", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/425931511", "blink_components": ["Blink>CSS"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["sakhapov@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1161", "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/447", "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": "https://github.com/w3c/css-aam/issues/18"}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5972736917766144], "finch_urls": []}, {"id": 5114591051907072, "name": "Expose CSSStyleValue hierarchy to Worker contexts", "summary": "The CSS Typed OM spec exposes the CSSStyleValue hierarchy to worker global scopes ([Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]), but Blink only exposed CSSStyleValue, CSSKeywordValue, CSSNumericValue, CSSUnitValue and CSSUnparsedValue to Window and the worklets. As a result these constructors were undefined in Workers, unlike in Firefox and Safari.", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>CSS"], "resources": {"samples": [], "docs": []}, "creator": "jfernandez@chromium.org", "editors": [], "owners": ["jfernandez@igalia.com"], "created": {"by": "jfernandez@chromium.org", "when": "2026-07-15 13:24:57.428279"}, "updated": {"by": "jfernandez@igalia.com", "when": "2026-09-23 15:40:21.674183"}, "accurate_as_of": "2026-09-23 15:40:21.674183", "standards": {"spec": "https://www.w3.org/TR/css-typed-om-1/#stylevalue-subclasses", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/534781956", "blink_components": ["Blink>CSS"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["jfernandez@igalia.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": null, "notes": null, "text": "Shipped/Shipping", "val": 1}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6016126699044864], "finch_urls": []}, {"id": 5158507786665984, "name": "Fetch API: Forward reason from AbortController to fetch Response", "summary": "Surfaces the abort reason, if one is provided, to the methods of the Response object and its ReadableStream, rather than just the fetch promise. This fills a gap in our compliance with the standard, surfacing the developer-supplied abort reason everywhere it is intended to.", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Network>FetchAPI"], "resources": {"samples": [], "docs": []}, "creator": "deadbeef@google.com", "editors": [], "owners": ["deadbeef@google.com"], "created": {"by": "deadbeef@google.com", "when": "2026-08-05 19:56:59.746364"}, "updated": {"by": "deadbeef@google.com", "when": "2026-08-25 17:08:58.522271"}, "accurate_as_of": "2026-08-05 19:56:59.746215", "standards": {"spec": "https://fetch.spec.whatwg.org", "maturity": {"text": "Specification being incubated in a Community Group", "short_text": "Incubation", "val": 3}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/502133195", "blink_components": ["Blink>Network>FetchAPI"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["deadbeef@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/711", "notes": null, "text": "Closed Without a Position", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5969603770580992], "finch_urls": []}, {"id": 5145402365050880, "name": "FontFace width attribute and font-width descriptor", "summary": "Exposes the width attribute on FontFace and the @font-face font-width descriptor as aliases for stretch and font-stretch. Aligns Chromium with the updated CSS Font Loading and CSS Fonts 4 specifications. Developers can now inspect or initialize font face widths using FontFace.width and CSS font-width interchangeably with stretch and font-stretch.", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>CSS"], "resources": {"samples": [], "docs": []}, "creator": "michael.reeves077@gmail.com", "editors": ["drott@chromium.org", "kojii@chromium.org"], "owners": ["michael.reeves077@gmail.com"], "created": {"by": "michael.reeves077@gmail.com", "when": "2026-08-13 03:06:39.504948"}, "updated": {"by": "michael.reeves077@gmail.com", "when": "2026-09-15 12:45:15.118025"}, "accurate_as_of": "2026-09-15 12:45:15.118025", "standards": {"spec": "https://drafts.csswg.org/css-fonts-4/#font-width-prop", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/543938492", "blink_components": ["Blink>CSS"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["michael.reeves077@gmail.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://wpt.fyi/results/css/css-font-loading/font-face-width-descriptor-aliasing.html", "notes": "Firefox passes the test.", "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5931648406388736], "finch_urls": []}, {"id": 5205192866922496, "name": "Iterator Includes", "summary": "A TC39 proposal to allow the developer to ask whether an iterator yields a given value. Analogue to `Array.prototype.includes`.", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>JavaScript>Language"], "resources": {"samples": [], "docs": []}, "creator": "olivf@google.com", "editors": [], "owners": ["nikolaos@chromium.org", "olivf@google.com"], "created": {"by": "olivf@google.com", "when": "2026-08-10 12:11:34.497543"}, "updated": {"by": "nikolaos@chromium.org", "when": "2026-09-07 12:30:33.565576"}, "accurate_as_of": "2026-09-07 12:30:33.565576", "standards": {"spec": "https://tc39.es/proposal-iterator-includes", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/504886973", "blink_components": ["Blink>JavaScript>Language"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["nikolaos@chromium.org", "olivf@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://bugzilla.mozilla.org/show_bug.cgi?id=2025773", "notes": null, "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": "https://bugs.webkit.org/show_bug.cgi?id=310698", "notes": null, "text": "In development", "val": 2}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5988685907623936], "finch_urls": []}, {"id": 6209615938322432, "name": "Light dismiss improvements for popovers and dialogs", "summary": "Improves and simplifies the light dismiss behavior for popovers and dialogs to fix a few bugs. \"Light dismiss\" is the behavior where clicking outside of a popover or dialog closes it. The fixed bugs include making scrolling gestures on touch screens no longer trigger light dismiss and making right clicks no longer trigger light dismiss.\n\nThe underlying mechanism of this change is that the browser will use click events to trigger light dismiss instead of a combination of pointerdown and pointerup events.", "feature_type_int": 2, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>HTML>Popover"], "resources": {"samples": [], "docs": []}, "creator": "jarhar@chromium.org", "editors": [], "owners": ["jarhar@chromium.org"], "created": {"by": "jarhar@chromium.org", "when": "2026-08-10 21:42:58.665556"}, "updated": {"by": "jarhar@chromium.org", "when": "2026-08-28 14:18:33.741761"}, "accurate_as_of": "2026-08-10 21:42:58.665401", "standards": {"spec": "https://github.com/whatwg/html/pull/11536", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/408010435", "blink_components": ["Blink>HTML>Popover"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["jarhar@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [4862490044399616], "finch_urls": []}, {"id": 6225598451154944, "name": "Local Network Access restrictions for Background Fetch", "summary": "Background Fetch requests now require that the service worker's origin has the necessary Local Network Access (LNA) permission to send requests to local or loopback servers.\n\nThis aligns Chromium's implementation with the intent of the Background Fetch spec, which states that such requests go through the Fetch spec and have the same security policies applied to them including, in this case, LNA checks. This prevents sites from bypassing LNA checks by using [Background Fetch spec](https://wicg.github.io/background-fetch/) instead of regular [Fetch](https://fetch.spec.whatwg.org/).\n\nFor enterprises, you can use existing LNA enterprise policies in the same way you previously would have for regular Fetch API requests from service workers:\n- [LocalNetworkAccessRestrictionsTemporaryOptOut](https://chromeenterprise.google/policies/#LocalNetworkAccessRestrictionsTemporaryOptOut)\n- [LocalNetworkAccessAllowedForUrls](https://chromeenterprise.google/policies/#LocalNetworkAccessAllowedForUrls)\n- [LoopbackNetworkAllowedForUrls](https://chromeenterprise.google/policies/#LoopbackNetworkAllowedForUrls)\n- [LocalNetworkAccessPermissionsPolicyDefaultEnabled](https://chromeenterprise.google/policies/#LocalNetworkAccessPermissionsPolicyDefaultEnabled)\n- [LocalNetworkAccessIpAddressSpaceOverrides](https://chromeenterprise.google/policies/#LocalNetworkAccessIpAddressSpaceOverrides)).\n", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 2, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 152, "blink_components": ["Blink>BackgroundFetch"], "resources": {"samples": [], "docs": []}, "creator": "cthomp@chromium.org", "editors": ["hchao@chromium.org", "jdeblasio@chromium.org"], "owners": ["cthomp@chromium.org"], "created": {"by": "cthomp@chromium.org", "when": "2026-08-06 17:23:10.138617"}, "updated": {"by": "siobhankeating@google.com", "when": "2026-09-09 19:27:04.288397"}, "accurate_as_of": "2026-08-06 17:23:10.138254", "standards": {"spec": "https://wicg.github.io/background-fetch", "maturity": {"text": "Specification being incubated in a Community Group", "short_text": "Incubation", "val": 3}}, "browsers": {"chrome": {"bug": "https://crbug.com/455486148", "blink_components": ["Blink>BackgroundFetch"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["cthomp@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1260", "notes": "Firefox is shipping LNA but does not support the BG Fetch API", "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/520", "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [4744820020084736], "finch_urls": []}, {"id": 5108373464547328, "name": "Responsively-sized <iframe>", "summary": "Allow sites to opt into iframes having responsive sizing (sizing the <iframe> element in the parent document to the iframe document's layout overflow sizing, so that scrolling in the child document is avoided).", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Layout"], "resources": {"samples": [], "docs": []}, "creator": "chrishtr@chromium.org", "editors": [], "owners": ["chrishtr@chromium.org", "kojii@chromium.org", "ikilpatrick@chromium.org"], "created": {"by": "chrishtr@chromium.org", "when": "2025-05-18 00:30:50.315040"}, "updated": {"by": "kojii@chromium.org", "when": "2026-08-31 06:43:50.510097"}, "accurate_as_of": "2026-08-31 06:43:50.510097", "standards": {"spec": "https://drafts.csswg.org/css-sizing-4/#responsive-iframes", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/418397278", "blink_components": ["Blink>Layout"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["chrishtr@chromium.org", "kojii@chromium.org", "ikilpatrick@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1394", "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/653", "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Strongly positive", "val": 1, "url": "https://github.com/w3c/csswg-drafts/issues/1771", "notes": "Plenty of developer demand is expressed in the feature request standards issues:\n\nhttps://github.com/whatwg/html/issues/555\nhttps://github.com/w3c/csswg-drafts/issues/1771\nhttps://github.com/w3c/csswg-drafts/blob/main/css-sizing-4/responsive-iframes-explainer.md#use-cases\nhttps://bsky.app/profile/tunetheweb.com/post/3mlslcsoobs2w"}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5123585299185664], "finch_urls": []}, {"id": 5126146013396992, "name": "Secure Payment Confirmation: Locale Validation", "summary": "Updates Secure Payment Confirmation's `locale` data field to return a Not Supported DOMException if none of the language tags provided in the field match the language used by the Secure Payment Confirmation's dialog. If the field is not set or empty, this validation is skipped.\n\nThis helps web developers with matching the language of the data that they are supplying to Secure Payment Confirmation with the dialog.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Payments"], "resources": {"samples": ["https://rsolomakhin.github.io/pr/spc-locales"], "docs": ["https://github.com/w3c/secure-payment-confirmation/issues/343", "https://github.com/w3c/i18n-request/issues/324", "https://github.com/w3c/secure-payment-confirmation/pull/345"]}, "creator": "darwinyang@chromium.org", "editors": [], "owners": ["darwinyang@chromium.org"], "created": {"by": "darwinyang@chromium.org", "when": "2026-08-11 21:04:29.949916"}, "updated": {"by": "darwinyang@chromium.org", "when": "2026-09-16 18:07:48.688348"}, "accurate_as_of": "2026-09-15 17:58:10.254225", "standards": {"spec": "https://w3c.github.io/secure-payment-confirmation/#dom-securepaymentconfirmationrequest-locale", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://crbug.com/535278878", "blink_components": ["Blink>Payments"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["darwinyang@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/570", "notes": "Firefox haven't implemented SPC yet so the update to the locale field is not relevant.", "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/30", "notes": "Safari haven't implemented SPC yet so the update to the locale field is not relevant.", "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": "https://www.w3.org/2026/08/13-wpwg-minutes.html\nhttps://www.w3.org/2026/09/10-wpwg-minutes.html"}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6144882990252032], "finch_urls": ["https://uma.googleplex.com/p/chrome/finch/study/SPCLocaleValidation"]}, {"id": 4779920606756864, "name": "Support targetAddressSpace option for WebSockets", "summary": "Add support for passing a targetAddressSpace option in the WebSocket constructor. This allows developers to specify that a WebSocket connection to a public hostname should be treated as going to a \"local\" or \"loopback\" destination, matching the existing support on the Fetch API. The main use case is to offer an escape hatch to bypass mixed content restrictions for connecting to local servers that cannot yet support HTTPS (as Local Network Access permissions require a secure context).\n\nExample: A public site that connects to a local server can use a hostname to avoid needing manual configuration of the exact private IP address in use:\n\n`const ws = new WebSocket(\"ws://local-server.example\", { targetAddressSpace: \"local\"}`\n\nThis will flag the WebSocket connection as going to a local address, bypassing mixed content blocking when run in a secure context. The user must grant the site the local network permission for the WebSocket connection to succeed, and the hostname must resolve to a local IP address (otherwise it will be blocked).\n\nThis builds on https://chromestatus.com/feature/5080055102439424 which adds an options bag to the WebSocket constructor.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Network>WebSockets"], "resources": {"samples": [], "docs": []}, "creator": "cthomp@chromium.org", "editors": ["hchao@chromium.org", "jdeblasio@chromium.org"], "owners": ["cthomp@chromium.org"], "created": {"by": "cthomp@chromium.org", "when": "2026-08-05 17:54:42.467802"}, "updated": {"by": "cthomp@chromium.org", "when": "2026-09-01 08:03:45.500651"}, "accurate_as_of": "2026-08-05 17:54:42.467670", "standards": {"spec": "https://github.com/WICG/local-network-access/pull/125", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://crbug.com/517413738", "blink_components": ["Blink>Network>WebSockets"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["cthomp@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5072980485996544], "finch_urls": []}, {"id": 5075144470036480, "name": "Window Shape API", "summary": "Window Shape API enables allowlisted [Isolated Web Apps](https://chromeos.dev/en/web/isolated-web-apps) on ChromeOS to have a customized window shape. By enabling non-rectangular and non-contiguous window layouts, developers can implement unique user experiences (such as widgets, floating panels, and overlays) that match the look-and-feel of native applications. The `window.setShape` API requires the window to be in _unframed_ display mode and requires the window-management permission to be granted.\n\nAdministrators can manage this feature with existing policies for window management:  \n- [DefaultWindowManagementSetting](https://chromeenterprise.google/policies/#DefaultWindowManagementSetting) configures the default state for the window management for all apps. The policies below can override this default.  \n- [WindowManagementAllowedForUrls](https://chromeenterprise.google/policies/#WindowManagementAllowedForUrls) allows IWAs with specified origins to enter unframed mode and set custom window shapes without any user interaction.  \n- [WindowManagementBlockedForUrls](https://chromeenterprise.google/policies/#WindowManagementBlockedForUrls) blocks the permission for specified origins, forcing Chrome to remove any custom window shapes and fallback to other available display modes.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 2, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 151, "blink_components": ["UI>Browser>WebAppInstalls>Isolated"], "resources": {"samples": ["https://github.com/paulinagacek/Set-Shape-demo"], "docs": ["https://docs.google.com/document/d/1zPr1QgS-bXsJE7nrO44zx9RBopR4gHuvHxfcqxsX5Ag/edit?tab=t.0#heading=h.pcgro84kqnh3"]}, "creator": "edmanp@google.com", "editors": [], "owners": ["edmanp@google.com", "swethasivaram@google.com"], "created": {"by": "edmanp@google.com", "when": "2026-07-02 14:38:30.143283"}, "updated": {"by": "edmanp@google.com", "when": "2026-09-12 07:58:11.632187"}, "accurate_as_of": "2026-09-12 07:58:11.632187", "standards": {"spec": "https://explainers-by-googlers.github.io/chromeos-iwa-apis", "maturity": {"text": "Unknown standards status - check spec link for status", "short_text": "Unknown status", "val": 1}}, "browsers": {"chrome": {"bug": null, "blink_components": ["UI>Browser>WebAppInstalls>Isolated"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["edmanp@google.com", "swethasivaram@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6488865973075968], "finch_urls": []}], "Deprecated": [], "Removed": [], "Stepped rollout": [{"id": 5194817700364288, "name": "Optional browser optimization for Service Workers", "summary": "Chrome 154 includes an optional browser optimization mode that changes existing service worker behavior. In ServiceWorkerAutoPreload mode, the browser issues the network request in parallel with the service worker bootstrap. \n\nIf the `fetch` handler returns the response with `respondWith()`, the browser consumes the network request result inside the `fetch` handler. If the `fetch` handler result is fallback, it passes the network response directly to the browser. \n\nAdmins can control this feature using an enterprise policy called [ServiceWorkerAutoPreloadEnabled](https://chromeenterprise.google/policies/#ServiceWorkerAutoPreloadEnabled).", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 2, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 139, "blink_components": ["Blink>ServiceWorker"], "resources": {"samples": [], "docs": []}, "creator": "sisidovski@chromium.org", "editors": [], "owners": ["sisidovski@chromium.org"], "created": {"by": "sisidovski@chromium.org", "when": "2024-05-28 02:57:08.844314"}, "updated": {"by": "siobhankeating@google.com", "when": "2026-09-09 19:28:43.096809"}, "accurate_as_of": "2026-09-01 02:35:18.069184", "standards": {"spec": "https://github.com/w3c/ServiceWorker/pull/1756", "maturity": {"text": "Specification being incubated in a Community Group", "short_text": "Incubation", "val": 3}}, "browsers": {"chrome": {"bug": "https://crbug.com/40278676", "blink_components": ["Blink>ServiceWorker"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["sisidovski@chromium.org"], "origintrial": false, "prefixed": null, "flag": true, "status": {"text": "In developer trial (Behind a flag)", "val": 4}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1036", "notes": null, "text": "Positive", "val": 3}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/359", "notes": "Although we are still waiting for WebKit's official standard position, we believe they are supportive. A reply on the proposal mentioned that it 'seems inline with what WebKit is implementing,' and a WebKit reviewer has already approved our spec change PR.\n\nhttps://github.com/WICG/proposals/issues/155#issuecomment-2873318636\nhttps://github.com/w3c/ServiceWorker/pull/1756", "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": true, "milestone": null}, {"id": 5075144470036480, "name": "Window Shape API", "summary": "Window Shape API enables allowlisted [Isolated Web Apps](https://chromeos.dev/en/web/isolated-web-apps) on ChromeOS to have a customized window shape. By enabling non-rectangular and non-contiguous window layouts, developers can implement unique user experiences (such as widgets, floating panels, and overlays) that match the look-and-feel of native applications. The `window.setShape` API requires the window to be in _unframed_ display mode and requires the window-management permission to be granted.\n\nAdministrators can manage this feature with existing policies for window management:  \n- [DefaultWindowManagementSetting](https://chromeenterprise.google/policies/#DefaultWindowManagementSetting) configures the default state for the window management for all apps. The policies below can override this default.  \n- [WindowManagementAllowedForUrls](https://chromeenterprise.google/policies/#WindowManagementAllowedForUrls) allows IWAs with specified origins to enter unframed mode and set custom window shapes without any user interaction.  \n- [WindowManagementBlockedForUrls](https://chromeenterprise.google/policies/#WindowManagementBlockedForUrls) blocks the permission for specified origins, forcing Chrome to remove any custom window shapes and fallback to other available display modes.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 2, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 151, "blink_components": ["UI>Browser>WebAppInstalls>Isolated"], "resources": {"samples": ["https://github.com/paulinagacek/Set-Shape-demo"], "docs": ["https://docs.google.com/document/d/1zPr1QgS-bXsJE7nrO44zx9RBopR4gHuvHxfcqxsX5Ag/edit?tab=t.0#heading=h.pcgro84kqnh3"]}, "creator": "edmanp@google.com", "editors": [], "owners": ["edmanp@google.com", "swethasivaram@google.com"], "created": {"by": "edmanp@google.com", "when": "2026-07-02 14:38:30.143283"}, "updated": {"by": "edmanp@google.com", "when": "2026-09-12 07:58:11.632187"}, "accurate_as_of": "2026-09-12 07:58:11.632187", "standards": {"spec": "https://explainers-by-googlers.github.io/chromeos-iwa-apis", "maturity": {"text": "Unknown standards status - check spec link for status", "short_text": "Unknown status", "val": 1}}, "browsers": {"chrome": {"bug": null, "blink_components": ["UI>Browser>WebAppInstalls>Isolated"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["edmanp@google.com", "swethasivaram@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null}], "Origin trial": [{"id": 6210457816924160, "name": "Private Verification Tokens", "summary": "Automated traffic is increasing across the web, and many websites have responded with more user friction in the form of CAPTCHAs and other challenges to combat unwanted traffic. This degrades the web user experience for all users, with a particularly outsized impact to users in private browsing modes.\n\nPrivate Verification Tokens (PVT) is a low entropy mechanism that allows websites to transfer the trust that their users have established in regular browsing into private browsing mode to reduce their experienced user friction. PVTs are issued during a regular browsing session and redeemed in private browsing mode.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink"], "resources": {"samples": [], "docs": ["https://github.com/explainers-by-googlers/private-verification-tokens"]}, "creator": "aykutb@google.com", "editors": ["vmendan@google.com"], "owners": ["aykutb@google.com", "kaustubhag@google.com", "samschlesinger@google.com", "pthuya@google.com", "ekovac@google.com"], "created": {"by": "aykutb@google.com", "when": "2026-04-02 13:38:37.638508"}, "updated": {"by": "aykutb@google.com", "when": "2026-09-03 22:00:12.116042"}, "accurate_as_of": "2026-04-02 13:38:37.638410", "standards": {"spec": null, "maturity": {"text": "Proposal in a personal repository, no adoption from community", "short_text": "Pre-incubation", "val": 2}}, "browsers": {"chrome": {"bug": "https://crbug.com/500396188", "blink_components": ["Blink"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["aykutb@google.com", "kaustubhag@google.com", "samschlesinger@google.com", "pthuya@google.com", "ekovac@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": "We have not yet officially requested a signal from Firefox yet, but we expect it to be negative based on conversations in standards groups like the W3C Anti-Fraud Community Group. We will formally request their review based on the outcome of the experiment. Bot detection is an ambiguous space, and there are multiple solutions and ideas that have been tried before, and some that are under active discussion in standards bodies. PVTs tackles a scoped version of the broader problem with simpler properties, and we think it's worth experimenting with to see how our design will perform in practice.\n", "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5168850599542784], "finch_urls": []}], "In developer trial (Behind a flag)": [{"id": 5067363861004288, "name": "Single-axis scroll containers", "summary": "Extends the `overflow` property to support scrollable values together with `clip` (for example, `overflow: scroll clip`). This allows `position: sticky` to be constrained by different ancestor scroll containers per axis, and gives authors a way to ensure an axis using `overflow: clip` stays in place.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Layout"], "resources": {"samples": [], "docs": []}, "creator": "freedebreuil@google.com", "editors": ["flackr@chromium.org", "vmpstr@chromium.org"], "owners": ["freedebreuil@google.com"], "created": {"by": "freedebreuil@google.com", "when": "2026-03-12 15:15:36.862052"}, "updated": {"by": "freedebreuil@google.com", "when": "2026-09-22 19:18:35.979325"}, "accurate_as_of": "2026-08-10 13:30:33.662607", "standards": {"spec": "https://github.com/w3c/csswg-drafts/pull/13903", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/440038212", "blink_components": ["Blink>Layout"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["freedebreuil@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1418", "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/680", "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://github.com/w3c/csswg-drafts/issues/8286", "notes": "https://github.com/w3c/csswg-drafts/issues/9140\nhttps://github.com/w3c/csswg-drafts/issues/865"}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6300883551911936], "finch_urls": []}, {"id": 5172464636133376, "name": "Support for WebHID (Human Interface Device)", "summary": "WebHID now allows web applications to interact with a wider range of devices. Standard Human Interface Device (HID) examples include mice, keyboards, touchscreens, and gamepads. Those are accessible with high-level input events. However, specialized HID devices and features (for example, custom keyboards, game controllers, and call control headsets) require extended access. \n\nWebHID allows web applications to request access, send and receive HID reports, and retrieve information about the report descriptor. This feature was previously launched on desktop platforms (Windows, macOS, Linux, and ChromeOS). Support on Android is planned for Chrome 157. To read more, see [Connect to uncommon HID devices](https://developer.chrome.com/docs/extensions/how-to/web-platform/webhid).\n\nThis feature can be controlled by the following enterprise policies: \n* [DefaultWebHidGuardSetting](https://chromeenterprise.google/policies/#DefaultWebHidGuardSetting)\n* [WebHidAllowAllDevicesForUrls](https://chromeenterprise.google/policies/#WebHidAllowAllDevicesForUrls)\n* [WebHidAllowDevicesForUrls](https://chromeenterprise.google/policies/#WebHidAllowDevicesForUrls)\n* [WebHidAllowDevicesWithHidUsagesForUrls](https://chromeenterprise.google/policies/#WebHidAllowDevicesWithHidUsagesForUrls)\n* [WebHidAskForUrls](https://chromeenterprise.google/policies/#WebHidAskForUrls)\n* [WebHidBlockedForUrls](https://chromeenterprise.google/policies/#WebHidBlockedForUrls)", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 2, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 152, "blink_components": ["Blink>HID"], "resources": {"samples": [], "docs": ["https://web.dev/hid/", "https://web.dev/hid-examples/"]}, "creator": "mattreynolds@chromium.org", "editors": ["alvinji@google.com", "robpitkin@google.com"], "owners": ["mattreynolds@google.com"], "created": {"by": "mattreynolds@chromium.org", "when": "2018-09-27 21:48:02.098804"}, "updated": {"by": "elmirakalali@google.com", "when": "2026-09-29 17:27:07.001156"}, "accurate_as_of": null, "standards": {"spec": "https://wicg.github.io/webhid/index.html", "maturity": {"text": "Unknown standards status - check spec link for status", "short_text": "Unknown status", "val": 1}}, "browsers": {"chrome": {"bug": "http://crbug.com/40628009", "blink_components": ["Blink>HID"], "devrel": ["jeffy@google.com"], "owners": ["mattreynolds@google.com"], "origintrial": false, "prefixed": false, "flag": false, "status": {"text": "Enabled by default", "val": 5}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/459", "notes": "", "text": "Negative", "val": 7}}, "safari": {"view": {"url": "https://webkit.org/tracking-prevention/", "notes": "WebHID is mentioned under Anti Fingerprinting as an example of \"features we have decided to not yet implement due to fingerprinting, security, and other concerns, and where we do not yet see a path to resolving those concerns\"", "text": "Negative", "val": 7}}, "webdev": {"view": {"text": "Strongly positive", "val": 1, "url": null, "notes": "USB headset vendors want to use WebHID to improve integration of call control features in web-based softphone applications (answer/reject/end call, microphone mute, redial, etc):\r\nhttps://developer.jabra.com/site/global/sdks/web/documentation/index.gsp\r\n\r\nHobbyists are using WebHID to control niche devices like Razer Kraken Kitty:\r\nhttps://twitter.com/sarahemm/status/1314006489510666241"}}, "other": {"view": {"notes": null}}}, "is_released": true, "milestone": null, "roadmap_stage_ids": [5567614957387776], "finch_urls": []}, {"id": 5159559872249856, "name": "js-profiling in dedicated workers", "summary": "Allows js-profiling in dedicated workers\n\nThis feature enables the JavaScript Self\u2011Profiling (js-profiling) API in Dedicated Workers, while remaining gated by Document Policy. It allows developers to obtain low\u2011overhead CPU attribution for JavaScript execution in workers, with Document Policy support for workers tracked separately.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>PerformanceAPIs"], "resources": {"samples": ["https://docs.google.com/document/d/1prxxuck3NDqOjuhMkT8vykV9Fl3IQyUzdESQdxz_7pg/edit?tab=t.0"], "docs": ["https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/DocumentPolicy/DocumentPolicyInWorkers.md"]}, "creator": "monicach@microsoft.com", "editors": ["victorhuang@microsoft.com"], "owners": ["monicach@microsoft.com"], "created": {"by": "monicach@microsoft.com", "when": "2026-02-13 20:06:56.827526"}, "updated": {"by": "monicach@microsoft.com", "when": "2026-09-10 20:17:12.966403"}, "accurate_as_of": "2026-02-13 20:06:56.827425", "standards": {"spec": "https://wicg.github.io/js-self-profiling/#the-profiler-interface", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/482085416", "blink_components": ["Blink>PerformanceAPIs"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["monicach@microsoft.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": "Firefox has not shipped JS Self-Profiling; no specific\nsignal on the worker extension.", "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": "Safari has not shipped JS Self-Profiling; no specific signal\non the worker extension.", "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": null, "notes": "Partners profiling performance-critical work offloaded to\ndedicated workers have asked for CPU attribution inside workers; this is the specific capability they are waiting on. Feedback thread:\nhttps://github.com/WICG/js-self-profiling/issues/33"}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5174641045929984], "finch_urls": []}]}, "total_count": 19}