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 Specification 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 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 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) 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) *Web developers*: No signals *Other signals*: SpeedKit/Baqend 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/ 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 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 Availability expectation Feature is available on Web Platform in M138. Sample links 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 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 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. 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/c8912862-cef7-4a02-8956-796e95ebd4cen%40chromium.org.