Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Side by Side Diff: chrome/browser/ui/tab_contents/tab_contents.cc

Issue 10961053: Switch ExternalProtocolObserver to use WebContentsUserData. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/tab_contents/tab_contents.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/tab_contents/tab_contents.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698