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

Unified Diff: chrome/browser/chromeos/settings/device_settings_service.h

Issue 23532034: Postpone loading about:flags ui until the certificates have been loaded (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/settings/device_settings_service.h
diff --git a/chrome/browser/chromeos/settings/device_settings_service.h b/chrome/browser/chromeos/settings/device_settings_service.h
index dd3da8d3c6b3a287b1276b36168d70d047675428..d2b516a398b3322c04005fab9b2cb87d05c090d2 100644
--- a/chrome/browser/chromeos/settings/device_settings_service.h
+++ b/chrome/browser/chromeos/settings/device_settings_service.h
@@ -83,7 +83,8 @@ class DeviceSettingsService : public SessionManagerClient::Observer,
OWNERSHIP_TAKEN
};
- typedef base::Callback<void(OwnershipStatus, bool)> OwnershipStatusCallback;
+ typedef base::Callback<void(OwnershipStatus)> OwnershipStatusCallback;
+ typedef base::Callback<void(bool)> IsCurrentUserOwnerCallback;
// Status codes for Store().
enum Status {
@@ -176,6 +177,11 @@ class DeviceSettingsService : public SessionManagerClient::Observer,
// Checks whether we have the private owner key.
bool HasPrivateOwnerKey();
+ // Determines whether the current user is the owner. The callback is
+ // guaranteed not to be called before it is possible to determine if the
+ // current user is the owner (by testing existence of the private owner key).
+ void IsCurrentUserOwnerAsync(const IsCurrentUserOwnerCallback& callback);
+
// Sets the identity of the user that's interacting with the service. This is
// relevant only for writing settings through SignAndStore().
void SetUsername(const std::string& username);
@@ -223,9 +229,16 @@ class DeviceSettingsService : public SessionManagerClient::Observer,
Status store_status_;
std::vector<OwnershipStatusCallback> pending_ownership_status_callbacks_;
+ std::vector<IsCurrentUserOwnerCallback>
+ pending_is_current_user_owner_callbacks_;
std::string username_;
scoped_refptr<OwnerKey> owner_key_;
+ // Whether certificates have been loaded by CertLoader.
+ bool certificates_loaded_;
+ // Whether certificates were loaded when the current owner key was set.
+ // Implies that the current user is owner iff the private owner key is set.
+ bool owner_key_loaded_with_certificates_;
scoped_ptr<enterprise_management::PolicyData> policy_data_;
scoped_ptr<enterprise_management::ChromeDeviceSettingsProto> device_settings_;

Powered by Google App Engine
This is Rietveld 408576698