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

Side by Side Diff: chrome/browser/extensions/extension_process_manager.h

Issue 10119003: Pull shell window stuff out of ExtensionHost and put in ShellWindow (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Updated Created 8 years, 7 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
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 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_ 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 24 matching lines...) Expand all
35 typedef std::set<ExtensionHost*> ExtensionHostSet; 35 typedef std::set<ExtensionHost*> ExtensionHostSet;
36 typedef ExtensionHostSet::const_iterator const_iterator; 36 typedef ExtensionHostSet::const_iterator const_iterator;
37 37
38 static ExtensionProcessManager* Create(Profile* profile); 38 static ExtensionProcessManager* Create(Profile* profile);
39 virtual ~ExtensionProcessManager(); 39 virtual ~ExtensionProcessManager();
40 40
41 const ExtensionHostSet& background_hosts() const { 41 const ExtensionHostSet& background_hosts() const {
42 return background_hosts_; 42 return background_hosts_;
43 } 43 }
44 44
45 const ExtensionHostSet& platform_app_hosts() const {
46 return platform_app_hosts_;
47 }
48
49 typedef std::set<content::RenderViewHost*> ViewSet; 45 typedef std::set<content::RenderViewHost*> ViewSet;
50 const ViewSet GetAllViews() const; 46 const ViewSet GetAllViews() const;
51 47
52 // Creates a new ExtensionHost with its associated view, grouping it in the 48 // Creates a new ExtensionHost with its associated view, grouping it in the
53 // appropriate SiteInstance (and therefore process) based on the URL and 49 // appropriate SiteInstance (and therefore process) based on the URL and
54 // profile. 50 // profile.
55 virtual ExtensionHost* CreateViewHost(const Extension* extension, 51 virtual ExtensionHost* CreateViewHost(const Extension* extension,
56 const GURL& url, 52 const GURL& url,
57 Browser* browser, 53 Browser* browser,
58 content::ViewType view_type); 54 content::ViewType view_type);
59 ExtensionHost* CreateViewHost(const GURL& url, 55 ExtensionHost* CreateViewHost(const GURL& url,
60 Browser* browser, 56 Browser* browser,
61 content::ViewType view_type); 57 content::ViewType view_type);
62 ExtensionHost* CreatePopupHost(const Extension* extension, 58 ExtensionHost* CreatePopupHost(const Extension* extension,
63 const GURL& url, 59 const GURL& url,
64 Browser* browser); 60 Browser* browser);
65 ExtensionHost* CreatePopupHost(const GURL& url, Browser* browser); 61 ExtensionHost* CreatePopupHost(const GURL& url, Browser* browser);
66 ExtensionHost* CreateDialogHost(const GURL& url, Browser* browser); 62 ExtensionHost* CreateDialogHost(const GURL& url, Browser* browser);
67 ExtensionHost* CreateInfobarHost(const Extension* extension, 63 ExtensionHost* CreateInfobarHost(const Extension* extension,
68 const GURL& url, 64 const GURL& url,
69 Browser* browser); 65 Browser* browser);
70 ExtensionHost* CreateInfobarHost(const GURL& url, 66 ExtensionHost* CreateInfobarHost(const GURL& url,
71 Browser* browser); 67 Browser* browser);
72 ExtensionHost* CreateShellHost(const Extension* extension, const GURL& url);
73 68
74 // Open the extension's options page. 69 // Open the extension's options page.
75 void OpenOptionsPage(const Extension* extension, Browser* browser); 70 void OpenOptionsPage(const Extension* extension, Browser* browser);
76 71
77 // Creates a new UI-less extension instance. Like CreateViewHost, but not 72 // Creates a new UI-less extension instance. Like CreateViewHost, but not
78 // displayed anywhere. 73 // displayed anywhere.
79 virtual void CreateBackgroundHost(const Extension* extension, 74 virtual void CreateBackgroundHost(const Extension* extension,
80 const GURL& url); 75 const GURL& url);
81 76
82 // Gets the ExtensionHost for the background page for an extension, or NULL if 77 // Gets the ExtensionHost for the background page for an extension, or NULL if
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 140
146 // Gets the profile associated with site_instance_ and all other 141 // Gets the profile associated with site_instance_ and all other
147 // related SiteInstances. 142 // related SiteInstances.
148 Profile* GetProfile() const; 143 Profile* GetProfile() const;
149 144
150 content::NotificationRegistrar registrar_; 145 content::NotificationRegistrar registrar_;
151 146
152 // The set of ExtensionHosts running viewless background extensions. 147 // The set of ExtensionHosts running viewless background extensions.
153 ExtensionHostSet background_hosts_; 148 ExtensionHostSet background_hosts_;
154 149
155 // The set of ExtensionHosts running platform apps.
156 ExtensionHostSet platform_app_hosts_;
157
158 // A SiteInstance related to the SiteInstance for all extensions in 150 // A SiteInstance related to the SiteInstance for all extensions in
159 // this profile. We create it in such a way that a new 151 // this profile. We create it in such a way that a new
160 // browsing instance is created. This controls process grouping. 152 // browsing instance is created. This controls process grouping.
161 scoped_refptr<content::SiteInstance> site_instance_; 153 scoped_refptr<content::SiteInstance> site_instance_;
162 154
163 private: 155 private:
164 // Extra information we keep for each extension's background page. 156 // Extra information we keep for each extension's background page.
165 struct BackgroundPageData; 157 struct BackgroundPageData;
166 typedef std::string ExtensionId; 158 typedef std::string ExtensionId;
167 typedef std::map<ExtensionId, BackgroundPageData> BackgroundPageDataMap; 159 typedef std::map<ExtensionId, BackgroundPageData> BackgroundPageDataMap;
(...skipping 21 matching lines...) Expand all
189 // associated with a WebContents. This allows us to gather information that 181 // associated with a WebContents. This allows us to gather information that
190 // was not available when the host was first registered. 182 // was not available when the host was first registered.
191 void UpdateRegisteredRenderView(content::RenderViewHost* render_view_host); 183 void UpdateRegisteredRenderView(content::RenderViewHost* render_view_host);
192 184
193 BackgroundPageDataMap background_page_data_; 185 BackgroundPageDataMap background_page_data_;
194 186
195 DISALLOW_COPY_AND_ASSIGN(ExtensionProcessManager); 187 DISALLOW_COPY_AND_ASSIGN(ExtensionProcessManager);
196 }; 188 };
197 189
198 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_ 190 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_PROCESS_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698