Chromium Code Reviews| Index: chrome/browser/chromeos/extensions/file_browser_private_api.cc |
| diff --git a/chrome/browser/chromeos/extensions/file_browser_private_api.cc b/chrome/browser/chromeos/extensions/file_browser_private_api.cc |
| index d81ae0d2f8d00866a36f2ae1fae3411b34403325..68ad4e36c2a0bec31e11384385f9daa76ea0a7ef 100644 |
| --- a/chrome/browser/chromeos/extensions/file_browser_private_api.cc |
| +++ b/chrome/browser/chromeos/extensions/file_browser_private_api.cc |
| @@ -147,18 +147,7 @@ base::DictionaryValue* CreateValueFromMountPoint(Profile* profile, |
| mount_info->SetString("mountType", |
| DiskMountManager::MountTypeToString( |
| mount_point_info.mount_type)); |
| - |
| - if (mount_point_info.mount_type == chromeos::MOUNT_TYPE_ARCHIVE) { |
| - GURL source_url; |
| - if (file_manager_util::ConvertFileToFileSystemUrl(profile, |
| - FilePath(mount_point_info.source_path), |
| - extension_source_url.GetOrigin(), |
| - &source_url)) { |
| - mount_info->SetString("sourceUrl", source_url.spec()); |
| - } |
| - } else { |
| - mount_info->SetString("sourceUrl", mount_point_info.source_path); |
| - } |
| + mount_info->SetString("sourcePath", mount_point_info.source_path); |
| FilePath relative_mount_path; |
| // Convert mount point path to relative path with the external file system |
| @@ -920,6 +909,9 @@ bool AddMountFunction::RunImpl() { |
| return false; |
| } |
| + // Set default return source path to the empty string. |
| + result_.reset(Value::CreateStringValue("")); |
| + |
| #if defined(OS_CHROMEOS) |
| chromeos::MountType mount_type = |
| DiskMountManager::MountTypeFromString(mount_type_str); |
| @@ -964,10 +956,12 @@ void AddMountFunction::RaiseGDataMountEvent(gdata::GDataErrorCode error) { |
| } else { |
| error_code = chromeos::MOUNT_ERROR_NOT_AUTHENTICATED; |
| } |
| - |
| + // Pass back the gdata mount point path as source path. |
| + const std::string& gdata_path = gdata::util::GetGDataMountPointPathAsString(); |
| + result_.reset(Value::CreateStringValue(gdata_path)); |
| DiskMountManager::MountPointInfo mount_info( |
| - gdata::util::GetGDataMountPointPathAsString(), |
| - gdata::util::GetGDataMountPointPathAsString(), |
| + gdata_path, |
| + gdata_path, |
| chromeos::MOUNT_TYPE_GDATA, |
| chromeos::disks::MOUNT_CONDITION_NONE); |
| // Raise mount event |
| @@ -1021,9 +1015,11 @@ void AddMountFunction::OnMountedStateSet(const std::string& mount_type, |
| #if defined(OS_CHROMEOS) |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| DiskMountManager* disk_mount_manager = DiskMountManager::GetInstance(); |
| + // Pass back the actual source path of the mount point. |
| + result_.reset(Value::CreateStringValue(file_path.value())); |
| // MountPath() takes a std::string. |
| disk_mount_manager->MountPath(file_path.AsUTF8Unsafe(), |
| - FilePath(file_name).Extension(), |
| + FilePath(file_name).Extension(), file_name, |
| DiskMountManager::MountTypeFromString( |
| mount_type)); |
|
tbarzic
2012/04/30 17:20:41
send response before you try mounting
hshi
2012/04/30 18:49:03
Done.
|
| SendResponse(true); |