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

Unified Diff: chrome/test/base/testing_profile.cc

Issue 815983002: Topsites become keyedService based. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 6 years 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 side-by-side diff with in-line comments
Download patch
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..ed4c556130c3fbd37f02d877a633aaf4a2fc55dc 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_service_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 =
+ TopSitesServiceFactory::GetForProfile(profile);
return new ChromeHistoryClient(BookmarkModelFactory::GetForProfile(profile),
- profile,
- profile->GetTopSites());
+ profile, top_sites.get());
}
void TestProfileErrorCallback(WebDataServiceWrapper::ErrorType error_type,
@@ -453,6 +456,8 @@ void TestingProfile::Init() {
this, CreateTestDesktopNotificationService);
#endif
+ CreateTopSitesService();
+
#if defined(ENABLE_SUPERVISED_USERS)
if (!IsOffTheRecord()) {
SupervisedUserSettingsService* settings_service =
@@ -498,8 +503,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 +572,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);
@@ -606,6 +586,17 @@ void TestingProfile::CreateBookmarkModel(bool delete_file) {
this, BuildBookmarkModel));
}
+void TestingProfile::CreateTopSitesService(history::TopSites* top_sites) {
+ TopSitesServiceFactory::GetInstance()->SetTestingFactory(
+ this,
+ &TopSitesServiceFactory::CreateCustomTopSitesServiceFactory(&top_sites));
sdefresne 2014/12/29 09:48:14 Please move this testing factory function (TopSite
Jitu( very slow this week) 2014/12/30 10:09:03 Done.
+}
+
+void TestingProfile::CreateTopSitesService() {
+ TopSitesServiceFactory::GetInstance()->SetTestingFactory(
+ this, &TopSitesServiceFactory::BuildProfileForTesting(this));
sdefresne 2014/12/29 09:48:14 Please move this testing factory function (TopSite
Jitu( very slow this week) 2014/12/30 10:09:03 Done.
+}
+
void TestingProfile::CreateWebDataService() {
WebDataServiceFactory::GetInstance()->SetTestingFactory(
this, BuildWebDataService);
@@ -634,9 +625,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_site =
+ TopSitesServiceFactory::GetForProfile(this);
+ top_site->AddObserver(&observer);
runner->Run();
- top_sites_->RemoveObserver(&observer);
+ top_site->RemoveObserver(&observer);
}
void TestingProfile::SetGuestSession(bool guest) {
@@ -794,14 +787,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;
}
« chrome/browser/thumbnails/thumbnail_service_unittest.cc ('K') | « chrome/test/base/testing_profile.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698