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

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

Issue 1870793002: Convert //chrome/browser/chromeos from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 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 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 <string> 8 #include <string>
8 #include <utility> 9 #include <utility>
9 10
10 #include "base/bind.h" 11 #include "base/bind.h"
11 #include "base/callback.h" 12 #include "base/callback.h"
12 #include "base/memory/scoped_ptr.h"
13 #include "base/values.h" 13 #include "base/values.h"
14 #include "chromeos/dbus/power_policy_controller.h" 14 #include "chromeos/dbus/power_policy_controller.h"
15 #include "components/policy/core/browser/policy_error_map.h" 15 #include "components/policy/core/browser/policy_error_map.h"
16 #include "components/policy/core/common/external_data_fetcher.h" 16 #include "components/policy/core/common/external_data_fetcher.h"
17 #include "components/policy/core/common/policy_bundle.h" 17 #include "components/policy/core/common/policy_bundle.h"
18 #include "components/policy/core/common/policy_map.h" 18 #include "components/policy/core/common/policy_map.h"
19 #include "components/policy/core/common/policy_types.h" 19 #include "components/policy/core/common/policy_types.h"
20 #include "policy/policy_constants.h" 20 #include "policy/policy_constants.h"
21 21
22 namespace policy { 22 namespace policy {
23 23
24 namespace { 24 namespace {
25 25
26 const char kLidCloseAction[] = "LidCloseAction"; 26 const char kLidCloseAction[] = "LidCloseAction";
27 const char kUserActivityScreenDimDelayScale[] = 27 const char kUserActivityScreenDimDelayScale[] =
28 "UserActivityScreenDimDelayScale"; 28 "UserActivityScreenDimDelayScale";
29 29
30 const char kActionSuspend[] = "Suspend"; 30 const char kActionSuspend[] = "Suspend";
31 const char kActionLogout[] = "Logout"; 31 const char kActionLogout[] = "Logout";
32 const char kActionShutdown[] = "Shutdown"; 32 const char kActionShutdown[] = "Shutdown";
33 const char kActionDoNothing[] = "DoNothing"; 33 const char kActionDoNothing[] = "DoNothing";
34 34
35 scoped_ptr<base::Value> GetAction(const std::string &action) { 35 std::unique_ptr<base::Value> GetAction(const std::string& action) {
36 if (action == kActionSuspend) { 36 if (action == kActionSuspend) {
37 return scoped_ptr<base::Value>(new base::FundamentalValue( 37 return std::unique_ptr<base::Value>(new base::FundamentalValue(
38 chromeos::PowerPolicyController::ACTION_SUSPEND)); 38 chromeos::PowerPolicyController::ACTION_SUSPEND));
39 } 39 }
40 if (action == kActionLogout) { 40 if (action == kActionLogout) {
41 return scoped_ptr<base::Value>(new base::FundamentalValue( 41 return std::unique_ptr<base::Value>(new base::FundamentalValue(
42 chromeos::PowerPolicyController::ACTION_STOP_SESSION)); 42 chromeos::PowerPolicyController::ACTION_STOP_SESSION));
43 } 43 }
44 if (action == kActionShutdown) { 44 if (action == kActionShutdown) {
45 return scoped_ptr<base::Value>(new base::FundamentalValue( 45 return std::unique_ptr<base::Value>(new base::FundamentalValue(
46 chromeos::PowerPolicyController::ACTION_SHUT_DOWN)); 46 chromeos::PowerPolicyController::ACTION_SHUT_DOWN));
47 } 47 }
48 if (action == kActionDoNothing) { 48 if (action == kActionDoNothing) {
49 return scoped_ptr<base::Value>(new base::FundamentalValue( 49 return std::unique_ptr<base::Value>(new base::FundamentalValue(
50 chromeos::PowerPolicyController::ACTION_DO_NOTHING)); 50 chromeos::PowerPolicyController::ACTION_DO_NOTHING));
51 } 51 }
52 return scoped_ptr<base::Value>(); 52 return std::unique_ptr<base::Value>();
53 } 53 }
54 54
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) {
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 } 138 }
139 139
140 void LoginProfilePolicyProvider::UpdateFromDevicePolicy() { 140 void LoginProfilePolicyProvider::UpdateFromDevicePolicy() {
141 // If a policy refresh is in progress, wait for it to finish. 141 // If a policy refresh is in progress, wait for it to finish.
142 if (waiting_for_device_policy_refresh_) 142 if (waiting_for_device_policy_refresh_)
143 return; 143 return;
144 144
145 const PolicyNamespace chrome_namespaces(POLICY_DOMAIN_CHROME, std::string()); 145 const PolicyNamespace chrome_namespaces(POLICY_DOMAIN_CHROME, std::string());
146 const PolicyMap& device_policy_map = 146 const PolicyMap& device_policy_map =
147 device_policy_service_->GetPolicies(chrome_namespaces); 147 device_policy_service_->GetPolicies(chrome_namespaces);
148 scoped_ptr<PolicyBundle> bundle(new PolicyBundle); 148 std::unique_ptr<PolicyBundle> bundle(new PolicyBundle);
149 PolicyMap& user_policy_map = bundle->Get(chrome_namespaces); 149 PolicyMap& user_policy_map = bundle->Get(chrome_namespaces);
150 150
151 ApplyDevicePolicyAsRecommendedPolicy( 151 ApplyDevicePolicyAsRecommendedPolicy(
152 key::kDeviceLoginScreenDefaultLargeCursorEnabled, 152 key::kDeviceLoginScreenDefaultLargeCursorEnabled,
153 key::kLargeCursorEnabled, 153 key::kLargeCursorEnabled,
154 device_policy_map, &user_policy_map); 154 device_policy_map, &user_policy_map);
155 ApplyDevicePolicyAsRecommendedPolicy( 155 ApplyDevicePolicyAsRecommendedPolicy(
156 key::kDeviceLoginScreenDefaultSpokenFeedbackEnabled, 156 key::kDeviceLoginScreenDefaultSpokenFeedbackEnabled,
157 key::kSpokenFeedbackEnabled, 157 key::kSpokenFeedbackEnabled,
158 device_policy_map, &user_policy_map); 158 device_policy_map, &user_policy_map);
159 ApplyDevicePolicyAsRecommendedPolicy( 159 ApplyDevicePolicyAsRecommendedPolicy(
160 key::kDeviceLoginScreenDefaultHighContrastEnabled, 160 key::kDeviceLoginScreenDefaultHighContrastEnabled,
161 key::kHighContrastEnabled, 161 key::kHighContrastEnabled,
162 device_policy_map, &user_policy_map); 162 device_policy_map, &user_policy_map);
163 ApplyDevicePolicyAsRecommendedPolicy( 163 ApplyDevicePolicyAsRecommendedPolicy(
164 key::kDeviceLoginScreenDefaultScreenMagnifierType, 164 key::kDeviceLoginScreenDefaultScreenMagnifierType,
165 key::kScreenMagnifierType, 165 key::kScreenMagnifierType,
166 device_policy_map, &user_policy_map); 166 device_policy_map, &user_policy_map);
167 ApplyDevicePolicyAsRecommendedPolicy( 167 ApplyDevicePolicyAsRecommendedPolicy(
168 key::kDeviceLoginScreenDefaultVirtualKeyboardEnabled, 168 key::kDeviceLoginScreenDefaultVirtualKeyboardEnabled,
169 key::kVirtualKeyboardEnabled, 169 key::kVirtualKeyboardEnabled,
170 device_policy_map, &user_policy_map); 170 device_policy_map, &user_policy_map);
171 171
172 const base::Value* value = 172 const base::Value* value =
173 device_policy_map.GetValue(key::kDeviceLoginScreenPowerManagement); 173 device_policy_map.GetValue(key::kDeviceLoginScreenPowerManagement);
174 const base::DictionaryValue* dict = NULL; 174 const base::DictionaryValue* dict = NULL;
175 if (value && value->GetAsDictionary(&dict)) { 175 if (value && value->GetAsDictionary(&dict)) {
176 scoped_ptr<base::DictionaryValue> policy_value(dict->DeepCopy()); 176 std::unique_ptr<base::DictionaryValue> policy_value(dict->DeepCopy());
177 std::string lid_close_action; 177 std::string lid_close_action;
178 base::Value* screen_dim_delay_scale = NULL; 178 base::Value* screen_dim_delay_scale = NULL;
179 179
180 if (policy_value->GetString(kLidCloseAction, &lid_close_action)) { 180 if (policy_value->GetString(kLidCloseAction, &lid_close_action)) {
181 scoped_ptr<base::Value> action = GetAction(lid_close_action); 181 std::unique_ptr<base::Value> action = GetAction(lid_close_action);
182 if (action) { 182 if (action) {
183 ApplyValueAsMandatoryPolicy( 183 ApplyValueAsMandatoryPolicy(
184 action.get(), key::kLidCloseAction, &user_policy_map); 184 action.get(), key::kLidCloseAction, &user_policy_map);
185 } 185 }
186 policy_value->Remove(kLidCloseAction, NULL); 186 policy_value->Remove(kLidCloseAction, NULL);
187 } 187 }
188 188
189 if (policy_value->Get(kUserActivityScreenDimDelayScale, 189 if (policy_value->Get(kUserActivityScreenDimDelayScale,
190 &screen_dim_delay_scale)) { 190 &screen_dim_delay_scale)) {
191 ApplyValueAsMandatoryPolicy(screen_dim_delay_scale, 191 ApplyValueAsMandatoryPolicy(screen_dim_delay_scale,
192 key::kUserActivityScreenDimDelayScale, 192 key::kUserActivityScreenDimDelayScale,
193 &user_policy_map); 193 &user_policy_map);
194 policy_value->Remove(kUserActivityScreenDimDelayScale, NULL); 194 policy_value->Remove(kUserActivityScreenDimDelayScale, NULL);
195 } 195 }
196 196
197 // |policy_value| is expected to be a valid value for the 197 // |policy_value| is expected to be a valid value for the
198 // PowerManagementIdleSettings policy now. 198 // PowerManagementIdleSettings policy now.
199 if (!policy_value->empty()) { 199 if (!policy_value->empty()) {
200 ApplyValueAsMandatoryPolicy(policy_value.get(), 200 ApplyValueAsMandatoryPolicy(policy_value.get(),
201 key::kPowerManagementIdleSettings, 201 key::kPowerManagementIdleSettings,
202 &user_policy_map); 202 &user_policy_map);
203 } 203 }
204 } 204 }
205 205
206 UpdatePolicy(std::move(bundle)); 206 UpdatePolicy(std::move(bundle));
207 } 207 }
208 208
209 } // namespace policy 209 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698