Skip to content

Commit 305b3a0

Browse files
committed
Clarify permission policy
1 parent fe47282 commit 305b3a0

File tree

1 file changed

+25
-17
lines changed

1 file changed

+25
-17
lines changed

fetch.bs

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2735,7 +2735,8 @@ functionality.
27352735
a <a for=/>list</a> of <a for="/" data-lt="fetch record">fetch records</a>.
27362736

27372737
<p>Each <a>navigable container</a> has an associated <dfn>deferred fetch policy</dfn>
2738-
(<code>disabled</code>, <code>deferred-fetch</code> or <code>deferred-fetch-minimal</code>). Unless
2738+
({{PermissionPolicy/"deferred-fetch"}}, {{PermissionPolicy/"deferred-fetch-minimal"}}, or
2739+
<code>Disabled</code>). Unless
27392740
stated otherwise, it is <code>disabled</code>.
27402741

27412742
<p>A <a for=fetch>fetch group</a> has an associated
@@ -6873,6 +6874,14 @@ The larger quota ensures that the top-level {{Document}} and its subresources do
68736874
an unlimited amount of bandwidth after being destroyed. The per-origin quota ensures that a single
68746875
reporting sink (e.g. RUM library) doesn't reserve the whole quota to itself.
68756876

6877+
This specification defined a <a>policy-controlled feature</a> identified by the string
6878+
<dfn for=PermissionPolicy enum-value>"deferred-fetch"</dfn>. Its
6879+
<a for="policy-controlled feature">default allowlist</a> is `'self'`.
6880+
6881+
This specification defined a <a>policy-controlled feature</a> identified by the string
6882+
<dfn for=PermissionPolicy enum-value>"deferred-fetch-minimal"</dfn>. Its
6883+
<a for="policy-controlled feature">default allowlist</a> is `*`.
6884+
68766885
<div algorithm>
68776886
<p>To get the <dfn>available deferred fetching quota</dfn> given a <code>Document</code>
68786887
<var>document</var> and an <a for=/>origin</a>-or-null <var>origin</var>:
@@ -6892,14 +6901,13 @@ reporting sink (e.g. RUM library) doesn't reserve the whole quota to itself.
68926901
<li><p>Let <var>origin</var> be <var>document</var>'s <a for=Document>URL</a>'s
68936902
<a for=url>origin</a>.
68946903

6895-
<li><p>If the result of calling [$Is feature enabled in document for origin?$] given
6896-
<code>deferred-fetch</code>, <var>document</var> and <var>origin</var> is
6897-
<code>Disabled</code>, then return 0.
6904+
<li><p>If <var>document</var> is not <a>allowed to use</a> the
6905+
<a>policy-controlled feature</a> {{PermissionPolicy/"deferred-fetch"}}, then return 0.
68986906

68996907
<li>
6900-
<p>If the result of calling [$Is feature enabled in document for origin?$] given
6901-
<code>deferred-fetch-minimal</code>, <var>document</var> and <var>origin</var> is
6902-
<code>Enabled</code>, then set <var>remainingTotalQuota</var> to 512 kibibytes.
6908+
<li><p>If <var>document</var> is <a>allowed to use</a> the
6909+
<a>policy-controlled feature</a> {{PermissionPolicy/"deferred-fetch-minimal"}}, then set
6910+
<var>remainingTotalQuota</var> to 512 kibibytes.
69036911

69046912
<p class=note>When this permission policy is enabled, this document delegates 8KB to each of
69056913
the first 16 cross-origin subframes leaving 512kb for its own quota.
@@ -6979,16 +6987,16 @@ setting an iframe's <a attribute for=HTMLIFrameElement>src</a>.
69796987
<li><p>Set <var>container</var>'s <a>deferred fetch policy</a> to <code>disabled</code>.
69806988

69816989
<li><p>If the <a data-lt="define an inherited policy for feature in container">inherited policy</a>
6982-
for <code>deferred-fetch</code>, <var>navigable</var>'s <a>navigable container</a> and
6990+
for {{PermissionPolicy/"deferred-fetch"}}, <var>navigable</var>'s <a>navigable container</a> and
69836991
<var>originToNavigateTo</var> is <code>Enabled</code>, and the
69846992
<a>available deferred fetching quota</a> for <var>container</var>'s <a>container document</a> is
69856993
equal or greater than 64 kibibytes, then set <var>navigable</var>'s
6986-
<a>deferred fetch policy</a> to <code>deferred-fetch</code> and return.
6994+
<a>deferred fetch policy</a> to {{PermissionPolicy/"deferred-fetch"}} and return.
69876995

69886996
<li><p>If the <a data-lt="define an inherited policy for feature in container">inherited policy</a>
6989-
for <code>deferred-fetch-minimal</code>, <var>container</var> and <var>originToNavigateTo</var> is
6990-
<code>Disabled</code>, then set <var>container</var>'s <a>deferred fetch policy</a> to
6991-
<code>disabled</code> and return.
6997+
for {{PermissionPolicy/"deferred-fetch-minimal"}}, <var>container</var> and
6998+
<var>originToNavigateTo</var> is <code>Disabled</code>, then set <var>container</var>'s
6999+
<a>deferred fetch policy</a> to <code>disabled</code> and return.
69927000

69937001

69947002
<li><p>Let <var>topLevelRelatives</var> be <var>container</var>'s <a>container document</a>'s
@@ -7001,7 +7009,7 @@ setting an iframe's <a attribute for=HTMLIFrameElement>src</a>.
70017009
return.
70027010

70037011
<p class=note>Only the top level document and related documents can delegate the
7004-
<code>deferred-fetch-minimal</code> policy.
7012+
{{PermissionPolicy/"deferred-fetch-minimal"}} policy.
70057013

70067014
<li><p>Let <var>framesWithMinimalQuotaPolicy</var> be zero.
70077015
<li>
@@ -7016,13 +7024,13 @@ setting an iframe's <a attribute for=HTMLIFrameElement>src</a>.
70167024
<li><p><var>topLevelRelatives</var> does not <a for=list>contain</a> <var>navigable</var>
70177025

70187026
<li><p><var>navigable</var>'s <a>navigable container</a>'s <a>deferred fetch policy</a> is
7019-
<code>deferred-fetch-minimal</code>
7027+
{{PermissionPolicy/"deferred-fetch-minimal"}}
70207028
</ul>
70217029

70227030
<p>Increment <var>framesWithMinimalQuotaPolicy</var> by 1.
70237031

70247032
<li><p>If <var>framesWithMinimalQuotaPolicy</var> is less than 16, then set <var>container</var>'s
7025-
<a>deferred fetch policy</a> to <code>deferred-fetch-minimal</code>.
7033+
<a>deferred fetch policy</a> to {{PermissionPolicy/"deferred-fetch-minimal"}}.
70267034
</ol>
70277035
</div>
70287036

@@ -7033,10 +7041,10 @@ The <dfn>initial subframe deferred fetch quota</dfn> is determined by the follow
70337041
<th>Policy
70347042
<th>Quota
70357043
<tr>
7036-
<td><code>deferred-fetch</code>
7044+
<td>{{PermissionPolicy/"deferred-fetch"}}
70377045
<td>64 kibibytes
70387046
<tr>
7039-
<td><code>deferred-fetch-minimal</code>
7047+
<td>{{PermissionPolicy/"deferred-fetch-minimal"}}
70407048
<td>8 kibibytes
70417049
<tr>
70427050
<td><code>disabled</code>

0 commit comments

Comments
 (0)