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

Unified Diff: Source/core/workers/WorkerGlobalScope.cpp

Issue 307943002: Oilpan: Prepare moving InspectorController and InspectorAgents to oilpan. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 5 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
« no previous file with comments | « Source/core/workers/WorkerGlobalScope.h ('k') | Source/core/workers/WorkerMessagingProxy.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/workers/WorkerGlobalScope.cpp
diff --git a/Source/core/workers/WorkerGlobalScope.cpp b/Source/core/workers/WorkerGlobalScope.cpp
index 62529dfb043ba36301adffc8ef54fa7e93ef0fda..216deba3e7b2e6311255ce920084b1770533242b 100644
--- a/Source/core/workers/WorkerGlobalScope.cpp
+++ b/Source/core/workers/WorkerGlobalScope.cpp
@@ -82,7 +82,7 @@ WorkerGlobalScope::WorkerGlobalScope(const KURL& url, const String& userAgent, W
, m_userAgent(userAgent)
, m_script(adoptPtr(new WorkerScriptController(*this)))
, m_thread(thread)
- , m_workerInspectorController(adoptPtr(new WorkerInspectorController(this)))
+ , m_workerInspectorController(adoptRefWillBeNoop(new WorkerInspectorController(this)))
, m_closing(false)
, m_eventQueue(WorkerEventQueue::create(this))
, m_workerClients(workerClients)
@@ -93,6 +93,7 @@ WorkerGlobalScope::WorkerGlobalScope(const KURL& url, const String& userAgent, W
setClient(this);
setSecurityOrigin(SecurityOrigin::create(url));
m_workerClients->reattachThread();
+ m_thread->setWorkerInspectorController(m_workerInspectorController.get());
}
WorkerGlobalScope::~WorkerGlobalScope()
@@ -183,8 +184,13 @@ void WorkerGlobalScope::postTask(PassOwnPtr<ExecutionContextTask> task)
thread()->postTask(task);
}
+// FIXME: Called twice, from WorkerThreadShutdownFinishTask and WorkerGlobalScope::dispose.
void WorkerGlobalScope::clearInspector()
{
+ if (!m_workerInspectorController)
+ return;
+ thread()->setWorkerInspectorController(nullptr);
+ m_workerInspectorController->dispose();
m_workerInspectorController.clear();
}
@@ -339,6 +345,7 @@ void WorkerGlobalScope::trace(Visitor* visitor)
visitor->trace(m_console);
visitor->trace(m_location);
visitor->trace(m_navigator);
+ visitor->trace(m_workerInspectorController);
visitor->trace(m_eventQueue);
visitor->trace(m_workerClients);
WillBeHeapSupplementable<WorkerGlobalScope>::trace(visitor);
« no previous file with comments | « Source/core/workers/WorkerGlobalScope.h ('k') | Source/core/workers/WorkerMessagingProxy.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698