Source code

Revision control

Copy as Markdown

Other Tools

/* 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
// 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(int64_t requestId, OpenCursorParams params);
async PBackgroundIDBRequest(int64_t requestId, RequestParams params);
child:
async __delete__();
async Complete(nsresult result);
};
} // namespace indexedDB
} // namespace dom
} // namespace mozilla