Index: Source/WebCore/dom/EventQueue.h |
=================================================================== |
--- Source/WebCore/dom/EventQueue.h (revision 77575) |
+++ Source/WebCore/dom/EventQueue.h (working copy) |
@@ -27,38 +27,51 @@ |
#ifndef EventQueue_h |
#define EventQueue_h |
-#include "Timer.h" |
#include <wtf/HashSet.h> |
#include <wtf/Noncopyable.h> |
+#include <wtf/OwnPtr.h> |
+#include <wtf/PassOwnPtr.h> |
#include <wtf/RefPtr.h> |
#include <wtf/Vector.h> |
namespace WebCore { |
class Event; |
+class EventQueueTimer; |
class Node; |
+class ScriptExecutionContext; |
class EventQueue { |
WTF_MAKE_NONCOPYABLE(EventQueue); |
+ |
public: |
enum ScrollEventTargetType { |
ScrollEventDocumentTarget, |
ScrollEventElementTarget |
}; |
- EventQueue(); |
+ static PassOwnPtr<EventQueue> create(ScriptExecutionContext* context) |
+ { |
+ return adoptPtr(new EventQueue(context)); |
+ } |
+ ~EventQueue(); |
+ |
void enqueueEvent(PassRefPtr<Event>); |
void enqueueScrollEvent(PassRefPtr<Node>, ScrollEventTargetType); |
private: |
- void pendingEventTimerFired(Timer<EventQueue>*); |
+ explicit EventQueue(ScriptExecutionContext*); |
+ |
+ void pendingEventTimerFired(); |
void dispatchEvent(PassRefPtr<Event>); |
- Timer<EventQueue> m_pendingEventTimer; |
+ OwnPtr<EventQueueTimer> m_pendingEventTimer; |
Vector<RefPtr<Event> > m_queuedEvents; |
HashSet<Node*> m_nodesWithQueuedScrollEvents; |
+ |
+ friend class EventQueueTimer; |
}; |
} |