gecko-dev/dom/indexedDB
Kyle Huey c14ad0ee62 Bug 1184410: Track whether or not the transaction has been active on the connection thread. r=janv
Because StartTransactionOp is a TransactionDatabaseOperationBase, it is possible for it to never run DoDatabaseWork, if the transaction is invalidated before StartTransactionOp runs. In the case of a readwrite transaction, we'll never BeginWriteTransaction() on the connection.

CommitOp, on the other hand, is a DatabaseOperationBase. It doesn't check IsInvalidatedOnAnyThread before running, so it will try to commit the transaction and the assertions will fire because we never called BeginWriteTransaction.

Reworking the inheritance here, if possible, would be hard. Keeping track of the active state on both the background and connection threads is easy though, and we do this sort of thing all over dom/workers. So do that.

This should resolve several intermittent oranges where MOZ_ASSERT(!mInReadTransaction) fires upon committing a transaction.

CLOSED TREE
2015-07-16 10:34:49 -07:00
..
crashtests
test Backed out changeset d29782c360fe (bug 1180978) for causing indexedDB assertions. 2015-07-10 12:35:15 -04:00
ActorsChild.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
ActorsChild.h Bug 1168606 - Part 2: Convert DelayedDeleteRunnable into reusable DelayedActionRunnable class. r=bent 2015-06-09 07:57:19 -07:00
ActorsParent.cpp Bug 1184410: Track whether or not the transaction has been active on the connection thread. r=janv 2015-07-16 10:34:49 -07:00
ActorsParent.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
FileInfo.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
FileInfo.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
FileManager.h Bug 1130775 - Convert synchronized ops and storage registration into unified directory locks; r=bent 2015-06-30 14:59:27 +02:00
FileSnapshot.cpp Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
FileSnapshot.h Bug 1173314 - Make GetMozFullPath and GetMozFullPathInternal const. r=sicking 2015-06-03 01:11:16 +01:00
IDBCursor.cpp Bug 1179025 - Protect against using cursors on a deleted objectStore/index, r=janv. 2015-07-02 10:47:53 -07:00
IDBCursor.h Bug 1179025 - Protect against using cursors on a deleted objectStore/index, r=janv. 2015-07-02 10:47:53 -07:00
IDBDatabase.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
IDBDatabase.h Bug 1159401 - Split Blob and File classes, r=bz 2015-05-12 13:09:51 +01:00
IDBEvents.cpp Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
IDBEvents.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
IDBFactory.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
IDBFactory.h Bug 1176434 - Enabling indexedDB for content JS sandboxes, r=bent 2015-07-02 13:30:15 -07:00
IDBFileHandle.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
IDBFileHandle.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
IDBFileRequest.cpp Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
IDBFileRequest.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
IDBIndex.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
IDBIndex.h Bug 1179025 - Protect against using cursors on a deleted objectStore/index, r=janv. 2015-07-02 10:47:53 -07:00
IDBKeyRange.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
IDBKeyRange.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
IDBMutableFile.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
IDBMutableFile.h Bug 1163388 - patch 2 - get rid of nsIDOMFile, r=ehsan 2015-05-18 14:52:26 +01:00
IDBObjectStore.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
IDBObjectStore.h Bug 1179025 - Protect against using cursors on a deleted objectStore/index, r=janv. 2015-07-02 10:47:53 -07:00
IDBRequest.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
IDBRequest.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
IDBTransaction.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
IDBTransaction.h Bug 1147942 - Don't warn when aborting finished IndexedDB transactions, r=janv. 2015-06-25 15:22:59 -07:00
IDBWrapperCache.cpp Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
IDBWrapperCache.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
IndexedDatabase.h Bug 1159401 - Split Blob and File classes, r=bz 2015-05-12 13:09:51 +01:00
IndexedDatabaseInlines.h Bug 1159401 - Split Blob and File classes, r=bz 2015-05-12 13:09:51 +01:00
IndexedDatabaseManager.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
IndexedDatabaseManager.h Bug 1130775 - Convert synchronized ops and storage registration into unified directory locks; r=bent 2015-06-30 14:59:27 +02:00
Key.cpp Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Key.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
KeyPath.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
KeyPath.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
PBackgroundIDBCursor.ipdl
PBackgroundIDBDatabase.ipdl Bug 1125102 - Make QuotaManager and FileService to be independent of each other; r=bent 2015-04-14 10:57:41 +02:00
PBackgroundIDBDatabaseFile.ipdl
PBackgroundIDBFactory.ipdl
PBackgroundIDBFactoryRequest.ipdl
PBackgroundIDBRequest.ipdl
PBackgroundIDBSharedTypes.ipdlh
PBackgroundIDBTransaction.ipdl
PBackgroundIDBVersionChangeTransaction.ipdl Bug 940273 - Part 4 - Initial implementation of Service Worker Cache. r=ehsan,baku,janv 2015-03-02 14:20:00 +01:00
PIndexedDBPermissionRequest.ipdl
PermissionRequestBase.cpp Bug 1182996 - Fix and add missing namespace comments. rs=ehsan 2015-07-13 08:25:42 -07:00
PermissionRequestBase.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
ProfilerHelpers.h Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj 2015-06-03 15:25:57 -07:00
ReportInternalError.cpp Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
ReportInternalError.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
SerializationHelpers.h Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
moz.build Bug 858680 - Part 4: Perform maintenance on databases while idle, r=janv. 2015-05-04 22:56:47 -07:00