#include "wtf/PassOwnPtr.h"
#include "wtf/Vector.h"
-namespace WebCore {
+namespace blink {
class CustomElementCallbackQueue;
class CustomElementMicrotaskImportStep;
class CustomElementMicrotaskStep;
-class CustomElementMicrotaskStepDispatcher;
+class Document;
class HTMLImportLoader;
class CustomElementMicrotaskDispatcher FINAL : public NoBaseWillBeGarbageCollected<CustomElementMicrotaskDispatcher> {
public:
static CustomElementMicrotaskDispatcher& instance();
- void enqueue(HTMLImportLoader* parentLoader, PassOwnPtrWillBeRawPtr<CustomElementMicrotaskStep>);
- void enqueue(HTMLImportLoader* parentLoader, PassOwnPtrWillBeRawPtr<CustomElementMicrotaskImportStep>, bool importIsSync);
-
void enqueue(CustomElementCallbackQueue*);
-
- void importDidFinish(CustomElementMicrotaskImportStep*);
-
bool elementQueueIsEmpty() { return m_elements.isEmpty(); }
void trace(Visitor*);
-#if !defined(NDEBUG)
- void show();
-#endif
-
private:
CustomElementMicrotaskDispatcher();
void ensureMicrotaskScheduledForElementQueue();
- void ensureMicrotaskScheduledForMicrotaskSteps();
void ensureMicrotaskScheduled();
static void dispatch();
DispatchingCallbacks
} m_phase;
- RefPtrWillBeMember<CustomElementMicrotaskStepDispatcher> m_steps;
WillBeHeapVector<RawPtrWillBeMember<CustomElementCallbackQueue> > m_elements;
};
}
-#if !defined(NDEBUG)
-void showCEMD();
-#endif
-
#endif // CustomElementMicrotaskDispatcher_h