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.

Reply via email to