Chromium Code Reviews| Index: webkit/tools/test_shell/simple_file_system.cc |
| diff --git a/webkit/tools/test_shell/simple_file_system.cc b/webkit/tools/test_shell/simple_file_system.cc |
| index 72a752bc114b1b57c127ce076d550724830e5683..a923211b9966ce78de00b1d8e11e0cdcf25197ff 100644 |
| --- a/webkit/tools/test_shell/simple_file_system.cc |
| +++ b/webkit/tools/test_shell/simple_file_system.cc |
| @@ -118,6 +118,32 @@ void SimpleFileSystem::OpenFileSystem( |
| origin_url, type, create, OpenFileSystemHandler(callbacks)); |
| } |
| +void SimpleFileSystem::DeleteFileSystem( |
| + WebFrame* frame, WebFileSystem::Type web_filesystem_type, |
| + WebFileSystemCallbacks* callbacks) { |
| + if (!frame || !file_system_context_.get()) { |
| + callbacks->didFail(WebKit::WebFileErrorSecurity); |
| + return; |
|
kinuko
2012/08/15 06:15:58
We silently return success in RenderViewImpl in th
tzik
2012/08/15 06:53:36
We return success in RVI if the origin is unique (
|
| + } |
| + |
| + fileapi::FileSystemType type; |
| + if (web_filesystem_type == WebFileSystem::TypeTemporary) |
| + type = fileapi::kFileSystemTypeTemporary; |
| + else if (web_filesystem_type == WebFileSystem::TypePersistent) |
| + type = fileapi::kFileSystemTypePersistent; |
| + else if (web_filesystem_type == WebFileSystem::TypeExternal) |
| + type = fileapi::kFileSystemTypeExternal; |
|
kinuko
2012/08/15 06:15:58
These explicit assignments are not really necessar
tzik
2012/08/15 06:53:36
Done.
|
| + else { |
| + // Unknown type filesystem is requested. |
| + callbacks->didFail(WebKit::WebFileErrorSecurity); |
| + return; |
| + } |
| + |
| + GURL origin_url(frame->document().securityOrigin().toString()); |
| + file_system_context_->DeleteFileSystem( |
| + origin_url, type, DeleteFileSystemHandler(callbacks)); |
| +} |
| + |
| void SimpleFileSystem::move( |
| const WebURL& src_path, |
| const WebURL& dest_path, WebFileSystemCallbacks* callbacks) { |
| @@ -296,6 +322,12 @@ SimpleFileSystem::OpenFileSystemHandler(WebFileSystemCallbacks* callbacks) { |
| AsWeakPtr(), base::Unretained(callbacks)); |
| } |
| +FileSystemContext::DeleteFileSystemCallback |
| +SimpleFileSystem::DeleteFileSystemHandler(WebFileSystemCallbacks* callbacks) { |
| + return base::Bind(&SimpleFileSystem::DidDeleteFileSystem, |
| + AsWeakPtr(), callbacks); |
| +} |
| + |
| FileSystemOperationInterface::SnapshotFileCallback |
| SimpleFileSystem::SnapshotFileHandler(const GURL& blob_url, |
| WebFileSystemCallbacks* callbacks) { |
| @@ -364,6 +396,15 @@ void SimpleFileSystem::DidOpenFileSystem( |
| } |
| } |
| +void SimpleFileSystem::DidDeleteFileSystem( |
| + WebFileSystemCallbacks* callbacks, |
| + base::PlatformFileError result) { |
| + if (result == base::PLATFORM_FILE_OK) |
| + callbacks->didSucceed(); |
| + else |
| + callbacks->didFail(fileapi::PlatformFileErrorToWebFileError(result)); |
| +} |
| + |
| void SimpleFileSystem::DidCreateSnapshotFile( |
| const GURL& blob_url, |
| WebFileSystemCallbacks* callbacks, |