Greetings WebApps WG,
I have updated the editor's draft of the File API to reflect changes
that have been in discussion.
http://dev.w3.org/2006/webapi/FileAPI
Notably:
1. Blobs now allow further binary data operations by exposing an
ArrayBuffer property that represents the Blob. ArrayBuffers, and
affiliated "Typed Array" views of data, are specified in a working draft
as a part of the WebGL work [1]. This work has been proposed to ECMA's
TC-39 WG as well. We intend to implement some of this in the Firefox 4
timeframe, and have reason to believe other browsers will as well. I
have thus cited the work as a normative reference [1]. Eventually, we
ought to consider further read operations given ArrayBuffers, but for
now, I believe exposing Blobs in this way is sufficient.
2. url and type properties have been moved to to the underlying Blob
interface. Notably, the property is now called 'url' and not 'urn.'
Use cases for triggering 'save as' behavior with Content-Disposition
have not been addressed[2], although I believe that with FileWriter and
BlobBuilder[3] they may be addressed differently. This change reflects
lengthy discussion (e.g. start here[4])
3. The renaming of the property to 'url' also suggests that we should
cease to consider an urn:uuid scheme. I solicited implementer feedback
about URLs vs. URNs in general. There was a general preference to
URLs[5], though this wasn't a strong preference. Moreover, Mozilla's
implementation currently uses moz-filedata: . The current draft has an
editor's note about the use of HTTP semantics, and origin issues in the
context of shared workers. This is work in progress; I have removed the
section specifying urn:uuid and hope to have an update with a section
covering the filedata: scheme (with filedata:uuid as a suggestion). I
welcome discussion about this. I'll point out that we are coining a new
scheme, which we originally sought to avoid :-)
4. I have changed event order; loadend now fires after an error event [6].
-- A*
[1]
https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/doc/spec/TypedArray-spec.html
[2] http://www.mail-archive.com/public-webapps@w3.org/msg06137.html
[3] http://dev.w3.org/2009/dap/file-system/file-writer.html
[4] http://lists.w3.org/Archives/Public/public-webapps/2010JanMar/0910.html
[5] http://lists.w3.org/Archives/Public/public-webapps/2009OctDec/0462.html
[6] http://lists.w3.org/Archives/Public/public-webapps/2010AprJun/0062.html