Index: chrome/browser/sync/test/integration/autofill_helper.h |
diff --git a/chrome/browser/sync/test/integration/autofill_helper.h b/chrome/browser/sync/test/integration/autofill_helper.h |
index 14dca507948aa2c855bf7016226fad9c883367dc..788e5ee65711403e92e484d807ff5bdf97571061 100644 |
--- a/chrome/browser/sync/test/integration/autofill_helper.h |
+++ b/chrome/browser/sync/test/integration/autofill_helper.h |
@@ -12,7 +12,8 @@ |
#include "base/compiler_specific.h" |
#include "base/memory/ref_counted.h" |
#include "base/strings/string16.h" |
-#include "chrome/browser/sync/test/integration/sync_datatype_helper.h" |
+#include "chrome/browser/sync/test/integration/multi_client_status_change_checker.h" |
+#include "components/autofill/core/browser/personal_data_manager_observer.h" |
namespace autofill { |
class AutofillEntry; |
@@ -59,9 +60,6 @@ std::set<autofill::AutofillEntry> GetAllKeys(int profile) WARN_UNUSED_RESULT; |
// |profile_a| and |profile_b|. Returns true if they match. |
bool KeysMatch(int profile_a, int profile_b) WARN_UNUSED_RESULT; |
-// Allows syncers to run until KeysMatch() returns true. |
-bool AwaitKeysMatch(int profile_a, int profile_b); |
- |
// Replaces the Autofill profiles in sync profile |profile| with |
// |autofill_profiles|. |
void SetProfiles(int profile, |
@@ -106,9 +104,6 @@ bool ProfilesMatch(int profile_a, int profile_b) WARN_UNUSED_RESULT; |
// they all match. |
bool AllProfilesMatch() WARN_UNUSED_RESULT; |
-// Allows the syncers to run until ProfilesMatch() returns true. |
-bool AwaitProfilesMatch(int profile_a, int profile_b); |
- |
// Creates a test autofill profile based on the persona specified in |type|. |
autofill::AutofillProfile CreateAutofillProfile(ProfileType type); |
@@ -117,4 +112,38 @@ autofill::AutofillProfile CreateUniqueAutofillProfile(); |
} // namespace autofill_helper |
+// Checker to block until autofill keys match on both profiles. |
+class AutofillKeysChecker : public MultiClientStatusChangeChecker { |
+ public: |
+ AutofillKeysChecker(int profile_a, int profile_b); |
+ |
+ // StatusChangeChecker implementation. |
+ bool IsExitConditionSatisfied() override; |
+ std::string GetDebugMessage() const override; |
+ |
+ private: |
+ const int profile_a_; |
+ const int profile_b_; |
+}; |
+ |
+// Checker to block until autofill profiles match on both profiles. |
+class AutofillProfileChecker : public StatusChangeChecker, |
+ public autofill::PersonalDataManagerObserver { |
+ public: |
+ AutofillProfileChecker(int profile_a, int profile_b); |
+ ~AutofillProfileChecker() override; |
+ |
+ // StatusChangeChecker implementation. |
+ bool Wait() override; |
+ bool IsExitConditionSatisfied() override; |
+ std::string GetDebugMessage() const override; |
+ |
+ // autofill::PersonalDataManager implementation. |
+ void OnPersonalDataChanged() override; |
+ |
+ private: |
+ const int profile_a_; |
+ const int profile_b_; |
+}; |
+ |
#endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_AUTOFILL_HELPER_H_ |