Bug 1755316 - Add audio tests with simultaneous processes r=alwu
[gecko.git] / dom / indexedDB / PBackgroundIDBTransaction.ipdl
blob9767541744469fab5bc627bb033f90424a5957cf
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3  * You can obtain one at http://mozilla.org/MPL/2.0/. */
5 include protocol PBackgroundIDBCursor;
6 include protocol PBackgroundIDBDatabase;
7 include protocol PBackgroundIDBDatabaseFile;
8 include protocol PBackgroundIDBRequest;
9 include protocol PBackgroundMutableFile;
11 include PBackgroundIDBSharedTypes;
13 include "mozilla/dom/indexedDB/ActorsChild.h";
15 namespace mozilla {
16 namespace dom {
17 namespace indexedDB {
19 [ChildImpl="indexedDB::BackgroundTransactionChild", ParentImpl=virtual]
20 protocol PBackgroundIDBTransaction {
21   manager PBackgroundIDBDatabase;
23   manages PBackgroundIDBCursor;
24   manages PBackgroundIDBRequest;
26 parent:
27   async DeleteMe();
29   // lastRequest is used with explicit commit to synchronize the
30   // transaction's committing state with the parent side, to abort the
31   // transaction in case of a request resulting in an error (see
32   // https://w3c.github.io/IndexedDB/#async-execute-request, step 5.3.). With
33   // automatic commit, this is not necessary, as the transaction's state will
34   // only be set to committing after the last request completed.
35   async Commit(int64_t? lastRequest);
36   async Abort(nsresult resultCode);
38   async PBackgroundIDBCursor(OpenCursorParams params);
40   async PBackgroundIDBRequest(RequestParams params);
42 child:
43   async __delete__();
45   async Complete(nsresult result);
48 }  // namespace indexedDB
49 }  // namespace dom
50 }  // namespace mozilla