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.
5 // These are functions to access various profile-management flags but with
6 // possible overrides from Experiements. This is done inside chrome/common
7 // because it is accessed by files through the chrome/ directory tree.
9 #ifndef CHROME_COMMON_PROFILE_MANAGEMENT_SWITCHES_H_
10 #define CHROME_COMMON_PROFILE_MANAGEMENT_SWITCHES_H_
18 // Checks whether account consistency is enabled. If enabled, the account
19 // management UI is available in the avatar bubble.
20 bool IsEnableAccountConsistency();
22 // Checks whether the webview-based sign in flow is enabled on Chrome desktop.
23 bool IsEnableWebviewBasedSignin();
25 // Whether the chrome.identity API should be multi-account.
26 bool IsExtensionsMultiAccount();
28 // Checks whether the flag for fast user switching is enabled.
29 bool IsFastUserSwitching();
31 // Enables using GAIA information to populate profile name and icon.
32 bool IsGoogleProfileInfo();
34 // Whether the new avatar menu is enabled, either because new profile management
35 // is enabled or because the new profile management preview UI is enabled.
36 bool IsNewAvatarMenu();
38 // Use new profile management system, including profile sign-out and new
40 bool IsNewProfileManagement();
42 // Whether the new profile management preview has been enabled.
43 bool IsNewProfileManagementPreviewEnabled();
45 // Called in tests to force enabling different modes.
46 void EnableNewAvatarMenuForTesting(base::CommandLine
* command_line
);
47 void DisableNewAvatarMenuForTesting(base::CommandLine
* command_line
);
48 void EnableNewProfileManagementForTesting(base::CommandLine
* command_line
);
49 void EnableAccountConsistencyForTesting(base::CommandLine
* command_line
);
51 } // namespace switches
53 #endif // CHROME_COMMON_PROFILE_MANAGEMENT_SWITCHES_H_