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