summaryrefslogtreecommitdiffstats
path: root/chrome/browser/dom_ui/net_internals_ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/dom_ui/net_internals_ui.cc')
-rw-r--r--chrome/browser/dom_ui/net_internals_ui.cc35
1 files changed, 34 insertions, 1 deletions
diff --git a/chrome/browser/dom_ui/net_internals_ui.cc b/chrome/browser/dom_ui/net_internals_ui.cc
index 93e1262..6502b70 100644
--- a/chrome/browser/dom_ui/net_internals_ui.cc
+++ b/chrome/browser/dom_ui/net_internals_ui.cc
@@ -210,6 +210,8 @@ class NetInternalsMessageHandler::IOThreadImpl
void OnGetServiceProviders(const ListValue* list);
#endif
+ void OnSetLogLevel(const ListValue* list);
+
// ChromeNetLog::Observer implementation:
virtual void OnAddEntry(net::NetLog::EventType type,
const base::TimeTicks& time,
@@ -403,6 +405,10 @@ void NetInternalsMessageHandler::RegisterMessages() {
"getServiceProviders",
proxy_->CreateCallback(&IOThreadImpl::OnGetServiceProviders));
#endif
+
+ dom_ui_->RegisterMessageCallback(
+ "setLogLevel",
+ proxy_->CreateCallback(&IOThreadImpl::OnSetLogLevel));
}
void NetInternalsMessageHandler::CallJavascriptFunction(
@@ -426,7 +432,7 @@ NetInternalsMessageHandler::IOThreadImpl::IOThreadImpl(
const base::WeakPtr<NetInternalsMessageHandler>& handler,
IOThread* io_thread,
URLRequestContextGetter* context_getter)
- : Observer(net::NetLog::LOG_ALL),
+ : Observer(net::NetLog::LOG_ALL_BUT_BYTES),
handler_(handler),
io_thread_(io_thread),
context_getter_(context_getter),
@@ -559,6 +565,18 @@ void NetInternalsMessageHandler::IOThreadImpl::OnRendererReady(
CallJavascriptFunction(L"g_browser.receivedLogSourceTypeConstants", dict);
}
+ // Tell the javascript about the relationship between LogLevel enums and their
+ // symbolic names.
+ {
+ DictionaryValue* dict = new DictionaryValue();
+
+ dict->SetInteger("LOG_ALL", net::NetLog::LOG_ALL);
+ dict->SetInteger("LOG_ALL_BUT_BYTES", net::NetLog::LOG_ALL_BUT_BYTES);
+ dict->SetInteger("LOG_BASIC", net::NetLog::LOG_BASIC);
+
+ CallJavascriptFunction(L"g_browser.receivedLogLevelConstants", dict);
+ }
+
// Tell the javascript about the relationship between address family enums and
// their symbolic names.
{
@@ -890,6 +908,21 @@ void NetInternalsMessageHandler::IOThreadImpl::OnGetServiceProviders(
}
#endif
+void NetInternalsMessageHandler::IOThreadImpl::OnSetLogLevel(
+ const ListValue* list) {
+ int log_level;
+ std::string log_level_string;
+ if (!list->GetString(0, &log_level_string) ||
+ !base::StringToInt(log_level_string, &log_level)) {
+ NOTREACHED();
+ return;
+ }
+
+ DCHECK_GE(log_level, net::NetLog::LOG_ALL);
+ DCHECK_LE(log_level, net::NetLog::LOG_BASIC);
+ set_log_level(static_cast<net::NetLog::LogLevel>(log_level));
+}
+
void NetInternalsMessageHandler::IOThreadImpl::OnAddEntry(
net::NetLog::EventType type,
const base::TimeTicks& time,