Suppress tabs permission warning if there is already a browsingHistory warning.
[chromium-blink-merge.git] / chrome / common / profile_management_switches.cc
blob1c837441d32b655bd4dc31f2f5bd57f4c0e06708
1 // Copyright 2013 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.
5 #include "chrome/common/profile_management_switches.h"
7 #include "base/command_line.h"
8 #include "base/metrics/field_trial.h"
9 #include "chrome/common/chrome_switches.h"
11 namespace {
13 const char kNewProfileManagementFieldTrialName[] = "NewProfileManagement";
15 bool CheckProfileManagementFlag(std::string command_switch, bool active_state) {
16 // Individiual flag settings take precedence.
17 if (CommandLine::ForCurrentProcess()->HasSwitch(command_switch)) {
18 return true;
21 // --new-profile-management flag always affects all switches.
22 if (CommandLine::ForCurrentProcess()->HasSwitch(
23 switches::kNewProfileManagement)) {
24 return active_state;
27 // NewProfileManagement experiment acts like above flag.
28 std::string trial_type =
29 base::FieldTrialList::FindFullName(kNewProfileManagementFieldTrialName);
30 if (!trial_type.empty()) {
31 if (trial_type == "Enabled")
32 return active_state;
33 if (trial_type == "Disabled")
34 return !active_state;
37 return false;
40 } // namespace
42 namespace switches {
44 bool IsEnableWebBasedSignin() {
45 return CheckProfileManagementFlag(switches::kEnableWebBasedSignin, false);
48 bool IsGoogleProfileInfo() {
49 return CheckProfileManagementFlag(switches::kGoogleProfileInfo, true);
52 bool IsNewProfileManagement() {
53 return CheckProfileManagementFlag(switches::kNewProfileManagement, true);
56 bool IsNewAvatarMenu() {
57 bool is_new_avatar_menu =
58 CommandLine::ForCurrentProcess()->HasSwitch(switches::kNewAvatarMenu);
59 return is_new_avatar_menu || IsNewProfileManagement();
62 bool IsNewProfileManagementPreviewEnabled() {
63 bool is_new_avatar_menu =
64 CommandLine::ForCurrentProcess()->HasSwitch(switches::kNewAvatarMenu);
65 return is_new_avatar_menu && IsNewProfileManagement();
68 bool IsFastUserSwitching() {
69 return CommandLine::ForCurrentProcess()->HasSwitch(
70 switches::kFastUserSwitching);
73 } // namespace switches