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

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

Issue 2765363004: Stop passing raw pointers to DictionaryValue::Set, part 2 (Closed)
Patch Set: Fix comments Created 3 years, 9 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/auto_enrollment_client.h" 5 #include "chrome/browser/chromeos/policy/auto_enrollment_client.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/guid.h" 10 #include "base/guid.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 return i; 48 return i;
49 } 49 }
50 // No other value can be represented in an int64_t. 50 // No other value can be represented in an int64_t.
51 return AutoEnrollmentClient::kMaximumPower + 1; 51 return AutoEnrollmentClient::kMaximumPower + 1;
52 } 52 }
53 53
54 // Sets or clears a value in a dictionary. 54 // Sets or clears a value in a dictionary.
55 void UpdateDict(base::DictionaryValue* dict, 55 void UpdateDict(base::DictionaryValue* dict,
56 const char* pref_path, 56 const char* pref_path,
57 bool set_or_clear, 57 bool set_or_clear,
58 base::Value* value) { 58 std::unique_ptr<base::Value> value) {
59 std::unique_ptr<base::Value> scoped_value(value);
60 if (set_or_clear) 59 if (set_or_clear)
61 dict->Set(pref_path, scoped_value.release()); 60 dict->Set(pref_path, std::move(value));
62 else 61 else
63 dict->Remove(pref_path, NULL); 62 dict->Remove(pref_path, NULL);
64 } 63 }
65 64
66 // Converts a restore mode enum value from the DM protocol into the 65 // Converts a restore mode enum value from the DM protocol into the
67 // corresponding prefs string constant. 66 // corresponding prefs string constant.
68 std::string ConvertRestoreMode( 67 std::string ConvertRestoreMode(
69 em::DeviceStateRetrievalResponse::RestoreMode restore_mode) { 68 em::DeviceStateRetrievalResponse::RestoreMode restore_mode) {
70 switch (restore_mode) { 69 switch (restore_mode) {
71 case em::DeviceStateRetrievalResponse::RESTORE_MODE_NONE: 70 case em::DeviceStateRetrievalResponse::RESTORE_MODE_NONE:
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 int net_error, 368 int net_error,
370 const enterprise_management::DeviceManagementResponse& response) { 369 const enterprise_management::DeviceManagementResponse& response) {
371 bool progress = false; 370 bool progress = false;
372 if (!response.has_device_state_retrieval_response()) { 371 if (!response.has_device_state_retrieval_response()) {
373 LOG(ERROR) << "Server failed to provide auto-enrollment response."; 372 LOG(ERROR) << "Server failed to provide auto-enrollment response.";
374 } else { 373 } else {
375 const em::DeviceStateRetrievalResponse& state_response = 374 const em::DeviceStateRetrievalResponse& state_response =
376 response.device_state_retrieval_response(); 375 response.device_state_retrieval_response();
377 { 376 {
378 DictionaryPrefUpdate dict(local_state_, prefs::kServerBackedDeviceState); 377 DictionaryPrefUpdate dict(local_state_, prefs::kServerBackedDeviceState);
379 UpdateDict(dict.Get(), kDeviceStateManagementDomain, 378 UpdateDict(
380 state_response.has_management_domain(), 379 dict.Get(), kDeviceStateManagementDomain,
381 new base::Value(state_response.management_domain())); 380 state_response.has_management_domain(),
381 base::MakeUnique<base::Value>(state_response.management_domain()));
382 382
383 std::string restore_mode = 383 std::string restore_mode =
384 ConvertRestoreMode(state_response.restore_mode()); 384 ConvertRestoreMode(state_response.restore_mode());
385 UpdateDict(dict.Get(), kDeviceStateRestoreMode, !restore_mode.empty(), 385 UpdateDict(dict.Get(), kDeviceStateRestoreMode, !restore_mode.empty(),
386 new base::Value(restore_mode)); 386 base::MakeUnique<base::Value>(restore_mode));
387 387
388 UpdateDict(dict.Get(), kDeviceStateDisabledMessage, 388 UpdateDict(dict.Get(), kDeviceStateDisabledMessage,
389 state_response.has_disabled_state(), 389 state_response.has_disabled_state(),
390 new base::Value(state_response.disabled_state().message())); 390 base::MakeUnique<base::Value>(
391 state_response.disabled_state().message()));
391 392
392 // Logging as "WARNING" to make sure it's preserved in the logs. 393 // Logging as "WARNING" to make sure it's preserved in the logs.
393 LOG(WARNING) << "Restore mode: " << restore_mode; 394 LOG(WARNING) << "Restore mode: " << restore_mode;
394 } 395 }
395 local_state_->CommitPendingWrite(); 396 local_state_->CommitPendingWrite();
396 device_state_available_ = true; 397 device_state_available_ = true;
397 progress = true; 398 progress = true;
398 } 399 }
399 400
400 return progress; 401 return progress;
(...skipping 24 matching lines...) Expand all
425 base::TimeDelta delta = kZero; 426 base::TimeDelta delta = kZero;
426 if (!time_extra_start_.is_null()) 427 if (!time_extra_start_.is_null())
427 delta = now - time_extra_start_; 428 delta = now - time_extra_start_;
428 // This samples |kZero| when there was no need for extra time, so that we can 429 // This samples |kZero| when there was no need for extra time, so that we can
429 // measure the ratio of users that succeeded without needing a delay to the 430 // measure the ratio of users that succeeded without needing a delay to the
430 // total users going through OOBE. 431 // total users going through OOBE.
431 UMA_HISTOGRAM_CUSTOM_TIMES(kUMAExtraTime, delta, kMin, kMax, kBuckets); 432 UMA_HISTOGRAM_CUSTOM_TIMES(kUMAExtraTime, delta, kMin, kMax, kBuckets);
432 } 433 }
433 434
434 } // namespace policy 435 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698