Index: Source/core/page/PageConsole.cpp |
diff --git a/Source/core/page/PageConsole.cpp b/Source/core/page/PageConsole.cpp |
index 07bbb252a6ce2974edde7df033fa5d860034e9b2..cc08bbe417241b2d913328c6498cb3d7511c4f38 100644 |
--- a/Source/core/page/PageConsole.cpp |
+++ b/Source/core/page/PageConsole.cpp |
@@ -91,7 +91,18 @@ void PageConsole::addMessage(MessageSource source, MessageLevel level, const Str |
if (source == CSSMessageSource) |
return; |
- page->chrome().client()->addMessageToConsole(source, level, message, lineNumber, url); |
+ String chromeMessage = message; |
+ if (page->chrome().client()->shouldReportDetailedMessageForSource(url)) { |
+ if (callStack) { |
+ for (size_t i = 0; i < callStack->size(); ++i) { |
pfeldman
2013/08/12 16:15:34
Can you extract this formatter and use it from Con
Devlin
2013/08/12 19:38:17
Done.
|
+ const ScriptCallFrame& frame = callStack->at(i); |
+ chromeMessage.append("\n at " + (frame.functionName().length() ? frame.functionName() : String("(anonymous function)")) + " (" + frame.sourceURL() + ":" + String::number(frame.lineNumber()) + ":" + String::number(frame.columnNumber()) + ")"); |
+ } |
+ } else { |
+ chromeMessage.append("\n at (anonymous function) (" + url + ":" + String::number(lineNumber) + ":" + String::number(columnNumber) + ")"); |
+ } |
+ } |
+ page->chrome().client()->addMessageToConsole(source, level, chromeMessage, lineNumber, url); |
} |
// static |