1 // Copyright 2019 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 "components/content_settings/core/browser/cookie_settings_policy_handler.h" 6 7 #include "components/content_settings/core/browser/cookie_settings.h" 8 #include "components/content_settings/core/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 content_settings { 14 CookieSettingsPolicyHandler()15CookieSettingsPolicyHandler::CookieSettingsPolicyHandler() {} 16 ~CookieSettingsPolicyHandler()17CookieSettingsPolicyHandler::~CookieSettingsPolicyHandler() {} 18 CheckPolicySettings(const policy::PolicyMap & policies,policy::PolicyErrorMap * errors)19bool CookieSettingsPolicyHandler::CheckPolicySettings( 20 const policy::PolicyMap& policies, 21 policy::PolicyErrorMap* errors) { 22 return true; 23 } 24 ApplyPolicySettings(const policy::PolicyMap & policies,PrefValueMap * prefs)25void CookieSettingsPolicyHandler::ApplyPolicySettings( 26 const policy::PolicyMap& policies, 27 PrefValueMap* prefs) { 28 // When third party cookie blocking is set by policy, the cookie controls UI 29 // can't be enabled. 30 const base::Value* third_party_cookie_blocking = 31 policies.GetValue(policy::key::kBlockThirdPartyCookies); 32 if (third_party_cookie_blocking) { 33 prefs->SetInteger(prefs::kCookieControlsMode, 34 static_cast<int>(third_party_cookie_blocking->GetBool() 35 ? CookieControlsMode::kOn 36 : CookieControlsMode::kOff)); 37 } 38 } 39 40 } // namespace content_settings 41