Hello all, The approval for the Intent To Ship for Origin Isolation By Default / Deprecate document.domain <https://groups.google.com/a/chromium.org/g/blink-dev/c/_oRc19PjpFo/> asks for a separate intent for the actual default change <https://groups.google.com/a/chromium.org/g/blink-dev/c/_oRc19PjpFo/m/Ybgtf3JfAQAJ>. This is that separate intent.
A summary of what happened so far: - Shipping Origin Isolation by Default (and thereby deprecating document.domain) has security benefits, but compatibility risk. - We added warnings to the developer console and issues panel, published a blog post, and engaged in direct outreach. This has resulted in substantial, measurable reduction of usage. Some sites keep using document.domain, but have mitigated the deprecation with other means. This makes the risk difficult to measure. - Sampling of sites with document.domain usage and manual inspection yields a potential breakage estimate at ~0.015% of page views. What we're asking for here is: - Enable the feature at 50% for beta (+ dev + canary) during M109, as a "last call" for web site authors. - Launch on stable on M110. (~ Feb '23, so >12 weeks out from today) ------------------------ Contact emailsv...@chromium.org, vogelh...@chromium.org SpecificationExplainer: https://github.com/mikewest/deprecating-document-domainHTML Spec draft: https://github.com/whatwg/html/compare/main...otherdaniel:dd API specYes Summary This is a follow-on to the Intent to Ship: Origin Isolation By Default / Deprecate document.domain <https://groups.google.com/a/chromium.org/g/blink-dev/c/_oRc19PjpFo/>. We'd like to ship this in M110, stable. Summary (of the underlying change)Change the default behavior of the Origin-Agent-Cluster: header / document.domain settability. Presently, pages within Chromium have site-keyed agent clusters by default, unless the Origin-Agent-Cluster: header is explicitly set to true. This accommodates pages or frames which want to access each other's state, despite being on different origins (but within a site). This is fine for any pages that wish to do so, but because a page *might* set document.domain later on, Chromium currently must use site-keyed agent clusters for *all* pages by default even though the overwhelming majority of pages do not ever make use of this (mis-)feature. In turn, this requires Chromium to use sites as the basis for renderer process isolation (via Site Isolation), which exposes origins to same-site but cross-origin attacks involving compromised renderer processes or the "Spectre" family of side-channel attacks. This proposal changes the default behaviour of Origin-Agent-Cluster. From a developer's point of view, the new default matches "Origin-Agent-Cluster: ?1". The initial implementation will use origin-keyed agent clusters for all (non-opted out) origins, without changing how many processes Chromium creates. Over time, we can then adapt Chromium's isolation strategy towards origin-keyed processes without further affecting web-visible behaviour. The developer-visible aspect of this is that for pages with origin-keyed agent clusters, document.domain is no longer settable. Thus, we have marked this intent as a deprecation. Note that this proposal is about the default. Both modes - site-keyed or origin-keyed agent clusters - remain available to any site, but origin-keyed agent clusters change from opt-in to opt-out. The current behaviour remains available by setting "Origin-Agent-Cluster: ?0". Blink componentBlink>SecurityFeature TAG reviewhttps://github.com/w3ctag/design-reviews/issues/564 Risks: Interoperability and Compatibility There are compatibility risks, which we have reduced with outreach and warnings, and we want to mitigate further by launching at 50% of beta first. An extended discussion of the risk (including attempts at quantitative assessment) can be found in the original intent to ship <https://groups.google.com/a/chromium.org/g/blink-dev/c/_oRc19PjpFo/>. Gecko: Standards position request <https://github.com/mozilla/standards-positions/issues/601>. ("Worth prototyping") WebKit: https://lists.webkit.org/pipermail/webkit-dev/2021-December/032067.html (No signals.) Web developers: No signals. Activation - Deprecation plan M109: Enable "Origin Agent Cluster by Default" for 50% of page loads on beta, dev, and canary. M110: Enable "Origin Agent Cluster by Default" on stable. SecurityThis change should be security-positive, since setting document.domain will not have any impact on the origin of the document any more. DebuggabilityA deprecation warning has been added to DevTools console and to the issues panel in M98. This warning will file a deprecation report as well using the Reporting API, if so configured. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?Yes Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> ?This is covered by Origin-keyed Agent Cluster tests <https://wpt.live/html/browsers/origin/origin-keyed-agent-clusters/>. Tracking bughttps://crbug.com/1139851 Launch bughttps://crbug.com/1246823 Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5428079583297536 (document.domain setter deprecation)https://chromestatus.com/features/5683766104162304 (Origin-keyed agent clusters) -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPNEMgvrOehp5%2Bf48yQ62pY3xqXqATPNxWZ6aYQ%2BXeHHAg%40mail.gmail.com.