Skip to content

Commit

Permalink
Standardize the condition to open popup with window.open
Browse files Browse the repository at this point in the history
Fixes whatwg#5872

Define an "is popup" member in top-level browsing context, and set it to true
only when the browsing context is created by calling `window.open` with `width`
features provided.

Also add non-normative notes/example for using popup UI depending on "is popup"
member.
  • Loading branch information
arai-a committed Mar 25, 2021
1 parent e8417e5 commit 676114b
Showing 1 changed file with 62 additions and 3 deletions.
65 changes: 62 additions & 3 deletions source
Original file line number Diff line number Diff line change
Expand Up @@ -77889,6 +77889,23 @@ popup4.close();</code></pre></div>
<p>A <span>top-level browsing context</span> has an associated <dfn data-x="tlbc
group">group</dfn> (null or a <span>browsing context group</span>). It is initially null.</p>

<p>A <span>top-level browsing context</span> has an <dfn>is popup</dfn>
boolean. It is initially false.</p>

<p class="note">User agent <!--non-normative-->can use <span>is popup</span>
value to decide what kind of web browser interface to provide for the
<span>browsing context</span>.</p>

<p class="example">For example, user agent <!--non-normative-->can provide
minimal UI if <span>is popup</span> is true. In the minimal UI, it's
<!--non-normative-->recommended not to hide the browser interface element
that displays the <span>URL</span> or the domain of the
<span>active document</span>.</p>

<p class="note">User agent <!--non-normative-->can use <span>is popup</span>
value to decide whether to perform the <!--non-normative-->optional steps in
<span>set up browsing context features</span> steps or not.</p>

<p>It is possible to create new browsing contexts that are related to a <span>top-level browsing
context</span> while their <span data-x="bc-container">container</span> is null. Such browsing
contexts are called <dfn data-x="auxiliary browsing context" data-lt="auxiliary browsing context"
Expand Down Expand Up @@ -79239,9 +79256,51 @@ dictionary <dfn>WindowPostMessageOptions</dfn> : <span>PostMessageOptions</span>

<li><p>If <var>target browsing context</var> is null, then return null.</p></li>

<li><p>If <var>new</var> is true, then <span>set up browsing context features</span> for
<var>target browsing context</var> given <var>tokenizedFeatures</var>. <ref
spec="CSSOMVIEW"></p></li>
<li>
<p>If <var>new</var> is true, then:</p>
<ol>
<li>
<p>If <var>tokenizedFeatures</var>["<code data-x="">width</code>"]
<span data-x="map exists">exists</span>, then:</p>
<ol>
<li><p>Let <var>isPopupRequested</var> be true.</li>
</ol>
</li>
<li>
<p>Otherwise:</p>
<ol>
<li><p>Let <var>isPopupRequested</var> be false.</li>
</ol>
</li>
<li>
<p>If the user agent has been configured to override
<var>isPopupRequested</var>:</p>
<ol>
<li>
<p>Let <var>isPopup</var> be user-configured value, possibly depending
on <var>isPopupRequested</var>.</p>
</li>
</ol>
</li>
<li>
<p>Otherwise:</p>
<ol>
<li>
<p>Let <var>isPopup</var> be <var>isPopupRequested</var>.</p>
</li>
</ol>
</li>
<li>
<p>Set the <var>target browsing context</var>'s <a href="#is-popup">is
popup</a> to <var>isPopup</var>.</p>
</li>
<li>
<p><span>Set up browsing context features</span> for
<var>target browsing context</var> given
<var>tokenizedFeatures</var>. <ref spec="CSSOMVIEW"></p>
</li>
</ol>
</li>

<li><p>Let <var>urlRecord</var> be the <span>URL</span> "<code>about:blank</code>".</p></li>

Expand Down

0 comments on commit 676114b

Please sign in to comment.