Chromium Code Reviews| Index: Source/bindings/v8/WorkerScriptController.cpp |
| diff --git a/Source/bindings/v8/WorkerScriptController.cpp b/Source/bindings/v8/WorkerScriptController.cpp |
| index a0d3b2f5b1e385ae92e92f69391c5715d13e680e..610a6a9bb4d7e75792ae74231edda39646e56b69 100644 |
| --- a/Source/bindings/v8/WorkerScriptController.cpp |
| +++ b/Source/bindings/v8/WorkerScriptController.cpp |
| @@ -37,6 +37,7 @@ |
| #include "V8WorkerGlobalScope.h" |
| #include "bindings/v8/ScriptSourceCode.h" |
| #include "bindings/v8/ScriptValue.h" |
| +#include "bindings/v8/V8ErrorHandler.h" |
| #include "bindings/v8/V8GCController.h" |
| #include "bindings/v8/V8Initializer.h" |
| #include "bindings/v8/V8ObjectConstructor.h" |
| @@ -167,6 +168,7 @@ ScriptValue WorkerScriptController::evaluate(const String& script, const String& |
| state->lineNumber = message->GetLineNumber(); |
| state->columnNumber = message->GetStartColumn(); |
| state->sourceURL = toWebCoreString(message->GetScriptResourceName()); |
| + state->exception = ScriptValue(block.Exception()); |
| block.Reset(); |
| } else |
| state->hadException = false; |
| @@ -188,10 +190,10 @@ void WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode, RefPtr |
| if (errorEvent) { |
| *errorEvent = m_workerGlobalScope->shouldSanitizeScriptError(state.sourceURL, NotSharableCrossOrigin) ? |
| ErrorEvent::createSanitizedError() : ErrorEvent::create(state.errorMessage, state.sourceURL, state.lineNumber, state.columnNumber); |
| + V8ErrorHandler::storeExceptionOnErrorEventWrapper(workerGlobalScope(), 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); |
| - m_errorEventFromImportedScript.clear(); |
|
adamk
2013/08/09 17:11:32
Looks like this line was a no-op because of the .r
Mike West
2013/08/09 20:34:51
Correct. I inadvertently left it in a previous CL.
|
| m_workerGlobalScope->reportException(event, 0, NotSharableCrossOrigin); |
| } |
| } |