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

Side by Side Diff: chrome/browser/task_manager_resource_providers.h

Issue 125047: Finish extensions <-> task manager integration (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 11 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #ifndef CHROME_BROWSER_TASK_MANAGER_RESOURCE_PROVIDERS_H_ 5 #ifndef CHROME_BROWSER_TASK_MANAGER_RESOURCE_PROVIDERS_H_
6 #define CHROME_BROWSER_TASK_MANAGER_RESOURCE_PROVIDERS_H_ 6 #define CHROME_BROWSER_TASK_MANAGER_RESOURCE_PROVIDERS_H_
7 7
8 #include <map> 8 #include <map>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 198
199 // Cached data about the extension. 199 // Cached data about the extension.
200 base::ProcessHandle process_handle_; 200 base::ProcessHandle process_handle_;
201 int pid_; 201 int pid_;
202 std::wstring title_; 202 std::wstring title_;
203 203
204 DISALLOW_COPY_AND_ASSIGN(TaskManagerExtensionProcessResource); 204 DISALLOW_COPY_AND_ASSIGN(TaskManagerExtensionProcessResource);
205 }; 205 };
206 206
207 class TaskManagerExtensionProcessResourceProvider 207 class TaskManagerExtensionProcessResourceProvider
208 : public TaskManager::ResourceProvider { 208 : public TaskManager::ResourceProvider,
209 public NotificationObserver {
209 public: 210 public:
210 explicit TaskManagerExtensionProcessResourceProvider( 211 explicit TaskManagerExtensionProcessResourceProvider(
211 TaskManager* task_manager); 212 TaskManager* task_manager);
212 virtual ~TaskManagerExtensionProcessResourceProvider(); 213 virtual ~TaskManagerExtensionProcessResourceProvider();
213 214
214 virtual TaskManager::Resource* GetResource(int origin_pid, 215 virtual TaskManager::Resource* GetResource(int origin_pid,
215 int render_process_host_id, 216 int render_process_host_id,
216 int routing_id); 217 int routing_id);
217 virtual void StartUpdating(); 218 virtual void StartUpdating();
218 virtual void StopUpdating(); 219 virtual void StopUpdating();
219 220
221 // NotificationObserver method:
222 virtual void Observe(NotificationType type,
223 const NotificationSource& source,
224 const NotificationDetails& details);
225
220 private: 226 private:
221 void AddToTaskManager(ExtensionHost* extension_host); 227 void AddToTaskManager(ExtensionHost* extension_host);
228 void RemoveFromTaskManager(ExtensionHost* extension_host);
222 229
223 TaskManager* task_manager_; 230 TaskManager* task_manager_;
224 231
225 // Maps the actual resources (ExtensionHost*) to the Task Manager resources. 232 // Maps the actual resources (ExtensionHost*) to the Task Manager resources.
226 std::map<ExtensionHost*, TaskManagerExtensionProcessResource*> resources_; 233 std::map<ExtensionHost*, TaskManagerExtensionProcessResource*> resources_;
227 234
228 // Maps the pids to the resources (used for quick access to the resource on 235 // Maps the pids to the resources (used for quick access to the resource on
229 // byte read notifications). 236 // byte read notifications).
230 std::map<int, TaskManagerExtensionProcessResource*> pid_to_resources_; 237 std::map<int, TaskManagerExtensionProcessResource*> pid_to_resources_;
231 238
239 // A scoped container for notification registries.
240 NotificationRegistrar registrar_;
241
232 bool updating_; 242 bool updating_;
233 243
234 DISALLOW_COPY_AND_ASSIGN(TaskManagerExtensionProcessResourceProvider); 244 DISALLOW_COPY_AND_ASSIGN(TaskManagerExtensionProcessResourceProvider);
235 }; 245 };
236 246
237 class TaskManagerBrowserProcessResource : public TaskManager::Resource { 247 class TaskManagerBrowserProcessResource : public TaskManager::Resource {
238 public: 248 public:
239 TaskManagerBrowserProcessResource(); 249 TaskManagerBrowserProcessResource();
240 ~TaskManagerBrowserProcessResource(); 250 ~TaskManagerBrowserProcessResource();
241 251
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 private: 296 private:
287 void AddToTaskManager(ChildProcessInfo child_process_info); 297 void AddToTaskManager(ChildProcessInfo child_process_info);
288 298
289 TaskManager* task_manager_; 299 TaskManager* task_manager_;
290 TaskManagerBrowserProcessResource resource_; 300 TaskManagerBrowserProcessResource resource_;
291 301
292 DISALLOW_COPY_AND_ASSIGN(TaskManagerBrowserProcessResourceProvider); 302 DISALLOW_COPY_AND_ASSIGN(TaskManagerBrowserProcessResourceProvider);
293 }; 303 };
294 304
295 #endif // CHROME_BROWSER_TASK_MANAGER_RESOURCE_PROVIDERS_H_ 305 #endif // CHROME_BROWSER_TASK_MANAGER_RESOURCE_PROVIDERS_H_
OLDNEW
« no previous file with comments | « chrome/browser/renderer_host/render_view_host.cc ('k') | chrome/browser/task_manager_resource_providers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698