Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 7c8342b37ed80245abf6df3f998ed5746c91cdad..3abfd17c3fe0844062ab5550d51a62bace2bb435 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -15,6 +15,7 @@ |
#include "base/metrics/histogram.h" |
#include "base/process/kill.h" |
#include "base/process/process.h" |
+#include "base/strings/string16.h" |
#include "base/strings/utf_string_conversions.h" |
#include "base/time/time.h" |
#include "content/child/appcache/appcache_dispatcher.h" |
@@ -1372,6 +1373,62 @@ void RenderFrameImpl::didMatchCSS( |
frame, newly_matching_selectors, stopped_matching_selectors); |
} |
+bool RenderFrameImpl::shouldReportDetailedMessageForSource( |
+ const blink::WebString& source) { |
+ return GetContentClient()->renderer()->ShouldReportDetailedMessageForSource( |
+ source); |
+} |
+ |
+void RenderFrameImpl::didAddMessageToConsole( |
+ const blink::WebConsoleMessage& message, |
+ const blink::WebString& source_name, |
+ unsigned source_line, |
+ const blink::WebString& stack_trace) { |
+ logging::LogSeverity log_severity = logging::LOG_VERBOSE; |
+ switch (message.level) { |
+ case blink::WebConsoleMessage::LevelDebug: |
+ log_severity = logging::LOG_VERBOSE; |
+ break; |
+ case blink::WebConsoleMessage::LevelLog: |
+ case blink::WebConsoleMessage::LevelInfo: |
+ log_severity = logging::LOG_INFO; |
+ break; |
+ case blink::WebConsoleMessage::LevelWarning: |
+ log_severity = logging::LOG_WARNING; |
+ break; |
+ case blink::WebConsoleMessage::LevelError: |
+ log_severity = logging::LOG_ERROR; |
+ break; |
+ default: |
+ NOTREACHED(); |
+ } |
+ |
+ if (shouldReportDetailedMessageForSource(source_name)) { |
+ FOR_EACH_OBSERVER( |
+ RenderViewObserver, |
+ render_view_->observers(), |
+ DetailedConsoleMessageAdded(message.text, |
+ source_name, |
+ stack_trace, |
+ source_line, |
+ static_cast<int32>(log_severity))); |
+ FOR_EACH_OBSERVER( |
+ RenderFrameObserver, |
+ observers_, |
+ DetailedConsoleMessageAdded(message.text, |
+ source_name, |
+ stack_trace, |
+ source_line, |
+ static_cast<int32>(log_severity))); |
+ } |
+ |
+ Send(new FrameHostMsg_AddMessageToConsole(routing_id_, |
+ static_cast<int32>(log_severity), |
+ message.text, |
+ static_cast<int32>(source_line), |
+ source_name)); |
+} |
+ |
void RenderFrameImpl::loadURLExternally(blink::WebFrame* frame, |
const blink::WebURLRequest& request, |
blink::WebNavigationPolicy policy) { |