diff options
author | kerz@chromium.org <kerz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-20 22:19:17 +0000 |
---|---|---|
committer | kerz@chromium.org <kerz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-20 22:19:17 +0000 |
commit | eeed85c4662942e0c9e557d36fa0d26a938058e5 (patch) | |
tree | 3e6e267779cd0de15b1dfb8543e399023a4b1342 /webkit/fileapi/local_file_system_file_util.cc | |
parent | fe2534f1d0294dadd3bc915982ef378906a2be57 (diff) | |
download | chromium_src-eeed85c4662942e0c9e557d36fa0d26a938058e5.zip chromium_src-eeed85c4662942e0c9e557d36fa0d26a938058e5.tar.gz chromium_src-eeed85c4662942e0c9e557d36fa0d26a938058e5.tar.bz2 |
Merge 82266 - Fixed file/directory url resolution for external mount point provider.Per Eric's request, refactored FileSystemDirURLRequestJob and FileSystemURLRequestJob classes to resolve local file system through a new operation.BUG=chromium-os:14225TEST=added new test cases to FileSystemPathManagerTest.*, added FileSystemOperationTest.TestGetLocalFilePathSuccessReview URL: http://codereview.chromium.org/6864040
TBR=zelidrag@chromium.org
Review URL: http://codereview.chromium.org/6882102
git-svn-id: svn://svn.chromium.org/chrome/branches/742/src@82372 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/local_file_system_file_util.cc')
-rw-r--r-- | webkit/fileapi/local_file_system_file_util.cc | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/webkit/fileapi/local_file_system_file_util.cc b/webkit/fileapi/local_file_system_file_util.cc index 068a052..7dad5b1 100644 --- a/webkit/fileapi/local_file_system_file_util.cc +++ b/webkit/fileapi/local_file_system_file_util.cc @@ -44,6 +44,20 @@ PlatformFileError LocalFileSystemFileUtil::EnsureFileExists( context, local_path, created); } +PlatformFileError LocalFileSystemFileUtil::GetLocalFilePath( + FileSystemOperationContext* context, + const FilePath& virtual_path, + FilePath* local_path) { + FilePath path = + GetLocalPath(context, context->src_origin_url(), context->src_type(), + virtual_path); + if (path.empty()) + return base::PLATFORM_FILE_ERROR_NOT_FOUND; + + *local_path = path; + return base::PLATFORM_FILE_OK; +} + PlatformFileError LocalFileSystemFileUtil::GetFileInfo( FileSystemOperationContext* context, const FilePath& file_path, @@ -170,7 +184,8 @@ FilePath LocalFileSystemFileUtil::GetLocalPath( FileSystemType type, const FilePath& virtual_path) { FilePath root = context->file_system_context()->path_manager()-> - GetFileSystemRootPathOnFileThread(origin_url, type, virtual_path, false); + ValidateFileSystemRootAndGetPathOnFileThread(origin_url, type, + virtual_path, false); if (root.empty()) return FilePath(); return root.Append(virtual_path); |