Skip to content
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

Deferred fetching #1647

Open
wants to merge 40 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
b45caae
Deferred fetching
noamr May 2, 2023
c60d33d
nits
noamr May 4, 2023
1caf2e5
Update fetch.bs
noamr May 8, 2023
e1ad77e
Move sections around
noamr May 8, 2023
d46d14d
Rename to fetchLater and backgroundTimeout
noamr May 8, 2023
bc74307
Fix hierarchy
noamr May 8, 2023
acaa5fd
Restructure to expose a boolean instead of a promise
noamr Jun 11, 2023
39583e2
nit
noamr Jun 11, 2023
ade6e6a
or/and
noamr Jun 18, 2023
be42f40
Remove spurious promise
noamr Jun 29, 2023
06962de
Rename backgrounded
noamr Jun 29, 2023
80b8ac5
Throw a few more errors
noamr Jul 4, 2023
4b5ad7b
Always set keepalive
noamr Jul 5, 2023
0c65ba7
Nits
noamr Aug 20, 2023
20dce84
Remove atomics, leave thread safety to implementation
noamr Aug 20, 2023
c94b957
Throw RangeError when backgroundTimeout is negative
noamr Aug 23, 2023
ef9cad7
Refactor out backgroundTimeout, use activationTimeout
noamr Sep 19, 2023
dfa8138
Throw on ReadableStream
noamr Sep 19, 2023
59e3eef
Fix grammar
noamr Sep 19, 2023
e5fa682
Several editorial changes, renamed to activationDeadline
noamr Oct 2, 2023
1c58932
Handle CR nits
noamr Oct 3, 2023
38b0915
Remove h2
noamr Oct 3, 2023
3f568c8
Bring back line break
noamr Oct 3, 2023
1573f24
nit
noamr Oct 3, 2023
db4f8f1
nit
noamr Oct 3, 2023
0b210af
nit
noamr Oct 3, 2023
6b0f276
- Rename activationDeadline to activateAfter
noamr Oct 9, 2023
14c245c
Throw a NotAllowedError for 3p envs
noamr Oct 25, 2023
31f3a40
Add top-level + per-sink quota
noamr Mar 12, 2024
d3ef568
Check permissions policy
noamr Mar 12, 2024
0612a42
Narrow scope to Window
noamr Mar 13, 2024
4fcb37b
Remove existing NotAllowedError
noamr Mar 13, 2024
761a616
Fix null-body issues
noamr Mar 13, 2024
d965aa4
Revise based on nits
noamr Mar 25, 2024
de2a906
Use correct dfn
noamr Mar 25, 2024
b899925
Remove spurious whitespace
noamr Mar 25, 2024
cd37dda
Use $
noamr Mar 25, 2024
876e0b6
Use new quota algorithm
noamr Apr 11, 2024
8be80b6
nits
noamr Apr 11, 2024
de4d48a
Include url+headers in the quota
noamr Apr 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 7 additions & 3 deletions fetch.bs
noamr marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -2738,7 +2738,7 @@ result of calling <a>check deferred fetching eligibility</a> given <var>settings

<dt><dfn export for="fetch record">controller</dfn>
<dd>A <a for=/>fetch controller</a> or null.

</dl>
<hr>

<p>A <dfn export>deferred fetch record</dfn> is a <a for=/>struct</a> used to maintain state needed
Expand Down Expand Up @@ -6708,8 +6708,8 @@ i.e., when a <a>fetch group</a> is <a for="fetch group">terminated</a>, or after
<var>activateAfter</var> (default null):

<ol>
<li><p>Assert: <var>request</var>'s <a for=request>client</a> is a <a>fully active</a>
{{Document}}.
<li><p>If <var>request</var>'s <a for=request>client</a> is not a <a>fully active</a>
{{Document}}, then throw an "{{InvalidStateError}}" {{DOMException}}.

<li><p>Let <var>document</var> be <var>request</var>'s <a for=request>client</a>.

Expand Down Expand Up @@ -6883,6 +6883,10 @@ To <dfn>check deferred fetching eligibility</dfn> given an <a>environment settin
<li><p>If the result of calling [$Is feature enabled in document for origin?$] given
<var>settings</var> is <code>Disabled</code>, return false.

<li><p>If <var>settings</var>'s <a>node navigable</a>'s <a for=navigable>parent</a> is a
<a for=/>navigable</a> whose <a for=navigable>active document</a>'s <a for=fetch>fetch group</a>'s
<a>is eligible for deferred fetching</a> is true, then return true.

<li><p>If the <a>available deferred fetching quota</a> given <var>settings</var> and null is less
than 64 kibibytes, return false.

Expand Down