diff options
author | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-06 04:21:50 +0000 |
---|---|---|
committer | kinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-06 04:21:50 +0000 |
commit | 2e9f432fdf535d68e00dc2e28e78503646f5ca45 (patch) | |
tree | b9cd55ff6081639277c387ab9c42b3654ebf0997 /chrome/common/file_system/webfilesystem_impl.cc | |
parent | b6e1b31a1b5b7ed81d01581ea8e07d29a103f6cf (diff) | |
download | chromium_src-2e9f432fdf535d68e00dc2e28e78503646f5ca45.zip chromium_src-2e9f432fdf535d68e00dc2e28e78503646f5ca45.tar.gz chromium_src-2e9f432fdf535d68e00dc2e28e78503646f5ca45.tar.bz2 |
Second try for support removeRecursively and new copy/move behaviors added to the spec recently.
http://lists.w3.org/Archives/Public/public-webapps/2010JulSep/1101.html
> For a move/copy of a file on top of existing file, or a directory on
> top of an existing empty directory, you get an automatic overwrite.
> A move/copy of a file on top of an existing directory, or of a
> directory on top of an existing file, will always fail.
> A move/copy of a file or directory on top of an existing non-empty
> directory will always fail.
original issue: http://codereview.chromium.org/3567012
BUG=none
TEST=FileSystemOperationTest.*
TBR=ericu
Review URL: http://codereview.chromium.org/3531012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61613 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/file_system/webfilesystem_impl.cc')
-rw-r--r-- | chrome/common/file_system/webfilesystem_impl.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/chrome/common/file_system/webfilesystem_impl.cc b/chrome/common/file_system/webfilesystem_impl.cc index 9128cf1..5b180f6 100644 --- a/chrome/common/file_system/webfilesystem_impl.cc +++ b/chrome/common/file_system/webfilesystem_impl.cc @@ -47,6 +47,16 @@ void WebFileSystemImpl::remove(const WebString& path, FileSystemDispatcher* dispatcher = ChildThread::current()->file_system_dispatcher(); dispatcher->Remove(webkit_glue::WebStringToFilePath(path), + false /* recursive */, + new WebFileSystemCallbackDispatcher(callbacks)); +} + +void WebFileSystemImpl::removeRecursively(const WebString& path, + WebFileSystemCallbacks* callbacks) { + FileSystemDispatcher* dispatcher = + ChildThread::current()->file_system_dispatcher(); + dispatcher->Remove(webkit_glue::WebStringToFilePath(path), + true /* recursive */, new WebFileSystemCallbackDispatcher(callbacks)); } @@ -104,4 +114,3 @@ WebKit::WebFileWriter* WebFileSystemImpl::createFileWriter( const WebString& path, WebKit::WebFileWriterClient* client) { return new WebFileWriterImpl(path, client); } - |