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