Safari IndexedDB/WebSQL bug wishlist 
======

Big overview of what's missing in Safari 7.1+ and iOS 8+ in terms of browser storage.

*Updated May 25th 2016*

Safari (general)
----

- ~~[IndexedDB onupgradeneeded not firing correctly in Safari/iOS 8](https://bugs.webkit.org/show_bug.cgi?id=136888)~~ *Fixed in iOS 9*
- ~~[IndexedDB transaction throw error for multiple object store](https://bugs.webkit.org/show_bug.cgi?id=136937)~~ *Fixed in WebKit nightly!*
- ~~[IndexedDB is deleting data when a PK is shared amongst two objectStores](https://bugs.webkit.org/show_bug.cgi?id=137154)~~ *fixed in iOS 9*
- ~~[IndexedDB array index keys are concated across cursor lifetime](https://bugs.webkit.org/show_bug.cgi?id=138504)~~ *fixed in iOS 9*
- ~~[Add ObjectStore Blob Support for IndexedDB](https://bugs.webkit.org/show_bug.cgi?id=143193)~~ *Fixed in WebKit Nightly!*
- ~~[indexeddb versionchange event not fired](https://bugs.webkit.org/show_bug.cgi?id=136155)~~ *Fixed in WebKit Nightly!*
- ~~[IndexedDB does not throw ConstraintErrors for unique keys](https://bugs.webkit.org/show_bug.cgi?id=149107)~~ *Fixed in WebKit Nightly!*
- ~~[ IndexedDB openKeyCursor() returns primaryKeys in wrong order](https://bugs.webkit.org/show_bug.cgi?id=149205)~~ *Fixed in WebKit Nightly!*
- ~~[ IndexedDB is not available in a web worker](https://bugs.webkit.org/show_bug.cgi?id=149953)~~ *Fixed in WebKit Nightly!*
- [ IDBIndex.openCursor() iterates a mix of several ObjectStores ](https://bugs.webkit.org/show_bug.cgi?id=158833)

UIWebView
----

- ~~[window.indexedDB, IDBCursor and IDBKeyRange should be undefined when IndexedDB isn't available](https://bugs.webkit.org/show_bug.cgi?id=137034)~~ *fixed in iOS 9*

WKWebView
----

- ~~[WKWebView: openDatabase results in DOM Exception 18](https://bugs.webkit.org/show_bug.cgi?id=137760)~~ *fixed in WebKit nightly!*
- ~~[WKWebView: IndexedDB data doesn't survive an app relaunch](https://bugs.webkit.org/show_bug.cgi?id=144875)~~ *bug in Cordova configuration, not WKWebView; see [database-filler](https://github.com/nolanlawson/database-filler) for working demo*

Homescreen apps/Chrome for iOS
---

- ~~[In home screen WebApps websql do not response after standyby under IOS 8](https://bugs.webkit.org/show_bug.cgi?id=138014)~~ *fixed in iOS 8.2*
- ~~[openDatabase intermittently triggers SecurityError: DOM Exception 18 in Chrome on  iOS](https://bugs.webkit.org/show_bug.cgi?id=140443)~~ *fixed in latest Chrome* *[regressed because of Chrome switching to WKWebView](https://bugs.webkit.org/show_bug.cgi?id=137760)*

More details
----

- [IndexedDB on iOS 8 – Broken Bad](http://www.raymondcamden.com/2014/9/25/IndexedDB-on-iOS-8--Broken-Bad) (see comments especially)
- [PouchDB – Safari Madness](http://pouchdb.com/2014/09/22/3.0.6.html)