On Wed, Aug 18, 2021 at 9:14 AM Minoru Chikamune <chikam...@chromium.org>
wrote:

> Contact emails
>
> bfcache-...@chromium.org
>
> Explainer
>
>
> https://docs.google.com/document/d/1PmUFTxTJN4n-WyWry4tQ96t5P9XXkgwFo9CiNeslZEg/edit
>
> Specification [updated since Android I2S]
>
> Back-forward cache (BFCache) is an already existing concept in HTML spec.
> The BFCache eligibility is referred to as “document salvageable state” [
> spec
> <https://html.spec.whatwg.org/multipage/browsing-the-web.html#concept-document-salvageable>],
> and the navigation steps like “unloading a document” [spec
> <https://html.spec.whatwg.org/multipage/browsing-the-web.html#unload-a-document>]
> refers to BFCache as “keep document alive in a session history entry”. We
> have been actively improving BFCache in standards through writing
> guidelines <https://github.com/w3ctag/design-principles/pull/317> on how
> web platform features should interact with BFCache, filing and fixing
> current spec issues <https://github.com/whatwg/html/issues/5880>, and
> making it possible to test BFCache through WPTs
> <https://github.com/web-platform-tests/wpt/pull/28950> (+ writing the
> WPTs).
>
> Design docs [unchanged]
>
>
> https://docs.google.com/document/d/1jwzZx_hUqca6ALmK2G1aNcykhWM1Bh79zRZlUg5KKjQ/edit
>
> Summary
>
> Back-forward cache is a browser feature which improves the user experience
> by keeping a page alive after the user navigates away from it and reuses it
> for session history navigation (browser back/forward buttons,
> history.back(), etc) to make the navigation instant. The pages in the cache
> are frozen and do not run any javascript.
>
> We already shipped <https://www.chromestatus.com/feature/5815270035685376>
> this feature for Android
> <https://groups.google.com/a/chromium.org/g/blink-dev/c/XS9VnYQoaQE>. We
> want to ship back-forward cache on desktop environments.
>
> Link to “Intent to Experiment” blink-dev discussion
>
> https://groups.google.com/a/chromium.org/g/bfcache-dev/c/6nKwd472yPI
>
> Is this feature supported on all six Blink platforms (Windows, Mac, Linux,
> Chrome OS, Android, and Android WebView)?
>
> No.
>
> We already shipped this feature for Android.
>
> We would like to proceed shipping of BFCache to Windows, Mac, Linux and
> Chrome OS platforms with this I2S.
>
> We do not have active plans to support Android WebView as the cost of
> integrating WebView embedding APIs with back-forward cache is too high,
> while history navigation optimisations have limited benefit for WebView
> given its nature.
>
> Debuggability [unchanged]
>
> Support for DevTools is planned
> <https://docs.google.com/document/d/1AERry3jkVMk1OHtka_1Q3ThC-9OIMxUxZN4cPH9hi54/edit?usp=sharing>
> and currently being implemented. With this addition, web developers can see
> a list of reasons why their page is not eligible for bfcache.
>
> Blink component
>
> UI>Browser>Navigation>BFCache
>
> Search tags
>
> bfcache
> <https://www.chromestatus.com/features/6520669959356416#tags:bfcache>
>
> RisksInteroperability and Compatibility [updated since Android I2S]
>
> Interoperability - Low, given that we have been shipping it on Android,
> along with other vendors.
>
> Gecko: Shipping
> <https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/1.5/Using_Firefox_1.5_caching>
>
> WebKit: Shipping
> <https://webkit.org/blog/427/webkit-page-cache-i-the-basics/>
>
> Chrome Android: Shipping
> <https://groups.google.com/a/chromium.org/g/blink-dev/c/XS9VnYQoaQE>
>
> Since shipping on Android, we have made significant progress on the
> standardization front. The W3C TAG agreed
> <https://github.com/w3ctag/design-reviews/issues/628#issuecomment-837570345>
> to put BFCache considerations to their Design Principles guideline [pull
> <https://github.com/w3ctag/design-principles/pull/317>, pull
> <https://github.com/w3ctag/security-questionnaire/pull/128>], so all
> future APIs will have BFCache support explicitly specified. The BFCache
> interaction is now part of OWP Security Review as well.
>
> Compatibility - Low.
>
> To minimize compatibility risk, we continue to take the cautious approach
> of not caching pages when faced with uncertainty.
>
> Notable difference to the Android launch is unload handlers. For this
> release, we mitigated the risk by requiring the `BFCache-Opt-In: unload`
> response header specified by the page author to put pages with unload
> handlers to BFCache. We will not fire unload events when the page is
> BFCached. This was less of an issue on Android, since the unload handlers
> were not reliable on Android anyway. Desktop Chrome also didn’t guarantee
> the unload handler as well, but it is fired most of the time that many
> desktop websites rely on it. Again, we don’t BFCache such pages without the
> page authors’ consent in this release, but we might want to revisit this in
> the future (related: Firefox experiment
> <https://groups.google.com/a/mozilla.org/g/dev-platform/c/3pQRLPZnQgQ/m/dsA1w4iiAwAJ>).
> An enterprise policy for disabling back-forward cache is available.
>

This header seems like a significant interop risk, as I'm not aware of any
specification for it, or signals from other vendors.

It would be good to get a specification pull request written to HTML,
appropriate WPT coverage, and ideally some agreement from other vendors
that they want to go this route, before shipping.


>
> Ergonomics [unchanged]
>
> N/A. Websites don’t have to do anything (i.e. they will benefit from
> BFCache automatically).
>
> Activation [unchanged]
>
> Mostly N/A.
>
> Back-forward cache will work without any developer activation, but web
> developers can make their pages bfcache-friendly with some extra work. This
> would further increase the cache hit rate and improve the user experience.
> We have published guidance on https://web.dev/bfcache/. Also we'll be
> working with partners and interested parties on this.
>
> Security [new!]
>
> See these one-pagers
>
>    -
>
>    Privacy one-pager: BFCache Desktop: Privacy Explainer
>    
> <https://docs.google.com/document/d/1x-Z291LQxHNJw5uyvkW6gjEAfgTmkm1zLv3whKjIyXs/edit>
>    -
>
>    Security one-pager: BFCache Desktop: Security Explainer
>    
> <https://docs.google.com/document/d/1o7FZ58s8m1o5w9Bt-8vWNNbTDRidGV_BIrHaogU8d_M/edit>
>
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
> ?
>
> We are actively making progress in the area.
>
>    -
>
>    List of issues to be covered by tests
>    <https://github.com/whatwg/html/issues/5880>
>    -
>
>    Discussions on test framework APIs needed for BFCache tests are
>    ongoing around WPT PR
>    <https://github.com/web-platform-tests/wpt/pull/28950> and WPT RFCs
>    (86, 88-91)
>    <https://github.com/web-platform-tests/rfcs/pull/86#issuecomment-887783246>
>    .
>    -
>
>    We have more draft WPTs
>    <https://chromium-review.googlesource.com/c/chromium/src/+/2798554/>
>    that will be ready for code review once the discussions on test framework
>    is settled.
>
>
> Tracking bug
>
> https://crbug.com/1171298
>
> Launch bug
>
> https://crbug.com/1196523
>
> Link to entry on the feature dashboard <https://www.chromestatus.com/>
>
> https://chromestatus.com/feature/6279906713403392
>
> --
> 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/CAEy%2BVDLEkNUVt%2Bk4u6w0xzL-XHovRqtq%2BUx6atJdeo0-rBZaUw%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEy%2BVDLEkNUVt%2Bk4u6w0xzL-XHovRqtq%2BUx6atJdeo0-rBZaUw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAM0wra_dJY4HC%2BNKOH62Eh4RRE-z6FnFXqXXEDBKPKJB49ZOiw%40mail.gmail.com.

Reply via email to