Index: Source/core/dom/custom/CustomElementUpgradeCandidateMap.h |
diff --git a/Source/core/dom/custom/CustomElementUpgradeCandidateMap.h b/Source/core/dom/custom/CustomElementUpgradeCandidateMap.h |
index f68c50b65be76cea7412a881ba3ae7c256da5742..e92262eb6b988961fe64acc13ece9cb47fbcb218 100644 |
--- a/Source/core/dom/custom/CustomElementUpgradeCandidateMap.h |
+++ b/Source/core/dom/custom/CustomElementUpgradeCandidateMap.h |
@@ -35,38 +35,40 @@ |
#include "core/dom/custom/CustomElementDescriptorHash.h" |
#include "core/dom/custom/CustomElementObserver.h" |
#include "wtf/HashMap.h" |
-#include "wtf/ListHashSet.h" |
+#include "wtf/LinkedHashSet.h" |
#include "wtf/Noncopyable.h" |
namespace WebCore { |
class Element; |
-class CustomElementUpgradeCandidateMap : CustomElementObserver { |
+class CustomElementUpgradeCandidateMap FINAL : public CustomElementObserver { |
WTF_MAKE_NONCOPYABLE(CustomElementUpgradeCandidateMap); |
public: |
- CustomElementUpgradeCandidateMap() { } |
- ~CustomElementUpgradeCandidateMap(); |
+ static PassOwnPtrWillBeRawPtr<CustomElementUpgradeCandidateMap> create(); |
+ virtual ~CustomElementUpgradeCandidateMap(); |
// API for CustomElementRegistrationContext to save and take candidates |
- typedef ListHashSet<Element*> ElementSet; |
+ typedef WillBeHeapLinkedHashSet<RawPtrWillBeWeakMember<Element> > ElementSet; |
void add(const CustomElementDescriptor&, Element*); |
- void remove(Element*); |
- ElementSet takeUpgradeCandidatesFor(const CustomElementDescriptor&); |
+ PassOwnPtrWillBeRawPtr<ElementSet> takeUpgradeCandidatesFor(const CustomElementDescriptor&); |
+ |
+ virtual void trace(Visitor*) OVERRIDE; |
private: |
+ CustomElementUpgradeCandidateMap() { } |
+ |
virtual void elementWasDestroyed(Element*) OVERRIDE; |
- void removeCommon(Element*); |
virtual void elementDidFinishParsingChildren(Element*) OVERRIDE; |
void moveToEnd(Element*); |
- typedef HashMap<Element*, CustomElementDescriptor> UpgradeCandidateMap; |
+ typedef WillBeHeapHashMap<RawPtrWillBeWeakMember<Element>, CustomElementDescriptor> UpgradeCandidateMap; |
UpgradeCandidateMap m_upgradeCandidates; |
- typedef HashMap<CustomElementDescriptor, ElementSet> UnresolvedDefinitionMap; |
+ typedef WillBeHeapHashMap<CustomElementDescriptor, OwnPtrWillBeMember<ElementSet> > UnresolvedDefinitionMap; |
UnresolvedDefinitionMap m_unresolvedDefinitions; |
}; |