Index: chrome/browser/chromeos/settings/device_settings_service.cc |
diff --git a/chrome/browser/chromeos/settings/device_settings_service.cc b/chrome/browser/chromeos/settings/device_settings_service.cc |
index 0895080c4f5b53dc585217054962ec7d632475bd..0c54895c9f00739be934aeace13337c440b5c951 100644 |
--- a/chrome/browser/chromeos/settings/device_settings_service.cc |
+++ b/chrome/browser/chromeos/settings/device_settings_service.cc |
@@ -232,8 +232,13 @@ void DeviceSettingsService::IsCurrentUserOwnerAsync( |
} |
} |
-void DeviceSettingsService::SetUsername(const std::string& username) { |
+void DeviceSettingsService::InitOwner(const std::string& username, |
+ crypto::ScopedPK11Slot slot) { |
+ if (!username_.empty()) |
+ return; |
+ |
username_ = username; |
+ slot_ = slot.Pass(); |
// The private key may have become available, so force a key reload. |
owner_key_ = NULL; |
@@ -292,14 +297,19 @@ void DeviceSettingsService::EnqueueLoad(bool force_key_load) { |
weak_factory_.GetWeakPtr(), |
base::Closure())); |
operation->set_force_key_load(force_key_load); |
+ operation->set_username(username_); |
+ operation->set_slot(slot_.get()); |
Enqueue(operation); |
} |
void DeviceSettingsService::EnsureReload(bool force_key_load) { |
- if (!pending_operations_.empty()) |
+ if (!pending_operations_.empty()) { |
+ pending_operations_.front()->set_username(username_); |
+ pending_operations_.front()->set_slot(slot_.get()); |
pending_operations_.front()->RestartLoad(force_key_load); |
- else |
+ } else { |
EnqueueLoad(force_key_load); |
+ } |
} |
void DeviceSettingsService::StartNextOperation() { |