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

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

Issue 11635023: First cut at UI for saving net_logs data into a temporary file on (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 years, 12 months 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
===================================================================
--- chrome/browser/ui/webui/net_internals/net_internals_ui.cc (revision 175049)
+++ chrome/browser/ui/webui/net_internals/net_internals_ui.cc (working copy)
@@ -36,6 +36,7 @@
#include "chrome/browser/net/chrome_net_log.h"
#include "chrome/browser/net/chrome_network_delegate.h"
#include "chrome/browser/net/connection_tester.h"
+#include "chrome/browser/net/net_log_temp_file.h"
#include "chrome/browser/net/url_fixer_upper.h"
#include "chrome/browser/prerender/prerender_manager.h"
#include "chrome/browser/prerender/prerender_manager_factory.h"
@@ -191,6 +192,8 @@
source->add_resource_path("help.html", IDR_NET_INTERNALS_HELP_HTML);
source->add_resource_path("help.js", IDR_NET_INTERNALS_HELP_JS);
source->add_resource_path("index.js", IDR_NET_INTERNALS_INDEX_JS);
+ source->add_resource_path("mobile.html", IDR_NET_INTERNALS_MOBILE_HTML);
+ source->add_resource_path("mobile.js", IDR_NET_INTERNALS_MOBILE_JS);
source->set_json_path("strings.js");
return source;
}
@@ -509,6 +512,10 @@
void OnGetHttpCacheInfo(const ListValue* list);
void OnGetSocketPoolInfo(const ListValue* list);
void OnGetSessionNetworkStats(const ListValue* list);
+ void OnGetMobileNetLogInfo(const ListValue* list);
+ void OnStartNetLog(const ListValue* list);
+ void OnStopNetLog(const ListValue* list);
+ void OnSendNetLog(const ListValue* list);
void OnCloseIdleSockets(const ListValue* list);
void OnFlushSocketPools(const ListValue* list);
void OnGetSpdySessionInfo(const ListValue* list);
@@ -561,6 +568,9 @@
// Adds entries with the states of ongoing URL requests.
void PrePopulateEventList();
+ // Calls NetLogTempFile's ProcessCommand and updates the MobileNetLogInfo.
+ void ProcessNetLogCommand(NetLogTempFile::Command command);
+
net::URLRequestContext* GetMainContext() {
return main_context_getter_->GetURLRequestContext();
}
@@ -703,6 +713,22 @@
base::Bind(&IOThreadImpl::CallbackHelper,
&IOThreadImpl::OnGetSessionNetworkStats, proxy_));
web_ui()->RegisterMessageCallback(
+ "getMobileNetLogInfo",
+ base::Bind(&IOThreadImpl::CallbackHelper,
+ &IOThreadImpl::OnGetMobileNetLogInfo, proxy_));
+ web_ui()->RegisterMessageCallback(
+ "startNetLog",
+ base::Bind(&IOThreadImpl::CallbackHelper,
+ &IOThreadImpl::OnStartNetLog, proxy_));
+ web_ui()->RegisterMessageCallback(
+ "stopNetLog",
+ base::Bind(&IOThreadImpl::CallbackHelper,
+ &IOThreadImpl::OnStopNetLog, proxy_));
+ web_ui()->RegisterMessageCallback(
+ "sendNetLog",
+ base::Bind(&IOThreadImpl::CallbackHelper,
+ &IOThreadImpl::OnSendNetLog, proxy_));
+ web_ui()->RegisterMessageCallback(
"closeIdleSockets",
base::Bind(&IOThreadImpl::CallbackHelper,
&IOThreadImpl::OnCloseIdleSockets, proxy_));
@@ -966,6 +992,10 @@
void NetInternalsMessageHandler::IOThreadImpl::Detach() {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+
+ // Cancel any in-progress requests to collect net_log into temporary file.
+ NetLogTempFile::GetInstance()->ProcessCommand(NetLogTempFile::DO_STOP);
+
// Unregister with network stack to observe events.
if (net_log())
net_log()->RemoveThreadSafeObserver(this);
@@ -1350,6 +1380,31 @@
http_network_session->CloseAllConnections();
}
+void NetInternalsMessageHandler::IOThreadImpl::OnGetMobileNetLogInfo(
+ const ListValue* list) {
+ DCHECK(!list);
+ SendJavascriptCommand("receivedMobileNetLogInfo",
+ NetLogTempFile::GetInstance()->NetLogTempFileToValue());
+}
+
+void NetInternalsMessageHandler::IOThreadImpl::OnStartNetLog(
+ const ListValue* list) {
+ DCHECK(!list);
+ ProcessNetLogCommand(NetLogTempFile::DO_START);
+}
+
+void NetInternalsMessageHandler::IOThreadImpl::OnStopNetLog(
+ const ListValue* list) {
+ DCHECK(!list);
+ ProcessNetLogCommand(NetLogTempFile::DO_STOP);
+}
+
+void NetInternalsMessageHandler::IOThreadImpl::OnSendNetLog(
+ const ListValue* list) {
+ DCHECK(!list);
+ ProcessNetLogCommand(NetLogTempFile::DO_SEND);
+}
+
void NetInternalsMessageHandler::IOThreadImpl::OnCloseIdleSockets(
const ListValue* list) {
DCHECK(!list);
@@ -1757,6 +1812,13 @@
}
}
+void NetInternalsMessageHandler::IOThreadImpl::ProcessNetLogCommand(
+ NetLogTempFile::Command command) {
+ NetLogTempFile::GetInstance()->ProcessCommand(command);
+ SendJavascriptCommand("receivedMobileNetLogInfo",
+ NetLogTempFile::GetInstance()->NetLogTempFileToValue());
+}
+
} // namespace

Powered by Google App Engine
This is Rietveld 408576698