Index: Source/core/workers/WorkerThread.cpp |
diff --git a/Source/core/workers/WorkerThread.cpp b/Source/core/workers/WorkerThread.cpp |
index cc0c0c2130bc61d14f9bc98fff3e5f28e485e15b..78cbaa7aca315b566bc100f79965af4a5f82b13e 100644 |
--- a/Source/core/workers/WorkerThread.cpp |
+++ b/Source/core/workers/WorkerThread.cpp |
@@ -311,6 +311,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 +344,9 @@ void WorkerThread::initialize() |
if (!script->isExecutionForbidden()) |
script->initializeContextIfNeeded(); |
InspectorInstrumentation::willEvaluateWorkerScript(workerGlobalScope(), startMode); |
- bool success = script->evaluate(ScriptSourceCode(sourceCode, scriptURL)); |
+ |
+ OwnPtr<CachedMetadataHandler> handler(workerGlobalScope()->createWorkerScriptCachedMetadataHandler(scriptURL, cachedMetaData.get())); |
+ bool success = script->evaluate(ScriptSourceCode(sourceCode, scriptURL), nullptr, handler.get(), v8CacheOptions); |
m_workerGlobalScope->didEvaluateWorkerScript(); |
m_workerReportingProxy.didEvaluateWorkerScript(success); |