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() { ...@@ -148,6 +148,10 @@ var BrowserBridge = (function() {
this.send('clearHostResolverCache'); this.send('clearHostResolverCache');
}, },
sendClearBrowserCache: function() {
this.send('clearBrowserCache');
},
sendStartConnectionTests: function(url) { sendStartConnectionTests: function(url) {
this.send('startConnectionTests', [url]); this.send('startConnectionTests', [url]);
}, },
......
...@@ -29,6 +29,8 @@ ...@@ -29,6 +29,8 @@
<div id=events-view-action-box> <div id=events-view-action-box>
<input type=button value="Delete selected" id=events-view-delete-selected /> <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="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> </div>
<!-- Splitter Box: This is a handle to resize the vertical divider --> <!-- Splitter Box: This is a handle to resize the vertical divider -->
<div id=events-view-splitter-box class=vertical-splitter></div> <div id=events-view-splitter-box class=vertical-splitter></div>
......
...@@ -67,6 +67,11 @@ var EventsView = (function() { ...@@ -67,6 +67,11 @@ var EventsView = (function() {
g_browser.sourceTracker.deleteAllSourceEntries.bind( g_browser.sourceTracker.deleteAllSourceEntries.bind(
g_browser.sourceTracker); 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( $(EventsView.SELECT_ALL_ID).addEventListener(
'click', this.selectAll_.bind(this), true); 'click', this.selectAll_.bind(this), true);
...@@ -94,6 +99,8 @@ var EventsView = (function() { ...@@ -94,6 +99,8 @@ var EventsView = (function() {
EventsView.FILTER_COUNT_ID = 'events-view-filter-count'; EventsView.FILTER_COUNT_ID = 'events-view-filter-count';
EventsView.DELETE_SELECTED_ID = 'events-view-delete-selected'; EventsView.DELETE_SELECTED_ID = 'events-view-delete-selected';
EventsView.DELETE_ALL_ID = 'events-view-delete-all'; 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.SELECT_ALL_ID = 'events-view-select-all';
EventsView.SORT_BY_ID_ID = 'events-view-sort-by-id'; EventsView.SORT_BY_ID_ID = 'events-view-sort-by-id';
EventsView.SORT_BY_SOURCE_TYPE_ID = 'events-view-sort-by-source'; EventsView.SORT_BY_SOURCE_TYPE_ID = 'events-view-sort-by-source';
...@@ -461,6 +468,12 @@ var EventsView = (function() { ...@@ -461,6 +468,12 @@ var EventsView = (function() {
return true; return true;
}, },
// Clear the browser and host caches.
clearCache_: function() {
g_browser.sendClearHostResolverCache();
g_browser.sendClearBrowserCache();
},
incrementPrefilterCount: function(offset) { incrementPrefilterCount: function(offset) {
this.numPrefilter_ += offset; this.numPrefilter_ += offset;
this.invalidateFilterCounter_(); this.invalidateFilterCounter_();
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include "base/utf_string_conversions.h" #include "base/utf_string_conversions.h"
#include "base/values.h" #include "base/values.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/browsing_data_remover.h"
#include "chrome/browser/io_thread.h" #include "chrome/browser/io_thread.h"
#include "chrome/browser/net/chrome_net_log.h" #include "chrome/browser/net/chrome_net_log.h"
#include "chrome/browser/net/connection_tester.h" #include "chrome/browser/net/connection_tester.h"
...@@ -174,11 +175,12 @@ class NetInternalsMessageHandler ...@@ -174,11 +175,12 @@ class NetInternalsMessageHandler
// Javascript message handlers. // Javascript message handlers.
void OnRendererReady(const ListValue* list); void OnRendererReady(const ListValue* list);
void OnEnableHttpThrottling(const ListValue* list); void OnEnableHttpThrottling(const ListValue* list);
void OnClearBrowserCache(const ListValue* list);
void OnGetPrerenderInfo(const ListValue* list);
#ifdef OS_CHROMEOS #ifdef OS_CHROMEOS
void OnRefreshSystemLogs(const ListValue* list); void OnRefreshSystemLogs(const ListValue* list);
void OnGetSystemLog(const ListValue* list); void OnGetSystemLog(const ListValue* list);
#endif #endif
void OnGetPrerenderInfo(const ListValue* list);
private: private:
class IOThreadImpl; class IOThreadImpl;
...@@ -532,16 +534,7 @@ void NetInternalsMessageHandler::RegisterMessages() { ...@@ -532,16 +534,7 @@ void NetInternalsMessageHandler::RegisterMessages() {
base::Bind(&IOThreadImpl::CallbackHelper, base::Bind(&IOThreadImpl::CallbackHelper,
&IOThreadImpl::OnGetServiceProviders, proxy_)); &IOThreadImpl::OnGetServiceProviders, proxy_));
#endif #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( web_ui_->RegisterMessageCallback(
"setLogLevel", "setLogLevel",
base::Bind(&IOThreadImpl::CallbackHelper, base::Bind(&IOThreadImpl::CallbackHelper,
...@@ -550,10 +543,24 @@ void NetInternalsMessageHandler::RegisterMessages() { ...@@ -550,10 +543,24 @@ void NetInternalsMessageHandler::RegisterMessages() {
"enableHttpThrottling", "enableHttpThrottling",
base::Bind(&NetInternalsMessageHandler::OnEnableHttpThrottling, base::Bind(&NetInternalsMessageHandler::OnEnableHttpThrottling,
base::Unretained(this))); base::Unretained(this)));
web_ui_->RegisterMessageCallback(
"clearBrowserCache",
base::Bind(&NetInternalsMessageHandler::OnClearBrowserCache,
base::Unretained(this)));
web_ui_->RegisterMessageCallback( web_ui_->RegisterMessageCallback(
"getPrerenderInfo", "getPrerenderInfo",
base::Bind(&NetInternalsMessageHandler::OnGetPrerenderInfo, base::Bind(&NetInternalsMessageHandler::OnGetPrerenderInfo,
base::Unretained(this))); 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( void NetInternalsMessageHandler::SendJavascriptCommand(
...@@ -615,6 +622,15 @@ void NetInternalsMessageHandler::OnEnableHttpThrottling(const ListValue* list) { ...@@ -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) { void NetInternalsMessageHandler::OnGetPrerenderInfo(const ListValue* list) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 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