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

Unified Diff: chromeos/cryptohome/system_salt_getter.cc

Issue 43503003: chromeos: Remove SystemSaltGetter::GetSystemSaltSync (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix test Created 7 years, 2 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: chromeos/cryptohome/system_salt_getter.cc
diff --git a/chromeos/cryptohome/system_salt_getter.cc b/chromeos/cryptohome/system_salt_getter.cc
index 1fa25a325056662694e7e9deb23fdfb1910569dd..2a26db755625255b13a67e7b21b2cbec3d882bfd 100644
--- a/chromeos/cryptohome/system_salt_getter.cc
+++ b/chromeos/cryptohome/system_salt_getter.cc
@@ -27,35 +27,43 @@ SystemSaltGetter::~SystemSaltGetter() {
void SystemSaltGetter::GetSystemSalt(
const GetSystemSaltCallback& callback) {
+ if (!system_salt_.empty()) {
+ base::MessageLoopProxy::current()->PostTask(
+ FROM_HERE, base::Bind(callback, system_salt_));
+ return;
+ }
+
DBusThreadManager::Get()->GetCryptohomeClient()->WaitForServiceToBeAvailable(
- base::Bind(&SystemSaltGetter::GetSystemSaltInternal,
+ base::Bind(&SystemSaltGetter::DidWaitForServiceToBeAvailable,
weak_ptr_factory_.GetWeakPtr(),
callback));
}
-std::string SystemSaltGetter::GetSystemSaltSync() {
- LoadSystemSalt(); // no-op if it's already loaded.
- return system_salt_;
-}
-
-void SystemSaltGetter::GetSystemSaltInternal(
+void SystemSaltGetter::DidWaitForServiceToBeAvailable(
const GetSystemSaltCallback& callback,
bool service_is_available) {
- LOG_IF(ERROR, !service_is_available) << "WaitForServiceToBeAvailable failed.";
- // TODO(hashimoto): Stop using GetSystemSaltSync(). crbug.com/141009
- callback.Run(GetSystemSaltSync());
+ if (!service_is_available) {
+ LOG(ERROR) << "WaitForServiceToBeAvailable failed.";
+ callback.Run(std::string());
+ return;
+ }
+ DBusThreadManager::Get()->GetCryptohomeClient()->GetSystemSalt(
+ base::Bind(&SystemSaltGetter::DidGetSystemSalt,
+ weak_ptr_factory_.GetWeakPtr(),
+ callback));
}
-void SystemSaltGetter::LoadSystemSalt() {
- if (!system_salt_.empty())
- return;
- std::vector<uint8> salt;
- DBusThreadManager::Get()->GetCryptohomeClient()->GetSystemSalt(&salt);
- if (salt.empty() || salt.size() % 2 != 0U) {
+void SystemSaltGetter::DidGetSystemSalt(const GetSystemSaltCallback& callback,
+ DBusMethodCallStatus call_status,
+ const std::vector<uint8>& system_salt) {
+ if (call_status == DBUS_METHOD_CALL_SUCCESS &&
+ !system_salt.empty() &&
+ system_salt.size() % 2 == 0U)
+ system_salt_ = ConvertRawSaltToHexString(system_salt);
+ else
LOG(WARNING) << "System salt not available";
- return;
- }
- system_salt_ = ConvertRawSaltToHexString(salt);
+
+ callback.Run(system_salt_);
}
// static

Powered by Google App Engine
This is Rietveld 408576698