PBackgroundIDBTransaction.ipdl (1538B)
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/. */ 4 5 include protocol PBackgroundIDBCursor; 6 include protocol PBackgroundIDBDatabase; 7 include protocol PBackgroundIDBDatabaseFile; 8 include protocol PBackgroundIDBRequest; 9 10 include PBackgroundIDBSharedTypes; 11 12 include "mozilla/dom/indexedDB/ActorsChild.h"; 13 14 namespace mozilla { 15 namespace dom { 16 namespace indexedDB { 17 18 [ChildImpl="indexedDB::BackgroundTransactionChild", ParentImpl=virtual] 19 protocol PBackgroundIDBTransaction { 20 manager PBackgroundIDBDatabase; 21 22 manages PBackgroundIDBCursor; 23 manages PBackgroundIDBRequest; 24 25 parent: 26 async DeleteMe(); 27 28 // lastRequest is used with explicit commit to synchronize the 29 // transaction's committing state with the parent side, to abort the 30 // transaction in case of a request resulting in an error (see 31 // https://w3c.github.io/IndexedDB/#async-execute-request, step 5.3.). With 32 // automatic commit, this is not necessary, as the transaction's state will 33 // only be set to committing after the last request completed. 34 async Commit(int64_t? lastRequest); 35 async Abort(nsresult resultCode); 36 37 async PBackgroundIDBCursor(int64_t requestId, OpenCursorParams params); 38 39 async PBackgroundIDBRequest(int64_t requestId, RequestParams params); 40 41 child: 42 async __delete__(); 43 44 async Complete(nsresult result); 45 }; 46 47 } // namespace indexedDB 48 } // namespace dom 49 } // namespace mozilla