From d77b1e846b588ac979eb868a23a9f626a5e3e571 Mon Sep 17 00:00:00 2001
From: Andy Paicu
Date: Wed, 5 Dec 2018 14:56:57 +0100
Subject: [PATCH] Added a duplicate attribute present member to element create
call
---
source | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/source b/source
index 5af18751cc0..c36610728ba 100644
--- a/source
+++ b/source
@@ -103008,12 +103008,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
@@ -104003,8 +104005,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
@@ -105686,8 +105689,10 @@ dictionary StorageEventInit : EventInit {
Let element be the result of creating an
element given document, localName, given
- namespace, null, and is. If will execute script is true, set the
- synchronous custom elements flag; otherwise, leave it unset.
+ namespace, null, is, and the
+ duplicate attribute flag of the token.
+ If will execute script is true, set the
+ synchronous custom elements flag; otherwise, leave it unset.
This will cause custom element
constructors to run, if will execute script is true. However, since we