| Index: Source/core/inspector/ConsoleMessage.cpp
|
| diff --git a/Source/core/inspector/ConsoleMessage.cpp b/Source/core/inspector/ConsoleMessage.cpp
|
| index 7ce1741749c1c61035d32e1775ee3525a3a52e6b..3f39e70ea8559a32b245a09ff3089d91bbbb45c0 100644
|
| --- a/Source/core/inspector/ConsoleMessage.cpp
|
| +++ b/Source/core/inspector/ConsoleMessage.cpp
|
| @@ -51,7 +51,6 @@ ConsoleMessage::ConsoleMessage(bool canGenerateCallStack, MessageSource source,
|
| , m_type(type)
|
| , m_level(level)
|
| , m_message(message)
|
| - , m_url()
|
| , m_line(0)
|
| , m_column(0)
|
| , m_repeatCount(1)
|
| @@ -61,11 +60,12 @@ ConsoleMessage::ConsoleMessage(bool canGenerateCallStack, MessageSource source,
|
| autogenerateMetadata(canGenerateCallStack);
|
| }
|
|
|
| -ConsoleMessage::ConsoleMessage(bool canGenerateCallStack, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& url, unsigned line, unsigned column, ScriptState* state, unsigned long requestIdentifier)
|
| +ConsoleMessage::ConsoleMessage(bool canGenerateCallStack, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& executionContextURL, const String& url, unsigned line, unsigned column, ScriptState* state, unsigned long requestIdentifier)
|
| : m_source(source)
|
| , m_type(type)
|
| , m_level(level)
|
| , m_message(message)
|
| + , m_executionContextURL(executionContextURL)
|
| , m_url(url)
|
| , m_line(line)
|
| , m_column(column)
|
| @@ -76,11 +76,12 @@ ConsoleMessage::ConsoleMessage(bool canGenerateCallStack, MessageSource source,
|
| autogenerateMetadata(canGenerateCallStack, state);
|
| }
|
|
|
| -ConsoleMessage::ConsoleMessage(bool, MessageSource source, MessageType type, MessageLevel level, const String& message, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier)
|
| +ConsoleMessage::ConsoleMessage(bool, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& executionContextURL, PassRefPtr<ScriptCallStack> callStack, unsigned long requestIdentifier)
|
| : m_source(source)
|
| , m_type(type)
|
| , m_level(level)
|
| , m_message(message)
|
| + , m_executionContextURL(executionContextURL)
|
| , m_arguments(0)
|
| , m_line(0)
|
| , m_column(0)
|
| @@ -97,13 +98,13 @@ ConsoleMessage::ConsoleMessage(bool, MessageSource source, MessageType type, Mes
|
| m_callStack = callStack;
|
| }
|
|
|
| -ConsoleMessage::ConsoleMessage(bool canGenerateCallStack, MessageSource source, MessageType type, MessageLevel level, const String& message, PassRefPtr<ScriptArguments> arguments, ScriptState* state, unsigned long requestIdentifier)
|
| +ConsoleMessage::ConsoleMessage(bool canGenerateCallStack, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& executionContextURL, PassRefPtr<ScriptArguments> arguments, ScriptState* state, unsigned long requestIdentifier)
|
| : m_source(source)
|
| , m_type(type)
|
| , m_level(level)
|
| , m_message(message)
|
| + , m_executionContextURL(executionContextURL)
|
| , m_arguments(arguments)
|
| - , m_url()
|
| , m_line(0)
|
| , m_column(0)
|
| , m_repeatCount(1)
|
| @@ -122,10 +123,10 @@ void ConsoleMessage::autogenerateMetadata(bool canGenerateCallStack, ScriptState
|
| if (m_type == EndGroupMessageType)
|
| return;
|
|
|
| - if (state)
|
| + if (canGenerateCallStack)
|
| + generateCallStack(ScriptCallStack::maxCallStackSizeToCapture);
|
| + else if (state)
|
| m_callStack = createScriptCallStackForConsole(state);
|
| - else if (canGenerateCallStack)
|
| - m_callStack = createScriptCallStack(ScriptCallStack::maxCallStackSizeToCapture, true);
|
| else
|
| return;
|
|
|
| @@ -140,6 +141,11 @@ void ConsoleMessage::autogenerateMetadata(bool canGenerateCallStack, ScriptState
|
| m_callStack.clear();
|
| }
|
|
|
| +void ConsoleMessage::generateCallStack(size_t maxSizeToCapture)
|
| +{
|
| + m_callStack = createScriptCallStack(maxSizeToCapture, true);
|
| +}
|
| +
|
| static TypeBuilder::Console::ConsoleMessage::Source::Enum messageSourceValue(MessageSource source)
|
| {
|
| switch (source) {
|
| @@ -189,7 +195,7 @@ static TypeBuilder::Console::ConsoleMessage::Level::Enum messageLevelValue(Messa
|
| return TypeBuilder::Console::ConsoleMessage::Level::Log;
|
| }
|
|
|
| -void ConsoleMessage::addToFrontend(InspectorFrontend::Console* frontend, InjectedScriptManager* injectedScriptManager, bool generatePreview)
|
| +PassRefPtr<TypeBuilder::Console::ConsoleMessage> ConsoleMessage::generateJSONWithoutArguments() const
|
| {
|
| RefPtr<TypeBuilder::Console::ConsoleMessage> jsonObj = TypeBuilder::Console::ConsoleMessage::create()
|
| .setSource(messageSourceValue(m_source))
|
| @@ -201,9 +207,18 @@ void ConsoleMessage::addToFrontend(InspectorFrontend::Console* frontend, Injecte
|
| jsonObj->setLine(static_cast<int>(m_line));
|
| jsonObj->setColumn(static_cast<int>(m_column));
|
| jsonObj->setUrl(m_url);
|
| + jsonObj->setExecutionContextURL(m_executionContextURL);
|
| jsonObj->setRepeatCount(static_cast<int>(m_repeatCount));
|
| if (m_source == NetworkMessageSource && !m_requestId.isEmpty())
|
| jsonObj->setNetworkRequestId(m_requestId);
|
| + if (m_callStack)
|
| + jsonObj->setStackTrace(m_callStack->buildInspectorArray());
|
| + return jsonObj;
|
| +}
|
| +
|
| +void ConsoleMessage::addToFrontend(InspectorFrontend::Console* frontend, InjectedScriptManager* injectedScriptManager, bool generatePreview)
|
| +{
|
| + RefPtr<TypeBuilder::Console::ConsoleMessage> jsonObj = generateJSONWithoutArguments();
|
| if (m_arguments && m_arguments->argumentCount()) {
|
| InjectedScript injectedScript = injectedScriptManager->injectedScriptFor(m_arguments->globalState());
|
| if (!injectedScript.hasNoValue()) {
|
| @@ -230,8 +245,6 @@ void ConsoleMessage::addToFrontend(InspectorFrontend::Console* frontend, Injecte
|
| jsonObj->setParameters(jsonArgs);
|
| }
|
| }
|
| - if (m_callStack)
|
| - jsonObj->setStackTrace(m_callStack->buildInspectorArray());
|
| frontend->messageAdded(jsonObj);
|
| }
|
|
|
| @@ -275,6 +288,11 @@ bool ConsoleMessage::isEqual(ConsoleMessage* msg) const
|
| && msg->m_requestId == m_requestId;
|
| }
|
|
|
| +bool ConsoleMessage::hasGeneratedCallStack() const
|
| +{
|
| + return m_callStack;
|
| +}
|
| +
|
| void ConsoleMessage::windowCleared(DOMWindow* window)
|
| {
|
| if (!m_arguments)
|
|
|