Skip to content

Commit 16ffc4b

Browse files
committed
Add the Priority Hints changes to the fetch spec
1 parent 1c3a3bb commit 16ffc4b

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

fetch.bs

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1734,7 +1734,12 @@ not always relevant and might require different behavior.
17341734
<hr>
17351735

17361736
<p>A <a for=/>request</a> has an associated
1737-
<dfn export for=request id=concept-request-priority>priority</dfn> (null or a
1737+
<dfn export id=concept-request-priority>priority</dfn>, which is
1738+
"<code>high</code>", "<code>low</code>" or "<code>auto</code>". Unless stated otherwise it is
1739+
"<code>auto</code>".
1740+
1741+
<p>A <a for=/>request</a> has an associated
1742+
<dfn export for=request id=concept-request-internal-priority>internal priority</dfn> (null or a
17381743
user-agent-defined object). Unless otherwise stated it is null.
17391744

17401745
<p>A <a for=/>request</a> has an associated
@@ -4134,10 +4139,10 @@ the request.
41344139
<a for=/>header value</a>) to <var>request</var>'s <a for=request>header list</a>.
41354140

41364141
<li>
4137-
<p>If <var>request</var>'s <a for=request>priority</a> is null, then use <var>request</var>'s
4138-
<a for=request>initiator</a>, <a for=request>destination</a>, and
4139-
<a for=request>render-blocking</a> appropriately in setting <var>request</var>'s
4140-
<a for=request>priority</a> to a user-agent-defined object.
4142+
<p>If <var>request</var>'s <a for=request>internal priority</a> is null, then use
4143+
<var>request</var>'s <a for=request>priority</a>, <a for=request>initiator</a>,
4144+
<a for=request>destination</a>, and <a for=request>render-blocking</a> appropriately in setting
4145+
<var>request</var>'s <a for=request>internal priority</a> to a user-agent-defined object.
41414146

41424147
<p class=note>The user-agent-defined object could encompass stream weight and dependency for
41434148
HTTP/2, and equivalent information used to prioritize dispatch and processing of HTTP/1 fetches.
@@ -6873,6 +6878,7 @@ interface Request {
68736878
readonly attribute boolean isHistoryNavigation;
68746879
readonly attribute AbortSignal signal;
68756880
readonly attribute RequestDuplex duplex;
6881+
readonly attribute FetchPriority priority;
68766882

68776883
[NewObject] Request clone();
68786884
};
@@ -6892,6 +6898,7 @@ dictionary RequestInit {
68926898
boolean keepalive;
68936899
AbortSignal? signal;
68946900
RequestDuplex duplex;
6901+
FetchPriority priority;
68956902
any window; // can only be set to null
68966903
};
68976904

@@ -6901,6 +6908,7 @@ enum RequestCredentials { "omit", "same-origin", "include" };
69016908
enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" };
69026909
enum RequestRedirect { "follow", "error", "manual" };
69036910
enum RequestDuplex { "half" };
6911+
enum FetchPriority { "high", "low", "auto" };
69046912
</pre>
69056913

69066914
<p class="note no-backref">"<code>serviceworker</code>" is omitted from
@@ -6998,6 +7006,9 @@ object), initially null.
69987006
set when {{RequestInit/body}} is a {{ReadableStream}} object. <span class=note>See
69997007
<a href="https://github.com/whatwg/fetch/issues/1254">issue #1254</a> for defining
70007008
"<code>full</code>".</span>
7009+
7010+
<dt>{{RequestInit/priority}}
7011+
<dd>A string to set <var>request</var>'s {{Request/priority}}.
70017012
</dl>
70027013

70037014
<dt><code><var>request</var> . <a attribute for=Request>method</a></code>
@@ -7071,6 +7082,10 @@ object), initially null.
70717082
<span class=note>See <a href="https://github.com/whatwg/fetch/issues/1254">issue #1254</a> for
70727083
defining "<code>full</code>".</span>
70737084

7085+
<dt><code><var>request</var> . <a attribute for=Request>priority</a></code>
7086+
<dd>Returns the <a>priority</a> of the <var>request</var>, e.g., "<code>high</code>",
7087+
"<code>low</code>" or "<code>auto</code>".
7088+
70747089
<dt><code><var>request</var> . <a method for=Request>clone</a>()</code>
70757090
<dd><p>Returns a clone of <var>request</var>.
70767091
</dl>
@@ -7185,6 +7200,9 @@ constructor steps are:
71857200
<dt><a for=request>priority</a>
71867201
<dd><var>request</var>'s <a for=request>priority</a>.
71877202

7203+
<dt><a for=request>internal priority</a>
7204+
<dd><var>request</var>'s <a for=request>internal priority</a>.
7205+
71887206
<dt><a for=request>origin</a>
71897207
<dd><var>request</var>'s <a for=request>origin</a>. <span class=note>The propagation of the
71907208
<a for=/>origin</a> is only significant for navigation requests being handled by a service
@@ -8432,6 +8450,7 @@ Odin Hørthe Omdal,
84328450
Olli Pettay,
84338451
Ondřej Žára,
84348452
O. Opsec,
8453+
Patrick Meenan,
84358454
Perry Jiang<!-- perryjiang; Github -->,
84368455
Philip Jägenstedt,
84378456
R. Auburn,

0 commit comments

Comments
 (0)