LGTM1 On Wed, Jun 4, 2025 at 5:06 PM Barry Pollard <barrypoll...@google.com> wrote:
> Looking at > https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints, > what should developers do if they have multiple different targets? >> >> e.g. URL A navigates to "_blank" and URL B navigates "_self"? > > > They can split the rule in two (or include two rules): > > { > "prerender": [ > { > "target_hint": "_blank", > "urls": ["a.html"] > }, > { > "target_hint": "_self", > "urls": ["b.html"] > } > ] > } > > Thanks! This makes sense!! > Demo: https://prerender-demos.glitch.me/target-hint-two-links.html > > It's even theoretically possible to have the same URL prerendered twice > as noted in the explainer > <https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints:~:text=Note%20that%20if,avoided%20if%20possible.>, > though that's not something we'd recommend, and falling back to document > rules is probably the better option there. > > > On Wed, 4 Jun 2025 at 15:24, Yoav Weiss (@Shopify) <yoavwe...@chromium.org> > wrote: > >> Looking at >> https://github.com/WICG/nav-speculation/blob/main/triggers.md#window-name-targeting-hints, >> what should developers do if they have multiple different targets? >> e.g. URL A navigates to "_blank" and URL B navigates "_self"? >> >> On Tuesday, June 3, 2025 at 2:43:26 PM UTC+2 Eric Beach wrote: >> >>> I work on Google Meet. For a feature that my subteam is working on which >>> aims to greatly improve user performance and latency, this functionality is >>> critical. >>> >>> On Tuesday, May 20, 2025 at 7:19:53 AM UTC-4 Chromestatus wrote: >>> >>>> Contact emails robe...@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 >>>> >>>> >>>> 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 a topic in the >> Google Groups "blink-dev" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/a/chromium.org/d/topic/blink-dev/am_noPAIH5k/unsubscribe >> . >> To unsubscribe from this group and all its topics, 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/e49f6e57-52a8-41b8-a0fd-892ba227394fn%40chromium.org >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/e49f6e57-52a8-41b8-a0fd-892ba227394fn%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/CAOmohSKpYUE8ABN%3DhW8D5S2eMw%3DnMtbmsnUT_xg_e6nYaCqttQ%40mail.gmail.com.