2024年3月6日(水) 19:21 Yoav Weiss (@Shopify) <yoavwe...@chromium.org>:
> > > On Tue, Mar 5, 2024 at 5:01 AM Yoshisato Yanagisawa < > yyanagis...@chromium.org> wrote: > >> Contact emailsyyanagis...@google.com >> >> Specification >> https://w3c.github.io/ServiceWorker/#control-and-use-worker-client >> >> Summary >> >> According to >> https://w3c.github.io/ServiceWorker/#control-and-use-worker-client, >> workers should inherit controllers for the blob URL. However, existing code >> allows only dedicated workers to inherit the controller, and shared workers >> do not inherit the controller. This is the fix to make Chromium behavior >> adjust to the specification. >> >> >> Blink componentBlink>Workers >> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EWorkers> >> >> TAG reviewNone >> >> TAG review statusNot applicable >> >> Risks >> >> >> Interoperability and Compatibility >> >> This is a change to make the Chromium behavior aligned with the >> specification, there should not be an interoperability issue. However, >> there is a compatibility issue from the past Chromium. If a blob URL is >> used for a SharedWorker script and a controller for the URL is mattered, >> there is a behavior change because this change makes a controller inherited. >> > > I think it makes sense to send an intent to ship for this, based on the > specified > criteria > <https://www.chromium.org/blink/launching-features/#:~:text=The%20following%20criteria,environments%2C%20kiosks%2C%20etc)> > . > That would enable us to evaluate the compatibility risk, and make sure > we're making the right call here. > Thanks for the comment. Considering the ratio the blob URL is used for SharedWorker script, I can hardly say the blob URL users are negligibly small. Since Chromium's WorkerNavigator for SharedWorker does not implement serviceWorker yet (https://issues.chromium.org/issues/40364838), people may not write code that heavily depends on this. However, the controller can also be visible in the ServiceWorker FetchEvent as client IDs, and I am not sure the number of users depending on that there. Let me withdraw this PSA just in case. > > >> >> *Gecko*: No signal >> >> *WebKit*: Shipped/Shipping >> >> *Web developers*: No signals >> >> *Other signals*: >> >> Ergonomics >> >> n/a >> >> >> Security >> >> Since this is adjusting Chromium behavior to specification, there should >> not be a security risk from a specification perspective. From the >> implementation perspective, this change simply inherits existing >> controller. There should not be any additional security risks with this >> change. >> >> >> 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? >> >> None >> >> >> Debuggability >> >> n/a >> >> >> Will this feature be supported on all six Blink platforms (Windows, Mac, >> Linux, ChromeOS, Android, and Android WebView)?No >> >> Since SharedWorker is not supported in Android yet, the feature also does >> not affect to Android. >> >> >> 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/service-workers/service-worker/local-url-inherit-controller.https.html >> Same-origin blob URL sharedworker should inherit service worker controller. >> Same-origin blob URL sharedworker should intercept fetch(). The tests >> ensure a ServiceWorkerController is inherited. Due to crbug.com/40364838, >> Chromium does not pass the former test. >> >> >> Flag name on chrome://flagsn/a >> >> Finch feature nameSharedWorkerBlobURLFix >> >> Requires code in //chrome?False >> >> Tracking bughttps://issues.chromium.org/issues/324939068 >> >> Estimated milestones >> Shipping on desktop 124 >> >> 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/6401033384493056 >> >> This intent message was generated by Chrome Platform Status >> <https://chromestatus.com/>. >> >> -- >> 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/CAPNB-6XQqR4S-wtpBkMT6CSADHGV2nvw2irn3jwd5CyZHcMftw%40mail.gmail.com >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPNB-6XQqR4S-wtpBkMT6CSADHGV2nvw2irn3jwd5CyZHcMftw%40mail.gmail.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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPNB-6VjnHp2Q-dXJp_SvP%3DNm%3DkMUqJefO_M06YP5svo3Rohog%40mail.gmail.com.