LGTM to extend to 118 inclusive.
On 5/24/23 3:30 PM, Jeremy Roman wrote:
Contact emails
jbro...@chromium.org, adith...@chromium.org,
isabo...@google.com, dome...@chromium.org,
kenjibah...@chromium.org
Explainer
https://github.com/WICG/nav-speculation/blob/main/triggers.md
<https://github.com/WICG/nav-speculation/blob/main/triggers.md>
https://github.com/w3c/resource-timing/issues/332
<https://github.com/w3c/resource-timing/issues/332>
Specification
https://wicg.github.io/nav-speculation/speculation-rules.html
<https://wicg.github.io/nav-speculation/speculation-rules.html>
Summary
Three enhancements to preloading, under a combined experiment:
An extension to speculation rules syntax that lets the browser
obtain URLs for speculation from link elements in a page. They
may include criteria which restrict which of these links can
be used.
Currently developers can only specify speculation rules using
inline script tags. The proposed feature provides an
alternative through the "Speculation-Rules" header. Its value
must be a URL to a text resource with
"application/speculationrules+json" MIME type. The resource's
rules will be added to the document's rule set.
Expose information about how a resource was delivered. For
example, resources which were delivered from the cache
(currently exposed through transferSize) and navigations which
were prefetched by the previous page are useful to identify.
An overview of this experiment remains available here:
https://github.com/jeremyroman/nav-speculation/blob/experiment-summary/chrome-2023q1-experiment-overview.md
<https://github.com/jeremyroman/nav-speculation/blob/experiment-summary/chrome-2023q1-experiment-overview.md>
See also the previous intent:
https://groups.google.com/a/chromium.org/g/blink-dev/c/3-0rLTZePzc/m/VNHWAdAGDQAJ
Blink component
Internals>Preload
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Internals%3EPreload>
TAG review
https://github.com/w3ctag/design-reviews/issues/721
<https://github.com/w3ctag/design-reviews/issues/721>
TAG review status
Complete at this time. TAG has reservations about whether the
use cases of this feature justify its complexity, as compared
to a simpler solution which would address some but not all of
the use cases.
Risks
Interoperability and Compatibility
Because authors cannot rely on speculation rules being
evaluated (or preloading generally), applications which use
them should function correctly in other browsers and should
continue to function correctly were the feature to be
deprecated. Of course, ideally other browsers do find it
compelling to implement this feature.
Gecko: No signal
(https://github.com/mozilla/standards-positions/issues/620
<https://github.com/mozilla/standards-positions/issues/620>)
WebKit: No signal
(https://github.com/WebKit/standards-positions/issues/54
<https://github.com/WebKit/standards-positions/issues/54>)
Web developers: We built these enhancements specifically upon
requests from partners that found the current speculation
rules too hard to integrate into their sites, and have at
least one partner lined up to participate in the origin trial.
Other signals:
Activation
Some developers might not be immediately aware of which URLs
they can preload without side effects. This risk is reduced if
they primarily use the feature for same-origin URL patterns
they are familiar with.
Security
Seehttps://wicg.github.io/nav-speculation/speculation-rules.html#security-considerations
<https://wicg.github.io/nav-speculation/speculation-rules.html#security-considerations>.
WebView application risks
None that are specifically anticipated.
Justification for extension
During the experiment, we have made improvements to these
features, fixed bugs, and improved developer tools to make
them easier to debug. We have some data from use of this
showing benefits, but want to both make further improvements
to our implementation and give more time for partners to
engage (there were unforeseen delays in at least one instance).
Ongoing technical constraints
At this time the constraints are believed to be minimal.
Debuggability
Preloading and speculation rules fetches which occur are both
visible in the Network panel and the in-development Preloading
panel. Console warnings are logged when several types of
issues are encountered.
See, e.g.
https://bugs.chromium.org/p/chromium/issues/detail?id=1384419
<https://bugs.chromium.org/p/chromium/issues/detail?id=1384419>
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes
Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
Yes
Flag name
Origin trial name "SpeculationRulesPrefetchFuture", spanning
multiple underlying feature flags.
Requires code in //chrome?
False
Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1371522
<https://bugs.chromium.org/p/chromium/issues/detail?id=1371522>
https://bugs.chromium.org/p/chromium/issues/detail?id=1366940
<https://bugs.chromium.org/p/chromium/issues/detail?id=1366940>
https://bugs.chromium.org/p/chromium/issues/detail?id=1358591
<https://bugs.chromium.org/p/chromium/issues/detail?id=1358591>
Estimated milestones
110-118 (inclusive) on all Chrome platforms
if extension for milestones 116-118 (inclusive) is granted
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5112150536749056
<https://chromestatus.com/feature/5112150536749056>
https://chromestatus.com/feature/5069400512659456
<https://chromestatus.com/feature/5069400512659456>
https://chromestatus.com/feature/6347141115543552
<https://chromestatus.com/feature/6347141115543552>
Links to previous Intent discussions
Intents to prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2B5JZsPqZakqnGx2zgreGEfRCJ1Xrr16cL2gcqGF7577dFhvsw%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2B5JZsPqZakqnGx2zgreGEfRCJ1Xrr16cL2gcqGF7577dFhvsw%40mail.gmail.com>
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAC2TYLVmZ%2BC%3Dct9VkfMi86RmypyfDOc14o1O4%3DiynRy%2B3rnyxg%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAC2TYLVmZ%2BC%3Dct9VkfMi86RmypyfDOc14o1O4%3DiynRy%2B3rnyxg%40mail.gmail.com>
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuR13cZU8%3D7Ka3SWSf4E2dgDuhRRBRt_fGgDeC6d%3DqHP%3Durrw%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuR13cZU8%3D7Ka3SWSf4E2dgDuhRRBRt_fGgDeC6d%3DqHP%3Durrw%40mail.gmail.com>
https://groups.google.com/a/chromium.org/g/blink-dev/c/3-0rLTZePzc/m/VNHWAdAGDQAJ
--
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 on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuR13epuEiXzbO3HJq0O9eum5_parJYHWHuje7QztZRd-s56w%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuR13epuEiXzbO3HJq0O9eum5_parJYHWHuje7QztZRd-s56w%40mail.gmail.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 on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0ae2767d-d306-19a4-5bf7-839046e68c28%40chromium.org.