Open Bug 910387 Opened 7 years ago Updated 1 year ago

[meta] Implement DeviceStorage FileSystem API


(Core :: DOM: Core & HTML, enhancement)

Not set




(Reporter: xyuan, Unassigned)




(Keywords: dev-doc-needed, meta, Whiteboard: [DeviceStorageFS])

This is the meta bug to track the FileSystem API proposed by Mozilla. The API is currently discussed here:
Blocks: webapi
Keywords: meta
Depends on: 910412
Depends on: 882076
Component: DOM: Device Interfaces → DOM
(In reply to comment #1)
> Is this the same as ?

I think so, but more useful details can be found in this thread <> (Please make sure to read the full thread!)
I don't know which documents are the most up to date, then (looks like the spec doc is). Can you or somebody else update the URL field to point to the newest (relevant to the bug) version?

(ni? Arun, he can definitely say on what the doc bases on.)
Flags: needinfo?(arun)
No longer depends on: 882076
Depends on: 935883
No longer depends on: 935383
Alias: filesystem-api
No longer depends on: 997471
Summary: FileSystem API → Implement DeviceStorage FileSystem API
Since I'm now totally lost wrt which bug covers which spec, would you mind correcting the URL field in this bug or clarifying the difference between this bug and bug 997471?
Flags: needinfo?(jonas)
The URL field is correct. The DeviceStorage API is about exposing data on the SD card (or equivalent on other platforms). This bug covers doing that through the APIs defined by at

Note that exposing SD card contents is not something we've figured out how to do safely for untrusted "normal" web pages. Hence this bug will not affect what normal webpages can do. Bug 997471 covers exposing an API to normal web pages for using the same interfaces to access a sandboxed website specific files.

Chrome does exactly the same thing. The same filesystem API can be used by webpages to access sandboxed website specific files. But chrome extensions can use the same filesystem API to access any file on your filesystem.
Flags: needinfo?(jonas)
FYI, bug 1029209 just landed on mozilla-inbound, hopefully it will stick. It was the last bit needed for creating FileSystem's FileHandle without interfering with IndexedDB FileHandle API.

So WebIDL interfaces will be different, but the actual implementation should share some code, especially IPDL protocols, etc.

There are 2 main differences:
- DOM events vs promises
- slightly different attributes and methods

Also, FileHandle in DeviceStorage doesn't need to check quota limits. However FileHandle in IndexedDB and in sandboxed FileSystem does.
Whiteboard: [DeviceStorageFS]
Summary: Implement DeviceStorage FileSystem API → [meta] Implement DeviceStorage FileSystem API
Component: DOM → DOM: Core & HTML
Type: defect → enhancement
You need to log in before you can comment on or make changes to this bug.