• 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 // 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.
8 
9 #ifndef CHROME_COMMON_PROFILE_MANAGEMENT_SWITCHES_H_
10 #define CHROME_COMMON_PROFILE_MANAGEMENT_SWITCHES_H_
11 
12 namespace base {
13 class CommandLine;
14 }
15 
16 namespace switches {
17 
18 // Checks whether account consistency is enabled.
19 bool IsEnableAccountConsistency();
20 
21 // Enables the web-based sign in flow on Chrome desktop.
22 bool IsEnableWebBasedSignin();
23 
24 // Whether the chrome.identity API should be multi-account.
25 bool IsExtensionsMultiAccount();
26 
27 // Checks whether the flag for fast user switching is enabled.
28 bool IsFastUserSwitching();
29 
30 // Enables using GAIA information to populate profile name and icon.
31 bool IsGoogleProfileInfo();
32 
33 // Whether the new avatar menu is enabled, either because new profile management
34 // is enabled or because the new profile management preview UI is enabled.
35 bool IsNewAvatarMenu();
36 
37 // Use new profile management system, including profile sign-out and new
38 // choosers.
39 bool IsNewProfileManagement();
40 
41 // Whether the new profile management preview has been enabled.
42 bool IsNewProfileManagementPreviewEnabled();
43 
44 // Called in tests to force enabling different modes.
45 void EnableNewProfileManagementForTesting(base::CommandLine* command_line);
46 void EnableAccountConsistencyForTesting(base::CommandLine* command_line);
47 
48 }  // namespace switches
49 
50 #endif  // CHROME_COMMON_PROFILE_MANAGEMENT_SWITCHES_H_
51