| 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.h" | 5 #include "chrome/browser/ui/tab_contents/tab_contents.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/autofill/autocomplete_history_manager.h" | 9 #include "chrome/browser/autofill/autocomplete_history_manager.h" |
| 10 #include "chrome/browser/autofill/autofill_external_delegate.h" | 10 #include "chrome/browser/autofill/autofill_external_delegate.h" |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 extensions::WebNavigationTabObserver::CreateForWebContents(contents); | 135 extensions::WebNavigationTabObserver::CreateForWebContents(contents); |
| 136 favicon_tab_helper_.reset(new FaviconTabHelper(contents)); | 136 favicon_tab_helper_.reset(new FaviconTabHelper(contents)); |
| 137 find_tab_helper_.reset(new FindTabHelper(contents)); | 137 find_tab_helper_.reset(new FindTabHelper(contents)); |
| 138 history_tab_helper_.reset(new HistoryTabHelper(contents)); | 138 history_tab_helper_.reset(new HistoryTabHelper(contents)); |
| 139 hung_plugin_tab_helper_.reset(new HungPluginTabHelper(contents)); | 139 hung_plugin_tab_helper_.reset(new HungPluginTabHelper(contents)); |
| 140 infobar_tab_helper_.reset(new InfoBarTabHelper(contents)); | 140 infobar_tab_helper_.reset(new InfoBarTabHelper(contents)); |
| 141 MetroPinTabHelper::CreateForWebContents(contents); | 141 MetroPinTabHelper::CreateForWebContents(contents); |
| 142 password_manager_delegate_.reset(new PasswordManagerDelegateImpl(this)); | 142 password_manager_delegate_.reset(new PasswordManagerDelegateImpl(this)); |
| 143 password_manager_.reset( | 143 password_manager_.reset( |
| 144 new PasswordManager(contents, password_manager_delegate_.get())); | 144 new PasswordManager(contents, password_manager_delegate_.get())); |
| 145 PluginObserver::CreateForWebContents(contents); |
| 145 prefs_tab_helper_.reset(new PrefsTabHelper(contents)); | 146 prefs_tab_helper_.reset(new PrefsTabHelper(contents)); |
| 146 prerender_tab_helper_.reset(new prerender::PrerenderTabHelper(this)); | 147 prerender_tab_helper_.reset(new prerender::PrerenderTabHelper(this)); |
| 147 SearchEngineTabHelper::CreateForWebContents(contents); | 148 SearchEngineTabHelper::CreateForWebContents(contents); |
| 148 chrome::search::SearchTabHelper::CreateForWebContents(contents); | 149 chrome::search::SearchTabHelper::CreateForWebContents(contents); |
| 149 SnapshotTabHelper::CreateForWebContents(contents); | 150 SnapshotTabHelper::CreateForWebContents(contents); |
| 150 SSLTabHelper::CreateForWebContents(contents); | 151 SSLTabHelper::CreateForWebContents(contents); |
| 151 synced_tab_delegate_.reset(new TabContentsSyncedTabDelegate(this)); | 152 synced_tab_delegate_.reset(new TabContentsSyncedTabDelegate(this)); |
| 152 translate_tab_helper_.reset(new TranslateTabHelper(contents)); | 153 translate_tab_helper_.reset(new TranslateTabHelper(contents)); |
| 153 zoom_controller_.reset(new ZoomController(this)); | 154 zoom_controller_.reset(new ZoomController(this)); |
| 154 | 155 |
| 155 #if defined(ENABLE_AUTOMATION) | 156 #if defined(ENABLE_AUTOMATION) |
| 156 automation_tab_helper_.reset(new AutomationTabHelper(contents)); | 157 automation_tab_helper_.reset(new AutomationTabHelper(contents)); |
| 157 #endif | 158 #endif |
| 158 | 159 |
| 159 #if defined(ENABLE_CAPTIVE_PORTAL_DETECTION) | 160 #if defined(ENABLE_CAPTIVE_PORTAL_DETECTION) |
| 160 captive_portal::CaptivePortalTabHelper::CreateForWebContents(contents); | 161 captive_portal::CaptivePortalTabHelper::CreateForWebContents(contents); |
| 161 #endif | 162 #endif |
| 162 | 163 |
| 163 #if !defined(OS_ANDROID) | 164 #if !defined(OS_ANDROID) |
| 164 if (OmniboxSearchHint::IsEnabled(profile())) | 165 if (OmniboxSearchHint::IsEnabled(profile())) |
| 165 OmniboxSearchHint::CreateForWebContents(contents); | 166 OmniboxSearchHint::CreateForWebContents(contents); |
| 166 PDFTabHelper::CreateForWebContents(contents); | 167 PDFTabHelper::CreateForWebContents(contents); |
| 167 SadTabHelper::CreateForWebContents(contents); | 168 SadTabHelper::CreateForWebContents(contents); |
| 168 web_intent_picker_controller_.reset(new WebIntentPickerController(this)); | 169 web_intent_picker_controller_.reset(new WebIntentPickerController(this)); |
| 169 #endif | 170 #endif |
| 170 | 171 |
| 171 external_protocol_observer_.reset(new ExternalProtocolObserver(contents)); | 172 external_protocol_observer_.reset(new ExternalProtocolObserver(contents)); |
| 172 navigation_metrics_recorder_.reset(new NavigationMetricsRecorder(contents)); | 173 navigation_metrics_recorder_.reset(new NavigationMetricsRecorder(contents)); |
| 173 pepper_broker_observer_.reset(new PepperBrokerObserver(contents)); | 174 pepper_broker_observer_.reset(new PepperBrokerObserver(contents)); |
| 174 plugin_observer_.reset(new PluginObserver(this)); | |
| 175 safe_browsing_tab_observer_.reset( | 175 safe_browsing_tab_observer_.reset( |
| 176 new safe_browsing::SafeBrowsingTabObserver(this)); | 176 new safe_browsing::SafeBrowsingTabObserver(this)); |
| 177 | 177 |
| 178 #if defined(ENABLE_PRINTING) | 178 #if defined(ENABLE_PRINTING) |
| 179 printing::PrintPreviewMessageHandler::CreateForWebContents(contents); | 179 printing::PrintPreviewMessageHandler::CreateForWebContents(contents); |
| 180 printing::PrintViewManager::CreateForWebContents(contents); | 180 printing::PrintViewManager::CreateForWebContents(contents); |
| 181 #endif | 181 #endif |
| 182 | 182 |
| 183 // Start the in-browser thumbnailing if the feature is enabled. | 183 // Start the in-browser thumbnailing if the feature is enabled. |
| 184 if (ShouldEnableInBrowserThumbnailing()) { | 184 if (ShouldEnableInBrowserThumbnailing()) { |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 | 241 |
| 242 //////////////////////////////////////////////////////////////////////////////// | 242 //////////////////////////////////////////////////////////////////////////////// |
| 243 // WebContentsObserver overrides | 243 // WebContentsObserver overrides |
| 244 | 244 |
| 245 void TabContents::WebContentsDestroyed(WebContents* tab) { | 245 void TabContents::WebContentsDestroyed(WebContents* tab) { |
| 246 // Destruction of the WebContents should only be done by us from our | 246 // Destruction of the WebContents should only be done by us from our |
| 247 // destructor. Otherwise it's very likely we (or one of the helpers we own) | 247 // destructor. Otherwise it's very likely we (or one of the helpers we own) |
| 248 // will attempt to access the WebContents and we'll crash. | 248 // will attempt to access the WebContents and we'll crash. |
| 249 DCHECK(in_destructor_); | 249 DCHECK(in_destructor_); |
| 250 } | 250 } |
| OLD | NEW |