summaryrefslogtreecommitdiffstats
path: root/chrome/common/file_system/webfilesystem_impl.cc
diff options
context:
space:
mode:
authorkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-06 04:21:50 +0000
committerkinuko@chromium.org <kinuko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-06 04:21:50 +0000
commit2e9f432fdf535d68e00dc2e28e78503646f5ca45 (patch)
treeb9cd55ff6081639277c387ab9c42b3654ebf0997 /chrome/common/file_system/webfilesystem_impl.cc
parentb6e1b31a1b5b7ed81d01581ea8e07d29a103f6cf (diff)
downloadchromium_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.cc11
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);
}
-