From 6b75a3a1c5152caf51758cf3b2b89d3f29ff9468 Mon Sep 17 00:00:00 2001 From: Dominic Farolino Date: Wed, 15 Mar 2023 14:16:06 -0400 Subject: [PATCH 1/3] Insertion --- spec.bs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/spec.bs b/spec.bs index 83987a25..f85743bb 100644 --- a/spec.bs +++ b/spec.bs @@ -193,7 +193,29 @@ Each <{fencedframe}> has a config, which is either a 1. Parse the sandbox attributes, once it exists - 1. Process the actual attributes, and start the navigation + 1. [=Process the fencedframe attributes=] with |element| and [=initialInsertion=] set to true. + + +
+ To process the <{fencedframe}> attributes given a <{fencedframe}> element |element| and + a boolean initialInsertion, run these steps: + + 1. [=Assert=]: |element| is [=connected=]. + + Issue: It's not necessary to call the URL + and history update steps as we do during usual child + navigable creation or top-level + traversable creation, but we still need a mechanism to initialize + {{History}}.{{History/length}} in the new navigable. This is an existing issue in the HTML + Standard: https://github.com/whatwg/html/issues/9030. + + 1. If |element| has a config + 1. Let |url| be the [=URL record=] about:blank. + + 1. If |element| has a Get the URL
From 0238f84ab182a5167a3d42ef5bece56a3de4a1c8 Mon Sep 17 00:00:00 2001 From: Dominic Farolino Date: Wed, 15 Mar 2023 15:34:14 -0400 Subject: [PATCH 2/3] Navigable insertion and navigation --- spec.bs | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/spec.bs b/spec.bs index f85743bb..bc1df9f3 100644 --- a/spec.bs +++ b/spec.bs @@ -45,6 +45,10 @@ spec: html; urlPrefix: https://html.spec.whatwg.org/multipage/ text: initialize the navigable; url: document-sequences.html#initialize-the-navigable text: node navigable; url: document-sequences.html#node-navigable text: document state; url: browsing-the-web.html#she-document-state + text: historyHandling; url: browsing-the-web.html#navigation-hh + text: referrerPolicy; url: browsing-the-web.html#navigation-referrer-policy + for: history handling behavior + text: replace; url: browsing-the-web.html#hh-replace for: document state text: document; url: browsing-the-web.html#document-state-document for: navigable @@ -210,12 +214,21 @@ Each <{fencedframe}> has a config, which is either a href=https://html.spec.whatwg.org/multipage/nav-history-apis.html#apis-for-creating-and-navigating-browsing-contexts-by-name:url-and-history-update-steps>top-level traversable creation, but we still need a mechanism to initialize {{History}}.{{History/length}} in the new navigable. This is an existing issue in the HTML - Standard: https://github.com/whatwg/html/issues/9030. + Standard: https://github.com/whatwg/html/issues/9030. + + 1. If |element|'s [=fencedframe/config=] is null and |initialInsertion| is true, then return. - 1. If |element| has a config 1. Let |url| be the [=URL record=] about:blank. - 1. If |element| has a Get the URL + 1. Parse |element|'s [=fencedframe/config=]'s + [=fencedframeconfig/url=] relative to [=element=]'s [=Node/node document=]. If this is + successful, then set [=url=] to the resulting URL record. + + 1. [=Navigate=] |element|'s [=fencedframe/nested traversable=] to |url| using |element|'s + [=fencedframe/nested traversable=]'s [=navigable/active document=], with [=historyHandling=] + set to "`replace`" , and [=referrerPolicy=] set to + "`no-referrer`".
@@ -256,6 +269,9 @@ elements that the [=width=] and [=height=] dimension a }; +Each {{FencedFrameConfig}} has a url, which is a string, initially +null. + TODO: Fix the "indistinguishable" IDL bug with the unions above.

The {{Fence}} interface

From 8160fa771f548e268dbef56935e8d85ea62b9e33 Mon Sep 17 00:00:00 2001 From: Dominic Farolino Date: Wed, 15 Mar 2023 15:41:57 -0400 Subject: [PATCH 3/3] Fix variable --- spec.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec.bs b/spec.bs index bc1df9f3..8f12c115 100644 --- a/spec.bs +++ b/spec.bs @@ -222,7 +222,7 @@ Each <{fencedframe}> has a config, which is either a 1. Let |url| be the [=URL record=] about:blank. 1. Parse |element|'s [=fencedframe/config=]'s - [=fencedframeconfig/url=] relative to [=element=]'s [=Node/node document=]. If this is + [=fencedframeconfig/url=] relative to |element|'s [=Node/node document=]. If this is successful, then set [=url=] to the resulting URL record. 1. [=Navigate=] |element|'s [=fencedframe/nested traversable=] to |url| using |element|'s