- From: Michael Nordman <michaeln@google.com>
- Date: Mon, 24 Oct 2011 16:15:49 -0700
- To: Ojan Vafai <ojan@chromium.org>
- Cc: Jonas Sicking <jonas@sicking.cc>, Webapps WG <public-webapps@w3.org>, Eric Uhrhane <ericu@google.com>
- Message-ID: <CAHpoE=h3HCZyG-MR802m=1_h+NY7RJNiUTR4+nJoEU5yHuDYEA@mail.gmail.com>
It's nice. Like Ojan said, I don't see this as mutually exlusive with BlobBuilder either. There's nother peice of data to associate with a blob... the content-type... that would need to be provided in the ctor. On Mon, Oct 24, 2011 at 4:01 PM, Ojan Vafai <ojan@chromium.org> wrote: > On Mon, Oct 24, 2011 at 3:52 PM, Jonas Sicking <jonas@sicking.cc> wrote: > >> Hi everyone, >> >> It was pointed out to me on twitter that BlobBuilder can be replaced >> with simply making Blob constructable. I.e. the following code: >> >> var bb = new BlobBuilder(); >> bb.append(blob1); >> bb.append(blob2); >> bb.append("some string"); >> bb.append(myArrayBuffer); >> var b = bb.getBlob(); >> >> would become >> >> b = new Blob([blob1, blob2, "some string", myArrayBuffer]); >> > > I like this API. I think we should add it regardless of whether we get rid > of BlobBuilder. I'd slightly prefer saying that Blob takes varargs and rely > on ES6 fanciness to expand the array into varargs. > > In theory, a BlobBuilder could be backed by a file on disk, no? The > advantage is that if you're building something very large, you don't > necessarily need to be using all that memory. You can imagine a UA having > Blobs be fully in-memory until they cross some size threshold. > > >> or look at it another way: >> >> var x = new BlobBuilder(); >> becomes >> var x = []; >> >> x.append(y); >> becomes >> x.push(y); >> >> var b = x.getBlob(); >> becomes >> var b = new Blob(x); >> >> So at worst there is a one-to-one mapping in code required to simply >> have |new Blob|. At best it requires much fewer lines if the page has >> several parts available at once. >> >> And we'd save a whole class since Blobs already exist. >> >> / Jonas >> >> >
Received on Monday, 24 October 2011 23:16:14 UTC