Intent to Ship: Content Index API

145 views
Skip to first unread message

Rayan Kanso

unread,
Apr 23, 2020, 7:11:02 AM4/23/20
to blink-dev

Contact emails

raya...@chromium.org, pe...@chromioum.org, kno...@chromium.org


Explainer

https://github.com/wicg/content-index


Spec

Draft Spec: https://wicg.github.io/content-index/spec/

Tag Review: https://github.com/w3ctag/design-reviews/issues/496


Summary

The content index allows websites to register their offline enabled content in the browser. The browser can then improve users’ offline capabilities by offering content to browse through while offline. This API is not another storage mechanism, but rather a metadata mechanism. How the offline content is created is orthogonal to this API.


Link to “Intent to Prototype” blink-dev discussion

https://groups.google.com/a/chromium.org/d/topic/blink-dev/qERxZjYu6SE/discussion


Link to Origin Trial feedback summary

Feedback was generally positive. All participants agreed that the API wasn’t too difficult to use, that there aren’t alternatives to this API if it won’t be shipped, and that they will likely continue using it when shipped. The few participants who said this API was hard to use focused on the fact that they had to cache the offline pages themselves. 


Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

The feature is platform agnostic, but we will only enable the feature with a UI surface on Android since the offline problem is more prevalent there. Other platforms can follow suit when required.


Demo link

https://contentindex.dev


Risks

Interoperability and Compatibility

Edge: Positive

Firefox: No Signals, https://github.com/mozilla/standards-positions/issues/166

Safari: No Signals

Web / Framework developers: Positive based on OT feedback

Ergonomics

No adverse effects on Chrome performance are expected.

Activation

The API can be used immediately when shipped. More information on that here: https://web.dev/content-indexing-api/


Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.

Yes, link here.


Entry on the feature dashboard

https://www.chromestatus.com/feature/5658416729030656


Rayan Kanso

unread,
Apr 23, 2020, 9:02:15 AM4/23/20
to Rayan Kanso, blink-dev
Actual link to the draft spec: https://wicg.github.io/content-index/spec/

--
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/CAAe2mZ2iUVvj9MQ-sZMTrc0Jp6nCWg1TOpFh7UMwziyt8fQ_Cg%40mail.gmail.com.

Dominic Farolino

unread,
Apr 23, 2020, 1:27:09 PM4/23/20
to Rayan Kanso, Rayan Kanso, blink-dev
On Thu, Apr 23, 2020 at 7:02 AM 'Rayan Kanso' via blink-dev <blin...@chromium.org> wrote:
Actual link to the draft spec: https://wicg.github.io/content-index/spec/

On Thu, Apr 23, 2020 at 12:11 PM Rayan Kanso <raya...@chromium.org> wrote:

Contact emails

raya...@chromium.org, pe...@chromioum.org, kno...@chromium.org


Explainer

https://github.com/wicg/content-index


Spec

Draft Spec: https://wicg.github.io/content-index/spec/

Tag Review: https://github.com/w3ctag/design-reviews/issues/496


Summary

The content index allows websites to register their offline enabled content in the browser. The browser can then improve users’ offline capabilities by offering content to browse through while offline. This API is not another storage mechanism, but rather a metadata mechanism. How the offline content is created is orthogonal to this API.


Link to “Intent to Prototype” blink-dev discussion

https://groups.google.com/a/chromium.org/d/topic/blink-dev/qERxZjYu6SE/discussion


I think this link is broken for the public. This one should work: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/qERxZjYu6SE

Chris Harrelson

unread,
Apr 30, 2020, 3:18:25 PM4/30/20
to Dominic Farolino, Rayan Kanso, Rayan Kanso, blink-dev

Mike West

unread,
Apr 30, 2020, 3:24:25 PM4/30/20
to Chris Harrelson, Dominic Farolino, Rayan Kanso, Rayan Kanso, blink-dev
LGTM2.

I flipped the security bit on the origin trial internally, and I'm still comfortable with this. That said, I'd also like you to take a closer look at https://github.com/WICG/content-index/issues/18, as it still seems to me that users are much more likely to appreciate content being stored from sites they've visited at a top level than from sites that might have been embedded in those explicitly-visited sites.


-mike


Rayan Kanso

unread,
May 1, 2020, 7:12:24 AM5/1/20
to Mike West, Chris Harrelson, Dominic Farolino, Rayan Kanso, blink-dev
Hi Mike,

I wanted to give some context around why this API isn't restricted to top-level contexts. This API is tied to Service Workers, so even if the top level restriction is added, child frames would still be able to add content by using the Service Worker. However, at the end of the day, this is just metadata about available offline content. It's the browser's job to choose which content to surface. There's more about this in the Explainer's abuse considerations

Thanks,
~Rayan

Yoav Weiss

unread,
May 1, 2020, 2:28:22 PM5/1/20
to Rayan Kanso, Mike West, Chris Harrelson, Dominic Farolino, Rayan Kanso, blink-dev
Reply all
Reply to author
Forward
0 new messages