On Thu, May 29, 2025 at 12:33 AM Alex Russell <slightly...@chromium.org> wrote:
> The justification for this feature in the Explainer seems a bit thin. > What's the core problem that requires us to make developers repeat > themselves like this rather than, e.g., deriving the target information > from attributes on <a> elements? > For <a> elements and speculation rules that select them, this information is automatically derived. The use case here is for when URLs are listed explicitly, using the `"urls": [a, b, c]` syntax. Such speculations are most important for pages that reach the given URLs via JavaScript, or via redirects, or other means such that the URL is not directly inside a `href=""`. I agree that the example which the explainer leads with does not make this clear. We'll do a pass to rewrite and clarify the main use case. > > On Wednesday, May 28, 2025 at 8:26:10 AM UTC-7 Chris Harrelson wrote: > >> LGTM2 >> >> On Tue, May 27, 2025 at 7:52 AM Mike Taylor <miketa...@chromium.org> >> wrote: >> >>> 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 >>> >>> 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/8833a3d5-5e77-405f-ad9b-dc80a9f8b6e0%40chromium.org >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/8833a3d5-5e77-405f-ad9b-dc80a9f8b6e0%40chromium.org?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/CAM0wra8F0hjpZZ-83xU%2BQMxH2VtRk%3DTehbGnUWngXyOOgkThhg%40mail.gmail.com.