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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 autofill_external_delegate_.get()); | 126 autofill_external_delegate_.get()); |
127 } | 127 } |
128 BlockedContentTabHelper::CreateForWebContents(contents); | 128 BlockedContentTabHelper::CreateForWebContents(contents); |
129 BookmarkTabHelper::CreateForWebContents(contents); | 129 BookmarkTabHelper::CreateForWebContents(contents); |
130 chrome_browser_net::LoadTimeStatsTabHelper::CreateForWebContents(contents); | 130 chrome_browser_net::LoadTimeStatsTabHelper::CreateForWebContents(contents); |
131 constrained_window_tab_helper_.reset(new ConstrainedWindowTabHelper(this)); | 131 constrained_window_tab_helper_.reset(new ConstrainedWindowTabHelper(this)); |
132 content_settings_.reset(new TabSpecificContentSettings(contents)); | 132 content_settings_.reset(new TabSpecificContentSettings(contents)); |
133 CoreTabHelper::CreateForWebContents(contents); | 133 CoreTabHelper::CreateForWebContents(contents); |
134 extensions::TabHelper::CreateForWebContents(contents); | 134 extensions::TabHelper::CreateForWebContents(contents); |
135 extensions::WebNavigationTabObserver::CreateForWebContents(contents); | 135 extensions::WebNavigationTabObserver::CreateForWebContents(contents); |
| 136 ExternalProtocolObserver::CreateForWebContents(contents); |
136 favicon_tab_helper_.reset(new FaviconTabHelper(contents)); | 137 favicon_tab_helper_.reset(new FaviconTabHelper(contents)); |
137 find_tab_helper_.reset(new FindTabHelper(contents)); | 138 find_tab_helper_.reset(new FindTabHelper(contents)); |
138 history_tab_helper_.reset(new HistoryTabHelper(contents)); | 139 history_tab_helper_.reset(new HistoryTabHelper(contents)); |
139 HungPluginTabHelper::CreateForWebContents(contents); | 140 HungPluginTabHelper::CreateForWebContents(contents); |
140 infobar_tab_helper_.reset(new InfoBarTabHelper(contents)); | 141 infobar_tab_helper_.reset(new InfoBarTabHelper(contents)); |
141 MetroPinTabHelper::CreateForWebContents(contents); | 142 MetroPinTabHelper::CreateForWebContents(contents); |
142 password_manager_delegate_.reset(new PasswordManagerDelegateImpl(this)); | 143 password_manager_delegate_.reset(new PasswordManagerDelegateImpl(this)); |
143 password_manager_.reset( | 144 password_manager_.reset( |
144 new PasswordManager(contents, password_manager_delegate_.get())); | 145 new PasswordManager(contents, password_manager_delegate_.get())); |
145 PluginObserver::CreateForWebContents(contents); | 146 PluginObserver::CreateForWebContents(contents); |
(...skipping 16 matching lines...) Expand all Loading... |
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 navigation_metrics_recorder_.reset(new NavigationMetricsRecorder(contents)); | 173 navigation_metrics_recorder_.reset(new NavigationMetricsRecorder(contents)); |
174 pepper_broker_observer_.reset(new PepperBrokerObserver(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 |
(...skipping 58 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 |