From 5269fd9721040cd63ee593a70e75fac9db26c5fb Mon Sep 17 00:00:00 2001
From: Simon Pieters
Interpret features as defined in the CSSOM - View specification.
Let tokenizedFeatures be the result of tokenizing features.
Interpret tokenizedFeatures as defined in the + CSSOM View specification.
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.
To tokenize the features + argument:
+ +Let tokens be the result of splitting + features on commas.
Let map be a new ordered map.
For each token of tokens:
+Let input be token. + +
Let position point at the first character of input.
Skip ASCII whitespace. + +
Collect a sequence of code points that are not ASCII + whitespace nor U+003D (=). Let name be the collected characters, + converted to ASCII lowercase.
Set name to the result of normalizing the feature name + name.
If tokenizedFeatures[name] exists, then continue.
Skip ASCII whitespace.
If the character at position is U+003D (=), then advance position + by 1.
Let value be the empty string.
If position is not past the end of input, then collect a + sequence of code points that are any characters. Set value to the collected + characters.
Set tokenizedFeatures[name] to value.
For legacy reasons, there are some aliases of some feature names. To normalize a feature name name, switch on name:
+ +screenx
"
+ left
".
+ screeny
"
+ top
".
+ innerwidth
"
+ width
".
+ innerheight
"
+ height
".
+ The name
attribute of the Window
object