Index: Source/core/page/PageConsole.cpp |
diff --git a/Source/core/page/PageConsole.cpp b/Source/core/page/PageConsole.cpp |
index 07bbb252a6ce2974edde7df033fa5d860034e9b2..440cb0c9c2ba8fba87111a67b3288802be27a9f8 100644 |
--- a/Source/core/page/PageConsole.cpp |
+++ b/Source/core/page/PageConsole.cpp |
@@ -91,7 +91,17 @@ void PageConsole::addMessage(MessageSource source, MessageLevel level, const Str |
if (source == CSSMessageSource) |
return; |
- page->chrome().client()->addMessageToConsole(source, level, message, lineNumber, url); |
+ String details; |
+ String executionContextURL = page->mainFrame()->document()->url().string(); |
+ if ((state && page->chrome().client()->shouldReportDetailedMessageForContext(state->context())) |
+ || page->chrome().client()->shouldReportDetailedMessageForURL(url) |
+ || page->chrome().client()->shouldReportDetailedMessageForURL(executionContextURL)) { |
+ if (callStack) |
+ details = page->chrome().generateConsoleMessageDetails(callStack, executionContextURL); |
+ else |
+ details = page->chrome().generateConsoleMessageDetails(lineNumber, columnNumber, url, "", executionContextURL); |
+ } |
+ page->chrome().client()->addMessageToConsole(source, level, message, lineNumber, url, details); |
} |
// static |