LGTM2
/Daniel
On 2023-11-23 10:11, Yoav Weiss wrote:
LGTM1
These all seem like useful improvements! :)
On Wed, Nov 22, 2023 at 8:14 PM Jeremy Roman <[email protected]> wrote:
On Wed, Nov 22, 2023 at 11:10 AM Yoav Weiss
<[email protected]> wrote:
On Thu, Nov 16, 2023 at 12:33 AM Jeremy Roman
<[email protected]> wrote:
Note: This intent email spans three Chromestatus
entries for different sub-features that we
experimented with together and would like
permission to ship together in M121.
Contact emails
[email protected], [email protected],
[email protected], [email protected], [email protected]
Explainer
https://github.com/WICG/nav-speculation/blob/main/triggers.md
Specification
https://wicg.github.io/nav-speculation/speculation-rules.html
Summary
(1) 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.
Any specific parts of the explainer/spec that cover this one?
Sure:
https://github.com/WICG/nav-speculation/blob/main/triggers.md#document-rules
https://wicg.github.io/nav-speculation/speculation-rules.html#document-rule-predicate-matching
https://wicg.github.io/nav-speculation/speculation-rules.html#find-matching-links
That's very useful, thanks!!
(2) Adding the eagerness field to the speculation rules
will let the developers control how eagerly the browser
preloads links in order to balance the performance
advantage against resource overhead. This field accepts
one of "conservative", "moderate", "eager", or "immediate"
strings as the value, and it is applicable to both
"prefetch" and "prerender" actions and both "list" or
"document" sources. If not explicitly specified, list
rules default to "immediate" and document rules default to
"conservative".
(3) 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
Issues addressed (TAG still has reservations)
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
SpeculationRulesSelectorMatches
SpeculationRulesHeader
SpeculationRulesExplicitEagerness
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.
Similar reasoning applies to the response header and
eagerness field.
/Gecko/: No signal
(https://github.com/mozilla/standards-positions/issues/620)
/WebKit/: No signal
(https://github.com/WebKit/standards-positions/issues/54)
/Web developers/: Positive
(https://groups.google.com/a/chromium.org/g/blink-dev/c/L3mpXE1x3Zk/m/VvbMZrcsAQAJ)
positive feedback from Akamai and use within Chrome on
web.dev <http://web.dev>
/Other signals/:
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
Does this intent deprecate or change behavior of existing
APIs, such that it has potentially high risk for Android
WebView-based applications?
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 (though some capabilities vary per platform)
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?label=experimental&label=master&aligned
<https://wpt.fyi/results/speculation-rules?label=experimental&label=master&aligned>
Some tests cover behavior which isn't enabled by default
(even if experimental web platform features are on).
Flag name on chrome://flags
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=1406595
https://bugs.chromium.org/p/chromium/issues/detail?id=1366940
Estimated milestones
Shipping on desktop 121
OriginTrial desktop last 120
OriginTrial desktop first 110
Shipping on Android 121
OriginTrial Android last 120
OriginTrial Android first 110
OriginTrial webView last 120
OriginTrial webView first 110
Anticipated spec changes
A URLPattern change was made to facilitate this, and
document rules will be affected by upstream changes to
URLPattern. Similarly, upstream changes to CSS selectors
will affect document rules which use selectors to match.
Some minor changes to how links are identified may happen
in the future. We anticipate most changes to be compatible.
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5112150536749056
https://chromestatus.com/feature/5091678266851328
https://chromestatus.com/feature/5069400512659456
Links to previous Intent discussions
Intent to prototype:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2B5JZsPqZakqnGx2zgreGEfRCJ1Xrr16cL2gcqGF7577dFhvsw%40mail.gmail.com
Intent
to Experiment:
https://groups.google.com/a/chromium.org/g/blink-dev/c/3-0rLTZePzc/m/VNHWAdAGDQAJ
Intent to Extend Experiment:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuR13epuEiXzbO3HJq0O9eum5_parJYHWHuje7QztZRd-s56w%40mail.gmail.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 [email protected].
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuR13dJ%2BLypC7QmGmwvoGn3%2BhPs77bDa-NFDWTw0bA5WDhsWA%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuR13dJ%2BLypC7QmGmwvoGn3%2BhPs77bDa-NFDWTw0bA5WDhsWA%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 [email protected].
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfX%2BNm3m5tsOv6VZsAzZeOeBkbYb8%2BUQmfBqabKjv0gyHw%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfX%2BNm3m5tsOv6VZsAzZeOeBkbYb8%2BUQmfBqabKjv0gyHw%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 [email protected].
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/58f3233e-d925-4b2a-af5d-c1216f07036d%40gmail.com.