Index: chrome/browser/extensions/api/preferences_private/preferences_private_apitest.cc |
diff --git a/chrome/browser/extensions/api/preferences_private/preferences_private_apitest.cc b/chrome/browser/extensions/api/preferences_private/preferences_private_apitest.cc |
index 29969c11851c05665a3ef85872b51018c018a69b..75101a48bf60a33f660ecbde330a0dee7efca3d7 100644 |
--- a/chrome/browser/extensions/api/preferences_private/preferences_private_apitest.cc |
+++ b/chrome/browser/extensions/api/preferences_private/preferences_private_apitest.cc |
@@ -50,6 +50,7 @@ class FakeProfileSyncService : public ProfileSyncService { |
public: |
explicit FakeProfileSyncService(Profile* profile) |
: ProfileSyncService(CreateProfileSyncServiceParamsForTest(profile)), |
+ test_started_(false), |
sync_initialized_(true), |
initialized_state_violation_(false) {} |
@@ -61,6 +62,10 @@ class FakeProfileSyncService : public ProfileSyncService { |
new FakeProfileSyncService(static_cast<Profile*>(context))); |
} |
+ void set_test_started(bool test_started) { |
+ test_started_ = test_started; |
+ } |
+ |
void set_sync_initialized(bool sync_initialized) { |
sync_initialized_ = sync_initialized; |
} |
@@ -71,6 +76,10 @@ class FakeProfileSyncService : public ProfileSyncService { |
bool IsSyncActive() const override { return sync_initialized_; } |
void AddObserver(sync_driver::SyncServiceObserver* observer) override { |
+ // Ignore other SyncServiceObsevers which we don't care about. |
+ if (!test_started_) |
+ return; |
+ |
if (sync_initialized_) |
initialized_state_violation_ = true; |
// Set sync initialized state to true so the function will run after |
@@ -99,6 +108,7 @@ class FakeProfileSyncService : public ProfileSyncService { |
} |
private: |
+ bool test_started_; |
bool sync_initialized_; |
// Set to true if a function is called when sync_initialized is in an |
// unexpected state. |
@@ -141,6 +151,8 @@ class PreferencesPrivateApiTest : public ExtensionApiTest { |
profile, &FakeProfileSyncService::BuildFakeProfileSyncService)); |
browser_ = new Browser(Browser::CreateParams(profile)); |
+ |
+ service_->set_test_started(true); |
} |
// Calls GetSyncCategoriesWithoutPassphraseFunction and verifies that the |