summaryrefslogtreecommitdiffstats
path: root/chrome/browser/task_manager_resource_providers.h
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-13 10:09:06 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-13 10:09:06 +0000
commit94fe52ee5bdf2d2feaa771537164909250ec174f (patch)
tree6af1bca5f56fe7c28384172d71fdc5942e2b3487 /chrome/browser/task_manager_resource_providers.h
parent5a2721f67bee6843d521afa0ddea2034798372ef (diff)
downloadchromium_src-94fe52ee5bdf2d2feaa771537164909250ec174f.zip
chromium_src-94fe52ee5bdf2d2feaa771537164909250ec174f.tar.gz
chromium_src-94fe52ee5bdf2d2feaa771537164909250ec174f.tar.bz2
Make extensions visible in the Task Manager.
- register for notifications when extension hosts are created/destroyed - collapse extension tabs into just one table row, also for tabs opened while the task manager stays open TEST=Start chrome.exe with --enable-extensions. Install the buildbot monitor extension. Open the task manager. You should see an extension process. http://crbug.com/12127 Review URL: http://codereview.chromium.org/125047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18352 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/task_manager_resource_providers.h')
-rw-r--r--chrome/browser/task_manager_resource_providers.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/chrome/browser/task_manager_resource_providers.h b/chrome/browser/task_manager_resource_providers.h
index a5ee44d..e9640f0 100644
--- a/chrome/browser/task_manager_resource_providers.h
+++ b/chrome/browser/task_manager_resource_providers.h
@@ -205,7 +205,8 @@ class TaskManagerExtensionProcessResource : public TaskManager::Resource {
};
class TaskManagerExtensionProcessResourceProvider
- : public TaskManager::ResourceProvider {
+ : public TaskManager::ResourceProvider,
+ public NotificationObserver {
public:
explicit TaskManagerExtensionProcessResourceProvider(
TaskManager* task_manager);
@@ -217,8 +218,14 @@ class TaskManagerExtensionProcessResourceProvider
virtual void StartUpdating();
virtual void StopUpdating();
+ // NotificationObserver method:
+ virtual void Observe(NotificationType type,
+ const NotificationSource& source,
+ const NotificationDetails& details);
+
private:
void AddToTaskManager(ExtensionHost* extension_host);
+ void RemoveFromTaskManager(ExtensionHost* extension_host);
TaskManager* task_manager_;
@@ -229,6 +236,9 @@ class TaskManagerExtensionProcessResourceProvider
// byte read notifications).
std::map<int, TaskManagerExtensionProcessResource*> pid_to_resources_;
+ // A scoped container for notification registries.
+ NotificationRegistrar registrar_;
+
bool updating_;
DISALLOW_COPY_AND_ASSIGN(TaskManagerExtensionProcessResourceProvider);