| Index: Source/core/page/Console.cpp
|
| diff --git a/Source/core/page/Console.cpp b/Source/core/page/Console.cpp
|
| index bd34162ac01de4fa12be8ecbfa4529726f6c7d9f..aac664d10920048e8bf8b8f4d4bc981f5515aab1 100644
|
| --- a/Source/core/page/Console.cpp
|
| +++ b/Source/core/page/Console.cpp
|
| @@ -69,16 +69,24 @@ static void internalAddMessage(Page* page, MessageType type, MessageLevel level,
|
| if (!acceptNoArguments && !arguments->argumentCount())
|
| return;
|
|
|
| - size_t stackSize = printTrace ? ScriptCallStack::maxCallStackSizeToCapture : 1;
|
| - RefPtr<ScriptCallStack> callStack(createScriptCallStack(state, stackSize));
|
| + String executionContextURL = state->scriptExecutionContext()->url().string();
|
| + bool reportDetailedMessage = page->chrome().client()->shouldReportDetailedMessage(state->context(), executionContextURL);
|
| +
|
| + size_t stackSize = printTrace || reportDetailedMessage ? ScriptCallStack::maxCallStackSizeToCapture : 1;
|
| + RefPtr<ScriptCallStack> callStack(createScriptCallStack(stackSize));
|
| const ScriptCallFrame& lastCaller = callStack->at(0);
|
|
|
| String message;
|
| bool gotMessage = arguments->getFirstArgumentAsString(message);
|
| InspectorInstrumentation::addMessageToConsole(page, ConsoleAPIMessageSource, type, level, message, state, arguments);
|
|
|
| - if (gotMessage)
|
| - page->chrome().client()->addMessageToConsole(ConsoleAPIMessageSource, type, level, message, lastCaller.lineNumber(), lastCaller.sourceURL());
|
| + if (gotMessage) {
|
| + String details;
|
| + if (reportDetailedMessage)
|
| + details = page->chrome().generateConsoleMessageDetails(callStack, executionContextURL);
|
| +
|
| + page->chrome().client()->addMessageToConsole(ConsoleAPIMessageSource, level, message, lastCaller.lineNumber(), lastCaller.sourceURL(), details);
|
| + }
|
| }
|
|
|
| void Console::debug(ScriptState* state, PassRefPtr<ScriptArguments> arguments)
|
|
|