Please also fill out the various reviews in your chromestatus entry (privacy, security, enterprise, debuggability, testing).
On Tue, Jan 14, 2025 at 2:43 PM 'Liang Zhao (REDMOND)' via blink-dev < blink-dev@chromium.org> wrote: > > > > > *From:* Mike Taylor <miketa...@chromium.org> > *Sent:* Tuesday, January 14, 2025 7:10 AM > *To:* Liang Zhao (REDMOND) <liang.z...@microsoft.com>; > blink-dev@chromium.org > *Cc:* hirosh...@chromium.org; mk...@chromium.org > *Subject:* [EXTERNAL] Re: [blink-dev] Intent to Ship: Fire error event > instead of throwing for CSP blocked worker > > > > You don't often get email from miketa...@chromium.org. Learn why this is > important <https://aka.ms/LearnAboutSenderIdentification> > > On 1/13/25 5:19 PM, 'Liang Zhao (REDMOND)' via blink-dev wrote: > > *Contact emails* > > lz...@microsoft.com > > > > *Explainer* > > None > > > > *Specification* > > https://fetch.spec.whatwg.org/#concept-main-fetch > > > > *Summary* > > When blocked by CSP, Chromium currently throws SecurityError from > constructor. Spec requires CSP to be checked as part of fetch and fires > error event asynchronously. This aims to make Chromium spec conformant, > which is not throwing during constructor and fires error event > asynchronously. > > Which constructor? > > The constructor of Worker and SharedWorker objects. Also updated the > chromestatus so that it is clear. > > > > > > *Blink component* > > Blink>SecurityFeature>ContentSecurityPolicy > <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ESecurityFeature%3EContentSecurityPolicy%22> > > > > *TAG review* > > None > > > > *TAG review status* > > Not applicable > > > > *Risks* > > > > > > *Interoperability and Compatibility* > > Are you able to expand on the compatibility implications for this change, > i.e., do we know if Firefox has any site breakage as a result of their > behavior? What scenarios might surprise developers who are relying on > Chrome's current behavior, etc? > > > > We are not aware of any site breakage for Firefox due to its behavior. If > a site has a worker that is blocked by CSP and has code after "new > Worker()", those code currently does not run in Chrome or Safari, but runs > in Firefox. After the change, those code would run in Chrome. > > > > Currently Firefox works as spec-ed while Safari works the same as Chrome. > With the wrong test code in WPT tests, Firefox is failing the tests: > https://wpt.fyi/results/content-security-policy/worker-src/dedicated-worker-src-child-fallback-blocked.sub.html?label=experimental&label=master&aligned > https://wpt.fyi/results/content-security-policy/worker-src/shared-worker-src-child-fallback-blocked.sub.html?label=experimental&label=master&aligned > After updating Chrome code and WPT tests, Firefox passes the tests while > Safari fails the tests. > > Can you explain what you mean by wrong test code? > > The current WPT test code expects exception to throw, which is not what’s > required by the spec. The test code has a TODO comment states that the test > code is wrong with a link to https://crbug.com/663298, > > > > *Gecko*: Shipped/Shipping > > *WebKit*: No signal > > *Web developers*: No signals > > *Other signals*: This changes the behavior the same as Firefox. > > > > *WebView application risks* > > *Does this intent deprecate or change behavior of existing APIs, such that > it has potentially high risk for Android WebView-based applications?* > > > > > > *Debuggability* > > When worker is blocked by CSP, there is DevTools message logged about the > blocking by CSP. This behavior is not changed. > > > > > > *Will this feature be supported on all six Blink platforms (Windows, Mac, > Linux, ChromeOS, Android, and Android WebView)?* > > Yes > > > > *Is this feature fully tested by web-platform-tests > <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?* > > Yes > > > https://wpt.fyi/results/content-security-policy/worker-src/dedicated-worker-src-child-fallback-blocked.sub.html?label=experimental&label=master&aligned > https://wpt.fyi/results/content-security-policy/worker-src/shared-worker-src-child-fallback-blocked.sub.html?label=experimental&label=master&aligned > Note that the test code currently has the wrong expectation and will be > updated as part of this feature work. > > > > > > *Flag name on about://flags* > > None > > > > *Finch feature name* > > None > > > > *Non-finch justification* > > This is a simple change of behavior for uncommon scenario where worker is > blocked by CSP, and the changed behavior is the same as Firefox and spec > aligned. It is unlikely that a site depends on the current behavior of > throwing exception for blocked worker. > > Can we back up "it is unlikely" with some data? Absent that, I would > strongly suggest we put this behind a flag. > > Changed the plan to put this new behavior behind > NoThrowForCSPBlockedWorker feature flag. Also updated the chromestatus. > > > > > > *Requires code in //chrome?* > > False > > > > *Tracking bug* > > https://issues.chromium.org/issues/41285169 > > > > *Estimated milestones* > > Shipping on desktop > > 134 > > DevTrial on desktop > > 134 > > Shipping on Android > > 134 > > DevTrial on Android > > 134 > > Shipping on WebView > > 134 > > > > > > *Anticipated spec changes* > > *Open questions about a feature may be a source of future web compat or > interop issues. Please list open issues (e.g. links to known github issues > in the project for the feature specification) whose resolution may > introduce web compat/interop risk (e.g., changing to naming or structure of > the API in a non-backward-compatible way).* > > None > > > > *Link to entry on the Chrome Platform Status* > > https://chromestatus.com/feature/5177205656911872?gate=5108732671033344 > > -- > 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 visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CO1PR00MB2285E0FC0FEC6768415E9F979E1F2%40CO1PR00MB2285.namprd00.prod.outlook.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CO1PR00MB2285E0FC0FEC6768415E9F979E1F2%40CO1PR00MB2285.namprd00.prod.outlook.com?utm_medium=email&utm_source=footer> > . > > -- > 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 visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/BY1PR00MB2289751B22915D40E547832F9E182%40BY1PR00MB2289.namprd00.prod.outlook.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/BY1PR00MB2289751B22915D40E547832F9E182%40BY1PR00MB2289.namprd00.prod.outlook.com?utm_medium=email&utm_source=footer> > . > -- 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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_jwAAmzh%3DfrDswukofXQBZdNy%2BEkE6ynx2RQhVR5O_rQ%40mail.gmail.com.