summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-11 19:01:08 +0000
committerdtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-11 19:01:08 +0000
commitd09df4b682ac7216e707d5a749781d92716ffbe5 (patch)
treed5cdb1c09fb85258d1c1d103f6642aed772cad2e
parent724571232ff3281f572c8a38aa7c2b3108db7847 (diff)
downloadchromium_src-d09df4b682ac7216e707d5a749781d92716ffbe5.zip
chromium_src-d09df4b682ac7216e707d5a749781d92716ffbe5.tar.gz
chromium_src-d09df4b682ac7216e707d5a749781d92716ffbe5.tar.bz2
Pass over the log level of console.* JS calls from renderer to browser.
BUG=none TEST=none Review URL: http://codereview.chromium.org/6812042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81132 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--content/browser/renderer_host/render_view_host.cc9
-rw-r--r--content/browser/renderer_host/render_view_host.h3
-rw-r--r--content/common/view_messages.h3
-rw-r--r--content/renderer/render_view.cc19
4 files changed, 30 insertions, 4 deletions
diff --git a/content/browser/renderer_host/render_view_host.cc b/content/browser/renderer_host/render_view_host.cc
index 7440df1..1f35dc3 100644
--- a/content/browser/renderer_host/render_view_host.cc
+++ b/content/browser/renderer_host/render_view_host.cc
@@ -1236,10 +1236,15 @@ void RenderViewHost::OnTakeFocus(bool reverse) {
view->TakeFocus(reverse);
}
-void RenderViewHost::OnAddMessageToConsole(const std::wstring& message,
+void RenderViewHost::OnAddMessageToConsole(int32 level,
+ const std::wstring& message,
int32 line_no,
const std::wstring& source_id) {
- logging::LogMessage("CONSOLE", 0).stream() << "\"" << message
+ // Pass through log level only on WebUI pages to limit console spew.
+ int32 resolved_level =
+ BindingsPolicy::is_web_ui_enabled(enabled_bindings_) ? level : 0;
+
+ logging::LogMessage("CONSOLE", resolved_level).stream() << "\"" << message
<< "\", source: " << source_id << " (" << line_no << ")";
}
diff --git a/content/browser/renderer_host/render_view_host.h b/content/browser/renderer_host/render_view_host.h
index 88dac2a..72920cb 100644
--- a/content/browser/renderer_host/render_view_host.h
+++ b/content/browser/renderer_host/render_view_host.h
@@ -578,7 +578,8 @@ class RenderViewHost : public RenderWidgetHost {
const gfx::Point& image_offset);
void OnUpdateDragCursor(WebKit::WebDragOperation drag_operation);
void OnTakeFocus(bool reverse);
- void OnAddMessageToConsole(const std::wstring& message,
+ void OnAddMessageToConsole(int32 level,
+ const std::wstring& message,
int32 line_no,
const std::wstring& source_id);
void OnUpdateInspectorSetting(const std::string& key,
diff --git a/content/common/view_messages.h b/content/common/view_messages.h
index 8daeab9..c870bd6 100644
--- a/content/common/view_messages.h
+++ b/content/common/view_messages.h
@@ -1663,7 +1663,8 @@ IPC_MESSAGE_ROUTED0(ViewHostMsg_ImeCancelComposition)
// WebKit and JavaScript error messages to log to the console
// or debugger UI.
-IPC_MESSAGE_ROUTED3(ViewHostMsg_AddMessageToConsole,
+IPC_MESSAGE_ROUTED4(ViewHostMsg_AddMessageToConsole,
+ int32, /* log level */
std::wstring, /* msg */
int32, /* line number */
std::wstring /* source id */)
diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc
index 4eea883..f75a1fe 100644
--- a/content/renderer/render_view.cc
+++ b/content/renderer/render_view.cc
@@ -1952,7 +1952,26 @@ WebStorageNamespace* RenderView::createSessionStorageNamespace(unsigned quota) {
void RenderView::didAddMessageToConsole(
const WebConsoleMessage& message, const WebString& source_name,
unsigned source_line) {
+ logging::LogSeverity log_severity = logging::LOG_VERBOSE;
+ switch(message.level) {
+ case WebConsoleMessage::LevelTip:
+ log_severity = logging::LOG_VERBOSE;
+ break;
+ case WebConsoleMessage::LevelLog:
+ log_severity = logging::LOG_INFO;
+ break;
+ case WebConsoleMessage::LevelWarning:
+ log_severity = logging::LOG_WARNING;
+ break;
+ case WebConsoleMessage::LevelError:
+ log_severity = logging::LOG_ERROR;
+ break;
+ default:
+ NOTREACHED();
+ }
+
Send(new ViewHostMsg_AddMessageToConsole(routing_id_,
+ static_cast<int32>(log_severity),
UTF16ToWideHack(message.text),
static_cast<int32>(source_line),
UTF16ToWideHack(source_name)));