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

Unified Diff: third_party/WebKit/Source/platform/v8_inspector/V8ConsoleMessage.cpp

Issue 2170263002: [DevTools] Pass error object when reporting exceptions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: worklets! Created 4 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: third_party/WebKit/Source/platform/v8_inspector/V8ConsoleMessage.cpp
diff --git a/third_party/WebKit/Source/platform/v8_inspector/V8ConsoleMessage.cpp b/third_party/WebKit/Source/platform/v8_inspector/V8ConsoleMessage.cpp
index f747c5606e2b08c141e142fa6905d23e084c7c96..2baa90e0b2ad9f66a79e318f209b0c99143ce914 100644
--- a/third_party/WebKit/Source/platform/v8_inspector/V8ConsoleMessage.cpp
+++ b/third_party/WebKit/Source/platform/v8_inspector/V8ConsoleMessage.cpp
@@ -252,9 +252,10 @@ std::unique_ptr<protocol::Array<protocol::Runtime::RemoteObject>> V8ConsoleMessa
void V8ConsoleMessage::reportToFrontend(protocol::Runtime::Frontend* frontend, V8InspectorSessionImpl* session, bool generatePreview) const
{
if (m_origin == V8MessageOrigin::kException) {
+ std::unique_ptr<protocol::Runtime::RemoteObject> exception = wrapException(session, generatePreview);
// TODO(dgozman): unify with InjectedScript::createExceptionDetails.
std::unique_ptr<protocol::Runtime::ExceptionDetails> details = protocol::Runtime::ExceptionDetails::create()
- .setText(m_message)
+ .setText(exception ? m_message : m_detailedMessage)
.setLineNumber(m_lineNumber ? m_lineNumber - 1 : 0)
.setColumnNumber(m_columnNumber ? m_columnNumber - 1 : 0)
.setScriptId(m_scriptId ? String16::fromInteger(m_scriptId) : String16())
@@ -264,8 +265,6 @@ void V8ConsoleMessage::reportToFrontend(protocol::Runtime::Frontend* frontend, V
if (m_stackTrace)
details->setStackTrace(m_stackTrace->buildInspectorObjectImpl());
- std::unique_ptr<protocol::Runtime::RemoteObject> exception = wrapException(session, generatePreview);
-
if (exception)
frontend->exceptionThrown(m_exceptionId, m_timestamp, std::move(details), std::move(exception), m_contextId);
else
@@ -351,16 +350,17 @@ std::unique_ptr<V8ConsoleMessage> V8ConsoleMessage::createForConsoleAPI(double t
}
// static
-std::unique_ptr<V8ConsoleMessage> V8ConsoleMessage::createForException(double timestamp, const String16& messageText, const String16& url, unsigned lineNumber, unsigned columnNumber, std::unique_ptr<V8StackTraceImpl> stackTrace, int scriptId, v8::Isolate* isolate, int contextId, v8::Local<v8::Value> exception, unsigned exceptionId)
+std::unique_ptr<V8ConsoleMessage> V8ConsoleMessage::createForException(double timestamp, const String16& detailedMessage, const String16& url, unsigned lineNumber, unsigned columnNumber, std::unique_ptr<V8StackTraceImpl> stackTrace, int scriptId, v8::Isolate* isolate, const String16& message, int contextId, v8::Local<v8::Value> exception, unsigned exceptionId)
{
- std::unique_ptr<V8ConsoleMessage> message = wrapUnique(new V8ConsoleMessage(V8MessageOrigin::kException, timestamp, messageText));
- message->setLocation(url, lineNumber, columnNumber, std::move(stackTrace), scriptId);
- message->m_exceptionId = exceptionId;
+ std::unique_ptr<V8ConsoleMessage> consoleMessage = wrapUnique(new V8ConsoleMessage(V8MessageOrigin::kException, timestamp, message));
+ consoleMessage->setLocation(url, lineNumber, columnNumber, std::move(stackTrace), scriptId);
+ consoleMessage->m_exceptionId = exceptionId;
+ consoleMessage->m_detailedMessage = detailedMessage;
if (contextId && !exception.IsEmpty()) {
- message->m_contextId = contextId;
- message->m_arguments.push_back(wrapUnique(new v8::Global<v8::Value>(isolate, exception)));
+ consoleMessage->m_contextId = contextId;
+ consoleMessage->m_arguments.push_back(wrapUnique(new v8::Global<v8::Value>(isolate, exception)));
}
- return message;
+ return consoleMessage;
}
// static

Powered by Google App Engine
This is Rietveld 408576698