Index: Source/core/page/PageConsole.cpp |
diff --git a/Source/core/page/PageConsole.cpp b/Source/core/page/PageConsole.cpp |
index 07bbb252a6ce2974edde7df033fa5d860034e9b2..37945a45e15331a072ead6601d684e2abdc0604c 100644 |
--- a/Source/core/page/PageConsole.cpp |
+++ b/Source/core/page/PageConsole.cpp |
@@ -83,15 +83,22 @@ void PageConsole::addMessage(MessageSource source, MessageLevel level, const Str |
if (!page) |
return; |
- if (callStack) |
- InspectorInstrumentation::addMessageToConsole(page, source, LogMessageType, level, message, callStack, requestIdentifier); |
- else |
- InspectorInstrumentation::addMessageToConsole(page, source, LogMessageType, level, message, url, lineNumber, columnNumber, state, requestIdentifier); |
+ String executionContextURL = page->mainFrame()->document()->url().string(); |
+ bool reportDetailedMessage = (state && page->chrome().client()->shouldReportDetailedMessageForContext(state->context())) |
+ || page->chrome().client()->shouldReportDetailedMessageForURL(url) |
+ || page->chrome().client()->shouldReportDetailedMessageForURL(executionContextURL); |
- if (source == CSSMessageSource) |
- return; |
+ OwnPtr<ConsoleMessage> consoleMessage = callStack |
+ ? adoptPtr(new ConsoleMessage(reportDetailedMessage, source, LogMessageType, level, message, executionContextURL, callStack, requestIdentifier)) |
+ : adoptPtr(new ConsoleMessage(reportDetailedMessage, source, LogMessageType, level, message, executionContextURL, url, lineNumber, columnNumber, state, requestIdentifier)); |
abarth-chromium
2013/07/24 23:59:09
Can you extract some of this logic into a helper f
Devlin
2013/07/25 01:46:00
Done.
|
- page->chrome().client()->addMessageToConsole(source, level, message, lineNumber, url); |
+ if (source != CSSMessageSource) |
+ page->chrome().client()->addMessageToConsole(source, level, message, lineNumber, url, consoleMessage->generateJSONWithoutArguments()->toJSONString()); |
+ |
+ if (callStack) |
+ InspectorInstrumentation::addMessageToConsole(page, consoleMessage.release()); |
+ else |
+ InspectorInstrumentation::addMessageToConsole(page, consoleMessage.release(), true); |
} |
// static |