| Index: Source/core/workers/WorkerGlobalScope.cpp
|
| diff --git a/Source/core/workers/WorkerGlobalScope.cpp b/Source/core/workers/WorkerGlobalScope.cpp
|
| index 1b89c2ea74710865777114b0778cdc8ea73e86fb..ca9bdd74ffb48ed6d58301a6e016eb01b66337a9 100644
|
| --- a/Source/core/workers/WorkerGlobalScope.cpp
|
| +++ b/Source/core/workers/WorkerGlobalScope.cpp
|
| @@ -81,7 +81,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)
|
| @@ -182,8 +182,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();
|
| }
|
|
|
| @@ -338,6 +342,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);
|
|
|