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; |
} |