kripken/emscripten — pull request #2080 by inolen (2014-01-30 17:55:45+00:00)
Title: idbfs updates

* don't leak streams in readFile and writeFile
* added canOwn option to writeFile
* updated idbfs sync to specify canOwn when writing to the local fs
* don't invoke callback multiple times when idbfs syncfs internally hits multiple errors
* reworked idbfs sync to use an index with openKeyCursor to avoid deserializing all values when getting the set members

I reworked the majority of library_idbfs.js because of the last point there, which greatly improves it's performance when working with large (~200mb) amounts of persisted data. Previously, each time it performed a sync it would deserialize all of the data in the store when figuring out the members of the remote set, now it uses an index to get at filename / timestamp info and only deserializes the actual content when necessary.

Ran `browser.test_fs_idbfs_sync`.