@@ -23313,9 +23313,9 @@ document.body.appendChild(wbr);</code></pre>
23313
23313
an element's noopener</span> with <var>subject</var> and
23314
23314
<var>targetAttributeValue</var>.</p></li>
23315
23315
23316
- <li><p>Let <var>target</var> and <var>replace </var> be the result of applying <span>the rules for
23317
- choosing a browsing context</span> given <var>targetAttributeValue</var>, <var>source</var>, and
23318
- <var>noopener</var>.</p></li>
23316
+ <li><p>Let <var>target</var> and <var>windowType </var> be the result of applying <span>the rules
23317
+ for choosing a browsing context</span> given <var>targetAttributeValue</var>, <var>source</var>,
23318
+ and <var>noopener</var>.</p></li>
23319
23319
23320
23320
<li><p>If <var>target</var> is null, then return.</p></li>
23321
23321
@@ -23348,9 +23348,9 @@ document.body.appendChild(wbr);</code></pre>
23348
23348
23349
23349
<li><p><span>Queue an element task</span> on the <span>DOM manipulation task source</span> given
23350
23350
<var>subject</var> to <span>navigate</span><!--DONAV hyperlink--> the <var>target</var>
23351
- <span>browsing context</span> to <var>request</var>. If <var>replace </var> is true, the
23352
- navigation must be performed with <span>replacement enabled</span>. The <span>source browsing
23353
- context</span> must be <var>source</var>.</p></li>
23351
+ <span>browsing context</span> to <var>request</var>. If <var>windowType </var> is not "<code
23352
+ data-x="">existing or none</code>", the navigation must be performed with <span>replacement
23353
+ enabled</span>. The <span>source browsing context</span> must be <var>source</var>.</p></li>
23354
23354
</ol>
23355
23355
23356
23356
</div>
@@ -55687,9 +55687,13 @@ fur
55687
55687
<li><p>Let <var>noopener</var> be the result of <span data-x="get an element's noopener">getting
55688
55688
an element's noopener</span> with <var>form</var> and <var>targetAttributeValue</var>.</p></li>
55689
55689
55690
- <li><p>Let <var>target browsing context</var> and <var>replace</var> be the result of applying
55691
- <span>the rules for choosing a browsing context</span> using <var>target</var>, <var>form
55692
- browsing context</var>, and <var>noopener</var>.</p></li>
55690
+ <li><p>Let <var>target browsing context</var> and <var>windowType</var> be the result of
55691
+ applying <span>the rules for choosing a browsing context</span> using <var>target</var>,
55692
+ <var>form browsing context</var>, and <var>noopener</var>.</p></li>
55693
+
55694
+ <li><p>Let <var>replace</var> be true if <var>windowType</var> is either "<code
55695
+ data-x="">new and unrestricted</code>" or "<code data-x="">new with no opener</code>", and false
55696
+ otherwise.</p></li>
55693
55697
55694
55698
<li><p>If <var>target browsing context</var> is null, then return.</p></li>
55695
55699
@@ -77720,7 +77724,7 @@ console.assert(iframeWindow.frameElement === null);
77720
77724
<ol>
77721
77725
<li><p>Let <var>chosen</var> be null.</p></li>
77722
77726
77723
- <li><p>Let <var>new </var> be false .</p></li>
77727
+ <li><p>Let <var>windowType </var> be "<code data-x="">existing or none</code>" .</p></li>
77724
77728
77725
77729
<li><p>Let <var>sandboxingFlagSet</var> be <var>current</var>'s <span>active document</span>'s
77726
77730
<span>active sandboxing flag set</span>.</p></li>
@@ -77770,7 +77774,8 @@ console.assert(iframeWindow.frameElement === null);
77770
77774
77771
77775
<ol>
77772
77776
<li><p>Set <var>chosen</var> to the result of <span>creating a new top-level browsing
77773
- context</span> and set <var>new</var> to true.</p></li>
77777
+ context</span> and set <var>windowType</var> to "<code data-x="">new and
77778
+ unrestricted</code>".</p></li>
77774
77779
77775
77780
<li><p>Set <var>chosen</var> to an existing <span>top-level browsing context</span>.</p>
77776
77781
</ol>
@@ -77787,6 +77792,8 @@ console.assert(iframeWindow.frameElement === null);
77787
77792
77788
77793
<dd>
77789
77794
<ol>
77795
+ <li><p>Set <var>windowType</var> to "<code data-x="">new and unrestricted</code>".</p></li>
77796
+
77790
77797
<li>
77791
77798
<p>If <var>current</var>'s <span>top-level browsing context</span>'s <span>active
77792
77799
document</span>'s <span data-x="concept-document-coop">cross-origin opener policy</span> is
@@ -77800,8 +77807,9 @@ console.assert(iframeWindow.frameElement === null);
77800
77807
<li>
77801
77808
<p>If <var>currentDocument</var>'s <span>origin</span> is not <span>same origin</span>
77802
77809
with <var>currentDocument</var>'s <span>relevant settings object</span>'s <span>top-level
77803
- origin</span>, then set <var>noopener</var> to true and <var>name</var> to "<code
77804
- data-x="">_blank</code>".</p>
77810
+ origin</span>, then set <var>noopener</var> to true, <var>name</var> to "<code
77811
+ data-x="">_blank</code>", and <var>windowType</var> to "<code data-x="">new with no
77812
+ opener</code>".</p>
77805
77813
77806
77814
<p class="note">In the presence of a <span>cross-origin opener policy</span>, nested
77807
77815
documents that are cross-origin with their top-level browsing context's active document
@@ -77810,7 +77818,6 @@ console.assert(iframeWindow.frameElement === null);
77810
77818
</ol>
77811
77819
</li>
77812
77820
77813
- <li><p>Set <var>new</var> to true.</p></li>
77814
77821
77815
77822
<li id="noopener"><p>If <var>noopener</var> is true, then set <var>chosen</var> to the result
77816
77823
of <span>creating a new top-level browsing context</span>.</p></li>
@@ -77857,7 +77864,7 @@ console.assert(iframeWindow.frameElement === null);
77857
77864
agent to always reuse <var>current</var>.</p>
77858
77865
</li>
77859
77866
77860
- <li><p>Return <var>chosen</var> and <var>new </var>.</p></li>
77867
+ <li><p>Return <var>chosen</var> and <var>windowType </var>.</p></li>
77861
77868
</ol>
77862
77869
77863
77870
@@ -78390,9 +78397,9 @@ dictionary <dfn>WindowPostMessageOptions</dfn> : <span>PostMessageOptions</span>
78390
78397
<li><p>If <var>noreferrer</var> is true, then set <var>noopener</var> to true.</p></li>
78391
78398
78392
78399
<li>
78393
- <p>Let <var>target browsing context</var> and <var>new </var> be the result of applying <span>the
78394
- rules for choosing a browsing context</span> given <var>target</var>, <var>source browsing
78395
- context</var>, and <var>noopener</var>.</p>
78400
+ <p>Let <var>target browsing context</var> and <var>windowType </var> be the result of applying
78401
+ <span>the rules for choosing a browsing context</span> given <var>target</var>, <var>source
78402
+ browsing context</var>, and <var>noopener</var>.</p>
78396
78403
78397
78404
<p class="example">If there is a user agent that supports control-clicking a link to open it in
78398
78405
a new tab, and the user control-clicks on an element whose <code
@@ -78402,6 +78409,9 @@ dictionary <dfn>WindowPostMessageOptions</dfn> : <span>PostMessageOptions</span>
78402
78409
tab.</p>
78403
78410
</li>
78404
78411
78412
+ <li><p>Let <var>new</var> be true if <var>windowType</var> is either "<code data-x="">new and
78413
+ unrestricted</code>" or "<code data-x="">new with no opener</code>", and false otherwise.</p></li>
78414
+
78405
78415
<li><p>If <var>target browsing context</var> is null, then return null.</p></li>
78406
78416
78407
78417
<li><p>If <var>new</var> is true, then <span>set up browsing context features</span> for
@@ -78443,7 +78453,8 @@ dictionary <dfn>WindowPostMessageOptions</dfn> : <span>PostMessageOptions</span>
78443
78453
</ol>
78444
78454
</li>
78445
78455
78446
- <li><p>If <var>noopener</var> is true, then return null.</p></li>
78456
+ <li><p>If <var>noopener</var> is true or <var>windowType</var> is "<code
78457
+ data-x="">new with no opener</code>", then return null.</p></li>
78447
78458
78448
78459
<li>
78449
78460
<p>Otherwise, if <var>new</var> is false, set <var>target browsing context</var>'s <span>opener
0 commit comments