[blink-dev] Intent to Extend Origin Trial: Subresource loading with Web Bundles

74 views
Skip to first unread message

Daisuke Enomoto

unread,
May 24, 2022, 11:30:45 PM5/24/22
to blink-dev, Hayato Ito, Kunihiko Sakamoto, Kenji Baheux, Jeffrey Yasskin

Contact emails

hay...@chromium.org, deno...@chromium.org


Explainer

https://github.com/WICG/webpackage/blob/master/explainers/subresource-loading.md


Specification

https://wicg.github.io/webpackage/subresource-loading.html


Design docs

https://chromium.googlesource.com/chromium/src.git/+/refs/heads/master/content/browser/web_package/subresource_loading_origin_trial.md


Summary

We sent the I2S for the Subresource loading with Web Bundles on April 13th and received a couple of critical feedback we should address before moving forward. While we’re actively engaged with various stakeholders to address them, we realized the previous OT had expired in M101, which caused an unintended negative impact to the OT participants in that they couldn’t continue to test their changes to use the new format. Therefore, we’re sending this Intent to Extend OT to allow them to check for the possibility of regressions introduced with the changes. The features added in the previous OT are listed below. From the implementation perspective, there is no difference between the previous OT and this time.


  1. <script>-based API from <link>-based API

  2. new scheme: uuid-in-package

  3. Web Bundle format version


Blink component

Blink>Loader>WebPackaging


TAG review

https://github.com/w3ctag/design-reviews/issues/616


Risks



Interoperability and Compatibility

No interoperability and compatibility risk has been identified. This is purely a feature addition. A browser which doesn’t support this feature should load subresources from the network, as usual.


Gecko: In discussion (https://github.com/mozilla/standards-positions/issues/590)


WebKit: No signal (https://lists.webkit.org/pipermail/webkit-dev/2021-November/032038.html)


Web developers:

Google Ads (use case) (origin trial participant)

> Web bundle serving is a major overhaul of how GPT requests and renders ads, built on top of a new browser API which we have been designing with the Chrome team.  It offers large loading performance improvements and security and privacy relative to safeframe rendering:

  • Performance improvements by fetching multiple Ads creatives in a single request.

  • Enhance privacy: Creative contents can no longer be read or modified by the publisher or others in the publisher's JS context. Creatives can no longer read or modify each other.


Other signals:


Ergonomics

This feature can be used to improve loading performance by fetching multiple resources in a single request. If a browser doesn’t support this feature, a request should be served from a network as usual.

`HTMLScriptElement.supports("webbundle")` can be used for feature detection as well.

There are several tools and plugins available for packaging Web Bundles.


Activation

Developers need to package their subresoruces beforehand in order to take advantage of this feature. We'll work with JS bundler ecosystems to provide a plugin to package subresources as Web Bundles.


Security

Received approval for Security and Privacy in our launch bug. We had addressed a security concern for the usage of <link> elements. The API now uses <script> elements. We ship only <script type=webbundle>.


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?



Goals for experimentation

This Intent to Extend does not include new changes, but aims to get sufficient data from the developers before shipping the feature. Developers have until M104 to validate experience through the Origin Trial of this feature.


See these documents for details that have been available through the previous experiment.


Reason this experiment is being extended

See Summary.


Ongoing technical constraints

None


Debuggability

Developers have the ability to test this functionality on their pages by opening DevTools and selecting the Network tab. This allows the DevTools to represent Web Bundles and the resources that originate from it being attributed to the Web Bundle (link).


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?

Yes (link).


Flag name



Requires code in //chrome?

False


Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1082020


Launch bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1133108


Estimated milestones

OriginTrial desktop last

104

OriginTrial desktop first

90


OriginTrial Android last

104

OriginTrial Android first

90



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5710618575241216


Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/wYn13HabRN0/m/L4y4iY1-AgAJ

Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/9CwkzaF_eQ4/m/kuR07FTTCAAJ

Intent to Extend Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/lv2JQjDdyhM/m/PorzzeeHAAAJ

Intent to Ship: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFpjS_0ULu4HJbO8g88v2M4p6TBgePaCm5G-79VbxHpmfye%2Bcg%40mail.gmail.com


This intent message was generated by Chrome Platform Status.


Daisuke Enomoto

unread,
May 25, 2022, 6:47:46 AM5/25/22
to blink-dev, Hayato Ito, Kunihiko Sakamoto, Kenji Baheux, Jeffrey Yasskin
I would like to make it clear that the previous OT has expired in M101 and it's not enabled in M102. So this intent is to enable it back for 103 through 104.

Daisuke

Yoav Weiss

unread,
May 25, 2022, 6:54:50 AM5/25/22
to Daisuke Enomoto, blink-dev, Hayato Ito, Kunihiko Sakamoto, Kenji Baheux, Jeffrey Yasskin
Thanks for clarifying that. The break in the OT provides us with a guarantee that it has not been burnt in.


LGTM to experiment m103-m104, given the OT feedback provided on the other thread.

--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA5e699S1rRPciOkjaUsfsuNV8JbMyAtoB2AZQK4%2BSVOgbGDLw%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages