Contact emails

hirosh...@chromium.org

Specification

https://wicg.github.io/nav-speculation/prefetch.html

Design docs

https://docs.google.com/document/d/192ZLkKcaUE_9Qt8bW9OZLViEEbtxOAgq5WYR87m79IE/edit?usp=sharing

Summary

This feature enables ServiceWorker-controlled prefetches, that is a
speculation rules prefetch to URLs controlled by a Service Worker.
Previously, the prefetch is cancelled upon detecting a controlling Service
Worker, thus subsequent navigation to the prfetch target is served by the
non-prefetch path. This feature will enable the prefetch request to go
through the Service Worker's fetch handler and the response with the
Service Worker interception is cached in the prefetch cache, resulting in a
subsequent navigation being served by the prefetch cache. Please use the
enterprise policy PrefetchWithServiceWorkerEnabled to control this feature.


Blink component

Blink>ServiceWorker
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EServiceWorker%22>

Risks
Interoperability and Compatibility

This is a bug fix to the existing speculation rules prefetch feature, and
as such inherits the same interoperability status as that feature: Gecko is
implementing, and WebKit is silent. We are ensuring the specification is
fully updated and the test suite is exhaustive, so that as Gecko implements
they can get the same behavior.

This does make more prefetches succeed when they would have previously
failed, which is a behavior change. But we do not anticipate it being a
significant compatibility risk. The explainer document [1] contains more
details on exactly what web developers will see.

[1]:
https://docs.google.com/document/d/192ZLkKcaUE_9Qt8bW9OZLViEEbtxOAgq5WYR87m79IE/edit?tab=t.0#heading=h.8i2u299uv5yh


Gecko: Neutral (
https://github.com/mozilla/standards-positions/issues/620#issuecomment-2546739520
)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/54)

Web developers: Strongly positive Service workers are the top actionable
reason for prefetch failure, indicating many web developers are running
into this issue. (Behind non-actionable ones like battery saver or
preloading disabled.) We've also heard directly from several sites that
this has been an adoption blocker.

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

None


Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, ChromeOS, Android, and Android WebView)?

No

Android WebView does not yet support prefetch


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/speculation-rules/prefetch/tentative/service-worker?label=experimental&label=master&aligned


Flag name on about://flags

None

Finch feature name

PrefetchServiceWorker

Rollout plan

(RARE) Experiment users ramp up over time

Requires code in //chrome?

False

Tracking bug

https://issues.chromium.org/40947546

Estimated milestones

Shipping on desktop

138

Shipping on Android

138

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/4996410105397248?gate=6656927492472832

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/CAOaYce7iTWXwKR%2BgNs6yWx%2BrFfoyLvohs%3DnvKPfFB1xVp%2Br1rQ%40mail.gmail.com.

Reply via email to