Index: chrome/browser/chromeos/drive/drive_file_system_proxy.cc |
diff --git a/chrome/browser/chromeos/drive/drive_file_system_proxy.cc b/chrome/browser/chromeos/drive/drive_file_system_proxy.cc |
index 6a616508d9bc2d70940b190af5ccd2646b05cbe9..100a4aafbece635d9882b47b1d37e748a7f5d16d 100644 |
--- a/chrome/browser/chromeos/drive/drive_file_system_proxy.cc |
+++ b/chrome/browser/chromeos/drive/drive_file_system_proxy.cc |
@@ -697,8 +697,15 @@ bool DriveFileSystemProxy::ValidateUrl( |
if (!url.is_valid() || url.type() != fileapi::kFileSystemTypeDrive) { |
return false; |
} |
- *file_path = url.virtual_path(); |
- return true; |
+ |
+ // |url.virtual_path()| cannot be used directly because in the case the url is |
+ // isolated file system url, the virtual path will be formatted as |
+ // <isolated_file_system_id>/<file_name> and thus unusable by drive file |
+ // system. |
+ // TODO(kinaba): fix other uses of virtual_path() as in |
+ // https://codereview.chromium.org/12483010/ |
+ *file_path = util::ExtractDrivePath(url.path()); |
+ return !file_path->empty(); |
} |
void DriveFileSystemProxy::CallDriveFileSystemMethodOnUIThread( |