Chromium Code Reviews| Index: chrome/test/base/testing_profile.cc |
| diff --git a/chrome/test/base/testing_profile.cc b/chrome/test/base/testing_profile.cc |
| index e3de282a58aaacee7e01e4e97bd84cf1c71171f3..e0569898acc9e24b912ad7ad06dcbeb0c8563db9 100644 |
| --- a/chrome/test/base/testing_profile.cc |
| +++ b/chrome/test/base/testing_profile.cc |
| @@ -28,6 +28,8 @@ |
| #include "chrome/browser/history/history_service.h" |
| #include "chrome/browser/history/history_service_factory.h" |
| #include "chrome/browser/history/top_sites.h" |
| +#include "chrome/browser/history/top_sites_impl.h" |
| +#include "chrome/browser/history/top_sites_factory.h" |
| #include "chrome/browser/history/web_history_service_factory.h" |
| #include "chrome/browser/net/pref_proxy_config_tracker.h" |
| #include "chrome/browser/net/proxy_service_factory.h" |
| @@ -223,9 +225,10 @@ KeyedService* BuildChromeBookmarkClient( |
| KeyedService* BuildChromeHistoryClient( |
| content::BrowserContext* context) { |
| Profile* profile = static_cast<Profile*>(context); |
| + scoped_refptr<history::TopSites> top_sites = |
| + TopSitesFactory::GetForProfile(profile); |
| return new ChromeHistoryClient(BookmarkModelFactory::GetForProfile(profile), |
| - profile, |
| - profile->GetTopSites()); |
| + profile, top_sites.get()); |
|
Bernhard Bauer
2015/01/08 10:22:05
Remove the .get() when ChromeHistoryClient takes a
Jitu( very slow this week)
2015/01/12 11:30:08
Done.
|
| } |
| void TestProfileErrorCallback(WebDataServiceWrapper::ErrorType error_type, |
| @@ -243,6 +246,14 @@ KeyedService* BuildWebDataService(content::BrowserContext* context) { |
| &TestProfileErrorCallback); |
| } |
| +scoped_refptr<RefcountedKeyedService> BuildProfileForTesting( |
|
sdefresne
2015/01/08 10:41:02
Rename this method BuildTopSites
Jitu( very slow this week)
2015/01/12 11:30:08
Done.
|
| + content::BrowserContext* profile) { |
| + history::TopSitesImpl* top_sites = |
| + new history::TopSitesImpl(static_cast<Profile*>(profile)); |
| + top_sites->Init(profile->GetPath().Append(chrome::kTopSitesFilename)); |
| + return make_scoped_refptr<history::TopSites>(top_sites); |
|
Bernhard Bauer
2015/01/08 10:22:05
Just make_scoped_refptr.
Jitu( very slow this week)
2015/01/12 11:30:08
Done.
|
| +} |
| + |
| } // namespace |
| // static |
| @@ -453,6 +464,9 @@ void TestingProfile::Init() { |
| this, CreateTestDesktopNotificationService); |
| #endif |
| + TopSitesFactory::GetInstance()->SetTestingFactory(this, |
| + BuildProfileForTesting); |
| + |
| #if defined(ENABLE_SUPERVISED_USERS) |
| if (!IsOffTheRecord()) { |
| SupervisedUserSettingsService* settings_service = |
| @@ -498,8 +512,6 @@ TestingProfile::~TestingProfile() { |
| if (host_content_settings_map_.get()) |
| host_content_settings_map_->ShutdownOnUIThread(); |
| - DestroyTopSites(); |
| - |
| if (pref_proxy_config_tracker_.get()) |
| pref_proxy_config_tracker_->DetachFromPrefService(); |
| // Failing a post == leaks == heapcheck failure. Make that an immediate test |
| @@ -569,29 +581,6 @@ void TestingProfile::DestroyHistoryService() { |
| base::MessageLoop::current()->Run(); |
| } |
| -void TestingProfile::CreateTopSites() { |
| - DestroyTopSites(); |
| - top_sites_ = history::TopSites::Create( |
| - this, GetPath().Append(chrome::kTopSitesFilename)); |
| -} |
| - |
| -void TestingProfile::SetTopSites(history::TopSites* top_sites) { |
| - DestroyTopSites(); |
| - top_sites_ = top_sites; |
| -} |
| - |
| -void TestingProfile::DestroyTopSites() { |
| - if (top_sites_.get()) { |
| - top_sites_->Shutdown(); |
| - top_sites_ = NULL; |
| - // TopSitesImpl::Shutdown schedules some tasks (from TopSitesBackend) that |
| - // need to be run to properly shutdown. Run all pending tasks now. This is |
| - // normally handled by browser_process shutdown. |
| - if (base::MessageLoop::current()) |
| - base::MessageLoop::current()->RunUntilIdle(); |
| - } |
| -} |
| - |
| void TestingProfile::CreateBookmarkModel(bool delete_file) { |
| if (delete_file) { |
| base::FilePath path = GetPath().Append(bookmarks::kBookmarksFileName); |
| @@ -634,9 +623,11 @@ void TestingProfile::BlockUntilTopSitesLoaded() { |
| scoped_refptr<content::MessageLoopRunner> runner = |
| new content::MessageLoopRunner; |
| WaitTopSitesLoadedObserver observer(runner.get()); |
| - top_sites_->AddObserver(&observer); |
| + scoped_refptr<history::TopSites> top_sites = |
| + TopSitesFactory::GetForProfile(this); |
| + top_sites->AddObserver(&observer); |
| runner->Run(); |
| - top_sites_->RemoveObserver(&observer); |
| + top_sites->RemoveObserver(&observer); |
| } |
| void TestingProfile::SetGuestSession(bool guest) { |
| @@ -794,14 +785,6 @@ PrefService* TestingProfile::GetPrefs() { |
| return prefs_.get(); |
| } |
| -history::TopSites* TestingProfile::GetTopSites() { |
| - return top_sites_.get(); |
| -} |
| - |
| -history::TopSites* TestingProfile::GetTopSitesWithoutCreating() { |
| - return top_sites_.get(); |
| -} |
| - |
| DownloadManagerDelegate* TestingProfile::GetDownloadManagerDelegate() { |
| return NULL; |
| } |