tl;dr: We are enabling back/forward cache by default on Desktop in M96. This feature may require changes to Chromium embedder code.
Back/forward cache improves user experience by enabling instant history navigation to previously-visited pages by freezing and preserving them in memory and reusing them upon history navigations. This feature is now enabled by default. While the bfcache is implemented in //content, it changes a number of assumptions around navigation and document lifecycle, which can lead to various bugs in the code relying on them.
BFCache for a given WebContents is disabled unless the embedder explicitly opt-ins into it by overriding a IsBackForwardCacheSupported() method on WebContentsDelegate to return true. Given that instant history navigations considerably improve user experience, we encourage //content embedders to consider enabling it. However we strongly recommend //content embedders to audit their codebases to detect and fix assumptions invalidated by BFCache before enabling it — more details are available here.
Please feel free to reach out to the bfcac...@chromium.org if you have any questions about back/forward cache.
Thanks
Hi,
There’s currently a lot of knobs configured via Finch which are similarly mirrored in testing/variations/fieldtrial_testing_config.json.
Do you have a summary of the behavioral deltas with and without that FeatureParam configuration being present?
Is there a plan to move some or all that configuration into in-code defaults that would be, by default, inherited by embedders?
Thanks,
Erik
--
You received this message because you are subscribed to the Google Groups "Chromium Embedders" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
embedder-dev...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/embedder-dev/CAEy%2BVD%2BtQYEfwjbYjRCc7JXLRJ%3DS9YpQU9KyJjcAWB8%2BS6t7xA%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "bfcache-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bfcache-dev...@chromium.org.
To view this discussion on the web, visit https://groups.google.com/a/chromium.org/d/msgid/bfcache-dev/MW2PR00MB042508A32567357D799C6B6DF4B79%40MW2PR00MB0425.namprd00.prod.outlook.com.
Hi,
Thanks for the info! As an embedder, we’ve been exploring the benefits vs. regressions we might see. If you’re able to share anything about your high-level evaluation methodology it would be a big help.
In particular, it seems likely that histogram perf metrics related to page load time may regress because the current, relatively fast back/forward navigations (vs. a normal nav) typically have higher cache hit rates (because of recency and because cache control directives can be handled a little differently) and are presumably making those histograms look faster on average. With bfcache, some set of those back/forward navigations will instead be handled by a bfcache’d page which isn’t doing a nav at all and will not make contributions to those histograms.
Are you able to share anything about the methodology you used to reason over perf wins vs. hypothetical losses? Are you looking at both a new, separate set of metrics tied to bfcache’d pages and otherwise re-baselining the existing metrics impacted by there being fewer traditional navigations?
Do you have any synthetic tests that attempt to measure the perf impact of this feature? Understanding your methodology there would also be valuable to learn from.
Thanks,
Erik
Do you have any synthetic tests that attempt to measure the perf impact of this feature? Understanding your methodology there would also be valuable to learn from.