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

Side by Side Diff: chrome/browser/chromeos/policy/login_profile_policy_provider.cc

Issue 1940153002: Use std::unique_ptr to express ownership of base::Value in PolicyMap::Entry (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: another-fix Created 4 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/policy/login_profile_policy_provider.h" 5 #include "chrome/browser/chromeos/policy/login_profile_policy_provider.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 55
56 // Applies the value of |device_policy| in |device_policy_map| as the 56 // Applies the value of |device_policy| in |device_policy_map| as the
57 // recommended value of |user_policy| in |user_policy_map|. If the value of 57 // recommended value of |user_policy| in |user_policy_map|. If the value of
58 // |device_policy| is unset, does nothing. 58 // |device_policy| is unset, does nothing.
59 void ApplyDevicePolicyAsRecommendedPolicy(const std::string& device_policy, 59 void ApplyDevicePolicyAsRecommendedPolicy(const std::string& device_policy,
60 const std::string& user_policy, 60 const std::string& user_policy,
61 const PolicyMap& device_policy_map, 61 const PolicyMap& device_policy_map,
62 PolicyMap* user_policy_map) { 62 PolicyMap* user_policy_map) {
63 const base::Value* value = device_policy_map.GetValue(device_policy); 63 const base::Value* value = device_policy_map.GetValue(device_policy);
64 if (value) { 64 if (value) {
65 user_policy_map->Set(user_policy, 65 user_policy_map->Set(user_policy, POLICY_LEVEL_RECOMMENDED,
66 POLICY_LEVEL_RECOMMENDED, 66 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD,
67 POLICY_SCOPE_USER, 67 value->CreateDeepCopy(), nullptr);
68 POLICY_SOURCE_CLOUD,
69 value->DeepCopy(),
70 NULL);
71 } 68 }
72 } 69 }
73 70
74 // Applies |value| as the mandatory value of |user_policy| in |user_policy_map|. 71 // Applies |value| as the mandatory value of |user_policy| in |user_policy_map|.
75 // If |value| is NULL, does nothing. 72 // If |value| is NULL, does nothing.
76 void ApplyValueAsMandatoryPolicy(const base::Value* value, 73 void ApplyValueAsMandatoryPolicy(const base::Value* value,
77 const std::string& user_policy, 74 const std::string& user_policy,
78 PolicyMap* user_policy_map) { 75 PolicyMap* user_policy_map) {
79 if (value) { 76 if (value) {
80 user_policy_map->Set(user_policy, 77 user_policy_map->Set(user_policy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
81 POLICY_LEVEL_MANDATORY, 78 POLICY_SOURCE_CLOUD, value->CreateDeepCopy(), nullptr);
82 POLICY_SCOPE_USER,
83 POLICY_SOURCE_CLOUD,
84 value->DeepCopy(),
85 NULL);
86 } 79 }
87 } 80 }
88 81
89 } // namespace 82 } // namespace
90 83
91 LoginProfilePolicyProvider::LoginProfilePolicyProvider( 84 LoginProfilePolicyProvider::LoginProfilePolicyProvider(
92 PolicyService* device_policy_service) 85 PolicyService* device_policy_service)
93 : device_policy_service_(device_policy_service), 86 : device_policy_service_(device_policy_service),
94 waiting_for_device_policy_refresh_(false), 87 waiting_for_device_policy_refresh_(false),
95 weak_factory_(this) { 88 weak_factory_(this) {
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 ApplyValueAsMandatoryPolicy(policy_value.get(), 193 ApplyValueAsMandatoryPolicy(policy_value.get(),
201 key::kPowerManagementIdleSettings, 194 key::kPowerManagementIdleSettings,
202 &user_policy_map); 195 &user_policy_map);
203 } 196 }
204 } 197 }
205 198
206 UpdatePolicy(std::move(bundle)); 199 UpdatePolicy(std::move(bundle));
207 } 200 }
208 201
209 } // namespace policy 202 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698