Intent to Experiment: fetchLater API

1,273 views
Skip to first unread message

Ming-Ying Chung

unread,
Nov 15, 2023, 2:09:12 AM11/15/23
to blink-dev, Daisuke Enomoto, pending-beac...@chromium.org, Yoav Weiss

Contact emails

my...@chromium.orgdeno...@chromium.orgpending-beac...@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

beaconpending beaconpage unload beaconunload beaconfetchlater

TAG review

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

TAG review status

Issues addressed

Risks



Interoperability and Compatibility

Security

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

Collecting feedbacks around the stability of the fetchLater API, and whether to provide more useful API or to update its behavior model.


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, Chrome OS, 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

DevTrial on desktop120
DevTrial on Android120


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/4654499737632768

Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/KXnqpUpVwPQ

This intent message was generated by Chrome Platform Status.

Yoav Weiss

unread,
Nov 15, 2023, 4:40:08 AM11/15/23
to Jesugbamigbe Daniel Fadipe, Ming-Ying Chung, Daisuke Enomoto, blink-dev, pending-beac...@chromium.org
What milestones do you want to run the experiment in?

On Wed, Nov 15, 2023 at 8:10 AM Jesugbamigbe Daniel Fadipe <jdanie...@gmail.com> wrote:

Many thanks,

J Daniel Fadipe
07412666868


--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAH3JASUZRWPgtO7b%3DQ%2BXOEEg7LMXnuoq3PFVv_EpARwbntf-ZQ%40mail.gmail.com.

Yoav Weiss

unread,
Nov 15, 2023, 10:42:35 AM11/15/23
to blink-dev, Yoav Weiss, Ming-Ying Chung, Daisuke Enomoto, blink-dev, pending-beac...@chromium.org, jdanie...@gmail.com
Also, can you kick off the other review checks in your chromestatus entry?

On Wednesday, November 15, 2023 at 10:40:08 AM UTC+1 Yoav Weiss wrote:
What milestones do you want to run the experiment in?

On Wed, Nov 15, 2023 at 8:10 AM Jesugbamigbe Daniel Fadipe <jdanie...@gmail.com> wrote:

Many thanks,

J Daniel Fadipe
07412666868


On Wed, 15 Nov 2023 at 08:09, Ming-Ying Chung <my...@chromium.org> wrote:
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Daisuke Enomoto

unread,
Nov 21, 2023, 3:54:13 AM11/21/23
to Yoav Weiss, blink-dev, Ming-Ying Chung, pending-beac...@chromium.org, jdanie...@gmail.com
Yoav,

What milestones do you want to run the experiment in?
We plan to run the dev trial in 120. When we request an OT, would you recommend us to send another I2E generated on chromestatus entry?

Also, can you kick off the other review checks in your chromestatus entry?
Yes, we have kicked off Security and Privacy reviews.


On Thu, Nov 16, 2023 at 12:42 AM Yoav Weiss <yoav...@chromium.org> wrote:
Also, can you kick off the other review checks in your chromestatus entry?

On Wednesday, November 15, 2023 at 10:40:08 AM UTC+1 Yoav Weiss wrote:
What milestones do you want to run the experiment in?

On Wed, Nov 15, 2023 at 8:10 AM Jesugbamigbe Daniel Fadipe <jdanie...@gmail.com> wrote:

Many thanks,

J Daniel Fadipe
07412666868


On Wed, 15 Nov 2023 at 08:09, Ming-Ying Chung <my...@chromium.org> wrote:
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Yoav Weiss

unread,
Nov 21, 2023, 4:29:54 AM11/21/23
to Daisuke Enomoto, blink-dev, Ming-Ying Chung, pending-beac...@chromium.org, jdanie...@gmail.com
On Tue, Nov 21, 2023 at 9:54 AM Daisuke Enomoto <deno...@chromium.org> wrote:
Yoav,

What milestones do you want to run the experiment in?
We plan to run the dev trial in 120. When we request an OT, would you recommend us to send another I2E generated on chromestatus entry?

A dev trial doesn't require any approvals. Please revive this thread when you're ready to request an OT. 

Ming-Ying Chung

unread,
Dec 13, 2023, 1:48:40 AM12/13/23
to Yoav Weiss, Daisuke Enomoto, blink-dev, Ming-Ying Chung, pending-beac...@chromium.org, jdanie...@gmail.com
On Tue, Nov 21, 2023 at 6:29 PM Yoav Weiss <yoav...@chromium.org> wrote:


On Tue, Nov 21, 2023 at 9:54 AM Daisuke Enomoto <deno...@chromium.org> wrote:
Yoav,

What milestones do you want to run the experiment in?
We plan to run the dev trial in 120. When we request an OT, would you recommend us to send another I2E generated on chromestatus entry?

A dev trial doesn't require any approvals. Please revive this thread when you're ready to request an OT. 

Reviving this thread to request the OT approval.

Mike Taylor

unread,
Dec 13, 2023, 4:16:21 PM12/13/23
to Ming-Ying Chung, Yoav Weiss, Daisuke Enomoto, blink-dev, Ming-Ying Chung, pending-beac...@chromium.org, jdanie...@gmail.com

What milestones are you proposing for the Origin Trial?

Ming-Ying Chung

unread,
Jan 15, 2024, 11:51:05 PMJan 15
to Mike Taylor, Ming-Ying Chung, Yoav Weiss, Daisuke Enomoto, blink-dev, pending-beac...@chromium.org, jdanie...@gmail.com
PTAL. Reviving this thread again. We still need Blink approval to proceed with OT.

On Thu, Dec 14, 2023 at 6:16 AM Mike Taylor <mike...@chromium.org> wrote:

What milestones are you proposing for the Origin Trial?

Due to some internal review delay, we are now planning for OT from M121 to M126. The chromestatus entries have also been updated respectively.

Yoav Weiss

unread,
Jan 16, 2024, 12:35:20 AMJan 16
to Ming-Ying Chung, Mike Taylor, Ming-Ying Chung, Daisuke Enomoto, blink-dev, pending-beac...@chromium.org, jdanie...@gmail.com
LGTM to experiment M121-M126

Ming-Ying Chung

unread,
Mar 25, 2024, 1:12:14 AMMar 25
to Yoav Weiss, Ming-Ying Chung, Mike Taylor, Daisuke Enomoto, blink-dev, pending-beac...@chromium.org, jdanie...@gmail.com
Hi API owners,

We are working on adding a new permissions policy "deferred-fetch" for this fetchLater API (overviewgithub discussionchromium discussion, spec PR). While the API is still running in OT, we would like to know if we need to send an independent intent to make it include the new policy or not.

Thanks,
Ming

Domenic Denicola

unread,
Mar 25, 2024, 1:17:25 AMMar 25
to Ming-Ying Chung, Yoav Weiss, Ming-Ying Chung, Mike Taylor, Daisuke Enomoto, blink-dev, pending-beac...@chromium.org, jdanie...@gmail.com
Updates during an Origin Trial do not require re-approval. You might want to be careful about how it impacts existing users of the trial, but that's up to your team to decide.

Reply all
Reply to author
Forward
0 new messages