Regading the FileSystem.name entry. The W3C spec is somewhat ambiguous on this so we implemented "persistent" and "temporary" when we did the original BB, iOS and Android implementations. I would prefer we debate changing that later.
Regarding the DirectoryEntry name parameter, the spec indicates that is just the name of the directory, excluding the path leading to it. This is how BB, iOS and Android initially implemented this. We can solve the DirectoryEntry creation but with the following two changes: 1) modify the FileSystem constructor in FileSystem.js to the following: var FileSystem = function(name, root) { this.name = name || null; if (root) { this.root = new DirectoryEntry(root.name, root.fullPath); } }; 2) In the device code when returning from requestFileSystem the device code should return a pseudo FileSystem object: .name is the name of the file system (currently "persistent" or "temporary") and .root is a DirectoryEntry pseudo object (it has allof the paramters but there are no functions defined which is why we have to go through the full object creation). This is what BB, iOS and Android originally did, but I believe BB and Android had changed this to return the fullPath in the .root parameter. Making this change gets me further in the iOS update. However, I don't understand why the other platforms are returning a URL in the fullPath parameter. Will start/continue a thread on that. -becky -becky On Fri, Feb 24, 2012 at 3:21 PM, Simon MacDonald <simon.macdon...@gmail.com>wrote: > So then the root directory of the persistent filesystem should look like: > > { name: "", fullPath: "/data/data/com.phonegap" } > > then if I create a cache directory off the root it would be: > > { name: "cache", fullPath: "/data/data/com.phonegap/cache" } > > but what do we do about someone who goes back two directories? You would > end up at: > > { name: "data", fullPath: "/data" } > > Do we need to prevent that type of behaviour? > > Simon Mac Donald > http://hi.im/simonmacdonald > > > On Fri, Feb 24, 2012 at 2:33 PM, Joe Bowser <bows...@gmail.com> wrote: > > > No, I think you are partially right. I think the name should be blank > for > > the root directory of the persistent storage. It definitely shouldn't > say > > that it's persistent, that seems to be very wrong. > > > > Joe > > > > On Fri, Feb 24, 2012 at 11:10 AM, Simon MacDonald < > > simon.macdon...@gmail.com > > > wrote: > > > > > Becky has found a bug in FileSystem.js and I just wanted to bring it up > > > on the list before making any changes. At this line: > > > > > > > > > > > > https://github.com/apache/incubator-cordova-js/blob/master/lib/plugin/FileSystem.js#L13 > > > > > > you see a new DirectoryEntry is created using the *name* of the > > filesystem > > > and the *root* path of the filesystem. What is being passed in is > > something > > > like this: > > > > > > name = PERSISTENT > > > root = /data/data/com.phonegap > > > > > > so when the DirectoryEntry is created it will have a name of > > > *PERSISTENT*which is wrong. The name property should be the name of > > > the file or > > > *com.phonegap* in my example. > > > > > > Does this makes sense to everyone or are we going crazy? > > > > > > Simon Mac Donald > > > http://hi.im/simonmacdonald > > > > > >