| 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
|
|
|