mozilla-b2g/gaia — pull request #17743 by vicamo (2014-03-28 07:53:12+00:00)
Title: Bug 936703 - [async_storage] callback in transaction.oncomplete event. r...

...=djf, a=1.4+

CostControl app invokes |Common.closeApplication()| in its
asyncStorage operation callbacks. However, these callbacks are
invoked in IDBRequest.onsuccess events when the corresponding
transaction is not necessarily completed. That is, we may have
following sequence:

1) IDBRequest.onsuccess
2) call to Common.closeApplication()
3) invalidate open IDBDatabase
4) trying to invoke IDBTransaction.oncomplete results in an
AbortError.

We should follow W3C's suggestion here -- listen
IDBTransaction.oncomplete instead of IDBRequest.onsuccess.

[1]: http://www.w3.org/TR/IndexedDB/#widl-IDBTransaction-oncomplete

Conflicts:
shared/js/async_storage.js