Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / components / signin / core / common / profile_management_switches.h
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. If enabled, the account
19 // management UI is available in the avatar bubble.
20 bool IsEnableAccountConsistency();
21
22 // Enables the web-based sign in flow on Chrome desktop.
23 bool IsEnableWebBasedSignin();
24
25 // Whether the chrome.identity API should be multi-account.
26 bool IsExtensionsMultiAccount();
27
28 // Checks whether the flag for fast user switching is enabled.
29 bool IsFastUserSwitching();
30
31 // Enables using GAIA information to populate profile name and icon.
32 bool IsGoogleProfileInfo();
33
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();
37
38 // Use new profile management system, including profile sign-out and new
39 // choosers.
40 bool IsNewProfileManagement();
41
42 // Whether the new profile management preview has been enabled.
43 bool IsNewProfileManagementPreviewEnabled();
44
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);
50
51 }  // namespace switches
52
53 #endif  // CHROME_COMMON_PROFILE_MANAGEMENT_SWITCHES_H_