Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The deferred-fetch Permissions-Policy directive is part of the Fetch API.
This directive, along with deferred-fetch-minimal, determines 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 rest of the 128KiB. The deferred-fetch Permissions Policy can allow sub-frame origins to be granted a larger 64KiB quota out of the top-level 512KiB quota in place of the 8KiB minimal quota they would otherwise receive by default.
See fetchLater() quotas for more details and examples.
Permissions-policy: deferred-fetch=(self)
Permissions-policy: deferred-fetch=(self <url-list>)
Permissions-policy: deferred-fetch=(<url-list>)<url-list>A space-separated list of origins (each of which is given in quotation marks) which are granted a higher quota of 64KiB taken from the parent's main quota. The 64KiB quota is taken at the time the subframe is created.
A cross-origin subframe can grant deferred-fetch to one of its cross-origin subframe descendants, delegating its entire quota. This only works if none of the quota is currently being used.
Permissions Policy checks are not discernible from quota checks. Calling fetchLater() will throw a QuotaExceededError both if the quota is actually exceeded and if the quota was restricted for that origin via a Permissions Policy.
The default allowlist for deferred-fetch is self.
See fetchLater() quotas for more examples.
Permissions-Policy: deferred-fetch=(self "https://b.com")b.com receives 64KiB upon creation, from the top-level's 512KiB limit.c.com is not listed and so receives 8KiB upon creation from the 128KiB shared limit.c.com).Permissions-Policy: deferred-fetch=(self "https://b.com")
Permissions-Policy: deferred-fetch-minimal=()b.com receives 64KiB upon creation.c.com receives no quota upon creation.b.com subframe is created.