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

Side by Side Diff: chrome/browser/task_manager/notification_resource_provider.cc

Issue 185873003: Task Manager: overhaul & re-enable task manager browser tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Retry upload Created 6 years, 9 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/task_manager/notification_resource_provider.h" 5 #include "chrome/browser/task_manager/notification_resource_provider.h"
6 6
7 #include "base/strings/string16.h" 7 #include "base/strings/string16.h"
8 #include "chrome/browser/browser_process.h" 8 #include "chrome/browser/browser_process.h"
9 #include "chrome/browser/chrome_notification_types.h" 9 #include "chrome/browser/chrome_notification_types.h"
10 #include "chrome/browser/devtools/devtools_window.h" 10 #include "chrome/browser/devtools/devtools_window.h"
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 RemoveFromTaskManager(content::Source<BalloonHost>(source).ptr()); 198 RemoveFromTaskManager(content::Source<BalloonHost>(source).ptr());
199 break; 199 break;
200 default: 200 default:
201 NOTREACHED() << "Unexpected notification."; 201 NOTREACHED() << "Unexpected notification.";
202 return; 202 return;
203 } 203 }
204 } 204 }
205 205
206 void NotificationResourceProvider::AddToTaskManager( 206 void NotificationResourceProvider::AddToTaskManager(
207 BalloonHost* balloon_host) { 207 BalloonHost* balloon_host) {
208 // The resource may already be tracked, if the task manager was opened
209 // while the BalloonHost was waiting to connect.
210 if (resources_.count(balloon_host))
211 return;
208 NotificationResource* resource = new NotificationResource(balloon_host); 212 NotificationResource* resource = new NotificationResource(balloon_host);
209 DCHECK(resources_.find(balloon_host) == resources_.end());
210 resources_[balloon_host] = resource; 213 resources_[balloon_host] = resource;
211 task_manager_->AddResource(resource); 214 task_manager_->AddResource(resource);
212 } 215 }
213 216
214 void NotificationResourceProvider::RemoveFromTaskManager( 217 void NotificationResourceProvider::RemoveFromTaskManager(
215 BalloonHost* balloon_host) { 218 BalloonHost* balloon_host) {
216 if (!updating_) 219 if (!updating_)
217 return; 220 return;
218 std::map<BalloonHost*, NotificationResource*>::iterator iter = 221 std::map<BalloonHost*, NotificationResource*>::iterator iter =
219 resources_.find(balloon_host); 222 resources_.find(balloon_host);
220 if (iter == resources_.end()) 223 if (iter == resources_.end())
221 return; 224 return;
222 225
223 // Remove the resource from the Task Manager. 226 // Remove the resource from the Task Manager.
224 NotificationResource* resource = iter->second; 227 NotificationResource* resource = iter->second;
225 task_manager_->RemoveResource(resource); 228 task_manager_->RemoveResource(resource);
226 229
227 // Remove it from the map. 230 // Remove it from the map.
228 resources_.erase(iter); 231 resources_.erase(iter);
229 232
230 // Finally, delete the resource. 233 // Finally, delete the resource.
231 delete resource; 234 delete resource;
232 } 235 }
233 236
234 } // namespace task_manager 237 } // namespace task_manager
OLDNEW
« no previous file with comments | « chrome/browser/task_manager/extension_process_resource_provider.cc ('k') | chrome/browser/task_manager/task_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698