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

Unified Diff: third_party/WebKit/Source/core/inspector/ConsoleMessage.cpp

Issue 1997293002: Introduce SourceLocation to be used for console messages. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 7 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/core/inspector/ConsoleMessage.cpp
diff --git a/third_party/WebKit/Source/core/inspector/ConsoleMessage.cpp b/third_party/WebKit/Source/core/inspector/ConsoleMessage.cpp
index 758803d0ce745c8a7542467cdb3175cbe29a0822..eba115dca1b37897671b3d3cd9cfa2174d8608e6 100644
--- a/third_party/WebKit/Source/core/inspector/ConsoleMessage.cpp
+++ b/third_party/WebKit/Source/core/inspector/ConsoleMessage.cpp
@@ -6,6 +6,7 @@
#include "bindings/core/v8/ScriptCallStack.h"
#include "bindings/core/v8/ScriptValue.h"
+#include "bindings/core/v8/SourceLocation.h"
#include "core/inspector/ScriptArguments.h"
#include "wtf/CurrentTime.h"
#include "wtf/PassOwnPtr.h"
@@ -28,8 +29,8 @@ ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level,
{
RefPtr<ScriptCallStack> callStack = passCallStack;
if (callStack && !callStack->isEmpty() && (!scriptId || !lineNumber))
- return new ConsoleMessage(source, level, message, callStack->topSourceURL(), callStack->topLineNumber(), callStack->topColumnNumber(), callStack, 0, arguments);
- return new ConsoleMessage(source, level, message, url, lineNumber, columnNumber, callStack, scriptId, arguments);
+ return new ConsoleMessage(source, level, message, callStack->topSourceURL(), callStack->topLineNumber(), callStack->topColumnNumber(), callStack->copyStackTrace(), 0, arguments);
+ return new ConsoleMessage(source, level, message, url, lineNumber, columnNumber, callStack ? callStack->copyStackTrace() : nullptr, scriptId, arguments);
}
// static
@@ -66,13 +67,27 @@ ConsoleMessage* ConsoleMessage::createForConsoleAPI(MessageLevel level, MessageT
return consoleMessage;
}
+// static
+ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, PassOwnPtr<SourceLocation> location)
+{
+ if (!location)
+ return new ConsoleMessage(source, level, message, String(), 0, 0, nullptr, 0, nullptr);
+ return new ConsoleMessage(source, level, message, location->url(), location->lineNumber(), location->columnNumber(), location->takeStackTrace(), location->scriptId(), nullptr);
+}
+
+// static
+ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, const String& url, unsigned lineNumber, unsigned columnNumber, PassOwnPtr<V8StackTrace> stackTrace, int scriptId, ScriptArguments* arguments)
+{
+ return new ConsoleMessage(source, level, message, url, lineNumber, columnNumber, std::move(stackTrace), scriptId, arguments);
+}
+
ConsoleMessage::ConsoleMessage(MessageSource source,
MessageLevel level,
const String& message,
const String& url,
unsigned lineNumber,
unsigned columnNumber,
- PassRefPtr<ScriptCallStack> callStack,
+ PassOwnPtr<V8StackTrace> stackTrace,
int scriptId,
ScriptArguments* arguments)
: m_source(source)
@@ -83,7 +98,7 @@ ConsoleMessage::ConsoleMessage(MessageSource source,
, m_url(url)
, m_lineNumber(lineNumber)
, m_columnNumber(columnNumber)
- , m_callStack(callStack)
+ , m_stackTrace(std::move(stackTrace))
, m_scriptArguments(arguments)
, m_requestIdentifier(0)
, m_timestamp(WTF::currentTime())
@@ -121,9 +136,9 @@ unsigned ConsoleMessage::columnNumber() const
return m_columnNumber;
}
-PassRefPtr<ScriptCallStack> ConsoleMessage::callStack() const
+V8StackTrace* ConsoleMessage::stackTrace() const
{
- return m_callStack;
+ return m_stackTrace.get();
}
ScriptArguments* ConsoleMessage::scriptArguments() const

Powered by Google App Engine
This is Rietveld 408576698