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

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

Issue 2664753002: Remove base::StringValue (Closed)
Patch Set: Rebase 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/device_policy_decoder_chromeos.h" 5 #include "chrome/browser/chromeos/policy/device_policy_decoder_chromeos.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <string> 8 #include <string>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 shill::kTypeEthernet, 100 shill::kTypeEthernet,
101 shill::kTypeWifi, 101 shill::kTypeWifi,
102 shill::kTypeWimax, 102 shill::kTypeWimax,
103 shill::kTypeBluetooth, 103 shill::kTypeBluetooth,
104 shill::kTypeCellular, 104 shill::kTypeCellular,
105 }; 105 };
106 106
107 if (value < 0 || value >= static_cast<int>(arraysize(kConnectionTypes))) 107 if (value < 0 || value >= static_cast<int>(arraysize(kConnectionTypes)))
108 return nullptr; 108 return nullptr;
109 109
110 return base::MakeUnique<base::StringValue>(kConnectionTypes[value]); 110 return base::MakeUnique<base::Value>(kConnectionTypes[value]);
111 } 111 }
112 112
113 void DecodeLoginPolicies(const em::ChromeDeviceSettingsProto& policy, 113 void DecodeLoginPolicies(const em::ChromeDeviceSettingsProto& policy,
114 PolicyMap* policies) { 114 PolicyMap* policies) {
115 if (policy.has_guest_mode_enabled()) { 115 if (policy.has_guest_mode_enabled()) {
116 const em::GuestModeEnabledProto& container(policy.guest_mode_enabled()); 116 const em::GuestModeEnabledProto& container(policy.guest_mode_enabled());
117 if (container.has_guest_mode_enabled()) { 117 if (container.has_guest_mode_enabled()) {
118 policies->Set( 118 policies->Set(
119 key::kDeviceGuestModeEnabled, POLICY_LEVEL_MANDATORY, 119 key::kDeviceGuestModeEnabled, POLICY_LEVEL_MANDATORY,
120 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 120 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 entry_dict->SetIntegerWithoutPathExpansion( 231 entry_dict->SetIntegerWithoutPathExpansion(
232 chromeos::kAccountsPrefDeviceLocalAccountsKeyType, 232 chromeos::kAccountsPrefDeviceLocalAccountsKeyType,
233 DeviceLocalAccount::TYPE_PUBLIC_SESSION); 233 DeviceLocalAccount::TYPE_PUBLIC_SESSION);
234 } 234 }
235 account_list->Append(std::move(entry_dict)); 235 account_list->Append(std::move(entry_dict));
236 } 236 }
237 policies->Set(key::kDeviceLocalAccounts, POLICY_LEVEL_MANDATORY, 237 policies->Set(key::kDeviceLocalAccounts, POLICY_LEVEL_MANDATORY,
238 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 238 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
239 std::move(account_list), nullptr); 239 std::move(account_list), nullptr);
240 if (container.has_auto_login_id()) { 240 if (container.has_auto_login_id()) {
241 policies->Set( 241 policies->Set(key::kDeviceLocalAccountAutoLoginId, POLICY_LEVEL_MANDATORY,
242 key::kDeviceLocalAccountAutoLoginId, POLICY_LEVEL_MANDATORY, 242 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
243 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 243 base::MakeUnique<base::Value>(container.auto_login_id()),
244 base::MakeUnique<base::StringValue>(container.auto_login_id()), 244 nullptr);
245 nullptr);
246 } 245 }
247 if (container.has_auto_login_delay()) { 246 if (container.has_auto_login_delay()) {
248 policies->Set(key::kDeviceLocalAccountAutoLoginDelay, 247 policies->Set(key::kDeviceLocalAccountAutoLoginDelay,
249 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 248 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
250 POLICY_SOURCE_CLOUD, 249 POLICY_SOURCE_CLOUD,
251 DecodeIntegerValue(container.auto_login_delay()), nullptr); 250 DecodeIntegerValue(container.auto_login_delay()), nullptr);
252 } 251 }
253 if (container.has_enable_auto_login_bailout()) { 252 if (container.has_enable_auto_login_bailout()) {
254 policies->Set( 253 policies->Set(
255 key::kDeviceLocalAccountAutoLoginBailoutEnabled, 254 key::kDeviceLocalAccountAutoLoginBailoutEnabled,
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 } 349 }
351 } 350 }
352 } 351 }
353 352
354 if (policy.has_login_screen_domain_auto_complete()) { 353 if (policy.has_login_screen_domain_auto_complete()) {
355 const em::LoginScreenDomainAutoCompleteProto& container( 354 const em::LoginScreenDomainAutoCompleteProto& container(
356 policy.login_screen_domain_auto_complete()); 355 policy.login_screen_domain_auto_complete());
357 policies->Set(key::kDeviceLoginScreenDomainAutoComplete, 356 policies->Set(key::kDeviceLoginScreenDomainAutoComplete,
358 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 357 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
359 POLICY_SOURCE_CLOUD, 358 POLICY_SOURCE_CLOUD,
360 base::MakeUnique<base::StringValue>( 359 base::MakeUnique<base::Value>(
361 container.login_screen_domain_auto_complete()), 360 container.login_screen_domain_auto_complete()),
362 nullptr); 361 nullptr);
363 } 362 }
364 363
365 if (policy.has_login_screen_locales()) { 364 if (policy.has_login_screen_locales()) {
366 std::unique_ptr<base::ListValue> locales(new base::ListValue); 365 std::unique_ptr<base::ListValue> locales(new base::ListValue);
367 const em::LoginScreenLocalesProto& login_screen_locales( 366 const em::LoginScreenLocalesProto& login_screen_locales(
368 policy.login_screen_locales()); 367 policy.login_screen_locales());
369 for (const auto& locale : login_screen_locales.login_screen_locales()) 368 for (const auto& locale : login_screen_locales.login_screen_locales())
370 locales->AppendString(locale); 369 locales->AppendString(locale);
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 417 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
419 std::move(throttling_status), nullptr); 418 std::move(throttling_status), nullptr);
420 } 419 }
421 420
422 if (policy.has_open_network_configuration() && 421 if (policy.has_open_network_configuration() &&
423 policy.open_network_configuration().has_open_network_configuration()) { 422 policy.open_network_configuration().has_open_network_configuration()) {
424 std::string config( 423 std::string config(
425 policy.open_network_configuration().open_network_configuration()); 424 policy.open_network_configuration().open_network_configuration());
426 policies->Set(key::kDeviceOpenNetworkConfiguration, POLICY_LEVEL_MANDATORY, 425 policies->Set(key::kDeviceOpenNetworkConfiguration, POLICY_LEVEL_MANDATORY,
427 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 426 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
428 base::MakeUnique<base::StringValue>(config), nullptr); 427 base::MakeUnique<base::Value>(config), nullptr);
429 } 428 }
430 } 429 }
431 430
432 void DecodeReportingPolicies(const em::ChromeDeviceSettingsProto& policy, 431 void DecodeReportingPolicies(const em::ChromeDeviceSettingsProto& policy,
433 PolicyMap* policies) { 432 PolicyMap* policies) {
434 if (policy.has_device_reporting()) { 433 if (policy.has_device_reporting()) {
435 const em::DeviceReportingProto& container(policy.device_reporting()); 434 const em::DeviceReportingProto& container(policy.device_reporting());
436 if (container.has_report_version_info()) { 435 if (container.has_report_version_info()) {
437 policies->Set( 436 policies->Set(
438 key::kReportDeviceVersionInfo, POLICY_LEVEL_MANDATORY, 437 key::kReportDeviceVersionInfo, POLICY_LEVEL_MANDATORY,
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 } 525 }
527 526
528 void DecodeAutoUpdatePolicies(const em::ChromeDeviceSettingsProto& policy, 527 void DecodeAutoUpdatePolicies(const em::ChromeDeviceSettingsProto& policy,
529 PolicyMap* policies) { 528 PolicyMap* policies) {
530 if (policy.has_release_channel()) { 529 if (policy.has_release_channel()) {
531 const em::ReleaseChannelProto& container(policy.release_channel()); 530 const em::ReleaseChannelProto& container(policy.release_channel());
532 if (container.has_release_channel()) { 531 if (container.has_release_channel()) {
533 std::string channel(container.release_channel()); 532 std::string channel(container.release_channel());
534 policies->Set(key::kChromeOsReleaseChannel, POLICY_LEVEL_MANDATORY, 533 policies->Set(key::kChromeOsReleaseChannel, POLICY_LEVEL_MANDATORY,
535 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 534 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
536 base::MakeUnique<base::StringValue>(channel), nullptr); 535 base::MakeUnique<base::Value>(channel), nullptr);
537 // TODO(dubroy): Once http://crosbug.com/17015 is implemented, we won't 536 // TODO(dubroy): Once http://crosbug.com/17015 is implemented, we won't
538 // have to pass the channel in here, only ping the update engine to tell 537 // have to pass the channel in here, only ping the update engine to tell
539 // it to fetch the channel from the policy. 538 // it to fetch the channel from the policy.
540 chromeos::DBusThreadManager::Get()->GetUpdateEngineClient()-> 539 chromeos::DBusThreadManager::Get()->GetUpdateEngineClient()->
541 SetChannel(channel, false); 540 SetChannel(channel, false);
542 } 541 }
543 if (container.has_release_channel_delegated()) { 542 if (container.has_release_channel_delegated()) {
544 policies->Set( 543 policies->Set(
545 key::kChromeOsReleaseChannelDelegated, POLICY_LEVEL_MANDATORY, 544 key::kChromeOsReleaseChannelDelegated, POLICY_LEVEL_MANDATORY,
546 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 545 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
547 base::MakeUnique<base::Value>(container.release_channel_delegated()), 546 base::MakeUnique<base::Value>(container.release_channel_delegated()),
548 nullptr); 547 nullptr);
549 } 548 }
550 } 549 }
551 550
552 if (policy.has_auto_update_settings()) { 551 if (policy.has_auto_update_settings()) {
553 const em::AutoUpdateSettingsProto& container(policy.auto_update_settings()); 552 const em::AutoUpdateSettingsProto& container(policy.auto_update_settings());
554 if (container.has_update_disabled()) { 553 if (container.has_update_disabled()) {
555 policies->Set(key::kDeviceAutoUpdateDisabled, POLICY_LEVEL_MANDATORY, 554 policies->Set(key::kDeviceAutoUpdateDisabled, POLICY_LEVEL_MANDATORY,
556 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 555 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
557 base::MakeUnique<base::Value>(container.update_disabled()), 556 base::MakeUnique<base::Value>(container.update_disabled()),
558 nullptr); 557 nullptr);
559 } 558 }
560 559
561 if (container.has_target_version_prefix()) { 560 if (container.has_target_version_prefix()) {
562 policies->Set(key::kDeviceTargetVersionPrefix, POLICY_LEVEL_MANDATORY, 561 policies->Set(
563 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 562 key::kDeviceTargetVersionPrefix, POLICY_LEVEL_MANDATORY,
564 base::MakeUnique<base::StringValue>( 563 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
565 container.target_version_prefix()), 564 base::MakeUnique<base::Value>(container.target_version_prefix()),
566 nullptr); 565 nullptr);
567 } 566 }
568 567
569 // target_version_display_name is not actually a policy, but a display 568 // target_version_display_name is not actually a policy, but a display
570 // string for target_version_prefix, so we ignore it. 569 // string for target_version_prefix, so we ignore it.
571 570
572 if (container.has_scatter_factor_in_seconds()) { 571 if (container.has_scatter_factor_in_seconds()) {
573 // TODO(dcheng): Shouldn't this use DecodeIntegerValue? 572 // TODO(dcheng): Shouldn't this use DecodeIntegerValue?
574 policies->Set(key::kDeviceUpdateScatterFactor, POLICY_LEVEL_MANDATORY, 573 policies->Set(key::kDeviceUpdateScatterFactor, POLICY_LEVEL_MANDATORY,
575 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 574 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
576 base::MakeUnique<base::Value>(static_cast<int>( 575 base::MakeUnique<base::Value>(static_cast<int>(
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 if (container.has_metrics_enabled()) { 700 if (container.has_metrics_enabled()) {
702 policies->Set(key::kDeviceMetricsReportingEnabled, POLICY_LEVEL_MANDATORY, 701 policies->Set(key::kDeviceMetricsReportingEnabled, POLICY_LEVEL_MANDATORY,
703 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 702 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
704 base::MakeUnique<base::Value>(container.metrics_enabled()), 703 base::MakeUnique<base::Value>(container.metrics_enabled()),
705 nullptr); 704 nullptr);
706 } 705 }
707 } 706 }
708 707
709 if (policy.has_system_timezone()) { 708 if (policy.has_system_timezone()) {
710 if (policy.system_timezone().has_timezone()) { 709 if (policy.system_timezone().has_timezone()) {
711 policies->Set(key::kSystemTimezone, POLICY_LEVEL_MANDATORY, 710 policies->Set(
712 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 711 key::kSystemTimezone, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
713 base::MakeUnique<base::StringValue>( 712 POLICY_SOURCE_CLOUD,
714 policy.system_timezone().timezone()), 713 base::MakeUnique<base::Value>(policy.system_timezone().timezone()),
715 nullptr); 714 nullptr);
716 } 715 }
717 716
718 if (policy.system_timezone().has_timezone_detection_type()) { 717 if (policy.system_timezone().has_timezone_detection_type()) {
719 std::unique_ptr<base::Value> value(DecodeIntegerValue( 718 std::unique_ptr<base::Value> value(DecodeIntegerValue(
720 policy.system_timezone().timezone_detection_type())); 719 policy.system_timezone().timezone_detection_type()));
721 if (value) { 720 if (value) {
722 policies->Set(key::kSystemTimezoneAutomaticDetection, 721 policies->Set(key::kSystemTimezoneAutomaticDetection,
723 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 722 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
724 POLICY_SOURCE_CLOUD, std::move(value), nullptr); 723 POLICY_SOURCE_CLOUD, std::move(value), nullptr);
725 } 724 }
(...skipping 28 matching lines...) Expand all
754 policies->Set(key::kUptimeLimit, POLICY_LEVEL_MANDATORY, 753 policies->Set(key::kUptimeLimit, POLICY_LEVEL_MANDATORY,
755 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 754 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
756 DecodeIntegerValue(container.uptime_limit()), nullptr); 755 DecodeIntegerValue(container.uptime_limit()), nullptr);
757 } 756 }
758 } 757 }
759 758
760 if (policy.has_start_up_flags()) { 759 if (policy.has_start_up_flags()) {
761 const em::StartUpFlagsProto& container(policy.start_up_flags()); 760 const em::StartUpFlagsProto& container(policy.start_up_flags());
762 std::unique_ptr<base::ListValue> flags(new base::ListValue()); 761 std::unique_ptr<base::ListValue> flags(new base::ListValue());
763 for (const auto& entry : container.flags()) 762 for (const auto& entry : container.flags())
764 flags->Append(base::MakeUnique<base::StringValue>(entry)); 763 flags->Append(base::MakeUnique<base::Value>(entry));
765 policies->Set(key::kDeviceStartUpFlags, POLICY_LEVEL_MANDATORY, 764 policies->Set(key::kDeviceStartUpFlags, POLICY_LEVEL_MANDATORY,
766 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, std::move(flags), 765 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, std::move(flags),
767 nullptr); 766 nullptr);
768 } 767 }
769 768
770 if (policy.has_variations_parameter()) { 769 if (policy.has_variations_parameter()) {
771 if (policy.variations_parameter().has_parameter()) { 770 if (policy.variations_parameter().has_parameter()) {
772 policies->Set(key::kDeviceVariationsRestrictParameter, 771 policies->Set(key::kDeviceVariationsRestrictParameter,
773 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, 772 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE,
774 POLICY_SOURCE_CLOUD, 773 POLICY_SOURCE_CLOUD,
775 base::MakeUnique<base::StringValue>( 774 base::MakeUnique<base::Value>(
776 policy.variations_parameter().parameter()), 775 policy.variations_parameter().parameter()),
777 nullptr); 776 nullptr);
778 } 777 }
779 } 778 }
780 779
781 if (policy.has_attestation_settings()) { 780 if (policy.has_attestation_settings()) {
782 if (policy.attestation_settings().has_attestation_enabled()) { 781 if (policy.attestation_settings().has_attestation_enabled()) {
783 policies->Set(key::kAttestationEnabledForDevice, POLICY_LEVEL_MANDATORY, 782 policies->Set(key::kAttestationEnabledForDevice, POLICY_LEVEL_MANDATORY,
784 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, 783 POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
785 base::MakeUnique<base::Value>( 784 base::MakeUnique<base::Value>(
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
877 // Decode the various groups of policies. 876 // Decode the various groups of policies.
878 DecodeLoginPolicies(policy, policies); 877 DecodeLoginPolicies(policy, policies);
879 DecodeNetworkPolicies(policy, policies); 878 DecodeNetworkPolicies(policy, policies);
880 DecodeReportingPolicies(policy, policies); 879 DecodeReportingPolicies(policy, policies);
881 DecodeAutoUpdatePolicies(policy, policies); 880 DecodeAutoUpdatePolicies(policy, policies);
882 DecodeAccessibilityPolicies(policy, policies); 881 DecodeAccessibilityPolicies(policy, policies);
883 DecodeGenericPolicies(policy, policies); 882 DecodeGenericPolicies(policy, policies);
884 } 883 }
885 884
886 } // namespace policy 885 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698