diff --git a/source b/source index 5b9b3a8f2d2..d3175301042 100644 --- a/source +++ b/source @@ -2185,6 +2185,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
A top-level browsing context has an associated group (null or a browsing context group). It is initially null.
+A top-level browsing context has an is popup + boolean. It is initially false.
+ +User agents can use is popup to decide what kind + of web browser interface to provide for the browsing context, + or provide an option to users to do or not do so. +
+ +For example, user agents can provide a minimal UI if + is popup is true. In the minimal UI, it's encouraged not to hide + the browser interface element that displays the URL or the + domain of the active document.
+ +User agents can use is popup to decide whether + to perform the optional steps in + set up browsing context features steps or not, + or provide an option to users to do or not do so.
+It is possible to create new browsing contexts that are related to a top-level browsing context while their container is null. Such browsing contexts are called WindowPostMessageOptions : StructuredSeri data-x="">new with no opener", then:
Let isPopup be the result of + checking if popup window is + requested, given tokenizedFeatures.
+Set the target browsing context's is popup to + isPopup.
+Set up browsing context features for target browsing context given tokenizedFeatures.
Return tokenizedFeatures.
To check if window feature is + set, given tokenizedFeatures, featureName, and + defaultValue:
+ +If tokenizedFeatures[featureName] exists, then:
+ +Return the result of + parsing + tokenizedFeatures[featureName] as a boolean + feature.
+Return defaultValue.
To check if popup window is + requested, given tokenizedFeatures:
+ +If tokenizedFeatures is empty, + then return false.
+If tokenizedFeatures["type
"] exists, then:
Let type be
+ tokenizedFeatures["type
"].
If type is "popup
", then return
+ true.
If type is "window
", then return
+ false.
Let location be the result of
+ checking if window feature is
+ set, given tokenizedFeatures,
+ "location
", and false.
Let toolbar be the result of
+ checking if window feature is
+ set, given tokenizedFeatures,
+ "toolbar
", and false.
If location and toolbar are both false, then + return true.
+Let menubar be the result of
+ checking if window feature is
+ set, given tokenizedFeatures,
+ menubar
", and false.
If menubar is false, then return true.
Let resizable be the result of
+ checking if window feature is
+ set, given tokenizedFeatures,
+ "resizable
", and true.
If resizable is false, then return true.
Let scrollbars be the result of
+ checking if window feature is
+ set, given tokenizedFeatures,
+ "scrollbars
", and false.
If scrollbars is false, then return true.
Let status be the result of
+ checking if window feature is
+ set, given tokenizedFeatures,
+ "status
", and false.
If status is false, then return true.
Return false.
A code point is a feature separator if it is ASCII whitespace, U+003D (=), or U+002C (,).