| Index: chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc | 
| diff --git a/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc b/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc | 
| index 3b1570189fc5aaa3d4c0b6070c772e0483b737c0..98216eb2b1bfac05cd88735953b5326403558d35 100644 | 
| --- a/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc | 
| +++ b/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc | 
| @@ -20,7 +20,6 @@ | 
| #include "components/policy/core/browser/browser_policy_connector.h" | 
| #include "components/policy/core/common/external_data_fetcher.h" | 
| #include "components/policy/core/common/policy_map.h" | 
| -#include "components/policy/core/common/policy_types.h" | 
| #include "components/policy/core/common/schema.h" | 
| #include "policy/policy_constants.h" | 
| #include "third_party/cros_system_api/dbus/service_constants.h" | 
| @@ -116,7 +115,6 @@ | 
| policies->Set(key::kDeviceGuestModeEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.guest_mode_enabled()), | 
| NULL); | 
| @@ -128,7 +126,6 @@ | 
| if (container.has_reboot_on_shutdown()) { | 
| policies->Set(key::kDeviceRebootOnShutdown, POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue(container.reboot_on_shutdown()), | 
| NULL); | 
| } | 
| @@ -140,7 +137,6 @@ | 
| policies->Set(key::kDeviceShowUserNamesOnSignin, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.show_user_names()), | 
| NULL); | 
| @@ -153,7 +149,6 @@ | 
| policies->Set(key::kDeviceAllowNewUsers, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.allow_new_users()), | 
| NULL); | 
| @@ -172,7 +167,6 @@ | 
| policies->Set(key::kDeviceUserWhitelist, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                  POLICY_SOURCE_CLOUD, | 
| whitelist, | 
| NULL); | 
| } | 
| @@ -184,7 +178,6 @@ | 
| policies->Set(key::kDeviceEphemeralUsersEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.ephemeral_users_enabled()), | 
| NULL); | 
| @@ -233,14 +226,12 @@ | 
| policies->Set(key::kDeviceLocalAccounts, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                  POLICY_SOURCE_CLOUD, | 
| account_list.release(), | 
| NULL); | 
| if (container.has_auto_login_id()) { | 
| policies->Set(key::kDeviceLocalAccountAutoLoginId, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::StringValue(container.auto_login_id()), | 
| NULL); | 
| } | 
| @@ -248,7 +239,6 @@ | 
| policies->Set(key::kDeviceLocalAccountAutoLoginDelay, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| DecodeIntegerValue(container.auto_login_delay()).release(), | 
| NULL); | 
| } | 
| @@ -256,7 +246,6 @@ | 
| policies->Set(key::kDeviceLocalAccountAutoLoginBailoutEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.enable_auto_login_bailout()), | 
| NULL); | 
| @@ -265,7 +254,6 @@ | 
| policies->Set(key::kDeviceLocalAccountPromptForNetworkWhenOffline, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.prompt_for_network_when_offline()), | 
| NULL); | 
| @@ -281,7 +269,6 @@ | 
| policies->Set(key::kSupervisedUsersEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| value, | 
| NULL); | 
| } | 
| @@ -293,7 +280,6 @@ | 
| policies->Set(key::kDeviceTransferSAMLCookies, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.transfer_saml_cookies()), | 
| NULL); | 
| @@ -309,7 +295,6 @@ | 
| policies->Set(key::kDeviceDataRoamingEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.data_roaming_enabled()), | 
| NULL); | 
| @@ -323,7 +308,6 @@ | 
| policies->Set(key::kDeviceOpenNetworkConfiguration, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                  POLICY_SOURCE_CLOUD, | 
| new base::StringValue(config), | 
| NULL); | 
| } | 
| @@ -337,7 +321,6 @@ | 
| policies->Set(key::kReportDeviceVersionInfo, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.report_version_info()), | 
| NULL); | 
| @@ -346,7 +329,6 @@ | 
| policies->Set(key::kReportDeviceActivityTimes, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.report_activity_times()), | 
| NULL); | 
| @@ -355,7 +337,6 @@ | 
| policies->Set(key::kReportDeviceBootMode, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.report_boot_mode()), | 
| NULL); | 
| @@ -364,7 +345,6 @@ | 
| policies->Set(key::kReportDeviceLocation, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.report_location()), | 
| NULL); | 
| @@ -373,7 +353,6 @@ | 
| policies->Set(key::kReportDeviceNetworkInterfaces, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.report_network_interfaces()), | 
| NULL); | 
| @@ -382,7 +361,6 @@ | 
| policies->Set(key::kReportDeviceUsers, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue(container.report_users()), | 
| NULL); | 
| } | 
| @@ -390,7 +368,6 @@ | 
| policies->Set(key::kReportDeviceHardwareStatus, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.report_hardware_status()), | 
| NULL); | 
| @@ -399,7 +376,6 @@ | 
| policies->Set(key::kReportDeviceSessionStatus, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.report_session_status()), | 
| NULL); | 
| @@ -408,7 +384,6 @@ | 
| policies->Set(key::kReportUploadFrequency, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| DecodeIntegerValue( | 
| container.device_status_frequency()).release(), | 
| NULL); | 
| @@ -422,7 +397,6 @@ | 
| policies->Set(key::kHeartbeatEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.heartbeat_enabled()), | 
| NULL); | 
| @@ -431,7 +405,6 @@ | 
| policies->Set(key::kHeartbeatFrequency, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| DecodeIntegerValue( | 
| container.heartbeat_frequency()).release(), | 
| NULL); | 
| @@ -444,7 +417,6 @@ | 
| if (container.has_system_log_upload_enabled()) { | 
| policies->Set( | 
| key::kLogUploadEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, | 
| -          POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue(container.system_log_upload_enabled()), | 
| NULL); | 
| } | 
| @@ -460,7 +432,6 @@ | 
| policies->Set(key::kChromeOsReleaseChannel, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::StringValue(channel), | 
| NULL); | 
| // TODO(dubroy): Once http://crosbug.com/17015 is implemented, we won't | 
| @@ -473,7 +444,6 @@ | 
| policies->Set(key::kChromeOsReleaseChannelDelegated, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.release_channel_delegated()), | 
| NULL); | 
| @@ -486,7 +456,6 @@ | 
| policies->Set(key::kDeviceAutoUpdateDisabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.update_disabled()), | 
| NULL); | 
| @@ -496,7 +465,6 @@ | 
| policies->Set(key::kDeviceTargetVersionPrefix, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::StringValue( | 
| container.target_version_prefix()), | 
| NULL); | 
| @@ -509,7 +477,6 @@ | 
| policies->Set(key::kDeviceUpdateScatterFactor, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue(static_cast<int>( | 
| container.scatter_factor_in_seconds())), | 
| NULL); | 
| @@ -528,7 +495,6 @@ | 
| policies->Set(key::kDeviceUpdateAllowedConnectionTypes, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| allowed_connection_types, | 
| NULL); | 
| } | 
| @@ -538,7 +504,6 @@ | 
| key::kDeviceUpdateHttpDownloadsEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -          POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue(container.http_downloads_enabled()), | 
| NULL); | 
| } | 
| @@ -547,7 +512,6 @@ | 
| policies->Set(key::kRebootAfterUpdate, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.reboot_after_update()), | 
| NULL); | 
| @@ -557,7 +521,6 @@ | 
| policies->Set(key::kDeviceAutoUpdateP2PEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue(container.p2p_enabled()), | 
| NULL); | 
| } | 
| @@ -575,7 +538,6 @@ | 
| key::kDeviceLoginScreenDefaultLargeCursorEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -          POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.login_screen_default_large_cursor_enabled()), | 
| NULL); | 
| @@ -586,7 +548,6 @@ | 
| key::kDeviceLoginScreenDefaultSpokenFeedbackEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -          POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.login_screen_default_spoken_feedback_enabled()), | 
| NULL); | 
| @@ -597,7 +558,6 @@ | 
| key::kDeviceLoginScreenDefaultHighContrastEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -          POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.login_screen_default_high_contrast_enabled()), | 
| NULL); | 
| @@ -608,7 +568,6 @@ | 
| key::kDeviceLoginScreenDefaultScreenMagnifierType, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -          POLICY_SOURCE_CLOUD, | 
| DecodeIntegerValue( | 
| container.login_screen_default_screen_magnifier_type()).release(), | 
| NULL); | 
| @@ -619,7 +578,6 @@ | 
| key::kDeviceLoginScreenDefaultVirtualKeyboardEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -          POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.login_screen_default_virtual_keyboard_enabled()), | 
| NULL); | 
| @@ -637,7 +595,6 @@ | 
| key::kDevicePolicyRefreshRate, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -          POLICY_SOURCE_CLOUD, | 
| DecodeIntegerValue(container.device_policy_refresh_rate()).release(), | 
| NULL); | 
| } | 
| @@ -649,7 +606,6 @@ | 
| policies->Set(key::kDeviceMetricsReportingEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.metrics_enabled()), | 
| NULL); | 
| @@ -661,7 +617,6 @@ | 
| policies->Set(key::kSystemTimezone, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::StringValue( | 
| policy.system_timezone().timezone()), | 
| NULL); | 
| @@ -673,7 +628,6 @@ | 
| policies->Set(key::kSystemUse24HourClock, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| policy.use_24hour_clock().use_24hour_clock()), | 
| NULL); | 
| @@ -687,7 +641,6 @@ | 
| policies->Set(key::kDeviceAllowRedeemChromeOsRegistrationOffers, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| container.allow_redeem_offers()), | 
| NULL); | 
| @@ -700,7 +653,6 @@ | 
| policies->Set(key::kUptimeLimit, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| DecodeIntegerValue(container.uptime_limit()).release(), | 
| NULL); | 
| } | 
| @@ -718,7 +670,6 @@ | 
| policies->Set(key::kDeviceStartUpFlags, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                  POLICY_SOURCE_CLOUD, | 
| flags, | 
| NULL); | 
| } | 
| @@ -728,7 +679,6 @@ | 
| policies->Set(key::kDeviceVariationsRestrictParameter, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::StringValue( | 
| policy.variations_parameter().parameter()), | 
| NULL); | 
| @@ -740,7 +690,6 @@ | 
| policies->Set(key::kAttestationEnabledForDevice, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                    POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| policy.attestation_settings().attestation_enabled()), | 
| NULL); | 
| @@ -750,7 +699,6 @@ | 
| key::kAttestationForContentProtectionEnabled, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -          POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue( | 
| policy.attestation_settings().content_protection_enabled()), | 
| NULL); | 
| @@ -769,7 +717,6 @@ | 
| policies->Set(key::kDeviceLoginScreenPowerManagement, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -                      POLICY_SOURCE_CLOUD, | 
| decoded_json.release(), | 
| NULL); | 
| } | 
| @@ -783,7 +730,6 @@ | 
| key::kDeviceBlockDevmode, | 
| POLICY_LEVEL_MANDATORY, | 
| POLICY_SCOPE_MACHINE, | 
| -          POLICY_SOURCE_CLOUD, | 
| new base::FundamentalValue(container.block_devmode()), | 
| NULL); | 
| } | 
| @@ -794,7 +740,7 @@ | 
| if (container.has_extension_cache_size()) { | 
| policies->Set( | 
| key::kExtensionCacheSize, POLICY_LEVEL_MANDATORY, | 
| -          POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, | 
| +          POLICY_SCOPE_MACHINE, | 
| DecodeIntegerValue(container.extension_cache_size()).release(), | 
| nullptr); | 
| } | 
| @@ -805,7 +751,7 @@ | 
| policy.login_screen_domain_auto_complete()); | 
| policies->Set( | 
| key::kDeviceLoginScreenDomainAutoComplete, POLICY_LEVEL_MANDATORY, | 
| -        POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD, | 
| +        POLICY_SCOPE_MACHINE, | 
| new base::StringValue(container.login_screen_domain_auto_complete()), | 
| nullptr); | 
| } | 
|  |