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

Unified Diff: Source/core/events/GenericEventQueue.cpp

Issue 331623002: Oilpan: Prepare to move EventQueue and its subclasses to Oilpan heap. (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/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());

Powered by Google App Engine
This is Rietveld 408576698