)]}'
{"features_by_type": {"Enabled by default": [{"id": 5189864286978048, "name": "CPU Performance API", "summary": "Starting in Chrome 152, Chrome introduces the CPU Performance API, which allows web applications to determine the CPU performance of a user's device. This API targets web applications that will use this information to provide an improved user experience, possibly in combination with the Compute Pressure API, which provides information about the user device\u2019s CPU pressure or utilization and allows applications to react to changes in CPU pressure.\n\nUsers can override the reported performance using Chrome browser **Settings > Performance > Speed > Override CPU performance tier**. Administrators can also control this behavior using the [CpuPerformanceTierOverride](https://chromeenterprise.google/policies/#CpuPerformanceTierOverride) policy (which takes precedence over the user setting).\n\nFor more details, see [CPU Performance API Explainer](https://github.com/WICG/cpu-performance).", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 2, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 150, "blink_components": ["Blink>PerformanceAPIs"], "resources": {"samples": [], "docs": []}, "creator": "nikolaos@chromium.org", "editors": ["mlippautz@chromium.org", "dom@chromium.org"], "owners": ["nikolaos@chromium.org"], "created": {"by": "nikolaos@chromium.org", "when": "2025-10-06 16:05:41.485649"}, "updated": {"by": "nikolaos@chromium.org", "when": "2026-09-16 16:24:20.720412"}, "accurate_as_of": "2026-09-01 09:23:02.751458", "standards": {"spec": "https://wicg.github.io/cpu-performance", "maturity": {"text": "Specification being incubated in a Community Group", "short_text": "Incubation", "val": 3}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/449760252", "blink_components": ["Blink>PerformanceAPIs"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["nikolaos@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/1364", "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/622", "notes": null, "text": "Oppose", "val": 7}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": null, "notes": null}}, "other": {"view": {"notes": "Adobe: https://github.com/WICG/cpu-performance/issues/6\nFigma: https://github.com/WICG/proposals/issues/253#issuecomment-3719833708"}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6232838995312640], "finch_urls": []}, {"id": 6516055192240128, "name": "CSSPseudoElement support for ::backdrop, ::scroll-marker and ::view-transitions", "summary": "Support for CSSPseudoElement - which is currently only defined for ::after, ::before, and ::marker - is now being extended to include several new pseudo-elements:\n\n::backdrop: useful for closing a dialog when the backdrop is clicked, without interfering with clicks inside the dialog's content. This eliminates the need for complex intersection logic to determine where the click occurred.\n\n::scroll-marker: can be used to collect click statistics.\n\nview transitions: enables geometry-aware view transitions.It also allows you to intercept a view transition mid-flight to start a new one, utilizing the coordinates of the currently animating element to avoid sudden visual jumps.", "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>CSS"], "resources": {"samples": [], "docs": []}, "creator": "sakhapov@chromium.org", "editors": ["nrosenthal@chromium.org"], "owners": ["sakhapov@chromium.org"], "created": {"by": "sakhapov@chromium.org", "when": "2026-04-24 11:43:54.214884"}, "updated": {"by": "sakhapov@chromium.org", "when": "2026-08-04 09:27:11.770438"}, "accurate_as_of": "2026-07-03 09:37:10.945207", "standards": {"spec": "https://drafts.csswg.org/css-pseudo-4/#CSSPseudoElement-interface", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": null, "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/1345", "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/607", "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": [5806659839590400], "finch_urls": []}, {"id": 5175745573945344, "name": "Connection Allowlists", "summary": "Connection Allowlists is a feature designed to provide explicit control over external endpoints by restricting connections initiated via the Fetch API or other web platform APIs from a document or worker.\n\nThe proposed implementation involves the distribution of an authorized endpoint list from the server through an HTTP response header. Prior to the establishment of any connection by the user agent on behalf of a page, the agent will evaluate the destination against this allowlist; connections to verified endpoints will be permitted, while those failing to match the entries in the list will be blocked.\n\nMore details on the proposal can be found here: https://github.com/WICG/connection-allowlists \n\nDesign doc: https://docs.google.com/document/d/1B3LERUObjVDAKBNLpdIxbk8LC96rWUn1q8vtP9pPIuA/edit?usp=sharing\n\nImplementation Design:\nhttps://source.chromium.org/chromium/chromium/src/+/main:docs/connection_allowlist_design.md\n", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 146, "blink_components": ["Blink>SecurityFeature>ConnectionAllowlist"], "resources": {"samples": [], "docs": []}, "creator": "skmanickam@google.com", "editors": ["averge@chromium.org", "xiaochenzh@chromium.org", "skmanickam@google.com", "nrosenthal@google.com"], "owners": ["shivanisha@chromium.org", "mkwst@chromium.org", "skmanickam@chromium.org"], "created": {"by": "skmanickam@google.com", "when": "2026-02-02 19:33:07.455795"}, "updated": {"by": "shivanisha@chromium.org", "when": "2026-09-01 14:04:19.959300"}, "accurate_as_of": "2026-09-01 14:04:19.959300", "standards": {"spec": "https://wicg.github.io/connection-allowlists", "maturity": {"text": "Specification being incubated in a Community Group", "short_text": "Incubation", "val": 3}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/447954811", "blink_components": ["Blink>SecurityFeature>ConnectionAllowlist"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["shivanisha@chromium.org", "mkwst@chromium.org", "skmanickam@chromium.org"], "origintrial": false, "prefixed": true, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1322", "notes": "We think there's agreement on the value of this functionality, but differences of opinion on what the header looks like. There has been good interaction on some of the issues in the repo and in the WebAppSec meetings.", "text": "Positive", "val": 3}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/583", "notes": "No official position, but there has been good interaction on some of the issues in the repo and in the WebAppSec meetings.", "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://github.com/WICG/proposals/issues/235#issuecomment-3463775783", "notes": "We have had multiple developers using Connection Allowlists through the Origin Trial and are planning to continue to use it.\nMicrosoft is also collaborating on enhancements like https://github.com/WICG/connection-allowlists/issues/1"}}, "other": {"view": {"notes": "Edge: Positive (https://github.com/WICG/proposals/issues/235#issuecomment-3463775783)"}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5105304788402176], "finch_urls": []}, {"id": 6264645053710336, "name": "Expose the 'autocorrect' global html attribute", "summary": "The HTML autocorrect attribute allows web authors to control whether autocorrection should be applied to user input in editable elements including <input>, <textarea>, and contenteditable hosts. The feature makes the 'autocorrect' attribute to be exposed to web authors.\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>Editing>IME"], "resources": {"samples": ["https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/autocorrect#examples"], "docs": []}, "creator": "jfernandez@chromium.org", "editors": [], "owners": ["jfernandez@igalia.com"], "created": {"by": "jfernandez@chromium.org", "when": "2026-05-06 16:14:55.842329"}, "updated": {"by": "jfernandez@igalia.com", "when": "2026-07-13 09:37:38.860066"}, "accurate_as_of": "2026-07-13 09:37:38.860066", "standards": {"spec": "https://html.spec.whatwg.org/multipage/interaction.html#autocorrection", "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/40871769", "blink_components": ["Blink>Editing>IME"], "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": "https://bugzilla.mozilla.org/show_bug.cgi?id=1927977", "notes": "https://www.firefox.com/en-US/firefox/136.0/releasenotes/", "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": "https://webkit.org/blog/16301/webkit-features-in-safari-18-2", "notes": "https://webkit.org/blog/15860/release-notes-for-safari-technology-preview-203/", "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": [5440545787871232], "finch_urls": []}, {"id": 4644898109259776, "name": "MediaCapabilities.decodingInfo.encryptionScheme", "summary": "Adds the `encryptionScheme` attribute to the `KeySystemTrackConfiguration` dictionary used in `navigator.mediaCapabilities.decodingInfo()`. This allows web applications to query whether a specific encryption scheme (such as `'cenc'` or `'cbcs'`) is supported. \n\n*Note: This feature is already approved by the W3C spec and the underlying backend implementation in Chromium already exists. This launch is purely to plumb the `encryptionScheme` property from the Blink IDL layer to the existing backend.*", "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>Media"], "resources": {"samples": [], "docs": []}, "creator": "sangbaekpark@chromium.org", "editors": ["xhwang@chromium.org"], "owners": ["sangbaekpark@chromium.org"], "created": {"by": "sangbaekpark@chromium.org", "when": "2026-07-24 20:42:42.807317"}, "updated": {"by": "sangbaekpark@chromium.org", "when": "2026-08-04 17:16:10.290920"}, "accurate_as_of": "2026-07-24 20:42:42.807141", "standards": {"spec": "https://w3c.github.io/media-capabilities/#dom-keysystemtrackconfiguration-encryptionscheme", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "browsers": {"chrome": {"bug": "http://crbug.com/498284510", "blink_components": ["Blink>Media"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["sangbaekpark@chromium.org"], "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": "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": [5023404718686208], "finch_urls": []}, {"id": 5863296436666368, "name": "Notification attribution for PWAs on macOS", "summary": "Chrome 152 rolls out notification attribution for installed Progressive Web Apps (PWAs) on macOS. When a PWA is installed on macOS, its notifications are now attributed to the PWA itself (using its own name and icon in the Notification Center) rather than Google Chrome.\n\nThis update also changes how notifications are displayed to the user, aligning PWA notifications with native macOS applications. It introduces two changes that align with current behavior in [WebKit](https://webkit.org/):\n- For app notifications, Chrome no longer supports the `requireInteraction` field for notifications. On macOS, the user controls whether the notification is temporary or persistent on a per-app basis.\n- For app badging, the Badging API now requires notifications permissions for the app badge to show up. If the user does not grant notifications permission, the API silently does nothing.\n\nTo control notification permissions using Chrome policies, admins need to update their policy settings if they want to keep that behavior for PWAs on macOS, using the Chrome origin-based policy [NotificationsAllowedForUrls](https://chromeenterprise.google/policies/#NotificationsAllowedForUrls). Additionally, administrators need to deploy a macOS MDM configuration profile to turn on notification permissions for the PWA's specific bundle ID.", "feature_type_int": 2, "unlisted": false, "enterprise_impact": 2, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 151, "blink_components": ["UI>Notifications"], "resources": {"samples": ["https://googlechrome.github.io/samples/pwa-testing/notificationsapi/index.html"], "docs": []}, "creator": "mek@chromium.org", "editors": ["dibyapal@chromium.org", "dmurph@chromium.org"], "owners": ["mek@chromium.org"], "created": {"by": "mek@chromium.org", "when": "2026-07-01 20:20:08.964240"}, "updated": {"by": "siobhankeating@google.com", "when": "2026-08-12 11:39:14.123994"}, "accurate_as_of": "2026-07-30 21:14:18.758834", "standards": {"spec": "https://notifications.spec.whatwg.org", "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/327449602", "blink_components": ["UI>Notifications"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["mek@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": "This change aligns the notifications and badging behavior for installed PWAs on macOS with how these APIs behave for installed web apps in Safari.", "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": [4827926823567360], "finch_urls": []}, {"id": 6297362687066112, "name": "OpaqueRange", "summary": "`OpaqueRange` represents a live span of text within a form control\u2019s value, such as a `<textarea>` or text-based `<input>`, so developers can work with value text using range-like APIs.\n\nIt enables operations such as `getBoundingClientRect()`, `getClientRects()`, and integration with the CSS Custom Highlight API for UI such as inline suggestions, highlights, and anchored popovers. It preserves encapsulation by exposing only value offsets while returning `null` for `startContainer` and `endContainer`, so DOM endpoints and internal structure are not exposed.", "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>DOM"], "resources": {"samples": ["https://github.com/MicrosoftEdge/Demos/tree/main/opaque-range"], "docs": []}, "creator": "ansollan@microsoft.com", "editors": [], "owners": ["ansollan@microsoft.com", "t-andresre@microsoft.com", "leolee@microsoft.com", "stephanie.zhang@microsoft.com"], "created": {"by": "ansollan@microsoft.com", "when": "2025-07-16 18:57:18.741075"}, "updated": {"by": "stephanie.zhang@microsoft.com", "when": "2026-07-09 15:45:32.989438"}, "accurate_as_of": "2026-07-07 16:30:40.921342", "standards": {"spec": "https://github.com/whatwg/dom/pull/1404", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/421421332", "blink_components": ["Blink>DOM"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["ansollan@microsoft.com", "t-andresre@microsoft.com", "leolee@microsoft.com", "stephanie.zhang@microsoft.com"], "origintrial": false, "prefixed": false, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1289", "notes": null, "text": "Positive", "val": 3}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/541", "notes": null, "text": "Support", "val": 3}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://github.com/w3c/csswg-drafts/issues/4603", "notes": "The citation link is a request for ranges inside `<textarea>`/`<input>` to support spellchecking/grammar highlights.\n\nhttps://github.com/w3c/csswg-drafts/issues/10346: request for selection/caret geometry in `<textarea>`/`<input>` to anchor autocomplete popovers and similar UI.\n\nhttps://github.com/MicrosoftEdge/MSEdgeExplainers/issues/1104: developer feedback that `OpaqueRange` (previously `FormControlRange`) would be useful because existing overlay workarounds are hard to keep in sync and can visibly lag."}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5198204873998336], "finch_urls": []}, {"id": 5188237101891584, "name": "Reference Target for Cross-root ARIA", "summary": "Reference Target enables ID attributes like <label for>, aria-labelledby, popovertarget, and commandfor to be forwarded to elements inside a component's shadow DOM, while maintaining the shadow's encapsulation of its internal state. \n\nWhen a shadow host specifies an element in its shadow tree to act as its reference target, all ID references pointing to the shadow host are forwarded to the reference target element instead.\n\n<label for=\"my-checkbox\">Checkbox value (click me to toggle checkbox)</label>\n<custom-checkbox id=\"my-checkbox\">\n  <template shadowrootmode=\"open\" shadowrootreferencetarget=\"real-checkbox\">\n    <input id=\"real-checkbox\" type=\"checkbox\">\n  </template>\n</custom-checkbox>\n\nThe reference target can be set declaratively like in the above example, or in JavaScript with ShadowRoot's referenceTarget property.", "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>DOM>ShadowDOM"], "resources": {"samples": ["https://microsoftedge.github.io/Demos/reference-target"], "docs": []}, "creator": "slightlyoff@chromium.org", "editors": ["mjackson@microsoft.com"], "owners": ["daniec@microsoft.com", "leolee@microsoft.com"], "created": {"by": "slightlyoff@chromium.org", "when": "2023-08-01 22:10:07.396021"}, "updated": {"by": "daniec@microsoft.com", "when": "2026-07-22 18:45:08.192729"}, "accurate_as_of": "2026-07-07 15:36:13.882795", "standards": {"spec": "https://github.com/whatwg/html/pull/10995", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/346835896", "blink_components": ["Blink>DOM>ShadowDOM"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["daniec@microsoft.com", "leolee@microsoft.com"], "origintrial": true, "prefixed": null, "flag": false, "status": {"text": "Origin trial", "val": 8}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1035", "notes": null, "text": "Positive", "val": 3}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/356", "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": null, "notes": "https://gist.github.com/davatron5000/b6a62cb782f01c69e818cd4585391138\nhttps://github.com/WICG/webcomponents/issues/1120#issuecomment-4156132737\nLots of positive reactions on last year's Interop Project proposal for Reference Target, despite the feature not yet being eligible for the Interop Project at that time: https://github.com/web-platform-tests/interop/issues/1011"}}, "other": {"view": {"notes": null}}}, "is_released": true, "milestone": null, "roadmap_stage_ids": [5096180131823616], "finch_urls": []}, {"id": 5070160203481088, "name": "Relative Alpha Colors (CSS Color 5 alpha() function)", "summary": "Relative alpha colors refer to an origin color, and only change the alpha channel. The meaning of alpha channels is defined in CSS Color 4 \u00a7\u202f4.2 Representing Transparency in Colors: the <alpha-value> syntax.", "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": "cgqaq@chromium.org", "editors": ["yiorsi@gmail.com"], "owners": ["cgqaq@chromium.org", "yiorsi@gmail.com"], "created": {"by": "cgqaq@chromium.org", "when": "2026-03-14 03:59:28.431171"}, "updated": {"by": "cgqaq@chromium.org", "when": "2026-07-17 14:04:18.573686"}, "accurate_as_of": "2026-07-17 14:02:49.426225", "standards": {"spec": "https://drafts.csswg.org/css-color-5/#relative-alpha", "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/492246715", "blink_components": ["Blink>CSS"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["cgqaq@chromium.org", "yiorsi@gmail.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=2047437", "notes": null, "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/657", "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": [6249981881221120], "finch_urls": []}, {"id": 6260680824061952, "name": "Sub apps for IWAs", "summary": "Sub apps allow developers to create multiple apps under a single Isolated Web App ([IWA](https://chromeos.dev/en/web/isolated-web-apps)) installation. Each Sub app has its own distinct name, icons and OS integrations. \n\nSub apps appear on the desktop shelf with a distinct identity from the parent IWA, offering separate OS capabilities, such as file type association. This allows a single software package to present different, isolated functionalities to the user while maintaining a single, unified IWA install and update process. \n\nThere are three new enterprise policies available to control the Sub apps API:\n\n- [DefaultSubAppsWithoutPromptsSetting](https://chromeenterprise.google/policies/#DefaultSubAppsWithoutPromptsSetting) specifies globally (for all IWAs) if user permission prompts are required to install Sub apps. The policies below can override this default.\n\n- [SubAppsWithoutPromptsAllowedForOrigins](https://chromeenterprise.google/policies/#SubAppsWithoutPromptsAllowedForOrigins) specifies a list of IWA URLs that can add or update Sub apps without user permission prompts. \n\n- [SubAppsWithoutPromptsBlockedForOrigins](https://chromeenterprise.google/policies/#SubAppsWithoutPromptsBlockedForOrigins) specifies a list of IWA URLs that can add Sub apps with user permission prompts only. ", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 2, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 149, "blink_components": ["Content>WebApps"], "resources": {"samples": ["https://github.com/vkrot-cell/subapps-demo"], "docs": ["https://github.com/WICG/sub-apps"]}, "creator": "vkrot@google.com", "editors": ["greengrape@google.com", "edmanp@google.com", "dom@chromium.org"], "owners": ["vkrot@google.com"], "created": {"by": "vkrot@google.com", "when": "2026-05-04 12:23:12.458956"}, "updated": {"by": "siobhankeating@google.com", "when": "2026-08-12 12:59:19.814348"}, "accurate_as_of": "2026-07-24 10:15:37.695592", "standards": {"spec": "https://wicg.github.io/sub-apps", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://buganizer.corp.google.com/issues/414729785", "blink_components": ["Content>WebApps"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["vkrot@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": [5128682306928640], "finch_urls": []}, {"id": 5427561449521152, "name": "Suspicious site warnings", "summary": "Suspicious site warnings are a new feature for users of **Safe Browsing > Enhanced protection**, to warn against potentially malicious sites. \n\nIn Chrome 152, when a user enrolled in enhanced Safe Browsing visits a site with signals to indicate that it is potentially malicious, a warning displays in a by-passable pop-up, which must be clicked before they can continue. This warning is in addition to the red interstitial warnings, which will continue to be shown on confirmed malicious websites. For more information, see [Choose your Safe Browsing protection level in Chrome](https://support.google.com/chrome/answer/13844634).\n\nAdmins can control this warning using the existing [SafeBrowsingProtectionLevel](https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel) policy. To exclude specific sites from triggering the warning, admins can add URLs to the [SafeBrowsingAllowlistDomains](https://chromeenterprise.google/policies/#SafeBrowsingAllowlistDomains) policy.", "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": ["UI>Browser>SafeBrowsing"], "resources": {"samples": [], "docs": []}, "creator": "hgbuonomo@google.com", "editors": [], "owners": ["hgbuonomo@google.com", "flowerhorne@google.com"], "created": {"by": "hgbuonomo@google.com", "when": "2026-08-05 17:40:59.653530"}, "updated": {"by": "siobhankeating@google.com", "when": "2026-08-12 13:23:37.622335"}, "accurate_as_of": "2026-08-05 17:40:59.653401", "standards": {"spec": null, "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": null, "blink_components": ["UI>Browser>SafeBrowsing"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["hgbuonomo@google.com", "flowerhorne@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": [6018612629471232], "finch_urls": []}, {"id": 5551475195904000, "name": "Unframed display mode for IWAs", "summary": "Unframed display mode allows Isolated Web Apps [IWAs](https://chromeos.dev/en/web/isolated-web-apps) to occupy the entire browser window, which optimizes the workspace available. By removing standard window borders and title bars, developers can implement unique user experiences with branding and menu hierarchies that match the look-and-feel of device-installed applications. \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 without any user interaction.  \n- [WindowManagementBlockedForUrls](https://chromeenterprise.google/policies/#WindowManagementBlockedForUrls) blocks unframed mode for IWAs with specified origins, forcing Chrome to 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": 145, "blink_components": ["UI>Browser>WebAppInstalls>Isolated"], "resources": {"samples": ["https://github.com/edman/unframed-demo"], "docs": ["https://github.com/WICG/manifest-incubations/blob/gh-pages/unframed-explainer.md"]}, "creator": "laurila@chromium.org", "editors": [], "owners": ["edmanp@google.com", "swethasivaram@google.com"], "created": {"by": "laurila@chromium.org", "when": "2022-07-20 11:49:54.809061"}, "updated": {"by": "edmanp@google.com", "when": "2026-08-24 12:58:27.050633"}, "accurate_as_of": "2026-08-24 12:58:27.050633", "standards": {"spec": "https://wicg.github.io/manifest-incubations/index.html#dfn-unframed", "maturity": {"text": "Specification being incubated in a Community Group", "short_text": "Incubation", "val": 3}}, "browsers": {"chrome": {"bug": "https://crbug.com/477512407", "blink_components": ["UI>Browser>WebAppInstalls>Isolated"], "devrel": [], "owners": ["edmanp@google.com", "swethasivaram@google.com"], "origintrial": false, "prefixed": false, "flag": true, "status": {"text": "In developer trial (Behind a flag)", "val": 4}, "announced": false}, "ff": {"view": {"url": null, "notes": "", "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": "", "text": "N/A", "val": 9}}, "webdev": {"view": {"text": "Strongly positive", "val": 1, "url": null, "notes": "This feature is crucial for our VDI partners."}}, "other": {"view": {"notes": ""}}}, "is_released": true, "milestone": null, "roadmap_stage_ids": [5111566538637312], "finch_urls": []}, {"id": 5077657663438848, "name": "WebGPU: Subgroup Size Control", "summary": "Adds the optional GPU feature \"subgroup-size-control\" that allows explicitly setting the subgroup size in a compute shader.\n\nThis technique is particularly useful for the applications that need to optimize the performance of the compute shader using subgroup operations with specifc subgroup size on certain platforms, such as the AI workloads.", "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>WebGPU"], "resources": {"samples": [], "docs": []}, "creator": "jiawei.shao@intel.com", "editors": ["cwallez@google.com", "dneto@google.com", "fbeaufort@google.com"], "owners": ["jiawei.shao@intel.com", "cwallez@chromium.org", "fbeaufort@google.com"], "created": {"by": "jiawei.shao@intel.com", "when": "2026-06-24 08:14:16.025770"}, "updated": {"by": "jiawei.shao@intel.com", "when": "2026-08-11 00:10:44.621552"}, "accurate_as_of": "2026-08-11 00:10:44.621552", "standards": {"spec": "https://github.com/gpuweb/gpuweb/pull/5578", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/463721943", "blink_components": ["Blink>WebGPU"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["jiawei.shao@intel.com", "cwallez@chromium.org", "fbeaufort@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/gpuweb/gpuweb/pull/5578", "notes": "\"Feedback indicated via WebGPU standardization process.\"", "text": "Positive", "val": 3}}, "safari": {"view": {"url": "https://github.com/gpuweb/gpuweb/pull/5578", "notes": "\"Specification approval constitutes a positive signal, per https://github.com/WebKit/standards-positions/issues/294#issuecomment-1877411933\"", "text": "Positive", "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": [6566695645872128], "finch_urls": []}, {"id": 5085785343787008, "name": "audioPreferred capture in getDisplayMedia API", "summary": "Adds an audioPreference attribute to the DisplayMediaStreamOptions dictionary used in the getDisplayMedia API. \n\nThis hint allows web applications to signal to the UA that they prefer audio sharing along with video. This helps developers ensure that applications relying on audio capture work seamlessly.", "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>GetDisplayMedia"], "resources": {"samples": [], "docs": []}, "creator": "agpalak@google.com", "editors": ["tovep@google.com"], "owners": ["agpalak@google.com", "guidou@google.com"], "created": {"by": "agpalak@google.com", "when": "2026-07-16 16:33:11.068828"}, "updated": {"by": "agpalak@google.com", "when": "2026-07-22 15:27:41.686015"}, "accurate_as_of": "2026-07-16 16:33:11.068683", "standards": {"spec": "https://w3c.github.io/mediacapture-screen-share/#dom-displaymediastreamoptions-audioselection", "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/535514300", "blink_components": ["Blink>GetDisplayMedia"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["agpalak@google.com", "guidou@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/1433", "notes": "Spec PR was approved by Mozilla \nhttps://github.com/w3c/mediacapture-screen-share/pull/332", "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/696", "notes": "Spec PR was approved by WebKit \nhttps://github.com/w3c/mediacapture-screen-share/pull/332", "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://github.com/w3c/mediacapture-screen-share-extensions/issues/12", "notes": "Ask for an API to support the targeted use case from developers: \nhttps://github.com/w3c/mediacapture-screen-share-extensions/issues/12"}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5439182500659200], "finch_urls": []}, {"id": 5201338641285120, "name": "window-drag", "summary": "The `window-drag` CSS property allows web content to designate regions of an installed desktop web app\u2019s UI that should behave as draggable window titlebar areas. When applied, user pointer interactions (e.g., click-and-drag) on that region move the top-level application window rather than triggering normal page interaction. This is primarily used by desktop PWAs or apps using features like Window Controls Overlay to implement custom title bars and draggable areas when the browser-provided title bar is hidden.\n\nThis feature standardizes and renames the existing `app-region` CSS property, changes its value names to `move` and `none`, and adds explicit inheritance behavior. This property is used by installed web apps and Electron-based applications for the same purpose.", "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": "akyereboah@microsoft.com", "editors": [], "owners": ["akyereboah@microsoft.com"], "created": {"by": "akyereboah@microsoft.com", "when": "2026-04-13 20:48:43.539342"}, "updated": {"by": "akyereboah@microsoft.com", "when": "2026-07-27 17:32:18.005281"}, "accurate_as_of": "2026-07-27 17:32:18.005281", "standards": {"spec": "https://drafts.csswg.org/css-ui-4/#window-drag", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/477608113", "blink_components": ["Blink>CSS"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["akyereboah@microsoft.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1409", "notes": null, "text": "Positive", "val": 3}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/668", "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://issues.chromium.org/issues/40616128", "notes": "Attached original tracking bug for WCO with 45+ upvotes from the community. `app-region` and `window-drag` are explicitly tied to WCO functionality in Chromium."}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5192856668078080], "finch_urls": []}], "Deprecated": [{"id": 4683382919397376, "name": "Deprecate and remove: Private Aggregation API", "summary": "The Private Aggregation API is a generic mechanism for measuring aggregate, cross-site data in a privacy preserving manner. It was originally designed for a future without third-party cookies.\n\nFollowing Chrome's announcement that the current approach to third-party cookies will be maintained, we are now planning to deprecate and remove the Private Aggregation API (along with certain other Privacy Sandbox APIs, as outlined on the Privacy Sandbox feature status page[0]). This API is only exposed via the Shared Storage and Protected Audience APIs, which are also planned to be deprecated and removed. So, no additional work will be required for Private Aggregation.\n\n[0]: https://privacysandbox.google.com/overview/status", "feature_type_int": 3, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>PrivateAggregation"], "resources": {"samples": [], "docs": []}, "creator": "alexmt@chromium.org", "editors": [], "owners": ["alexmt@chromium.org"], "created": {"by": "alexmt@chromium.org", "when": "2025-10-21 16:56:50.200857"}, "updated": {"by": "alexmt@chromium.org", "when": "2026-08-21 18:47:07.433394"}, "accurate_as_of": "2026-06-23 21:20:08.161397", "standards": {"spec": "https://patcg-individual-drafts.github.io/private-aggregation-api", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": null, "blink_components": ["Blink>PrivateAggregation"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["alexmt@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": [5119769070141440], "finch_urls": []}], "Removed": [], "Stepped rollout": [{"id": 4709671889534976, "name": "Deprecate and remove XSLT", "summary": "[XSLT v1.0](https://www.w3.org/TR/xslt-10/), which all browsers adhere to, was standardized in 1999. In the meantime, XSLT has evolved to v2.0 and v3.0, adding features, and growing apart from the old version frozen into browsers. This lack of advancement, coupled with the rise of JavaScript libraries and frameworks that offer more flexible and powerful DOM manipulation, has led to a significant decline in the use of client-side XSLT. Its role within the web browser has been largely superseded by JavaScript-based technologies, such as JSON and React.\n\nChromium uses the **libxslt** library to process these transformations, and [libxslt was unmaintained](https://discourse.gnome.org/t/stepping-down-as-libxslt-maintainer/27615) for ~6 months of 2025. Libxslt is a complex, aging C codebase of the type notoriously susceptible to memory safety vulnerabilities like buffer overflows, which can lead to arbitrary code execution. Because client-side XSLT is now a niche, rarely-used feature, these libraries receive far less maintenance and security scrutiny than core JavaScript engines, yet they represent a direct, potent attack surface for processing untrusted web content. Indeed, XSLT is the source of several recent high-profile security exploits that continue to put browser users at risk. \n\nFor these reasons, Chromium (along with both other browser engines, Gecko and WebKit) plans to deprecate and remove XSLT from the web platform. The modern web is powered by three major browser engines: [Blink](https://www.chromium.org/blink/) (Chromium), [Gecko](https://firefox-source-docs.mozilla.org/overview/gecko.html) (Firefox), and [WebKit](https://webkit.org/) (Safari). They interpret code to render pages. \n\nFor more details, see this [Chrome for Developers article](https://developer.chrome.com/docs/web-platform/deprecating-xslt).\n\nFrom Chrome 158, XSLT will stop functioning on Stable releases. ", "feature_type_int": 3, "unlisted": false, "enterprise_impact": 4, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 140, "blink_components": ["Blink>XML"], "resources": {"samples": [], "docs": ["https://github.com/whatwg/html/issues/11523"]}, "creator": "masonfreed@google.com", "editors": ["masonfreed@google.com"], "owners": ["masonf@chromium.org"], "created": {"by": "masonfreed@google.com", "when": "2025-08-01 19:18:08.633405"}, "updated": {"by": "siobhankeating@google.com", "when": "2026-09-10 13:53:50.615492"}, "accurate_as_of": "2026-08-31 16:14:40.900686", "standards": {"spec": null, "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://crbug.com/435623334", "blink_components": ["Blink>XML"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["masonf@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/whatwg/html/issues/11523#issuecomment-3149788558", "notes": null, "text": "Positive", "val": 3}}, "safari": {"view": {"url": "https://github.com/whatwg/html/issues/11523#issuecomment-3149280766", "notes": null, "text": "Positive", "val": 3}}, "webdev": {"view": {"text": "Negative", "val": 5, "url": "https://github.com/whatwg/html/issues/11523#issuecomment-3150969971", "notes": "Existing users of XSLT are understandably negative on this removal, and have been very vocal about it on the standards issue and elsewhere. There are also mixed/positive reactions from some folks in the public discussions, who seem to agree with the removal of XSLT from browsers. But the average/overall developer opinion (as measured by comments on public threads) is negative.\n\nVarious public discussions:\n- https://news.ycombinator.com/item?id=44952185\n- https://www.reddit.com/r/programming/comments/1mxdm22/xslt_removal_will_break_multiple_government_and/\n- https://news.ycombinator.com/item?id=44987346\n- https://news.ycombinator.com/item?id=44987552\n- https://news.ycombinator.com/item?id=44987239\n- https://news.ycombinator.com/item?id=44909599"}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null}, {"id": 5551475195904000, "name": "Unframed display mode for IWAs", "summary": "Unframed display mode allows Isolated Web Apps [IWAs](https://chromeos.dev/en/web/isolated-web-apps) to occupy the entire browser window, which optimizes the workspace available. By removing standard window borders and title bars, developers can implement unique user experiences with branding and menu hierarchies that match the look-and-feel of device-installed applications. \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 without any user interaction.  \n- [WindowManagementBlockedForUrls](https://chromeenterprise.google/policies/#WindowManagementBlockedForUrls) blocks unframed mode for IWAs with specified origins, forcing Chrome to 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": 145, "blink_components": ["UI>Browser>WebAppInstalls>Isolated"], "resources": {"samples": ["https://github.com/edman/unframed-demo"], "docs": ["https://github.com/WICG/manifest-incubations/blob/gh-pages/unframed-explainer.md"]}, "creator": "laurila@chromium.org", "editors": [], "owners": ["edmanp@google.com", "swethasivaram@google.com"], "created": {"by": "laurila@chromium.org", "when": "2022-07-20 11:49:54.809061"}, "updated": {"by": "edmanp@google.com", "when": "2026-08-24 12:58:27.050633"}, "accurate_as_of": "2026-08-24 12:58:27.050633", "standards": {"spec": "https://wicg.github.io/manifest-incubations/index.html#dfn-unframed", "maturity": {"text": "Specification being incubated in a Community Group", "short_text": "Incubation", "val": 3}}, "browsers": {"chrome": {"bug": "https://crbug.com/477512407", "blink_components": ["UI>Browser>WebAppInstalls>Isolated"], "devrel": [], "owners": ["edmanp@google.com", "swethasivaram@google.com"], "origintrial": false, "prefixed": false, "flag": true, "status": {"text": "In developer trial (Behind a flag)", "val": 4}, "announced": false}, "ff": {"view": {"url": null, "notes": "", "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": "", "text": "N/A", "val": 9}}, "webdev": {"view": {"text": "Strongly positive", "val": 1, "url": null, "notes": "This feature is crucial for our VDI partners."}}, "other": {"view": {"notes": ""}}}, "is_released": true, "milestone": null}], "Origin trial": [{"id": 4709671889534976, "name": "Deprecate and remove XSLT", "summary": "[XSLT v1.0](https://www.w3.org/TR/xslt-10/), which all browsers adhere to, was standardized in 1999. In the meantime, XSLT has evolved to v2.0 and v3.0, adding features, and growing apart from the old version frozen into browsers. This lack of advancement, coupled with the rise of JavaScript libraries and frameworks that offer more flexible and powerful DOM manipulation, has led to a significant decline in the use of client-side XSLT. Its role within the web browser has been largely superseded by JavaScript-based technologies, such as JSON and React.\n\nChromium uses the **libxslt** library to process these transformations, and [libxslt was unmaintained](https://discourse.gnome.org/t/stepping-down-as-libxslt-maintainer/27615) for ~6 months of 2025. Libxslt is a complex, aging C codebase of the type notoriously susceptible to memory safety vulnerabilities like buffer overflows, which can lead to arbitrary code execution. Because client-side XSLT is now a niche, rarely-used feature, these libraries receive far less maintenance and security scrutiny than core JavaScript engines, yet they represent a direct, potent attack surface for processing untrusted web content. Indeed, XSLT is the source of several recent high-profile security exploits that continue to put browser users at risk. \n\nFor these reasons, Chromium (along with both other browser engines, Gecko and WebKit) plans to deprecate and remove XSLT from the web platform. The modern web is powered by three major browser engines: [Blink](https://www.chromium.org/blink/) (Chromium), [Gecko](https://firefox-source-docs.mozilla.org/overview/gecko.html) (Firefox), and [WebKit](https://webkit.org/) (Safari). They interpret code to render pages. \n\nFor more details, see this [Chrome for Developers article](https://developer.chrome.com/docs/web-platform/deprecating-xslt).\n\nFrom Chrome 158, XSLT will stop functioning on Stable releases. ", "feature_type_int": 3, "unlisted": false, "enterprise_impact": 4, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 140, "blink_components": ["Blink>XML"], "resources": {"samples": [], "docs": ["https://github.com/whatwg/html/issues/11523"]}, "creator": "masonfreed@google.com", "editors": ["masonfreed@google.com"], "owners": ["masonf@chromium.org"], "created": {"by": "masonfreed@google.com", "when": "2025-08-01 19:18:08.633405"}, "updated": {"by": "siobhankeating@google.com", "when": "2026-09-10 13:53:50.615492"}, "accurate_as_of": "2026-08-31 16:14:40.900686", "standards": {"spec": null, "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://crbug.com/435623334", "blink_components": ["Blink>XML"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["masonf@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/whatwg/html/issues/11523#issuecomment-3149788558", "notes": null, "text": "Positive", "val": 3}}, "safari": {"view": {"url": "https://github.com/whatwg/html/issues/11523#issuecomment-3149280766", "notes": null, "text": "Positive", "val": 3}}, "webdev": {"view": {"text": "Negative", "val": 5, "url": "https://github.com/whatwg/html/issues/11523#issuecomment-3150969971", "notes": "Existing users of XSLT are understandably negative on this removal, and have been very vocal about it on the standards issue and elsewhere. There are also mixed/positive reactions from some folks in the public discussions, who seem to agree with the removal of XSLT from browsers. But the average/overall developer opinion (as measured by comments on public threads) is negative.\n\nVarious public discussions:\n- https://news.ycombinator.com/item?id=44952185\n- https://www.reddit.com/r/programming/comments/1mxdm22/xslt_removal_will_break_multiple_government_and/\n- https://news.ycombinator.com/item?id=44987346\n- https://news.ycombinator.com/item?id=44987552\n- https://news.ycombinator.com/item?id=44987239\n- https://news.ycombinator.com/item?id=44909599"}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5176778372677632], "origin_trial_id": "1902207892610613249", "finch_urls": []}, {"id": 6240467143491584, "name": "Speculation Rules - moderate viewport heuristics controls", "summary": "Current viewport heuristics for speculation rules don't give any room for developer experimentation.\n\nThis experimental feature will provide such controls, and enable developers to figure out if different heuristics parameters give them better results than the default ones.\n\nThis is a feature only aimed at experimentation, and there are no plans to ship it as is.", "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": [], "docs": []}, "creator": "yoavweiss@chromium.org", "editors": [], "owners": ["yoavweiss@chromium.org"], "created": {"by": "yoavweiss@chromium.org", "when": "2026-06-30 11:57:27.308033"}, "updated": {"by": "yoavweiss@chromium.org", "when": "2026-07-09 14:57:50.455948"}, "accurate_as_of": "2026-06-30 11:57:27.307888", "standards": {"spec": null, "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/529423512", "blink_components": ["Blink>PerformanceAPIs"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["yoavweiss@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": [6656332854853632], "origin_trial_id": "695243192475320321", "finch_urls": []}, {"id": 5076374013476864, "name": "User Agent Image Replacement API", "summary": "Modern browsers can provide capabilities to augment the browsing experience by modifying media in the page on behalf of the user. The advent of generative AI makes it more likely that browsers will add such features.\n\nSometimes, the replacement content added at the user request might not match other content and functionality in the page, which could confuse the user. Even if this cannot be completely avoided, if authors can observe when replacement happens they can adjust the document to mitigate confusion (e.g., by hiding or adjusting other content).\n\nFor example, a user browsing an e-commerce site with a generic product image (e.g., a model wearing a jacket) might wish to imagine themselves wearing the item. The user agent uses generative AI technology to produce that image and present it in place of the model image. The page improves the user experience by removing text referring to the model's dimensions and the garment size depicted, as it may not be correct in the replacement image.", "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>Image"], "resources": {"samples": [], "docs": []}, "creator": "jbroman@chromium.org", "editors": ["rodneyding@google.com", "baranerf@google.com"], "owners": ["jbroman@chromium.org"], "created": {"by": "jbroman@chromium.org", "when": "2026-07-29 01:59:07.105962"}, "updated": {"by": "jbroman@chromium.org", "when": "2026-09-02 09:28:10.229297"}, "accurate_as_of": "2026-07-29 01:59:07.105847", "standards": {"spec": "https://github.com/explainers-by-googlers/ua-image-replacement", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/544822216", "blink_components": ["Blink>Image"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["jbroman@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": [5357738059235328], "origin_trial_id": "1722063907515793409", "finch_urls": []}], "In developer trial (Behind a flag)": [{"id": 5075054393163776, "name": "Gamepad button type attribute", "summary": "Gamepad API defines standard indices for 17 common gamepad buttons. The GamepadButton type attribute provides an alternate, interoperable identifier for common buttons that are not included in the standard set, like \"trackpad\".", "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>GamepadAPI"], "resources": {"samples": [], "docs": []}, "creator": "mattreynolds@google.com", "editors": [], "owners": ["mattreynolds@google.com", "sushin@nvidia.com"], "created": {"by": "mattreynolds@google.com", "when": "2026-06-26 22:15:13.833446"}, "updated": {"by": "mattreynolds@google.com", "when": "2026-07-24 01:14:24.405311"}, "accurate_as_of": "2026-06-26 22:15:13.833135", "standards": {"spec": "https://pr-preview.s3.amazonaws.com/xingri/gamepad/pull/196.html#gamepadbuttontype-enum", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://crbug.com/339841686", "blink_components": ["Blink>GamepadAPI"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["mattreynolds@google.com", "sushin@nvidia.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": [4875533214154752], "finch_urls": []}, {"id": 5113656292540416, "name": "Immersive Audio Model and Formats (IAMF) decoding support", "summary": "Adds support for decoding and playing back the Immersive Audio Model and Formats (IAMF) container within HTML media elements via Media Source Extensions (MSE). IAMF is an open, royalty-free spatial audio format that supports channel-based, scene-based, and object-based audio presentations. Supporting this standard allows web developers to deliver consistent, immersive 3D audio experiences across different devices without relying on proprietary formats or managing complex discrete audio channel routing in JavaScript.", "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>Media>Audio"], "resources": {"samples": ["https://crsrc.org/c/media/test/data/iamf_alternating_sine_waves_stereo.mp4", "https://crsrc.org/c/media/test/data/iamf_alternating_sine_waves_714.mp4", "https://aomediacodec.github.io/iamf-tools/web_demo"], "docs": ["https://docs.google.com/document/d/1G4Km3hxEnXonvgiZo7got_DWIatBrpYbyzk3yIpaV6A/edit?usp=sharing&resourcekey=0-rS2fUcQM7tcKNDoQmk7Tmg"]}, "creator": "lowkey@google.com", "editors": ["sxm@google.com", "skmanickam@google.com"], "owners": ["lowkey@google.com", "tguilbert@chromium.org"], "created": {"by": "lowkey@google.com", "when": "2026-07-14 17:21:24.875867"}, "updated": {"by": "lowkey@google.com", "when": "2026-08-17 20:13:48.148984"}, "accurate_as_of": "2026-08-12 19:04:09.244940", "standards": {"spec": "https://aomediacodec.github.io/iamf/latest-approved.html", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "browsers": {"chrome": {"bug": "https://crbug.com/535279329", "blink_components": ["Blink>Media>Audio"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["lowkey@google.com", "tguilbert@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/1437", "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/700", "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": "N/A, no changes in web APIs."}}, "other": {"view": {"notes": "Strong interest from external partners."}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5972929293713408], "finch_urls": []}, {"id": 5085785343787008, "name": "audioPreferred capture in getDisplayMedia API", "summary": "Adds an audioPreference attribute to the DisplayMediaStreamOptions dictionary used in the getDisplayMedia API. \n\nThis hint allows web applications to signal to the UA that they prefer audio sharing along with video. This helps developers ensure that applications relying on audio capture work seamlessly.", "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>GetDisplayMedia"], "resources": {"samples": [], "docs": []}, "creator": "agpalak@google.com", "editors": ["tovep@google.com"], "owners": ["agpalak@google.com", "guidou@google.com"], "created": {"by": "agpalak@google.com", "when": "2026-07-16 16:33:11.068828"}, "updated": {"by": "agpalak@google.com", "when": "2026-07-22 15:27:41.686015"}, "accurate_as_of": "2026-07-16 16:33:11.068683", "standards": {"spec": "https://w3c.github.io/mediacapture-screen-share/#dom-displaymediastreamoptions-audioselection", "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/535514300", "blink_components": ["Blink>GetDisplayMedia"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["agpalak@google.com", "guidou@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/1433", "notes": "Spec PR was approved by Mozilla \nhttps://github.com/w3c/mediacapture-screen-share/pull/332", "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/696", "notes": "Spec PR was approved by WebKit \nhttps://github.com/w3c/mediacapture-screen-share/pull/332", "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://github.com/w3c/mediacapture-screen-share-extensions/issues/12", "notes": "Ask for an API to support the targeted use case from developers: \nhttps://github.com/w3c/mediacapture-screen-share-extensions/issues/12"}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [4876232547237888], "finch_urls": []}]}, "total_count": 24}