Skip to content

Commit 56a15bf

Browse files
authored
Add new user-agent specific bfcache blocking reasons
As part of the project that enables bfcache on pages with the Cache-control: no-store header, Chromium will evict the bfcache-eligible page if it has ever used WebSocket, WebRTC, or WebTransport. Add new reason strings to reflect these cases. See https://github.com/fergald/explainer-bfcache-ccns/blob/main/README.md for more background.
1 parent d3a2428 commit 56a15bf

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

source

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98825,6 +98825,14 @@ interface <dfn interface>NotRestoredReasons</dfn> {
9882598825
<code>RTCDataChannel</code> was shut down, so the page was not in a state that could be stored in
9882698826
the <a href="#note-bfcache">back/forward cache</a>. <ref>WEBRTC</ref></dd>
9882798827

98828+
<dt>"<dfn data-x="blocking-rtc-used-with-ccns" export><code>rtc-used-with-cache-control-no-store</code></dfn>"</dt>
98829+
<dd>The <code>Document</code> was created from an HTTP response whose
98830+
`<code data-x="http-cache-control">Cache-Control</code>` header included the
98831+
"<code data-x="">no-store</code>" token, and it has created a <code>RTCPeerConnection</code> or
98832+
<code>RTCDataChannel</code> which might be used to receive sensitive information, so the page was
98833+
not in a state that could be stored in the <a href="#note-bfcache">back/forward cache</a>.
98834+
<ref>HTTP</ref> <ref>WEBRTC</ref></dd>
98835+
9882898836
<dt>"<dfn data-x="blocking-sensors" export><code>sensors</code></dfn>"</dt>
9882998837
<dd>The <code>Document</code> <span data-x="request-sensor-access">requested sensor
9883098838
access</span>.</dd>
@@ -98893,11 +98901,25 @@ interface <dfn interface>NotRestoredReasons</dfn> {
9889398901
<dd>The <code>Document</code> used the Web Share API's <code
9889498902
data-x="dom-Navigator-share">navigator.share()</code> method.</dd>
9889598903

98904+
<dt>"<dfn data-x="blocking-websocket-used-with-ccns" export><code>websocket-used-with-cache-control-no-store</code></dfn>"</dt>
98905+
<dd>The <code>Document</code> was created from an HTTP response whose
98906+
`<code data-x="http-cache-control">Cache-Control</code>` header included the
98907+
"<code data-x="">no-store</code>" token, and it has created a <code>WebSocket</code> connection
98908+
which might be used to receive sensitive information, so the page was not in a state that could be
98909+
stored in the <a href="#note-bfcache">back/forward cache</a>. <ref>HTTP</ref> <ref>WEBSOCKETS</ref></dd>
98910+
9889698911
<dt>"<dfn data-x="blocking-webtransport" export><code>webtransport</code></dfn>"</dt>
9889798912
<dd>While <span data-x="unload a document">unloading</span>, an open <code>WebTransport</code>
9889898913
connection was shut down, so the page was not in a state that could be stored in the <a
9889998914
href="#note-bfcache">back/forward cache</a>. <ref>WEBTRANSPORT</ref></dd>
9890098915

98916+
<dt>"<dfn data-x="blocking-webtransport-used-with-ccns" export><code>webtransport-used-with-cache-control-no-store</code></dfn>"</dt>
98917+
<dd>The <code>Document</code> was created from an HTTP response whose
98918+
`<code data-x="http-cache-control">Cache-Control</code>` header included the
98919+
"<code data-x="">no-store</code>" token, and it has created a <code>WebTransport</code> connection
98920+
which might be used to receive sensitive information, so the page was not in a state that could be
98921+
stored in the <a href="#note-bfcache">back/forward cache</a>. <ref>HTTP</ref> <ref>WEBTRANSPORT</ref></dd>
98922+
9890198923
<dt>"<dfn data-x="blocking-webxr" export><code>webxrdevice</code></dfn>"</dt>
9890298924
<dd>The <code>Document</code> created a <code>XRSystem</code>.</dd>
9890398925
</dl>

0 commit comments

Comments
 (0)