-
Notifications
You must be signed in to change notification settings - Fork 20
Add section for BFCache eviction in cache clearing #77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,6 +20,8 @@ <h1>Clear Site Data</h1> | |
</pre> | ||
<pre class="link-defaults"> | ||
spec:html; type:dfn; for:/; text:browsing context | ||
spec:html; type:dfn; for:navigable; text:top-level traversable | ||
spec:html; type:dfn; for:/; text:session history entries | ||
spec:fetch; type:dfn; for:/; text:response | ||
spec:fetch; type:dfn; for:/; text:http-network fetch | ||
|
||
|
@@ -54,6 +56,15 @@ <h1>Clear Site Data</h1> | |
spec: PSL; urlPrefix: https://publicsuffix.org/list/ | ||
type: dfn | ||
text: registered domain; url: # | ||
spec: html; urlPrefix: https://html.spec.whatwg.org/ | ||
type: dfn | ||
text: document state; url: #document-state-2 | ||
spec: html; urlPrefix: https://html.spec.whatwg.org/ | ||
type: dfn | ||
text: fully active; url: #fully-active | ||
spec: html; urlPrefix: https://html.spec.whatwg.org | ||
type: dfn | ||
text: Destroy; url: #destroy-a-document | ||
</pre> | ||
<pre class="biblio"> | ||
{ | ||
|
@@ -266,8 +277,8 @@ <h3 id="header"> | |
cached data associated with the <a>origin</a> of a particular | ||
<a>response</a>'s [=response/url=]. This includes the <a>network | ||
cache</a>, of course, but will also remove data from various other caches | ||
which a user agent implements (prerendered pages, script caches, shader | ||
caches, [=Accept-CH cache=], etc.). | ||
which a user agent implements (prerendered pages, back/forward caches, script caches, | ||
shader caches, [=Accept-CH cache=], etc.). | ||
|
||
Implementation details are in [[#clear-cache]]. | ||
|
||
|
@@ -572,12 +583,25 @@ <h4 id="clear-cache"> | |
2. Let |cache list| be the set of entries from the <a>network cache</a> whose `target URI` | ||
[=url/host=] is identical to |host|. | ||
|
||
3. For each |entry| in |cache list|: | ||
1. For each |entry| in |cache list|: | ||
|
||
1. Remove |entry| from the <a>network cache</a>. | ||
1. Remove |entry| from the <a>network cache</a>. | ||
|
||
2. If a user agent implements caches beyond a pure <a>network cache</a>, it MUST remove | ||
all entries from those caches which match |origin|. | ||
|
||
3. For each |traversable| in the user agent's set of [=top-level traversable=]: | ||
|
||
1. For each |entry| in the |traversable|'s [=session history entries=]: | ||
|
||
1. Let |state| be |entry|'s <a>document state</a> whose `origin` attribute is identical | ||
to |host|. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This sentence doesn't make sense to me. I think you want to look at |entry|'s [=session history entry/document state=]'s [=document state/origin=]. Then, you need to compare it to |origin| (not |host|, I don't think??). But you can't just say identical to; you need to use [=same origin=]. And then the idea is you want to [=continue=] the loop if there's no match. You can't just assume there's always a match. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
I was copying the terms from line 583 above, which is not accurate for this BFCache clearing case. I have updated the content following the suggestions. Do we need to explicitly [=continue=] the iteration in the spec if we don't have any steps to skip over below? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No need to do so. |
||
|
||
2. Let |document| be |state|'s `document` attribute. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There is no such thing as a " There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm a bit confused by the autolink, seems [=document state/document=] couldn't find the right dfn. I added an dfn entry for it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, it's not exported; thus my comment about reaching into the internals in this way. |
||
|
||
3. If |document| is non-<a>fully active</a>: | ||
lozy219 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
4. If a user agent implements caches beyond a pure <a>network cache</a>, it MUST remove all | ||
entries from those caches which match |origin|. | ||
1. <a>Destroy</a> the |document|. | ||
|
||
ISSUE: We're dealing with the network cache here, as defined in [[!RFC7234]], but that's not | ||
nearly everything a user agent caches. How hand-wavey with the vendor-specific section can | ||
|
Uh oh!
There was an error while loading. Please reload this page.