/* 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 protocol PBackgroundMutableFile; 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