Issue 108012 in chromium: IndexedDB should support storing File/Blob objects

120 views
Skip to first unread message

chro...@googlecode.com

unread,
Dec 18, 2011, 11:13:40 PM12/18/11
to chromi...@chromium.org
Status: Untriaged
Owner: ----
CC: dgr...@chromium.org, jsb...@chromium.org
Labels: Type-Bug Pri-2 Area-WebKit ImportantForOffline Feature-IndexedDB

New issue 108012 by ericbide...@chromium.org: IndexedDB should support
storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

FF has this implemented:
https://bugzilla.mozilla.org/show_bug.cgi?id=661877

I'm currently seeing Mac, 18.0.974.0 canary crash when trying to .put() a
File.

chro...@googlecode.com

unread,
Dec 19, 2011, 10:50:51 PM12/19/11
to chromi...@chromium.org

Comment #2 on issue 108012 by jsb...@chromium.org: IndexedDB should support

File via the FileSystem API appears to be working correctly, except that
the name property becomes all zeros (!).

ericbidelman@ - I don't suppose you have a repro handy?

chro...@googlecode.com

unread,
Dec 20, 2011, 3:09:55 AM12/20/11
to chromi...@chromium.org

Comment #3 on issue 108012 by ericbide...@chromium.org: IndexedDB should

Sure. Attached has code that's compatible with FF (though not currently
working in their nightlies),
but repos fine in WebKit. It crashes Chrome for me.

Again: Mac OSX, 10.6.8 17.0.963.12 dev

Attachments:
indexeddb_save_file.html 5.6 KB

chro...@googlecode.com

unread,
Dec 20, 2011, 5:27:38 PM12/20/11
to chromi...@chromium.org

Comment #5 on issue 108012 by jsb...@chromium.org: IndexedDB should support

The important bit in the repro is that the object store has a keyPath and
that the data being put contains a File. This triggers the crash regardless
of whether autoIncrement is set or whether the path resolves to anything in
the data being put.

chro...@googlecode.com

unread,
Jan 20, 2012, 4:55:09 PM1/20/12
to chromi...@chromium.org

Comment #11 on issue 108012 by jsb...@chromium.org: IndexedDB should

With this patch in place:

diff --git a/Source/WebCore/bindings/v8/V8DOMWrapper.cpp
b/Source/WebCore/bindings/v8/V8DOMWrapper.cpp
index 0b757ca..2e68bab 100644
--- a/Source/WebCore/bindings/v8/V8DOMWrapper.cpp
+++ b/Source/WebCore/bindings/v8/V8DOMWrapper.cpp
@@ -222,8 +222,9 @@ v8::Local<v8::Object>
V8DOMWrapper::instantiateV8Object(V8Proxy* proxy, WrapperT
proxy = V8Proxy::retrieve(frame);
}
#if ENABLE(WORKERS)
- else
+ else if (isWrapperOfType(globalPrototype,
&V8WorkerContext::info)) {
workerContext =
V8WorkerContext::toNative(lookupDOMWrapper(V8WorkerContext::GetTemplate(),
context->Global()));
+ }
#endif
}


... Chromium fails a DCHECK in webkit/blob/blob_storage_controller.cc:137,
in BlobStorageController::CloneBlob:

BlobData* blob_data = GetBlobDataFromUrl(src_url);
DCHECK(blob_data);


[27193:27209:76966562271:FATAL:blob_storage_controller.cc(137)] Check
failed: blob_data.
Backtrace:
base::debug::StackTrace::StackTrace() [0x7f9c6be87f7e]
logging::LogMessage::~LogMessage() [0x7f9c6beb2f20]
webkit_blob::BlobStorageController::CloneBlob() [0x7f9c6dc93f09]
BlobMessageFilter::OnCloneBlob() [0x7f9c6c956d80]
DispatchToMethod<>() [0x7f9c6c957a6b]
BlobHostMsg_CloneBlob::Dispatch<>() [0x7f9c6c9575d9]
BlobMessageFilter::OnMessageReceived() [0x7f9c6c9566ea]
content::BrowserMessageFilter::DispatchMessage() [0x7f9c6c701d17]
content::BrowserMessageFilter::OnMessageReceived() [0x7f9c6c701bb4]
IPC::ChannelProxy::Context::TryFilters() [0x7f9c6bb8f8ff]
IPC::ChannelProxy::Context::OnMessageReceived() [0x7f9c6bb8f983]
IPC::Channel::ChannelImpl::ProcessIncomingMessages() [0x7f9c6bb8a2bd]
IPC::Channel::ChannelImpl::OnFileCanReadWithoutBlocking() [0x7f9c6bb8c185]

base::MessagePumpLibevent::FileDescriptorWatcher::OnFileCanReadWithoutBlocking()
[0x7f9c6be74268]
base::MessagePumpLibevent::OnLibeventNotification() [0x7f9c6be7623b]
event_process_active [0x7f9c6e4e1779]
event_base_loop [0x7f9c6e4e1aa8]
base::MessagePumpLibevent::Run() [0x7f9c6be75a19]
MessageLoop::RunInternal() [0x7f9c6beb7ba3]
MessageLoop::RunHandler() [0x7f9c6beb7a56]
MessageLoop::Run() [0x7f9c6beb738b]
base::Thread::Run() [0x7f9c6bf0424e]
base::Thread::ThreadMain() [0x7f9c6bf043ce]
base::(anonymous namespace)::ThreadFunc() [0x7f9c6befa9cf]
start_thread [0x7f9c6578d9ca]
0x7f9c6296670d

Trace/breakpoint trap


chro...@googlecode.com

unread,
Apr 24, 2012, 7:46:43 PM4/24/12
to chromi...@chromium.org
Updates:
Cc: er...@chromium.org

Comment #20 on issue 108012 by jsb...@chromium.org: IndexedDB should

(No comment was entered for this change.)

chro...@googlecode.com

unread,
May 23, 2012, 6:34:47 PM5/23/12
to chromi...@chromium.org
Updates:
Owner: er...@chromium.org

Comment #22 on issue 108012 by jsb...@chromium.org: IndexedDB should

chro...@googlecode.com

unread,
Jun 12, 2012, 8:52:08 PM6/12/12
to chromi...@chromium.org
Updates:
Cc: jia...@chromium.org

Comment #23 on issue 108012 by dim...@chromium.org: IndexedDB should
We hit this trying to build an offline app. We pull avatar images using XHR
(as blobs) then mint URLs for those blobs and set it to img.src. To have an
offline app, we want to store those in IDB.

Eric, what's your prognosis?

chro...@googlecode.com

unread,
Aug 1, 2012, 12:35:56 PM8/1/12
to chromi...@chromium.org

Comment #28 on issue 108012 by alecfl...@chromium.org: IndexedDB should
Unfortunately, we are not actively working on a fix for this right now - we
do want to add blob support, but we don't have the resources to work on
this at least for a month or so. We will do our best to update this bug as
this changes.

chro...@googlecode.com

unread,
Sep 21, 2012, 6:57:07 PM9/21/12
to chromi...@chromium.org

Comment #30 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

There's any progress with this issue? At least on any nightly or personal
branch that i would be able to download and compile (i'm using Ubuntu, if
that's matters)?

chro...@googlecode.com

unread,
Jan 3, 2013, 12:41:16 PM1/3/13
to chromi...@chromium.org

Comment #32 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
Now let’s see if I cannot motivate you why this would be a great addition.

I workin in a R&D firm on BigData. CouchDB and other NoSQL are ideal for
storing the loosely structured mix of imagery, video, meta-info , signals
data, etc. Mobile users (laptops, tablets, phones) need to grab snippets
of this and work offline for periods, and then re-connect. I need something
for NoSQL on the client side.

Think of massive multiplayer outdoor collaboration gaming, where the game
database is stored on the cloud and people are constantly connecting and
disconnecting. The CouchDB central store is where all the loosely
collected imagery, audio, and derived meta-information (JSON objects )is
collected and processed.

So when you do add it, can you make sure it also works for Chrome for
Android?


chro...@googlecode.com

unread,
Jan 3, 2013, 12:56:07 PM1/3/13
to chromi...@chromium.org

Comment #33 on issue 108012 by jsb...@chromium.org: IndexedDB should
We don't need any motivation, Blob support has just been below other work
in the priority queue. It's bubbling it's way slowly to the top, closer all
the time. Supporting it on Android is important too. Hopefully we'll have
news soon.

chro...@googlecode.com

unread,
Jan 3, 2013, 1:05:40 PM1/3/13
to chromi...@chromium.org

Comment #34 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

Could you be able to give a (orientative) release? v26? Maybe v27? After
v27?

chro...@googlecode.com

unread,
Jan 3, 2013, 1:36:40 PM1/3/13
to chromi...@chromium.org

Comment #35 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
Good to know you are motivated, I have the flexibility to wait. But I do
see comments here about serializing/deserializing the blob. I don't know if
FireFox is doing that, but if at all possible, I would rather see native
binary storage if possible. I am talking about blobs in the 10KB size
range, but I would have several hundred, and I need very fast retrieval.
Otherwise, I will do a polyfill that uses FileSystemAPI. (Perhaps you can
do the same, and store blobs in a hidden directory there?)

chro...@googlecode.com

unread,
Jan 3, 2013, 1:40:40 PM1/3/13
to chromi...@chromium.org

Comment #36 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
In case I was not clear, I meant store a reference in the IDB entry, with
metadata and a pointer to the FileSystem binary blob. (Just one possible
way to do this).

chro...@googlecode.com

unread,
Jan 3, 2013, 1:57:41 PM1/3/13
to chromi...@chromium.org

Comment #37 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

I would be very interested in your polyfill, since I need to work with
several megabytes files with access and modification of chunks and using
the FileSystem API to fix IndexedDB would be great. Currently I'm using an
on-memory IndexedDB implementation and modifying full blobs just to
circunvent temporaly this issue and don't have the files stored it's fairly
user unfriendly... I didn't be able to figure out how to create a polyfill
to add support for File and Blob objects using FileSystem API (I thought
about it some months ago), but if you have some idea and needs help or
testing don't doubt in call me :-)

By the way, here is my project: http:// github.com/piranna/ShareIt (I'm
using IndexedDB for cache since it's available both for Firefox and Chrome,
but first versions were using FileSystem API).

chro...@googlecode.com

unread,
Jan 3, 2013, 2:18:42 PM1/3/13
to chromi...@chromium.org

Comment #38 on issue 108012 by ericbide...@google.com: IndexedDB should
I made the opposite polyfill, idb.filesystem.js
(http://ericbidelman.tumblr.com/post/21649963613/idb-filesystem-js-bringing-the-html5-filesystem-api)
as a polyfill for the FS API. It uses IDB under the hood for FF and other
implementations that support saving Blobs to IDB. You could try

chro...@googlecode.com

unread,
Jan 3, 2013, 2:25:42 PM1/3/13
to chromi...@chromium.org

Comment #39 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

I did, indeed :-D Also I improved your FileWriter class adding seek() and
random write() according to specification that I have been using sucesfully
the last months. You have a pull-request with the changes on GitHub :-)

chro...@googlecode.com

unread,
Jan 3, 2013, 3:06:46 PM1/3/13
to chromi...@chromium.org

Comment #40 on issue 108012 by ericbide...@chromium.org: IndexedDB should
I must have missed that. I'll take a look. Thanks!

chro...@googlecode.com

unread,
Jan 10, 2013, 5:31:31 PM1/10/13
to chromi...@chromium.org

Comment #44 on issue 108012 by cos...@gmail.com: IndexedDB should support
@piranna: Blob support is sufficient for caching data. If you have a file,
you can read it into an ArrayBuffer and make a Blob out of that, then store
the Blob :D

Also, I was a bit wrong above. Building a Blob out of a binary string
requires going through an Uint8Array. (set byte i to string.charCodeAt(i) &
0xff, for i in 0...string.length)


chro...@googlecode.com

unread,
Jan 10, 2013, 5:49:31 PM1/10/13
to chromi...@chromium.org

Comment #45 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

I'm using it just this way to cache downloading content... :-D



copy... :-/

chro...@googlecode.com

unread,
Jan 10, 2013, 10:37:28 PM1/10/13
to chromi...@chromium.org

Comment #46 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
For my app, "Building a Blob out of a binary string requires going through
an Uint8Array" seems a bit slow and kludgy. What about the idea of writing
the blob to unique place in the FileSystem (/blobstore/key ), and then
storing the reference in the objectStore in the format {blob-key: xxx,
path: xxxx }

chro...@googlecode.com

unread,
Jan 10, 2013, 10:48:28 PM1/10/13
to chromi...@chromium.org

Comment #47 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

I found this way better... In fact Firefox do it this way, Blob and
Javascript-generated File objects inserted on IndexedDB are stored directly
on the underlying computer filesystem (or at least I read that...).

How could be done a polyfill for this? Override the ObjectStore methods and
inspect each object attribute to detect when one of them is a Blob object?

chro...@googlecode.com

unread,
Jan 11, 2013, 2:49:34 AM1/11/13
to chromi...@chromium.org

Comment #48 on issue 108012 by benjamin...@gmail.com: IndexedDB should
Yes that`s right in Firefox blobs are stored in the filesystem and you can
even go there and open them.
So i was able to download a movie to the IndexedDB as a blob and then in
the filesystem open it with VLC.
BTW the same thing works in IE10.

chro...@googlecode.com

unread,
Jan 11, 2013, 6:37:59 AM1/11/13
to chromi...@chromium.org

Comment #49 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

So it would be great to do a polyfill for this... At least I would have
persistence and don't need to use my in-memory implementation... :-P

Sent from my Android cell phone, please forgive the lack of format on the
text, and my fat thumbs :-P
El 11/01/2013 08:46, <chro...@googlecode.com> escribi�:

chro...@googlecode.com

unread,
Feb 1, 2013, 11:08:59 AM2/1/13
to chromi...@chromium.org

Comment #50 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
This is just a FYI. Perhaps it will help in your design.

I did a polyfill to store the results in the FileSystem. See below for the
full results. But to summarize. It works. But performance is best in IE,
which stores the results in the DB. FireFox is very poor. BTW, when I
increase the number of files to 6,760 (220MB). I start getting all sorts of
xhr error code: 0 errors, and it does not fetch all the PNG files (even
though they are there). IE10 works fine with 220MB of files, and finishes
in 15s! Superb.

Results Offline blob cache for PNG slippy maps

Testing

171 PNG files (total of 3.2MB)
Platforms tested: Chrome v24, FireFox 18, IE 10
Should also work with Chrome & FF for Android

Fetch from web server

using XHR2 (supported on almost all browsers) for blob download from
web server
I went with XHR2-Lib by Phil Parsons, which is very much like
JQUERY .ajax()
https://github.com/p-m-p/xhr2-lib

Storage

IndexedDB for IE and FireFox
Chrome: Polyfill (blob stored using FileSystem API, reference kept in
IndexedDB) polyfill
A Must read article on "How the browsers store IndexedDB data"
http://www.aaron-powell.com/web/indexeddb-storage
Note: FireFox uses SQLlite for the NOSQL IndexedDB. That might be the
reason for the slow performance. (blobs stored separately)
Note: Microsoft IE uses the extensible storage engine:
http://en.wikipedia.org/wiki/Extensible_Storage_Engine
Note: Chrome uses LevelDB http://code.google.com/p/leveldb/

Display

I am using Leaflet http://leafletjs.com/ to show the map tiles
I used the functional tile layer plugin by Ishmael Smyrnow for fetching
the tile layer from the DB
https://github.com/ismyrnow/Leaflet.functionaltilelayer
I compared the DB-based tiles layer with a purely local (localhost://)
storage
There is no noticeable difference in performance! between using
IndexedDB and local files!

Results

Chrome: Fetch (6.551s), Store (8.247s), Total Elapsed Time: (13.714s)
FireFox: Fetch (0.422s), Store (31.519s), Total Elapsed Time: (32.836s)
IE 10: Fetch (0.668s), Store: (0.896s), Total Elapsed Time: (3.758s)



chro...@googlecode.com

unread,
Feb 11, 2013, 10:31:03 AM2/11/13
to chromi...@chromium.org

Comment #51 on issue 108012 by d...@arandomurl.com: IndexedDB should
Funnily in relation to #32 I have run into this while developing an in
browser version of CouchDB (PouchDB)

The problem with polyfilling this with the filesystem api is that you lose
transactional semantics on document writes, we need to refcount and do
other such things when we write a document and when we break the event loop
to store things on the filesystem we get interleaved reads a lot of invalid
transaction objects.

It would be nice to see this fixed (alternatively I have heard that this
isnt a popular idea but being able to open a transaction with an option to
wait for it to be explicitly close would be just as good)

chro...@googlecode.com

unread,
Feb 11, 2013, 5:39:39 PM2/11/13
to chromi...@chromium.org

Comment #52 on issue 108012 by jsb...@chromium.org: IndexedDB should
FYI, you can keep a transaction alive indefinitely by doing something like:

var keep_alive = true; // set to false to allow transaction to finish
var transaction; // the transaction to keep alive
var store = 'store name'; // some object store in scope

(function keepAlive() {
if (keep_alive) {
transaction.objectStore(store).get(0).onsuccess = keepAlive;
}
}());


chro...@googlecode.com

unread,
Mar 26, 2013, 11:14:46 AM3/26/13
to chromi...@chromium.org

Comment #56 on issue 108012 by Florian....@gmail.com: IndexedDB should
@cos...@gmail.com
Which solution are you using to store and read your videos ? (#42)
It tried using BinaryString for Chrome, but I don't succeed in converting
string back to blob using your tip with Uint8Array(#44)

Do you have a working example somewhere ?
Thanks.

--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

chro...@googlecode.com

unread,
Mar 26, 2013, 2:18:46 PM3/26/13
to chromi...@chromium.org

Comment #57 on issue 108012 by ju.carr...@gmail.com: IndexedDB should
Yes, +1 for #56. I would love to see that as well.
Thanks guys!

chro...@googlecode.com

unread,
Apr 11, 2013, 1:23:06 PM4/11/13
to chromi...@chromium.org

Comment #61 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
Any status updates on when this will be resolved?

chro...@googlecode.com

unread,
May 12, 2013, 11:58:29 AM5/12/13
to chromi...@chromium.org

Comment #63 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
PouchDB now supports native binary blob storage in the web client
IndexedDB except in the case of Chrome (where it has to fall back to base64
storage).

chro...@googlecode.com

unread,
May 29, 2013, 12:56:59 PM5/29/13
to chromi...@chromium.org

Comment #64 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
I have created a online demo "JSFIDDLE-Like" at:
http://codepen.io/DrYSG/pen/hpqoD which uses XHR2 to fetch binary blobs,
and stores them in PouchDB (which uses IndexedDB). PouchDB is currently
converting the binary blobs to Base64. But it would be nice if Chrome
supported native binary blobs in IDB.

chro...@googlecode.com

unread,
May 29, 2013, 12:57:59 PM5/29/13
to chromi...@chromium.org

Comment #65 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
Oh yes, to operate, fist delete the old database, then reload, then press
download tiles. You will statistics as it runs, and an image fetched from
IDB when it is done.

chro...@googlecode.com

unread,
May 29, 2013, 1:28:05 PM5/29/13
to chromi...@chromium.org

Comment #66 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

There's currently any way to store File objects instead of Blobs? I'm
interested about storing references to the location of files added by the
user from the hard disk... Also, anybody know if it's supported to store
FileEntries and specially DirEntries?
El 29/05/2013 18:26, <chro...@googlecode.com> escribi�:

chro...@googlecode.com

unread,
May 29, 2013, 3:27:56 PM5/29/13
to chromi...@chromium.org

Comment #67 on issue 108012 by er...@chromium.org: IndexedDB should support
@piranna: IDB should support anything covered by the Structured Clone
algorithm. So once I get this feature in, it will support Blobs, Files,
and FileLists. It will not support FileEntry or DirEntry; it's not clear
what exactly that would mean w.r.t. permissions, file lifetimes, etc., and
the FileSystem spec isn't likely to see a lot of further development in the
near term.

chro...@googlecode.com

unread,
May 29, 2013, 5:06:00 PM5/29/13
to chromi...@chromium.org

Comment #68 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

Good to know. Seems that Mozilla is doing a copy of the File object instead
of maintain references to the original ones as according to the spec, is
this still true or files will be copied? I'm willing not...
El 29/05/2013 21:21, <chro...@googlecode.com> escribi�:

chro...@googlecode.com

unread,
Jun 12, 2013, 12:23:58 PM6/12/13
to chromi...@chromium.org

Comment #71 on issue 108012 by Toneti...@gmail.com: IndexedDB should
Any new update??
I think this is a feature that many people are waiting..

chro...@googlecode.com

unread,
Aug 12, 2013, 5:53:35 AM8/12/13
to chromi...@chromium.org

Comment #73 on issue 108012 by downch...@gmail.com: IndexedDB should
Chrome packaged apps now have a retain method for retaining access to
filesystem entries. With those items as well as with standard FileSystem
entries, you would simply store the URL reference in IndexedDB if you're
looking to reference the FileEntry/DirectoryEntry. A Mozilla developer has
started suggesting a new filesystem API, though there's little commitment.

Blob in IndexedDB still seems to be stalled. Use the FileSystem API and
string references for the time being.

chro...@googlecode.com

unread,
Aug 12, 2013, 6:13:43 AM8/12/13
to chromi...@chromium.org

Comment #74 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

I would like it to be a real web application, but until the Mozilla
suggested filesystem API gets some progress, definitely using packaged apps
on Chrome and DeviceStorage on Firefox would be a solution... :-) Thanks
for your suggestion! :-D

chro...@googlecode.com

unread,
Aug 12, 2013, 10:58:37 AM8/12/13
to chromi...@chromium.org

Comment #75 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
in note #50 https://code.google.com/p/chromium/issues/detail?id=108012#c50,
I indicate that I already tried the hybrid IDB/FileSystem approach (blobs
in the FileSystem). It does work, but not as efficiently (performance) or
maintainence free (you have to do your own folder load balancing, cleanup,
etc.) So I am still hoping that what er...@cromiumum.org says in #69
https://code.google.com/p/chromium/issues/detail?id=108012#c69 is true, and
that the full IDB spec will be implemented (IE10 and IE11 does, *hint*
*hint*) and their IDB is very very fast.

chro...@googlecode.com

unread,
Aug 20, 2013, 10:47:33 AM8/20/13
to chromi...@chromium.org

Comment #76 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
I have created another IDB download test. This one uses PouchDB (CouchDB
for the browser and mobiles) and it uses IDB underneath. IE11 and FF have
native blob support. Chrome is getting a slight performance hit since it
does not.

1. Run http://codepen.io/DrYSG/pen/kdzft
2. Press [Download]

It will load 171 JPG map tiles via XHR2 and stored them in PouchDB (The
table tells you if Binary or Base64 (Chrome) is being used in PouchDB).

[If you want to try with more JPG and get a higher resolution map (600+
tiles) then FORK and change line 1 to
var serverURL
= "https://googledrive.com/host/0B2Ay-nw1QSW2SHhjR0VBZXE2bUU/LittleBlueMarble/"
]

You can also [DELETE] the PouchDB databases.

Please tell me what performance you see. Behind my firewalls I am getting
about 24 Files/Sec. in IE11 and 22 Files/sec in Chrome.

One thing to know about this demo, is that it will only spawn "100 threads"
of XHR2 download/IDB PUT). This is because of a issue
https://code.google.com/p/chromium/issues/detail?id=244910

that I had to solve with throttling how fast Chrome downloads. You can
easily FORK the source and try different numbers of threads.


Also tell me if IE10 is working for you.

FireFox has a real poor IDB (an overlay of WebSQL, and no SPDY support, so
performance is very very poor)

You can then look at the full downloaded map by going to:

http://codepen.io/DrYSG/pen/mcdCq

chro...@googlecode.com

unread,
Aug 20, 2013, 10:52:33 AM8/20/13
to chromi...@chromium.org

Comment #77 on issue 108012 by raymondc...@gmail.com: IndexedDB should
This is the first time I've seen someone say Firefox's IDB implementation
is an overlay of WebSQL. I don't believe this is true. Do you have a source
for that?

chro...@googlecode.com

unread,
Aug 20, 2013, 11:11:33 AM8/20/13
to chromi...@chromium.org

Comment #78 on issue 108012 by ygutfre...@gmail.com: IndexedDB should
Let me be more precise. FF uses SQLlite

1. http://www.aaron-powell.com/posts/2012-10-05-indexeddb-storage.html
2.
http://stackoverflow.com/questions/9846013/how-to-view-indexeddb-content-in-firefox

This allows them to maintain legacy support of the WebSQL API, and also
support IDB. But what I think I am finding is that non-SQL to a relational
DB is not working well. (but maybe the real issue is lack of XHR2 and SPDY
or something in their thread model) I really don't know. All I know is that
Chrome does some amazing things in HTTP fetches pipeline.

chro...@googlecode.com

unread,
Aug 20, 2013, 11:23:29 AM8/20/13
to chromi...@chromium.org

Comment #79 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

The usage of base64 is thanks to the hack someone posted on this issue
some months ago, or how it's done? If so, I would be interested on
take a look on it...

chro...@googlecode.com

unread,
Aug 20, 2013, 12:02:29 PM8/20/13
to chromi...@chromium.org

Comment #80 on issue 108012 by ce...@seznam.cz: IndexedDB should support
@78 ... just for the sake of completness. Firefox has never supported
WebSQL, so there is no need to provide legacy support.

chro...@googlecode.com

unread,
Aug 20, 2013, 4:55:53 PM8/20/13
to chromi...@chromium.org

Comment #82 on issue 108012 by piranna: IndexedDB should support storing
File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

Thanks for the advice. So, seems the storage of Blobs is not transparent,
isn't it?
El 20/08/2013 20:29, <chro...@googlecode.com> escribi�:

chro...@googlecode.com

unread,
Oct 16, 2013, 11:49:52 AM10/16/13
to chromi...@chromium.org

Comment #85 on issue 108012 by vitteaym...@gmail.com: IndexedDB should
As mentioned in the thread this requires some fundamental changes but can
we have an idea when this will work (months, years...)?

chro...@googlecode.com

unread,
Dec 8, 2013, 1:26:53 PM12/8/13
to chromi...@chromium.org
Updates:
Cc: mlamo...@chromium.org

Comment #89 on issue 108012 by mlamo...@chromium.org: IndexedDB should
(No comment was entered for this change.)

chro...@googlecode.com

unread,
Jan 22, 2014, 10:55:35 PM1/22/14
to chromi...@chromium.org
Updates:
Cc: arthur...@chromium.org

Comment #90 on issue 108012 by dpa...@chromium.org: IndexedDB should

chro...@googlecode.com

unread,
Jan 23, 2014, 6:50:52 AM1/23/14
to chromi...@chromium.org

Comment #91 on issue 108012 by vitteaym...@gmail.com: IndexedDB should
Any news when this is coming?

chro...@googlecode.com

unread,
Mar 4, 2014, 1:26:24 AM3/4/14
to chromi...@chromium.org

Comment #92 on issue 108012 by mathieu....@matbee.com: IndexedDB should
Anything?

chro...@googlecode.com

unread,
Mar 4, 2014, 3:35:01 AM3/4/14
to chromi...@chromium.org

Comment #93 on issue 108012 by bert...@gmail.com: IndexedDB should support
Just finishing a project without it, perverting filesystem and localstorage
to work around this bug... Please, fix this

chro...@googlecode.com

unread,
Mar 14, 2014, 2:46:42 AM3/14/14
to chromi...@chromium.org

Comment #96 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c96

------------------------------------------------------------------
r257044 | er...@chromium.org | 2014-03-14T06:37:40.455342Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_leveldb_coding.cc?r1=257044&r2=257043&pathrev=257044
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_leveldb_coding.h?r1=257044&r2=257043&pathrev=257044

Add the leveldb coding changes for IDB blob support.

BUG=108012

Review URL: https://codereview.chromium.org/198133002
-----------------------------------------------------------------

chro...@googlecode.com

unread,
Mar 14, 2014, 2:47:42 AM3/14/14
to chromi...@chromium.org

chro...@googlecode.com

unread,
Mar 17, 2014, 9:47:11 PM3/17/14
to chromi...@chromium.org

Comment #99 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c99

------------------------------------------------------------------
r257568 | er...@chromium.org | 2014-03-18T01:20:59.385466Z

Changed paths:
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_pending_connection.h?r1=257568&r2=257567&pathrev=257568
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_database.h?r1=257568&r2=257567&pathrev=257568
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory_unittest.cc?r1=257568&r2=257567&pathrev=257568
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory.cc?r1=257568&r2=257567&pathrev=257568
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory.h?r1=257568&r2=257567&pathrev=257568
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/leveldb/leveldb_transaction.cc?r1=257568&r2=257567&pathrev=257568
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_unittest.cc?r1=257568&r2=257567&pathrev=257568
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_database_unittest.cc?r1=257568&r2=257567&pathrev=257568
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_dispatcher_host.cc?r1=257568&r2=257567&pathrev=257568
A
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_pending_connection.cc?r1=257568&r2=257567&pathrev=257568
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=257568&r2=257567&pathrev=257568
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_database.cc?r1=257568&r2=257567&pathrev=257568

Added IndexedDBPendingConnection to group up a bunch of parameters that get
passed around together.

This includes a convenience method CreateConnection in IndexedDBDatabase.cc
that's not strictly needed for this change, but makes the merge of other
related CLs easier later.

BUG=108012
R=cmumford,jsbell

Review URL: https://codereview.chromium.org/198223002

chro...@googlecode.com

unread,
Mar 20, 2014, 4:48:29 AM3/20/14
to chromi...@chromium.org

Comment #104 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c104

------------------------------------------------------------------
r258256 | pneu...@chromium.org | 2014-03-20T08:42:18.728419Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/media_galleries/fileapi/media_file_system_backend.cc?r1=258256&r2=258255&pathrev=258256
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/file_stream_writer.h?r1=258256&r2=258255&pathrev=258256
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chromeos/drive/fileapi/webkit_file_stream_writer_impl.cc?r1=258256&r2=258255&pathrev=258256
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/fileapi/copy_or_move_operation_delegate_unittest.cc?r1=258256&r2=258255&pathrev=258256
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/isolated_file_system_backend.cc?r1=258256&r2=258255&pathrev=258256
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/local_file_stream_writer_unittest.cc?r1=258256&r2=258255&pathrev=258256
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/local_file_stream_writer.cc?r1=258256&r2=258255&pathrev=258256
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chromeos/fileapi/file_system_backend.cc?r1=258256&r2=258255&pathrev=258256
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/local_file_stream_writer.h?r1=258256&r2=258255&pathrev=258256
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/sandbox_file_stream_writer.cc?r1=258256&r2=258255&pathrev=258256

Revert of Add a parameter to FileStreamWriter::CreateForLocalFile to allow
creating new (https://codereview.chromium.org/197233008/)

Reason for revert:
Best guess that this broke
SyncFileSystemApiTest.WriteFileThenGetUsage
on XP Tests(1).

http://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%281%29/builds/30601/steps/browser_tests/logs/WriteFileThenGetUsage

If not, we can just re-revert or reland it after a few cycles.

Original issue's description:
> Add a parameter to FileStreamWriter::CreateForLocalFile to allow creating
> new files as well as writing to existing files.
> See https://codereview.chromium.org/18023022/ for context; this is needed
> by upcoming IDB Blob support.

> Tzik, please do primary review for filesystem; Kinaba, please review as
> ChromeOS owner.

> BUG=108012
> R=kinaba,tzik

> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=258120

TBR=kin...@chromium.org,tz...@chromium.org,er...@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=108012

Review URL: https://codereview.chromium.org/206073006

chro...@googlecode.com

unread,
Mar 20, 2014, 5:15:33 AM3/20/14
to chromi...@chromium.org

Comment #105 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c105

------------------------------------------------------------------
r258259 | pneu...@chromium.org | 2014-03-20T09:11:36.043510Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/sandbox_file_stream_writer.cc?r1=258259&r2=258258&pathrev=258259
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/media_galleries/fileapi/media_file_system_backend.cc?r1=258259&r2=258258&pathrev=258259
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/file_stream_writer.h?r1=258259&r2=258258&pathrev=258259
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chromeos/drive/fileapi/webkit_file_stream_writer_impl.cc?r1=258259&r2=258258&pathrev=258259
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/fileapi/copy_or_move_operation_delegate_unittest.cc?r1=258259&r2=258258&pathrev=258259
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/isolated_file_system_backend.cc?r1=258259&r2=258258&pathrev=258259
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/local_file_stream_writer_unittest.cc?r1=258259&r2=258258&pathrev=258259
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/local_file_stream_writer.cc?r1=258259&r2=258258&pathrev=258259
M
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/browser/chromeos/fileapi/file_system_backend.cc?r1=258259&r2=258258&pathrev=258259
M
http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/fileapi/local_file_stream_writer.h?r1=258259&r2=258258&pathrev=258259

Revert of Revert of Add a parameter to FileStreamWriter::CreateForLocalFile
to allow creating new (https://codereview.chromium.org/206073006/)

Reason for revert:
Sorry, I looked through this CL in more detail and it seems that it doesn't
change any behavior.

Re-reverting this one and instead trying crrev.com/258064

Original issue's description:
> Revert of Add a parameter to FileStreamWriter::CreateForLocalFile to
> allow creating new (https://codereview.chromium.org/197233008/)

> Reason for revert:
> Best guess that this broke
> SyncFileSystemApiTest.WriteFileThenGetUsage
> on XP Tests(1).

> http://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%281%29/builds/30601/steps/browser_tests/logs/WriteFileThenGetUsage

> If not, we can just re-revert or reland it after a few cycles.

> Original issue's description:
> > Add a parameter to FileStreamWriter::CreateForLocalFile to allow
> creating new files as well as writing to existing files.
> > See https://codereview.chromium.org/18023022/ for context; this is
> needed by upcoming IDB Blob support.
> >
> > Tzik, please do primary review for filesystem; Kinaba, please review as
> ChromeOS owner.
> >
> > BUG=108012
> > R=kinaba,tzik
> >
> > Committed:
> https://src.chromium.org/viewvc/chrome?view=rev&revision=258120

> TBR=kin...@chromium.org,tz...@chromium.org,er...@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=108012

> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=258256

TBR=kin...@chromium.org,tz...@chromium.org,er...@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=108012

Review URL: https://codereview.chromium.org/206083004

chro...@googlecode.com

unread,
Apr 9, 2014, 12:18:21 AM4/9/14
to chromi...@chromium.org

chro...@googlecode.com

unread,
Apr 9, 2014, 5:45:26 AM4/9/14
to chromi...@chromium.org

Comment #109 on issue 108012 by shraddha...@gmail.com: IndexedDB
should support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012

Any news on expected release date for blob feature in chrome?

chro...@googlecode.com

unread,
Apr 14, 2014, 3:37:55 PM4/14/14
to chromi...@chromium.org

Comment #113 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c113

------------------------------------------------------------------
r263693 | er...@chromium.org | 2014-04-14T19:04:35.859718Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_dispatcher_host.cc?r1=263693&r2=263692&pathrev=263693
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/renderer_host/render_process_host_impl.cc?r1=263693&r2=263692&pathrev=263693
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_dispatcher_host.h?r1=263693&r2=263692&pathrev=263693
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory_unittest.cc?r1=263693&r2=263692&pathrev=263693
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory.cc?r1=263693&r2=263692&pathrev=263693
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory.h?r1=263693&r2=263692&pathrev=263693
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_unittest.cc?r1=263693&r2=263692&pathrev=263693
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/worker_host/worker_process_host.cc?r1=263693&r2=263692&pathrev=263693

Plumb request_context, ipc_process_id, and blob_storage_context through to
where they'll be needed.

BUG=108012

Review URL: https://codereview.chromium.org/229623002
-----------------------------------------------------------------

chro...@googlecode.com

unread,
Apr 18, 2014, 1:25:37 AM4/18/14
to chromi...@chromium.org

Comment #115 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c115

------------------------------------------------------------------
r264728 | er...@chromium.org | 2014-04-18T04:58:03.753933Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_callbacks.cc?r1=264728&r2=264727&pathrev=264728
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_callbacks.h?r1=264728&r2=264727&pathrev=264728

Complete registration of blobs before sending back an indexed DB value that
contains them.

BUG=108012

Review URL: https://codereview.chromium.org/238043007

chro...@googlecode.com

unread,
Apr 28, 2014, 6:42:49 PM4/28/14
to chromi...@chromium.org

chro...@googlecode.com

unread,
Apr 28, 2014, 6:44:49 PM4/28/14
to chromi...@chromium.org
Updates:
Labels: merge-merged-git-svn

Comment #118 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c118

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/63cf86df70fe7ae902810213b44958eb165dbe00

commit 63cf86df70fe7ae902810213b44958eb165dbe00
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Mon Apr 28 22:38:16 2014 +0000

The chromium-side backchannel plumbing for blobs in IDB.
This requires https://codereview.chromium.org/235933013/.

BUG=108012

Review URL: https://codereview.chromium.org/240003010

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266677
0039d316-1c4b-4281-b951-d872f2087c98

chro...@googlecode.com

unread,
Apr 29, 2014, 7:04:51 AM4/29/14
to chromi...@chromium.org

Comment #119 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c119

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/8e215a665c1591ce9230f9124398badd20a58a8c

commit 8e215a665c1591ce9230f9124398badd20a58a8c
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Tue Apr 29 09:57:07 2014 +0000

Allow BlobDataHandles to be copied, and have their UUIDs read, on any
thread.

BUG=108012

Review URL: https://codereview.chromium.org/259773006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266817

chro...@googlecode.com

unread,
Apr 29, 2014, 7:08:51 AM4/29/14
to chromi...@chromium.org

chro...@googlecode.com

unread,
Apr 29, 2014, 2:07:14 PM4/29/14
to chromi...@chromium.org

chro...@googlecode.com

unread,
Apr 29, 2014, 2:13:17 PM4/29/14
to chromi...@chromium.org

Comment #124 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c124

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/de624f8b5de362b1d509f80d00701660abf0ac93

commit de624f8b5de362b1d509f80d00701660abf0ac93
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Tue Apr 29 17:54:35 2014 +0000

Add blob-writing functionality [as yet un-called] to IDB's backend.

BUG=108012
R=cmum...@chromium.org, jsb...@chromium.org

Review URL: https://codereview.chromium.org/240003011

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266916
0039d316-1c4b-4281-b951-d872f2087c98

chro...@googlecode.com

unread,
Apr 29, 2014, 10:17:40 PM4/29/14
to chromi...@chromium.org

Comment #125 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c125

------------------------------------------------------------------
r267031 | er...@chromium.org | 2014-04-30T01:34:18.933655Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory_unittest.cc?r1=267031&r2=267030&pathrev=267031
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory.cc?r1=267031&r2=267030&pathrev=267031
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory.h?r1=267031&r2=267030&pathrev=267031
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.cc?r1=267031&r2=267030&pathrev=267031
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.h?r1=267031&r2=267030&pathrev=267031
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc?r1=267031&r2=267030&pathrev=267031
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_dispatcher_host.cc?r1=267031&r2=267030&pathrev=267031

Track which IndexedDBBackingStores have been opened since boot.
This way we'll know which need to have their live blob journals cleaned,
once
blob support is in.

This has a small overlap with https://codereview.chromium.org/240003011/
[currently in the commit queue] for ease of merging. However, it also
fixes a bug in that CL in which GetDatabaseNames didn't have the
request_context parameter.

BUG=108012

Review URL: https://codereview.chromium.org/259063004
-----------------------------------------------------------------

chro...@googlecode.com

unread,
Apr 29, 2014, 10:22:40 PM4/29/14
to chromi...@chromium.org

Comment #126 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c126

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/8b9db116bda68414d122b35bdebb43ac42ef4d7d

commit 8b9db116bda68414d122b35bdebb43ac42ef4d7d
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Wed Apr 30 01:34:18 2014 +0000

Track which IndexedDBBackingStores have been opened since boot.
This way we'll know which need to have their live blob journals cleaned,
once
blob support is in.

This has a small overlap with https://codereview.chromium.org/240003011/
[currently in the commit queue] for ease of merging. However, it also
fixes a bug in that CL in which GetDatabaseNames didn't have the
request_context parameter.

BUG=108012

Review URL: https://codereview.chromium.org/259063004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267031
0039d316-1c4b-4281-b951-d872f2087c98

chro...@googlecode.com

unread,
May 1, 2014, 12:44:37 AM5/1/14
to chromi...@chromium.org

Comment #127 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c127

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/3cf4bd4d39a7731100fd85c02fb9dd11259462a8

commit 3cf4bd4d39a7731100fd85c02fb9dd11259462a8
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Thu May 01 04:22:15 2014 +0000

Allow BlobDataHandles to be copied, and have their UUIDs read, on any
thread.

BUG=108012

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=266817

Review URL: https://codereview.chromium.org/259773006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267423

chro...@googlecode.com

unread,
May 1, 2014, 12:51:37 AM5/1/14
to chromi...@chromium.org

chro...@googlecode.com

unread,
May 1, 2014, 1:40:37 AM5/1/14
to chromi...@chromium.org

Comment #129 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c129

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/74c6709366769b2ed7ace4ff9cb5c926bcbaa8fe

commit 74c6709366769b2ed7ace4ff9cb5c926bcbaa8fe
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Thu May 01 05:28:54 2014 +0000

Some changes to support incognito mode, and some small cleanup.

BUG=108012

Review URL: https://codereview.chromium.org/260783003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267448
0039d316-1c4b-4281-b951-d872f2087c98

chro...@googlecode.com

unread,
May 1, 2014, 1:44:37 AM5/1/14
to chromi...@chromium.org

chro...@googlecode.com

unread,
May 1, 2014, 4:09:23 AM5/1/14
to chromi...@chromium.org

Comment #131 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c131

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/ac6f8c98b9f225ac1c890f94d14ff9e3b17afd0c

commit ac6f8c98b9f225ac1c890f94d14ff9e3b17afd0c
Author: fal...@chromium.org
<fal...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Thu May 01 08:03:24 2014 +0000

Revert of Allow BlobDataHandles to be copied, and have their UUIDs read, on
any thread. (https://codereview.chromium.org/259773006/)

Reason for revert:
I'm sorry to revert this change. It looks like it breaks the ASAN bot:

http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%282%29/builds/2161/steps/content_unittests/logs/ResolveBlobAndCreateUploadDataStream

Direct leak of 120 byte(s) in 3 object(s) allocated from:
#0 0x520dbb in operator new(unsigned long)
/usr/local/google/work/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:62
#1 0x3a0f611 in
webkit_blob::BlobDataHandle::BlobDataHandle(webkit_blob::BlobData*,
webkit_blob::BlobStorageContext*, base::SequencedTaskRunner*)
webkit/browser/blob/blob_data_handle.cc:42
#2 0x3a0fd71 in
webkit_blob::BlobStorageContext::GetBlobDataFromUUID(std::string const&)
webkit/browser/blob/blob_storage_context.cc:69
#3 0x268955d in ResolveBlobReference
content/browser/loader/upload_data_stream_builder.cc:73
...

Original issue's description:
> Allow BlobDataHandles to be copied, and have their UUIDs read, on any
> thread.

> BUG=108012

> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=266817

> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=267423

TBR=mich...@chromium.org,pi...@chromium.org,er...@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=108012

Review URL: https://codereview.chromium.org/261683005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267479
0039d316-1c4b-4281-b951-d872f2087c98

chro...@googlecode.com

unread,
May 1, 2014, 4:10:23 AM5/1/14
to chromi...@chromium.org

chro...@googlecode.com

unread,
May 1, 2014, 8:24:47 PM5/1/14
to chromi...@chromium.org

Comment #133 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c133

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/790591d1c8a92f496b43ef87fe2cf48eb09020bb

commit 790591d1c8a92f496b43ef87fe2cf48eb09020bb
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Thu May 01 23:38:27 2014 +0000

This is the implementation of the primary and secondary blob journals for
IDB/Blob support. It's not yet used at all, so there are a few fake calls
to
eliminate compiler errors until the rest of the code lands.

BUG=108012

Review URL: https://codereview.chromium.org/264483002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267665
0039d316-1c4b-4281-b951-d872f2087c98

chro...@googlecode.com

unread,
May 1, 2014, 8:26:47 PM5/1/14
to chromi...@chromium.org

chro...@googlecode.com

unread,
May 10, 2014, 2:54:40 PM5/10/14
to chromi...@chromium.org

Comment #137 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c137

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/496cbfbec18cea8ba588687b355673d35420ab9d

commit 496cbfbec18cea8ba588687b355673d35420ab9d
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Sat May 10 18:52:58 2014

More changes to support incognito mode in the IDB/Blob code.
Also includes a few small cleanup changes I noticed while I was in there.

BUG=108012

Review URL: https://codereview.chromium.org/261843004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269605
0039d316-1c4b-4281-b951-d872f2087c98

chro...@googlecode.com

unread,
May 10, 2014, 2:57:40 PM5/10/14
to chromi...@chromium.org

Comment #138 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c138

------------------------------------------------------------------
r269605 | er...@chromium.org | 2014-05-10T18:52:58.035761Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.cc?r1=269605&r2=269604&pathrev=269605
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.h?r1=269605&r2=269604&pathrev=269605

More changes to support incognito mode in the IDB/Blob code.
Also includes a few small cleanup changes I noticed while I was in there.

BUG=108012

Review URL: https://codereview.chromium.org/261843004
-----------------------------------------------------------------

chro...@googlecode.com

unread,
May 13, 2014, 1:30:29 AM5/13/14
to chromi...@chromium.org

Comment #139 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c139

------------------------------------------------------------------
r270016 | er...@chromium.org | 2014-05-13T04:59:44.904941Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_leveldb_coding.cc?r1=270016&r2=270015&pathrev=270016
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.cc?r1=270016&r2=270015&pathrev=270016
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.h?r1=270016&r2=270015&pathrev=270016

Add most of the metadata-handling code for blobs. It's not quite all
there, but
this is the biggest chunk I can pull out vaguely cleanly. It does contain a
couple of fake calls to keep the compiler happy.
This CL also makes SetUpMetadata a member in order to ease testing in a
later CL.

This depends on https://codereview.chromium.org/261843004/.

BUG=108012

Review URL: https://codereview.chromium.org/266333002

chro...@googlecode.com

unread,
May 13, 2014, 1:31:29 AM5/13/14
to chromi...@chromium.org

Comment #140 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c140

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/9f96c91cd9a9f73d000e1ab35c53974c58fd571b

commit 9f96c91cd9a9f73d000e1ab35c53974c58fd571b
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Tue May 13 04:59:44 2014

Add most of the metadata-handling code for blobs. It's not quite all
there, but
this is the biggest chunk I can pull out vaguely cleanly. It does contain a
couple of fake calls to keep the compiler happy.
This CL also makes SetUpMetadata a member in order to ease testing in a
later CL.

This depends on https://codereview.chromium.org/261843004/.

BUG=108012

Review URL: https://codereview.chromium.org/266333002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270016
0039d316-1c4b-4281-b951-d872f2087c98

chro...@googlecode.com

unread,
May 13, 2014, 3:20:19 AM5/13/14
to chromi...@chromium.org

Comment #141 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c141

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/28e0631885a68d2b0ad3aefbec80a18ada909a9d

commit 28e0631885a68d2b0ad3aefbec80a18ada909a9d
Author: dch...@chromium.org
<dch...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Tue May 13 06:55:43 2014

Revert 270016 "Add most of the metadata-handling code for blobs...."

This may have caused indexed_db layout tests to start failing.

> Add most of the metadata-handling code for blobs. It's not quite all
> there, but
> this is the biggest chunk I can pull out vaguely cleanly. It does
> contain a
> couple of fake calls to keep the compiler happy.
> This CL also makes SetUpMetadata a member in order to ease testing in a
> later CL.

> This depends on https://codereview.chromium.org/261843004/.

> BUG=108012

> Review URL: https://codereview.chromium.org/266333002

TBR=er...@chromium.org

Review URL: https://codereview.chromium.org/281623004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270038

chro...@googlecode.com

unread,
May 13, 2014, 3:23:19 AM5/13/14
to chromi...@chromium.org

Comment #142 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c142

------------------------------------------------------------------
r270038 | dch...@chromium.org | 2014-05-13T06:55:43.383894Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.cc?r1=270038&r2=270037&pathrev=270038
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.h?r1=270038&r2=270037&pathrev=270038
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_leveldb_coding.cc?r1=270038&r2=270037&pathrev=270038

Revert 270016 "Add most of the metadata-handling code for blobs...."

This may have caused indexed_db layout tests to start failing.

> Add most of the metadata-handling code for blobs. It's not quite all
> there, but
> this is the biggest chunk I can pull out vaguely cleanly. It does
> contain a
> couple of fake calls to keep the compiler happy.
> This CL also makes SetUpMetadata a member in order to ease testing in a
> later CL.

> This depends on https://codereview.chromium.org/261843004/.

> BUG=108012

> Review URL: https://codereview.chromium.org/266333002

TBR=er...@chromium.org

Review URL: https://codereview.chromium.org/281623004
-----------------------------------------------------------------

chro...@googlecode.com

unread,
May 16, 2014, 10:36:19 PM5/16/14
to chromi...@chromium.org

Comment #146 on issue 108012 by dpr...@chromium.org: IndexedDB should
r270016 appears to have broken a bunch of layout tests on win7, so I
reverted it after discussing w/ Eric.

http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7/builds/16179

(and a few other builds around that time).

chro...@googlecode.com

unread,
May 16, 2014, 10:38:19 PM5/16/14
to chromi...@chromium.org

Comment #145 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c145

------------------------------------------------------------------
r271146 | dpr...@chromium.org | 2014-05-17T01:53:45.600680Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.cc?r1=271146&r2=271145&pathrev=271146
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.h?r1=271146&r2=271145&pathrev=271146
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_leveldb_coding.cc?r1=271146&r2=271145&pathrev=271146

Revert r271097 - "Add most of the metadata-handling code for blobs."

This change caused most of the indexeddb tests to fail on win7 :(.

TBR=er...@chromium.org
BUG=108012

Review URL: https://codereview.chromium.org/287093004
-----------------------------------------------------------------

chro...@googlecode.com

unread,
May 16, 2014, 10:39:19 PM5/16/14
to chromi...@chromium.org

Comment #147 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c147

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/f498c2444254cd47c007c56bf5733fcdf905073c

commit f498c2444254cd47c007c56bf5733fcdf905073c
Author: dpr...@chromium.org
<dpr...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Sat May 17 01:53:45 2014

Revert r271097 - "Add most of the metadata-handling code for blobs."

This change caused most of the indexeddb tests to fail on win7 :(.

TBR=er...@chromium.org
BUG=108012

Review URL: https://codereview.chromium.org/287093004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271146
0039d316-1c4b-4281-b951-d872f2087c98

chro...@googlecode.com

unread,
Jun 3, 2014, 9:22:43 PM6/3/14
to chromi...@chromium.org

Comment #150 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c150

------------------------------------------------------------------
r274685 | er...@chromium.org | 2014-06-04T00:34:10.242923Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.cc?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/tools/metrics/histograms/histograms.xml?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.h?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/leveldb/leveldb_comparator.h?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_fake_backing_store.cc?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_fake_backing_store.h?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_leveldb_coding.h?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_database_unittest.cc?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_database.cc?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_transaction_unittest.cc?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_context_impl.cc?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_transaction.cc?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_transaction.h?r1=274685&r2=274684&pathrev=274685
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store_unittest.cc?r1=274685&r2=274684&pathrev=274685

This is the master CL that contains the whole remaining Chromium side.

See https://codereview.chromium.org/18590006/ for the Blink side.
See
https://docs.google.com/a/chromium.org/document/d/1Kdr4pcFt4QBDLLQn-fY4kZgw6ptmK23lthGZdQMVh2Y/edit
for the big picture document [chromium.org account required].
Read-only view at
https://docs.google.com/document/d/1Kdr4pcFt4QBDLLQn-fY4kZgw6ptmK23lthGZdQMVh2Y/pub
[no account required].


BUG=108012

Review URL: https://codereview.chromium.org/18023022
-----------------------------------------------------------------

chro...@googlecode.com

unread,
Jun 3, 2014, 9:27:44 PM6/3/14
to chromi...@chromium.org

Comment #151 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c151

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/67bb75b97060c6e08912b1b1696b45374189535b

commit 67bb75b97060c6e08912b1b1696b45374189535b
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Wed Jun 04 00:34:10 2014

This is the master CL that contains the whole remaining Chromium side.

See https://codereview.chromium.org/18590006/ for the Blink side.
See
https://docs.google.com/a/chromium.org/document/d/1Kdr4pcFt4QBDLLQn-fY4kZgw6ptmK23lthGZdQMVh2Y/edit
for the big picture document [chromium.org account required].
Read-only view at
https://docs.google.com/document/d/1Kdr4pcFt4QBDLLQn-fY4kZgw6ptmK23lthGZdQMVh2Y/pub
[no account required].


BUG=108012

Review URL: https://codereview.chromium.org/18023022

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274685
0039d316-1c4b-4281-b951-d872f2087c98

chro...@googlecode.com

unread,
Jun 5, 2014, 5:25:14 AM6/5/14
to chromi...@chromium.org

Comment #152 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c152

The following revision refers to this bug:

https://chrome-internal.googlesource.com/bling/chromium.git/+/67bb75b97060c6e08912b1b1696b45374189535b

commit 67bb75b97060c6e08912b1b1696b45374189535b
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Wed Jun 04 00:34:10 2014


chro...@googlecode.com

unread,
Jun 7, 2014, 1:19:35 AM6/7/14
to chromi...@chromium.org

Comment #154 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c154

The following revision refers to this bug:

https://chromium.googlesource.com/chromium/src.git/+/7c303f05a12233a23ffbe25c9a36f35dcb7bbb6e

commit 7c303f05a12233a23ffbe25c9a36f35dcb7bbb6e
Author: er...@chromium.org
<er...@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Sat Jun 07 05:15:32 2014

Fix a bug wherein we'd release a scoped_ptr and dereference it in the same
line of code. That worked by luck on some compilers, but failed on OSX, in
a way only revealed by tryjobs on a subsequent blink change.

BUG=108012

Review URL: https://codereview.chromium.org/320103003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275623
0039d316-1c4b-4281-b951-d872f2087c98

chro...@googlecode.com

unread,
Jun 7, 2014, 1:25:34 AM6/7/14
to chromi...@chromium.org

Comment #155 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c155

------------------------------------------------------------------
r275623 | er...@chromium.org | 2014-06-07T05:15:32.893991Z

Changed paths:
M
http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_callbacks.cc?r1=275623&r2=275622&pathrev=275623

Fix a bug wherein we'd release a scoped_ptr and dereference it in the same
line of code. That worked by luck on some compilers, but failed on OSX, in
a way only revealed by tryjobs on a subsequent blink change.

BUG=108012

Review URL: https://codereview.chromium.org/320103003
-----------------------------------------------------------------

chro...@googlecode.com

unread,
Jun 7, 2014, 1:45:11 PM6/7/14
to chromi...@chromium.org

Comment #156 on issue 108012 by cos...@gmail.com: IndexedDB should support
Thank you very much for the hard work! I can try it out after the last CL
lands.

chro...@googlecode.com

unread,
Jun 9, 2014, 12:52:46 PM6/9/14
to chromi...@chromium.org

Comment #157 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c157

The following revision refers to this bug:
http://src.chromium.org/viewvc/blink?view=rev&rev=175802

------------------------------------------------------------------
r175802 | er...@chromium.org | 2014-06-09T16:26:21.735409Z

Changed paths:
M
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/keypath-intrinsic-properties-expected.txt?r1=175802&r2=175801&pathrev=175802
A
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/blob-valid-after-deletion.html?r1=175802&r2=175801&pathrev=175802
A
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/blob-valid-before-commit-expected.txt?r1=175802&r2=175801&pathrev=175802
A
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/blob-delete-objectstore-db-expected.txt?r1=175802&r2=175801&pathrev=175802
A
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/blob-basics-metadata.html?r1=175802&r2=175801&pathrev=175802
D
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/noblobs.html?r1=175802&r2=175801&pathrev=175802
M
http://src.chromium.org/viewvc/blink/trunk/Source/bindings/v8/SerializedScriptValue.h?r1=175802&r2=175801&pathrev=175802
A
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/blob-valid-before-commit.html?r1=175802&r2=175801&pathrev=175802
M
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/resources/keypath-intrinsic-properties.js?r1=175802&r2=175801&pathrev=175802
A
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/blob-delete-objectstore-db.html?r1=175802&r2=175801&pathrev=175802
M
http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/IDBObjectStore.cpp?r1=175802&r2=175801&pathrev=175802
A
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/blob-valid-after-deletion-expected.txt?r1=175802&r2=175801&pathrev=175802
A
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/blob-basics-metadata-expected.txt?r1=175802&r2=175801&pathrev=175802
D
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/noblobs-expected.txt?r1=175802&r2=175801&pathrev=175802

This is the master CL that contains the whole remaining Blink side. It
turns on Blob support in IDB, so it has to wait until the Chromium side has
completely landed.

See https://codereview.chromium.org/18023022/ for the Chromium side.
Review URL: https://codereview.chromium.org/18590006
-----------------------------------------------------------------

chro...@googlecode.com

unread,
Jun 10, 2014, 1:44:04 PM6/10/14
to chromi...@chromium.org
Updates:
Status: Fixed

Comment #158 on issue 108012 by er...@chromium.org: IndexedDB should
Done ;'>.

chro...@googlecode.com

unread,
Jul 8, 2014, 5:54:33 AM7/8/14
to chromi...@chromium.org

Comment #159 on issue 108012 by vitteaym...@gmail.com: IndexedDB should
"If you're the sort of brave soul who builds Chromium you could try
applying the above patch locally. If not, watch here for one last change.
We'll want you to try out the next Canary build after that."

Is there a build ready to start testing it?

chro...@googlecode.com

unread,
Jul 26, 2014, 1:18:46 AM7/26/14
to chromi...@chromium.org

Comment #161 on issue 108012 by bugdro...@chromium.org: IndexedDB should
support storing File/Blob objects
http://code.google.com/p/chromium/issues/detail?id=108012#c161

The following revision refers to this bug:
http://src.chromium.org/viewvc/blink?view=rev&rev=178979

------------------------------------------------------------------
r178979 | jsb...@chromium.org | 2014-07-26T05:13:44.995631Z

Changed paths:
M
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/structured-clone-expected.txt?r1=178979&r2=178978&pathrev=178979
M
http://src.chromium.org/viewvc/blink/trunk/LayoutTests/storage/indexeddb/structured-clone.html?r1=178979&r2=178978&pathrev=178979

IndexedDB: Enable Blob/File/FileList structured clone tests

These test cases should have been enabled when Blob support landed, but
were missed.

BUG=108012
R=cmum...@chromium.org,dgr...@chromium.org

Review URL: https://codereview.chromium.org/414223008
-----------------------------------------------------------------

chro...@googlecode.com

unread,
Aug 30, 2014, 1:32:23 PM8/30/14
to chromi...@chromium.org

Comment #162 on issue 108012 by bloodsp...@gmail.com: IndexedDB should
support storing File/Blob objects
https://code.google.com/p/chromium/issues/detail?id=108012

I was excited to try this out, as v37 hit the stable channel this week. It
isn't stable.

Steps:
* write Blobs to the IndexedDB.
* close the browser.
* wait a few minutes.
* open the browser
Result: All blobs from the database return File not Found errors.

Test data was 1900 images with a total size of 60MiB.

I think I will have to go back to storing data-URIs and converting them
into blobs on application load.

chro...@googlecode.com

unread,
Aug 30, 2014, 7:15:07 PM8/30/14
to chromi...@chromium.org

Comment #163 on issue 108012 by er...@chromium.org: IndexedDB should
@bloodspill if you have a reproducible test case, please log a new bug
[don't just comment here].
Please confirm that the writes complete, and the transaction commits,
before killing the browser. If it hasn't committed, of course the blobs
won't be there.

chro...@googlecode.com

unread,
Aug 31, 2014, 1:02:44 AM8/31/14
to chromi...@chromium.org

Comment #164 on issue 108012 by bloodsp...@gmail.com: IndexedDB should
I can confirm that the issue is not present in Canary (v39.0.2141.0).
I couldn't find an issue in the tracker that describes this problem, so I
don't know what other change led to this being fixed -- no idea when it will
be in Stable.
It is loading more messages.
0 new messages