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

Unified Diff: chrome/browser/extensions/extension_process_manager.h

Issue 10113005: Remove EPM:all_hosts_ and use all_extension_views_ instead. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Comments addressed Created 8 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_process_manager.h
diff --git a/chrome/browser/extensions/extension_process_manager.h b/chrome/browser/extensions/extension_process_manager.h
index eddf0cfa9571f9748cd0713f3bf448fbfdbae987..9e9df0803813a0930e64a16f353bb23fa366ff48 100644
--- a/chrome/browser/extensions/extension_process_manager.h
+++ b/chrome/browser/extensions/extension_process_manager.h
@@ -32,9 +32,23 @@ class SiteInstance;
// track of split-mode extensions only.
class ExtensionProcessManager : public content::NotificationObserver {
public:
+ typedef std::set<ExtensionHost*> ExtensionHostSet;
+ typedef ExtensionHostSet::const_iterator const_iterator;
+
static ExtensionProcessManager* Create(Profile* profile);
virtual ~ExtensionProcessManager();
+ const ExtensionHostSet& background_hosts() const {
+ return background_hosts_;
+ }
+
+ const ExtensionHostSet& platform_app_hosts() const {
+ return platform_app_hosts_;
+ }
+
+ typedef std::set<content::RenderViewHost*> ViewSet;
+ const ViewSet GetAllViews() const;
+
// Creates a new ExtensionHost with its associated view, grouping it in the
// appropriate SiteInstance (and therefore process) based on the URL and
// profile.
@@ -86,8 +100,10 @@ class ExtensionProcessManager : public content::NotificationObserver {
std::set<content::RenderViewHost*> GetRenderViewHostsForExtension(
const std::string& extension_id);
- // Returns true if |host| is managed by this process manager.
- bool HasExtensionHost(ExtensionHost* host) const;
+ // Returns the extension associated with the specified RenderViewHost, or
+ // NULL.
+ const Extension* GetExtensionForRenderViewHost(
+ content::RenderViewHost* render_view_host);
// Returns true if the (lazy) background host for the given extension has
// already been sent the unload event and is shutting down.
@@ -113,11 +129,6 @@ class ExtensionProcessManager : public content::NotificationObserver {
void OnNetworkRequestStarted(content::RenderViewHost* render_view_host);
void OnNetworkRequestDone(content::RenderViewHost* render_view_host);
- typedef std::set<ExtensionHost*> ExtensionHostSet;
- typedef ExtensionHostSet::const_iterator const_iterator;
- const_iterator begin() const { return all_hosts_.begin(); }
- const_iterator end() const { return all_hosts_.end(); }
-
protected:
explicit ExtensionProcessManager(Profile* profile);
@@ -138,12 +149,12 @@ class ExtensionProcessManager : public content::NotificationObserver {
content::NotificationRegistrar registrar_;
- // The set of all ExtensionHosts managed by this process manager.
- ExtensionHostSet all_hosts_;
-
- // The set of running viewless background extensions.
+ // The set of ExtensionHosts running viewless background extensions.
ExtensionHostSet background_hosts_;
+ // The set of ExtensionHosts running platform apps.
+ ExtensionHostSet platform_app_hosts_;
+
// A SiteInstance related to the SiteInstance for all extensions in
// this profile. We create it in such a way that a new
// browsing instance is created. This controls process grouping.

Powered by Google App Engine
This is Rietveld 408576698