| Index: Source/bindings/v8/WorkerScriptController.cpp
|
| diff --git a/Source/bindings/v8/WorkerScriptController.cpp b/Source/bindings/v8/WorkerScriptController.cpp
|
| index c95df01b73cd2d2c6dbb01a15d2fbaf3c72ea0ee..51df385e6ca6b216c999c6b497bf98a499a781c7 100644
|
| --- a/Source/bindings/v8/WorkerScriptController.cpp
|
| +++ b/Source/bindings/v8/WorkerScriptController.cpp
|
| @@ -167,7 +167,7 @@ ScriptValue WorkerScriptController::evaluate(const String& script, const String&
|
| state->lineNumber = message->GetLineNumber();
|
| state->columnNumber = message->GetStartColumn();
|
| state->sourceURL = toWebCoreString(message->GetScriptResourceName());
|
| - if (m_workerGlobalScope->sanitizeScriptError(state->errorMessage, state->lineNumber, state->columnNumber, state->sourceURL))
|
| + if (m_workerGlobalScope->sanitizeScriptError(state->errorMessage, state->lineNumber, state->columnNumber, state->sourceURL, state->error))
|
| state->exception = throwError(v8GeneralError, state->errorMessage.utf8().data(), m_isolate);
|
| else
|
| state->exception = ScriptValue(block.Exception());
|
| @@ -190,10 +190,12 @@ void WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode, Script
|
| WorkerGlobalScopeExecutionState state;
|
| evaluate(sourceCode.source(), sourceCode.url().string(), sourceCode.startPosition(), &state);
|
| if (state.hadException) {
|
| - if (exception)
|
| + if (exception) {
|
| *exception = state.exception;
|
| - else
|
| - m_workerGlobalScope->reportException(state.errorMessage, state.lineNumber, state.columnNumber, state.sourceURL, 0);
|
| + } else {
|
| + RefPtr<ErrorEvent> event = ErrorEvent::create(state.errorMessage, state.sourceURL, state.lineNumber, state.columnNumber);
|
| + m_workerGlobalScope->reportException(event, 0);
|
| + }
|
| }
|
| }
|
|
|
|
|