Contact emailssisidov...@chromium.org Explainerhttps://github.com/WICG/service-worker-auto-preload
Specificationhttps://github.com/w3c/ServiceWorker/pull/1756 Summary ServiceWorkerAutoPreload is a mode where the browser issues the network request in parallel with the service worker bootstrap, and consumes the network request result inside the fetch handler if the fetch handler returns the response with `respondWith()`. If the fetch handler result is fallback, it passes the network response directly to the browser. ServiceWorkerAutoPreload is defined as an optional browser optimization, which will change the existing service worker behavior. We expect the impact on Enterprise is low, but the temporary enterprise policy called ServiceWorkerAutoPreloadEnabled will be added to control this feature. Blink componentBlink>ServiceWorker <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EServiceWorker%22> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/1108 https://github.com/w3ctag/design-reviews/issues/963 TAG review statusPending Risks Interoperability and Compatibility For compatibility risks, the main concern was about how this feature works with the navigation preload API. But we don't think this feature introduces major compatibility issues because this feature respects the navigation preload API, and is not exposed when the navigation preload API is already enabled. The only cost is the server side cost to respond to the network requests, which may not be used if the fetch handler returns a result from the disk cache. This cost can be reduced by applying the feature only when the service worker is not started, or only for websites that meet some criteria e.g. fetch handler always fallback to the network. *Gecko*: No signal ( https://github.com/mozilla/standards-positions/issues/1036) *WebKit*: No signal ( https://github.com/WebKit/standards-positions/issues/359) Although we are still waiting for WebKit's official standard position, we believe they are supportive. A reply on the proposal mentioned that it 'seems inline with what WebKit is implementing,' and a WebKit reviewer has already approved our spec change PR. https://github.com/WICG/proposals/issues/155#issuecomment-2873318636 https://github.com/w3c/ServiceWorker/pull/1756 *Web developers*: No signals *Other signals*: 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 We have a plan to show some info when the preload requests by this feature are triggered on DevTools. It's tracked in crbug.com/344912796 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> ?No Currently we don't have WPT tests. As this feature is only exposed with heuristics and it doesn't have an API surface, it's not testable on the WPT infrastructure. Flag name on about://flagsservice-worker-auto-preload Finch feature nameServiceWorkerAutoPreload Rollout planWill ship enabled for all users Requires code in //chrome?False Tracking bughttps://crbug.com/40278676 Estimated milestones Shipping on desktop 140 Origin trial desktop first 131 Origin trial desktop last 136 DevTrial on desktop 126 Shipping on Android 140 Origin trial Android first 131 Origin trial Android last 136 DevTrial on Android 126 Shipping on WebView 140 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/5194817700364288?gate=6249384911306752 Links to previous Intent discussionsIntent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGMyg-btkw3n_k0Vr9GgW%2B_c%2BT5K%3D_1_BPFstqAVi0y%3DxxT-pg%40mail.gmail.com Intent to Experiment: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGMyg-YF1qRNkBUPGxN-GgDGG3yvqCijZ56QEQYgNA4a9YrfMg%40mail.gmail.com 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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGMyg-YGDFiHciHb701OhxBf3QUQbs-11o%2BjY03AAxvrrYmxow%40mail.gmail.com.