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