Index: third_party/WebKit/Source/core/workers/WorkerThread.cpp |
diff --git a/third_party/WebKit/Source/core/workers/WorkerThread.cpp b/third_party/WebKit/Source/core/workers/WorkerThread.cpp |
index a65ac1332f872d3b5ea5ada1b73952c5962c55fd..7c94f4e23ea8808393099d953c473c5e4e33ed5b 100644 |
--- a/third_party/WebKit/Source/core/workers/WorkerThread.cpp |
+++ b/third_party/WebKit/Source/core/workers/WorkerThread.cpp |
@@ -31,6 +31,7 @@ |
#include "bindings/core/v8/V8GCController.h" |
#include "bindings/core/v8/V8IdleTaskRunner.h" |
#include "bindings/core/v8/WorkerOrWorkletScriptController.h" |
+#include "core/inspector/ConsoleMessageStorage.h" |
#include "core/inspector/InspectorInstrumentation.h" |
#include "core/inspector/InspectorTaskRunner.h" |
#include "core/inspector/WorkerInspectorController.h" |
@@ -492,6 +493,7 @@ void WorkerThread::initializeOnWorkerThread(std::unique_ptr<WorkerThreadStartupD |
// Optimize for memory usage instead of latency for the worker isolate. |
isolate()->IsolateInBackgroundNotification(); |
+ m_consoleMessageStorage = new ConsoleMessageStorage(); |
m_globalScope = createWorkerGlobalScope(std::move(startupData)); |
m_workerInspectorController = WorkerInspectorController::create(this); |
if (m_globalScope->isWorkerGlobalScope()) |
@@ -563,6 +565,8 @@ void WorkerThread::prepareForShutdownOnWorkerThread() |
m_workerInspectorController->dispose(); |
m_workerInspectorController.clear(); |
} |
+ if (m_consoleMessageStorage) |
yhirano
2016/08/09 06:33:06
Why don't you clear the pointer unconditionally?
ikilpatrick
2016/08/09 14:13:58
Done.
|
+ m_consoleMessageStorage.clear(); |
workerBackingThread().backingThread().removeTaskObserver(m_microtaskRunner.get()); |
} |