Chromium Code Reviews| 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 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 5 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/lazy_instance.h" | 8 #include "base/lazy_instance.h" |
| 9 #include "chrome/browser/autocomplete_history_manager.h" | 9 #include "chrome/browser/autocomplete_history_manager.h" |
| 10 #include "chrome/browser/autofill/autofill_external_delegate.h" | 10 #include "chrome/browser/autofill/autofill_external_delegate.h" |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 88 extension_tab_helper_.reset(new ExtensionTabHelper(this)); | 88 extension_tab_helper_.reset(new ExtensionTabHelper(this)); |
| 89 favicon_tab_helper_.reset(new FaviconTabHelper(contents)); | 89 favicon_tab_helper_.reset(new FaviconTabHelper(contents)); |
| 90 find_tab_helper_.reset(new FindTabHelper(contents)); | 90 find_tab_helper_.reset(new FindTabHelper(contents)); |
| 91 history_tab_helper_.reset(new HistoryTabHelper(contents)); | 91 history_tab_helper_.reset(new HistoryTabHelper(contents)); |
| 92 infobar_tab_helper_.reset(new InfoBarTabHelper(contents)); | 92 infobar_tab_helper_.reset(new InfoBarTabHelper(contents)); |
| 93 password_manager_delegate_.reset(new PasswordManagerDelegateImpl(this)); | 93 password_manager_delegate_.reset(new PasswordManagerDelegateImpl(this)); |
| 94 password_manager_.reset( | 94 password_manager_.reset( |
| 95 new PasswordManager(contents, password_manager_delegate_.get())); | 95 new PasswordManager(contents, password_manager_delegate_.get())); |
| 96 prefs_tab_helper_.reset(new PrefsTabHelper(contents)); | 96 prefs_tab_helper_.reset(new PrefsTabHelper(contents)); |
| 97 prerender_tab_helper_.reset(new prerender::PrerenderTabHelper(this)); | 97 prerender_tab_helper_.reset(new prerender::PrerenderTabHelper(this)); |
| 98 print_view_manager_.reset(new printing::PrintViewManager(this)); | |
| 99 restore_tab_helper_.reset(new RestoreTabHelper(contents)); | 98 restore_tab_helper_.reset(new RestoreTabHelper(contents)); |
| 100 search_engine_tab_helper_.reset(new SearchEngineTabHelper(contents)); | 99 search_engine_tab_helper_.reset(new SearchEngineTabHelper(contents)); |
| 101 snapshot_tab_helper_.reset(new SnapshotTabHelper(contents)); | 100 snapshot_tab_helper_.reset(new SnapshotTabHelper(contents)); |
| 102 ssl_helper_.reset(new TabContentsSSLHelper(this)); | 101 ssl_helper_.reset(new TabContentsSSLHelper(this)); |
| 103 synced_tab_delegate_.reset(new TabContentsWrapperSyncedTabDelegate(this)); | 102 synced_tab_delegate_.reset(new TabContentsWrapperSyncedTabDelegate(this)); |
| 104 content_settings_.reset(new TabSpecificContentSettings(contents)); | 103 content_settings_.reset(new TabSpecificContentSettings(contents)); |
| 105 translate_tab_helper_.reset(new TranslateTabHelper(contents)); | 104 translate_tab_helper_.reset(new TranslateTabHelper(contents)); |
| 106 web_intent_picker_controller_.reset(new WebIntentPickerController(this)); | 105 web_intent_picker_controller_.reset(new WebIntentPickerController(this)); |
| 107 | 106 |
| 107 #if !defined(OS_ANDROID) | |
| 108 print_view_manager_.reset(new printing::PrintViewManager(this)); | |
| 109 #endif | |
|
Avi (use Gerrit)
2012/03/03 02:50:14
What's wrong with alphabetical order? :(
| |
| 110 | |
| 108 // Create the per-tab observers. | 111 // Create the per-tab observers. |
| 109 alternate_error_page_tab_observer_.reset( | 112 alternate_error_page_tab_observer_.reset( |
| 110 new AlternateErrorPageTabObserver(contents)); | 113 new AlternateErrorPageTabObserver(contents)); |
| 111 download_request_limiter_observer_.reset( | 114 download_request_limiter_observer_.reset( |
| 112 new DownloadRequestLimiterObserver(contents)); | 115 new DownloadRequestLimiterObserver(contents)); |
| 113 webnavigation_observer_.reset( | 116 webnavigation_observer_.reset( |
| 114 new ExtensionWebNavigationTabObserver(contents)); | 117 new ExtensionWebNavigationTabObserver(contents)); |
| 115 external_protocol_observer_.reset(new ExternalProtocolObserver(contents)); | 118 external_protocol_observer_.reset(new ExternalProtocolObserver(contents)); |
| 116 if (OmniboxSearchHint::IsEnabled(profile())) | 119 if (OmniboxSearchHint::IsEnabled(profile())) |
| 117 omnibox_search_hint_.reset(new OmniboxSearchHint(this)); | 120 omnibox_search_hint_.reset(new OmniboxSearchHint(this)); |
| 118 pdf_tab_observer_.reset(new PDFTabObserver(this)); | 121 pdf_tab_observer_.reset(new PDFTabObserver(this)); |
| 119 plugin_observer_.reset(new PluginObserver(this)); | 122 plugin_observer_.reset(new PluginObserver(this)); |
| 120 print_preview_.reset(new printing::PrintPreviewMessageHandler(contents)); | |
| 121 sad_tab_observer_.reset(new SadTabObserver(contents)); | 123 sad_tab_observer_.reset(new SadTabObserver(contents)); |
| 122 safe_browsing_tab_observer_.reset( | 124 safe_browsing_tab_observer_.reset( |
| 123 new safe_browsing::SafeBrowsingTabObserver(this)); | 125 new safe_browsing::SafeBrowsingTabObserver(this)); |
| 124 | 126 |
| 127 #if !defined(OS_ANDROID) | |
| 128 print_preview_.reset(new printing::PrintPreviewMessageHandler(contents)); | |
| 129 #endif | |
| 130 | |
| 125 // Start the in-browser thumbnailing if the feature is enabled. | 131 // Start the in-browser thumbnailing if the feature is enabled. |
| 126 if (CommandLine::ForCurrentProcess()->HasSwitch( | 132 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 127 switches::kEnableInBrowserThumbnailing)) { | 133 switches::kEnableInBrowserThumbnailing)) { |
| 128 thumbnail_generation_observer_.reset(new ThumbnailGenerator); | 134 thumbnail_generation_observer_.reset(new ThumbnailGenerator); |
| 129 thumbnail_generation_observer_->StartThumbnailing(web_contents_.get()); | 135 thumbnail_generation_observer_->StartThumbnailing(web_contents_.get()); |
| 130 } | 136 } |
| 131 } | 137 } |
| 132 | 138 |
| 133 TabContentsWrapper::~TabContentsWrapper() { | 139 TabContentsWrapper::~TabContentsWrapper() { |
| 134 in_destructor_ = true; | 140 in_destructor_ = true; |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 182 | 188 |
| 183 //////////////////////////////////////////////////////////////////////////////// | 189 //////////////////////////////////////////////////////////////////////////////// |
| 184 // WebContentsObserver overrides | 190 // WebContentsObserver overrides |
| 185 | 191 |
| 186 void TabContentsWrapper::WebContentsDestroyed(WebContents* tab) { | 192 void TabContentsWrapper::WebContentsDestroyed(WebContents* tab) { |
| 187 // Destruction of the WebContents should only be done by us from our | 193 // Destruction of the WebContents should only be done by us from our |
| 188 // destructor. Otherwise it's very likely we (or one of the helpers we own) | 194 // destructor. Otherwise it's very likely we (or one of the helpers we own) |
| 189 // will attempt to access the TabContents and we'll crash. | 195 // will attempt to access the TabContents and we'll crash. |
| 190 DCHECK(in_destructor_); | 196 DCHECK(in_destructor_); |
| 191 } | 197 } |
| OLD | NEW |