Contact emails
robe...@chromium.org
Explainer
https://github.com/WICG/nav-speculation/blob/main/prerendering-form-submission.md
Specification
https://storage.googleapis.com/spec-previews/WICG/nav-speculation/pull/426/diff/prerendering.html
Design docs
https://docs.google.com/document/d/13Xr_kSYZtvhRNaKpCiP7wLKYtDcpLdDWSH4y6gHq0kQ/edit?usp=sharing
Summary
This extends speculation rules syntax to allow developers to specify the form_submission field for prerender.
This field directs the browser to prepare the prerender as a form submission, so that it can be activated by real form submission navigations. Examples include a simple search form which results in a /search?q=XXX GET request navigation, support of which has been requested by web developers.
Blink component
Internals>Preload>Prerender
Web Feature ID
speculation-rules
Motivation
Form submissions cannot activate prerendered pages currently by design, due to internal browser limitations. In at least Chrome, ordinary form submission navigations have special state and run extra checks that ordinary prerenders don't experience. This means that a form submission can never activate a prerender, because the prerender was not prepared properly as a form submission. In addition to the internal browser limitations, resources can be wasted on prerendering a page which is not eligible, such as CSP disallowing form-action.
Initial public proposal
https://github.com/WICG/nav-speculation/issues/322
TAG review
https://github.com/w3ctag/design-reviews/issues/1192
TAG review status
Issues addressed
Origin Trial Name
PrerenderActivationByFormSubmission
Goals for experimentation
To evaluate how the prerendering form_submission support works on real sites before shipping it by default. We will be evaluating performance, stability, and correctness, and any other feedback the sites have when they use this feature.
Chromium Trial Name
PrerenderActivationByFormSubmission
Origin Trial documentation link
https://github.com/WICG/nav-speculation/blob/main/prerendering-form-submission.md
WebFeature UseCounter name
kPrerenderActivationByFormSubmission
Risks
Debuggability
As well as other speculationrule features, this feature can be viewed on devtools as the source script. Another dedicated field will be added to the panel for easier debugging.
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
No
Windows, Mac, Linux, ChromeOS, Android.
WebView doesn't support speculation rules prerendering because prerendering navigation breaks the lifecycle (e.g., callback sequence) of the WebView.
Yes
Flag name on about://flags
PrerenderActivationByFormSubmission
Finch feature name
PrerenderActivationByFormSubmission
Rollout plan
Will ship enabled for all users
Requires code in //chrome?
False
Tracking bug
https://issues.chromium.org/issues/346555939
Measurement
Blink.UseCounter.Features
https://crrev.com/c/7533307
Estimated milestones
| Shipping on desktop | 151 |
| Origin trial desktop first | 146 |
| Origin trial desktop last | 151 |
| DevTrial on desktop | 146 |
| Shipping on Android | 151 |
| Origin trial Android first | 146 |
| Origin trial Android last | 151 |
| DevTrial on Android | 146 |
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).
None.
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5074313831120896?gate=6571193366872064
Links to previous Intent discussions
Intent to Prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/698f0243.2b0a0220.19817b.0194.GAE%40google.comIntent to Experiment:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69aa2f3b.2b0a0220.c2d7.0503.GAE%40google.com