diff options
Diffstat (limited to 'dom/indexedDB/PBackgroundIDBTransaction.ipdl')
-rw-r--r-- | dom/indexedDB/PBackgroundIDBTransaction.ipdl | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/dom/indexedDB/PBackgroundIDBTransaction.ipdl b/dom/indexedDB/PBackgroundIDBTransaction.ipdl new file mode 100644 index 0000000000..85a9f76265 --- /dev/null +++ b/dom/indexedDB/PBackgroundIDBTransaction.ipdl @@ -0,0 +1,49 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +include protocol PBackgroundIDBCursor; +include protocol PBackgroundIDBDatabase; +include protocol PBackgroundIDBDatabaseFile; +include protocol PBackgroundIDBRequest; + +include PBackgroundIDBSharedTypes; + +include "mozilla/dom/indexedDB/ActorsChild.h"; + +namespace mozilla { +namespace dom { +namespace indexedDB { + +[ChildImpl="indexedDB::BackgroundTransactionChild", ParentImpl=virtual] +protocol PBackgroundIDBTransaction { + manager PBackgroundIDBDatabase; + + manages PBackgroundIDBCursor; + manages PBackgroundIDBRequest; + +parent: + async DeleteMe(); + + // lastRequest is used with explicit commit to synchronize the + // transaction's committing state with the parent side, to abort the + // transaction in case of a request resulting in an error (see + // https://w3c.github.io/IndexedDB/#async-execute-request, step 5.3.). With + // automatic commit, this is not necessary, as the transaction's state will + // only be set to committing after the last request completed. + async Commit(int64_t? lastRequest); + async Abort(nsresult resultCode); + + async PBackgroundIDBCursor(OpenCursorParams params); + + async PBackgroundIDBRequest(RequestParams params); + +child: + async __delete__(); + + async Complete(nsresult result); +}; + +} // namespace indexedDB +} // namespace dom +} // namespace mozilla |