Index: Source/core/page/PageConsole.cpp |
diff --git a/Source/core/page/PageConsole.cpp b/Source/core/page/PageConsole.cpp |
index 07bbb252a6ce2974edde7df033fa5d860034e9b2..5a65b9f2931b32a9c820feb3e52aff1f02c76638 100644 |
--- a/Source/core/page/PageConsole.cpp |
+++ b/Source/core/page/PageConsole.cpp |
@@ -92,6 +92,21 @@ void PageConsole::addMessage(MessageSource source, MessageLevel level, const Str |
return; |
page->chrome().client()->addMessageToConsole(source, level, message, lineNumber, url); |
+ if (page->chrome().client()->shouldReportDetailedMessage(url)) { |
+ String jsonStackTrace; |
+ if (callStack) { |
+ jsonStackTrace = callStack->buildInspectorArray()->toJSONString(); |
+ } else { |
+ RefPtr<JSONObject> simpleStackFrame = JSONObject::create(); |
+ simpleStackFrame->setNumber("lineNumber", lineNumber); |
+ simpleStackFrame->setNumber("columnNumber", columnNumber); |
+ simpleStackFrame->setString("url", url); |
+ RefPtr<JSONArray> simpleStackTrace = JSONArray::create(); |
+ simpleStackTrace->pushObject(simpleStackFrame); |
+ jsonStackTrace = simpleStackTrace->toJSONString(); |
+ } |
+ page->chrome().client()->reportDetailedMessage(url, level, message, jsonStackTrace); |
+ } |
} |
// static |