Chromium Code Reviews| Index: chrome/browser/extensions/api/music_manager_private/device_id_chromeos.cc |
| diff --git a/chrome/browser/extensions/api/music_manager_private/device_id_chromeos.cc b/chrome/browser/extensions/api/music_manager_private/device_id_chromeos.cc |
| index e1e0dac3d4934847371a208afe7324f822ab0fc6..c652d5bd0343c6b69b09eec2515eacc3ce0ee51b 100644 |
| --- a/chrome/browser/extensions/api/music_manager_private/device_id_chromeos.cc |
| +++ b/chrome/browser/extensions/api/music_manager_private/device_id_chromeos.cc |
| @@ -4,6 +4,7 @@ |
| #include "chrome/browser/extensions/api/music_manager_private/device_id.h" |
| +#include "base/message_loop/message_loop.h" |
| #include "chromeos/cryptohome/cryptohome_library.h" |
| namespace extensions { |
| @@ -14,6 +15,15 @@ namespace api { |
| void DeviceId::GetMachineId(const IdCallback& callback) { |
| chromeos::CryptohomeLibrary* c_home = chromeos::CryptohomeLibrary::Get(); |
| std::string result = c_home->GetSystemSalt(); |
| + if (result.empty()) { |
| + // cryptohome must not be running; re-request after a delay. |
| + const int64 kRequestStstemSaltDelayMs = 500; |
|
hashimoto
2013/09/18 05:53:19
nit: s/Ststem/System/?
stevenjb
2013/09/18 19:23:36
Done.
|
| + base::MessageLoop::current()->PostDelayedTask( |
| + FROM_HERE, |
| + base::Bind(&DeviceId::GetMachineId, callback), |
| + base::TimeDelta::FromMilliseconds(kRequestStstemSaltDelayMs)); |
| + return; |
| + } |
| callback.Run(result); |
| } |