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 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 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? 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 (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). 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. -- 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.