On May 13, 2008, at 5:08 AM, Charles McCathieNevile wrote:


On Sun, 11 May 2008 05:10:57 +0200, Aaron Boodman <[EMAIL PROTECTED]> wrote:

On Sat, May 10, 2008 at 1:18 AM, Maciej Stachowiak <[EMAIL PROTECTED]> wrote:
... I'm not really clear on why Blobs must be distinct from ByteArrays.

As I read it, the Blob proposal also explicitly ties in a bit of file interaction (which is why it is related to the fileIO proposal).

That seems to be where things are evolving, but in the original proposal Blobs were also to be used for such things as the binary image data in a <canvas>, or binary data retrieved by XMLHttpRequest, or binary data dynamically generated by script. (I proposed renaming Blob to File because I think the non-file uses are better served via ByteArray).

...
I also notice that you used int64 in many of the APIs. JavaScript cannot
represent 64-bit integers in its number type. ...

I think our assumption is that 2^53 is large enough to represent the
length of all the blobs going in and out of web apps for the
forseeable future. We would just throw when we receive a number that
is larger than that saying that it is out of range. Is there a better
way to notate this in specs?

Well, you at least have to be pretty explicit about it I think. Better would be to find a type that Javascript can do, though.

(I suspect that if we are still relying on a thing called 'blob' because we still don't have real file system access with some sense of security by the time we want to hand around a Terabyte in a web application, that we will have seriously failed somewhere. Although it isn't impossible that we end up there).

I see no reason the Blob proposal couldn't handle uploading a Terabyte of data. 2^53 > 10^4. Indeed, for data that large you really do want a filesystem reference that you can hand directly to a network API so it can be sent without having to load the whole thing into memory via script.

Regards,
Maciej




Reply via email to