| Index: chrome/browser/sync/test/integration/preferences_helper.h
|
| diff --git a/chrome/browser/sync/test/integration/preferences_helper.h b/chrome/browser/sync/test/integration/preferences_helper.h
|
| index aaa5ad882018a5188a6d25299de7c9be3f50f6f6..2a98b9122627ea99eaa8d11cd3a6d15bb495a9e4 100644
|
| --- a/chrome/browser/sync/test/integration/preferences_helper.h
|
| +++ b/chrome/browser/sync/test/integration/preferences_helper.h
|
| @@ -5,13 +5,17 @@
|
| #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_PREFERENCES_HELPER_H_
|
| #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_PREFERENCES_HELPER_H_
|
|
|
| -#include "base/files/file_path.h"
|
| -#include "base/values.h"
|
| -
|
| #include <stdint.h>
|
|
|
| +#include <memory>
|
| #include <string>
|
| +#include <vector>
|
| +
|
| +#include "base/files/file_path.h"
|
| +#include "base/values.h"
|
| +#include "chrome/browser/sync/test/integration/multi_client_status_change_checker.h"
|
|
|
| +class PrefChangeRegistrar;
|
| class PrefService;
|
|
|
| namespace preferences_helper {
|
| @@ -98,22 +102,62 @@ bool FilePathPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
|
| // hasn't been called.
|
| bool ListPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
|
|
|
| -// This is the version of ListPrefMatches that waits for the preference list
|
| -// to match in all profiles. Returns false if this operation times out.
|
| -bool AwaitListPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
|
| -
|
| -// Blocks the test until the specified pref matches on all relevant clients or
|
| -// a timeout occurs. Returns false if it returns because of a timeout.
|
| -bool AwaitBooleanPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
|
| -
|
| -// Blocks the test until the specified pref matches on all relevant clients or
|
| -// a timeout occurs. Returns false if it returns because of a timeout.
|
| -bool AwaitIntegerPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
|
| -
|
| -// Blocks the test until the specified pref matches on all relevant clients or
|
| -// a timeout occurs. Returns false if it returns because of a timeout.
|
| -bool AwaitStringPrefMatches(const char* pref_name) WARN_UNUSED_RESULT;
|
| -
|
| } // namespace preferences_helper
|
|
|
| +// Abstract checker that takes care of registering for preference changes.
|
| +class PrefMatchChecker : public StatusChangeChecker {
|
| + public:
|
| + explicit PrefMatchChecker(const char* path);
|
| + ~PrefMatchChecker() override;
|
| +
|
| + // StatusChangeChecker implementation.
|
| + bool IsExitConditionSatisfied() override = 0;
|
| + std::string GetDebugMessage() const override;
|
| +
|
| + protected:
|
| + const char* GetPath() const;
|
| +
|
| + private:
|
| + void RegisterPrefListener(PrefService* pref_service);
|
| +
|
| + std::vector<std::unique_ptr<PrefChangeRegistrar>> pref_change_registrars_;
|
| + const char* path_;
|
| +};
|
| +
|
| +// Matcher that blocks until the specified list pref matches on all clients.
|
| +class ListPrefMatchChecker : public PrefMatchChecker {
|
| + public:
|
| + explicit ListPrefMatchChecker(const char* path);
|
| +
|
| + // PrefMatchChecker implementation.
|
| + bool IsExitConditionSatisfied() override;
|
| +};
|
| +
|
| +// Matcher that blocks until the specified boolean pref matches on all clients.
|
| +class BooleanPrefMatchChecker : public PrefMatchChecker {
|
| + public:
|
| + explicit BooleanPrefMatchChecker(const char* path);
|
| +
|
| + // PrefMatchChecker implementation.
|
| + bool IsExitConditionSatisfied() override;
|
| +};
|
| +
|
| +// Matcher that blocks until the specified integer pref matches on all clients.
|
| +class IntegerPrefMatchChecker : public PrefMatchChecker {
|
| + public:
|
| + explicit IntegerPrefMatchChecker(const char* path);
|
| +
|
| + // PrefMatchChecker implementation.
|
| + bool IsExitConditionSatisfied() override;
|
| +};
|
| +
|
| +// Matcher that blocks until the specified string pref matches on all clients.
|
| +class StringPrefMatchChecker : public PrefMatchChecker {
|
| + public:
|
| + explicit StringPrefMatchChecker(const char* path);
|
| +
|
| + // PrefMatchChecker implementation.
|
| + bool IsExitConditionSatisfied() override;
|
| +};
|
| +
|
| #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_PREFERENCES_HELPER_H_
|
|
|