Index: chrome/browser/dom_ui/net_internals_ui.cc |
=================================================================== |
--- chrome/browser/dom_ui/net_internals_ui.cc (revision 65207) |
+++ chrome/browser/dom_ui/net_internals_ui.cc (working copy) |
@@ -186,12 +186,13 @@ |
// IO thread. |
void Detach(); |
+ // Sends all passive log entries in |entries| to Javascript handler. |
eroman
2010/11/17 05:59:02
nit: "to the javascript handler" (added "the").
|
+ void SendPassiveLogEntries(const ChromeNetLog::EntryList& passive_entries); |
+ |
//-------------------------------- |
// Javascript message handlers: |
//-------------------------------- |
- // This message is called after the webpage's onloaded handler has fired. |
- // it indicates that the renderer is ready to start receiving captured data. |
void OnRendererReady(const ListValue* list); |
void OnGetProxySettings(const ListValue* list); |
@@ -201,7 +202,6 @@ |
void OnGetHostResolverInfo(const ListValue* list); |
void OnClearHostResolverCache(const ListValue* list); |
void OnEnableIPv6(const ListValue* list); |
- void OnGetPassiveLogEntries(const ListValue* list); |
void OnStartConnectionTests(const ListValue* list); |
void OnGetHttpCacheInfo(const ListValue* list); |
void OnGetSocketPoolInfo(const ListValue* list); |
@@ -386,9 +386,6 @@ |
"enableIPv6", |
proxy_->CreateCallback(&IOThreadImpl::OnEnableIPv6)); |
dom_ui_->RegisterMessageCallback( |
- "getPassiveLogEntries", |
- proxy_->CreateCallback(&IOThreadImpl::OnGetPassiveLogEntries)); |
- dom_ui_->RegisterMessageCallback( |
"startConnectionTests", |
proxy_->CreateCallback(&IOThreadImpl::OnStartConnectionTests)); |
dom_ui_->RegisterMessageCallback( |
@@ -455,7 +452,7 @@ |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
// Unregister with network stack to observe events. |
if (is_observing_log_) |
- io_thread_->globals()->net_log->RemoveObserver(this); |
+ io_thread_->net_log()->RemoveObserver(this); |
// Cancel any in-progress connection tests. |
connection_tester_.reset(); |
@@ -466,10 +463,6 @@ |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
DCHECK(!is_observing_log_) << "notifyReady called twice"; |
- // Register with network stack to observe events. |
- is_observing_log_ = true; |
- io_thread_->globals()->net_log->AddObserver(this); |
- |
// Tell the javascript about the relationship between event type enums and |
// their symbolic name. |
{ |
@@ -617,7 +610,11 @@ |
base::Int64ToString(tick_to_unix_time_ms))); |
} |
- OnGetPassiveLogEntries(NULL); |
+ // Register with network stack to observe events. |
+ is_observing_log_ = true; |
+ ChromeNetLog::EntryList entries; |
+ io_thread_->net_log()->AddObserverAndGetAllCapturedEvents(this, &entries); |
eroman
2010/11/17 05:59:02
The impact of threading here is fairly subtle.
I
mmenke
2010/11/17 21:42:14
Thanks for catching that. I hadn't thought about
|
+ SendPassiveLogEntries(entries); |
} |
void NetInternalsMessageHandler::IOThreadImpl::OnGetProxySettings( |
@@ -774,16 +771,11 @@ |
OnGetHostResolverInfo(NULL); |
} |
-void NetInternalsMessageHandler::IOThreadImpl::OnGetPassiveLogEntries( |
- const ListValue* list) { |
- ChromeNetLog* net_log = io_thread_->globals()->net_log.get(); |
- |
- PassiveLogCollector::EntryList passive_entries; |
- net_log->passive_collector()->GetAllCapturedEvents(&passive_entries); |
- |
+void NetInternalsMessageHandler::IOThreadImpl::SendPassiveLogEntries( |
+ const ChromeNetLog::EntryList& passive_entries) { |
ListValue* dict_list = new ListValue(); |
for (size_t i = 0; i < passive_entries.size(); ++i) { |
- const PassiveLogCollector::Entry& e = passive_entries[i]; |
+ const ChromeNetLog::Entry& e = passive_entries[i]; |
dict_list->Append(net::NetLog::EntryToDictionaryValue(e.type, |
e.time, |
e.source, |
@@ -911,7 +903,8 @@ |
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)); |
+ SetLogLevel(static_cast<net::NetLog::LogLevel>(log_level), |
+ io_thread_->net_log()); |
eroman
2010/11/17 05:59:02
indentation is off by one.
|
} |
void NetInternalsMessageHandler::IOThreadImpl::OnAddEntry( |
@@ -980,10 +973,6 @@ |
return; |
} |
- // Otherwise if we were called from the IO thread, bridge the request over to |
- // the UI thread. |
- |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
if (!BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
NewRunnableMethod( |