sisid...@chromium.org, kenji...@chromium.org
https://github.com/sisidovski/service-worker-bypass-fetch-handler-for-main-resource
We’ll be working on the spec if the experiment confirms that this approach is viable and delivers significant performance upsides.
ServiceWorkerBypassFetchHandlerForMainResource (ServiceWorker fetch fast-path), is a change to the service worker implementation designed to let the browser bypass fetch handlers when appropriate.
With this feature, the request for the main resource will immediately happen without waiting for the ServiceWorker bootstrap and will also bypass the fetch handlers. The ServiceWorker is started at the same time as the request happens, but won’t intercept the request/response in the fetch handler. As a result, the browser can mitigate the bootstrap cost and the fetch handler execution.
For the sake of running a statistically meaningful experiment, we identified a few websites that would benefit from this optimized behavior and will automatically apply this new behavior to said websites. To avoid breakage, the optimization will be restricted to an appropriate version of these websites’ service workers (i.e. using a hash of the service worker scripts). Interested parties can also join the experiment by applying to the associated Origin Trial.
Not yet
Gecko: No signal
WebKit: No signal
Web developers: No signals
Other signals:
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
If the ServiceWorker support is explicitly enabled for the Android WebView, they are affected by the change in the same way as the browser, but we believe the risk to be low.
The purpose of the experiment and the associated Origin Trial is to gather data on whether this has significant performance upsides or not. If this experiment shows good results, we’ll look into a proper intent to ship with spec changes, and potentially an API if we can’t always automate this optimized behavior. On that note, we don’t yet have a concrete idea for the proper API surface to enable this feature. We welcome any feedback, API proposals, and suggestions for additional bypassable scenarios (beyond the main resource for instance).
N/A
None.
Yes
No, since in this iteration we don’t have a web exposed API, and the valid OriginTrial token itself is currently used to trigger the feature.
We plan to fully test the API via web-platform-tests once they are proposed.
service-worker-bypass-fetch-handler-for-main-resource
False
https://bugs.chromium.org/p/chromium/issues/detail?id=1371756
https://launch.corp.google.com/launch/4232505
https://chromestatus.com/feature/5153002833313792
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGMyg-aYxAEsNegu_6KQTFpC3J-tCGg8g49FLvZ81dC_c2NoZg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CANh-dXkiy9ZtTWeu5qaTEUPUVQPXpb%3DDpmg6%2Bui5DVXwdhsQ4Q%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVUBANiyek2OisK2S4mV8Q5-kEtBjSx9Tcs9qHiDsiR5A%40mail.gmail.com.
Thank you Chris, yes we filed an issue on the ServiceWorker Github repo and asked for feedback there.On Thu, Feb 16, 2023 at 2:03 AM Chris Harrelson <chri...@chromium.org> wrote:LGTMI agree with the change Jeffrey referred to in general, but in this case it's a small change to an existing consensus spec, and the proposal is summarized there also.Regarding the process change, the API owners will start a thread on blink-api-owners-discuss@ to make sure no one has concerns about the new incubation requirement for origin trials of upcoming features.
On Wed, Feb 15, 2023 at 7:41 PM Shunya Shishido <sisid...@chromium.org> wrote:Thank you Chris, yes we filed an issue on the ServiceWorker Github repo and asked for feedback there.On Thu, Feb 16, 2023 at 2:03 AM Chris Harrelson <chri...@chromium.org> wrote:LGTMI agree with the change Jeffrey referred to in general, but in this case it's a small change to an existing consensus spec, and the proposal is summarized there also.Regarding the process change, the API owners will start a thread on blink-api-owners-discuss@ to make sure no one has concerns about the new incubation requirement for origin trials of upcoming features.
On 2/20/23 2:05 AM, Yoav Weiss wrote:
On Sat, Feb 18, 2023 at 12:00 AM Chris Harrelson <chri...@chromium.org> wrote:
On Wed, Feb 15, 2023 at 7:41 PM Shunya Shishido <sisid...@chromium.org> wrote:
Thank you Chris, yes we filed an issue on the ServiceWorker Github repo and asked for feedback there.
On Thu, Feb 16, 2023 at 2:03 AM Chris Harrelson <chri...@chromium.org> wrote:
LGTM
I agree with the change Jeffrey referred to in general, but in this case it's a small change to an existing consensus spec, and the proposal is summarized there also.
Regarding the process change, the API owners will start a thread on blink-api-owners-discuss@ to make sure no one has concerns about the new incubation requirement for origin trials of upcoming features.
I think both the discussion and the guidance were saying something slightly different than what Jeffrey said above.I believe we discussed the spec being in an incubation venue for OT extensions beyond the first 6 milestones. Not necessarily for experiment requests that are just starting out.
That matches my understanding as well.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfWSknswEVm3rooacp4dkcG5qhs1nwt88ixCS6KU13dSvQ%40mail.gmail.com.