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] Fix navigation from the default constructor not installing a fenced frame config. #183

Merged
merged 11 commits into from
Oct 5, 2024
49 changes: 48 additions & 1 deletion spec.bs
Original file line number Diff line number Diff line change
Expand Up @@ -774,6 +774,17 @@ following [=struct/items=]:
:: a [=string=]
</dl>

The <dfn export for=fencedframetype>default fenced frame effective sandboxing flags</dfn> are a
[=sandboxing flag set=] with the following flags:

* The [=sandboxed downloads browsing context flag=]
* The [=sandboxed modals flag=]
* The [=sandboxed navigation browsing context flag=]
* The [=sandboxed orientation lock browsing context flag=]
* The [=sandboxed pointer lock browsing context flag=]
* The [=sandboxed presentation browsing context flag=]
* The [=sandboxed top-level navigation without user activation browsing context flag=]

A <dfn export for=fencedframetype>pending event</dfn> is a [=struct=] with the following
[=struct/items=]:

Expand Down Expand Up @@ -2868,7 +2879,10 @@ CORP violation report=] algorithm, as leaving it unfenced may cause a privacy le
1. Set |config|'s [=fenced frame config/embedder shared storage context=] to
|sharedStorageContext|.

1. Set <var ignore>sourceSnapshotParams</var>'s [=source snapshot params/target fenced frame
1. Assert: |sourceSnapshotParams|'s [=source snapshot params/target fenced frame config=] is
blu25 marked this conversation as resolved.
Show resolved Hide resolved
null.

1. Set |sourceSnapshotParams|'s [=source snapshot params/target fenced frame
config=] to |config|.

1. [=Assert=] |config|'s [=fenced frame config/mapped url=]'s [=mapped url/value=] is a
Expand All @@ -2877,6 +2891,39 @@ CORP violation report=] algorithm, as leaving it unfenced may cause a privacy le
1. Set |url| to |config|'s [=fenced frame config/mapped url=]'s [=mapped url/value=].

1. Run steps in |config|'s [=fenced frame config/on navigate callback=].

1. If |navigable| is a [=fenced navigable container/fenced navigable=] and
<var ignore>sourceDocument</var>'s [=node navigable=] is in |navigable|'s
blu25 marked this conversation as resolved.
Show resolved Hide resolved
[=navigable/active document=]'s [=Document/ancestor navigables=]:

1. Let |config| be a new [=fenced frame config=] with the following [=struct/items=]:

: [=fenced frame config/mapped url=]
:: a [=struct=] with the following [=struct/items=]:

: [=mapped url/value=]
:: |url|

: [=mapped url/visibility=]
:: [=visibility/transparent=]

: [=fenced frame config/effective sandboxing flags=]
:: a [=struct=] with the following [=struct/items=]:

: [=effective sandboxing flags/value=]
:: The [=fencedframetype/default fenced frame effective sandboxing flags=].

: [=effective sandboxing flags/visibility=]
:: [=visibility/opaque=]

: [=fenced frame config/effective enabled permissions=]
:: null

1. Assert: |sourceSnapshotParams|'s [=source snapshot params/target fenced frame config=] is
blu25 marked this conversation as resolved.
Show resolved Hide resolved
null.

1. Set |sourceSnapshotParams|'s [=source snapshot params/target fenced frame config=] to
|config|.

<wpt>
/fenced-frame/frame-navigation.https.html
Expand Down
Loading