Update To 11.40.268.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 // Checks whether the web-based sign in flow is enabled on Chrome desktop.
23 bool IsEnableWebBasedSignin();
24
25 // Checks whether the webview-based sign in flow is enabled on Chrome desktop.
26 bool IsEnableWebviewBasedSignin();
27
28 // Whether the chrome.identity API should be multi-account.
29 bool IsExtensionsMultiAccount();
30
31 // Checks whether the flag for fast user switching is enabled.
32 bool IsFastUserSwitching();
33
34 // Enables using GAIA information to populate profile name and icon.
35 bool IsGoogleProfileInfo();
36
37 // Whether the new avatar menu is enabled, either because new profile management
38 // is enabled or because the new profile management preview UI is enabled.
39 bool IsNewAvatarMenu();
40
41 // Use new profile management system, including profile sign-out and new
42 // choosers.
43 bool IsNewProfileManagement();
44
45 // Whether the new profile management preview has been enabled.
46 bool IsNewProfileManagementPreviewEnabled();
47
48 // Called in tests to force enabling different modes.
49 void EnableNewAvatarMenuForTesting(base::CommandLine* command_line);
50 void DisableNewAvatarMenuForTesting(base::CommandLine* command_line);
51 void EnableNewProfileManagementForTesting(base::CommandLine* command_line);
52 void EnableAccountConsistencyForTesting(base::CommandLine* command_line);
53
54 }  // namespace switches
55
56 #endif  // CHROME_COMMON_PROFILE_MANAGEMENT_SWITCHES_H_