Thanks, LGTM1.
On 5/23/25 2:15 AM, Domenic Denicola wrote:
On Wednesday, May 21, 2025 at 10:31:06 PM UTC+9 Mike Taylor wrote:
On 5/20/25 6:06 AM, Chromestatus wrote:
Contact emails robert...@chromium.org
Explainer
https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints
<https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints>
Specification
https://wicg.github.io/nav-speculation/speculation-rules.html
<https://wicg.github.io/nav-speculation/speculation-rules.html>
Summary
This extends speculation rules syntax to allow developers to
specify the target_hint field. This field provides a hint to
indicate a target navigable where a prerendered page will
eventually be activated. For example, when _blank is specified as
a hint, a prerendered page can be activated for a navigable
opened by window.open(). The field has no effect on prefetching.
The specification allows this field to accept any strings that
are valid as navigable target name or keyword as the value, but
this launch supports only one of "_self" or "_blank" strings. If
the hint is not specified, it's treated like "_self" is specified.
Blink component Internals>Preload>Prerender
<https://issues.chromium.org/issues?q=customfield1222907:%22Internals%3EPreload%3EPrerender%22>
Search tags speculationrules
<http:///features#tags:speculationrules>, prerendering
<http:///features#tags:prerendering>
TAG review https://github.com/w3ctag/design-reviews/issues/931
<https://github.com/w3ctag/design-reviews/issues/931>
TAG review status Issues addressed
Origin Trial Name SpeculationRulesTargetHint
Chromium Trial Name SpeculationRulesTargetHint
Origin Trial documentation link
https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints
<https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints>
WebFeature UseCounter name kSpeculationRulesTargetHintBlank
Risks
Interoperability and Compatibility
This feature is a small addition to the existing speculation
rules feature. Speculation rules itself is a progressive
enhancement, so the interoperability risks are low. Additionally,
the compatibility risks for this feature are low: if we removed
it in the future, it would cause some prerenders to start
failing, but prerendering is never guaranteed to work and is hard
to depend on.
/Gecko/: Neutral
(https://github.com/mozilla/standards-positions/issues/620
<https://github.com/mozilla/standards-positions/issues/620>)
Mozilla was notified about this addition to the speculation rules
syntax on the overall speculation rules standards positions
thread, and gave an overall neutral response to the feature.
/WebKit/: No signal
(https://github.com/WebKit/standards-positions/issues/54
<https://github.com/WebKit/standards-positions/issues/54>)
/Web developers/: No signals
/Other signals/: SpeedKit/Baqend
https://github.com/WICG/nav-speculation/issues/374
<https://github.com/WICG/nav-speculation/issues/374> We also know
of a Google site which has experimented with this feature and
successfully used it to enable prerendering which was previously
not possible
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
Debuggability
DevTools supports speculation rules:
https://developer.chrome.com/blog/debugging-speculation-rules/
<https://developer.chrome.com/blog/debugging-speculation-rules/>
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? No
Android WebView doesn't support speculation rules prerender yet.
Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
Yes
https://wpt.fyi/results/speculation-rules/prerender
<https://wpt.fyi/results/speculation-rules/prerender>
I see that many (most?) of the target_hint tests are failing in
the latest Canary. Is that expected?
We've been struggling with this for some time. You'll notice that this
is a general problem with all prerender tests, not specific to the new
target_hint feature.
Ultimately, we believe that something about how these tests are
written makes them not play well with the automation used on wpt.fyi.
Note that Edge passes many of the tests we fail, and sometimes we pass
tests that Edge fails, likely due to different test infrastructure
details on Windows (Edge) vs. Linux (Chrome).
This is somewhat understandable, as prerender involves hidden
navigables which can confuse the test runner, as well as lots of
cross-document messages. We have a few projects under way to clean up
the testing infrastructure here and hopefully make it more reliable,
but they've been slow-burning. They would certainly shoot up in
urgency if we saw active interest from other implementers in
prerender. (We're seeing some for prefetch right now, so prerender
might be soon!)
Flag name on about://flags
enable-speculation-rules-prerendering-target-hint
Finch feature name Prerender2InNewTab
Rollout plan Will ship enabled for all users
Requires code in //chrome? False
Tracking bug https://issues.chromium.org/issues/40234240
<https://issues.chromium.org/issues/40234240>
Availability expectation Feature is available on Web Platform in
M138.
Sample links
https://prerender2-specrules.glitch.me
<https://prerender2-specrules.glitch.me>
Estimated milestones Shipping on desktop 138 Origin trial desktop
first 135 Origin trial desktop last 138 Shipping on Android 138
Origin trial Android first 135 Origin trial Android last 138
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).
No spec changes are planned.
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5162540351094784?gate=5144913335549952
<https://chromestatus.com/feature/5162540351094784?gate=5144913335549952>
Links to previous Intent discussions Intent to Experiment:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67c935cc.2b0a0220.325104.02b6.GAE%40google.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/67c935cc.2b0a0220.325104.02b6.GAE%40google.com>
This intent message was generated by Chrome Platform Status
<https://chromestatus.com>.
--
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+unsubscr...@chromium.org
<mailto:blink-dev+unsubscr...@chromium.org>.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/682c5413.2b0a0220.146035.0187.GAE%40google.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/682c5413.2b0a0220.146035.0187.GAE%40google.com?utm_medium=email&utm_source=footer>.
--
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+unsubscr...@chromium.org.
To view this discussion visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8833a3d5-5e77-405f-ad9b-dc80a9f8b6e0%40chromium.org.