Permissions-Policy: deferred-fetch-minimal
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The deferred-fetch
and deferred-fetch-minimal
Permissions-Policy
directives are part of the fetchLater()
API.
They determine how the overall 640KiB quota limit is distributed between the top-level origin and its cross-origin subframes. By default, the top-level origin is granted 512KiB, and each cross-origin subframe is granted 8KiB out of the remaining 128KiB. The deferred-fetch-minimal
Permissions Policy can also block all origins; this will reallocate the 128KiB shared limit to the top-level quota, giving it access to the full 640KiB limit.
See fetchLater()
quotas guide for more details and examples.
Syntax
Permissions-policy: deferred-fetch-minimal=*
Permissions-policy: deferred-fetch-minimal=()
Permissions-policy: deferred-fetch-minimal=(self)
Permissions-policy: deferred-fetch-minimal=(<urllist>)
<urllist>
-
A space-separated list of origins that are allowed to use the secondary 128KiB quota (with a maximum of 8KiB per subframe).
A top-level frame with the deferred-fetch-minimal
permission set to self
or ()
does not allowed the default shared 128kb quota to be used by cross-origin subframes at all. Instead, the 128KiB quota for subframes is added to its normal quota.
Default policy
The default allowlist for deferred-fetch-minimal
is *
.
Examples
See fetchLater()
quotas for more examples.
Using up the minimal quota
Permissions-Policy: deferred-fetch=(self "https://b.com")
- A subframe of
b.com
receives 64KiB upon creation, from the top-level's 512KiB limit. - A subframe of
c.com
is not listed and so receives 8KiB upon creation from the 128KiB shared limit. - 15 more subframes would receive 8KiB upon creation (similar to
c.com
, and anotherc.com
subframe would also receive another 8KiB quota). - The next subframe would not be granted any quota.
- If one of the subframes is removed, its deferred fetches will be sent.
- The next subframe would receive an 8KiB quota, as there is quota available again.
Revoking the minimal quota altogether with exceptions
Permissions-Policy: deferred-fetch=(self "https://b.com")
Permissions-Policy: deferred-fetch-minimal=()
- A subframe of
b.com
receives 64KiB upon creation. - A subframe of
c.com
receives no quota upon creation. - The top-level document and its same-origin descendants can use up to the full 640KiB, but that is reduced to 574KiB if a
b.com
subframe is created.
Revoking the minimal quota altogether with no exceptions
Permissions-Policy: deferred-fetch-minimal=()
- The top-level document and its same-origin descendants can use up the full 640KiB.
- Subframes are not allocated any quota and cannot use
fetchLater()
.
Restricting the minimal quota to named origins
Permissions-Policy: deferred-fetch=(self "https://b.com")
Permissions-Policy: deferred-fetch-minimal=("https://c.com")
- A subframe of
b.com
receives 64KiB upon creation. - A subframe of
c.com
receives 8KiB upon creation. - A subframe of
d.com
receives no quota upon creation.
Specifications
No specification found
No specification data found for http.headers.Permissions-Policy.deferred-fetch-minimal
.
Check for problems with this page or contribute a missing spec_url
to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.