LGTM2
On 2/12/25 7:41 AM, Yoav Weiss (@Shopify) wrote:
LGTM1
Thanks for all the work you put into gathering cross-engine support
for this!!
On Wed, Feb 12, 2025 at 11:58 AM Chromestatus
<ad...@cr-status.appspotmail.com> wrote:
Contact emails
m...@chromium.org, denom...@chromium.org,
pending-beacon-experim...@chromium.org
Explainer
https://github.com/WICG/pending-beacon/blob/main/docs/fetch-later-api.md
Specification
https://whatpr.org/fetch/1647/07662d3...139351f.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 in a document, a deferred request is queued by the browser
in the PENDING state, and will be invoked by the earliest of the
following conditions: * The document is destroyed. * After a
user-specified time. For privacy reason, all pending requests will
be flushed upon document entering bfcache no matter how much time
is left. * Browser decides it's time to send it. 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
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ENetwork%3EFetchAPI%22>
Search tags
beacon <http:///features#tags:beacon>, pending beacon
<http:///features#tags:pending%20beacon>, page unload beacon
<http:///features#tags:page%20unload%20beacon>, unload beacon
<http:///features#tags:unload%20beacon>, fetchlater
<http:///features#tags:fetchlater>
TAG review
https://github.com/w3ctag/design-reviews/issues/887
TAG review status
Issues addressed
Origin Trial Name
FetchLater API
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?
FetchLater is a new JS API.
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
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
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 about://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
Availability expectation
Feature is initially available only in Chromium browsers. Mozilla
Implementation Request:
https://bugzilla.mozilla.org/show_bug.cgi?id=1936180 WebKit
Implementation Request:
https://bugs.webkit.org/show_bug.cgi?id=284347
Adoption expectation
Feature will be used by some partner(s) to provide functionality
within 12 months of launch in Chrome.
Adoption plan
With the launch announcement, we will communicate with those who
have been interested in this API.
Non-OSS dependencies
Does the feature depend on any code or APIs outside the Chromium
open source repository and its open-source dependencies to function?
N/A
Sample links
https://github.com/WICG/pending-beacon/blob/main/docs/fetch-later-api.md#key-scenarios
Estimated milestones
Shipping on desktop 134
Origin trial desktop first 121
Origin trial desktop last 126
Origin trial extension 1 end milestone 132
DevTrial on desktop 120
Shipping on Android 134
Origin trial Android first 121
Origin trial Android last 126
DevTrial on Android 120
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).
https://github.com/whatwg/fetch/pull/1647
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/4654499737632768?gate=5424713941123072
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
Intent to Extend Experiment 1:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/00000000000037b78d062141b4f1%40google.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/67ac7ec8.2b0a0220.49add.2034.GAE%40google.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67ac7ec8.2b0a0220.49add.2034.GAE%40google.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 visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJx%3DFyTB2UgT%3Dqa-Y%3DeR7Swkf2JSa7NX2gVn_CgJ7m%2BHA%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJx%3DFyTB2UgT%3Dqa-Y%3DeR7Swkf2JSa7NX2gVn_CgJ7m%2BHA%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 visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0bf14b58-5428-444a-925c-58d09480a202%40chromium.org.