Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(596)

Unified Diff: Source/core/dom/CustomElement.h

Issue 23009004: Process Custom Elements in post-order. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/dom/CustomElement.h
diff --git a/Source/core/dom/CustomElement.h b/Source/core/dom/CustomElement.h
index 4fc4b572ae85c4135a532727db0a28cc037ba276..205c04edce49c3238c75b1d679542c52d44a9eb9 100644
--- a/Source/core/dom/CustomElement.h
+++ b/Source/core/dom/CustomElement.h
@@ -33,6 +33,7 @@
#include "core/dom/CustomElementDefinition.h"
#include "wtf/HashMap.h"
+#include "wtf/HashSet.h"
#include "wtf/Noncopyable.h"
#include "wtf/PassRefPtr.h"
#include "wtf/RefPtr.h"
@@ -55,6 +56,7 @@ public:
static void allowTagName(const AtomicString& localName);
// API for registration contexts
+ static void setBeingParsed(Element*);
static void define(Element*, PassRefPtr<CustomElementDefinition>);
// API for wrapper creation, which uses a definition as a key
@@ -62,6 +64,7 @@ public:
// API for Element to kick off changes
+ static void finishedParsingChildren(Element*);
static void attributeDidChange(Element*, const AtomicString& name, const AtomicString& oldValue, const AtomicString& newValue);
static void didEnterDocument(Element*, Document*);
static void didLeaveDocument(Element*, Document*);
@@ -89,6 +92,10 @@ private:
ElementDefinitionHashMap m_definitions;
};
static DefinitionMap& definitions();
+
+ typedef HashSet<Element*> ElementSet;
+ static ElementSet& elementsBeingParsed();
+ static void setFinishedParsing(Element*);
};
}

Powered by Google App Engine
This is Rietveld 408576698