| Index: Source/core/workers/WorkerGlobalScope.cpp
|
| diff --git a/Source/core/workers/WorkerGlobalScope.cpp b/Source/core/workers/WorkerGlobalScope.cpp
|
| index 262da1c6d83586d479ef705717be7fbfcd8edc8e..d622e66f9688524cb05a10b2b9f1f6259645eb0d 100644
|
| --- a/Source/core/workers/WorkerGlobalScope.cpp
|
| +++ b/Source/core/workers/WorkerGlobalScope.cpp
|
| @@ -80,7 +80,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(adoptPtrWillBeNoop(new WorkerInspectorController(this)))
|
| , m_closing(false)
|
| , m_eventQueue(WorkerEventQueue::create(this))
|
| , m_workerClients(workerClients)
|
| @@ -181,8 +181,12 @@ void WorkerGlobalScope::postTask(PassOwnPtr<ExecutionContextTask> task)
|
| thread()->runLoop().postTask(task);
|
| }
|
|
|
| +// FIXME: Called twice, from WorkerThreadShutdownFinishTask and WorkerGlobalScope::dispose.
|
| void WorkerGlobalScope::clearInspector()
|
| {
|
| + if (!m_workerInspectorController)
|
| + return;
|
| + m_workerInspectorController->dispose();
|
| m_workerInspectorController.clear();
|
| }
|
|
|
| @@ -327,6 +331,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);
|
|
|