Intent to Experiment: Back/forward cache NotRestoredReason API

580 views
Skip to first unread message

Yuzu Saijo

unread,
Oct 21, 2022, 3:34:41 AM10/21/22
to blin...@chromium.org, bfcache-dev, deno...@chromium.org, yoav...@chromium.org

Contact emails

yu...@google.comyu...@chromium.orgfer...@chromium.org

Explainer

https://github.com/rubberyuzu/bfcache-not-retored-reason/blob/main/NotRestoredReason.md


Design docs


https://github.com/rubberyuzu/bfcache-not-retored-reason/blob/main/NotRestoredReason.md

Summary

NotRestoredReason API reports the reasons why a page is not served from BFCache after a history navigation. The report is accessible via the PerformanceNavigationTiming API. The report attributes reasons to specific frames as much as possible, while respecting cross-origin security concerns.


Blink component

UI>Browser>Navigation>BFCache

TAG review

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

TAG review status

Issues addressed

Risks


Interoperability and Compatibility


Gecko: No signal

WebKit: No signal

Web developers: Positive (https://github.com/w3c/navigation-timing/issues/171#issuecomment-1062672989)

Security

We do not report detailed information about cross-origin iframes. For cross-origin iframes, we only report if they blocked bfcache or not, and we do not report the reasons why.



Goals for experimentation

We would like developers to use the new field notRestoredReasons in performance navigation entry, e.g. performance.getEntriesByType('navigation')[0].notRestoredReasons; The goal of the experiment is to gather feedback from developers about the API shape.


Debuggability

In DevTools console, try: performance.getEntriesByType('navigation')[0].notRestoredReasons;



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

No

Is this feature fully tested by web-platform-tests?

No

DevTrial instructions

https://github.com/rubberyuzu/bfcache-not-retored-reason/blob/main/HowToTest.md

Flag name

--enable-experimental-web-platform-features

Requires code in //chrome?

False

Tracking bug

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

Launch bug

https://launch.corp.google.com/launch/4200848

Estimated milestones

OriginTrial desktop last110
OriginTrial desktop first108
DevTrial on desktop108
OriginTrial Android last110
OriginTrial Android first108
DevTrial on Android108
OriginTrial webView last110
OriginTrial webView first108


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5684908759449600

Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAP-nMoGAzjUjzv3WmxcRpUSBgnA-AHQ05kh9gXc%2BQB8pRM6%2BfA%40mail.gmail.com


This intent message was generated by Chrome Platform Status.

Mike Taylor

unread,
Oct 21, 2022, 10:09:37 AM10/21/22
to Yuzu Saijo, blin...@chromium.org, bfcache-dev, deno...@chromium.org, yoav...@chromium.org
LGTM to experiment from M108 to M110 inclusive.

Out of curiosity, where did we land on extensions?

--
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/CAP-nMoHe391sAB2PdbEVw9uiSPFxTB_EYsRizcPpZ7-pg16O0A%40mail.gmail.com.


Yuzu Saijo

unread,
Oct 24, 2022, 2:09:55 AM10/24/22
to Mike Taylor, blin...@chromium.org, bfcache-dev, deno...@chromium.org, yoav...@chromium.org
Thanks Mike!
I update the description in the explainer. We talked to the privacy team and decided to say "Extensions" for all the extension related reasons (we decided that it's okay to expose the presence of extensions, but will avoid giving any further information).

Yuzu

Mike Taylor

unread,
Oct 24, 2022, 10:28:42 AM10/24/22
to Yuzu Saijo, blin...@chromium.org, bfcache-dev, deno...@chromium.org, yoav...@chromium.org
Cool - thanks for the info and for updating the explainer.

Yuzu Saijo

unread,
Nov 17, 2022, 2:46:37 AM11/17/22
to Mike Taylor, blin...@chromium.org, bfcache-dev, deno...@chromium.org, yoav...@chromium.org
There's an update on the experiment.

The Privacy team has spotted a potential information leak in this API design, and we're working to land the fix in M109.
Hence changing the OT period to M109-M111. (Updated ChromeStatusEntry)

Please let us know if the Milestone change is okay.

Thanks!

Yoav Weiss

unread,
Nov 17, 2022, 6:32:42 AM11/17/22
to Yuzu Saijo, Mike Taylor, blin...@chromium.org, bfcache-dev, deno...@chromium.org
Sounds great! Thanks for addressing the issues :)
Reply all
Reply to author
Forward
0 new messages