[FileAPI] Updates to FileAPI Editor's Draft

The Editor's Draft of the FileAPI -- 
http://dev.w3.org/2006/webapi/FileAPI/ -- has had some updates.  These 
are the notable changes:

1. Blob.slice behavior has changed to more closely match 
String.prototype.slice from ECMAScript (and Array.prototype.slice 
semantically).  I think we're the first host object to have a slice 
outside of ECMAScript primitives; some builds of browsers have already 
vendor-prefixed slice till it becomes more stable (and till the new 
behavior becomes more diffuse on the web -- Blob will soon be used in 
the Canvas API, etc.).  I'm optimistic this will happen soon enough.  
Thanks to all the browser projects that helped initiate the change -- 
the consistency is desirable.

2. The read methods on FileReader raise a new exception -- 
OperationNotAllowedException -- if multiple concurrent reads are 
invoked.  I talked this over with Jonas; we think that rather than reuse 
DOMException error codes (like INVALID_STATE_ERR), these kinds of 
scenarios should throw a distinct exception.  Some things on the web (as 
in life) are simply not allowed.  It may be useful to reuse this 
exception in other places.

3. FileReader.abort( ) behavior has changed.

4. There is a closer integration with event loops as defined by HTML.

For browser projects with open bug databases, I'll log some bugs based 
on test cases I've run on each implementation.  A few discrepancies 
exist in implementations I've tested; for instance, setting 
FileReader.result to the empty string vs. setting it to null, and when 
exceptions are thrown vs. use of the error event.

Feedback encouraged!  Draft at http://dev.w3.org/2006/webapi/FileAPI/

-- A*

Received on Wednesday, 11 May 2011 22:52:34 UTC