Bug 47400

Summary: Support DirectoryEntry.removeRecursively for FileSystem API
Product: WebKit Reporter: Kinuko Yasuda <kinuko>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ericu, levin
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
Patch levin: review+

Description Kinuko Yasuda 2010-10-08 01:46:51 PDT
Support DirectoryEntry.removeRecursively, which is recently added to the latest FileSystem API.

http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#widl-DirectoryEntry-removeRecursively
http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#widl-DirectoryEntrySync-removeRecursively
Comment 1 Kinuko Yasuda 2010-10-08 02:23:19 PDT
Created attachment 70214 [details]
Patch
Comment 2 David Levin 2010-10-11 03:40:17 PDT
Comment on attachment 70214 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=70214&action=review

> WebCore/ChangeLog:8
> +        Also disallows remove/removeRecursively on the root directory.

Is there a test for this one? if not, please add one.

> WebCore/fileapi/DOMFileSystemBase.cpp:128
> +        return false;

This was only returning true before.

Please check that the caller is properly handling false.

> WebCore/fileapi/DirectoryEntry.h:61
> +    virtual void removeRecursively(PassRefPtr<VoidCallback> successCallback = 0, PassRefPtr<ErrorCallback> errorCallback = 0) const;

pls remove virtual.

Also, "successCallback" is a useful name. Please keep it.

But "errorCallback" just repeats the type. Please remove this param name.

> WebCore/fileapi/DirectoryEntrySync.cpp:80
> +        ec = INVALID_MODIFICATION_ERR;

As discussed add a return here.
Comment 3 Kinuko Yasuda 2010-10-11 04:21:50 PDT
Committed r69485: <http://trac.webkit.org/changeset/69485>