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 @@
#include "net/url_request/url_request_context_getter.h"
namespace {
// Dummy flag because iOS does not support disabling background networking.
extern const char kDummyDisableBackgroundNetworking[] =
"dummy-disable-background-networking";
}
ApplicationContextImpl::ApplicationContextImpl(
......@@ -135,9 +133,12 @@ void ApplicationContextImpl::StartTearDown() {
metrics_services_manager_.reset();
// Need to clear browser states before the IO thread.
// TODO(crbug.com/560854): the ShutDown() method can be folded into the
// destructor once ApplicationContextImpl owns ChromeBrowserStateManager.
GetChromeBrowserStateManager()->ShutDown();
if (chrome_browser_state_manager_) {
// TODO(crbug.com/560854): the ShutDown() method can be folded into the
// 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
// the IO thread.
......@@ -240,7 +241,12 @@ const std::string& ApplicationContextImpl::GetApplicationLocale() {
ios::ChromeBrowserStateManager*
ApplicationContextImpl::GetChromeBrowserStateManager() {
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*
......
......@@ -89,6 +89,7 @@ class ApplicationContextImpl : public ApplicationContext {
scoped_ptr<component_updater::ComponentUpdateService> component_updater_;
scoped_refptr<CRLSetFetcher> crl_set_fetcher_;
scoped_refptr<safe_browsing::SafeBrowsingService> safe_browsing_service_;
scoped_ptr<ios::ChromeBrowserStateManager> chrome_browser_state_manager_;
std::string application_locale_;
// Sequenced task runner for local state related I/O tasks.
......
......@@ -10,6 +10,7 @@
#include "components/metrics/metrics_provider.h"
#include "components/sync_sessions/local_session_event_router.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 {
......@@ -25,20 +26,16 @@ ChromeBrowserProvider* GetChromeBrowserProvider() {
return g_chrome_browser_provider;
}
ChromeBrowserProvider::~ChromeBrowserProvider() {
}
ChromeBrowserProvider::~ChromeBrowserProvider() {}
// A dummy implementation of ChromeBrowserProvider.
ChromeBrowserProvider::ChromeBrowserProvider() {
}
ChromeBrowserProvider::ChromeBrowserProvider() {}
void ChromeBrowserProvider::AssertBrowserContextKeyedFactoriesBuilt() {
}
void ChromeBrowserProvider::AssertBrowserContextKeyedFactoriesBuilt() {}
void ChromeBrowserProvider::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
}
user_prefs::PrefRegistrySyncable* registry) {}
ProfileOAuth2TokenServiceIOSProvider*
ChromeBrowserProvider::GetProfileOAuth2TokenServiceIOSProvider() {
......@@ -50,9 +47,9 @@ ChromeBrowserProvider::GetUpdatableResourceProvider() {
return nullptr;
}
ChromeBrowserStateManager*
ChromeBrowserProvider::GetChromeBrowserStateManager() {
return nullptr;
scoped_ptr<ChromeBrowserStateManager>
ChromeBrowserProvider::CreateChromeBrowserStateManager() {
return scoped_ptr<ChromeBrowserStateManager>();
}
InfoBarViewPlaceholder ChromeBrowserProvider::CreateInfoBarView(
......@@ -91,8 +88,7 @@ std::string ChromeBrowserProvider::GetDistributionBrandCode() {
}
void ChromeBrowserProvider::SetUIViewAlphaWithAnimation(UIView* view,
float alpha) {
}
float alpha) {}
autofill::CardUnmaskPromptView*
ChromeBrowserProvider::CreateCardUnmaskPromptView(
......
......@@ -79,15 +79,15 @@ class ChromeBrowserProvider {
virtual void AssertBrowserContextKeyedFactoriesBuilt();
// Registers all prefs that will be used via a PrefService attached to a
// Profile.
virtual void RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry);
virtual void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
// Returns an instance of profile OAuth2 token service provider.
virtual ProfileOAuth2TokenServiceIOSProvider*
GetProfileOAuth2TokenServiceIOSProvider();
// Returns an UpdatableResourceProvider instance.
virtual UpdatableResourceProvider* GetUpdatableResourceProvider();
// Returns a ChromeBrowserStateManager instance.
virtual ChromeBrowserStateManager* GetChromeBrowserStateManager();
// Creates a new ChromeBrowserStateManager instance.
virtual scoped_ptr<ChromeBrowserStateManager>
CreateChromeBrowserStateManager();
// Returns an infobar view conforming to the InfoBarViewProtocol. The returned
// object is retained.
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