| Index: chrome/browser/sync/test/integration/sync_errors_test.cc
|
| diff --git a/chrome/browser/sync/test/integration/sync_errors_test.cc b/chrome/browser/sync/test/integration/sync_errors_test.cc
|
| index 48fbf46c2dca195f1bc2090252107be98b6fa9d2..6fe399fcbc8cb1905bdfd7bc2f5a839a5db368af 100644
|
| --- a/chrome/browser/sync/test/integration/sync_errors_test.cc
|
| +++ b/chrome/browser/sync/test/integration/sync_errors_test.cc
|
| @@ -37,12 +37,36 @@ class SyncDisabledChecker : public SingleClientStatusChangeChecker {
|
| }
|
| };
|
|
|
| +class TypeDisabledChecker : public SingleClientStatusChangeChecker {
|
| + public:
|
| + explicit TypeDisabledChecker(ProfileSyncService* service,
|
| + syncer::ModelType type)
|
| + : SingleClientStatusChangeChecker(service), type_(type) {}
|
| +
|
| + virtual bool IsExitConditionSatisfied() OVERRIDE {
|
| + return !service()->GetActiveDataTypes().Has(type_);
|
| + }
|
| +
|
| + virtual std::string GetDebugMessage() const OVERRIDE {
|
| + return "Type disabled";
|
| + }
|
| + private:
|
| + syncer::ModelType type_;
|
| +};
|
| +
|
| bool AwaitSyncDisabled(ProfileSyncService* service) {
|
| SyncDisabledChecker checker(service);
|
| checker.Wait();
|
| return !checker.TimedOut();
|
| }
|
|
|
| +bool AwaitTypeDisabled(ProfileSyncService* service,
|
| + syncer::ModelType type) {
|
| + TypeDisabledChecker checker(service, type);
|
| + checker.Wait();
|
| + return !checker.TimedOut();
|
| +}
|
| +
|
| class SyncErrorTest : public SyncTest {
|
| public:
|
| SyncErrorTest() : SyncTest(SINGLE_CLIENT) {}
|
| @@ -203,12 +227,9 @@ IN_PROC_BROWSER_TEST_F(LegacySyncErrorTest, DisableDatatypeWhileRunning) {
|
| GetProfile(0)->GetPrefs()->SetBoolean(
|
| prefs::kSavingBrowserHistoryDisabled, true);
|
|
|
| - // Flush any tasks posted by observers of the pref change.
|
| - base::RunLoop().RunUntilIdle();
|
| -
|
| - synced_datatypes = GetSyncService((0))->GetActiveDataTypes();
|
| - ASSERT_FALSE(synced_datatypes.Has(syncer::TYPED_URLS));
|
| - ASSERT_FALSE(synced_datatypes.Has(syncer::SESSIONS));
|
| + // Wait for reconfigurations.
|
| + ASSERT_TRUE(AwaitTypeDisabled(GetSyncService(0), syncer::TYPED_URLS));
|
| + ASSERT_TRUE(AwaitTypeDisabled(GetSyncService(0), syncer::SESSIONS));
|
|
|
| const BookmarkNode* node1 = AddFolder(0, 0, "title1");
|
| SetTitle(0, node1, "new_title1");
|
|
|