Index: Source/bindings/v8/WorkerScriptController.cpp |
diff --git a/Source/bindings/v8/WorkerScriptController.cpp b/Source/bindings/v8/WorkerScriptController.cpp |
index c95df01b73cd2d2c6dbb01a15d2fbaf3c72ea0ee..0723628a73f156160a0640376bbb4baa440f8c7b 100644 |
--- a/Source/bindings/v8/WorkerScriptController.cpp |
+++ b/Source/bindings/v8/WorkerScriptController.cpp |
@@ -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); |
+ } |
} |
} |