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_TAB_HELPER_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_TAB_HELPER_H_ |
6 #define CHROME_BROWSER_EXTENSIONS_TAB_HELPER_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_TAB_HELPER_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 20 matching lines...) Expand all Loading... |
31 namespace content { | 31 namespace content { |
32 struct LoadCommittedDetails; | 32 struct LoadCommittedDetails; |
33 class RenderFrameHost; | 33 class RenderFrameHost; |
34 } | 34 } |
35 | 35 |
36 namespace gfx { | 36 namespace gfx { |
37 class Image; | 37 class Image; |
38 } | 38 } |
39 | 39 |
40 namespace extensions { | 40 namespace extensions { |
| 41 class ActiveScriptController; |
41 class BookmarkAppHelper; | 42 class BookmarkAppHelper; |
42 class Extension; | 43 class Extension; |
43 class LocationBarController; | 44 class LocationBarController; |
44 class WebstoreInlineInstallerFactory; | 45 class WebstoreInlineInstallerFactory; |
45 | 46 |
46 // Per-tab extension helper. Also handles non-extension apps. | 47 // Per-tab extension helper. Also handles non-extension apps. |
47 class TabHelper : public content::WebContentsObserver, | 48 class TabHelper : public content::WebContentsObserver, |
48 public extensions::ExtensionFunctionDispatcher::Delegate, | 49 public extensions::ExtensionFunctionDispatcher::Delegate, |
49 public base::SupportsWeakPtr<TabHelper>, | 50 public base::SupportsWeakPtr<TabHelper>, |
50 public content::NotificationObserver, | 51 public content::NotificationObserver, |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 } | 103 } |
103 | 104 |
104 ScriptExecutor* script_executor() { | 105 ScriptExecutor* script_executor() { |
105 return script_executor_.get(); | 106 return script_executor_.get(); |
106 } | 107 } |
107 | 108 |
108 LocationBarController* location_bar_controller() { | 109 LocationBarController* location_bar_controller() { |
109 return location_bar_controller_.get(); | 110 return location_bar_controller_.get(); |
110 } | 111 } |
111 | 112 |
| 113 ActiveScriptController* active_script_controller() { |
| 114 return active_script_controller_.get(); |
| 115 } |
| 116 |
112 ActiveTabPermissionGranter* active_tab_permission_granter() { | 117 ActiveTabPermissionGranter* active_tab_permission_granter() { |
113 return active_tab_permission_granter_.get(); | 118 return active_tab_permission_granter_.get(); |
114 } | 119 } |
115 | 120 |
116 // Sets a non-extension app icon associated with WebContents and fires an | 121 // Sets a non-extension app icon associated with WebContents and fires an |
117 // INVALIDATE_TYPE_TITLE navigation state change to trigger repaint of title. | 122 // INVALIDATE_TYPE_TITLE navigation state change to trigger repaint of title. |
118 void SetAppIcon(const SkBitmap& app_icon); | 123 void SetAppIcon(const SkBitmap& app_icon); |
119 | 124 |
120 // Sets the factory used to create inline webstore item installers. | 125 // Sets the factory used to create inline webstore item installers. |
121 // Used for testing. Takes ownership of the factory instance. | 126 // Used for testing. Takes ownership of the factory instance. |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 | 243 |
239 // Whether to trigger an update when the page load completes. | 244 // Whether to trigger an update when the page load completes. |
240 bool update_shortcut_on_load_complete_; | 245 bool update_shortcut_on_load_complete_; |
241 | 246 |
242 content::NotificationRegistrar registrar_; | 247 content::NotificationRegistrar registrar_; |
243 | 248 |
244 scoped_ptr<ScriptExecutor> script_executor_; | 249 scoped_ptr<ScriptExecutor> script_executor_; |
245 | 250 |
246 scoped_ptr<LocationBarController> location_bar_controller_; | 251 scoped_ptr<LocationBarController> location_bar_controller_; |
247 | 252 |
| 253 scoped_ptr<ActiveScriptController> active_script_controller_; |
| 254 |
248 scoped_ptr<ActiveTabPermissionGranter> active_tab_permission_granter_; | 255 scoped_ptr<ActiveTabPermissionGranter> active_tab_permission_granter_; |
249 | 256 |
250 scoped_ptr<BookmarkAppHelper> bookmark_app_helper_; | 257 scoped_ptr<BookmarkAppHelper> bookmark_app_helper_; |
251 | 258 |
252 Profile* profile_; | 259 Profile* profile_; |
253 | 260 |
254 // Vend weak pointers that can be invalidated to stop in-progress loads. | 261 // Vend weak pointers that can be invalidated to stop in-progress loads. |
255 base::WeakPtrFactory<TabHelper> image_loader_ptr_factory_; | 262 base::WeakPtrFactory<TabHelper> image_loader_ptr_factory_; |
256 | 263 |
257 // Creates WebstoreInlineInstaller instances for inline install triggers. | 264 // Creates WebstoreInlineInstaller instances for inline install triggers. |
258 scoped_ptr<WebstoreInlineInstallerFactory> webstore_inline_installer_factory_; | 265 scoped_ptr<WebstoreInlineInstallerFactory> webstore_inline_installer_factory_; |
259 | 266 |
260 DISALLOW_COPY_AND_ASSIGN(TabHelper); | 267 DISALLOW_COPY_AND_ASSIGN(TabHelper); |
261 }; | 268 }; |
262 | 269 |
263 } // namespace extensions | 270 } // namespace extensions |
264 | 271 |
265 #endif // CHROME_BROWSER_EXTENSIONS_TAB_HELPER_H_ | 272 #endif // CHROME_BROWSER_EXTENSIONS_TAB_HELPER_H_ |
OLD | NEW |