Index: Source/core/workers/WorkerMessagingProxy.cpp |
diff --git a/Source/core/workers/WorkerMessagingProxy.cpp b/Source/core/workers/WorkerMessagingProxy.cpp |
index 99bfc59c0872211636b16a4def684ad4a5ce5f9f..32a02cb1eeea5549dff153f003c8971e9a1bd326 100644 |
--- a/Source/core/workers/WorkerMessagingProxy.cpp |
+++ b/Source/core/workers/WorkerMessagingProxy.cpp |
@@ -113,15 +113,16 @@ private: |
class WorkerExceptionTask : public ScriptExecutionContext::Task { |
public: |
- static PassOwnPtr<WorkerExceptionTask> create(const String& errorMessage, int lineNumber, const String& sourceURL, WorkerMessagingProxy* messagingProxy) |
+ static PassOwnPtr<WorkerExceptionTask> create(const String& errorMessage, int lineNumber, int columnNumber, const String& sourceURL, WorkerMessagingProxy* messagingProxy) |
{ |
- return adoptPtr(new WorkerExceptionTask(errorMessage, lineNumber, sourceURL, messagingProxy)); |
+ return adoptPtr(new WorkerExceptionTask(errorMessage, lineNumber, columnNumber, sourceURL, messagingProxy)); |
} |
private: |
- WorkerExceptionTask(const String& errorMessage, int lineNumber, const String& sourceURL, WorkerMessagingProxy* messagingProxy) |
+ WorkerExceptionTask(const String& errorMessage, int lineNumber, int columnNumber, const String& sourceURL, WorkerMessagingProxy* messagingProxy) |
: m_errorMessage(errorMessage.isolatedCopy()) |
, m_lineNumber(lineNumber) |
+ , m_columnNumber(columnNumber) |
, m_sourceURL(sourceURL.isolatedCopy()) |
, m_messagingProxy(messagingProxy) |
{ |
@@ -136,13 +137,14 @@ private: |
// We don't bother checking the askedToTerminate() flag here, because exceptions should *always* be reported even if the thread is terminated. |
// This is intentionally different than the behavior in MessageWorkerTask, because terminated workers no longer deliver messages (section 4.6 of the WebWorker spec), but they do report exceptions. |
- bool errorHandled = !workerObject->dispatchEvent(ErrorEvent::create(m_errorMessage, m_sourceURL, m_lineNumber)); |
+ bool errorHandled = !workerObject->dispatchEvent(ErrorEvent::create(m_errorMessage, m_sourceURL, m_lineNumber, m_columnNumber)); |
if (!errorHandled) |
- context->reportException(m_errorMessage, m_lineNumber, m_sourceURL, 0); |
+ context->reportException(m_errorMessage, m_lineNumber, m_columnNumber, m_sourceURL, 0); |
} |
String m_errorMessage; |
int m_lineNumber; |
+ int m_columnNumber; |
String m_sourceURL; |
WorkerMessagingProxy* m_messagingProxy; |
}; |
@@ -305,9 +307,9 @@ void WorkerMessagingProxy::postTaskToLoader(PassOwnPtr<ScriptExecutionContext::T |
m_scriptExecutionContext->postTask(task); |
} |
-void WorkerMessagingProxy::postExceptionToWorkerObject(const String& errorMessage, int lineNumber, const String& sourceURL) |
+void WorkerMessagingProxy::postExceptionToWorkerObject(const String& errorMessage, int lineNumber, int columnNumber, const String& sourceURL) |
{ |
- m_scriptExecutionContext->postTask(WorkerExceptionTask::create(errorMessage, lineNumber, sourceURL, this)); |
+ m_scriptExecutionContext->postTask(WorkerExceptionTask::create(errorMessage, lineNumber, columnNumber, sourceURL, this)); |
} |
static void postConsoleMessageTask(ScriptExecutionContext* context, WorkerMessagingProxy* messagingProxy, MessageSource source, MessageLevel level, const String& message, unsigned lineNumber, const String& sourceURL) |