| 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_UI_TAB_CONTENTS_TAB_CONTENTS_H_ | 5 #ifndef CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_H_ |
| 6 #define CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_H_ | 6 #define CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_H_ |
| 7 | 7 |
| 8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 namespace extensions { | 93 namespace extensions { |
| 94 class WebAuthFlow; | 94 class WebAuthFlow; |
| 95 class WebNavigationTabObserver; | 95 class WebNavigationTabObserver; |
| 96 } | 96 } |
| 97 | 97 |
| 98 namespace prerender { | 98 namespace prerender { |
| 99 class PrerenderContents; | 99 class PrerenderContents; |
| 100 class PrerenderTabHelper; | 100 class PrerenderTabHelper; |
| 101 } | 101 } |
| 102 | 102 |
| 103 namespace printing { | |
| 104 class PrintViewManager; | |
| 105 class PrintPreviewMessageHandler; | |
| 106 } | |
| 107 | |
| 108 namespace safe_browsing { | 103 namespace safe_browsing { |
| 109 class SafeBrowsingTabObserver; | 104 class SafeBrowsingTabObserver; |
| 110 } | 105 } |
| 111 | 106 |
| 112 // Wraps WebContents and all of its supporting objects in order to control | 107 // Wraps WebContents and all of its supporting objects in order to control |
| 113 // their ownership and lifetime. | 108 // their ownership and lifetime. |
| 114 // | 109 // |
| 115 // WARNING: Not every place where HTML can run has a TabContents. This class is | 110 // WARNING: Not every place where HTML can run has a TabContents. This class is |
| 116 // *only* used in a visible, actual, tab inside a browser. Examples of things | 111 // *only* used in a visible, actual, tab inside a browser. Examples of things |
| 117 // that do not have a TabContents include: | 112 // that do not have a TabContents include: |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 } | 230 } |
| 236 #endif | 231 #endif |
| 237 | 232 |
| 238 PasswordManager* password_manager() { return password_manager_.get(); } | 233 PasswordManager* password_manager() { return password_manager_.get(); } |
| 239 PrefsTabHelper* prefs_tab_helper() { return prefs_tab_helper_.get(); } | 234 PrefsTabHelper* prefs_tab_helper() { return prefs_tab_helper_.get(); } |
| 240 | 235 |
| 241 prerender::PrerenderTabHelper* prerender_tab_helper() { | 236 prerender::PrerenderTabHelper* prerender_tab_helper() { |
| 242 return prerender_tab_helper_.get(); | 237 return prerender_tab_helper_.get(); |
| 243 } | 238 } |
| 244 | 239 |
| 245 printing::PrintViewManager* print_view_manager() { | |
| 246 return print_view_manager_.get(); | |
| 247 } | |
| 248 | |
| 249 SadTabHelper* sad_tab_helper() { return sad_tab_helper_.get(); } | 240 SadTabHelper* sad_tab_helper() { return sad_tab_helper_.get(); } |
| 250 | 241 |
| 251 SearchEngineTabHelper* search_engine_tab_helper() { | 242 SearchEngineTabHelper* search_engine_tab_helper() { |
| 252 return search_engine_tab_helper_.get(); | 243 return search_engine_tab_helper_.get(); |
| 253 } | 244 } |
| 254 | 245 |
| 255 chrome::search::SearchTabHelper* search_tab_helper() { | 246 chrome::search::SearchTabHelper* search_tab_helper() { |
| 256 return search_tab_helper_.get(); | 247 return search_tab_helper_.get(); |
| 257 } | 248 } |
| 258 | 249 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 scoped_ptr<InfoBarTabHelper> infobar_tab_helper_; | 311 scoped_ptr<InfoBarTabHelper> infobar_tab_helper_; |
| 321 | 312 |
| 322 // PasswordManager and its delegate. The delegate must outlive the manager, | 313 // PasswordManager and its delegate. The delegate must outlive the manager, |
| 323 // per documentation in password_manager.h. | 314 // per documentation in password_manager.h. |
| 324 scoped_ptr<PasswordManagerDelegate> password_manager_delegate_; | 315 scoped_ptr<PasswordManagerDelegate> password_manager_delegate_; |
| 325 scoped_ptr<PasswordManager> password_manager_; | 316 scoped_ptr<PasswordManager> password_manager_; |
| 326 | 317 |
| 327 scoped_ptr<PrefsTabHelper> prefs_tab_helper_; | 318 scoped_ptr<PrefsTabHelper> prefs_tab_helper_; |
| 328 scoped_ptr<prerender::PrerenderTabHelper> prerender_tab_helper_; | 319 scoped_ptr<prerender::PrerenderTabHelper> prerender_tab_helper_; |
| 329 | 320 |
| 330 // Handles print job for this contents. | |
| 331 scoped_ptr<printing::PrintViewManager> print_view_manager_; | |
| 332 | |
| 333 scoped_ptr<SadTabHelper> sad_tab_helper_; | 321 scoped_ptr<SadTabHelper> sad_tab_helper_; |
| 334 scoped_ptr<SearchEngineTabHelper> search_engine_tab_helper_; | 322 scoped_ptr<SearchEngineTabHelper> search_engine_tab_helper_; |
| 335 scoped_ptr<chrome::search::SearchTabHelper> search_tab_helper_; | 323 scoped_ptr<chrome::search::SearchTabHelper> search_tab_helper_; |
| 336 scoped_ptr<browser_sync::SyncedTabDelegate> synced_tab_delegate_; | 324 scoped_ptr<browser_sync::SyncedTabDelegate> synced_tab_delegate_; |
| 337 | 325 |
| 338 // The TabSpecificContentSettings object is used to query the blocked content | 326 // The TabSpecificContentSettings object is used to query the blocked content |
| 339 // state by various UI elements. | 327 // state by various UI elements. |
| 340 scoped_ptr<TabSpecificContentSettings> content_settings_; | 328 scoped_ptr<TabSpecificContentSettings> content_settings_; |
| 341 | 329 |
| 342 scoped_ptr<ThumbnailGenerator> thumbnail_generator_; | 330 scoped_ptr<ThumbnailGenerator> thumbnail_generator_; |
| 343 scoped_ptr<TranslateTabHelper> translate_tab_helper_; | 331 scoped_ptr<TranslateTabHelper> translate_tab_helper_; |
| 344 | 332 |
| 345 // Handles displaying a web intents picker to the user. | 333 // Handles displaying a web intents picker to the user. |
| 346 scoped_ptr<WebIntentPickerController> web_intent_picker_controller_; | 334 scoped_ptr<WebIntentPickerController> web_intent_picker_controller_; |
| 347 | 335 |
| 348 scoped_ptr<ZoomController> zoom_controller_; | 336 scoped_ptr<ZoomController> zoom_controller_; |
| 349 | 337 |
| 350 // Per-tab observers --------------------------------------------------------- | 338 // Per-tab observers --------------------------------------------------------- |
| 351 // (These provide no API for callers; objects that need to exist 1:1 with tabs | 339 // (These provide no API for callers; objects that need to exist 1:1 with tabs |
| 352 // and silently do their thing live here.) | 340 // and silently do their thing live here.) |
| 353 | 341 |
| 354 scoped_ptr<extensions::WebNavigationTabObserver> webnavigation_observer_; | 342 scoped_ptr<extensions::WebNavigationTabObserver> webnavigation_observer_; |
| 355 scoped_ptr<ExternalProtocolObserver> external_protocol_observer_; | 343 scoped_ptr<ExternalProtocolObserver> external_protocol_observer_; |
| 356 scoped_ptr<NavigationMetricsRecorder> navigation_metrics_recorder_; | 344 scoped_ptr<NavigationMetricsRecorder> navigation_metrics_recorder_; |
| 357 #if defined(ENABLE_ONE_CLICK_SIGNIN) | 345 #if defined(ENABLE_ONE_CLICK_SIGNIN) |
| 358 scoped_ptr<OneClickSigninHelper> one_click_signin_helper_; | 346 scoped_ptr<OneClickSigninHelper> one_click_signin_helper_; |
| 359 #endif | 347 #endif |
| 360 scoped_ptr<PepperBrokerObserver> pepper_broker_observer_; | 348 scoped_ptr<PepperBrokerObserver> pepper_broker_observer_; |
| 361 scoped_ptr<PluginObserver> plugin_observer_; | 349 scoped_ptr<PluginObserver> plugin_observer_; |
| 362 scoped_ptr<printing::PrintPreviewMessageHandler> print_preview_; | |
| 363 scoped_ptr<safe_browsing::SafeBrowsingTabObserver> | 350 scoped_ptr<safe_browsing::SafeBrowsingTabObserver> |
| 364 safe_browsing_tab_observer_; | 351 safe_browsing_tab_observer_; |
| 365 | 352 |
| 366 // WebContents (MUST BE LAST) ------------------------------------------------ | 353 // WebContents (MUST BE LAST) ------------------------------------------------ |
| 367 | 354 |
| 368 // If true, we're running the destructor. | 355 // If true, we're running the destructor. |
| 369 bool in_destructor_; | 356 bool in_destructor_; |
| 370 | 357 |
| 371 // The supporting objects need to outlive the WebContents dtor (as they may | 358 // The supporting objects need to outlive the WebContents dtor (as they may |
| 372 // be called upon during its execution). As a result, this must come last | 359 // be called upon during its execution). As a result, this must come last |
| 373 // in the list. | 360 // in the list. |
| 374 scoped_ptr<content::WebContents> web_contents_; | 361 scoped_ptr<content::WebContents> web_contents_; |
| 375 | 362 |
| 376 DISALLOW_COPY_AND_ASSIGN(TabContents); | 363 DISALLOW_COPY_AND_ASSIGN(TabContents); |
| 377 }; | 364 }; |
| 378 | 365 |
| 379 #endif // CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_H_ | 366 #endif // CHROME_BROWSER_UI_TAB_CONTENTS_TAB_CONTENTS_H_ |
| OLD | NEW |