| Index: chrome/browser/chromeos/drive/drive_file_system_util.cc
|
| diff --git a/chrome/browser/chromeos/drive/drive_file_system_util.cc b/chrome/browser/chromeos/drive/drive_file_system_util.cc
|
| index 107525bf7665863f7d3ffbc311d7c89b19a1ad9a..3cb24d4c19dba396f1bb93162e2abf42eed84d71 100644
|
| --- a/chrome/browser/chromeos/drive/drive_file_system_util.cc
|
| +++ b/chrome/browser/chromeos/drive/drive_file_system_util.cc
|
| @@ -115,18 +115,16 @@ void OpenEditURLUIThread(Profile* profile, const GURL& edit_url) {
|
| void OnGetEntryInfoByResourceId(Profile* profile,
|
| const std::string& resource_id,
|
| DriveFileError error,
|
| - const base::FilePath& /* drive_file_path */,
|
| + const base::FilePath& drive_file_path,
|
| scoped_ptr<DriveEntryProto> entry_proto) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
|
|
| if (error != DRIVE_FILE_OK)
|
| return;
|
|
|
| - DCHECK(entry_proto.get());
|
| - const std::string& base_name = entry_proto->base_name();
|
| - const GURL edit_url = GetFileResourceUrl(resource_id, base_name);
|
| + const GURL edit_url = FilePathToDriveURL(drive_file_path);
|
| OpenEditURLUIThread(profile, edit_url);
|
| - DVLOG(1) << "OnFindEntryByResourceId " << edit_url;
|
| + DVLOG(1) << "OnGetEntryInfoByResourceId " << edit_url;
|
| }
|
|
|
| } // namespace
|
| @@ -179,15 +177,21 @@ const base::FilePath& GetDriveMyDriveMountPointPath() {
|
| return drive_mydrive_mount_path;
|
| }
|
|
|
| -GURL GetFileResourceUrl(const std::string& resource_id,
|
| - const std::string& file_name) {
|
| - std::string url(base::StringPrintf(
|
| - "%s:%s",
|
| - chrome::kDriveScheme,
|
| - net::EscapePath(resource_id).c_str()));
|
| +GURL FilePathToDriveURL(const base::FilePath& path) {
|
| + std::string url(base::StringPrintf("%s:%s",
|
| + chrome::kDriveScheme,
|
| + path.AsUTF8Unsafe().c_str()));
|
| return GURL(url);
|
| }
|
|
|
| +base::FilePath DriveURLToFilePath(const GURL& url) {
|
| + if (!url.is_valid() || url.scheme() != chrome::kDriveScheme)
|
| + return base::FilePath();
|
| + std::string path_string = net::UnescapeURLComponent(
|
| + url.path(), net::UnescapeRule::NORMAL);
|
| + return base::FilePath::FromUTF8Unsafe(path_string);
|
| +}
|
| +
|
| void ModifyDriveFileResourceUrl(Profile* profile,
|
| const base::FilePath& drive_cache_path,
|
| GURL* url) {
|
|
|