Commit 2510e003 authored by sdefresne's avatar sdefresne Committed by Commit bot

Move ownership of ChromeBrowserStateManager to ApplicationContext.

Keep the Shutdown method as removing it will require some downstream
refactoring first.

BUG=560854

Review URL: https://codereview.chromium.org/1547403002

Cr-Commit-Position: refs/heads/master@{#367071}
parent 02edc79d
...@@ -57,11 +57,9 @@ ...@@ -57,11 +57,9 @@
#include "net/url_request/url_request_context_getter.h" #include "net/url_request/url_request_context_getter.h"
namespace { namespace {
// Dummy flag because iOS does not support disabling background networking. // Dummy flag because iOS does not support disabling background networking.
extern const char kDummyDisableBackgroundNetworking[] = extern const char kDummyDisableBackgroundNetworking[] =
"dummy-disable-background-networking"; "dummy-disable-background-networking";
} }
ApplicationContextImpl::ApplicationContextImpl( ApplicationContextImpl::ApplicationContextImpl(
...@@ -135,9 +133,12 @@ void ApplicationContextImpl::StartTearDown() { ...@@ -135,9 +133,12 @@ void ApplicationContextImpl::StartTearDown() {
metrics_services_manager_.reset(); metrics_services_manager_.reset();
// Need to clear browser states before the IO thread. // Need to clear browser states before the IO thread.
// TODO(crbug.com/560854): the ShutDown() method can be folded into the if (chrome_browser_state_manager_) {
// destructor once ApplicationContextImpl owns ChromeBrowserStateManager. // TODO(crbug.com/560854): the ShutDown() method can be folded into the
GetChromeBrowserStateManager()->ShutDown(); // destructor once ApplicationContextImpl owns ChromeBrowserStateManager.
chrome_browser_state_manager_->ShutDown();
chrome_browser_state_manager_.reset();
}
// PromoResourceService must be destroyed after the keyed services and before // PromoResourceService must be destroyed after the keyed services and before
// the IO thread. // the IO thread.
...@@ -240,7 +241,12 @@ const std::string& ApplicationContextImpl::GetApplicationLocale() { ...@@ -240,7 +241,12 @@ const std::string& ApplicationContextImpl::GetApplicationLocale() {
ios::ChromeBrowserStateManager* ios::ChromeBrowserStateManager*
ApplicationContextImpl::GetChromeBrowserStateManager() { ApplicationContextImpl::GetChromeBrowserStateManager() {
DCHECK(thread_checker_.CalledOnValidThread()); DCHECK(thread_checker_.CalledOnValidThread());
return ios::GetChromeBrowserProvider()->GetChromeBrowserStateManager(); if (!chrome_browser_state_manager_) {
chrome_browser_state_manager_ =
ios::GetChromeBrowserProvider()->CreateChromeBrowserStateManager();
DCHECK(chrome_browser_state_manager_.get());
}
return chrome_browser_state_manager_.get();
} }
metrics_services_manager::MetricsServicesManager* metrics_services_manager::MetricsServicesManager*
......
...@@ -89,6 +89,7 @@ class ApplicationContextImpl : public ApplicationContext { ...@@ -89,6 +89,7 @@ class ApplicationContextImpl : public ApplicationContext {
scoped_ptr<component_updater::ComponentUpdateService> component_updater_; scoped_ptr<component_updater::ComponentUpdateService> component_updater_;
scoped_refptr<CRLSetFetcher> crl_set_fetcher_; scoped_refptr<CRLSetFetcher> crl_set_fetcher_;
scoped_refptr<safe_browsing::SafeBrowsingService> safe_browsing_service_; scoped_refptr<safe_browsing::SafeBrowsingService> safe_browsing_service_;
scoped_ptr<ios::ChromeBrowserStateManager> chrome_browser_state_manager_;
std::string application_locale_; std::string application_locale_;
// Sequenced task runner for local state related I/O tasks. // Sequenced task runner for local state related I/O tasks.
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "components/metrics/metrics_provider.h" #include "components/metrics/metrics_provider.h"
#include "components/sync_sessions/local_session_event_router.h" #include "components/sync_sessions/local_session_event_router.h"
#include "components/sync_sessions/synced_window_delegates_getter.h" #include "components/sync_sessions/synced_window_delegates_getter.h"
#include "ios/public/provider/chrome/browser/browser_state/chrome_browser_state_manager.h"
namespace ios { namespace ios {
...@@ -25,20 +26,16 @@ ChromeBrowserProvider* GetChromeBrowserProvider() { ...@@ -25,20 +26,16 @@ ChromeBrowserProvider* GetChromeBrowserProvider() {
return g_chrome_browser_provider; return g_chrome_browser_provider;
} }
ChromeBrowserProvider::~ChromeBrowserProvider() { ChromeBrowserProvider::~ChromeBrowserProvider() {}
}
// A dummy implementation of ChromeBrowserProvider. // A dummy implementation of ChromeBrowserProvider.
ChromeBrowserProvider::ChromeBrowserProvider() { ChromeBrowserProvider::ChromeBrowserProvider() {}
}
void ChromeBrowserProvider::AssertBrowserContextKeyedFactoriesBuilt() { void ChromeBrowserProvider::AssertBrowserContextKeyedFactoriesBuilt() {}
}
void ChromeBrowserProvider::RegisterProfilePrefs( void ChromeBrowserProvider::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) { user_prefs::PrefRegistrySyncable* registry) {}
}
ProfileOAuth2TokenServiceIOSProvider* ProfileOAuth2TokenServiceIOSProvider*
ChromeBrowserProvider::GetProfileOAuth2TokenServiceIOSProvider() { ChromeBrowserProvider::GetProfileOAuth2TokenServiceIOSProvider() {
...@@ -50,9 +47,9 @@ ChromeBrowserProvider::GetUpdatableResourceProvider() { ...@@ -50,9 +47,9 @@ ChromeBrowserProvider::GetUpdatableResourceProvider() {
return nullptr; return nullptr;
} }
ChromeBrowserStateManager* scoped_ptr<ChromeBrowserStateManager>
ChromeBrowserProvider::GetChromeBrowserStateManager() { ChromeBrowserProvider::CreateChromeBrowserStateManager() {
return nullptr; return scoped_ptr<ChromeBrowserStateManager>();
} }
InfoBarViewPlaceholder ChromeBrowserProvider::CreateInfoBarView( InfoBarViewPlaceholder ChromeBrowserProvider::CreateInfoBarView(
...@@ -91,8 +88,7 @@ std::string ChromeBrowserProvider::GetDistributionBrandCode() { ...@@ -91,8 +88,7 @@ std::string ChromeBrowserProvider::GetDistributionBrandCode() {
} }
void ChromeBrowserProvider::SetUIViewAlphaWithAnimation(UIView* view, void ChromeBrowserProvider::SetUIViewAlphaWithAnimation(UIView* view,
float alpha) { float alpha) {}
}
autofill::CardUnmaskPromptView* autofill::CardUnmaskPromptView*
ChromeBrowserProvider::CreateCardUnmaskPromptView( ChromeBrowserProvider::CreateCardUnmaskPromptView(
......
...@@ -79,15 +79,15 @@ class ChromeBrowserProvider { ...@@ -79,15 +79,15 @@ class ChromeBrowserProvider {
virtual void AssertBrowserContextKeyedFactoriesBuilt(); virtual void AssertBrowserContextKeyedFactoriesBuilt();
// Registers all prefs that will be used via a PrefService attached to a // Registers all prefs that will be used via a PrefService attached to a
// Profile. // Profile.
virtual void RegisterProfilePrefs( virtual void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
user_prefs::PrefRegistrySyncable* registry);
// Returns an instance of profile OAuth2 token service provider. // Returns an instance of profile OAuth2 token service provider.
virtual ProfileOAuth2TokenServiceIOSProvider* virtual ProfileOAuth2TokenServiceIOSProvider*
GetProfileOAuth2TokenServiceIOSProvider(); GetProfileOAuth2TokenServiceIOSProvider();
// Returns an UpdatableResourceProvider instance. // Returns an UpdatableResourceProvider instance.
virtual UpdatableResourceProvider* GetUpdatableResourceProvider(); virtual UpdatableResourceProvider* GetUpdatableResourceProvider();
// Returns a ChromeBrowserStateManager instance. // Creates a new ChromeBrowserStateManager instance.
virtual ChromeBrowserStateManager* GetChromeBrowserStateManager(); virtual scoped_ptr<ChromeBrowserStateManager>
CreateChromeBrowserStateManager();
// Returns an infobar view conforming to the InfoBarViewProtocol. The returned // Returns an infobar view conforming to the InfoBarViewProtocol. The returned
// object is retained. // object is retained.
virtual InfoBarViewPlaceholder CreateInfoBarView( virtual InfoBarViewPlaceholder CreateInfoBarView(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment