Contact emails

[email protected], [email protected], [email protected]

Explainer

https://github.com/WICG/nav-speculation/blob/main/triggers.md#document-rules

Specification

https://wicg.github.io/nav-speculation/speculation-rules.html

Summary

Two enhancements to speculation rules-based speculative loading, 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.

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

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.

Chromium Trial Name

SpeculationRulesPrefetchFuture

Link to origin trial feedback summary

https://docs.google.com/document/d/13cJcoygFD64UcQH-P30dXCLbdD6SXpQwhpOUym64KXw/edit?usp=sharing

Origin Trial documentation link

https://github.com/WICG/nav-speculation/blob/main/chrome-2023q1-experiment-overview.md

WebFeature UseCounter name

SpeculationRulesDocumentRules

Risks

Interoperability and Compatibility

Because authors cannot rely on document 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)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/54)

Web developers: Strongly positive on document rules from various sources;
recent positive feedback from one partner on the response header. See
origin trial feedback summary for more details.

Activation

Some developers might not be immediately aware of which URLs they can
prefetch or prerender without side effects; this risk is reduced if they
primarily use the feature for same-origin URL patterns they are familiar
with.

Security

See
https://wicg.github.io/nav-speculation/speculation-rules.html#security-considerations
.

WebView application risks

None that are specifically anticipated.


Reason this experiment is being extended

Document rules have proven a lot of value. However, we have a few minor
breaking changes we'd like to make over the next couple of milestones
before shipping them unrestricted.

The response header-based delivery of speculation rules has only recently
started being used, as the partner which originally requested it shifted
priorities. Now that experimentation with it has begun in earnest, we'd
like to give it a few milestones of testing before sending an Intent to
Ship.

Ongoing technical constraints

At this time the constraints are believed to be minimal.

Debuggability

Speculative loading which occurs is visible in the Network panel and the
new Preloading panel. Console warnings are logged when several types of
issues are encountered.

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

Finch feature name

SpeculationRulesPrefetchFuture

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=1366940

Estimated milestones

110-120 (inclusive) on all Chrome platform

if extension for milestones 119-120 (inclusive) is granted

Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5112150536749056

https://chromestatus.com/feature/5069400512659456

Links to previous Intent discussions

Intent to Prototype: Document Rules
<https://groups.google.com/a/chromium.org/g/blink-dev/c/N0psmOztjM0/m/NWdkirDSAQAJ>

Intent to Prototype: Speculation-Rules header
<https://groups.google.com/a/chromium.org/g/blink-dev/c/C3bHhfzf7bY/m/fThW8NnoAwAJ>

Intent to Experiment: Speculation Rules - Document rules, response header,
deliveryType
<https://groups.google.com/a/chromium.org/g/blink-dev/c/3-0rLTZePzc/m/VNHWAdAGDQAJ>

Intent to Extend Experiment: Speculation Rules - Document rules, response
header, deliveryType
<https://groups.google.com/a/chromium.org/g/blink-dev/c/L3mpXE1x3Zk/m/6Lko5dPKAgAJ>

This intent message was generated by Chrome Platform Status
<https://chromestatus.com/> and edited by hand.

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra8G-L-3uWcb5QrLftV7rDhp%3DOu%3DCForRO6g7wKPHc87Dw%40mail.gmail.com.

Reply via email to