Index: chrome/browser/browsing_data/history_counter_browsertest.cc |
diff --git a/chrome/browser/browsing_data/history_counter_browsertest.cc b/chrome/browser/browsing_data/history_counter_browsertest.cc |
index 1366efa53c8c271f3a1a7c5ae0b66273d79cd372..93f1d7d1b4aadcd59cff872e4787fe0ae27e9f76 100644 |
--- a/chrome/browser/browsing_data/history_counter_browsertest.cc |
+++ b/chrome/browser/browsing_data/history_counter_browsertest.cc |
@@ -2,13 +2,16 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/browsing_data/history_counter.h" |
+#include "components/browsing_data/core/counters/history_counter.h" |
+#include "base/bind.h" |
+#include "base/bind_helpers.h" |
#include "base/run_loop.h" |
#include "chrome/browser/history/history_service_factory.h" |
#include "chrome/browser/history/web_history_service_factory.h" |
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h" |
#include "chrome/browser/signin/signin_manager_factory.h" |
+#include "chrome/browser/sync/profile_sync_service_factory.h" |
#include "chrome/browser/sync/test/integration/sync_test.h" |
#include "chrome/browser/ui/browser.h" |
#include "components/browser_sync/browser/profile_sync_service.h" |
@@ -38,14 +41,19 @@ class HistoryCounterTest : public SyncTest { |
void SetUpOnMainThread() override { |
time_ = base::Time::Now(); |
- service_ = HistoryServiceFactory::GetForProfileWithoutCreating( |
+ history_service_ = HistoryServiceFactory::GetForProfileWithoutCreating( |
browser()->profile()); |
+ fake_web_history_service_.reset(new history::FakeWebHistoryService( |
+ ProfileOAuth2TokenServiceFactory::GetForProfile(browser()->profile()), |
+ SigninManagerFactory::GetForProfile(browser()->profile()), |
+ browser()->profile()->GetRequestContext())); |
+ |
SetHistoryDeletionPref(true); |
SetDeletionPeriodPref(browsing_data::EVERYTHING); |
} |
void AddVisit(const std::string url) { |
- service_->AddPage(GURL(url), time_, history::SOURCE_BROWSED); |
+ history_service_->AddPage(GURL(url), time_, history::SOURCE_BROWSED); |
} |
const base::Time& GetCurrentTime() { |
@@ -86,8 +94,9 @@ class HistoryCounterTest : public SyncTest { |
finished_ = result->Finished(); |
if (finished_) { |
- HistoryCounter::HistoryResult* history_result = |
- static_cast<HistoryCounter::HistoryResult*>(result.get()); |
+ browsing_data::HistoryCounter::HistoryResult* history_result = |
+ static_cast<browsing_data::HistoryCounter::HistoryResult*>( |
+ result.get()); |
local_result_ = history_result->Value(); |
has_synced_visits_ = history_result->has_synced_visits(); |
@@ -111,9 +120,27 @@ class HistoryCounterTest : public SyncTest { |
CountingFinishedSinceLastAsked(); |
} |
+ history::WebHistoryService* GetFakeWebHistoryService(Profile* profile, |
+ bool check_sync_status) { |
+ // |check_sync_status| is true when the factory should check if |
+ // history sync is enabled. |
+ if (!check_sync_status || |
+ WebHistoryServiceFactory::GetForProfile(profile)) { |
+ return fake_web_history_service_.get(); |
+ } |
+ return nullptr; |
+ } |
+ |
+ history::WebHistoryService* GetRealWebHistoryService(Profile* profile) { |
+ return WebHistoryServiceFactory::GetForProfile(profile); |
+ } |
+ |
+ history::HistoryService* GetHistoryService() { return history_service_; } |
+ |
private: |
std::unique_ptr<base::RunLoop> run_loop_; |
- history::HistoryService* service_; |
+ history::HistoryService* history_service_; |
+ std::unique_ptr<history::FakeWebHistoryService> fake_web_history_service_; |
base::Time time_; |
bool finished_; |
@@ -147,7 +174,13 @@ IN_PROC_BROWSER_TEST_F(HistoryCounterTest, DuplicateVisits) { |
Profile* profile = browser()->profile(); |
- HistoryCounter counter(profile); |
+ browsing_data::HistoryCounter counter( |
+ GetHistoryService(), |
+ base::Bind(&HistoryCounterTest::GetRealWebHistoryService, |
+ base::Unretained(this), |
+ base::Unretained(profile)), |
+ ProfileSyncServiceFactory::GetForProfile(profile)); |
+ |
counter.Init(profile->GetPrefs(), base::Bind(&HistoryCounterTest::Callback, |
base::Unretained(this))); |
counter.Restart(); |
@@ -165,7 +198,13 @@ IN_PROC_BROWSER_TEST_F(HistoryCounterTest, PrefChanged) { |
Profile* profile = browser()->profile(); |
- HistoryCounter counter(profile); |
+ browsing_data::HistoryCounter counter( |
+ GetHistoryService(), |
+ base::Bind(&HistoryCounterTest::GetRealWebHistoryService, |
+ base::Unretained(this), |
+ base::Unretained(profile)), |
+ ProfileSyncServiceFactory::GetForProfile(profile)); |
+ |
counter.Init(profile->GetPrefs(), base::Bind(&HistoryCounterTest::Callback, |
base::Unretained(this))); |
SetHistoryDeletionPref(true); |
@@ -182,7 +221,13 @@ IN_PROC_BROWSER_TEST_F(HistoryCounterTest, PrefIsFalse) { |
Profile* profile = browser()->profile(); |
- HistoryCounter counter(profile); |
+ browsing_data::HistoryCounter counter( |
+ GetHistoryService(), |
+ base::Bind(&HistoryCounterTest::GetRealWebHistoryService, |
+ base::Unretained(this), |
+ base::Unretained(profile)), |
+ ProfileSyncServiceFactory::GetForProfile(profile)); |
+ |
counter.Init(profile->GetPrefs(), base::Bind(&HistoryCounterTest::Callback, |
base::Unretained(this))); |
counter.Restart(); |
@@ -216,7 +261,13 @@ IN_PROC_BROWSER_TEST_F(HistoryCounterTest, PeriodChanged) { |
Profile* profile = browser()->profile(); |
- HistoryCounter counter(profile); |
+ browsing_data::HistoryCounter counter( |
+ GetHistoryService(), |
+ base::Bind(&HistoryCounterTest::GetRealWebHistoryService, |
+ base::Unretained(this), |
+ base::Unretained(profile)), |
+ ProfileSyncServiceFactory::GetForProfile(profile)); |
+ |
counter.Init(profile->GetPrefs(), base::Bind(&HistoryCounterTest::Callback, |
base::Unretained(this))); |
@@ -247,17 +298,21 @@ IN_PROC_BROWSER_TEST_F(HistoryCounterTest, Synced) { |
// for testing. |
Profile* profile = browser()->profile(); |
- std::unique_ptr<history::FakeWebHistoryService> service( |
- new history::FakeWebHistoryService( |
- ProfileOAuth2TokenServiceFactory::GetForProfile(profile), |
- SigninManagerFactory::GetForProfile(profile), |
- profile->GetRequestContext())); |
+ browsing_data::HistoryCounter counter( |
+ GetHistoryService(), |
+ base::Bind(&HistoryCounterTest::GetFakeWebHistoryService, |
+ base::Unretained(this), |
+ base::Unretained(profile), |
+ false), |
+ ProfileSyncServiceFactory::GetForProfile(profile)); |
- HistoryCounter counter(profile); |
- counter.SetWebHistoryServiceForTesting(service.get()); |
counter.Init(profile->GetPrefs(), base::Bind(&HistoryCounterTest::Callback, |
base::Unretained(this))); |
+ history::FakeWebHistoryService* service = |
+ static_cast<history::FakeWebHistoryService*>(GetFakeWebHistoryService( |
+ profile, false)); |
+ |
// No entries locally and no entries in Sync. |
service->SetupFakeResponse(true /* success */, net::HTTP_OK); |
counter.Restart(); |
@@ -289,7 +344,7 @@ IN_PROC_BROWSER_TEST_F(HistoryCounterTest, Synced) { |
// To err on the safe side, if the server request fails, we assume that there |
// might be some items on the server. |
service->SetupFakeResponse(true /* success */, |
- net::HTTP_INTERNAL_SERVER_ERROR); |
+ net::HTTP_INTERNAL_SERVER_ERROR); |
counter.Restart(); |
WaitForCounting(); |
EXPECT_EQ(0u, GetLocalResult()); |
@@ -297,7 +352,7 @@ IN_PROC_BROWSER_TEST_F(HistoryCounterTest, Synced) { |
// Same when the entire query fails. |
service->SetupFakeResponse(false /* success */, |
- net::HTTP_INTERNAL_SERVER_ERROR); |
+ net::HTTP_INTERNAL_SERVER_ERROR); |
counter.Restart(); |
WaitForCounting(); |
EXPECT_EQ(0u, GetLocalResult()); |
@@ -332,13 +387,15 @@ IN_PROC_BROWSER_TEST_F(HistoryCounterTest, DISABLED_RestartOnSyncChange) { |
Profile* profile = GetProfile(kFirstProfileIndex); |
// Set up the fake web history service and the counter. |
- std::unique_ptr<history::FakeWebHistoryService> web_history_service( |
- new history::FakeWebHistoryService( |
- ProfileOAuth2TokenServiceFactory::GetForProfile(browser()->profile()), |
- SigninManagerFactory::GetForProfile(browser()->profile()), |
- browser()->profile()->GetRequestContext())); |
- HistoryCounter counter(profile); |
- counter.SetWebHistoryServiceForTesting(web_history_service.get()); |
+ |
+ browsing_data::HistoryCounter counter( |
+ GetHistoryService(), |
+ base::Bind(&HistoryCounterTest::GetFakeWebHistoryService, |
+ base::Unretained(this), |
+ base::Unretained(profile), |
+ true), |
+ sync_service); |
+ |
counter.Init(profile->GetPrefs(), base::Bind(&HistoryCounterTest::Callback, |
base::Unretained(this))); |