New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 108012 link

Starred by 90 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jun 2014
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 92049
issue 121974
issue 250442



Sign in to add a comment

IndexedDB should support storing File/Blob objects

Project Member Reported by ericbidelman@chromium.org, Dec 19 2011

Issue description

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.
 
Showing comments 67 - 166 of 166 Older

Comment 67 by ericu@chromium.org, May 29 2013

@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.

Comment 68 by pira...@gmail.com, May 29 2013

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, <chromium@googlecode.com> escribi

Comment 69 by ericu@chromium.org, May 29 2013

Yes, it will be a copy, just like for strings, numbers, or any other type IDB stores.  That's what it means to store data in a database.  If we just kept a reference to external data, that data could change outside of a transaction, breaking a fundamental assumption of IDB.

Comment 70 by pira...@gmail.com, May 29 2013

Oh sh*t, that's a big problem for me :-/ I'm creating a P2P filesharing
application using WebRTC and using IndexedDB to host metadata of the files
(mainly the hash), but doing copies will be a waste of space... :-( I
believed for File objects it only stored the reference for them, showing a
null on modifiedTime and length if they was not found the same way it's
done when the File objects are in memory. I supose File objects on
FileLists are also copied inside the database, isn't it? :-(
El 29/05/2013 22:34, <chromium@googlecode.com> escribi

Comment 71 by Deleted ...@, Jun 12 2013

Any new update??
I think this is a feature that many people are waiting..

Blocking: chromium:250442
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.

Comment 74 by pira...@gmail.com, Aug 12 2013

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
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 ericu@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.


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
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?
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.


Comment 79 by pira...@gmail.com, Aug 20 2013

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...
@78 ... just for the sake of completness. Firefox has never supported WebSQL, so there is no need to provide legacy support.
#79 - Base64 support is built into PouchDB http://pouchdb.com/. It tests to see if the IDB supports binary blobs.

If no blobSupport, then it translates the blob to Base64 and saves it inline to the DB. Blobs are stored by putAttachment(). Of course, if all you are storing are JSON documents, then you just save the doc (with no attachment).


Comment 82 by pira...@gmail.com, Aug 20 2013

Thanks for the advice. So, seems the storage of Blobs is not transparent,
isn't it?
El 20/08/2013 20:29, <chromium@googlecode.com> escribi
Folks: this bug is tracking blob support in IDB in Chromium. We all agree it should be implemented, and ericu@ is working on it right now. It happens to require some fundamental changes in the way chrome handles blobs - purely an implementation detail, but that is why it is taking a while.

Please don't clutter this bug up with random performance measurements of other browsers, it's not helping anyone.
1. Alec, I understand and agree
2. The demo is meant to be helpful as a debug and test tool for you and ericu not perf test for other browsers

Why? Because in  issue #244910 , I discovered that when doing bulk downloads with Chrome into IDB, it will get overload the memory. So I had to do some fancy bandwidth throttling with Promises in http://codepen.io/DrYSG/pen/kdzft. You can easily set how many fetch/store "threads" are running concurrently. I hope this is useful to the Chromium team.

#82, piranna - the API does make blob storage transparent.

As mentioned in the thread this requires some fundamental changes but can we have an idea when this will work (months, years...)?
months i think, wip can be seen here..

Blob refactoring stuff
https://code.google.com/p/chromium/issues/detail?id=174200

IDB specific stuff
https://codereview.chromium.org/18023022/
https://codereview.chromium.org/18590006/

Comment 87 by vli@chromium.org, Nov 19 2013

Labels: Hotlist-DevRel
Are we really still months away on this?
Cc: mlamouri@chromium.org
Cc: arthurhsu@chromium.org
Any news when this is coming?
Anything?

Comment 93 by bert...@gmail.com, Mar 4 2014

Just finishing a project without it, perverting filesystem and localstorage to work around this bug... Please, fix this
Per #c86 you can continue to track progress by watching the Chromium and Blink changes at:

https://codereview.chromium.org/18023022/
https://codereview.chromium.org/18590006/

We would like to start landing pieces soon.
It's not very easy to read, thanks if you can advertise the first release when it will be there and usable.
Project Member

Comment 96 by bugdroid1@chromium.org, Mar 14 2014

------------------------------------------------------------------
r257044 | ericu@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
-----------------------------------------------------------------
Project Member

Comment 97 by bugdroid1@chromium.org, Mar 14 2014

------------------------------------------------------------------
r257045 | ericu@chromium.org | 2014-03-14T06:39:45.105412Z

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

Change LevelDBWriteOnlyTransaction to be writeable, and change its name to LevelDBDirectTransaction.

BUG= 108012 
R=cmumford,jsbell

Review URL: https://codereview.chromium.org/198243002
-----------------------------------------------------------------
Project Member

Comment 99 by bugdroid1@chromium.org, Mar 18 2014

------------------------------------------------------------------
r257568 | ericu@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
-----------------------------------------------------------------
Project Member

Comment 101 by bugdroid1@chromium.org, Mar 19 2014

------------------------------------------------------------------
r258120 | ericu@chromium.org | 2014-03-19T22:03:13.948127Z

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

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

Review URL: https://codereview.chromium.org/197233008
-----------------------------------------------------------------
How I feel when I see these commits: http://media0.giphy.com/media/rl0FOxdz7CcxO/giphy.gif

thanks!
Project Member

Comment 103 by bugdroid1@chromium.org, Mar 19 2014

------------------------------------------------------------------
r258139 | ericu@chromium.org | 2014-03-19T23:08:52.182362Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.h?r1=258139&r2=258138&pathrev=258139
   A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_value.cc?r1=258139&r2=258138&pathrev=258139
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_cursor.cc?r1=258139&r2=258138&pathrev=258139
   A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_value.h?r1=258139&r2=258138&pathrev=258139
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_callbacks.cc?r1=258139&r2=258138&pathrev=258139
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_cursor.h?r1=258139&r2=258138&pathrev=258139
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_callbacks.h?r1=258139&r2=258138&pathrev=258139
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_dispatcher_host.cc?r1=258139&r2=258138&pathrev=258139
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=258139&r2=258138&pathrev=258139
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_database.cc?r1=258139&r2=258138&pathrev=258139
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_database.h?r1=258139&r2=258138&pathrev=258139
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store_unittest.cc?r1=258139&r2=258138&pathrev=258139
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.cc?r1=258139&r2=258138&pathrev=258139
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_blob_info.h?r1=258139&r2=258138&pathrev=258139

Add IndexedDBValue wrapper class to group blob info with bits.
Depends on https://codereview.chromium.org/197023009.

BUG= 108012 
R=cmumford,jsbell

Review URL: https://codereview.chromium.org/197753011
-----------------------------------------------------------------
Project Member

Comment 104 by bugdroid1@chromium.org, Mar 20 2014

------------------------------------------------------------------
r258256 | pneubeck@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=kinaba@chromium.org,tzik@chromium.org,ericu@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG= 108012 

Review URL: https://codereview.chromium.org/206073006
-----------------------------------------------------------------
Project Member

Comment 105 by bugdroid1@chromium.org, Mar 20 2014

------------------------------------------------------------------
r258259 | pneubeck@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=kinaba@chromium.org,tzik@chromium.org,ericu@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG= 108012 
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=258256

TBR=kinaba@chromium.org,tzik@chromium.org,ericu@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG= 108012 

Review URL: https://codereview.chromium.org/206083004
-----------------------------------------------------------------
Project Member

Comment 106 by bugdroid1@chromium.org, Apr 2 2014

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

------------------------------------------------------------------
r170686 | ericu@chromium.org | 2014-04-02T19:36:17.009941Z

Changed paths:
   A http://src.chromium.org/viewvc/blink/trunk/public/platform/WebBlobInfo.h?r1=170686&r2=170685&pathrev=170686

Add two classes [as yet unused] needed for upcoming IDB Blob support.

BUG= 108012 
R=cmumford,jsbell,abarth

Review URL: https://codereview.chromium.org/205413004
-----------------------------------------------------------------
Project Member

Comment 107 by bugdroid1@chromium.org, Apr 3 2014

------------------------------------------------------------------
r261440 | ericu@chromium.org | 2014-04-03T16:26:19.904465Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory_unittest.cc?r1=261440&r2=261439&pathrev=261440
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory.cc?r1=261440&r2=261439&pathrev=261440
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store_unittest.cc?r1=261440&r2=261439&pathrev=261440
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_factory.h?r1=261440&r2=261439&pathrev=261440
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.cc?r1=261440&r2=261439&pathrev=261440
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.h?r1=261440&r2=261439&pathrev=261440
   A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_active_blob_registry_unittest.cc?r1=261440&r2=261439&pathrev=261440
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_fake_backing_store.cc?r1=261440&r2=261439&pathrev=261440
   A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_active_blob_registry.cc?r1=261440&r2=261439&pathrev=261440
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_cleanup_on_io_error_unittest.cc?r1=261440&r2=261439&pathrev=261440
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_fake_backing_store.h?r1=261440&r2=261439&pathrev=261440
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_tests.gypi?r1=261440&r2=261439&pathrev=261440
   A http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_active_blob_registry.h?r1=261440&r2=261439&pathrev=261440
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/content_browser.gypi?r1=261440&r2=261439&pathrev=261440

Add the IndexedDBActiveBlobRegistry, currently unused, to enable future blob
support.

BUG= 108012 
R=cmumford,jsbell

Review URL: https://codereview.chromium.org/203833003
-----------------------------------------------------------------
Any news on expected release date for blob feature in chrome?
Project Member

Comment 111 by bugdroid1@chromium.org, Apr 9 2014

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

------------------------------------------------------------------
r171190 | ericu@chromium.org | 2014-04-09T22:27:26.704791Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/crypto/clone-rsaKey-private-expected.txt?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/IDBObjectStore.cpp?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/crypto/clone-rsaHashedKey-public-expected.txt?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/public/web/WebSerializedScriptValueVersion.h?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/crypto/clone-rsaKey-public-expected.txt?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/Source/core/fileapi/File.h?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/v8/SerializedScriptValue.cpp?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/crypto/clone-aesKey-expected.txt?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/crypto/clone-hmacKey-expected.txt?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/storage/resources/serialized-script-value.js?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/v8/SerializedScriptValue.h?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/LayoutTests/crypto/clone-rsaHashedKey-private-expected.txt?r1=171190&r2=171189&pathrev=171190
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/v8/IDBBindingUtilities.cpp?r1=171190&r2=171189&pathrev=171190

Add blob serialization support [currently unused] to SerializedScriptValue.
This will be needed by IDB Blob support, in progress.

BUG= 108012 
R=cmumford,jsbell

Review URL: https://codereview.chromium.org/223123002
-----------------------------------------------------------------
Project Member

Comment 113 by bugdroid1@chromium.org, Apr 14 2014

Project Member

Comment 114 by bugdroid1@chromium.org, Apr 17 2014

------------------------------------------------------------------
r264380 | ericu@chromium.org | 2014-04-17T01:42:32.903594Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_fake_backing_store.cc?r1=264380&r2=264379&pathrev=264380
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_dispatcher_host.cc?r1=264380&r2=264379&pathrev=264380
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_database.cc?r1=264380&r2=264379&pathrev=264380
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_dispatcher_host.h?r1=264380&r2=264379&pathrev=264380
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_database.h?r1=264380&r2=264379&pathrev=264380
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store_unittest.cc?r1=264380&r2=264379&pathrev=264380
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.cc?r1=264380&r2=264379&pathrev=264380
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/indexed_db/indexed_db_backing_store.h?r1=264380&r2=264379&pathrev=264380

Pass blob info through from the IPC to the backing store on put.
It's not used yet; this is all just preparatory plumbing.

BUG= 108012 

Review URL: https://codereview.chromium.org/232343004
-----------------------------------------------------------------
Project Member

Comment 115 by bugdroid1@chromium.org, Apr 18 2014

------------------------------------------------------------------
r264728 | ericu@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
-----------------------------------------------------------------
Project Member

Comment 116 by bugdroid1@chromium.org, Apr 25 2014

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

------------------------------------------------------------------
r172656 | ericu@chromium.org | 2014-04-25T20:11:14.211865Z

Changed paths:
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/v8/IDBBindingUtilities.cpp?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/IDBCursor.h?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/IDBDatabase.cpp?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/WebIDBCallbacksImpl.h?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/WebIDBCallbacks.h?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/bindings/v8/IDBBindingUtilities.h?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/IDBAny.cpp?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/IDBRequest.cpp?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/IDBRequestTest.cpp?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/IDBDatabase.h?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/public/platform/WebIDBDatabase.h?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/IDBAny.h?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/IDBCursor.cpp?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/IDBRequest.h?r1=172656&r2=172655&pathrev=172656
   M http://src.chromium.org/viewvc/blink/trunk/Source/modules/indexeddb/WebIDBCallbacksImpl.cpp?r1=172656&r2=172655&pathrev=172656

Add the backchannel for Blobs to be received into Blink from the database backend.

BUG= 108012 

Review URL: https://codereview.chromium.org/235933013
-----------------------------------------------------------------
Project Member

Comment 118 by bugdroid1@chromium.org, Apr 28 2014

Labels: merge-merged-git-svn
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/63cf86df70fe7ae902810213b44958eb165dbe00

commit 63cf86df70fe7ae902810213b44958eb165dbe00
Author: ericu@chromium.org <ericu@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


Project Member

Comment 119 by bugdroid1@chromium.org, Apr 29 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8e215a665c1591ce9230f9124398badd20a58a8c

commit 8e215a665c1591ce9230f9124398badd20a58a8c
Author: ericu@chromium.org <ericu@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 0039d316-1c4b-4281-b951-d872f2087c98


Project Member

Comment 122 by bugdroid1@chromium.org, Apr 29 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/624bce9623955b66b8556d9e8d6f780da63069b7

commit 624bce9623955b66b8556d9e8d6f780da63069b7
Author: machenbach@chromium.org <machenbach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Tue Apr 29 10:58:20 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:
Causes leaks:
http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%282%29/builds/2069

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

TBR=michaeln@chromium.org,ericu@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG= 108012 

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

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


Project Member

Comment 124 by bugdroid1@chromium.org, Apr 29 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de624f8b5de362b1d509f80d00701660abf0ac93

commit de624f8b5de362b1d509f80d00701660abf0ac93
Author: ericu@chromium.org <ericu@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=cmumford@chromium.org, jsbell@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


Project Member

Comment 125 by bugdroid1@chromium.org, Apr 30 2014

------------------------------------------------------------------
r267031 | ericu@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
-----------------------------------------------------------------
Project Member

Comment 126 by bugdroid1@chromium.org, Apr 30 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8b9db116bda68414d122b35bdebb43ac42ef4d7d

commit 8b9db116bda68414d122b35bdebb43ac42ef4d7d
Author: ericu@chromium.org <ericu@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


Project Member

Comment 127 by bugdroid1@chromium.org, May 1 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3cf4bd4d39a7731100fd85c02fb9dd11259462a8

commit 3cf4bd4d39a7731100fd85c02fb9dd11259462a8
Author: ericu@chromium.org <ericu@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 0039d316-1c4b-4281-b951-d872f2087c98


Project Member

Comment 129 by bugdroid1@chromium.org, May 1 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/74c6709366769b2ed7ace4ff9cb5c926bcbaa8fe

commit 74c6709366769b2ed7ace4ff9cb5c926bcbaa8fe
Author: ericu@chromium.org <ericu@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


Project Member

Comment 131 by bugdroid1@chromium.org, May 1 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ac6f8c98b9f225ac1c890f94d14ff9e3b17afd0c

commit ac6f8c98b9f225ac1c890f94d14ff9e3b17afd0c
Author: falken@chromium.org <falken@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=michaeln@chromium.org,piman@chromium.org,ericu@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


Project Member

Comment 132 by bugdroid1@chromium.org, May 1 2014

------------------------------------------------------------------
r267479 | falken@chromium.org | 2014-05-01T08:03:24.202388Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/blob/blob_data_handle.cc?r1=267479&r2=267478&pathrev=267479
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/blob/blob_data_handle.h?r1=267479&r2=267478&pathrev=267479
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/fileapi/blob_storage_context_unittest.cc?r1=267479&r2=267478&pathrev=267479
   M http://src.chromium.org/viewvc/chrome/trunk/src/webkit/browser/blob/blob_storage_context.h?r1=267479&r2=267478&pathrev=267479
   M http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/loader/upload_data_stream_builder_unittest.cc?r1=267479&r2=267478&pathrev=267479

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=michaeln@chromium.org,piman@chromium.org,ericu@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG= 108012 

Review URL: https://codereview.chromium.org/261683005
-----------------------------------------------------------------
Project Member

Comment 133 by bugdroid1@chromium.org, May 1 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/790591d1c8a92f496b43ef87fe2cf48eb09020bb

commit 790591d1c8a92f496b43ef87fe2cf48eb09020bb
Author: ericu@chromium.org <ericu@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


Project Member

Comment 137 by bugdroid1@chromium.org, May 10 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/496cbfbec18cea8ba588687b355673d35420ab9d

commit 496cbfbec18cea8ba588687b355673d35420ab9d
Author: ericu@chromium.org <ericu@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


Project Member

Comment 138 by bugdroid1@chromium.org, May 10 2014

------------------------------------------------------------------
r269605 | ericu@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
-----------------------------------------------------------------
Project Member

Comment 139 by bugdroid1@chromium.org, May 13 2014

------------------------------------------------------------------
r270016 | ericu@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
-----------------------------------------------------------------
Project Member

Comment 140 by bugdroid1@chromium.org, May 13 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f96c91cd9a9f73d000e1ab35c53974c58fd571b

commit 9f96c91cd9a9f73d000e1ab35c53974c58fd571b
Author: ericu@chromium.org <ericu@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


Project Member

Comment 141 by bugdroid1@chromium.org, May 13 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/28e0631885a68d2b0ad3aefbec80a18ada909a9d

commit 28e0631885a68d2b0ad3aefbec80a18ada909a9d
Author: dcheng@chromium.org <dcheng@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=ericu@chromium.org

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

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


Project Member

Comment 142 by bugdroid1@chromium.org, May 13 2014

------------------------------------------------------------------
r270038 | dcheng@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=ericu@chromium.org

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

Comment 143 by bugdroid1@chromium.org, May 16 2014

------------------------------------------------------------------
r271097 | ericu@chromium.org | 2014-05-16T21:29:57.530508Z

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

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 

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

Review URL: https://codereview.chromium.org/266333002
-----------------------------------------------------------------
Project Member

Comment 144 by bugdroid1@chromium.org, May 16 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a84cd887ba2be0494ffc559d7b7d68381fb3dd7d

commit a84cd887ba2be0494ffc559d7b7d68381fb3dd7d
Author: ericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Fri May 16 21:29:57 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 

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

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

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


Project Member

Comment 145 by bugdroid1@chromium.org, May 17 2014

------------------------------------------------------------------
r271146 | dpranke@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=ericu@chromium.org
BUG= 108012 

Review URL: https://codereview.chromium.org/287093004
-----------------------------------------------------------------
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).
Project Member

Comment 147 by bugdroid1@chromium.org, May 17 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f498c2444254cd47c007c56bf5733fcdf905073c

commit f498c2444254cd47c007c56bf5733fcdf905073c
Author: dpranke@chromium.org <dpranke@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=ericu@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


Project Member

Comment 148 by bugdroid1@chromium.org, May 27 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5a910a6e29ddd5a187ee376e3890b05378d02985

commit 5a910a6e29ddd5a187ee376e3890b05378d02985
Author: ericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Tue May 27 22:00:54 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 

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

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

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


Project Member

Comment 149 by bugdroid1@chromium.org, May 27 2014

------------------------------------------------------------------
r273048 | ericu@chromium.org | 2014-05-27T22:00:54.231225Z

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

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 

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

Review URL: https://codereview.chromium.org/266333002
-----------------------------------------------------------------
Project Member

Comment 150 by bugdroid1@chromium.org, Jun 4 2014

------------------------------------------------------------------
r274685 | ericu@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
-----------------------------------------------------------------
Project Member

Comment 151 by bugdroid1@chromium.org, Jun 4 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/67bb75b97060c6e08912b1b1696b45374189535b

commit 67bb75b97060c6e08912b1b1696b45374189535b
Author: ericu@chromium.org <ericu@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


Project Member

Comment 152 by bugdroid1@chromium.org, Jun 5 2014

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/bling/chromium.git/+/67bb75b97060c6e08912b1b1696b45374189535b

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

Hey, bug watchers! We're on the verge of turning on Blob support for Indexed DB. One more patch remains (hopefully) - https://codereview.chromium.org/18590006/

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.

Project Member

Comment 154 by bugdroid1@chromium.org, Jun 7 2014

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7c303f05a12233a23ffbe25c9a36f35dcb7bbb6e

commit 7c303f05a12233a23ffbe25c9a36f35dcb7bbb6e
Author: ericu@chromium.org <ericu@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


Project Member

Comment 155 by bugdroid1@chromium.org, Jun 7 2014

------------------------------------------------------------------
r275623 | ericu@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
-----------------------------------------------------------------

Comment 156 by cos...@gmail.com, Jun 7 2014

Thank you very much for the hard work! I can try it out after the last CL lands.
Project Member

Comment 157 by bugdroid1@chromium.org, Jun 9 2014

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

------------------------------------------------------------------
r175802 | ericu@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.
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/18590006
-----------------------------------------------------------------
Status: Fixed
Done ;'>.

"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?

Comment 160 by cos...@gmail.com, Jul 8 2014

According to omahaproxy, either Dev or Canary should work.
Project Member

Comment 161 by bugdroid1@chromium.org, Jul 26 2014

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

------------------------------------------------------------------
r178979 | jsbell@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=cmumford@chromium.org,dgrogan@chromium.org

Review URL: https://codereview.chromium.org/414223008
-----------------------------------------------------------------
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.
@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.
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.
Any chance  issue 408601  is the culprit? I landed a fix a couple of days ago, and the fix would be in the v39.0.2141.0 canary. I don't recall any other relevant fixes that'd be in 39 but not 37, but there may have been some.

If you can share a repro - even if it's no longer reproducing in canary - it'd help us identify the fix (and ensure it's really fixed, and not just flaky) and justify merging the fix to earlier versions.
Looking at the change for #408120 again, it's possible?
However I was experiencing different behaviour from the browser before and after closing it.
Before closing the browser I had the mime-type text/plain complaint. <img> tags still loaded them fine.
After restarting the browser I had 404 errors and <img> tags failed completely.
Showing comments 67 - 166 of 166 Older

Sign in to add a comment