From ab08b9bdea76d7322499142379347b3b51a602e8 Mon Sep 17 00:00:00 2001
From: arai-a
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.
+ +The only mandatory impact in this specification of is popup is on the
+ visible
getter of the relevant BarProp
+ objects. However, user agents might also use it in the following ways:
In both cases user agents might additionally incorporate user preferences, or present a choice + as to whether to go down the popup route.
+ +User agents that provides a minimal web browser user interface for such popups are encouraged + to not hide the browser's location bar.
+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:
Set the target browsing context's is popup to the result of + checking if a popup window is requested, given + tokenizedFeatures.
Set up browsing context features for target browsing context given tokenizedFeatures.
Return tokenizedFeatures.
To check if a 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 a popup window is requested, given + tokenizedFeatures:
+ +If tokenizedFeatures is empty, then return + false.
If tokenizedFeatures["popup
"] exists, then return the result of parsing
+ tokenizedFeatures["popup
"] as a boolean
+ feature.
Let location be the result of checking if
+ a window feature is set, given tokenizedFeatures, "location
", and false.
Let toolbar be the result of checking if
+ a 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
+ a window feature is set, given tokenizedFeatures, menubar
", and false.
If menubar is false, then return true.
Let resizable be the result of checking if
+ a window feature is set, given tokenizedFeatures, "resizable
", and true.
If resizable is false, then return true.
Let scrollbars be the result of checking
+ if a window feature is set, given tokenizedFeatures, "scrollbars
", and false.
If scrollbars is false, then return true.
Let status be the result of checking if
+ a 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 (,).
@@ -81388,8 +81482,12 @@ dictionary WindowPostMessageOptions : StructuredSeriTo allow web pages to integrate with web browsers, certain web browser interface elements are - exposed in a limited way to scripts in web pages.
+For historical reasons, the Window
interface had some attributes that represented
+ the visibility of certain web browser interface elements.
For privacy and interoperability reasons, those attributes now return values that represent
+ whether the Window
's browsing context's is
+ popup property is true or false.
Each interface element is represented by a BarProp
object:
window.locationbar.visible
Returns true if the location bar is visible; otherwise, returns false.
window.menubar.visible
Returns true if the menu bar is visible; otherwise, returns false.
window.personalbar.visible
Returns true if the personal bar is visible; otherwise, returns false.
window.scrollbars.visible
Returns true if the scrollbars are visible; otherwise, returns false.
window.statusbar.visible
Returns true if the status bar is visible; otherwise, returns false.
window.toolbar.visible
Returns true if the toolbar is visible; otherwise, returns false.
Returns true if the top-level browsing context is not a popup; otherwise, + returns false.
The visible attribute's getter - must run these steps:
+The visible getter steps + are:
If this BarProp
object's relevant global object's browsing context is null, then return false.
Let browsingContext be this's relevant global + object's browsing context.
If the user agent does not have a user interface element that the object represents, as - described below, then return true.
If browsingContext is null, then return true.
Return true or a value determined by the user agent to most accurately represent the - visibility state of the user interface element that the object represents, as described - below.
Return the negation of browsingContext's top-level browsing + context's is popup.
The following BarProp
objects must exist for each Window
object:
BarProp
objectBarProp
objectBarProp
objectBarProp
objectBarProp
objectvisible
attribute may return false).BarProp
objectvisible
attribute may return
- false).The locationbar