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

Side by Side Diff: chrome/browser/performance_monitor/performance_monitor.cc

Issue 2828663002: Rewrite base::Bind to base::BindOnce with base_bind_rewriters in //chrome/browser/{i,l,m,n,p,r}* (Closed)
Patch Set: Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/performance_monitor/performance_monitor.h" 5 #include "chrome/browser/performance_monitor/performance_monitor.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 ProcessMetricsMetadata data; 104 ProcessMetricsMetadata data;
105 data.process_type = content::PROCESS_TYPE_RENDERER; 105 data.process_type = content::PROCESS_TYPE_RENDERER;
106 data.handle = host->GetHandle(); 106 data.handle = host->GetHandle();
107 107
108 GatherMetricsForRenderProcess(host, &data); 108 GatherMetricsForRenderProcess(host, &data);
109 MarkProcessAsAlive(data, current_update_sequence); 109 MarkProcessAsAlive(data, current_update_sequence);
110 } 110 }
111 111
112 BrowserThread::PostTask( 112 BrowserThread::PostTask(
113 BrowserThread::IO, FROM_HERE, 113 BrowserThread::IO, FROM_HERE,
114 base::Bind(&PerformanceMonitor::GatherMetricsMapOnIOThread, 114 base::BindOnce(&PerformanceMonitor::GatherMetricsMapOnIOThread,
115 base::Unretained(this), current_update_sequence)); 115 base::Unretained(this), current_update_sequence));
116 } 116 }
117 117
118 void PerformanceMonitor::MarkProcessAsAlive( 118 void PerformanceMonitor::MarkProcessAsAlive(
119 const ProcessMetricsMetadata& process_data, 119 const ProcessMetricsMetadata& process_data,
120 int current_update_sequence) { 120 int current_update_sequence) {
121 DCHECK_CURRENTLY_ON(BrowserThread::UI); 121 DCHECK_CURRENTLY_ON(BrowserThread::UI);
122 122
123 const base::ProcessHandle& handle = process_data.handle; 123 const base::ProcessHandle& handle = process_data.handle;
124 if (handle == base::kNullProcessHandle) { 124 if (handle == base::kNullProcessHandle) {
125 // Process may not be valid yet. 125 // Process may not be valid yet.
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 } 160 }
161 161
162 // Add the current (browser) process. 162 // Add the current (browser) process.
163 ProcessMetricsMetadata browser_process_data; 163 ProcessMetricsMetadata browser_process_data;
164 browser_process_data.process_type = content::PROCESS_TYPE_BROWSER; 164 browser_process_data.process_type = content::PROCESS_TYPE_BROWSER;
165 browser_process_data.handle = base::GetCurrentProcessHandle(); 165 browser_process_data.handle = base::GetCurrentProcessHandle();
166 process_data_list->push_back(browser_process_data); 166 process_data_list->push_back(browser_process_data);
167 167
168 BrowserThread::PostTask( 168 BrowserThread::PostTask(
169 BrowserThread::UI, FROM_HERE, 169 BrowserThread::UI, FROM_HERE,
170 base::Bind(&PerformanceMonitor::MarkProcessesAsAliveOnUIThread, 170 base::BindOnce(&PerformanceMonitor::MarkProcessesAsAliveOnUIThread,
171 base::Unretained(this), 171 base::Unretained(this),
172 base::Passed(std::move(process_data_list)), 172 base::Passed(std::move(process_data_list)),
173 current_update_sequence)); 173 current_update_sequence));
174 } 174 }
175 175
176 void PerformanceMonitor::MarkProcessesAsAliveOnUIThread( 176 void PerformanceMonitor::MarkProcessesAsAliveOnUIThread(
177 std::unique_ptr<std::vector<ProcessMetricsMetadata>> process_data_list, 177 std::unique_ptr<std::vector<ProcessMetricsMetadata>> process_data_list,
178 int current_update_sequence) { 178 int current_update_sequence) {
179 DCHECK_CURRENTLY_ON(BrowserThread::UI); 179 DCHECK_CURRENTLY_ON(BrowserThread::UI);
180 for (const ProcessMetricsMetadata& data : *process_data_list) 180 for (const ProcessMetricsMetadata& data : *process_data_list)
181 MarkProcessAsAlive(data, current_update_sequence); 181 MarkProcessAsAlive(data, current_update_sequence);
182 182
183 BrowserThread::PostTask( 183 BrowserThread::PostTask(
184 BrowserThread::IO, FROM_HERE, 184 BrowserThread::IO, FROM_HERE,
185 base::Bind(&PerformanceMonitor::UpdateMetricsOnIOThread, 185 base::BindOnce(&PerformanceMonitor::UpdateMetricsOnIOThread,
186 base::Unretained(this), current_update_sequence)); 186 base::Unretained(this), current_update_sequence));
187 } 187 }
188 188
189 void PerformanceMonitor::UpdateMetricsOnIOThread(int current_update_sequence) { 189 void PerformanceMonitor::UpdateMetricsOnIOThread(int current_update_sequence) {
190 DCHECK_CURRENTLY_ON(BrowserThread::IO); 190 DCHECK_CURRENTLY_ON(BrowserThread::IO);
191 // Update metrics for all watched processes; remove dead entries from the map. 191 // Update metrics for all watched processes; remove dead entries from the map.
192 MetricsMap::iterator iter = metrics_map_.begin(); 192 MetricsMap::iterator iter = metrics_map_.begin();
193 while (iter != metrics_map_.end()) { 193 while (iter != metrics_map_.end()) {
194 ProcessMetricsHistory* process_metrics = iter->second.get(); 194 ProcessMetricsHistory* process_metrics = iter->second.get();
195 if (process_metrics->last_update_sequence() != current_update_sequence) { 195 if (process_metrics->last_update_sequence() != current_update_sequence) {
196 // Not touched this iteration; let's get rid of it. 196 // Not touched this iteration; let's get rid of it.
197 metrics_map_.erase(iter++); 197 metrics_map_.erase(iter++);
198 } else { 198 } else {
199 process_metrics->SampleMetrics(); 199 process_metrics->SampleMetrics();
200 ++iter; 200 ++iter;
201 } 201 }
202 } 202 }
203 203
204 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 204 BrowserThread::PostTask(
205 base::Bind(&PerformanceMonitor::RunTriggersUIThread, 205 BrowserThread::UI, FROM_HERE,
206 base::Unretained(this))); 206 base::BindOnce(&PerformanceMonitor::RunTriggersUIThread,
207 base::Unretained(this)));
207 } 208 }
208 209
209 void PerformanceMonitor::RunTriggersUIThread() { 210 void PerformanceMonitor::RunTriggersUIThread() {
210 DCHECK_CURRENTLY_ON(BrowserThread::UI); 211 DCHECK_CURRENTLY_ON(BrowserThread::UI);
211 for (auto& metrics : metrics_map_) 212 for (auto& metrics : metrics_map_)
212 metrics.second->RunPerformanceTriggers(); 213 metrics.second->RunPerformanceTriggers();
213 214
214 StartGatherCycle(); 215 StartGatherCycle();
215 } 216 }
216 217
217 } // namespace performance_monitor 218 } // namespace performance_monitor
OLDNEW
« no previous file with comments | « chrome/browser/pepper_flash_settings_manager.cc ('k') | chrome/browser/permissions/permission_blacklist_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698