Index: Source/bindings/v8/WorkerScriptController.cpp |
diff --git a/Source/bindings/v8/WorkerScriptController.cpp b/Source/bindings/v8/WorkerScriptController.cpp |
index acf1941814d3d46b53a38e4756b46556320e5805..7768296a334ca0e1457ac8de11d7a79ed67c50f1 100644 |
--- a/Source/bindings/v8/WorkerScriptController.cpp |
+++ b/Source/bindings/v8/WorkerScriptController.cpp |
@@ -100,9 +100,7 @@ WorkerScriptController::~WorkerScriptController() |
{ |
ThreadState::current()->removeInterruptor(m_interruptor.get()); |
- RELEASE_ASSERT(m_world->hasOneRef()); |
- // ~DOMWrapperWorld() must be called before disposing the isolate. |
- m_world = nullptr; |
+ m_world->dispose(); |
// The corresponding call to didStartWorkerRunLoop is in |
// WorkerThread::workerThread(). |
@@ -128,7 +126,7 @@ bool WorkerScriptController::initializeContextIfNeeded() |
if (context.IsEmpty()) |
return false; |
- m_perContextData = V8PerContextData::create(context, m_world.get()); |
+ m_perContextData = V8PerContextData::create(context, m_world); |
v8::Context::Scope scope(context); |
@@ -213,11 +211,11 @@ void WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode, RefPtr |
if (state.hadException) { |
if (errorEvent) { |
*errorEvent = m_workerGlobalScope.shouldSanitizeScriptError(state.sourceURL, NotSharableCrossOrigin) ? |
- ErrorEvent::createSanitizedError(nullptr) : ErrorEvent::create(state.errorMessage, state.sourceURL, state.lineNumber, state.columnNumber, nullptr); |
+ ErrorEvent::createSanitizedError(0) : ErrorEvent::create(state.errorMessage, state.sourceURL, state.lineNumber, state.columnNumber, 0); |
V8ErrorHandler::storeExceptionOnErrorEventWrapper(errorEvent->get(), state.exception.v8Value(), m_isolate); |
} else { |
ASSERT(!m_workerGlobalScope.shouldSanitizeScriptError(state.sourceURL, NotSharableCrossOrigin)); |
- RefPtr<ErrorEvent> event = m_errorEventFromImportedScript ? m_errorEventFromImportedScript.release() : ErrorEvent::create(state.errorMessage, state.sourceURL, state.lineNumber, state.columnNumber, nullptr); |
+ RefPtr<ErrorEvent> event = m_errorEventFromImportedScript ? m_errorEventFromImportedScript.release() : ErrorEvent::create(state.errorMessage, state.sourceURL, state.lineNumber, state.columnNumber, 0); |
m_workerGlobalScope.reportException(event, nullptr, NotSharableCrossOrigin); |
} |
} |