You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
HTML defines the {{Window/open()}} method but has no defined effect for the third argument, <var>features</var>.
662
-
[[!HTML]]
663
-
664
-
This specification defines the effect of the <var>features</var> argument for user agents that do not opt to ignore it, as follows:
665
-
666
-
1. If the method does not result in a new <a>auxiliary browsing context</a> being created, terminate these steps.
667
-
1. Let <var>target</var> be the new <a>auxiliary browsing context</a>.
668
-
1. Let <var>tokens</var> be the result of <a lt="split a string on commas">splitting <var>features</var> on commas</a>.
669
-
1. Let <var>parsed features</var> be a new empty dictionary.
670
-
1. <i>Token loop</i>: For each token <var>token</var> in <var>tokens</var>, follow these substeps:
671
-
1. Let <var>input</var> be <var>token</var>.
672
-
1. Let <var>position</var> point at the first character of <var>input</var>.
673
-
1. <a>Skip whitespace</a>.
674
-
1. <a>Collect a sequence of characters</a> that are not <a>space characters</a> nor "<code>=</code>" (U+003D).
675
-
Let <var>name</var> be the collected characters, <a>converted to ASCII lowercase</a>.
676
-
1. If <var>name</var> is in <var>parsed features</var> or if <var>name</var> is not a <a>supported <code>open()</code> feature name</a>,
677
-
continue <i>token loop</i>.
678
-
1. <a>Skip whitespace</a>.
679
-
1. If the character at <var>position</var> is not "<code>=</code>" (U+003D), continue <i>token loop</i>.
680
-
1. Advance <var>position</var> by one.
681
-
1. If <var>position</var> is past the end of <var>input</var>, continue <i>token loop</i>.
682
-
1. <a>Collect a sequence of characters</a> that are any characters. Let <var>raw value</var> be the collected characters.
683
-
1. Let <var>value</var> be the result of invoking the <a>rules for parsing integers</a> on <var>raw value</var>.
684
-
1. If <var>value</var> is an error, continue <i>token loop</i>.
685
-
1. Set <var>name</var> in <var>parsed features</var> to <var>value</var>.
686
-
1. If <a for="supported open() feature name">left</a> is present in <var>parsed features</var>, follow these substeps:
687
-
1. Let <var>x</var> be the value of <a for="supported open() feature name">left</a>.
688
-
1. Optionally, clamp <var>x</var> in a user-agent-defined manner so that the window does not move outside the available space.
689
-
1. Optionally, move <var>target</var>'s window such that the window's left edge is at the horizontal coordinate <var>x</var> relative to the left edge of
690
-
the output device, measured in CSS pixels of <var>target</var>. The positive axis is rightward.
691
-
1. If <a for="supported open() feature name">top</a> is present in <var>parsed features</var>, follow these substeps:
692
-
1. Let <var>y</var> be the value of <a for="supported open() feature name">top</a>.
693
-
1. Optionally, clamp <var>y</var> in a user-agent-defined manner so that the window does not move outside the available space.
694
-
1. Optionally, move <var>target</var>'s window such that the window's top edge is at the vertical coordinate <var>y</var> relative to the top edge of
695
-
the output device, measured in CSS pixels of <var>target</var>. The positive axis is downward.
696
-
1. If <a for="supported open() feature name">width</a> is present in <var>parsed features</var>, follow these substeps:
697
-
1. Let <var>x</var> be the value of <a for="supported open() feature name">width</a>.
698
-
1. Optionally, clamp <var>x</var> in a user-agent-defined manner so that the window does not get too small or bigger than the available space.
699
-
1. Optionally, size <var>target</var>'s window by moving its right edge such that the distance between the left and right edges of the viewport are
700
-
<var>x</var> CSS pixels of <var>target</var>.
701
-
1. Optionally, move <var>target</var>'s window in a user-agent-defined manner so that it does not grow outside the available space.
702
-
1. If <a for="supported open() feature name">height</a> is present in <var>parsed features</var>, follow these substeps:
703
-
1. Let <var>y</var> be the value of <a for="supported open() feature name">height</a>.
704
-
1. Optionally, clamp <var>y</var> in a user-agent-defined manner so that the window does not get too small or bigger than the available space.
705
-
1. Optionally, size <var>target</var>'s window by moving its bottom edge such that the distance between the top and bottom edges of the viewport are
706
-
<var>y</var> CSS pixels of <var>target</var>.
707
-
1. Optionally, move <var>target</var>'s window in a user-agent-defined manner so that it does not grow outside the available space.
664
+
HTML defines the {{Window/open()}} method. This section defines behavior for position and size given
665
+
in the <var ignore>features</var> argument. [[!HTML]]
666
+
667
+
To <dfn export>set up browsing context features</dfn> for a browsing context <var>target</var> given a
668
+
<a>map</a><var>tokenizedFeatures</var>:
669
+
670
+
1. Let <var>x</var> be null.
671
+
1. Let <var>y</var> be null.
672
+
1. If <var>tokenizedFeatures</var>["<a for="supported open() feature name">left</a>"]
673
+
<a for=map>exists</a>:
674
+
1. Set <var>x</var> to the result of invoking the <a>rules for parsing integers</a> on
0 commit comments