Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Side by Side Diff: chrome/browser/sync/test/integration/multi_client_status_change_checker.cc

Issue 2379433002: [Sync] Refactoring of sync integration test checkers to remove boilerplate await methods. (Closed)
Patch Set: Rebase Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/sync/test/integration/multi_client_status_change_checke r.h" 5 #include "chrome/browser/sync/test/integration/multi_client_status_change_checke r.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/scoped_observer.h" 8 #include "base/scoped_observer.h"
9 #include "components/browser_sync/profile_sync_service.h" 9 #include "components/browser_sync/profile_sync_service.h"
10 10
11 MultiClientStatusChangeChecker::MultiClientStatusChangeChecker( 11 MultiClientStatusChangeChecker::MultiClientStatusChangeChecker(
12 std::vector<browser_sync::ProfileSyncService*> services) 12 std::vector<browser_sync::ProfileSyncService*> services)
13 : services_(services) {} 13 : services_(services), scoped_observer_(this) {
14 for (browser_sync::ProfileSyncService* service : services) {
15 scoped_observer_.Add(service);
16 }
17 }
14 18
15 MultiClientStatusChangeChecker::~MultiClientStatusChangeChecker() {} 19 MultiClientStatusChangeChecker::~MultiClientStatusChangeChecker() {}
16 20
17 void MultiClientStatusChangeChecker::Wait() {
18 DVLOG(1) << "Await: " << GetDebugMessage();
19
20 if (IsExitConditionSatisfied()) {
21 DVLOG(1) << "Await -> Exit before waiting: " << GetDebugMessage();
22 return;
23 }
24
25 ScopedObserver<browser_sync::ProfileSyncService,
26 MultiClientStatusChangeChecker>
27 obs(this);
28 for (std::vector<browser_sync::ProfileSyncService*>::iterator it =
29 services_.begin();
30 it != services_.end(); ++it) {
31 obs.Add(*it);
32 }
33
34 StartBlockingWait();
35 }
36
37 void MultiClientStatusChangeChecker::OnStateChanged() { 21 void MultiClientStatusChangeChecker::OnStateChanged() {
38 CheckExitCondition(); 22 CheckExitCondition();
39 } 23 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698