Index: Source/core/dom/custom/CustomElementScheduler.h |
diff --git a/Source/core/dom/custom/CustomElementScheduler.h b/Source/core/dom/custom/CustomElementScheduler.h |
index b17b875fc697efc11273fb078621dfe6e23f1c3c..e128004ca70586ad46e2f7eeeeb82779dffc7115 100644 |
--- a/Source/core/dom/custom/CustomElementScheduler.h |
+++ b/Source/core/dom/custom/CustomElementScheduler.h |
@@ -33,6 +33,7 @@ |
#include "core/dom/custom/CustomElementCallbackQueue.h" |
#include "core/dom/custom/CustomElementLifecycleCallbacks.h" |
+#include "platform/heap/Handle.h" |
#include "wtf/HashMap.h" |
#include "wtf/OwnPtr.h" |
#include "wtf/PassRefPtr.h" |
@@ -45,24 +46,26 @@ class CustomElementMicrotaskImportStep; |
class Element; |
class HTMLImportChild; |
-class CustomElementScheduler { |
+class CustomElementScheduler FINAL : public NoBaseWillBeGarbageCollectedFinalized<CustomElementScheduler> { |
public: |
- static void scheduleCallback(PassRefPtr<CustomElementLifecycleCallbacks>, PassRefPtr<Element>, CustomElementLifecycleCallbacks::CallbackType); |
- static void scheduleAttributeChangedCallback(PassRefPtr<CustomElementLifecycleCallbacks>, PassRefPtr<Element>, const AtomicString& name, const AtomicString& oldValue, const AtomicString& newValue); |
+ static void scheduleCallback(PassRefPtr<CustomElementLifecycleCallbacks>, PassRefPtrWillBeRawPtr<Element>, CustomElementLifecycleCallbacks::CallbackType); |
+ static void scheduleAttributeChangedCallback(PassRefPtr<CustomElementLifecycleCallbacks>, PassRefPtrWillBeRawPtr<Element>, const AtomicString& name, const AtomicString& oldValue, const AtomicString& newValue); |
- static void resolveOrScheduleResolution(PassRefPtr<CustomElementRegistrationContext>, PassRefPtr<Element>, const CustomElementDescriptor&); |
+ static void resolveOrScheduleResolution(PassRefPtrWillBeRawPtr<CustomElementRegistrationContext>, PassRefPtrWillBeRawPtr<Element>, const CustomElementDescriptor&); |
static CustomElementMicrotaskImportStep* scheduleImport(HTMLImportChild*); |
static void microtaskDispatcherDidFinish(); |
static void callbackDispatcherDidFinish(); |
+ void trace(Visitor*); |
+ |
private: |
CustomElementScheduler() { } |
static CustomElementScheduler& instance(); |
- CustomElementCallbackQueue& ensureCallbackQueue(PassRefPtr<Element>); |
- CustomElementCallbackQueue& schedule(PassRefPtr<Element>); |
+ CustomElementCallbackQueue& ensureCallbackQueue(PassRefPtrWillBeRawPtr<Element>); |
+ CustomElementCallbackQueue& schedule(PassRefPtrWillBeRawPtr<Element>); |
// FIXME: Consider moving the element's callback queue to |
// ElementRareData. Then the scheduler can become completely |
@@ -71,7 +74,7 @@ private: |
// The element -> callback queue map is populated by the scheduler |
// and owns the lifetimes of the CustomElementCallbackQueues. |
- typedef HashMap<Element*, OwnPtr<CustomElementCallbackQueue> > ElementCallbackQueueMap; |
+ typedef WillBeHeapHashMap<RawPtrWillBeMember<Element>, OwnPtrWillBeMember<CustomElementCallbackQueue> > ElementCallbackQueueMap; |
ElementCallbackQueueMap m_elementCallbackQueueMap; |
}; |