| Index: Source/core/workers/WorkerGlobalScope.cpp
|
| diff --git a/Source/core/workers/WorkerGlobalScope.cpp b/Source/core/workers/WorkerGlobalScope.cpp
|
| index 24d4eb5c4c1fbb2a509d670e550079e4730d73d9..e6312b9faadc0865b551150f2b75df2dc14bea45 100644
|
| --- a/Source/core/workers/WorkerGlobalScope.cpp
|
| +++ b/Source/core/workers/WorkerGlobalScope.cpp
|
| @@ -72,7 +72,7 @@ WorkerGlobalScope::WorkerGlobalScope(const KURL& url, const String& userAgent, W
|
| : m_url(url)
|
| , m_userAgent(userAgent)
|
| , m_v8CacheOptions(V8CacheOptionsDefault)
|
| - , m_script(adoptPtr(new WorkerScriptController(*this, thread->isolate())))
|
| + , m_script(WorkerScriptController::create(this, thread->isolate()))
|
| , m_thread(thread)
|
| , m_workerInspectorController(adoptRefWillBeNoop(new WorkerInspectorController(this)))
|
| , m_closing(false)
|
| @@ -186,6 +186,13 @@ void WorkerGlobalScope::postTask(const WebTraceLocation& location, PassOwnPtr<Ex
|
| thread()->postTask(location, task);
|
| }
|
|
|
| +void WorkerGlobalScope::clearScript()
|
| +{
|
| + ASSERT(m_script);
|
| + m_script->dispose();
|
| + m_script.clear();
|
| +}
|
| +
|
| void WorkerGlobalScope::clearInspector()
|
| {
|
| ASSERT(m_workerInspectorController);
|
| @@ -390,6 +397,7 @@ DEFINE_TRACE(WorkerGlobalScope)
|
| visitor->trace(m_console);
|
| visitor->trace(m_location);
|
| visitor->trace(m_navigator);
|
| + visitor->trace(m_script);
|
| visitor->trace(m_workerInspectorController);
|
| visitor->trace(m_eventQueue);
|
| visitor->trace(m_workerClients);
|
|
|