gecko-dev/dom/indexedDB
Bevis Tseng 44deb08f5c Bug 1151017 - Support the 'close' Event on Databases. r=khuey
Outline of this patch:

1. Define a new ipdl message called |CloseAfterInvalidationComplete| to trigger the close event after all transactions are complete only if the database is invalidated by the user agent.
2. Make sure the following event sequence is consistent during invalidation according to the steps in |5.2. Closing a database| by the following 2 solutions:
     IDBRequest.onerror -> IDBTransaction.onerror -> IDBTransaction.onabort -> IDBDatabase.onclose.
   2.1. In parent process, do not force to abort the transactions after invalidation but wait for all the transactions in its child process are complete.
   2.2. In child process, make sure that each IDBTransaction will notify its completion to the parent after all its pending IDBRequests are finished.
3. Add test_database_onclose.js to test the close event especially when read/write operation is ongoing.
4. Add test_database_close_without_onclose.js as a XPCShell test because setTimeout() is not preferred in Mochitest to ensure that the IDBDatabase.onclose event won't be sent after closed normally.
2016-05-31 18:08:20 +08:00
..
crashtests
test Bug 1151017 - Support the 'close' Event on Databases. r=khuey 2016-05-31 18:08:20 +08:00
ActorsChild.cpp Bug 1151017 - Support the 'close' Event on Databases. r=khuey 2016-05-31 18:08:20 +08:00
ActorsChild.h Bug 1151017 - Support the 'close' Event on Databases. r=khuey 2016-05-31 18:08:20 +08:00
ActorsParent.cpp Bug 1151017 - Support the 'close' Event on Databases. r=khuey 2016-05-31 18:08:20 +08:00
ActorsParent.h Bug 1183959 - Move FlushPendingFileDeletions() from PContent to PBackground; r=khuey 2016-02-10 16:11:25 +01:00
FileInfo.cpp Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
FileInfo.h Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
FileManager.h
FileSnapshot.cpp Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
FileSnapshot.h Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
IDBCursor.cpp Bug 1265973 - Throw InvalidStateError at IDBCursor.update() if IDBCursor.continue() is in progress. r=khuey 2016-04-20 14:36:19 +08:00
IDBCursor.h Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
IDBDatabase.cpp Bug 1151017 - Support the 'close' Event on Databases. r=khuey 2016-05-31 18:08:20 +08:00
IDBDatabase.h Bug 1151017 - Support the 'close' Event on Databases. r=khuey 2016-05-31 18:08:20 +08:00
IDBEvents.cpp Bug 1151017 - Support the 'close' Event on Databases. r=khuey 2016-05-31 18:08:20 +08:00
IDBEvents.h Bug 1151017 - Support the 'close' Event on Databases. r=khuey 2016-05-31 18:08:20 +08:00
IDBFactory.cpp Bug 1261009 - Remove the Data Store API, r=fabrice 2016-04-29 09:02:45 +08:00
IDBFactory.h Bug 1261009 - Remove the Data Store API, r=fabrice 2016-04-29 09:02:45 +08:00
IDBFileHandle.cpp Bug 1247117: De-namespace much of IndexedDB. r=baku 2016-02-16 13:46:08 -08:00
IDBFileHandle.h Bug 1247117: De-namespace much of IndexedDB. r=baku 2016-02-16 13:46:08 -08:00
IDBFileRequest.cpp Bug 1247117: De-namespace much of IndexedDB. r=baku 2016-02-16 13:46:08 -08:00
IDBFileRequest.h Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
IDBIndex.cpp Bug 1118028 - Allow objectStores and indexes to be renamed. r=khuey 2016-03-30 11:04:56 +08:00
IDBIndex.h Bug 1118028 - Allow objectStores and indexes to be renamed. r=khuey 2016-03-30 11:04:56 +08:00
IDBKeyRange.cpp Bug 1114580 - Change ESClassValue to an enum class. r=jorendorff 2016-06-30 00:04:56 +02:00
IDBKeyRange.h Bug 1257422 part 1. Add a way to do IDBObjectStore::OpenCursor without a JSContext if we are not passing a keyrange. r=khuey 2016-03-17 23:23:55 -04:00
IDBMutableFile.cpp Bug 1247117: De-namespace much of IndexedDB. r=baku 2016-02-16 13:46:08 -08:00
IDBMutableFile.h Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
IDBObjectStore.cpp Bug 1275016 - Rename Endian.h to EndianUtils.h to avoid #include confusion with Android's endian.h stdlib header. r=froydnj 2016-05-22 13:31:11 -07:00
IDBObjectStore.h Bug 1268380 - Part 1: Lower the precedence of SyntaxError next to ConstraintError in IDBObjectStore::CreateIndex(). r=khuey 2016-04-29 10:56:02 +08:00
IDBRequest.cpp Bug 1269154 - Get rid of WorkerFeature: WorkerHolder, r=khuey 2016-06-23 10:53:14 +02:00
IDBRequest.h Bug 1269154 - Get rid of WorkerFeature: WorkerHolder, r=khuey 2016-06-23 10:53:14 +02:00
IDBTransaction.cpp Bug 1151017 - Support the 'close' Event on Databases. r=khuey 2016-05-31 18:08:20 +08:00
IDBTransaction.h Bug 1269154 - Get rid of WorkerFeature: WorkerHolder, r=khuey 2016-06-23 10:53:14 +02:00
IDBWrapperCache.cpp Bug 1247117: De-namespace much of IndexedDB. r=baku 2016-02-16 13:46:08 -08:00
IDBWrapperCache.h Bug 1247117: De-namespace much of IndexedDB. r=baku 2016-02-16 13:46:08 -08:00
IndexedDatabase.h Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
IndexedDatabaseInlines.h Bug 1247117: De-namespace much of IndexedDB. r=baku 2016-02-16 13:46:08 -08:00
IndexedDatabaseManager.cpp Bug 1275315 part 2. Use the new Realm getters in binding code. r=peterv 2016-07-09 00:19:52 -04:00
IndexedDatabaseManager.h Bug 1275315 part 2. Use the new Realm getters in binding code. r=peterv 2016-07-09 00:19:52 -04:00
Key.cpp Bug 1114580 - Change ESClassValue to an enum class. r=jorendorff 2016-06-30 00:04:56 +02:00
Key.h Bug 1251498: Implement IDBKeyRange.includes(). r=baku 2016-02-26 13:58:47 -08:00
KeyPath.cpp
KeyPath.h
PBackgroundIDBCursor.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PBackgroundIDBDatabase.ipdl Bug 1151017 - Support the 'close' Event on Databases. r=khuey 2016-05-31 18:08:20 +08:00
PBackgroundIDBDatabaseFile.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PBackgroundIDBDatabaseRequest.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PBackgroundIDBFactory.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PBackgroundIDBFactoryRequest.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PBackgroundIDBRequest.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PBackgroundIDBSharedTypes.ipdlh Bug 1247117: De-namespace much of IndexedDB. r=baku 2016-02-16 13:46:08 -08:00
PBackgroundIDBTransaction.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PBackgroundIDBVersionChangeTransaction.ipdl Bug 1118028 - Allow objectStores and indexes to be renamed. r=khuey 2016-03-30 11:04:56 +08:00
PBackgroundIndexedDBUtils.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PIndexedDBPermissionRequest.ipdl Bug 1240871 - Don't allow implicit "async" in IPDL (r=mccr8,billm) 2016-01-28 20:56:37 -08:00
PermissionRequestBase.cpp Bug 1259294: Part 2 - Use MOZ_ALWAYS_SUCCEEDS. r=froydnj 2016-03-28 10:28:15 -07:00
PermissionRequestBase.h
ProfilerHelpers.h Bug 1259294: Part 2 - Use MOZ_ALWAYS_SUCCEEDS. r=froydnj 2016-03-28 10:28:15 -07:00
ReportInternalError.cpp
ReportInternalError.h
ScriptErrorHelper.cpp Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
ScriptErrorHelper.h Bug 1254853 - Add a Helper to Report a ScriptError to the Main Thread. r=khuey 2016-03-16 15:12:17 +08:00
SerializationHelpers.h Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
moz.build Bug 1272513 - Part 1: Suppress -Wshadow warnings-as-errors in some directories. r=glandium 2016-05-11 00:00:01 -07:00