| Index: chrome/browser/profiles/profile_impl.cc
|
| diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
|
| index 5b6b39a1320ed4161545ffc1006ec3c074278e02..c18df23a17b3078443f1f19a5f8bb756b3ccc787 100644
|
| --- a/chrome/browser/profiles/profile_impl.cc
|
| +++ b/chrome/browser/profiles/profile_impl.cc
|
| @@ -26,6 +26,7 @@
|
| #include "chrome/browser/content_settings/cookie_settings.h"
|
| #include "chrome/browser/content_settings/host_content_settings_map.h"
|
| #include "chrome/browser/custom_handlers/protocol_handler_registry.h"
|
| +#include "chrome/browser/custom_handlers/protocol_handler_registry_factory.h"
|
| #include "chrome/browser/download/download_service.h"
|
| #include "chrome/browser/download/download_service_factory.h"
|
| #include "chrome/browser/extensions/extension_event_router.h"
|
| @@ -44,6 +45,8 @@
|
| #include "chrome/browser/history/shortcuts_backend.h"
|
| #include "chrome/browser/history/top_sites.h"
|
| #include "chrome/browser/instant/instant_controller.h"
|
| +#include "chrome/browser/intents/web_intents_registry.h"
|
| +#include "chrome/browser/intents/web_intents_registry_factory.h"
|
| #include "chrome/browser/metrics/metrics_service.h"
|
| #include "chrome/browser/net/chrome_url_request_context.h"
|
| #include "chrome/browser/net/net_pref_observer.h"
|
| @@ -336,8 +339,6 @@ void ProfileImpl::DoFinalInit(bool is_new_profile) {
|
| g_browser_process->background_mode_manager()->RegisterProfile(this);
|
| }
|
|
|
| - InitRegisteredProtocolHandlers();
|
| -
|
| InstantController::RecordMetrics(this);
|
|
|
| FilePath cookie_path = GetPath();
|
| @@ -442,33 +443,6 @@ void ProfileImpl::InitPromoResources() {
|
| #endif
|
| }
|
|
|
| -void ProfileImpl::InitRegisteredProtocolHandlers() {
|
| - if (protocol_handler_registry_)
|
| - return;
|
| - protocol_handler_registry_ = new ProtocolHandlerRegistry(this,
|
| - new ProtocolHandlerRegistry::Delegate());
|
| -
|
| - // Install predefined protocol handlers.
|
| - InstallDefaultProtocolHandlers();
|
| -
|
| - protocol_handler_registry_->Load();
|
| -}
|
| -
|
| -void ProfileImpl::InstallDefaultProtocolHandlers() {
|
| -#if defined(OS_CHROMEOS)
|
| - protocol_handler_registry_->AddPredefinedHandler(
|
| - ProtocolHandler::CreateProtocolHandler(
|
| - "mailto",
|
| - GURL(l10n_util::GetStringUTF8(IDS_GOOGLE_MAILTO_HANDLER_URL)),
|
| - l10n_util::GetStringUTF16(IDS_GOOGLE_MAILTO_HANDLER_NAME)));
|
| - protocol_handler_registry_->AddPredefinedHandler(
|
| - ProtocolHandler::CreateProtocolHandler(
|
| - "webcal",
|
| - GURL(l10n_util::GetStringUTF8(IDS_GOOGLE_WEBCAL_HANDLER_URL)),
|
| - l10n_util::GetStringUTF16(IDS_GOOGLE_WEBCAL_HANDLER_NAME)));
|
| -#endif
|
| -}
|
| -
|
| FilePath ProfileImpl::last_selected_directory() {
|
| return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory);
|
| }
|
| @@ -522,9 +496,6 @@ ProfileImpl::~ProfileImpl() {
|
| if (pref_proxy_config_tracker_.get())
|
| pref_proxy_config_tracker_->DetachFromPrefService();
|
|
|
| - if (protocol_handler_registry_)
|
| - protocol_handler_registry_->Finalize();
|
| -
|
| if (host_content_settings_map_)
|
| host_content_settings_map_->ShutdownOnUIThread();
|
|
|
| @@ -805,7 +776,11 @@ BookmarkModel* ProfileImpl::GetBookmarkModel() {
|
| }
|
|
|
| ProtocolHandlerRegistry* ProfileImpl::GetProtocolHandlerRegistry() {
|
| - return protocol_handler_registry_.get();
|
| + // TODO(smckay): Update all existing callers to use
|
| + // ProtocolHandlerRegistryFactory. Once that's done, this method
|
| + // can be nuked from Profile and ProfileImpl.
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + return ProtocolHandlerRegistryFactory::GetForProfile(this);
|
| }
|
|
|
| bool ProfileImpl::IsSameProfile(Profile* profile) {
|
|
|