On Wed, Aug 18, 2021 at 3:14 PM Minoru Chikamune <chikam...@chromium.org> wrote:
> Contact emails > > bfcache-...@chromium.org > > Explainer > > > https://docs.google.com/document/d/1PmUFTxTJN4n-WyWry4tQ96t5P9XXkgwFo9CiNeslZEg/edit > That's a Google-only document. Can you please link to a public version of the explainer? > > 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 > Similarly, can you link to public docs? > > 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. > > 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/CAL5BFfUNrW6jRvOw811sRJ7VmMgtRusWa6oJJj1s2yd6AmgXag%40mail.gmail.com.