Commit 4b5e71de authored by mmenke@chromium.org's avatar mmenke@chromium.org

Add buttons to clear the cache and flush socket

pools to net-internals events view.  This can make
reproducing some issues much less painful.

Review URL: http://codereview.chromium.org/8590037

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110605 0039d316-1c4b-4281-b951-d872f2087c98
parent 7e644a81
......@@ -148,6 +148,10 @@ var BrowserBridge = (function() {
this.send('clearHostResolverCache');
},
sendClearBrowserCache: function() {
this.send('clearBrowserCache');
},
sendStartConnectionTests: function(url) {
this.send('startConnectionTests', [url]);
},
......
......@@ -29,6 +29,8 @@
<div id=events-view-action-box>
<input type=button value="Delete selected" id=events-view-delete-selected />
<input type=button value="Delete all" id=events-view-delete-all />
<input type=button value="Clear cache" id=events-view-clear-cache class=warningText />
<input type=button value="Flush sockets" id=events-view-flush-sockets class=warningText />
</div>
<!-- Splitter Box: This is a handle to resize the vertical divider -->
<div id=events-view-splitter-box class=vertical-splitter></div>
......
......@@ -67,6 +67,11 @@ var EventsView = (function() {
g_browser.sourceTracker.deleteAllSourceEntries.bind(
g_browser.sourceTracker);
$(EventsView.CLEAR_CACHE_ID).onclick = this.clearCache_.bind(this);
$(EventsView.FLUSH_SOCKETS_ID).onclick =
g_browser.sendFlushSocketPools.bind(g_browser);
$(EventsView.SELECT_ALL_ID).addEventListener(
'click', this.selectAll_.bind(this), true);
......@@ -94,6 +99,8 @@ var EventsView = (function() {
EventsView.FILTER_COUNT_ID = 'events-view-filter-count';
EventsView.DELETE_SELECTED_ID = 'events-view-delete-selected';
EventsView.DELETE_ALL_ID = 'events-view-delete-all';
EventsView.CLEAR_CACHE_ID = 'events-view-clear-cache';
EventsView.FLUSH_SOCKETS_ID = 'events-view-flush-sockets';
EventsView.SELECT_ALL_ID = 'events-view-select-all';
EventsView.SORT_BY_ID_ID = 'events-view-sort-by-id';
EventsView.SORT_BY_SOURCE_TYPE_ID = 'events-view-sort-by-source';
......@@ -461,6 +468,12 @@ var EventsView = (function() {
return true;
},
// Clear the browser and host caches.
clearCache_: function() {
g_browser.sendClearHostResolverCache();
g_browser.sendClearBrowserCache();
},
incrementPrefilterCount: function(offset) {
this.numPrefilter_ += offset;
this.invalidateFilterCounter_();
......
......@@ -24,6 +24,7 @@
#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browsing_data_remover.h"
#include "chrome/browser/io_thread.h"
#include "chrome/browser/net/chrome_net_log.h"
#include "chrome/browser/net/connection_tester.h"
......@@ -174,11 +175,12 @@ class NetInternalsMessageHandler
// Javascript message handlers.
void OnRendererReady(const ListValue* list);
void OnEnableHttpThrottling(const ListValue* list);
void OnClearBrowserCache(const ListValue* list);
void OnGetPrerenderInfo(const ListValue* list);
#ifdef OS_CHROMEOS
void OnRefreshSystemLogs(const ListValue* list);
void OnGetSystemLog(const ListValue* list);
#endif
void OnGetPrerenderInfo(const ListValue* list);
private:
class IOThreadImpl;
......@@ -532,16 +534,7 @@ void NetInternalsMessageHandler::RegisterMessages() {
base::Bind(&IOThreadImpl::CallbackHelper,
&IOThreadImpl::OnGetServiceProviders, proxy_));
#endif
#ifdef OS_CHROMEOS
web_ui_->RegisterMessageCallback(
"refreshSystemLogs",
base::Bind(&NetInternalsMessageHandler::OnRefreshSystemLogs,
base::Unretained(this)));
web_ui_->RegisterMessageCallback(
"getSystemLog",
base::Bind(&NetInternalsMessageHandler::OnGetSystemLog,
base::Unretained(this)));
#endif
web_ui_->RegisterMessageCallback(
"setLogLevel",
base::Bind(&IOThreadImpl::CallbackHelper,
......@@ -550,10 +543,24 @@ void NetInternalsMessageHandler::RegisterMessages() {
"enableHttpThrottling",
base::Bind(&NetInternalsMessageHandler::OnEnableHttpThrottling,
base::Unretained(this)));
web_ui_->RegisterMessageCallback(
"clearBrowserCache",
base::Bind(&NetInternalsMessageHandler::OnClearBrowserCache,
base::Unretained(this)));
web_ui_->RegisterMessageCallback(
"getPrerenderInfo",
base::Bind(&NetInternalsMessageHandler::OnGetPrerenderInfo,
base::Unretained(this)));
#ifdef OS_CHROMEOS
web_ui_->RegisterMessageCallback(
"refreshSystemLogs",
base::Bind(&NetInternalsMessageHandler::OnRefreshSystemLogs,
base::Unretained(this)));
web_ui_->RegisterMessageCallback(
"getSystemLog",
base::Bind(&NetInternalsMessageHandler::OnGetSystemLog,
base::Unretained(this)));
#endif
}
void NetInternalsMessageHandler::SendJavascriptCommand(
......@@ -615,6 +622,15 @@ void NetInternalsMessageHandler::OnEnableHttpThrottling(const ListValue* list) {
}
}
void NetInternalsMessageHandler::OnClearBrowserCache(const ListValue* list) {
BrowsingDataRemover* remover =
new BrowsingDataRemover(Profile::FromWebUI(web_ui()),
BrowsingDataRemover::EVERYTHING,
base::Time());
remover->Remove(BrowsingDataRemover::REMOVE_CACHE);
// BrowsingDataRemover deletes itself.
}
void NetInternalsMessageHandler::OnGetPrerenderInfo(const ListValue* list) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment