1 // Copyright 2015 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 #ifndef COMPONENTS_SYNC_DRIVER_SYNC_DRIVER_SWITCHES_H_
6 #define COMPONENTS_SYNC_DRIVER_SYNC_DRIVER_SWITCHES_H_
7 
8 #include "base/feature_list.h"
9 
10 namespace switches {
11 
12 // Returns whether sync is allowed to run based on command-line switches.
13 // Profile::IsSyncAllowed() is probably a better signal than this function.
14 // This function can be called from any thread, and the implementation doesn't
15 // assume it's running on the UI thread.
16 bool IsSyncAllowedByFlag();
17 
18 // Defines all the command-line switches used by sync driver. All switches in
19 // alphabetical order. The switches should be documented alongside the
20 // definition of their values in the .cc file.
21 extern const char kDisableSync[];
22 extern const char kSyncDeferredStartupTimeoutSeconds[];
23 extern const char kSyncDisableDeferredStartup[];
24 extern const char kSyncIncludeSpecificsInProtocolLog[];
25 extern const char kSyncShortInitialRetryOverride[];
26 extern const char kSyncShortNudgeDelayForTest[];
27 
28 extern const base::Feature kStopSyncInPausedState;
29 extern const base::Feature
30     kSyncAllowWalletDataInTransportModeWithCustomPassphrase;
31 extern const base::Feature kSyncAutofillWalletOfferData;
32 extern const base::Feature kSyncWifiConfigurations;
33 extern const base::Feature kDecoupleSyncFromAndroidMasterSync;
34 extern const base::Feature kFollowTrustedVaultKeyRotation;
35 
36 extern const base::Feature kSyncRequiresPoliciesLoaded;
37 extern const base::FeatureParam<base::TimeDelta> kSyncPolicyLoadTimeout;
38 
39 extern const base::Feature kSyncSupportTrustedVaultPassphraseRecovery;
40 
41 }  // namespace switches
42 
43 #endif  // COMPONENTS_SYNC_DRIVER_SYNC_DRIVER_SWITCHES_H_
44