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

Unified Diff: chrome/browser/task_manager/task_manager.cc

Issue 542353002: Shortcut a couple of IPCs when the task manager is disabled. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments from thestig Created 6 years, 3 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
« no previous file with comments | « chrome/browser/task_manager/task_manager.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/task_manager/task_manager.cc
diff --git a/chrome/browser/task_manager/task_manager.cc b/chrome/browser/task_manager/task_manager.cc
index ce2c93e1e0262b00bef8a9aa725063959da6b429..67c5f7ead06ad4e02aa6ce28a14aa1f7b477c5e9 100644
--- a/chrome/browser/task_manager/task_manager.cc
+++ b/chrome/browser/task_manager/task_manager.cc
@@ -241,6 +241,7 @@ TaskManagerModel::TaskManagerModel(TaskManager* task_manager)
update_requests_(0),
listen_requests_(0),
update_state_(IDLE),
+ is_updating_byte_count_(false),
goat_salt_(base::RandUint64()) {
AddResourceProvider(
new task_manager::BrowserProcessResourceProvider(task_manager));
@@ -1055,6 +1056,10 @@ void TaskManagerModel::StartUpdating() {
FOR_EACH_OBSERVER(TaskManagerModelObserver, observer_list_,
OnReadyPeriodicalUpdate());
}
+
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE,
+ base::Bind(&TaskManagerModel::SetUpdatingByteCount, this, true));
}
void TaskManagerModel::StopUpdating() {
@@ -1070,6 +1075,10 @@ void TaskManagerModel::StopUpdating() {
// Notify resource providers that we are done updating.
StopListening();
+
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE,
+ base::Bind(&TaskManagerModel::SetUpdatingByteCount, this, false));
}
void TaskManagerModel::StartListening() {
@@ -1244,6 +1253,8 @@ void TaskManagerModel::NotifyV8HeapStats(base::ProcessId renderer_id,
void TaskManagerModel::NotifyBytesRead(const net::URLRequest& request,
int byte_count) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ if (!is_updating_byte_count_)
+ return;
// Only net::URLRequestJob instances created by the ResourceDispatcherHost
// have an associated ResourceRequestInfo and a render frame associated.
@@ -1393,6 +1404,11 @@ void TaskManagerModel::NotifyMultipleBytesRead() {
base::Owned(bytes_read_buffer)));
}
+void TaskManagerModel::SetUpdatingByteCount(bool is_updating) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ is_updating_byte_count_ = is_updating;
+}
+
int64 TaskManagerModel::GetNetworkUsage(Resource* resource) const {
int64 net_usage = GetNetworkUsageForResource(resource);
if (net_usage == 0 && !resource->SupportNetworkUsage())
« no previous file with comments | « chrome/browser/task_manager/task_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698