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