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

Side by Side Diff: chrome/browser/metrics/tracking_synchronizer.cc

Issue 15987009: Update chrome/ to use WeakPtr<T>::get() instead of implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 | Annotate | Revision Log
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/metrics/tracking_synchronizer.h" 5 #include "chrome/browser/metrics/tracking_synchronizer.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "base/process_util.h" 9 #include "base/process_util.h"
10 #include "base/threading/thread.h" 10 #include "base/threading/thread.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 RequestContextMap::iterator it = 125 RequestContextMap::iterator it =
126 outstanding_requests_.Get().find(sequence_number); 126 outstanding_requests_.Get().find(sequence_number);
127 if (it == outstanding_requests_.Get().end()) 127 if (it == outstanding_requests_.Get().end())
128 return; 128 return;
129 129
130 RequestContext* request = it->second; 130 RequestContext* request = it->second;
131 DCHECK_EQ(sequence_number, request->sequence_number_); 131 DCHECK_EQ(sequence_number, request->sequence_number_);
132 bool received_process_group_count = request->received_process_group_count_; 132 bool received_process_group_count = request->received_process_group_count_;
133 int unresponsive_processes = request->processes_pending_; 133 int unresponsive_processes = request->processes_pending_;
134 134
135 if (request->callback_object_) 135 if (request->callback_object_.get())
136 request->callback_object_->FinishedReceivingProfilerData(); 136 request->callback_object_->FinishedReceivingProfilerData();
137 137
138 delete request; 138 delete request;
139 outstanding_requests_.Get().erase(it); 139 outstanding_requests_.Get().erase(it);
140 140
141 UMA_HISTOGRAM_BOOLEAN("Profiling.ReceivedProcessGroupCount", 141 UMA_HISTOGRAM_BOOLEAN("Profiling.ReceivedProcessGroupCount",
142 received_process_group_count); 142 received_process_group_count);
143 UMA_HISTOGRAM_COUNTS("Profiling.PendingProcessNotResponding", 143 UMA_HISTOGRAM_COUNTS("Profiling.PendingProcessNotResponding",
144 unresponsive_processes); 144 unresponsive_processes);
145 } 145 }
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 void TrackingSynchronizer::DecrementPendingProcessesAndSendData( 267 void TrackingSynchronizer::DecrementPendingProcessesAndSendData(
268 int sequence_number, 268 int sequence_number,
269 const tracked_objects::ProcessDataSnapshot& profiler_data, 269 const tracked_objects::ProcessDataSnapshot& profiler_data,
270 int process_type) { 270 int process_type) {
271 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 271 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
272 272
273 RequestContext* request = RequestContext::GetRequestContext(sequence_number); 273 RequestContext* request = RequestContext::GetRequestContext(sequence_number);
274 if (!request) 274 if (!request)
275 return; 275 return;
276 276
277 if (request->callback_object_) { 277 if (request->callback_object_.get()) {
278 request->callback_object_->ReceivedProfilerData(profiler_data, 278 request->callback_object_
279 process_type); 279 ->ReceivedProfilerData(profiler_data, process_type);
280 } 280 }
281 281
282 // Delete request if we have heard back from all child processes. 282 // Delete request if we have heard back from all child processes.
283 request->DecrementProcessesPending(); 283 request->DecrementProcessesPending();
284 request->DeleteIfAllDone(); 284 request->DeleteIfAllDone();
285 } 285 }
286 286
287 int TrackingSynchronizer::GetNextAvailableSequenceNumber() { 287 int TrackingSynchronizer::GetNextAvailableSequenceNumber() {
288 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 288 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
289 289
290 ++last_used_sequence_number_; 290 ++last_used_sequence_number_;
291 291
292 // Watch out for wrapping to a negative number. 292 // Watch out for wrapping to a negative number.
293 if (last_used_sequence_number_ < 0) 293 if (last_used_sequence_number_ < 0)
294 last_used_sequence_number_ = 1; 294 last_used_sequence_number_ = 1;
295 return last_used_sequence_number_; 295 return last_used_sequence_number_;
296 } 296 }
297 297
298 } // namespace chrome_browser_metrics 298 } // namespace chrome_browser_metrics
OLDNEW
« no previous file with comments | « chrome/browser/media/media_stream_capture_indicator.cc ('k') | chrome/browser/net/chrome_url_request_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698