• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/sync/test/integration/sync_integration_test_util.h"
6 
7 #include "chrome/browser/sync/profile_sync_service.h"
8 #include "chrome/browser/sync/test/integration/single_client_status_change_checker.h"
9 #include "chrome/browser/sync/test/integration/updated_progress_marker_checker.h"
10 
11 namespace sync_integration_test_util {
12 
13 class PassphraseRequiredChecker : public SingleClientStatusChangeChecker {
14  public:
PassphraseRequiredChecker(ProfileSyncService * service)15   explicit PassphraseRequiredChecker(ProfileSyncService* service)
16       : SingleClientStatusChangeChecker(service) {}
17 
IsExitConditionSatisfied()18   virtual bool IsExitConditionSatisfied() OVERRIDE {
19     return service()->IsPassphraseRequired();
20   }
21 
GetDebugMessage() const22   virtual std::string GetDebugMessage() const OVERRIDE {
23     return "Passhrase Required";
24   }
25 };
26 
27 class PassphraseAcceptedChecker : public SingleClientStatusChangeChecker {
28  public:
PassphraseAcceptedChecker(ProfileSyncService * service)29   explicit PassphraseAcceptedChecker(ProfileSyncService* service)
30       : SingleClientStatusChangeChecker(service) {}
31 
IsExitConditionSatisfied()32   virtual bool IsExitConditionSatisfied() OVERRIDE {
33     return !service()->IsPassphraseRequired() &&
34         service()->IsUsingSecondaryPassphrase();
35   }
36 
GetDebugMessage() const37   virtual std::string GetDebugMessage() const OVERRIDE {
38     return "Passhrase Accepted";
39   }
40 };
41 
AwaitPassphraseRequired(ProfileSyncService * service)42 bool AwaitPassphraseRequired(ProfileSyncService* service) {
43   PassphraseRequiredChecker checker(service);
44   checker.Wait();
45   return !checker.TimedOut();
46 }
47 
AwaitPassphraseAccepted(ProfileSyncService * service)48 bool AwaitPassphraseAccepted(ProfileSyncService* service) {
49   PassphraseAcceptedChecker checker(service);
50   checker.Wait();
51   return !checker.TimedOut();
52 }
53 
AwaitCommitActivityCompletion(ProfileSyncService * service)54 bool AwaitCommitActivityCompletion(ProfileSyncService* service) {
55   UpdatedProgressMarkerChecker checker(service);
56   checker.Wait();
57   return !checker.TimedOut();
58 }
59 
60 }  // namespace sync_integration_test_util
61