| Index: webkit/fileapi/test_mount_point_provider.cc
|
| diff --git a/webkit/fileapi/test_mount_point_provider.cc b/webkit/fileapi/test_mount_point_provider.cc
|
| index c44ff598a1d0c3426acfd7bee88bc746aec16ee3..1dcb169d5363450721b3890d91d371169c2436a8 100644
|
| --- a/webkit/fileapi/test_mount_point_provider.cc
|
| +++ b/webkit/fileapi/test_mount_point_provider.cc
|
| @@ -72,7 +72,8 @@ TestMountPointProvider::TestMountPointProvider(
|
| : base_path_(base_path),
|
| task_runner_(task_runner),
|
| local_file_util_(new AsyncFileUtilAdapter(new LocalFileUtil())),
|
| - quota_util_(new QuotaUtil) {
|
| + quota_util_(new QuotaUtil),
|
| + require_copy_or_move_validator_(false) {
|
| UpdateObserverList::Source source;
|
| source.AddObserver(quota_util_.get(), task_runner_);
|
| observers_ = UpdateObserverList(source);
|
| @@ -121,12 +122,22 @@ TestMountPointProvider::GetCopyOrMoveFileValidatorFactory(
|
| FileSystemType type, base::PlatformFileError* error_code) {
|
| DCHECK(error_code);
|
| *error_code = base::PLATFORM_FILE_OK;
|
| + if (require_copy_or_move_validator_) {
|
| + if (!copy_or_move_file_validator_factory_)
|
| + *error_code = base::PLATFORM_FILE_ERROR_SECURITY;
|
| + return copy_or_move_file_validator_factory_.get();
|
| + }
|
| return NULL;
|
| }
|
|
|
| void TestMountPointProvider::InitializeCopyOrMoveFileValidatorFactory(
|
| FileSystemType type, scoped_ptr<CopyOrMoveFileValidatorFactory> factory) {
|
| - DCHECK(!factory);
|
| + if (!require_copy_or_move_validator_) {
|
| + DCHECK(!factory);
|
| + return;
|
| + }
|
| + if (!copy_or_move_file_validator_factory_)
|
| + copy_or_move_file_validator_factory_ = factory.Pass();
|
| }
|
|
|
| FilePermissionPolicy TestMountPointProvider::GetPermissionPolicy(
|
|
|