summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_host.cc
diff options
context:
space:
mode:
authorphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-06 08:19:49 +0000
committerphajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-06 08:19:49 +0000
commit8a17bd55d6f0336a3d8e3c66af61a0a3b074dfe9 (patch)
treec46ba5bfb499017b07cacdb6f8665070e77bbb3a /chrome/browser/extensions/extension_host.cc
parent31e8a0105e34d04ec14a5387b907b90a776d82f5 (diff)
downloadchromium_src-8a17bd55d6f0336a3d8e3c66af61a0a3b074dfe9.zip
chromium_src-8a17bd55d6f0336a3d8e3c66af61a0a3b074dfe9.tar.gz
chromium_src-8a17bd55d6f0336a3d8e3c66af61a0a3b074dfe9.tar.bz2
Display extension processes in task manager.
This is the first part of the change. I will submit code to listen for new extension processes while task manager is open in following patch(es). TEST=Install an extension which renders to the extension shelf, like Buildbot Monitor from http://dev.chromium.org/developers/design-documents/extensions/samples. Open the task manager. You should see the extension process. http://crbug.com/12127 Review URL: http://codereview.chromium.org/115858 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17826 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_host.cc')
-rw-r--r--chrome/browser/extensions/extension_host.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc
index 9509577..c9eeda8 100644
--- a/chrome/browser/extensions/extension_host.cc
+++ b/chrome/browser/extensions/extension_host.cc
@@ -10,6 +10,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/debugger/devtools_manager.h"
#include "chrome/browser/extensions/extension_message_service.h"
+#include "chrome/browser/extensions/extension_process_manager.h"
#include "chrome/browser/extensions/extension_view.h"
#include "chrome/browser/profile.h"
#include "chrome/browser/renderer_host/render_view_host.h"
@@ -28,8 +29,10 @@
#include "webkit/glue/context_menu.h"
-ExtensionHost::ExtensionHost(Extension* extension, SiteInstance* site_instance)
+ExtensionHost::ExtensionHost(Extension* extension, SiteInstance* site_instance,
+ ExtensionProcessManager* manager)
: extension_(extension),
+ manager_(manager),
#if defined(OS_WIN)
view_(NULL),
#endif
@@ -40,9 +43,15 @@ ExtensionHost::ExtensionHost(Extension* extension, SiteInstance* site_instance)
}
ExtensionHost::~ExtensionHost() {
+ if (manager_) // To allow passing NULL in tests.
+ manager_->OnExtensionHostDestroyed(this);
render_view_host_->Shutdown(); // deletes render_view_host
}
+RenderProcessHost* ExtensionHost::render_process_host() const {
+ return render_view_host_->process();
+}
+
SiteInstance* ExtensionHost::site_instance() const {
return render_view_host_->site_instance();
}