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

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

Issue 10375021: Move Extension into extensions namespace (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Take 6 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_HOST_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_H_
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_H_ 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 13 matching lines...) Expand all
24 #include "chrome/browser/ui/views/extensions/extension_view.h" 24 #include "chrome/browser/ui/views/extensions/extension_view.h"
25 #elif defined(OS_MACOSX) 25 #elif defined(OS_MACOSX)
26 #include "chrome/browser/ui/cocoa/extensions/extension_view_mac.h" 26 #include "chrome/browser/ui/cocoa/extensions/extension_view_mac.h"
27 #elif defined(TOOLKIT_GTK) 27 #elif defined(TOOLKIT_GTK)
28 #include "chrome/browser/ui/gtk/extensions/extension_view_gtk.h" 28 #include "chrome/browser/ui/gtk/extensions/extension_view_gtk.h"
29 #elif defined(OS_ANDROID) 29 #elif defined(OS_ANDROID)
30 #include "chrome/browser/ui/android/extensions/extension_view_android.h" 30 #include "chrome/browser/ui/android/extensions/extension_view_android.h"
31 #endif 31 #endif
32 32
33 class Browser; 33 class Browser;
34 class Extension;
35 class ExtensionWindowController; 34 class ExtensionWindowController;
36 class PrefsTabHelper; 35 class PrefsTabHelper;
37 36
38 namespace content { 37 namespace content {
39 class RenderProcessHost; 38 class RenderProcessHost;
40 class RenderWidgetHostView; 39 class RenderWidgetHostView;
41 class SiteInstance; 40 class SiteInstance;
42 } 41 }
43 42
43 namespace extensions {
44 class Extension;
45 }
46
44 // This class is the browser component of an extension component's RenderView. 47 // This class is the browser component of an extension component's RenderView.
45 // It handles setting up the renderer process, if needed, with special 48 // It handles setting up the renderer process, if needed, with special
46 // privileges available to extensions. It may have a view to be shown in the 49 // privileges available to extensions. It may have a view to be shown in the
47 // browser UI, or it may be hidden. 50 // browser UI, or it may be hidden.
48 class ExtensionHost : public content::WebContentsDelegate, 51 class ExtensionHost : public content::WebContentsDelegate,
49 public content::WebContentsObserver, 52 public content::WebContentsObserver,
50 public ExtensionFunctionDispatcher::Delegate, 53 public ExtensionFunctionDispatcher::Delegate,
51 public content::NotificationObserver { 54 public content::NotificationObserver {
52 public: 55 public:
53 class ProcessCreationQueue; 56 class ProcessCreationQueue;
54 57
55 #if defined(TOOLKIT_VIEWS) 58 #if defined(TOOLKIT_VIEWS)
56 typedef ExtensionView PlatformExtensionView; 59 typedef ExtensionView PlatformExtensionView;
57 #elif defined(OS_MACOSX) 60 #elif defined(OS_MACOSX)
58 typedef ExtensionViewMac PlatformExtensionView; 61 typedef ExtensionViewMac PlatformExtensionView;
59 #elif defined(TOOLKIT_GTK) 62 #elif defined(TOOLKIT_GTK)
60 typedef ExtensionViewGtk PlatformExtensionView; 63 typedef ExtensionViewGtk PlatformExtensionView;
61 #elif defined(OS_ANDROID) 64 #elif defined(OS_ANDROID)
62 // Android does not support extensions. 65 // Android does not support extensions.
63 typedef ExtensionViewAndroid PlatformExtensionView; 66 typedef ExtensionViewAndroid PlatformExtensionView;
64 #endif 67 #endif
65 68
66 ExtensionHost(const Extension* extension, 69 ExtensionHost(const extensions::Extension* extension,
67 content::SiteInstance* site_instance, 70 content::SiteInstance* site_instance,
68 const GURL& url, content::ViewType host_type); 71 const GURL& url, content::ViewType host_type);
69 virtual ~ExtensionHost(); 72 virtual ~ExtensionHost();
70 73
71 #if defined(TOOLKIT_VIEWS) 74 #if defined(TOOLKIT_VIEWS)
72 void set_view(PlatformExtensionView* view) { view_.reset(view); } 75 void set_view(PlatformExtensionView* view) { view_.reset(view); }
73 #endif 76 #endif
74 77
75 const PlatformExtensionView* view() const { 78 const PlatformExtensionView* view() const {
76 #if defined(OS_ANDROID) 79 #if defined(OS_ANDROID)
77 NOTREACHED(); 80 NOTREACHED();
78 #endif 81 #endif
79 return view_.get(); 82 return view_.get();
80 } 83 }
81 84
82 PlatformExtensionView* view() { 85 PlatformExtensionView* view() {
83 #if defined(OS_ANDROID) 86 #if defined(OS_ANDROID)
84 NOTREACHED(); 87 NOTREACHED();
85 #endif 88 #endif
86 return view_.get(); 89 return view_.get();
87 } 90 }
88 91
89 // Create an ExtensionView and tie it to this host and |browser|. Note NULL 92 // Create an ExtensionView and tie it to this host and |browser|. Note NULL
90 // is a valid argument for |browser|. Extension views may be bound to 93 // is a valid argument for |browser|. Extension views may be bound to
91 // tab-contents hosted in ExternalTabContainer objects, which do not 94 // tab-contents hosted in ExternalTabContainer objects, which do not
92 // instantiate Browser objects. 95 // instantiate Browser objects.
93 void CreateView(Browser* browser); 96 void CreateView(Browser* browser);
94 97
95 const Extension* extension() const { return extension_; } 98 const extensions::Extension* extension() const { return extension_; }
96 const std::string& extension_id() const { return extension_id_; } 99 const std::string& extension_id() const { return extension_id_; }
97 content::WebContents* host_contents() const { return host_contents_.get(); } 100 content::WebContents* host_contents() const { return host_contents_.get(); }
98 content::RenderViewHost* render_view_host() const; 101 content::RenderViewHost* render_view_host() const;
99 content::RenderProcessHost* render_process_host() const; 102 content::RenderProcessHost* render_process_host() const;
100 bool did_stop_loading() const { return did_stop_loading_; } 103 bool did_stop_loading() const { return did_stop_loading_; }
101 bool document_element_available() const { 104 bool document_element_available() const {
102 return document_element_available_; 105 return document_element_available_;
103 } 106 }
104 107
105 Profile* profile() const { return profile_; } 108 Profile* profile() const { return profile_; }
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 // Platform specific implementation may override this method to handle the 195 // Platform specific implementation may override this method to handle the
193 // event in platform specific way. 196 // event in platform specific way.
194 virtual void UnhandledKeyboardEvent( 197 virtual void UnhandledKeyboardEvent(
195 const content::NativeWebKeyboardEvent& event) {} 198 const content::NativeWebKeyboardEvent& event) {}
196 199
197 // Returns true if we're hosting a background page. 200 // Returns true if we're hosting a background page.
198 // This isn't valid until CreateRenderView is called. 201 // This isn't valid until CreateRenderView is called.
199 bool is_background_page() const { return !view(); } 202 bool is_background_page() const { return !view(); }
200 203
201 // The extension that we're hosting in this view. 204 // The extension that we're hosting in this view.
202 const Extension* extension_; 205 const extensions::Extension* extension_;
203 206
204 // Id of extension that we're hosting in this view. 207 // Id of extension that we're hosting in this view.
205 const std::string extension_id_; 208 const std::string extension_id_;
206 209
207 // The profile that this host is tied to. 210 // The profile that this host is tied to.
208 Profile* profile_; 211 Profile* profile_;
209 212
210 // Optional view that shows the rendered content in the UI. 213 // Optional view that shows the rendered content in the UI.
211 scoped_ptr<PlatformExtensionView> view_; 214 scoped_ptr<PlatformExtensionView> view_;
212 215
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 // The relevant WebContents associated with this ExtensionHost, if any. 248 // The relevant WebContents associated with this ExtensionHost, if any.
246 content::WebContents* associated_web_contents_; 249 content::WebContents* associated_web_contents_;
247 250
248 // Used to measure how long it's been since the host was created. 251 // Used to measure how long it's been since the host was created.
249 PerfTimer since_created_; 252 PerfTimer since_created_;
250 253
251 DISALLOW_COPY_AND_ASSIGN(ExtensionHost); 254 DISALLOW_COPY_AND_ASSIGN(ExtensionHost);
252 }; 255 };
253 256
254 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_H_ 257 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_H_
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_global_error.cc ('k') | chrome/browser/extensions/extension_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698