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..2bd669581bc19d2b879155fd9cf2e48d98b0ba62 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::CommitTentativeDeviceSettings( |
+ 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, |