Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(443)

Unified Diff: chrome/browser/policy/device_policy_cache.cc

Issue 10097007: Make device-level proxy policy mandatory in KIOSK mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/policy/device_policy_cache.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/policy/device_policy_cache.cc
diff --git a/chrome/browser/policy/device_policy_cache.cc b/chrome/browser/policy/device_policy_cache.cc
index c7befed40f8ece9af1706e1127b5bedba1e35166..aada619255b549421456f88ca43d4d74db52eb23 100644
--- a/chrome/browser/policy/device_policy_cache.cc
+++ b/chrome/browser/policy/device_policy_cache.cc
@@ -347,6 +347,17 @@ void DevicePolicyCache::CheckFetchingDone() {
}
}
+void DevicePolicyCache::DecodeDevicePolicy(
+ const em::ChromeDeviceSettingsProto& policy,
+ PolicyMap* policies) {
+ // Decode the various groups of policies.
+ DecodeLoginPolicies(policy, policies);
+ DecodeKioskPolicies(policy, policies);
+ DecodeNetworkPolicies(policy, policies, install_attributes_);
+ DecodeReportingPolicies(policy, policies);
+ DecodeGenericPolicies(policy, policies);
+}
+
// static
void DevicePolicyCache::DecodeLoginPolicies(
const em::ChromeDeviceSettingsProto& policy,
@@ -473,7 +484,8 @@ void DevicePolicyCache::DecodeKioskPolicies(
// static
void DevicePolicyCache::DecodeNetworkPolicies(
const em::ChromeDeviceSettingsProto& policy,
- PolicyMap* policies) {
+ PolicyMap* policies,
+ EnterpriseInstallAttributes* install_attributes) {
if (policy.has_device_proxy_settings()) {
const em::DeviceProxySettingsProto& container(
policy.device_proxy_settings());
@@ -488,9 +500,15 @@ void DevicePolicyCache::DecodeNetworkPolicies(
proxy_settings->SetString(key::kProxyBypassList,
container.proxy_bypass_list());
}
+
+ // Figure out the level. Proxy policy is mandatory in kiosk mode.
+ PolicyLevel level = POLICY_LEVEL_RECOMMENDED;
+ if (install_attributes->GetMode() == DEVICE_MODE_KIOSK)
+ level = POLICY_LEVEL_MANDATORY;
+
if (!proxy_settings->empty()) {
policies->Set(key::kProxySettings,
- POLICY_LEVEL_RECOMMENDED,
+ level,
POLICY_SCOPE_MACHINE,
proxy_settings.release());
}
@@ -636,16 +654,4 @@ void DevicePolicyCache::DecodeGenericPolicies(
}
}
-// static
-void DevicePolicyCache::DecodeDevicePolicy(
- const em::ChromeDeviceSettingsProto& policy,
- PolicyMap* policies) {
- // Decode the various groups of policies.
- DecodeLoginPolicies(policy, policies);
- DecodeKioskPolicies(policy, policies);
- DecodeNetworkPolicies(policy, policies);
- DecodeReportingPolicies(policy, policies);
- DecodeGenericPolicies(policy, policies);
-}
-
} // namespace policy
« no previous file with comments | « chrome/browser/policy/device_policy_cache.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698