diff --git a/index.bs b/index.bs index 9a19ed1..997a649 100644 --- a/index.bs +++ b/index.bs @@ -154,9 +154,30 @@ To determine if a request has top-level storage access with [=request +
top-level-storage-access", replace step 6 ("Queue a task...") with the following steps:
+
+1. [=Queue a task=] on the [=current settings object=]'s [=responsible event loop=] to run the following steps:
+ 1. [=Set a permission store entry=] with descriptor, key, and |current state|.
+ 1. If |current state| is "[=permission/granted=]", run the [=permission granted algorithm=].
+
top-level-storage-access". It defines the following permission-related algorithms:
+The requestStorageAccessFor API defines a [=powerful feature=] identified by the [=powerful feature/name=] "top-level-storage-access". It defines the following permission-related algorithms:
top-level-storage-access" feature has been granted for [=permission key=] |key|, run the following steps:
+ 1. If |key| is null, return.
+ 1. Let |descriptor| be a {{PermissionDescriptor}} with name "storage-access".
+ 1. [=Set a permission store entry=] with |descriptor|, |key|, and "[=permission/granted=]".
+ 1. Run the [=permission granted algorithm=] for the "storage-access" feature.
+
top-level-storage-access" and with {{TopLevelStorageAccessPermissionDescriptor/requestedOrigin}} set to |origin|.
-1. If |descriptor|'s [=permission state=] is [=permission/granted=], [=queue a global task=] on the [=permissions task source=] given |global| to [=resolve=] |p|, and return.
-1. If |descriptor|'s [=permission state=] is [=permission/denied=], [=queue a global task=] on the [=permissions task source=] given |global| to [=reject=] |p| with a "{{NotAllowedError}}" {{DOMException}}, and return.
+As noted above, user agents may choose to grant the corresponding `storage-access` permission when granting `top-level-storage-access` permission.
-