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