Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(166)

Unified Diff: Source/bindings/core/v8/V8Initializer.cpp

Issue 376213002: DevTools: Make FrameConsole methods accept ConsoleMessage objects. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@scriptFailedToParse
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698