Contact emails
m...@chromium.org, denom...@chromium.org, pending-beacon-experim...@google.com


Explainer
https://github.com/WICG/pending-beacon/blob/main/docs/fetch-later-api.md


Specification
https://whatpr.org/fetch/1647/9ca4bda...37a66c9.html


Design docs

https://github.com/WICG/pending-beacon/blob/main/docs/fetch-later-api.md
https://docs.google.com/document/d/1U8XSnICPY3j-fjzG35UVm6zjwL6LvX6ETU3T8WrzLyQ/edit#heading=h.ms1oipx914vf


Summary

fetchLater() is a JavaScript API to request a deferred fetch. Once called, the 
request is queued by the browser, and will be invoked in one of the following 
scenarios: • The document is destroyed. • After a certain time. The API returns 
a FetchLaterResult that contains a boolean field "activated" that may be 
updated to tell whether the deferred request has been sent out or not. On 
successful sending, the whole response will be ignored by browser, including 
body and headers. Nothing at all should be processed or updated, as the page 
may have already be gone. Note that from the point of view of the API user, the 
exact send time is unknown.



Blink component
Blink>Network>FetchAPI


Search tags
beacon, pending beacon, page unload beacon, unload beacon, fetchlater


TAG review
https://github.com/w3ctag/design-reviews/issues/887


TAG review status
Issues addressed


Chromium Trial Name
FetchLaterAPI


Origin Trial documentation link
https://chromium.googlesource.com/chromium/src/+/main/docs/experiments/fetch-later.md


WebFeature UseCounter name
kFetchLater


Risks




Interoperability and Compatibility

None


Gecko: Positive (https://github.com/mozilla/standards-positions/issues/703)

WebKit: Support (https://github.com/WebKit/standards-positions/issues/85)

Web developers: Positive 
(https://discourse.wicg.io/t/proposal-stateful-javascript-page-unload-beacon-api/5776)

Other signals: W3C WebPerf: 
https://w3c.github.io/web-performance/meetings/2022/2022-03-31/index.html


Security

https://github.com/WICG/pending-beacon/blob/main/docs/fetch-later-api.md#security-considerations
 
https://docs.google.com/document/d/1U8XSnICPY3j-fjzG35UVm6zjwL6LvX6ETU3T8WrzLyQ/edit?pli=1#heading=h.kztg1uvdyoki



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




Goals for experimentation




Reason this experiment is being extended

The OT originally spans from 121-126, we would like to extend it starting from 
130-132, as there are implementation changes in between that we want to 
disable. The final API detail [1] is currently being discussed with WebKit 
Fetch folks. It is unlikely that we will ship the current OT version of the API 
behavior as we need to update implementation to accommodate for the decision. 
At the same time, we have received additional feedback after the previous OT 
extension. There are also new users currently trying to evaluate the API with 
their usage and need more time to collect the metrics, but our OT token will 
expire in early September. We would like to request an extension to help both 
of us. [1]: 
https://github.com/WICG/pending-beacon/issues/87#issuecomment-2315624105



Ongoing technical constraints

See 
https://chromium.googlesource.com/chromium/src/+/main/docs/experiments/fetch-later.md#what_s-not-supported
 for what's supported and what's not supported in the OT implementation.



Debuggability

There are no particular debugging APIs made available or Chrome DevTools 
integrations yet.



Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, 
ChromeOS, Android, and Android WebView)?
Yes
This is a JS API that will be available to Blink platforms.



Is this feature fully tested by web-platform-tests?
Yes
https://wpt.fyi/results/fetch/fetch-later



DevTrial instructions
https://chromium.googlesource.com/chromium/src/+/main/docs/experiments/fetch-later.md


Flag name on chrome://flags
FetchLaterAPI


Finch feature name
FetchLaterAPI


Requires code in //chrome?
True


Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1465781


Launch bug
https://launch.corp.google.com/launch/4272588


Estimated milestones


Origin trial desktop first 121

Origin trial desktop last 126

Origin trial extension 1 end milestone 132

DevTrial on desktop 120

Origin trial Android first 121

Origin trial Android last 126

DevTrial on Android 120




Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/4654499737632768?gate=6086614150021120


Links to previous Intent discussions
Intent to Prototype: 
https://groups.google.com/a/chromium.org/g/blink-dev/c/KXnqpUpVwPQ
Intent to Experiment: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAH3JASUZRWPgtO7b%3DQ%2BXOEEg7LMXnuoq3PFVv_EpARwbntf-ZQ%40mail.gmail.com



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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/00000000000037b78d062141b4f1%40google.com.

Reply via email to