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