Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8287)

Unified Diff: chrome/browser/ui/webui/net_internals/net_internals_ui.cc

Issue 2592783002: Move session network stats from IO to UI (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/net_internals/net_internals_ui.cc
diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
index 1e821dcf9bdebbd7b6bee3e1f59cc4f8f31419a5..7c393f18e70a35b552c00b47f7d1303a3ee62379 100644
--- a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
+++ b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
@@ -211,6 +211,7 @@ class NetInternalsMessageHandler
void OnClearBrowserCache(const base::ListValue* list);
void OnGetPrerenderInfo(const base::ListValue* list);
void OnGetHistoricNetworkStats(const base::ListValue* list);
+ void OnGetSessionNetworkStats(const base::ListValue* list);
void OnGetExtensionInfo(const base::ListValue* list);
void OnGetDataReductionProxyInfo(const base::ListValue* list);
#if defined(OS_CHROMEOS)
@@ -300,7 +301,6 @@ class NetInternalsMessageHandler::IOThreadImpl
void OnHSTSQuery(const base::ListValue* list);
void OnHSTSAdd(const base::ListValue* list);
void OnHSTSDelete(const base::ListValue* list);
- void OnGetSessionNetworkStats(const base::ListValue* list);
void OnCloseIdleSockets(const base::ListValue* list);
void OnFlushSocketPools(const base::ListValue* list);
#if defined(OS_WIN)
@@ -444,10 +444,6 @@ void NetInternalsMessageHandler::RegisterMessages() {
base::Bind(&IOThreadImpl::CallbackHelper,
&IOThreadImpl::OnHSTSDelete, proxy_));
web_ui()->RegisterMessageCallback(
- "getSessionNetworkStats",
- base::Bind(&IOThreadImpl::CallbackHelper,
- &IOThreadImpl::OnGetSessionNetworkStats, proxy_));
- web_ui()->RegisterMessageCallback(
"closeIdleSockets",
base::Bind(&IOThreadImpl::CallbackHelper,
&IOThreadImpl::OnCloseIdleSockets, proxy_));
@@ -478,6 +474,10 @@ void NetInternalsMessageHandler::RegisterMessages() {
base::Bind(&NetInternalsMessageHandler::OnGetHistoricNetworkStats,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
+ "getSessionNetworkStats",
+ base::Bind(&NetInternalsMessageHandler::OnGetSessionNetworkStats,
+ base::Unretained(this)));
+ web_ui()->RegisterMessageCallback(
"getExtensionInfo",
base::Bind(&NetInternalsMessageHandler::OnGetExtensionInfo,
base::Unretained(this)));
@@ -568,6 +568,24 @@ void NetInternalsMessageHandler::OnGetHistoricNetworkStats(
std::move(historic_network_info));
}
+void NetInternalsMessageHandler::OnGetSessionNetworkStats(
tbansal1 2016/12/20 23:20:48 Thanks, this is much better. Any idea why this cod
RyanSturm 2016/12/21 00:10:19 At some point, compression_stats came about and th
+ const base::ListValue* list) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ std::unique_ptr<base::Value> session_network_info;
+ Profile* profile = Profile::FromWebUI(web_ui());
+ DataReductionProxyChromeSettings* data_reduction_proxy_settings =
+ DataReductionProxyChromeSettingsFactory::GetForBrowserContext(profile);
+ if (data_reduction_proxy_settings) {
+ data_reduction_proxy::DataReductionProxyCompressionStats*
+ compression_stats =
+ data_reduction_proxy_settings->data_reduction_proxy_service()
+ ->compression_stats();
+ session_network_info = compression_stats->SessionNetworkStatsInfoToValue();
+ }
+ SendJavascriptCommand("receivedSessionNetworkStats",
+ std::move(session_network_info));
+}
+
void NetInternalsMessageHandler::OnGetExtensionInfo(
const base::ListValue* list) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -866,27 +884,6 @@ void NetInternalsMessageHandler::IOThreadImpl::OnHSTSDelete(
transport_security_state->DeleteDynamicDataForHost(domain);
}
-void NetInternalsMessageHandler::IOThreadImpl::OnGetSessionNetworkStats(
- const base::ListValue* list) {
- DCHECK(!list);
- net::URLRequestContext* context =
- main_context_getter_->GetURLRequestContext();
- net::HttpNetworkSession* http_network_session =
- GetHttpNetworkSession(context);
-
- std::unique_ptr<base::Value> network_info;
- if (http_network_session) {
- // TODO(mmenke): This cast is ugly. Can we get rid of it, or, better,
- // remove DRP data from net-internals entirely?
- data_reduction_proxy::DataReductionProxyNetworkDelegate* net_delegate =
- static_cast<data_reduction_proxy::DataReductionProxyNetworkDelegate*>(
- context->network_delegate());
- if (net_delegate)
- network_info = net_delegate->SessionNetworkStatsInfoToValue();
- }
- SendJavascriptCommand("receivedSessionNetworkStats", std::move(network_info));
-}
-
void NetInternalsMessageHandler::IOThreadImpl::OnFlushSocketPools(
const base::ListValue* list) {
DCHECK(!list);

Powered by Google App Engine
This is Rietveld 408576698