Contact emailspmee...@chromium.org

SpecificationNone

Design docs
https://docs.google.com/document/d/1xaoF9iSOojrlPrHZaKIJMK4iRZKA3AD6pQvbSy4ueUQ/edit?usp=sharing

Summary

For a small number (hundreds) of hand-curated static third-party scripts
that are used on a large portion of the web, Chrome will use a single-keyed
HTTP cache to store those resources. This helps users and site owners with
faster performance for those scripts that are very widely used while
maintaining the privacy protections of the partitioned disk cache. This
feature targets the scripts that most users are likely to see multiple
times across multiple sites in any given browsing session. They are usually
not in the critical path of the page loading and may not impact the common
performance metrics but they are still important for the healthy operation
of the web. The list of candidate scripts is curated from the HTTP Archive
dataset. This includes site-independent things like common analytics
scripts, social media embeds, video player embeds, captcha providers and
ads libraries. It allows for code that uses versioned URLs as long as the
versioning is not a manual process by embedders and that the same version
is sent to everybody at a given point in time with the same contents. This
does not include things like common Javascript libraries where they are
commonly self-hosted or where the URL references a specific version of the
library and it is up to site owners to manually select a version.

Blink componentBlink>Network
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ENetwork%22>

TAG reviewNone

TAG review statusNot applicable

Risks


Interoperability and Compatibility

This change is internal to Chrome and should be completely transparent to
the web platform with no interoperability risks.


*Gecko*: N/A

*WebKit*: N/A

*Web developers*: No signals

*Other signals*:

Ergonomics

N/A


Activation

N/A


Security

Cache partitioning added a level of privacy protection that is being
disabled for a small number of resources where it is deemed safe to do so.
The linked document and issue provide the details on the protections that
are in place to minimize the privacy exposure.


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


Goals for experimentation

For the purposes of the experiment, we will target around a dozen of the
most-impactful scripts (mostly ads and analytics) and work with the script
owners to measure the resulting impact (on performance, reliability and
business metrics).

If these scripts show minimal impact from using a shared cache then there
is no value in the added complexity for the feature and it can be
documented and closed.

If there is significant impact then it is likely worth pursuing further
(and will also be documented for other similar efforts).

Ongoing technical constraints

None


Debuggability

The cache key used for any given resource is exposed in the netlog
<https://www.chromium.org/for-testers/providing-network-details/> which can
be used to verify if a given resource used the shared cache or not.


Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, ChromeOS, 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>
?No

Flag name on about://flagsNone

Finch feature nameCacheSharingForPervasiveScripts

Non-finch justificationNone

Requires code in //chrome?False

Tracking bughttps://issues.chromium.org/u/1/issues/404196743

MeasurementThe success of this feature will be measured directly with the
owners of a small number of targeted scripts with a web-exposed experiment.

Estimated milestones

No milestones specified


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5202380930678784

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/CAPq58w50QC8Vj9qUT_eyAdz2nFx2jEW0033KFeDeM6v%3D4J-mKw%40mail.gmail.com.

Reply via email to