| OLD | NEW |
| 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 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 #include "chrome/browser/ui/views/extensions/extension_view.h" | 23 #include "chrome/browser/ui/views/extensions/extension_view.h" |
| 24 #elif defined(OS_MACOSX) | 24 #elif defined(OS_MACOSX) |
| 25 #include "chrome/browser/ui/cocoa/extensions/extension_view_mac.h" | 25 #include "chrome/browser/ui/cocoa/extensions/extension_view_mac.h" |
| 26 #elif defined(TOOLKIT_GTK) | 26 #elif defined(TOOLKIT_GTK) |
| 27 #include "chrome/browser/ui/gtk/extensions/extension_view_gtk.h" | 27 #include "chrome/browser/ui/gtk/extensions/extension_view_gtk.h" |
| 28 #elif defined(OS_ANDROID) | 28 #elif defined(OS_ANDROID) |
| 29 #include "chrome/browser/ui/android/extensions/extension_view_android.h" | 29 #include "chrome/browser/ui/android/extensions/extension_view_android.h" |
| 30 #endif | 30 #endif |
| 31 | 31 |
| 32 class Browser; | 32 class Browser; |
| 33 class ExtensionWindowController; | |
| 34 class PrefsTabHelper; | 33 class PrefsTabHelper; |
| 35 | 34 |
| 36 namespace content { | 35 namespace content { |
| 37 class RenderProcessHost; | 36 class RenderProcessHost; |
| 38 class RenderWidgetHostView; | 37 class RenderWidgetHostView; |
| 39 class SiteInstance; | 38 class SiteInstance; |
| 40 } | 39 } |
| 41 | 40 |
| 42 namespace extensions { | 41 namespace extensions { |
| 43 class Extension; | 42 class Extension; |
| 43 class WindowController; |
| 44 } | 44 } |
| 45 | 45 |
| 46 // This class is the browser component of an extension component's RenderView. | 46 // This class is the browser component of an extension component's RenderView. |
| 47 // It handles setting up the renderer process, if needed, with special | 47 // It handles setting up the renderer process, if needed, with special |
| 48 // privileges available to extensions. It may have a view to be shown in the | 48 // privileges available to extensions. It may have a view to be shown in the |
| 49 // browser UI, or it may be hidden. | 49 // browser UI, or it may be hidden. |
| 50 class ExtensionHost : public content::WebContentsDelegate, | 50 class ExtensionHost : public content::WebContentsDelegate, |
| 51 public content::WebContentsObserver, | 51 public content::WebContentsObserver, |
| 52 public ExtensionFunctionDispatcher::Delegate, | 52 public ExtensionFunctionDispatcher::Delegate, |
| 53 public content::NotificationObserver { | 53 public content::NotificationObserver { |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 // Actually create the RenderView for this host. See CreateRenderViewSoon. | 176 // Actually create the RenderView for this host. See CreateRenderViewSoon. |
| 177 void CreateRenderViewNow(); | 177 void CreateRenderViewNow(); |
| 178 | 178 |
| 179 // Navigates to the initial page. | 179 // Navigates to the initial page. |
| 180 void LoadInitialURL(); | 180 void LoadInitialURL(); |
| 181 | 181 |
| 182 // Closes this host (results in deletion). | 182 // Closes this host (results in deletion). |
| 183 void Close(); | 183 void Close(); |
| 184 | 184 |
| 185 // ExtensionFunctionDispatcher::Delegate | 185 // ExtensionFunctionDispatcher::Delegate |
| 186 virtual ExtensionWindowController* | 186 virtual extensions::WindowController* |
| 187 GetExtensionWindowController() const OVERRIDE; | 187 GetExtensionWindowController() const OVERRIDE; |
| 188 | 188 |
| 189 // Message handlers. | 189 // Message handlers. |
| 190 void OnRequest(const ExtensionHostMsg_Request_Params& params); | 190 void OnRequest(const ExtensionHostMsg_Request_Params& params); |
| 191 void OnEventAck(); | 191 void OnEventAck(); |
| 192 void OnIncrementLazyKeepaliveCount(); | 192 void OnIncrementLazyKeepaliveCount(); |
| 193 void OnDecrementLazyKeepaliveCount(); | 193 void OnDecrementLazyKeepaliveCount(); |
| 194 | 194 |
| 195 // Handles keyboard events that were not handled by HandleKeyboardEvent(). | 195 // Handles keyboard events that were not handled by HandleKeyboardEvent(). |
| 196 // Platform specific implementation may override this method to handle the | 196 // Platform specific implementation may override this method to handle the |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 // The relevant WebContents associated with this ExtensionHost, if any. | 249 // The relevant WebContents associated with this ExtensionHost, if any. |
| 250 content::WebContents* associated_web_contents_; | 250 content::WebContents* associated_web_contents_; |
| 251 | 251 |
| 252 // Used to measure how long it's been since the host was created. | 252 // Used to measure how long it's been since the host was created. |
| 253 PerfTimer since_created_; | 253 PerfTimer since_created_; |
| 254 | 254 |
| 255 DISALLOW_COPY_AND_ASSIGN(ExtensionHost); | 255 DISALLOW_COPY_AND_ASSIGN(ExtensionHost); |
| 256 }; | 256 }; |
| 257 | 257 |
| 258 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_H_ | 258 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_HOST_H_ |
| OLD | NEW |