WPT details: We will add WPT to the extent possible. Some behavior may be internal or UA-dependent and require a different set of tests. We have a suite of tests at https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/wpt_internal/prerender/ that are intended to be upstreamed to WPT. The biggest blocker is a WebDriver API to trigger prerendering: https://crbug.com/1226460
Prerendering loads a web page before it is needed, so that when the actual navigation to that page occurs, it can be shown instantly.
To speed up page loads. Chrome previously had a prerender mechanism that was replaced with No State Prefetch[1]. No State Prefetch is simpler and safer, but doesn't generally result in the instant page load experience that we think is possible with prerendering. We intend to prototype prerendering again to see if we can bring it back in a way that handles the issues of the previous incarnation. We are working on a design to address these issues, which included undesirable side-effects, resource consumption, low hit rate, privacy and security issues, and code complexity. [1] https://developers.google.com/web/updates/2018/07/nostate-prefetch
Docs: https://docs.google.com/document/d/1P2VKCLpmnNm_cRAjUeE-bqLL0bslL_zKqiNeCzNom_w/edit?usp=sharing
Samples: https://prerender2-specrules.glitch.me/
Explainers: https://github.com/jeremyroman/alternate-loading-modes/blob/main/same-origin-explainer.md https://github.com/jeremyroman/alternate-loading-modes/blob/main/README.md