Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spec: disallow fenced frames setting contextId/filteringIdMaxBytes. #151

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 25 additions & 14 deletions spec.bs
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ spec: webdriver; urlPrefix: https://w3c.github.io/webdriver/
type: dfn
text: getting a property; url: dfn-getting-properties
text: error code; url: dfn-error-code
spec: fenced-frame; urlPrefix: https://wicg.github.io/fenced-frame/
type: dfn;
for: browsing context;
text: fenced frame config instance; url: browsing-context-fenced-frame-config-instance
</pre>

<pre class=link-defaults>
Expand Down Expand Up @@ -1235,9 +1239,9 @@ steps. They return an [=aggregation coordinator=], null or a {{DOMException}}:

<div algorithm>
To <dfn>obtain the pre-specified report parameters</dfn> given a
{{SharedStorageRunOperationMethodOptions}} |options|, perform the following
steps. They return a [=pre-specified report parameters=], null, or a
{{DOMException}}:
{{SharedStorageRunOperationMethodOptions}} |options| and a [=browsing context=]
|context|, perform the following steps. They return a [=pre-specified report
parameters=], null, or a {{DOMException}}:
1. If |options|["{{SharedStorageRunOperationMethodOptions/privateAggregationConfig}}"]
does not [=map/exist=], return null.
1. Let |privateAggregationConfig| be
Expand All @@ -1254,6 +1258,10 @@ steps. They return a [=pre-specified report parameters=], null, or a
|privateAggregationConfig|["{{SharedStoragePrivateAggregationConfig/filteringIdMaxBytes}}"].
1. If |filteringIdMaxBytes| is not [=set/contained=] in the [=valid filtering ID
max bytes range=], return a new {{DOMException}} with name "`DataError`".
1. If |context|'s [=browsing context/fenced frame config instance=] is not null:
1. If |filteringIdMaxBytes| is not the [=default filtering ID max bytes=] or
|contextId| is not null, return a new {{DOMException}} with name
"`DataError`".
1. Return a new [=pre-specified report parameters=] with the items:
: [=pre-specified report parameters/context ID=]
:: |contextId|
Expand All @@ -1262,13 +1270,16 @@ steps. They return a [=pre-specified report parameters=], null, or a

</div>

The {{SharedStorage}} {{SharedStorage/run()}} method steps are modified in four
ways. First, add the following steps just after step 2 ("If
{{Worklet/addModule()}} has not yet been called, ..."), renumbering later steps
as appropriate:
The {{SharedStorageWorklet}}'s {{SharedStorageWorklet/run()}} method steps are
modified in four ways. First, add the following steps just after step 4
("[=Assert=]: <var ignore>window</var> is a [=Window=]"), renumbering later
steps as appropriate:
<div algorithm="shared-storage-run-monkey-patch-1">
3. Let |preSpecifiedParams| be the result of [=obtaining the pre-specified
report parameters=] given |options|.
5. Let |context| be <var ignore>window</var>'s [=Window/browsing context=].
1. If |context| is null, then return [=a promise rejected with=] a
{{TypeError}}.
1. Let |preSpecifiedParams| be the result of [=obtaining the pre-specified
report parameters=] given |options| and |context|.
1. If |preSpecifiedParams| is a {{DOMException}}, return [=a promise rejected
with=] |preSpecifiedParams|.
1. Let |aggregationCoordinator| be the result of [=obtaining the aggregation
Expand Down Expand Up @@ -1326,12 +1337,12 @@ Finally, at the end of the same nested scope, add the following step:

</div>

The {{SharedStorage}} {{SharedStorage/selectURL()}} method steps are modified in
three ways. First, add the following steps just after step 5 ("If
{{Worklet/addModule()}} has not yet been called, ..."), renumbering later steps:
The {{SharedStorageWorklet}}'s {{SharedStorageWorklet/selectURL()}} method steps
are modified in three ways. First, add the following steps just after step 6
("If <var ignore>context</var> is null..."), renumbering later steps:
<div algorithm="shared-storage-selecturl-monkey-patch-1">
6. Let |preSpecifiedParams| be the result of [=obtaining the pre-specified
report parameters=] given |options|.
7. Let |preSpecifiedParams| be the result of [=obtaining the pre-specified
report parameters=] given |options| and <var ignore>context</var>.
1. If |preSpecifiedParams| is a {{DOMException}}, return [=a promise rejected
with=] |preSpecifiedParams|.
1. Let |aggregationCoordinator| be the result of [=obtaining the aggregation
Expand Down
Loading