[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Public WebGL] Typed Arrays in W3C Specifications | Fwd: Updates to File API



Greetings WebGL WG,

The latest editor's draft of the File API now includes a reference to the Typed Arrays work; basically, the underlying Blob interface exposes an ArrayBuffer property.  I believe this is the right way forward; web developers can make use of the view they wish to use.

-------- Original Message --------
Subject: Updates to File API
Date: Thu, 13 May 2010 05:27:47 -0700
From: Arun Ranganathan <arun@mozilla.com>
Reply-To: arun@mozilla.com
Organization: Mozilla Corporation
To: Web Applications Working Group WG <public-webapps@w3.org>
CC: public-device-apis <public-device-apis@w3.org>


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