Index: Source/core/workers/WorkerThread.cpp |
diff --git a/Source/core/workers/WorkerThread.cpp b/Source/core/workers/WorkerThread.cpp |
index cc0c0c2130bc61d14f9bc98fff3e5f28e485e15b..939f715def19841629202fb22afe47e695b94f39 100644 |
--- a/Source/core/workers/WorkerThread.cpp |
+++ b/Source/core/workers/WorkerThread.cpp |
@@ -36,6 +36,7 @@ |
#include "core/workers/DedicatedWorkerGlobalScope.h" |
#include "core/workers/WorkerClients.h" |
#include "core/workers/WorkerReportingProxy.h" |
+#include "core/workers/WorkerScriptCachedMetadataHandler.h" |
#include "core/workers/WorkerThreadStartupData.h" |
#include "platform/PlatformThreadData.h" |
#include "platform/Task.h" |
@@ -311,6 +312,8 @@ void WorkerThread::initialize() |
KURL scriptURL = m_startupData->m_scriptURL; |
String sourceCode = m_startupData->m_sourceCode; |
WorkerThreadStartMode startMode = m_startupData->m_startMode; |
+ OwnPtr<Vector<char>> cachedMetaData = m_startupData->m_cachedMetaData.release(); |
+ V8CacheOptions v8CacheOptions = m_startupData->m_v8CacheOptions; |
{ |
MutexLocker lock(m_threadCreationMutex); |
@@ -342,7 +345,8 @@ void WorkerThread::initialize() |
if (!script->isExecutionForbidden()) |
script->initializeContextIfNeeded(); |
InspectorInstrumentation::willEvaluateWorkerScript(workerGlobalScope(), startMode); |
- bool success = script->evaluate(ScriptSourceCode(sourceCode, scriptURL)); |
+ WorkerScriptCachedMetadataHandler handler(workerGlobalScope(), scriptURL, cachedMetaData.get()); |
+ bool success = script->evaluate(ScriptSourceCode(sourceCode, scriptURL), nullptr, &handler, v8CacheOptions); |
m_workerGlobalScope->didEvaluateWorkerScript(); |
m_workerReportingProxy.didEvaluateWorkerScript(success); |