Contact emails

yu...@chromium.org, fer...@chromium.org

Explainer

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

Specification

(Not yet ready)

Summary

NotRestoredReason API will report the list of reasons why a page is not
served from BFcache in a frame tree structure, via
PerformanceNavigationTiming API (and Reporting API in the future).


Blink component

UI>Browser>Navigation>BFCache
<https://bugs.chromium.org/p/chromium/issues/list?q=component:UI%3EBrowser%3ENavigation%3EBFCache>

Motivation

Today pages can be blocked from BFCache for different reasons, such as
reasons required by spec and reasons specific to the browser
implementation.

For example, if a page uses a feature such as WebLock and does not release
the acquired lock in the pagehide handler, Chrome does not put the page
into BFCache. If developers want to make their site restored from BFCache,
they have to release the lock in the pagehide handler.

Developers can gather the hit-rate of BFCache on their site, i.e. what % of
history navigation is served by BFCache, by using the pageshow handler
persisted parameter and PerformanceNavigationTiming.type(back-forward).
However, there is no way for developers to tell what reasons are blocking
their pages from BFCache in the wild. They are not able to know what
actions to take to improve the hit-rate.

We would like to make it possible for sites to collect information on why
BFCache is not used on a history navigation, so that they can take actions
on each reason and make their page BFCache compatible.



Initial public proposal

https://github.com/whatwg/html/issues/7094

https://discourse.wicg.io/t/proposal-back-forward-cache-notrestoredreason-api/5773

TAG review

(Not sent yet)

Risks

Interoperability and Compatibility

Gecko: Positive feedback on the GitHub discussion (link
<https://github.com/whatwg/html/issues/7094>)

WebKit: No signal

Web developers:

Positive reactions in W3C WG presentation (minutes
<https://docs.google.com/document/d/1KjlEN9i7jXSquV9Ivld4ysvPmYIGPAYshVqHbVzph0M/edit>
)

Performance Navigation API GitHub thread (link
<https://github.com/w3c/navigation-timing/issues/171>)

Positive reactions in TPAC WebPerf WG (minutes
<https://docs.google.com/document/d/1GQpM8IvL4feXQ0oQdCQIPKhZZkMLNTYJQhBUntMxPkI/edit#heading=h.mo0swzgvknmp>
)



Debuggability

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
?

No

Flag name

(Not yet ready)


Requires code in //chrome?

False

Estimated milestones

No milestones specified


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5684908759449600

-- 
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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAP-nMoGAzjUjzv3WmxcRpUSBgnA-AHQ05kh9gXc%2BQB8pRM6%2BfA%40mail.gmail.com.

Reply via email to