Contact emails
yyanagis...@google.com

Explainer
None


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. An enterprise policy SharedWorkerBlobURLFixEnabled is available 
to control this feature.



Blink component
Blink>Workers


TAG review
None


TAG review status
Not 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. An enterprise 
policy was added to allow enterprise customers to preserve the past Chromium 
behavior.


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?

Since SharedWorker is not supported on Android yet, there is no risk on Android 
WebView.




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?
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 about://flags
None


Finch feature name
SharedWorkerBlobURLFix


Requires code in //chrome?
False


Tracking bug
https://crbug.com/324939068


Estimated milestones


Shipping on desktop 133




Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop 
issues. Please list open issues (eg links to known github issues in the project 
for the feature specification) whose resolution may introduce web 
compat/interop risk (eg, 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/5137897664806912?gate=5147843735322624


This intent message was generated by Chrome Platform Status.

-- 
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/67369245.2b0a0220.1cf8a2.008c.GAE%40google.com.

Reply via email to