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 HungPluginTabHelper::CreateForWebContents(contents); | 139 HungPluginTabHelper::CreateForWebContents(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 PepperBrokerObserver::CreateForWebContents(contents); |
145 PluginObserver::CreateForWebContents(contents); | 146 PluginObserver::CreateForWebContents(contents); |
146 prefs_tab_helper_.reset(new PrefsTabHelper(contents)); | 147 prefs_tab_helper_.reset(new PrefsTabHelper(contents)); |
147 prerender_tab_helper_.reset(new prerender::PrerenderTabHelper(this)); | 148 prerender_tab_helper_.reset(new prerender::PrerenderTabHelper(this)); |
148 SearchEngineTabHelper::CreateForWebContents(contents); | 149 SearchEngineTabHelper::CreateForWebContents(contents); |
149 chrome::search::SearchTabHelper::CreateForWebContents(contents); | 150 chrome::search::SearchTabHelper::CreateForWebContents(contents); |
150 SnapshotTabHelper::CreateForWebContents(contents); | 151 SnapshotTabHelper::CreateForWebContents(contents); |
151 SSLTabHelper::CreateForWebContents(contents); | 152 SSLTabHelper::CreateForWebContents(contents); |
152 synced_tab_delegate_.reset(new TabContentsSyncedTabDelegate(this)); | 153 synced_tab_delegate_.reset(new TabContentsSyncedTabDelegate(this)); |
153 translate_tab_helper_.reset(new TranslateTabHelper(contents)); | 154 translate_tab_helper_.reset(new TranslateTabHelper(contents)); |
154 ZoomController::CreateForWebContents(contents); | 155 ZoomController::CreateForWebContents(contents); |
155 | 156 |
156 #if defined(ENABLE_AUTOMATION) | 157 #if defined(ENABLE_AUTOMATION) |
157 automation_tab_helper_.reset(new AutomationTabHelper(contents)); | 158 automation_tab_helper_.reset(new AutomationTabHelper(contents)); |
158 #endif | 159 #endif |
159 | 160 |
160 #if defined(ENABLE_CAPTIVE_PORTAL_DETECTION) | 161 #if defined(ENABLE_CAPTIVE_PORTAL_DETECTION) |
161 captive_portal::CaptivePortalTabHelper::CreateForWebContents(contents); | 162 captive_portal::CaptivePortalTabHelper::CreateForWebContents(contents); |
162 #endif | 163 #endif |
163 | 164 |
164 #if !defined(OS_ANDROID) | 165 #if !defined(OS_ANDROID) |
165 if (OmniboxSearchHint::IsEnabled(profile())) | 166 if (OmniboxSearchHint::IsEnabled(profile())) |
166 OmniboxSearchHint::CreateForWebContents(contents); | 167 OmniboxSearchHint::CreateForWebContents(contents); |
167 PDFTabHelper::CreateForWebContents(contents); | 168 PDFTabHelper::CreateForWebContents(contents); |
168 SadTabHelper::CreateForWebContents(contents); | 169 SadTabHelper::CreateForWebContents(contents); |
169 WebIntentPickerController::CreateForWebContents(contents); | 170 WebIntentPickerController::CreateForWebContents(contents); |
170 #endif | 171 #endif |
171 | 172 |
172 external_protocol_observer_.reset(new ExternalProtocolObserver(contents)); | 173 external_protocol_observer_.reset(new ExternalProtocolObserver(contents)); |
173 navigation_metrics_recorder_.reset(new NavigationMetricsRecorder(contents)); | 174 navigation_metrics_recorder_.reset(new NavigationMetricsRecorder(contents)); |
174 pepper_broker_observer_.reset(new PepperBrokerObserver(contents)); | |
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 |