| OLD | NEW | 
| (Empty) |  | 
 |   1 // Copyright 2016 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 #include "chrome/browser/profiles/guest_mode_policy_handler.h" | 
 |   6  | 
 |   7 #include "base/values.h" | 
 |   8 #include "chrome/common/pref_names.h" | 
 |   9 #include "components/policy/core/common/policy_map.h" | 
 |  10 #include "components/policy/policy_constants.h" | 
 |  11 #include "components/prefs/pref_value_map.h" | 
 |  12  | 
 |  13 namespace policy { | 
 |  14  | 
 |  15 GuestModePolicyHandler::GuestModePolicyHandler() | 
 |  16     : TypeCheckingPolicyHandler(key::kBrowserGuestModeEnabled, | 
 |  17                                 base::Value::TYPE_BOOLEAN) {} | 
 |  18  | 
 |  19 GuestModePolicyHandler::~GuestModePolicyHandler() {} | 
 |  20  | 
 |  21 void GuestModePolicyHandler::ApplyPolicySettings(const PolicyMap& policies, | 
 |  22                                                  PrefValueMap* prefs) { | 
 |  23   const base::Value* guest_mode_value = policies.GetValue(policy_name()); | 
 |  24   bool is_guest_mode_enabled; | 
 |  25   if (guest_mode_value && | 
 |  26       guest_mode_value->GetAsBoolean(&is_guest_mode_enabled)) { | 
 |  27     prefs->SetBoolean(prefs::kBrowserGuestModeEnabled, is_guest_mode_enabled); | 
 |  28     return; | 
 |  29   } | 
 |  30   // Disable guest mode by default if force signin is enabled. | 
 |  31   const base::Value* force_signin_value = | 
 |  32       policies.GetValue(key::kForceBrowserSignin); | 
 |  33   bool is_force_signin_enabled; | 
 |  34   if (force_signin_value && | 
 |  35       force_signin_value->GetAsBoolean(&is_force_signin_enabled) && | 
 |  36       is_force_signin_enabled) { | 
 |  37     prefs->SetBoolean(prefs::kBrowserGuestModeEnabled, false); | 
 |  38   } | 
 |  39 } | 
 |  40  | 
 |  41 }  // namespace policy | 
| OLD | NEW |