| Index: chrome/browser/extensions/api/system_storage/storage_info_provider.cc
|
| diff --git a/chrome/browser/extensions/api/system_storage/storage_info_provider.cc b/chrome/browser/extensions/api/system_storage/storage_info_provider.cc
|
| index 0c1abf196565ef5a3cc053bc5cad2299b15f250a..5cdc4692aae672bd5535f09a2bac83d68c1f6d8c 100644
|
| --- a/chrome/browser/extensions/api/system_storage/storage_info_provider.cc
|
| +++ b/chrome/browser/extensions/api/system_storage/storage_info_provider.cc
|
| @@ -87,6 +87,28 @@ void StorageInfoProvider::GetAllStoragesIntoInfoList() {
|
| }
|
| }
|
|
|
| +double StorageInfoProvider::GetStorageFreeSpaceFromTransientIdOnFileThread(
|
| + const std::string& transient_id) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
|
| + std::vector<StorageInfo> storage_list =
|
| + StorageMonitor::GetInstance()->GetAllAvailableStorages();
|
| +
|
| + std::string device_id =
|
| + StorageMonitor::GetInstance()->GetDeviceIdForTransientId(
|
| + transient_id);
|
| +
|
| + // Lookup the matched storage info by |device_id|.
|
| + for (std::vector<StorageInfo>::const_iterator it =
|
| + storage_list.begin();
|
| + it != storage_list.end(); ++it) {
|
| + if (device_id == it->device_id())
|
| + return static_cast<double>(base::SysInfo::AmountOfFreeDiskSpace(
|
| + base::FilePath(it->location())));
|
| + }
|
| +
|
| + return -1;
|
| +}
|
| +
|
| // static
|
| StorageInfoProvider* StorageInfoProvider::Get() {
|
| if (provider_.Get().get() == NULL)
|
|
|