diff --git a/source b/source index 93130342a61..022d89b293e 100644 --- a/source +++ b/source @@ -2365,6 +2365,9 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute

The following terms are defined in the WHATWG Infra standard:

The following features and terms are defined in the CSS Syntax specifications: @@ -78567,8 +78570,8 @@ callback FrameRequestCallback = void (DOMHighResTimeStampOpens a window to show url (defaults to about:blank), and returns it. The target argument gives the name of the new window. If a window exists with that - name already, it is reused. The features argument can be - used to influence the rendering of the new window.

+ name already, it is reused. The features argument can be used to influence the + rendering of the new window.

@@ -78663,8 +78666,12 @@ callback FrameRequestCallback = void (DOMHighResTimeStamptop-level browsing context, then let new be true. Otherwise, let it be false.

-
  • Interpret features as defined in the CSSOM - View specification.

  • +
  • Let tokenizedFeatures be the result of tokenizing features.

  • + +
  • If target browsing context is a new auxiliary browsing context, + then set up browsing context features for target browsing context given + tokenizedFeatures.

  • @@ -78719,10 +78726,9 @@ callback FrameRequestCallback = void (DOMHighResTimeStamp -
  • If the result of splitting features - on commas contains the token "noopener", then disown target browsing context's opener and - return null.

  • +
  • If tokenizedFeatures contains an entry with + the key "noopener", then disown + target browsing context's opener and return null.

  • Otherwise, return the WindowProxy object of target browsing context.

  • @@ -78733,6 +78739,94 @@ callback FrameRequestCallback = void (DOMHighResTimeStamp +

    To tokenize the features + argument:

    + +
      +
    1. Let tokenizedFeatures be a new ordered map.

    2. + +
    3. Let position point at the first code point of features.

    4. + +
    5. +

      While position is not past the end of features:

      + +
        +
      1. Let name be the empty string.

      2. + +
      3. Let value be the empty string.

      4. + +
      5. Collect a sequence of code points that are window features separators from features given + position. This skips past leading separators before the name.

      6. + +
      7. Collect a sequence of code points that are not window features separators from features given + position. Set name to the collected characters, converted to ASCII + lowercase.

      8. + +
      9. Set name to the result of normalizing the feature name + name.

      10. + +
      11. +

        While position is not past the end of features and the + code point at position in features is not U+003D (=):

        + +
          +
        1. If the code point at position in features is U+002C (,), then + break.

        2. + +
        3. Advance position by 1.

        4. +
        + +

        This skips to the first U+003D (=) but does not skip past a U+002C (,).

        +
      12. + +
      13. +

        While position is not past the end of features and the code point at + position in features is a window features separator:

        + +
          +
        1. If the code point at position in features is U+002C (,), then + break.

        2. + +
        3. Advance position by 1.

        4. +
        + +

        This skips to the first non-separator but does not skip past a U+002C (,).

        +
      14. + +
      15. Collect a sequence of code points that are not window features separators code points from features + given position. Set value to the collected code points, converted + to ASCII lowercase.

      16. + +
      17. If name is not the empty string, then set + tokenizedFeatures[name] to value.

      18. +
      +
    6. + +
    7. Return tokenizedFeatures.

    8. +
    + +

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

    + +

    For legacy reasons, there are some aliases of some feature names. To normalize a feature name name, switch on name:

    + +
    +
    "screenx" +
    Return "left". +
    "screeny" +
    Return "top". +
    "innerwidth" +
    Return "width". +
    "innerheight" +
    Return "height". +
    Anything else +
    Return name. +
    +

    The name attribute of the Window object