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

namespace mozilla {
namespace dom {
namespace indexedDB {

protocol PBackgroundIDBTransaction
{
  manager PBackgroundIDBDatabase;

  manages PBackgroundIDBCursor;
  manages PBackgroundIDBRequest;

parent:
  async DeleteMe();

  async Commit();
  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