#628: Back/Forward Cache

Visit on Github.

Opened Apr 30, 2021

Hi TAG!

I'm requesting a TAG review of Back/Forward Cache (BFCache).

We’ve recently looked into how BFCache is specified in the HTML spec and other standards, and noticed some problems with the current state. We’ve identified possible solutions for some of them, but we’re interested in getting TAG’s opinion on how we should approach these problems, especially the ones we don’t really have answers to.

The explainer can be found here. TL;DR:

  • How various APIs/existing concepts interact with BFCache is quite underspecified
  • How BFCache is specified is quite subtle, so it’s hard for API spec authors to specify things correctly
  • User agent implementation varies quite a lot
  • We have concrete proposal to update various docs (Web Platform Design Principles and Security and Privacy Questionnaire) and improve the foundational HTML spec, but there are open questions on more high-level stuff such as “How should we retrofit current APIs” and “Which behavior should be specified and which should be left to user agents’ discretion?”

This is probably different from the usual TAG review request, as we’re not really asking for a review of specific APIs, but instead want to answer more meta questions around the design process and how we should approach specifying things (as mentioned above). Our goal is to improve currently-existing specifications and also ensure new APIs are designed with BFCache support in mind by integrating it into the existing design guidelines (and hopefully TAG reviews can help enforce this).

Further details:

  • I have reviewed the TAG's Web Platform Design Principles
  • Relevant time constraints or deadlines: We're hoping to update TAG docs etc sometime in the next 1-2 months
  • The group where the work on this specification is currently being done: WHATWG
  • The group where standardization of this work is intended to be done (if current group is a community group or other incubation venue): WHATWG
  • Major unresolved issues with or opposition to this specification: (see explainer)
  • This work is being funded by: Google

We'd prefer the TAG provide feedback as (please delete all but the desired option):

💬 leave review feedback as a comment in this issue and @-notify @rakina

Discussions

2021-05-Arakeen

Minutes

Tess looked at this. This broadly consists of three things:

  1. tighten up the existing specification of the bfcache to try to get implemnentations to converge & to make it easier to write WPT tests for it
  2. fix places in specs that don't correctly take bfcache into account (e.g. things that just check for visibility)
  3. update the design principles and the sec & priv questionnaire to give spec authors guidance

Overall it seems like they've done a really good job finding the things that need doing and they're tackling them.

Tess left a comment.

2021-08-30

Minutes

2021-09-20

Minutes

Sangwhan: set to proposed closing

Dan: Two PRs, one on s&p questionnaire and one in design principles that landed. I think it should be closed. We need Tess in the room. Plenary?

Sangwhan: I'll take a look before that. Seems like it's not a new proposal, but to define stuff thatw as never defined properly. We don't have much to say in terms of if it's a bad idea - it's already been done, they're just writing it down.