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

Unified Diff: chrome/browser/sync/test/integration/autofill_helper.cc

Issue 2379433002: [Sync] Refactoring of sync integration test checkers to remove boilerplate await methods. (Closed)
Patch Set: Rebase Created 4 years, 2 months 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/browser/sync/test/integration/autofill_helper.cc
diff --git a/chrome/browser/sync/test/integration/autofill_helper.cc b/chrome/browser/sync/test/integration/autofill_helper.cc
index 7d717c4efc4ac14ce44f89f907523feef17f46a1..9e885e412a41734144c29c4a54add24a16d9b5ac 100644
--- a/chrome/browser/sync/test/integration/autofill_helper.cc
+++ b/chrome/browser/sync/test/integration/autofill_helper.cc
@@ -6,20 +6,21 @@
#include <stddef.h>
+#include <map>
+
#include "base/guid.h"
#include "base/run_loop.h"
#include "chrome/browser/autofill/personal_data_manager_factory.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/profile_sync_test_util.h"
-#include "chrome/browser/sync/test/integration/multi_client_status_change_checker.h"
+#include "chrome/browser/sync/test/integration/sync_datatype_helper.h"
#include "chrome/browser/sync/test/integration/sync_test.h"
#include "chrome/browser/web_data_service_factory.h"
#include "components/autofill/core/browser/autofill_profile.h"
#include "components/autofill/core/browser/autofill_test_utils.h"
#include "components/autofill/core/browser/autofill_type.h"
#include "components/autofill/core/browser/personal_data_manager.h"
-#include "components/autofill/core/browser/personal_data_manager_observer.h"
#include "components/autofill/core/browser/webdata/autofill_entry.h"
#include "components/autofill/core/browser/webdata/autofill_table.h"
#include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
@@ -254,47 +255,6 @@ bool KeysMatch(int profile_a, int profile_b) {
return GetAllKeys(profile_a) == GetAllKeys(profile_b);
}
-namespace {
-
-class KeysMatchStatusChecker : public MultiClientStatusChangeChecker {
- public:
- KeysMatchStatusChecker(int profile_a, int profile_b);
- ~KeysMatchStatusChecker() override;
-
- bool IsExitConditionSatisfied() override;
- std::string GetDebugMessage() const override;
-
- private:
- const int profile_a_;
- const int profile_b_;
-};
-
-KeysMatchStatusChecker::KeysMatchStatusChecker(int profile_a, int profile_b)
- : MultiClientStatusChangeChecker(
- sync_datatype_helper::test()->GetSyncServices()),
- profile_a_(profile_a),
- profile_b_(profile_b) {
-}
-
-KeysMatchStatusChecker::~KeysMatchStatusChecker() {
-}
-
-bool KeysMatchStatusChecker::IsExitConditionSatisfied() {
- return KeysMatch(profile_a_, profile_b_);
-}
-
-std::string KeysMatchStatusChecker::GetDebugMessage() const {
- return "Waiting for matching autofill keys";
-}
-
-} // namespace
-
-bool AwaitKeysMatch(int a, int b) {
- KeysMatchStatusChecker checker(a, b);
- checker.Wait();
- return !checker.TimedOut();
-}
-
void SetProfiles(int profile, std::vector<AutofillProfile>* autofill_profiles) {
MockPersonalDataManagerObserver observer;
EXPECT_CALL(observer, OnPersonalDataChanged()).
@@ -433,86 +393,52 @@ bool AllProfilesMatch() {
return true;
}
-namespace {
-
-class ProfilesMatchStatusChecker : public StatusChangeChecker,
- public PersonalDataManagerObserver {
- public:
- ProfilesMatchStatusChecker(int profile_a, int profile_b);
- ~ProfilesMatchStatusChecker() override;
-
- // StatusChangeChecker implementation.
- bool IsExitConditionSatisfied() override;
- std::string GetDebugMessage() const override;
+} // namespace autofill_helper
- // PersonalDataManager implementation.
- void OnPersonalDataChanged() override;
+AutofillKeysChecker::AutofillKeysChecker(int profile_a, int profile_b)
+ : MultiClientStatusChangeChecker(
+ sync_datatype_helper::test()->GetSyncServices()),
+ profile_a_(profile_a),
+ profile_b_(profile_b) {}
- // Wait for conidtion to beome true.
- void Wait();
+bool AutofillKeysChecker::IsExitConditionSatisfied() {
+ return autofill_helper::KeysMatch(profile_a_, profile_b_);
+}
- private:
- const int profile_a_;
- const int profile_b_;
- bool registered_;
-};
+std::string AutofillKeysChecker::GetDebugMessage() const {
+ return "Waiting for matching autofill keys";
+}
-ProfilesMatchStatusChecker::ProfilesMatchStatusChecker(int profile_a,
- int profile_b)
- : profile_a_(profile_a), profile_b_(profile_b), registered_(false) {
+AutofillProfileChecker::AutofillProfileChecker(int profile_a, int profile_b)
+ : profile_a_(profile_a), profile_b_(profile_b) {
+ autofill_helper::GetPersonalDataManager(profile_a_)->AddObserver(this);
+ autofill_helper::GetPersonalDataManager(profile_b_)->AddObserver(this);
}
-ProfilesMatchStatusChecker::~ProfilesMatchStatusChecker() {
- PersonalDataManager* pdm_a = GetPersonalDataManager(profile_a_);
- PersonalDataManager* pdm_b = GetPersonalDataManager(profile_b_);
- if (registered_) {
- pdm_a->RemoveObserver(this);
- pdm_b->RemoveObserver(this);
- }
+AutofillProfileChecker::~AutofillProfileChecker() {
+ autofill_helper::GetPersonalDataManager(profile_a_)->RemoveObserver(this);
+ autofill_helper::GetPersonalDataManager(profile_b_)->RemoveObserver(this);
}
-bool ProfilesMatchStatusChecker::IsExitConditionSatisfied() {
- PersonalDataManager* pdm_a = GetPersonalDataManager(profile_a_);
- PersonalDataManager* pdm_b = GetPersonalDataManager(profile_b_);
+bool AutofillProfileChecker::Wait() {
+ autofill_helper::GetPersonalDataManager(profile_a_)->Refresh();
+ autofill_helper::GetPersonalDataManager(profile_b_)->Refresh();
+ return StatusChangeChecker::Wait();
+}
+bool AutofillProfileChecker::IsExitConditionSatisfied() {
const std::vector<AutofillProfile*>& autofill_profiles_a =
- pdm_a->web_profiles();
+ autofill_helper::GetPersonalDataManager(profile_a_)->web_profiles();
const std::vector<AutofillProfile*>& autofill_profiles_b =
- pdm_b->web_profiles();
-
- return ProfilesMatchImpl(
- profile_a_, autofill_profiles_a, profile_b_, autofill_profiles_b);
-}
-
-void ProfilesMatchStatusChecker::Wait() {
- PersonalDataManager* pdm_a = GetPersonalDataManager(profile_a_);
- PersonalDataManager* pdm_b = GetPersonalDataManager(profile_b_);
-
- pdm_a->AddObserver(this);
- pdm_b->AddObserver(this);
-
- pdm_a->Refresh();
- pdm_b->Refresh();
-
- registered_ = true;
-
- StartBlockingWait();
+ autofill_helper::GetPersonalDataManager(profile_b_)->web_profiles();
+ return autofill_helper::ProfilesMatchImpl(profile_a_, autofill_profiles_a,
+ profile_b_, autofill_profiles_b);
}
-std::string ProfilesMatchStatusChecker::GetDebugMessage() const {
+std::string AutofillProfileChecker::GetDebugMessage() const {
return "Waiting for matching autofill profiles";
}
-void ProfilesMatchStatusChecker::OnPersonalDataChanged() {
+void AutofillProfileChecker::OnPersonalDataChanged() {
CheckExitCondition();
}
-
-} // namespace
-
-bool AwaitProfilesMatch(int a, int b) {
- ProfilesMatchStatusChecker checker(a, b);
- checker.Wait();
- return !checker.TimedOut();
-}
-
-} // namespace autofill_helper
« no previous file with comments | « chrome/browser/sync/test/integration/autofill_helper.h ('k') | chrome/browser/sync/test/integration/bookmarks_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698