diff --git a/spec.bs b/spec.bs index 83987a25..8f12c115 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 @@ -193,7 +197,38 @@ 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|'s [=fencedframe/config=] is null and |initialInsertion| is true, then return. + + 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 + 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`".
@@ -234,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