#define DOMWindowEventQueue_h
#include "core/events/EventQueue.h"
-#include "wtf/Forward.h"
#include "wtf/HashSet.h"
#include "wtf/ListHashSet.h"
#include "wtf/OwnPtr.h"
#include "wtf/RefCounted.h"
-namespace WebCore {
+namespace blink {
class Event;
class DOMWindowEventQueueTimer;
class Node;
class ExecutionContext;
-class DOMWindowEventQueue : public RefCounted<DOMWindowEventQueue>, public EventQueue {
+#if ENABLE(OILPAN)
+#define DOMWINDOWEVENTQUEUE_BASE_CLASSES public EventQueue
+#else
+#define DOMWINDOWEVENTQUEUE_BASE_CLASSES public RefCounted<DOMWindowEventQueue>, public EventQueue
+#endif
+
+class DOMWindowEventQueue FINAL : DOMWINDOWEVENTQUEUE_BASE_CLASSES {
public:
- static PassRefPtr<DOMWindowEventQueue> create(ExecutionContext*);
+ static PassRefPtrWillBeRawPtr<DOMWindowEventQueue> create(ExecutionContext*);
virtual ~DOMWindowEventQueue();
// EventQueue
- virtual bool enqueueEvent(PassRefPtr<Event>) OVERRIDE;
+ virtual void trace(Visitor*) OVERRIDE;
+ virtual bool enqueueEvent(PassRefPtrWillBeRawPtr<Event>) OVERRIDE;
virtual bool cancelEvent(Event*) OVERRIDE;
virtual void close() OVERRIDE;
explicit DOMWindowEventQueue(ExecutionContext*);
void pendingEventTimerFired();
- void dispatchEvent(PassRefPtr<Event>);
+ void dispatchEvent(PassRefPtrWillBeRawPtr<Event>);
- OwnPtr<DOMWindowEventQueueTimer> m_pendingEventTimer;
- ListHashSet<RefPtr<Event>, 16> m_queuedEvents;
+ OwnPtrWillBeMember<DOMWindowEventQueueTimer> m_pendingEventTimer;
+ WillBeHeapListHashSet<RefPtrWillBeMember<Event>, 16> m_queuedEvents;
bool m_isClosed;
friend class DOMWindowEventQueueTimer;