From c0fbcc264fdf8e0624bae306c68015e04be38eb6 Mon Sep 17 00:00:00 2001
From: Andrew Williams
To get an element's noopener, given an a
, area
, or
- form
element element and a string target:
form
element element, a URL record url, and a
+ string target, perform the following steps. They return a boolean.
If element's link types include the
ASCII case-insensitive match for "
_blank
", then return
true.
If url's scheme is "blob
":
Let blobOrigin be url's blob URL entry's environment's origin.
Let topLevelOrigin be element's relevant settings + object's top-level origin.
If blobOrigin is not same site with topLevelOrigin, + then return true.
Return false.
Let urlRecord be the result of encoding-parsing a URL given
+ subject's href
attribute value, relative to
+ subject's node document.
If urlRecord is failure, then return.
Let noopener be the result of getting - an element's noopener with subject and + an element's noopener with subject, urlRecord, and targetAttributeValue.
Let targetNavigable be the first return value of applying the rules for
@@ -25595,11 +25620,8 @@ document.body.appendChild(wbr);
If targetNavigable is null, then return. Let urlString be the result of encoding-parsing-and-serializing a
- URL given subject's If urlString is failure, then return. Let urlString be the result of applying the URL serializer to urlRecord. If hyperlinkSuffix is non-null, then append it to
urlString.href
attribute
- value, relative to subject's node document.
Let noopener be the result of getting - an element's noopener with form and target.
Let targetNavigable be the first return value of applying the rules for
choosing a navigable given target, form's node
@@ -89830,12 +89853,45 @@ dictionary WindowPostMessageOptions : StructuredSeri
To get noopener for window open, given a If url's scheme is " Let blobOrigin be url's blob URL entry's environment's origin. Let topLevelOrigin be sourceDocument's relevant settings
+ object's top-level origin. If blobOriginis not same site with topLevelOrigin,
+ then return true. Let noopener be false. If tokenizedFeatures[" Return noopener. The window open steps, given a string url, a string target,
and a string features, are as follows: If the event loop's termination nesting level is nonzero,
- return null. Let sourceDocument be the entry global object's associated Let tokenizedFeatures be the result of tokenizing features. Let noopener and noreferrer be false. Let noreferrer be false. If tokenizedFeatures[" Set noopener to the result of parsing
- tokenizedFeatures[" Remove tokenizedFeatures[" If tokenizedFeatures[" If tokenizedFeatures[" Set noreferrer to the result of parsing
- tokenizedFeatures[" Let noopener be the result of getting noopener for window open with
+ sourceDocument, tokenizedFeatures, and urlRecord. Remove tokenizedFeatures[" Remove tokenizedFeatures[" Let referrerPolicy be the empty string.Document
+ sourceDocument, an ordered map tokenizedFeatures, and a
+ URL record url, perform the following steps. They return a boolean.
+
+
blob
":
+
+ noopener
"] exists, then set noopener to the result of parsing tokenizedFeatures["noopener
"] as a boolean feature.
Document
.noopener
"] exists, then:
-
- noopener
"] as a boolean
- feature.noopener
"].noreferrer
"] exists, then set noreferrer to the result of parsing tokenizedFeatures["noreferrer
"] as a boolean feature.noreferrer
"] exists, then:
-
- noreferrer
"] as a boolean
- feature.noreferrer
"].noopener
"] and tokenizedFeatures["noreferrer
"].