Intent to Extend Experiment (2nd): Same-origin prerendering triggered by the speculation rules API

113 views
Skip to first unread message

Hiroki Nakagawa

unread,
Apr 4, 2022, 10:43:55 AMApr 4
to blink-dev, Kouhei Ueno, Angel Raposo

Contact emails

nhi...@chromium.org, navigat...@chromium.org


Explainer

This feature: https://github.com/WICG/nav-speculation/blob/main/same-origin-explainer.md

This trial: https://github.com/WICG/nav-speculation/blob/main/same-origin-chrome-origin-trial.md

Larger project: https://github.com/WICG/nav-speculation/blob/main/README.md


Specification

https://wicg.github.io/nav-speculation/prerendering.html


Design docs

https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing


Summary

Prerendering loads a web page before it is needed, so that when the actual navigation to that page occurs, it can be shown instantly. See the previous intent for details of the feature.

 

<Updates from the previous extension>

- A partner finished an experiment and confirmed that latency on their service is reduced by 45%.

- The intent-to-ship for Omnibox prerendering is approved. This is a different prerendering trigger, but the underlying prerendering system and the specifications are common. We’re also going to send the intent-to-ship for speculation rules prerendering soon.

- We’d like to extend the experiment to address issues raised in the intent-to-ship for Omnibox prerendering (e.g., BroadcastChannel in prerendered pages) and verify changes merged after the last milestone of the experiment (M100).


Blink component

Internals>Preload>Prerender


TAG review

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


TAG review status

Pending


Risks

No updates. See the previous intent.


Goals for experimentation

To evaluate how the prerendering feature works on real sites before shipping it by default. This is a large feature and it's risky to ship without trying it first on real sites. We will be evaluating performance, stability, and correctness, and any other feedback the sites have when they use this feature.


Reason this experiment is being extended

We’d like to extend the experiment to address issues raised in the intent for Omnibox prerendering and verify changes merged after the last milestone of the experiment (M100).


Ongoing technical constraints

None


Debuggability

Currently DevTools does not work for prerendered pages. On activation, DevTools must be closed and reopened in order to inspect the page. We have plans to add DevTools support for prerendering. A meta bug for this work is at https://crbug.com/1217029.

 

As a very small support, prerendered pages are visible in chrome://process-internals. Also final results of prerendering are shown in chrome://histograms.

 

<Updates from the previous extension>

We started implementing the DevTools support for prerendering. As a first step, we will expose prerender activation/cancellation result to the DevTools (https://crbug.com/1249776)


Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

No. This feature is only supported on Android at first. As the feature is a cross-cutting one, where almost all of Chrome's features must be potentially taught about prerendered pages, we are starting with a single platform and expanding later.


Is this feature fully tested by web-platform-tests?

Partially tested [cs]. We’re now upstreaming wpt_internals/ tests [doc].


Flag name

Prerender2


Requires code in //chrome?

False


Tracking bug

https://crbug.com/1126305


Launch bug

https://crbug.com/1167987


Estimated milestones

The initial experiment timeline: M94 to M98 [I2E]

The previous extended timeline: M99 to M100 [I2EE]

Requested extension timeline: M101 to M102


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5355965538893824

 


This intent message was generated by Chrome Platform Status.

Yoav Weiss

unread,
Apr 6, 2022, 10:39:39 AMApr 6
to Hiroki Nakagawa, blink-dev, Kouhei Ueno, Angel Raposo
What's the requested timeline for experimentation? Is the experiment currently still running?

--
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/CABj5diMsJyJSf%3DtaygFWCa7n-ZADocAYU%2ByUHsfcP%2BnHP3F2sg%40mail.gmail.com.

Hiroki Nakagawa

unread,
Apr 6, 2022, 10:48:44 AMApr 6
to Yoav Weiss, blink-dev, Kouhei Ueno, Angel Raposo
Hi Yoav,

The requested timeline is from M101 to M102. The current timeline is from M94 to M100, and the experiment is still running

Yoav Weiss

unread,
Apr 6, 2022, 10:55:10 AMApr 6
to Hiroki Nakagawa, blink-dev, Kouhei Ueno, Angel Raposo
LGTM to extend the experimentation to M102, given the API changes with regards to the BroadcastChannel.
Please note that this experiment is reaching the typical time limits of OTs, and experimentation beyond that would require significant justification and 3 LGTMs. 

Hiroki Nakagawa

unread,
Apr 6, 2022, 11:07:51 AMApr 6
to Yoav Weiss, blink-dev, Kouhei Ueno, Angel Raposo
Thank you!
Reply all
Reply to author
Forward
0 new messages