diff --git a/source b/source index 4f422ad497a..fcb55a4b74c 100644 --- a/source +++ b/source @@ -57856,6 +57856,12 @@ o............A....e prepared, based on the src attribute of the element at that time.

+

The seventh is a flag indicating whether or not the script has a duplicate attribute. This flag is intially + unset and can be set after the tokenizer creates + the element. This flag is used for security checks in Content Security + Policy.

+

Finally, a script element has the script's script, which is a script resulting from preparing the element. This is set @@ -103059,12 +103065,14 @@ dictionary StorageEventInit : EventInit { DOCTYPE, start tag, end tag, comment, character, end-of-file. DOCTYPE tokens have a name, a public identifier, a system identifier, and a force-quirks flag. When a DOCTYPE token is created, its name, public identifier, and system identifier must be marked as missing (which is - a distinct state from the empty string), and the force-quirks flag must be set to - off (its other state is on). Start and end tag tokens have a tag name, a self-closing flag, and a list of attributes, each of which has a - name and a value. When a start or end tag token is created, its self-closing flag must be unset (its other state is that it be set), and its attributes - list must be empty. Comment and character tokens have data.

+ a distinct state from the empty string), and the force-quirks flag + must be set to off (its other state is on). Start and end tag tokens have a tag name, + a self-closing flag, a duplicate attribute flag, and a list of attributes, each of which has a name and a + value. When a start or end tag token is created, its self-closing + flag must be unset (its other state is that it be set), its duplicate attribute flag must be unset (its other state is that it be set), and its + attributes list must be empty. Comment and character tokens have data.

When a token is emitted, it must immediately be handled by the tree construction stage. The tree construction stage can affect the state of the tokenization stage, and can insert @@ -104054,8 +104062,9 @@ dictionary StorageEventInit : EventInit {

When the user agent leaves the attribute name state (and before emitting the tag token, if appropriate), the complete attribute's name must be compared to the other attributes on the same token; if there is already an attribute on the token with the exact same name, then this is a - duplicate-attribute parse error - and the new attribute must be removed from the token.

+ duplicate-attribute parse error, + the new attribute must be removed from the token, and the token's duplicate attribute flag must be set.

If an attribute is so removed from a token, it, and the value that gets associated with it, if any, are never subsequently used by the parser, and are therefore effectively @@ -105747,6 +105756,13 @@ dictionary StorageEventInit : EventInit { data-x="dom-document-open">the document to be blown away.

+
  • +

    If element is a script element and the duplicate attribute flag of the token is set, then set + element's duplicate attribute + flag.

    +
  • +
  • Append each attribute in the given token to element.