diff options
Diffstat (limited to 'webkit/fileapi')
-rw-r--r-- | webkit/fileapi/file_system_file_util.h | 10 | ||||
-rw-r--r-- | webkit/fileapi/file_util_helper.cc | 43 | ||||
-rw-r--r-- | webkit/fileapi/file_util_helper.h | 10 | ||||
-rw-r--r-- | webkit/fileapi/isolated_file_util.cc | 22 | ||||
-rw-r--r-- | webkit/fileapi/isolated_file_util.h | 6 | ||||
-rw-r--r-- | webkit/fileapi/local_file_system_operation_unittest.cc | 7 | ||||
-rw-r--r-- | webkit/fileapi/local_file_system_quota_unittest.cc | 7 | ||||
-rw-r--r-- | webkit/fileapi/local_file_util.cc | 18 | ||||
-rw-r--r-- | webkit/fileapi/local_file_util.h | 6 | ||||
-rw-r--r-- | webkit/fileapi/media/device_media_file_util.cc | 20 | ||||
-rw-r--r-- | webkit/fileapi/media/device_media_file_util.h | 6 | ||||
-rw-r--r-- | webkit/fileapi/media/native_media_file_util.cc | 12 | ||||
-rw-r--r-- | webkit/fileapi/media/native_media_file_util.h | 3 | ||||
-rw-r--r-- | webkit/fileapi/obfuscated_file_util.cc | 39 | ||||
-rw-r--r-- | webkit/fileapi/obfuscated_file_util.h | 6 | ||||
-rw-r--r-- | webkit/fileapi/obfuscated_file_util_unittest.cc | 93 | ||||
-rw-r--r-- | webkit/fileapi/sandbox_mount_point_provider_unittest.cc | 56 |
17 files changed, 123 insertions, 241 deletions
diff --git a/webkit/fileapi/file_system_file_util.h b/webkit/fileapi/file_system_file_util.h index 26b98dd..634389f 100644 --- a/webkit/fileapi/file_system_file_util.h +++ b/webkit/fileapi/file_system_file_util.h @@ -149,16 +149,6 @@ class FILEAPI_EXPORT FileSystemFileUtil { const FileSystemURL& url, int64 length) = 0; - // Returns true if a given |url| exists. - virtual bool PathExists( - FileSystemOperationContext* context, - const FileSystemURL& url) = 0; - - // Returns true if a given |url| exists and is a directory. - virtual bool DirectoryExists( - FileSystemOperationContext* context, - const FileSystemURL& url) = 0; - // Returns true if a given |url| is an empty directory. virtual bool IsDirectoryEmpty( FileSystemOperationContext* context, diff --git a/webkit/fileapi/file_util_helper.cc b/webkit/fileapi/file_util_helper.cc index 651220b4..b2e0c08 100644 --- a/webkit/fileapi/file_util_helper.cc +++ b/webkit/fileapi/file_util_helper.cc @@ -105,14 +105,14 @@ base::PlatformFileError CrossFileUtilHelper::DoWork() { base::PlatformFileError error = PerformErrorCheckAndPreparation(); if (error != base::PLATFORM_FILE_OK) return error; - if (src_util_->DirectoryExists(context_, src_root_url_)) + if (FileUtilHelper::DirectoryExists(context_, src_util_, src_root_url_)) return CopyOrMoveDirectory(src_root_url_, dest_root_url_); return CopyOrMoveFile(src_root_url_, dest_root_url_); } PlatformFileError CrossFileUtilHelper::PerformErrorCheckAndPreparation() { // Exits earlier if the source path does not exist. - if (!src_util_->PathExists(context_, src_root_url_)) + if (!FileUtilHelper::PathExists(context_, src_util_, src_root_url_)) return base::PLATFORM_FILE_ERROR_NOT_FOUND; // The parent of the |dest_root_url_| does not exist. @@ -124,14 +124,15 @@ PlatformFileError CrossFileUtilHelper::PerformErrorCheckAndPreparation() { return base::PLATFORM_FILE_ERROR_INVALID_OPERATION; // Now it is ok to return if the |dest_root_url_| does not exist. - if (!dest_util_->PathExists(context_, dest_root_url_)) + if (!FileUtilHelper::PathExists(context_, dest_util_, dest_root_url_)) return base::PLATFORM_FILE_OK; // |src_root_url_| exists and is a directory. // |dest_root_url_| exists and is a file. - bool src_is_directory = src_util_->DirectoryExists(context_, src_root_url_); + bool src_is_directory = + FileUtilHelper::DirectoryExists(context_, src_util_, src_root_url_); bool dest_is_directory = - dest_util_->DirectoryExists(context_, dest_root_url_); + FileUtilHelper::DirectoryExists(context_, dest_util_, dest_root_url_); // Either one of |src_root_url_| or |dest_root_url_| is directory, // while the other is not. @@ -165,7 +166,8 @@ bool CrossFileUtilHelper::ParentExists( FilePath parent = url.path().DirName(); if (parent == FilePath(FILE_PATH_LITERAL("."))) return true; - return file_util->DirectoryExists(context_, url.WithPath(parent)); + return FileUtilHelper::DirectoryExists(context_, file_util, + url.WithPath(parent)); } PlatformFileError CrossFileUtilHelper::CopyOrMoveDirectory( @@ -285,6 +287,31 @@ PlatformFileError CrossFileUtilHelper::CopyOrMoveFile( } // anonymous namespace // static +bool FileUtilHelper::PathExists(FileSystemOperationContext* context, + FileSystemFileUtil* file_util, + const FileSystemURL& url) { + base::PlatformFileInfo file_info; + FilePath platform_path; + PlatformFileError error = file_util->GetFileInfo( + context, url, &file_info, &platform_path); + return error == base::PLATFORM_FILE_OK; +} + +// static +bool FileUtilHelper::DirectoryExists(FileSystemOperationContext* context, + FileSystemFileUtil* file_util, + const FileSystemURL& url) { + if (url.path().empty()) + return true; + + base::PlatformFileInfo file_info; + FilePath platform_path; + PlatformFileError error = file_util->GetFileInfo( + context, url, &file_info, &platform_path); + return error == base::PLATFORM_FILE_OK && file_info.is_directory; +} + +// static base::PlatformFileError FileUtilHelper::Copy( FileSystemOperationContext* context, FileSystemFileUtil* src_file_util, @@ -314,7 +341,7 @@ base::PlatformFileError FileUtilHelper::Delete( FileSystemFileUtil* file_util, const FileSystemURL& url, bool recursive) { - if (file_util->DirectoryExists(context, url)) { + if (DirectoryExists(context, file_util, url)) { if (!recursive) return file_util->DeleteSingleDirectory(context, url); else @@ -333,7 +360,7 @@ base::PlatformFileError FileUtilHelper::ReadDirectory( DCHECK(entries); // TODO(kkanetkar): Implement directory read in multiple chunks. - if (!file_util->DirectoryExists(context, url)) + if (!DirectoryExists(context, file_util, url)) return base::PLATFORM_FILE_ERROR_NOT_FOUND; scoped_ptr<FileSystemFileUtil::AbstractFileEnumerator> file_enum( diff --git a/webkit/fileapi/file_util_helper.h b/webkit/fileapi/file_util_helper.h index 9a474ed..47e6605 100644 --- a/webkit/fileapi/file_util_helper.h +++ b/webkit/fileapi/file_util_helper.h @@ -21,6 +21,16 @@ class FileSystemURL; // FileSystemFileUtilProxy. The method should be called on FILE thread. class FILEAPI_EXPORT_PRIVATE FileUtilHelper { public: + static bool PathExists( + FileSystemOperationContext* context, + FileSystemFileUtil* file_util, + const FileSystemURL& url); + + static bool DirectoryExists( + FileSystemOperationContext* context, + FileSystemFileUtil* file_util, + const FileSystemURL& url); + static base::PlatformFileError Copy( FileSystemOperationContext* context, FileSystemFileUtil* src_file_util, diff --git a/webkit/fileapi/isolated_file_util.cc b/webkit/fileapi/isolated_file_util.cc index 39820cc..d618978 100644 --- a/webkit/fileapi/isolated_file_util.cc +++ b/webkit/fileapi/isolated_file_util.cc @@ -58,7 +58,7 @@ class SetFileEnumerator : public FileSystemFileUtil::AbstractFileEnumerator { class RecursiveSetFileEnumerator : public FileSystemFileUtil::AbstractFileEnumerator { public: - RecursiveSetFileEnumerator(const std::vector<FileInfo>& files) + explicit RecursiveSetFileEnumerator(const std::vector<FileInfo>& files) : files_(files) { file_iter_ = files_.begin(); current_enumerator_.reset(new SetFileEnumerator(files)); @@ -176,26 +176,6 @@ DraggedFileUtil::CreateFileEnumerator( return new RecursiveSetFileEnumerator(toplevels); } -bool DraggedFileUtil::PathExists( - FileSystemOperationContext* context, - const FileSystemURL& url) { - if (url.path().empty()) { - // The root directory case. - return true; - } - return NativeFileUtil::PathExists(url.path()); -} - -bool DraggedFileUtil::DirectoryExists( - FileSystemOperationContext* context, - const FileSystemURL& url) { - if (url.path().empty()) { - // The root directory case. - return true; - } - return NativeFileUtil::DirectoryExists(url.path()); -} - bool DraggedFileUtil::IsDirectoryEmpty( FileSystemOperationContext* context, const FileSystemURL& url) { diff --git a/webkit/fileapi/isolated_file_util.h b/webkit/fileapi/isolated_file_util.h index fb537e8..a5133ac 100644 --- a/webkit/fileapi/isolated_file_util.h +++ b/webkit/fileapi/isolated_file_util.h @@ -42,12 +42,6 @@ class FILEAPI_EXPORT_PRIVATE DraggedFileUtil : public IsolatedFileUtil { FileSystemOperationContext* context, const FileSystemURL& root_url, bool recursive) OVERRIDE; - virtual bool PathExists( - FileSystemOperationContext* context, - const FileSystemURL& url) OVERRIDE; - virtual bool DirectoryExists( - FileSystemOperationContext* context, - const FileSystemURL& url) OVERRIDE; virtual bool IsDirectoryEmpty( FileSystemOperationContext* context, const FileSystemURL& url) OVERRIDE; diff --git a/webkit/fileapi/local_file_system_operation_unittest.cc b/webkit/fileapi/local_file_system_operation_unittest.cc index e801590..a67b100 100644 --- a/webkit/fileapi/local_file_system_operation_unittest.cc +++ b/webkit/fileapi/local_file_system_operation_unittest.cc @@ -19,6 +19,7 @@ #include "webkit/fileapi/file_system_mount_point_provider.h" #include "webkit/fileapi/file_system_quota_util.h" #include "webkit/fileapi/file_system_util.h" +#include "webkit/fileapi/file_util_helper.h" #include "webkit/fileapi/local_file_system_test_helper.h" #include "webkit/quota/quota_manager.h" @@ -215,17 +216,17 @@ class LocalFileSystemOperationTest bool FileExists(const FilePath& virtual_path) { FileSystemURL path = test_helper_.CreateURL(virtual_path); scoped_ptr<FileSystemOperationContext> context(NewContext()); - if (!file_util()->PathExists(context.get(), path)) + if (!FileUtilHelper::PathExists(context.get(), file_util(), path)) return false; context.reset(NewContext()); - return !file_util()->DirectoryExists(context.get(), path); + return !FileUtilHelper::DirectoryExists(context.get(), file_util(), path); } bool DirectoryExists(const FilePath& virtual_path) { FileSystemURL url = test_helper_.CreateURL(virtual_path); scoped_ptr<FileSystemOperationContext> context(NewContext()); - return file_util()->DirectoryExists(context.get(), url); + return FileUtilHelper::DirectoryExists(context.get(), file_util(), url); } FilePath CreateUniqueFileInDir(const FilePath& virtual_dir_path) { diff --git a/webkit/fileapi/local_file_system_quota_unittest.cc b/webkit/fileapi/local_file_system_quota_unittest.cc index f673ae8..043adde 100644 --- a/webkit/fileapi/local_file_system_quota_unittest.cc +++ b/webkit/fileapi/local_file_system_quota_unittest.cc @@ -18,6 +18,7 @@ #include "testing/gtest/include/gtest/gtest.h" #include "webkit/fileapi/file_system_usage_cache.h" #include "webkit/fileapi/file_system_util.h" +#include "webkit/fileapi/file_util_helper.h" #include "webkit/fileapi/local_file_system_operation.h" #include "webkit/fileapi/local_file_system_test_helper.h" #include "webkit/quota/quota_manager.h" @@ -33,7 +34,7 @@ void AssertFileErrorEq(base::PlatformFileError expected, ASSERT_EQ(expected, actual); } -} // namespace +} // namespace class LocalFileSystemQuotaTest : public testing::Test, @@ -101,13 +102,13 @@ class LocalFileSystemQuotaTest bool FileExists(const FilePath& virtual_path) { FileSystemURL path = test_helper_.CreateURL(virtual_path); scoped_ptr<FileSystemOperationContext> context(NewContext()); - return file_util()->PathExists(context.get(), path); + return FileUtilHelper::PathExists(context.get(), file_util(), path); } bool DirectoryExists(const FilePath& virtual_path) { FileSystemURL path = test_helper_.CreateURL(virtual_path); scoped_ptr<FileSystemOperationContext> context(NewContext()); - return file_util()->DirectoryExists(context.get(), path); + return FileUtilHelper::DirectoryExists(context.get(), file_util(), path); } FilePath CreateUniqueFileInDir(const FilePath& virtual_dir_path) { diff --git a/webkit/fileapi/local_file_util.cc b/webkit/fileapi/local_file_util.cc index 3274171..1150ec3 100644 --- a/webkit/fileapi/local_file_util.cc +++ b/webkit/fileapi/local_file_util.cc @@ -186,24 +186,6 @@ PlatformFileError LocalFileUtil::Truncate( return NativeFileUtil::Truncate(file_path, length); } -bool LocalFileUtil::PathExists( - FileSystemOperationContext* context, - const FileSystemURL& url) { - FilePath file_path; - if (GetLocalFilePath(context, url, &file_path) != base::PLATFORM_FILE_OK) - return false; - return NativeFileUtil::PathExists(file_path); -} - -bool LocalFileUtil::DirectoryExists( - FileSystemOperationContext* context, - const FileSystemURL& url) { - FilePath file_path; - if (GetLocalFilePath(context, url, &file_path) != base::PLATFORM_FILE_OK) - return false; - return NativeFileUtil::DirectoryExists(file_path); -} - bool LocalFileUtil::IsDirectoryEmpty( FileSystemOperationContext* context, const FileSystemURL& url) { diff --git a/webkit/fileapi/local_file_util.h b/webkit/fileapi/local_file_util.h index a44b18a..5de2a06 100644 --- a/webkit/fileapi/local_file_util.h +++ b/webkit/fileapi/local_file_util.h @@ -79,12 +79,6 @@ class FILEAPI_EXPORT_PRIVATE LocalFileUtil : public FileSystemFileUtil { FileSystemOperationContext* context, const FileSystemURL& url, int64 length) OVERRIDE; - virtual bool PathExists( - FileSystemOperationContext* context, - const FileSystemURL& url) OVERRIDE; - virtual bool DirectoryExists( - FileSystemOperationContext* context, - const FileSystemURL& url) OVERRIDE; virtual bool IsDirectoryEmpty( FileSystemOperationContext* context, const FileSystemURL& url) OVERRIDE; diff --git a/webkit/fileapi/media/device_media_file_util.cc b/webkit/fileapi/media/device_media_file_util.cc index ec95076..93c8c78 100644 --- a/webkit/fileapi/media/device_media_file_util.cc +++ b/webkit/fileapi/media/device_media_file_util.cc @@ -116,26 +116,6 @@ PlatformFileError DeviceMediaFileUtil::Truncate( return base::PLATFORM_FILE_ERROR_SECURITY; } -bool DeviceMediaFileUtil::PathExists( - FileSystemOperationContext* context, - const FileSystemURL& url) { - if (!context->media_device()) - return false; - - FilePath path; - PlatformFileInfo file_info; - PlatformFileError error = GetFileInfo(context, url, &file_info, &path); - return error == base::PLATFORM_FILE_OK; -} - -bool DeviceMediaFileUtil::DirectoryExists( - FileSystemOperationContext* context, - const FileSystemURL& url) { - if (!context->media_device()) - return false; - return context->media_device()->DirectoryExists(url.path()); -} - bool DeviceMediaFileUtil::IsDirectoryEmpty( FileSystemOperationContext* context, const FileSystemURL& url) { diff --git a/webkit/fileapi/media/device_media_file_util.h b/webkit/fileapi/media/device_media_file_util.h index cb86cf7..50d56a0 100644 --- a/webkit/fileapi/media/device_media_file_util.h +++ b/webkit/fileapi/media/device_media_file_util.h @@ -63,12 +63,6 @@ class FILEAPI_EXPORT_PRIVATE DeviceMediaFileUtil : public FileSystemFileUtil { FileSystemOperationContext* context, const FileSystemURL& url, int64 length) OVERRIDE; - virtual bool PathExists( - FileSystemOperationContext* context, - const FileSystemURL& url) OVERRIDE; - virtual bool DirectoryExists( - FileSystemOperationContext* context, - const FileSystemURL& url) OVERRIDE; virtual bool IsDirectoryEmpty( FileSystemOperationContext* context, const FileSystemURL& url) OVERRIDE; diff --git a/webkit/fileapi/media/native_media_file_util.cc b/webkit/fileapi/media/native_media_file_util.cc index da5d6ba..e6ec54b 100644 --- a/webkit/fileapi/media/native_media_file_util.cc +++ b/webkit/fileapi/media/native_media_file_util.cc @@ -71,18 +71,6 @@ PlatformFileError NativeMediaFileUtil::Truncate( return base::PLATFORM_FILE_ERROR_SECURITY; } -bool NativeMediaFileUtil::PathExists( - FileSystemOperationContext* context, - const FileSystemURL& url) { - DCHECK(context); - - FilePath path; - PlatformFileInfo file_info; - PlatformFileError error = - GetFileInfo(context, url, &file_info, &path); - return error == base::PLATFORM_FILE_OK; -} - bool NativeMediaFileUtil::IsDirectoryEmpty( FileSystemOperationContext* context, const FileSystemURL& url) { diff --git a/webkit/fileapi/media/native_media_file_util.h b/webkit/fileapi/media/native_media_file_util.h index 2087340..5aaa5b3 100644 --- a/webkit/fileapi/media/native_media_file_util.h +++ b/webkit/fileapi/media/native_media_file_util.h @@ -39,9 +39,6 @@ class FILEAPI_EXPORT_PRIVATE NativeMediaFileUtil : public IsolatedFileUtil { FileSystemOperationContext* context, const FileSystemURL& url, int64 length) OVERRIDE; - virtual bool PathExists( - FileSystemOperationContext* context, - const FileSystemURL& url) OVERRIDE; virtual bool IsDirectoryEmpty( FileSystemOperationContext* context, const FileSystemURL& url) OVERRIDE; diff --git a/webkit/fileapi/obfuscated_file_util.cc b/webkit/fileapi/obfuscated_file_util.cc index 9db406d..2b66d60 100644 --- a/webkit/fileapi/obfuscated_file_util.cc +++ b/webkit/fileapi/obfuscated_file_util.cc @@ -560,45 +560,6 @@ PlatformFileError ObfuscatedFileUtil::Truncate( return error; } -bool ObfuscatedFileUtil::PathExists( - FileSystemOperationContext* context, - const FileSystemURL& url) { - FileSystemDirectoryDatabase* db = GetDirectoryDatabase( - url.origin(), url.type(), false); - if (!db) - return false; - FileId file_id; - return db->GetFileWithPath(url.path(), &file_id); -} - -bool ObfuscatedFileUtil::DirectoryExists( - FileSystemOperationContext* context, - const FileSystemURL& url) { - if (IsRootDirectory(url)) { - // It's questionable whether we should return true or false for the - // root directory of nonexistent origin, but here we return true - // as the current implementation of ReadDirectory always returns an empty - // array (rather than erroring out with NOT_FOUND_ERR even) for - // nonexistent origins. - // Note: if you're going to change this behavior please also consider - // changiing the ReadDirectory's behavior! - return true; - } - FileSystemDirectoryDatabase* db = GetDirectoryDatabase( - url.origin(), url.type(), false); - if (!db) - return false; - FileId file_id; - if (!db->GetFileWithPath(url.path(), &file_id)) - return false; - FileInfo file_info; - if (!db->GetFileInfo(file_id, &file_info)) { - NOTREACHED(); - return false; - } - return file_info.is_directory(); -} - bool ObfuscatedFileUtil::IsDirectoryEmpty( FileSystemOperationContext* context, const FileSystemURL& url) { diff --git a/webkit/fileapi/obfuscated_file_util.h b/webkit/fileapi/obfuscated_file_util.h index 51b2c47..e910be9 100644 --- a/webkit/fileapi/obfuscated_file_util.h +++ b/webkit/fileapi/obfuscated_file_util.h @@ -98,12 +98,6 @@ class FILEAPI_EXPORT_PRIVATE ObfuscatedFileUtil : public FileSystemFileUtil { FileSystemOperationContext* context, const FileSystemURL& url, int64 length) OVERRIDE; - virtual bool PathExists( - FileSystemOperationContext* context, - const FileSystemURL& url) OVERRIDE; - virtual bool DirectoryExists( - FileSystemOperationContext* context, - const FileSystemURL& url) OVERRIDE; virtual bool IsDirectoryEmpty( FileSystemOperationContext* context, const FileSystemURL& url) OVERRIDE; diff --git a/webkit/fileapi/obfuscated_file_util_unittest.cc b/webkit/fileapi/obfuscated_file_util_unittest.cc index 02142c2..76c28ba 100644 --- a/webkit/fileapi/obfuscated_file_util_unittest.cc +++ b/webkit/fileapi/obfuscated_file_util_unittest.cc @@ -220,6 +220,16 @@ class ObfuscatedFileUtilTest : public testing::Test { return FileSystemUsageCache::GetUsage(test_helper_.GetUsageCachePath()); } + bool PathExists(const FileSystemURL& url) { + scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); + return FileUtilHelper::PathExists(context.get(), ofu(), url); + } + + bool DirectoryExists(const FileSystemURL& url) { + scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); + return FileUtilHelper::DirectoryExists(context.get(), ofu(), url); + } + int64 usage() const { return usage_; } FileSystemURL CreateURLFromUTF8(const std::string& path) { @@ -316,7 +326,7 @@ class ObfuscatedFileUtilTest : public testing::Test { } for (iter = directories.begin(); iter != directories.end(); ++iter) { context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->DirectoryExists(context.get(), + EXPECT_TRUE(DirectoryExists( root_url.WithPath(root_url.path().Append(*iter)))); } } @@ -512,10 +522,9 @@ class ObfuscatedFileUtilTest : public testing::Test { ofu()->CopyInForeignFile(context.get(), src_file_path, dest_url)); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->PathExists(context.get(), dest_url)); - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->DirectoryExists(context.get(), dest_url)); + EXPECT_TRUE(PathExists(dest_url)); + EXPECT_FALSE(DirectoryExists(dest_url)); + context.reset(NewContext(NULL)); base::PlatformFileInfo file_info; FilePath data_path; @@ -730,10 +739,8 @@ TEST_F(ObfuscatedFileUtilTest, TestTruncate) { context.get(), url, 1)); EXPECT_EQ(1, GetSize(local_path)); - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->DirectoryExists(context.get(), url)); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->PathExists(context.get(), url)); + EXPECT_FALSE(DirectoryExists(url)); + EXPECT_TRUE(PathExists(url)); } TEST_F(ObfuscatedFileUtilTest, TestQuotaOnTruncation) { @@ -849,10 +856,8 @@ TEST_F(ObfuscatedFileUtilTest, TestEnsureFileExists) { ASSERT_EQ(base::PLATFORM_FILE_OK, ofu()->EnsureFileExists(context.get(), url, &created)); ASSERT_TRUE(created); - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->DirectoryExists(context.get(), url)); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->PathExists(context.get(), url)); + EXPECT_FALSE(DirectoryExists(url)); + EXPECT_TRUE(PathExists(url)); } TEST_F(ObfuscatedFileUtilTest, TestDirectoryOps) { @@ -869,10 +874,8 @@ TEST_F(ObfuscatedFileUtilTest, TestDirectoryOps) { ofu()->DeleteSingleDirectory(context.get(), url)); FileSystemURL root = CreateURLFromUTF8(""); - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->DirectoryExists(context.get(), url)); - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->PathExists(context.get(), url)); + EXPECT_FALSE(DirectoryExists(url)); + EXPECT_FALSE(PathExists(url)); context.reset(NewContext(NULL)); EXPECT_TRUE(ofu()->IsDirectoryEmpty(context.get(), root)); @@ -882,15 +885,13 @@ TEST_F(ObfuscatedFileUtilTest, TestDirectoryOps) { EXPECT_EQ(base::PLATFORM_FILE_OK, ofu()->CreateDirectory( context.get(), url, exclusive, recursive)); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->DirectoryExists(context.get(), url)); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->PathExists(context.get(), url)); + EXPECT_TRUE(DirectoryExists(url)); + EXPECT_TRUE(PathExists(url)); + context.reset(NewContext(NULL)); EXPECT_FALSE(ofu()->IsDirectoryEmpty(context.get(), root)); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->DirectoryExists(context.get(), - url.WithPath(url.path().DirName()))); + EXPECT_TRUE(DirectoryExists(url.WithPath(url.path().DirName()))); + context.reset(NewContext(NULL)); EXPECT_FALSE(ofu()->IsDirectoryEmpty(context.get(), url.WithPath(url.path().DirName()))); @@ -931,10 +932,9 @@ TEST_F(ObfuscatedFileUtilTest, TestDirectoryOps) { url = CreateURLFromUTF8("foo/bop"); - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->DirectoryExists(context.get(), url)); - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->PathExists(context.get(), url)); + EXPECT_FALSE(DirectoryExists(url)); + EXPECT_FALSE(PathExists(url)); + context.reset(NewContext(NULL)); EXPECT_TRUE(ofu()->IsDirectoryEmpty(context.get(), url)); EXPECT_EQ(base::PLATFORM_FILE_ERROR_NOT_FOUND, ofu()->GetFileInfo( @@ -955,41 +955,39 @@ TEST_F(ObfuscatedFileUtilTest, TestDirectoryOps) { EXPECT_EQ(base::PLATFORM_FILE_OK, ofu()->CreateDirectory( context.get(), url, exclusive, recursive)); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->DirectoryExists(context.get(), url)); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->PathExists(context.get(), url)); + EXPECT_TRUE(DirectoryExists(url)); + EXPECT_TRUE(PathExists(url)); exclusive = true; recursive = false; + context.reset(NewContext(NULL)); EXPECT_EQ(base::PLATFORM_FILE_ERROR_EXISTS, ofu()->CreateDirectory( context.get(), url, exclusive, recursive)); exclusive = true; recursive = false; url = CreateURLFromUTF8("foo"); + context.reset(NewContext(NULL)); EXPECT_EQ(base::PLATFORM_FILE_ERROR_EXISTS, ofu()->CreateDirectory( context.get(), url, exclusive, recursive)); url = CreateURLFromUTF8("blah"); - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->DirectoryExists(context.get(), url)); - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->PathExists(context.get(), url)); + EXPECT_FALSE(DirectoryExists(url)); + EXPECT_FALSE(PathExists(url)); exclusive = true; recursive = false; + context.reset(NewContext(NULL)); EXPECT_EQ(base::PLATFORM_FILE_OK, ofu()->CreateDirectory( context.get(), url, exclusive, recursive)); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->DirectoryExists(context.get(), url)); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->PathExists(context.get(), url)); + EXPECT_TRUE(DirectoryExists(url)); + EXPECT_TRUE(PathExists(url)); exclusive = true; recursive = false; + context.reset(NewContext(NULL)); EXPECT_EQ(base::PLATFORM_FILE_ERROR_EXISTS, ofu()->CreateDirectory( context.get(), url, exclusive, recursive)); } @@ -1332,24 +1330,20 @@ TEST_F(ObfuscatedFileUtilTest, TestEnumerator) { FileSystemURL dest_url = CreateURLFromUTF8("destination dir"); - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->DirectoryExists(context.get(), dest_url)); + EXPECT_FALSE(DirectoryExists(dest_url)); context.reset(NewContext(NULL)); ASSERT_EQ(base::PLATFORM_FILE_OK, test_helper().SameFileUtilCopy(context.get(), src_url, dest_url)); ValidateTestDirectory(dest_url, files, directories); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->DirectoryExists(context.get(), src_url)); - context.reset(NewContext(NULL)); - EXPECT_TRUE(ofu()->DirectoryExists(context.get(), dest_url)); + EXPECT_TRUE(DirectoryExists(src_url)); + EXPECT_TRUE(DirectoryExists(dest_url)); context.reset(NewContext(NULL)); recursive = true; ASSERT_EQ(base::PLATFORM_FILE_OK, FileUtilHelper::Delete(context.get(), ofu(), dest_url, recursive)); - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->DirectoryExists(context.get(), dest_url)); + EXPECT_FALSE(DirectoryExists(dest_url)); } TEST_F(ObfuscatedFileUtilTest, TestMigration) { @@ -1555,8 +1549,7 @@ TEST_F(ObfuscatedFileUtilTest, TestInconsistency) { ofu()->DestroyDirectoryDatabase(origin(), type()); // Try to get file info of broken file. - context.reset(NewContext(NULL)); - EXPECT_FALSE(ofu()->PathExists(context.get(), kPath1)); + EXPECT_FALSE(PathExists(kPath1)); context.reset(NewContext(NULL)); EXPECT_EQ(base::PLATFORM_FILE_OK, ofu()->EnsureFileExists(context.get(), kPath1, &created)); diff --git a/webkit/fileapi/sandbox_mount_point_provider_unittest.cc b/webkit/fileapi/sandbox_mount_point_provider_unittest.cc index 6d6b4df..d66a379 100644 --- a/webkit/fileapi/sandbox_mount_point_provider_unittest.cc +++ b/webkit/fileapi/sandbox_mount_point_provider_unittest.cc @@ -24,6 +24,7 @@ #include "webkit/fileapi/file_system_operation_context.h" #include "webkit/fileapi/file_system_task_runners.h" #include "webkit/fileapi/file_system_util.h" +#include "webkit/fileapi/file_util_helper.h" #include "webkit/fileapi/mock_file_system_options.h" #include "webkit/quota/mock_special_storage_policy.h" @@ -201,6 +202,16 @@ class SandboxMountPointProviderMigrationTest : public testing::Test { return new FileSystemOperationContext(file_system_context_); } + bool PathExists(const FileSystemURL& url) { + scoped_ptr<FileSystemOperationContext> context(NewContext()); + return FileUtilHelper::PathExists(context.get(), file_util(), url); + } + + bool DirectoryExists(const FileSystemURL& url) { + scoped_ptr<FileSystemOperationContext> context(NewContext()); + return FileUtilHelper::DirectoryExists(context.get(), file_util(), url); + } + std::string URLAndTypeToSeedString(const GURL& origin_url, fileapi::FileSystemType type) { return GetOriginIdentifierFromURL(origin_url) + @@ -216,39 +227,24 @@ class SandboxMountPointProviderMigrationTest : public testing::Test { FileSystemURL root(origin_url, type, FilePath()); FileSystemURL seed = root.WithPath(root.path().Append(seed_file_path)); - context.reset(NewContext()); - EXPECT_TRUE(file_util()->DirectoryExists( - context.get(), seed)); - context.reset(NewContext()); - EXPECT_TRUE(file_util()->DirectoryExists( - context.get(), seed.WithPath(seed.path().Append(seed_file_path)))); - context.reset(NewContext()); - EXPECT_TRUE(file_util()->DirectoryExists( - context.get(), seed.WithPath(seed.path().AppendASCII("d 0")))); - context.reset(NewContext()); - EXPECT_TRUE(file_util()->DirectoryExists( - context.get(), seed.WithPath(seed.path().AppendASCII("d 1")))); - context.reset(NewContext()); - EXPECT_TRUE(file_util()->PathExists( - context.get(), root.WithPath(root.path().AppendASCII("file 0")))); - context.reset(NewContext()); - EXPECT_FALSE(file_util()->DirectoryExists( - context.get(), seed.WithPath(seed.path().AppendASCII("file 0")))); - context.reset(NewContext()); - EXPECT_TRUE(file_util()->PathExists( - context.get(), + EXPECT_TRUE(DirectoryExists(seed)); + EXPECT_TRUE(DirectoryExists( + seed.WithPath(seed.path().Append(seed_file_path)))); + EXPECT_TRUE(DirectoryExists( + seed.WithPath(seed.path().AppendASCII("d 0")))); + EXPECT_TRUE(DirectoryExists( + seed.WithPath(seed.path().AppendASCII("d 1")))); + EXPECT_TRUE(PathExists( + root.WithPath(root.path().AppendASCII("file 0")))); + EXPECT_FALSE(DirectoryExists( + seed.WithPath(seed.path().AppendASCII("file 0")))); + EXPECT_TRUE(PathExists( seed.WithPath(seed.path().AppendASCII("d 0").AppendASCII("file 1")))); - context.reset(NewContext()); - EXPECT_FALSE(file_util()->DirectoryExists( - context.get(), + EXPECT_FALSE(DirectoryExists( seed.WithPath(seed.path().AppendASCII("d 0").AppendASCII("file 1")))); - context.reset(NewContext()); - EXPECT_TRUE(file_util()->PathExists( - context.get(), + EXPECT_TRUE(PathExists( seed.WithPath(seed.path().AppendASCII("d 0").AppendASCII("file 2")))); - context.reset(NewContext()); - EXPECT_FALSE(file_util()->DirectoryExists( - context.get(), + EXPECT_FALSE(DirectoryExists( seed.WithPath(seed.path().AppendASCII("d 0").AppendASCII("file 2")))); } |