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

Unified Diff: Source/core/dom/custom/CustomElementMicrotaskQueue.h

Issue 334253005: Custom Elements: Encapsulates Async and Sync Queues into one class. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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/custom/CustomElementMicrotaskQueue.h
diff --git a/Source/core/dom/custom/CustomElementMicrotaskQueue.h b/Source/core/dom/custom/CustomElementMicrotaskQueue.h
index cda3cab39336cb483ad583c999fc985fcd6980bb..071a638853f6d886dd48c5a4b8237d9ae58d8d82 100644
--- a/Source/core/dom/custom/CustomElementMicrotaskQueue.h
+++ b/Source/core/dom/custom/CustomElementMicrotaskQueue.h
@@ -31,47 +31,33 @@
#ifndef CustomElementMicrotaskQueue_h
#define CustomElementMicrotaskQueue_h
-#include "core/dom/custom/CustomElementMicrotaskStep.h"
-#include "platform/heap/Handle.h"
-#include "wtf/OwnPtr.h"
-#include "wtf/PassOwnPtr.h"
-#include "wtf/PassRefPtr.h"
-#include "wtf/RefCounted.h"
-#include "wtf/RefPtr.h"
-#include "wtf/Vector.h"
+#include "core/dom/custom/CustomElementAsyncImportMicrotaskQueue.h"
+#include "core/dom/custom/CustomElementSyncMicrotaskQueue.h"
namespace WebCore {
-class CustomElementMicrotaskQueueBase : public RefCountedWillBeGarbageCollectedFinalized<CustomElementMicrotaskQueueBase> {
- WTF_MAKE_NONCOPYABLE(CustomElementMicrotaskQueueBase);
+class HTMLImportLoader;
+
+class CustomElementMicrotaskQueue : public RefCountedWillBeGarbageCollectedFinalized<CustomElementMicrotaskQueue> {
dominicc (has gone to gerrit) 2014/06/17 00:29:23 Shouldn't you IWYU RefCountedWillBeGarbageCollecte
dominicc (has gone to gerrit) 2014/06/17 00:29:23 I think the naming of these types is wrong. Given
Hajime Morrita 2014/06/17 17:19:51 Done.
Hajime Morrita 2014/06/17 17:19:51 Well, right. This isn't queue at all. Renaed to Qu
+ WTF_MAKE_NONCOPYABLE(CustomElementMicrotaskQueue);
public:
- virtual ~CustomElementMicrotaskQueueBase() { }
+ static PassRefPtrWillBeRawPtr<CustomElementMicrotaskQueue> create() { return adoptRefWillBeNoop(new CustomElementMicrotaskQueue()); }
- bool isEmpty() const { return m_queue.isEmpty(); }
- void dispatch();
+ CustomElementMicrotaskQueue();
dominicc (has gone to gerrit) 2014/06/17 00:29:23 Why is this visible?
Hajime Morrita 2014/06/17 17:19:51 Done.
+ void enqueue(HTMLImportLoader* parentLoader, PassOwnPtrWillBeRawPtr<CustomElementMicrotaskStep>);
+ void enqueue(HTMLImportLoader* parentLoader, PassOwnPtrWillBeRawPtr<CustomElementMicrotaskImportStep>, bool importIsSync);
+
+ void dispatch();
void trace(Visitor*);
#if !defined(NDEBUG)
void show(unsigned indent);
#endif
-protected:
- CustomElementMicrotaskQueueBase() { }
- virtual void doDispatch() = 0;
-
- WillBeHeapVector<OwnPtrWillBeMember<CustomElementMicrotaskStep> > m_queue;
-};
-
-class CustomElementMicrotaskQueue : public CustomElementMicrotaskQueueBase {
-public:
- static PassRefPtrWillBeRawPtr<CustomElementMicrotaskQueue> create() { return adoptRefWillBeNoop(new CustomElementMicrotaskQueue()); }
-
- void enqueue(PassOwnPtrWillBeRawPtr<CustomElementMicrotaskStep>);
-
private:
- CustomElementMicrotaskQueue() { }
- virtual void doDispatch();
+ RefPtrWillBeMember<CustomElementSyncMicrotaskQueue> m_syncQueue;
dominicc (has gone to gerrit) 2014/06/17 00:29:23 Why do these need to be pointers? Are they shared
Hajime Morrita 2014/06/17 17:19:51 Yes. They are ref counted objects and one of them
+ RefPtrWillBeMember<CustomElementAsyncImportMicrotaskQueue> m_asyncQueue;
};
}

Powered by Google App Engine
This is Rietveld 408576698