Chromium Code Reviews| Index: chrome/browser/sync/test/integration/preferences_helper.cc |
| diff --git a/chrome/browser/sync/test/integration/preferences_helper.cc b/chrome/browser/sync/test/integration/preferences_helper.cc |
| index a1f362d07ddd34549d8dafda68801833576aae83..3989df9e7fb1dafd26c730c3a4ecae6f31b4df7c 100644 |
| --- a/chrome/browser/sync/test/integration/preferences_helper.cc |
| +++ b/chrome/browser/sync/test/integration/preferences_helper.cc |
| @@ -4,9 +4,10 @@ |
| #include "chrome/browser/sync/test/integration/preferences_helper.h" |
| +#include <utility> |
| + |
| #include "base/strings/stringprintf.h" |
| #include "chrome/browser/profiles/profile.h" |
| -#include "chrome/browser/sync/test/integration/multi_client_status_change_checker.h" |
| #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h" |
| #include "chrome/browser/sync/test/integration/sync_datatype_helper.h" |
| #include "chrome/browser/sync/test/integration/sync_test.h" |
| @@ -210,55 +211,21 @@ bool ListPrefMatches(const char* pref_name) { |
| return true; |
| } |
| - |
| -namespace { |
| - |
| -class PrefMatchChecker : public StatusChangeChecker { |
| - public: |
| - explicit PrefMatchChecker(const char* path); |
| - ~PrefMatchChecker() override; |
| - |
| - // StatusChangeChecker implementation. |
| - bool IsExitConditionSatisfied() override = 0; |
| - std::string GetDebugMessage() const override; |
| - |
| - // Wait for condition to become true. |
| - void Wait(); |
| - |
| - protected: |
| - const char* GetPath() const; |
| - |
| - private: |
| - void RegisterPrefListener(PrefService* pref_service); |
| - |
| - ScopedVector<PrefChangeRegistrar> pref_change_registrars_; |
| - const char* path_; |
| -}; |
| +} // namespace preferences_helper |
| PrefMatchChecker::PrefMatchChecker(const char* path) : path_(path) { |
| -} |
| - |
| -PrefMatchChecker::~PrefMatchChecker() { |
| -} |
| - |
| -std::string PrefMatchChecker::GetDebugMessage() const { |
| - return base::StringPrintf("Waiting for pref '%s' to match", GetPath()); |
| -} |
| - |
| -void PrefMatchChecker::Wait() { |
| if (test()->use_verifier()) { |
| - RegisterPrefListener(GetVerifierPrefs()); |
| + RegisterPrefListener(preferences_helper::GetVerifierPrefs()); |
| } |
| - |
| for (int i = 0; i < test()->num_clients(); ++i) { |
| - RegisterPrefListener(GetPrefs(i)); |
| + RegisterPrefListener(preferences_helper::GetPrefs(i)); |
| } |
| +} |
| - if (IsExitConditionSatisfied()) { |
| - return; |
| - } |
| +PrefMatchChecker::~PrefMatchChecker() {} |
| - StartBlockingWait(); |
| +std::string PrefMatchChecker::GetDebugMessage() const { |
| + return base::StringPrintf("Waiting for pref '%s' to match", GetPath()); |
| } |
| const char* PrefMatchChecker::GetPath() const { |
| @@ -271,117 +238,33 @@ void PrefMatchChecker::RegisterPrefListener(PrefService* pref_service) { |
| registrar->Add(path_, |
| base::Bind(&PrefMatchChecker::CheckExitCondition, |
| base::Unretained(this))); |
| - pref_change_registrars_.push_back(registrar.release()); |
| + pref_change_registrars_.push_back(std::move(registrar)); |
| } |
| -// Helper class used in the implementation of AwaitListPrefMatches. |
| -class ListPrefMatchChecker : public PrefMatchChecker { |
| - public: |
| - explicit ListPrefMatchChecker(const char* path); |
| - ~ListPrefMatchChecker() override; |
| - |
| - // Implementation of PrefMatchChecker. |
| - bool IsExitConditionSatisfied() override; |
| -}; |
| - |
| ListPrefMatchChecker::ListPrefMatchChecker(const char* path) |
| - : PrefMatchChecker(path) { |
| -} |
| - |
| -ListPrefMatchChecker::~ListPrefMatchChecker() { |
| -} |
| + : PrefMatchChecker(path) {} |
| bool ListPrefMatchChecker::IsExitConditionSatisfied() { |
| - return ListPrefMatches(GetPath()); |
| + return preferences_helper::ListPrefMatches(GetPath()); |
| } |
| -// Helper class used in the implementation of AwaitBooleanPrefMatches. |
| -class BooleanPrefMatchChecker : public PrefMatchChecker { |
| - public: |
| - explicit BooleanPrefMatchChecker(const char* path); |
| - ~BooleanPrefMatchChecker() override; |
| - |
| - // Implementation of PrefMatchChecker. |
| - bool IsExitConditionSatisfied() override; |
| -}; |
| - |
| BooleanPrefMatchChecker::BooleanPrefMatchChecker(const char* path) |
| - : PrefMatchChecker(path) { |
| -} |
| - |
| -BooleanPrefMatchChecker::~BooleanPrefMatchChecker() { |
| -} |
| + : PrefMatchChecker(path) {} |
| bool BooleanPrefMatchChecker::IsExitConditionSatisfied() { |
| - return BooleanPrefMatches(GetPath()); |
| + return preferences_helper::BooleanPrefMatches(GetPath()); |
| } |
| -// Helper class used in the implementation of AwaitIntegerPrefMatches. |
| -class IntegerPrefMatchChecker : public PrefMatchChecker { |
| - public: |
| - explicit IntegerPrefMatchChecker(const char* path); |
| - ~IntegerPrefMatchChecker() override; |
| - |
| - // Implementation of PrefMatchChecker. |
| - bool IsExitConditionSatisfied() override; |
| -}; |
| - |
| IntegerPrefMatchChecker::IntegerPrefMatchChecker(const char* path) |
| - : PrefMatchChecker(path) { |
| -} |
| - |
| -IntegerPrefMatchChecker::~IntegerPrefMatchChecker() { |
| -} |
| + : PrefMatchChecker(path) {} |
| bool IntegerPrefMatchChecker::IsExitConditionSatisfied() { |
| - return IntegerPrefMatches(GetPath()); |
| + return preferences_helper::IntegerPrefMatches(GetPath()); |
| } |
| -// Helper class used in the implementation of AwaitStringPrefMatches. |
| -class StringPrefMatchChecker : public PrefMatchChecker { |
| - public: |
| - explicit StringPrefMatchChecker(const char* path); |
| - ~StringPrefMatchChecker() override; |
| - |
| - // Implementation of PrefMatchChecker. |
| - bool IsExitConditionSatisfied() override; |
| -}; |
| - |
| StringPrefMatchChecker::StringPrefMatchChecker(const char* path) |
| - : PrefMatchChecker(path) { |
| -} |
| - |
| -StringPrefMatchChecker::~StringPrefMatchChecker() { |
| -} |
| + : PrefMatchChecker(path) {} |
| bool StringPrefMatchChecker::IsExitConditionSatisfied() { |
| - return StringPrefMatches(GetPath()); |
| -} |
| - |
| -} // namespace |
| - |
| -bool AwaitListPrefMatches(const char* pref_name) { |
|
maxbogue
2016/09/30 16:27:55
I'm not even halfway through this CL and I can't b
skym
2016/09/30 17:43:21
Right!?
|
| - ListPrefMatchChecker checker(pref_name); |
| - checker.Wait(); |
| - return !checker.TimedOut(); |
| -} |
| - |
| -bool AwaitBooleanPrefMatches(const char* pref_name) { |
| - BooleanPrefMatchChecker checker(pref_name); |
| - checker.Wait(); |
| - return !checker.TimedOut(); |
| + return preferences_helper::StringPrefMatches(GetPath()); |
| } |
| - |
| -bool AwaitIntegerPrefMatches(const char* pref_name) { |
| - IntegerPrefMatchChecker checker(pref_name); |
| - checker.Wait(); |
| - return !checker.TimedOut(); |
| -} |
| - |
| -bool AwaitStringPrefMatches(const char* pref_name) { |
| - StringPrefMatchChecker checker(pref_name); |
| - checker.Wait(); |
| - return !checker.TimedOut(); |
| -} |
| - |
| -} // namespace preferences_helper |