| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_ | 5 #ifndef CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_ |
| 6 #define CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_ | 6 #define CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
| 13 #include "base/compiler_specific.h" | 13 #include "base/compiler_specific.h" |
| 14 #include "base/memory/ref_counted.h" | 14 #include "base/memory/ref_counted.h" |
| 15 #include "base/memory/scoped_ptr.h" | 15 #include "base/memory/scoped_ptr.h" |
| 16 #include "chrome/browser/prefs/pref_change_registrar.h" | 16 #include "chrome/browser/prefs/pref_change_registrar.h" |
| 17 #include "content/browser/tab_contents/tab_contents.h" | 17 #include "content/browser/tab_contents/tab_contents.h" |
| 18 #include "content/browser/tab_contents/tab_contents_observer.h" | 18 #include "content/browser/tab_contents/tab_contents_observer.h" |
| 19 #include "content/public/browser/notification_registrar.h" | 19 #include "content/public/browser/notification_registrar.h" |
| 20 | 20 |
| 21 class AutocompleteHistoryManager; | 21 class AutocompleteHistoryManager; |
| 22 class AutofillManager; | 22 class AutofillManager; |
| 23 class AutofillExternalDelegate; | 23 class AutofillExternalDelegate; |
| 24 class AutomationTabHelper; | 24 class AutomationTabHelper; |
| 25 class BlockedContentTabHelper; | 25 class BlockedContentTabHelper; |
| 26 class BookmarkTabHelper; | 26 class BookmarkTabHelper; |
| 27 class ConstrainedWindowTabHelper; | 27 class ConstrainedWindowTabHelper; |
| 28 class DownloadRequestLimiterObserver; | 28 class DownloadRequestLimiterObserver; |
| 29 class Extension; | |
| 30 class ExtensionTabHelper; | 29 class ExtensionTabHelper; |
| 31 class ExtensionWebNavigationTabObserver; | 30 class ExtensionWebNavigationTabObserver; |
| 32 class ExternalProtocolObserver; | 31 class ExternalProtocolObserver; |
| 33 class FaviconTabHelper; | 32 class FaviconTabHelper; |
| 34 class FindTabHelper; | 33 class FindTabHelper; |
| 34 class HistoryTabHelper; |
| 35 class InfoBarTabHelper; | 35 class InfoBarTabHelper; |
| 36 class HistoryTabHelper; | |
| 37 class NavigationController; | |
| 38 class OmniboxSearchHint; | 36 class OmniboxSearchHint; |
| 39 class PasswordManager; | 37 class PasswordManager; |
| 40 class PasswordManagerDelegate; | 38 class PasswordManagerDelegate; |
| 41 class PerTabPrefsTabHelper; | |
| 42 class PluginObserver; | 39 class PluginObserver; |
| 43 class PrefService; | 40 class PrefService; |
| 41 class PrefsTabHelper; |
| 44 class Profile; | 42 class Profile; |
| 45 class RestoreTabHelper; | 43 class RestoreTabHelper; |
| 46 class SadTabObserver; | 44 class SadTabObserver; |
| 47 class SearchEngineTabHelper; | 45 class SearchEngineTabHelper; |
| 48 class TabContentsSSLHelper; | 46 class TabContentsSSLHelper; |
| 49 class TabContentsWrapperDelegate; | 47 class TabContentsWrapperDelegate; |
| 50 class TabContentsWrapperSyncedTabDelegate; | 48 class TabContentsWrapperSyncedTabDelegate; |
| 51 class TabSpecificContentSettings; | 49 class TabSpecificContentSettings; |
| 52 class ThumbnailGenerator; | 50 class ThumbnailGenerator; |
| 53 class TranslateTabHelper; | 51 class TranslateTabHelper; |
| 54 class WebIntentPickerController; | 52 class WebIntentPickerController; |
| 55 | 53 |
| 56 namespace browser_sync { | |
| 57 class SyncedTabDelegate; | |
| 58 } | |
| 59 | |
| 60 namespace IPC { | 54 namespace IPC { |
| 61 class Message; | 55 class Message; |
| 62 } | 56 } |
| 63 | 57 |
| 64 namespace prerender { | 58 namespace prerender { |
| 65 class PrerenderTabHelper; | 59 class PrerenderTabHelper; |
| 66 } | 60 } |
| 67 | 61 |
| 68 namespace printing { | 62 namespace printing { |
| 69 class PrintViewManager; | 63 class PrintViewManager; |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 | 161 |
| 168 const ExtensionTabHelper* extension_tab_helper() const { | 162 const ExtensionTabHelper* extension_tab_helper() const { |
| 169 return extension_tab_helper_.get(); | 163 return extension_tab_helper_.get(); |
| 170 } | 164 } |
| 171 | 165 |
| 172 FaviconTabHelper* favicon_tab_helper() { return favicon_tab_helper_.get(); } | 166 FaviconTabHelper* favicon_tab_helper() { return favicon_tab_helper_.get(); } |
| 173 FindTabHelper* find_tab_helper() { return find_tab_helper_.get(); } | 167 FindTabHelper* find_tab_helper() { return find_tab_helper_.get(); } |
| 174 HistoryTabHelper* history_tab_helper() { return history_tab_helper_.get(); } | 168 HistoryTabHelper* history_tab_helper() { return history_tab_helper_.get(); } |
| 175 InfoBarTabHelper* infobar_tab_helper() { return infobar_tab_helper_.get(); } | 169 InfoBarTabHelper* infobar_tab_helper() { return infobar_tab_helper_.get(); } |
| 176 PasswordManager* password_manager() { return password_manager_.get(); } | 170 PasswordManager* password_manager() { return password_manager_.get(); } |
| 177 | 171 PrefsTabHelper* prefs_tab_helper() { return prefs_tab_helper_.get(); } |
| 178 PerTabPrefsTabHelper* per_tab_prefs_tab_helper() { | |
| 179 return per_tab_prefs_tab_helper_.get(); | |
| 180 } | |
| 181 | 172 |
| 182 prerender::PrerenderTabHelper* prerender_tab_helper() { | 173 prerender::PrerenderTabHelper* prerender_tab_helper() { |
| 183 return prerender_tab_helper_.get(); | 174 return prerender_tab_helper_.get(); |
| 184 } | 175 } |
| 185 | 176 |
| 186 printing::PrintViewManager* print_view_manager() { | 177 printing::PrintViewManager* print_view_manager() { |
| 187 return print_view_manager_.get(); | 178 return print_view_manager_.get(); |
| 188 } | 179 } |
| 189 | 180 |
| 190 RestoreTabHelper* restore_tab_helper() { | 181 RestoreTabHelper* restore_tab_helper() { |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 virtual void DidBecomeSelected() OVERRIDE; | 219 virtual void DidBecomeSelected() OVERRIDE; |
| 229 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; | 220 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
| 230 virtual void TabContentsDestroyed(TabContents* tab) OVERRIDE; | 221 virtual void TabContentsDestroyed(TabContents* tab) OVERRIDE; |
| 231 | 222 |
| 232 // content::NotificationObserver overrides: | 223 // content::NotificationObserver overrides: |
| 233 virtual void Observe(int type, | 224 virtual void Observe(int type, |
| 234 const content::NotificationSource& source, | 225 const content::NotificationSource& source, |
| 235 const content::NotificationDetails& details) OVERRIDE; | 226 const content::NotificationDetails& details) OVERRIDE; |
| 236 | 227 |
| 237 private: | 228 private: |
| 238 friend class PerTabPrefsTabHelper; // for UpdateWebPreferences | |
| 239 FRIEND_TEST_ALL_PREFIXES( | 229 FRIEND_TEST_ALL_PREFIXES( |
| 240 PerTabPrefsTabHelperTest, OverridePrefsOnViewCreation); | 230 PrefsTabHelperTest, OverridePrefsOnViewCreation); |
| 241 | 231 |
| 242 // Internal helpers ---------------------------------------------------------- | 232 // Internal helpers ---------------------------------------------------------- |
| 243 | 233 |
| 244 // Message handlers. | 234 // Message handlers. |
| 245 void OnSnapshot(const SkBitmap& bitmap); | 235 void OnSnapshot(const SkBitmap& bitmap); |
| 246 void OnPDFHasUnsupportedFeature(); | 236 void OnPDFHasUnsupportedFeature(); |
| 247 | 237 |
| 248 // Returns the server that can provide alternate error pages. If the returned | 238 // Returns the server that can provide alternate error pages. If the returned |
| 249 // URL is empty, the default error page built into WebKit will be used. | 239 // URL is empty, the default error page built into WebKit will be used. |
| 250 GURL GetAlternateErrorPageURL() const; | 240 GURL GetAlternateErrorPageURL() const; |
| 251 | 241 |
| 252 // Send the alternate error page URL to the renderer. | 242 // Send the alternate error page URL to the renderer. |
| 253 void UpdateAlternateErrorPageURL(RenderViewHost* rvh); | 243 void UpdateAlternateErrorPageURL(RenderViewHost* rvh); |
| 254 | 244 |
| 255 // Update the RenderView's WebPreferences. | |
| 256 void UpdateWebPreferences(); | |
| 257 | |
| 258 // Update the TabContents's RendererPreferences. | |
| 259 void UpdateRendererPreferences(); | |
| 260 | |
| 261 // Create or destroy SafebrowsingDetectionHost as needed if the user's | 245 // Create or destroy SafebrowsingDetectionHost as needed if the user's |
| 262 // safe browsing preference has changed. | 246 // safe browsing preference has changed. |
| 263 void UpdateSafebrowsingDetectionHost(); | 247 void UpdateSafebrowsingDetectionHost(); |
| 264 | 248 |
| 265 // Data for core operation --------------------------------------------------- | 249 // Data for core operation --------------------------------------------------- |
| 266 | 250 |
| 267 // Delegate for notifying our owner about stuff. Not owned by us. | 251 // Delegate for notifying our owner about stuff. Not owned by us. |
| 268 TabContentsWrapperDelegate* delegate_; | 252 TabContentsWrapperDelegate* delegate_; |
| 269 | 253 |
| 270 content::NotificationRegistrar registrar_; | 254 content::NotificationRegistrar registrar_; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 291 scoped_ptr<FaviconTabHelper> favicon_tab_helper_; | 275 scoped_ptr<FaviconTabHelper> favicon_tab_helper_; |
| 292 scoped_ptr<FindTabHelper> find_tab_helper_; | 276 scoped_ptr<FindTabHelper> find_tab_helper_; |
| 293 scoped_ptr<HistoryTabHelper> history_tab_helper_; | 277 scoped_ptr<HistoryTabHelper> history_tab_helper_; |
| 294 scoped_ptr<InfoBarTabHelper> infobar_tab_helper_; | 278 scoped_ptr<InfoBarTabHelper> infobar_tab_helper_; |
| 295 | 279 |
| 296 // PasswordManager and its delegate. The delegate must outlive the manager, | 280 // PasswordManager and its delegate. The delegate must outlive the manager, |
| 297 // per documentation in password_manager.h. | 281 // per documentation in password_manager.h. |
| 298 scoped_ptr<PasswordManagerDelegate> password_manager_delegate_; | 282 scoped_ptr<PasswordManagerDelegate> password_manager_delegate_; |
| 299 scoped_ptr<PasswordManager> password_manager_; | 283 scoped_ptr<PasswordManager> password_manager_; |
| 300 | 284 |
| 301 scoped_ptr<PerTabPrefsTabHelper> per_tab_prefs_tab_helper_; | 285 scoped_ptr<PrefsTabHelper> prefs_tab_helper_; |
| 302 scoped_ptr<prerender::PrerenderTabHelper> prerender_tab_helper_; | 286 scoped_ptr<prerender::PrerenderTabHelper> prerender_tab_helper_; |
| 303 | 287 |
| 304 // Handles print job for this contents. | 288 // Handles print job for this contents. |
| 305 scoped_ptr<printing::PrintViewManager> print_view_manager_; | 289 scoped_ptr<printing::PrintViewManager> print_view_manager_; |
| 306 | 290 |
| 307 scoped_ptr<RestoreTabHelper> restore_tab_helper_; | 291 scoped_ptr<RestoreTabHelper> restore_tab_helper_; |
| 308 | 292 |
| 309 // Handles displaying a web intents picker to the user. | 293 // Handles displaying a web intents picker to the user. |
| 310 scoped_ptr<WebIntentPickerController> web_intent_picker_controller_; | 294 scoped_ptr<WebIntentPickerController> web_intent_picker_controller_; |
| 311 | 295 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 342 | 326 |
| 343 // The supporting objects need to outlive the TabContents dtor (as they may | 327 // The supporting objects need to outlive the TabContents dtor (as they may |
| 344 // be called upon during its execution). As a result, this must come last | 328 // be called upon during its execution). As a result, this must come last |
| 345 // in the list. | 329 // in the list. |
| 346 scoped_ptr<TabContents> tab_contents_; | 330 scoped_ptr<TabContents> tab_contents_; |
| 347 | 331 |
| 348 DISALLOW_COPY_AND_ASSIGN(TabContentsWrapper); | 332 DISALLOW_COPY_AND_ASSIGN(TabContentsWrapper); |
| 349 }; | 333 }; |
| 350 | 334 |
| 351 #endif // CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_ | 335 #endif // CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_WRAPPER_H_ |
| OLD | NEW |