| Index: Source/bindings/core/v8/V8Initializer.cpp
|
| diff --git a/Source/bindings/core/v8/V8Initializer.cpp b/Source/bindings/core/v8/V8Initializer.cpp
|
| index f9c02905c0796cd450051cdcd4fdb5efedcff880..0cd513c49875a0a21bb09732eedbb3d46c3f22b6 100644
|
| --- a/Source/bindings/core/v8/V8Initializer.cpp
|
| +++ b/Source/bindings/core/v8/V8Initializer.cpp
|
| @@ -45,6 +45,7 @@
|
| #include "core/frame/LocalDOMWindow.h"
|
| #include "core/frame/LocalFrame.h"
|
| #include "core/frame/csp/ContentSecurityPolicy.h"
|
| +#include "core/inspector/ConsoleMessage.h"
|
| #include "core/inspector/ScriptCallStack.h"
|
| #include "platform/TraceEvent.h"
|
| #include "public/platform/Platform.h"
|
| @@ -118,8 +119,9 @@ static void messageHandlerInMainThread(v8::Handle<v8::Message> message, v8::Hand
|
| const WrapperTypeInfo* type = toWrapperTypeInfo(obj);
|
| if (V8DOMException::wrapperTypeInfo.isSubclass(type)) {
|
| DOMException* exception = V8DOMException::toNative(obj);
|
| - if (exception && !exception->messageForConsole().isEmpty())
|
| + if (exception && !exception->messageForConsole().isEmpty()) {
|
| event->setUnsanitizedMessage("Uncaught " + exception->toStringForConsole());
|
| + }
|
| }
|
| }
|
|
|
| @@ -130,7 +132,9 @@ static void messageHandlerInMainThread(v8::Handle<v8::Message> message, v8::Hand
|
| if (frame && frame->script().existingWindowShell(scriptState->world())) {
|
| V8ErrorHandler::storeExceptionOnErrorEventWrapper(event.get(), data, scriptState->context()->Global(), isolate);
|
| }
|
| - enteredWindow->document()->reportException(event.release(), callStack, corsStatus);
|
| +
|
| + RefPtrWillBeRawPtr<ConsoleMessage> consoleError = ConsoleMessage::create(JSMessageSource, ErrorMessageLevel, event->messageForConsole(), resource, message->GetLineNumber(), message->GetStartColumn() + 1, callStack, scriptState, 0, corsStatus);
|
| + enteredWindow->document()->reportException(event.release(), consoleError.release());
|
| }
|
|
|
| static void failedAccessCheckCallbackInMainThread(v8::Local<v8::Object> host, v8::AccessType type, v8::Local<v8::Value> data)
|
| @@ -227,7 +231,9 @@ static void messageHandlerInWorker(v8::Handle<v8::Message> message, v8::Handle<v
|
| AccessControlStatus corsStatus = message->IsSharedCrossOrigin() ? SharableCrossOrigin : NotSharableCrossOrigin;
|
|
|
| V8ErrorHandler::storeExceptionOnErrorEventWrapper(event.get(), data, scriptState->context()->Global(), isolate);
|
| - context->reportException(event.release(), nullptr, corsStatus);
|
| +
|
| + RefPtrWillBeRawPtr<ConsoleMessage> consoleError = ConsoleMessage::create(JSMessageSource, ErrorMessageLevel, errorMessage, sourceURL, message->GetLineNumber(), message->GetStartColumn() + 1, nullptr, scriptState, 0, corsStatus);
|
| + context->reportException(event.release(), consoleError);
|
| }
|
|
|
| isReportingException = false;
|
|
|