Contact emailsnhir...@chromium.org Specification https://wicg.github.io/nav-speculation/speculation-rules.html#:~:text=early%20as%20possible.-,%22moderate%22,balance%20between%20%22eager%22%20and%20%22conservative%22.,-%22conservative%22
Summary On mobile, "moderate" eagerness speculation rules prefetches and prerenders now trigger when a link enters the viewport and passes other conditions that indicate that it's more likely to be clicked. The previous behavior, of waiting until pointerdown, was the same as "conservative" eagerness. This new behavior is more useful as it better reflects author intent to be more eager than the "conservative" setting. More detail on this and other upcoming improvements to speculation rules eagerness are available at https://docs.google.com/document/d/1YPbtUPfZIDElzBZNx8IQMzRFvy8oauLG_i1XIr6jgTs/edit?usp=sharing . Blink componentInternals>Preload <https://issues.chromium.org/issues?q=customfield1222907:%22Internals%3EPreload%22> Risks Interoperability and Compatibility The exact definitions of eagerness levels are left vague in the specification. ("User agents should enact the candidate if user behavior suggests the user may navigate to this URL in the near future. For instance, the user might have scrolled a link into the viewport and moved the cursor over it for some time.") This change is in line with those suggestions. Due to speculation rules' nature as a progressive enhancement, it is very hard to depend on the exact heuristic, so varying across browser engines, platforms, and browser versions should not pose significant interoperability or compatibility risks. As evidence, the heuristic has varied across mobile and desktop ever since launch, and this has not caused such problems. *Gecko*: Neutral ( https://github.com/mozilla/standards-positions/issues/620#issuecomment-2546739520) We have not asked Firefox for their thoughts on this specific change. They are positive on and implementing prefetching, and will likely make their own choices for how to implement each eagerness level. *WebKit*: No signal (https://github.com/WebKit/standards-positions/issues/54) We've not asked Safari for their thoughts on this specific change. They have recently indicated a tentative positive position towards conservative-eagerness prefetching. *Web developers*: Positive We've seen several developers re-create this viewport-based technique using JavaScript to manually insert and remove speculation rules, e.g. in the Quicklink library. *Other signals*: 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 We have unfortunately not yet made this feature work in DevTools mobile emulation mode. That work is tracked in https://issues.chromium.org/issues/420724833 and will be worked on as a follow up. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?No This is only applicable to Android, and speculation rules are not yet supported on Android WebView. Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> ?No Because the specification intentionally allows user agent flexibility, web platform tests do not capture any specific heuristic here. Flag name on about://flagsNone Finch feature namePreloadingViewportHeuristics Rollout plan(RARE) Experiment users ramp up over time Tracking bughttps://issues.chromium.org/issues/372053392 Estimated milestones Shipping on Android 138 Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5079361929347072?gate=5206542386987008 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/CAM0wra-Y5%3DEZ1yUWA8qg152%2BLz5q_jPTUKMMfg866BvO9DgCZg%40mail.gmail.com.