Chromium Code Reviews| 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> { |
|
haraken
2014/05/27 01:08:45
This can be NoBaseWillBeGarbageCollected.
sof
2014/05/27 11:59:14
Done.
|
| 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; |
| }; |