| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_UPDATED_PROGRESS_MARKER_CHECKER_H_ |
| #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_UPDATED_PROGRESS_MARKER_CHECKER_H_ |
| |
| #include "chrome/browser/sync/test/integration/single_client_status_change_checker.h" |
| |
| // Waits until the latest progress markers are available. |
| // |
| // There are several limitations to this checker: |
| // - It assumes that this client is the only one committing at this time. |
| // - It relies on the test-only 'self-notify' to trigger an extra GetUpdate |
| // cycle after every commit. |
| // - It's flaky. In some rare cases, the IsExitConditionSatisifed() call could |
| // return a false positive. See comments in the .cc file for details. |
| // |
| // Because of these limitations, we intend to eventually migrate all tests off |
| // of this checker. Please do not use it in new tests. |
| class UpdatedProgressMarkerChecker : public SingleClientStatusChangeChecker { |
| public: |
| explicit UpdatedProgressMarkerChecker(ProfileSyncService* service); |
| virtual ~UpdatedProgressMarkerChecker(); |
| |
| virtual bool IsExitConditionSatisfied() OVERRIDE; |
| virtual std::string GetDebugMessage() const OVERRIDE; |
| }; |
| |
| #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_UPDATED_PROGRESS_MARKER_CHECKER_H_ |