10529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// found in the LICENSE file. 45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// These are functions to access various profile-management flags but with 65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// possible overrides from Experiements. This is done inside chrome/common 75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// because it is accessed by files through the chrome/ directory tree. 85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#ifndef CHROME_COMMON_PROFILE_MANAGEMENT_SWITCHES_H_ 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define CHROME_COMMON_PROFILE_MANAGEMENT_SWITCHES_H_ 115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 12f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)namespace base { 13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)class CommandLine; 14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)} 15f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)namespace switches { 175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Checks whether account consistency is enabled. If enabled, the account 195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// management UI is available in the avatar bubble. 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)bool IsEnableAccountConsistency(); 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Enables the web-based sign in flow on Chrome desktop. 235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)bool IsEnableWebBasedSignin(); 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Whether the chrome.identity API should be multi-account. 26cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)bool IsExtensionsMultiAccount(); 27cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 280529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Checks whether the flag for fast user switching is enabled. 290529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochbool IsFastUserSwitching(); 300529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Enables using GAIA information to populate profile name and icon. 325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)bool IsGoogleProfileInfo(); 335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 34a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Whether the new avatar menu is enabled, either because new profile management 35a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// is enabled or because the new profile management preview UI is enabled. 36a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochbool IsNewAvatarMenu(); 37a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 380529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Use new profile management system, including profile sign-out and new 390529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// choosers. 400529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochbool IsNewProfileManagement(); 410529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 42a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch// Whether the new profile management preview has been enabled. 43a02191e04bc25c4935f804f2c080ae28663d096dBen Murdochbool IsNewProfileManagementPreviewEnabled(); 44a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch 45f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)// Called in tests to force enabling different modes. 465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void EnableNewAvatarMenuForTesting(base::CommandLine* command_line); 476e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)void DisableNewAvatarMenuForTesting(base::CommandLine* command_line); 48f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)void EnableNewProfileManagementForTesting(base::CommandLine* command_line); 49f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)void EnableAccountConsistencyForTesting(base::CommandLine* command_line); 50f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 515d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} // namespace switches 525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif // CHROME_COMMON_PROFILE_MANAGEMENT_SWITCHES_H_ 54