Implement bfcache clearing for `Clear-Site-Data: cache`-header
Categories
(Toolkit :: Data Sanitization, enhancement, P2)
Tracking
()
People
(Reporter: manuel, Assigned: manuel)
References
(Blocks 1 open bug)
Details
(Keywords: dev-doc-complete, priv-triaged)
Attachments
(1 file)
| Assignee | ||
Comment 1•7 months ago
|
||
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
Comment 2•5 months ago
|
||
Comment on attachment 9474811 [details]
Bug 1930501 - Implement bfcache clearing for Clear-Site-Data: "cache"-header r=#anti-tracking,smaug
Revision D243176 was moved to bug 1967474. Setting attachment 9474811 [details] to obsolete.
Updated•5 months ago
|
| Assignee | ||
Comment 4•5 months ago
|
||
With this change we'll be clearing the bfcache with the clear-site-data: cache directive. Might be good to add the cache to the list in https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Clear-Site-Data#cache
Also this patch somewhat introduces partitioning for bfcache due to exposing it to web content somehow. It could potentially be added to https://developer.mozilla.org/en-US/docs/Web/Privacy/Guides/State_Partitioning#network_partitioning
Comment 7•5 months ago
|
||
Revert for causing bc failures on browser_cookiePermission.js. and for causing multiple failures.
Comment 10•4 months ago
|
||
Comment 11•4 months ago
|
||
| Assignee | ||
Comment 12•4 months ago
•
|
||
Bfcache cleaning is only implemented when ship (session history in parent) is enabled. I need to disable / accept failure other CI configurations (nofis / noship).
Comment 17•4 months ago
|
||
Comment 18•4 months ago
|
||
| bugherder | ||
| Assignee | ||
Comment 21•4 months ago
•
|
||
Release Note Request (optional, but appreciated)
[Why is this notable]: This is noteworthy for two reasons:
- Less potential privacy leaks on websites that use this header. E.g. If a bank sends this header on logout, the account balance won't be visible when using the back button after logout.
- This exposes the bfcache programmatically to websites and therefore introduced a partitioning concept for it
Potentially too technical and more approriate for Firefox release notes for developers.
[Affects Firefox for Android]: Yes
[Suggested wording]: Firefox will now also clear the back-forward-cache when receiving the Clear-Site-Data: "cache" response header.
[Links (documentation, blog post, etc)]:
Comment 22•4 months ago
|
||
Note added to the Developer section of our Nightly 141 release notes. I am keeping the relnote flag open until we ship it to release, thanks.
Comment 23•4 months ago
•
|
||
FF141 docs work for this can be tracked in https://github.com/mdn/content/issues/40020
-
Currently this is just a release note update and adding mention of the bfcache to the
"cache"directive - see: https://github.com/mdn/content/pull/40033 -
I didn't update compatibility data because as far as I can tell the interface has no expectation that a particular cache will be cleared, and we don't track any of the other kinds that might be (see compatibility data https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Clear-Site-Data).
-
YOu say:
This exposes the bfcache programmatically to websites and therefore introduced a partitioning concept for it
What difference does this make to a website (the partitioning concept)? I mean "what would/could a website do differently by knowing about this".
I'm trying to work out whether it is useful for website developers to mention the partitioning thing in the developer release note.
Updated•4 months ago
|
| Assignee | ||
Comment 24•4 months ago
|
||
(In reply to Hamish Willee from comment #23)
What difference does this make to a website (the partitioning concept)? I mean "what would/could a website do differently by knowing about this".
I'm trying to work out whether it is useful for website developers to mention the partitioning thing in the developer release note.
I mean non really, in the end. But the use-cases for this API are slim anyway. If you are embedded by a third party with an iframe, your bfcache (and other caches) are unaffected in first party (=unpartitioned) context.
So from a website perspective: if you have an enpoint like https://example.com/clear-all that always returns the header, your cache (including bfcache) would stay unaffected if this was embedded as an iframe from https://thirdparty.com for whatever reason.
The partitioning is mostly there to isolate sites from each other to prevent cross-site tracking users. The bfcache would be really hard to use (potentially impossible) for cross-site tracking. However, by also partitioning the bfcache, it is guaranteed to not introduce another cross-site tracking mechanism.
IMHO it the partitioning part isn't developer release note worthy, the bfcache part might.
Updated•4 months ago
|
Description
•