| Index: Source/core/events/GenericEventQueue.cpp
|
| diff --git a/Source/core/events/GenericEventQueue.cpp b/Source/core/events/GenericEventQueue.cpp
|
| index 7f4386ac4e090e5f67f5d719eae73ffde0c1ad74..9fdc3f22050b8264e8071d4225440f311cc0c20b 100644
|
| --- a/Source/core/events/GenericEventQueue.cpp
|
| +++ b/Source/core/events/GenericEventQueue.cpp
|
| @@ -32,9 +32,9 @@
|
|
|
| namespace WebCore {
|
|
|
| -PassOwnPtr<GenericEventQueue> GenericEventQueue::create(EventTarget* owner)
|
| +PassOwnPtrWillBeRawPtr<GenericEventQueue> GenericEventQueue::create(EventTarget* owner)
|
| {
|
| - return adoptPtr(new GenericEventQueue(owner));
|
| + return adoptPtrWillBeNoop(new GenericEventQueue(owner));
|
| }
|
|
|
| GenericEventQueue::GenericEventQueue(EventTarget* owner)
|
| @@ -48,6 +48,13 @@ GenericEventQueue::~GenericEventQueue()
|
| {
|
| }
|
|
|
| +void GenericEventQueue::trace(Visitor* visitor)
|
| +{
|
| + visitor->trace(m_owner);
|
| + visitor->trace(m_pendingEvents);
|
| + EventQueue::trace(visitor);
|
| +}
|
| +
|
| bool GenericEventQueue::enqueueEvent(PassRefPtrWillBeRawPtr<Event> event)
|
| {
|
| if (m_isClosed)
|
| @@ -88,10 +95,10 @@ void GenericEventQueue::timerFired(Timer<GenericEventQueue>*)
|
| WillBeHeapVector<RefPtrWillBeMember<Event> > pendingEvents;
|
| m_pendingEvents.swap(pendingEvents);
|
|
|
| - RefPtrWillBeRawPtr<EventTarget> protect(m_owner);
|
| + RefPtrWillBeRawPtr<EventTarget> protect(m_owner.get());
|
| for (size_t i = 0; i < pendingEvents.size(); ++i) {
|
| Event* event = pendingEvents[i].get();
|
| - EventTarget* target = event->target() ? event->target() : m_owner;
|
| + EventTarget* target = event->target() ? event->target() : m_owner.get();
|
| CString type(event->type().ascii());
|
| TRACE_EVENT_ASYNC_STEP_INTO1("event", "GenericEventQueue:enqueueEvent", event, "dispatch", "type", type);
|
| target->dispatchEvent(pendingEvents[i].release());
|
|
|