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] Clean up + fix outdated navigation references #181

Merged
merged 6 commits into from
Oct 31, 2024
Merged
Changes from 4 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
29 changes: 17 additions & 12 deletions spec.bs
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ spec: html; urlPrefix: https://html.spec.whatwg.org/multipage/
text: dom interface; url: concept-element-dom
text: accessibility considerations; url: concept-element-accessibility-considerations
text: represents; url: represents
text: is initial about:blank; url: is-initial-about-blank
blu25 marked this conversation as resolved.
Show resolved Hide resolved
urlPrefix: common-dom-interfaces.html
text: reflect; url: reflect
urlPrefix: embedder-content-other.html
Expand Down Expand Up @@ -142,6 +143,7 @@ spec: html; urlPrefix: https://html.spec.whatwg.org/multipage/
text: attempt to populate the history entry's document; url: attempt-to-populate-the-history-entry's-document
text: navigation params; url: navigation-params
text: snapshot source snapshot params; url: snapshotting-source-snapshot-params
text: the navigation must be a replace; url: the-navigation-must-be-a-replace
for: navigation params
text: response; url: navigation-params-response
text: navigable; url: navigation-params-navigable
Expand Down Expand Up @@ -2820,13 +2822,11 @@ CORP violation report=] algorithm, as leaving it unfenced may cause a privacy le

</div>

<div algorithm=navigate>
Modify the definition of [[HTML]]'s [=navigate=] algorithm to include an extra parameter: an
optional [=string=] |sharedStorageContext| (default null).
<div algorithm=navigation-must-replace-patch>
blu25 marked this conversation as resolved.
Show resolved Hide resolved
Modify [=the navigation must be a replace=] algorithm. Add the following new condition:

Modify step 7 of [[HTML]]'s [=navigate=] algorithm to include the following condition:

* |navigable| is a [=fenced navigable container/fenced navigable=];
* <var ignore>document</var>'s [=relevant global object=]'s [=Window/navigable=] is a [=fenced
navigable container/fenced navigable=];

Note: This ensures that *all* navigations inside of a <{fencedframe}> are made with the "<a
for="history handling behavior">`replace`</a>" mode, regardless of the initiator.
Expand All @@ -2836,8 +2836,14 @@ CORP violation report=] algorithm, as leaving it unfenced may cause a privacy le
/fenced-frame/history-length-fenced-navigations-replace-do-not-contribute-to-joint.https.html
/fenced-frame/history-length-outer-page-navigation-not-reflected-in-fenced.https.html
</wpt>
</div>

Modify step 8 of the same algorithm to include the following condition:
<div algorithm=navigate>
Modify the definition of [[HTML]]'s [=navigate=] algorithm to include an extra parameter: an
blu25 marked this conversation as resolved.
Show resolved Hide resolved
optional [=string=] <dfn for=navigate>sharedStorageContext</dfn> (default null).

Modify step 13 of [[HTML]]'s [=navigate=] algorithm (If all of the following are true:) to include
blu25 marked this conversation as resolved.
Show resolved Hide resolved
the following condition:

* <var ignore>sourceDocument</var>'s [=node navigable=] is not a [=fenced navigable container=]
while at the same time |navigable| is a [=fenced navigable container/fenced navigable=].
Expand All @@ -2849,7 +2855,7 @@ CORP violation report=] algorithm, as leaving it unfenced may cause a privacy le
/fenced-frame/fragment-navigation.https.html
</wpt>

Insert these steps immediately after step 20, the step that goes [=in parallel=], so that what
Insert these steps immediately after step 22, the step that goes [=in parallel=], so that what
follows are the first steps that run [=in parallel=] in the patched algorithm:

1. If |url| is a [=urn uuid=] and |navigable| is a [=fenced navigable container/fenced
Expand All @@ -2866,7 +2872,7 @@ CORP violation report=] algorithm, as leaving it unfenced may cause a privacy le
occur, by the usual mechanism that tracks the [=navigable/ongoing navigation=].

1. Set |config|'s [=fenced frame config/embedder shared storage context=] to
|sharedStorageContext|.
[=navigate/sharedStorageContext=].

1. Set <var ignore>sourceSnapshotParams</var>'s [=source snapshot params/target fenced frame
config=] to |config|.
Expand Down Expand Up @@ -3384,9 +3390,8 @@ algorithms to achieve the outcomes described in the above explanatory content.
<{fencedframe}> does not stick around; an error page will be loaded.
</div>

<div algorithm=permissions-policy-block-request>
Create a new algorithm called <dfn>should navigation response to navigation request be blocked by
Permissions Policy?</dfn> in [[!HTML]].
<div algorithm>
<dfn>Should navigation response to navigation request be blocked by Permissions Policy?</dfn>

Given a [=navigation params=] (|navigationParams|), this algorithm returns "`Blocked`" or
"`Allowed`":
Expand Down
Loading