diff --git a/source b/source index 5b9b3a8f2d2..706ed718947 100644 --- a/source +++ b/source @@ -2185,6 +2185,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
  • skip ASCII whitespace
  • The ordered map data structure and the associated definitions for value, + empty, entry, exists, getting the value of an entry, @@ -79448,6 +79449,24 @@ popup4.close();

    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:

      +
    1. +

      Let isPopup be the result of + checking if popup window is + requested, given tokenizedFeatures.

      +
    2. +
    3. +

      Set the target browsing context's is popup to + isPopup.

      +
    4. Set up browsing context features for target browsing context given tokenizedFeatures.

    5. @@ -80956,6 +80984,103 @@ dictionary WindowPostMessageOptions : StructuredSeri
    6. Return tokenizedFeatures.

    +

    To check if window feature is + set, given tokenizedFeatures, featureName, and + defaultValue:

    + +
      +
    1. +

      If tokenizedFeatures[featureName] exists, then:

      + +
        +
      1. +

        Return the result of + parsing + tokenizedFeatures[featureName] as a boolean + feature.

        +
      2. +
      +
    2. + +
    3. Return defaultValue.

    4. +
    + +

    To check if popup window is + requested, given tokenizedFeatures:

    + +
      +
    1. +

      If tokenizedFeatures is empty, + then return false.

      +
    2. + +
    3. +

      If tokenizedFeatures["popup"] exists, then return the result of + parsing + tokenizedFeatures["popup"] as a boolean + feature.

      +
    4. + +
    5. +

      Let location be the result of + checking if window feature is + set, given tokenizedFeatures, + "location", and false.

      +
    6. + +
    7. +

      Let toolbar be the result of + checking if window feature is + set, given tokenizedFeatures, + "toolbar", and false.

      +
    8. + +
    9. +

      If location and toolbar are both false, then + return true.

      +
    10. + +
    11. +

      Let menubar be the result of + checking if window feature is + set, given tokenizedFeatures, + menubar", and false.

      +
    12. + +
    13. If menubar is false, then return true.

    14. + +
    15. +

      Let resizable be the result of + checking if window feature is + set, given tokenizedFeatures, + "resizable", and true.

      +
    16. + +
    17. If resizable is false, then return true.

    18. + +
    19. +

      Let scrollbars be the result of + checking if window feature is + set, given tokenizedFeatures, + "scrollbars", and false.

      +
    20. + +
    21. If scrollbars is false, then return true.

    22. + +
    23. +

      Let status be the result of + checking if window feature is + set, given tokenizedFeatures, + "status", and false.

      +
    24. + +
    25. If status is false, then return true.

    26. + +
    27. Return false.

    28. +
    +

    A code point is a feature separator if it is ASCII whitespace, U+003D (=), or U+002C (,).