| Index: chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
|
| diff --git a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
|
| index ea82e03b7b72912c0736dbfb4921433f737a101d..abb7ae93d4e3ead4d0aabccb317cd3494dfbfd1e 100644
|
| --- a/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
|
| +++ b/chrome/browser/chromeos/ownership/owner_settings_service_chromeos.cc
|
| @@ -224,6 +224,24 @@ bool OwnerSettingsServiceChromeOS::Set(const std::string& setting,
|
| return true;
|
| }
|
|
|
| +bool OwnerSettingsServiceChromeOS::SetPolicy(
|
| + scoped_ptr<enterprise_management::PolicyData> policy) {
|
| + if (!IsOwner() && !IsOwnerInTests(user_id_))
|
| + return false;
|
| + if (policy->username() != user_id_) {
|
| + LOG(ERROR) << "Username mismatch: " << policy->username() << " vs. "
|
| + << user_id_;
|
| + return false;
|
| + }
|
| + CHECK(device_settings_.ParseFromString(policy->policy_value()));
|
| + FOR_EACH_OBSERVER(OwnerSettingsService::Observer,
|
| + observers_,
|
| + OnTentativeChangesInPolicy(*policy));
|
| + has_pending_changes_ = true;
|
| + StoreDeviceSettings();
|
| + return true;
|
| +}
|
| +
|
| void OwnerSettingsServiceChromeOS::Observe(
|
| int type,
|
| const content::NotificationSource& source,
|
|
|