summaryrefslogtreecommitdiffstats
path: root/dom/indexedDB/PBackgroundIDBDatabase.ipdl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/indexedDB/PBackgroundIDBDatabase.ipdl')
-rw-r--r--dom/indexedDB/PBackgroundIDBDatabase.ipdl63
1 files changed, 63 insertions, 0 deletions
diff --git a/dom/indexedDB/PBackgroundIDBDatabase.ipdl b/dom/indexedDB/PBackgroundIDBDatabase.ipdl
new file mode 100644
index 0000000000..82c0610a0b
--- /dev/null
+++ b/dom/indexedDB/PBackgroundIDBDatabase.ipdl
@@ -0,0 +1,63 @@
+/* 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 PBackgroundIDBDatabaseFile;
+include protocol PBackgroundIDBFactory;
+include protocol PBackgroundIDBTransaction;
+include protocol PBackgroundIDBVersionChangeTransaction;
+
+include IPCBlob;
+include InputStreamParams;
+include PBackgroundIDBSharedTypes;
+
+include "mozilla/dom/indexedDB/SerializationHelpers.h";
+include "mozilla/dom/indexedDB/ActorsChild.h";
+
+using struct mozilla::null_t from "mozilla/ipc/IPCCore.h";
+
+using mozilla::dom::IDBTransaction::Mode
+ from "mozilla/dom/IDBTransaction.h";
+
+namespace mozilla {
+namespace dom {
+namespace indexedDB {
+
+[ManualDealloc, ChildImpl="indexedDB::BackgroundDatabaseChild", ParentImpl=virtual]
+sync protocol PBackgroundIDBDatabase
+{
+ manager PBackgroundIDBFactory;
+
+ manages PBackgroundIDBDatabaseFile;
+ manages PBackgroundIDBTransaction;
+ manages PBackgroundIDBVersionChangeTransaction;
+
+parent:
+ async DeleteMe();
+
+ async Blocked();
+
+ async Close();
+
+ async PBackgroundIDBDatabaseFile(IPCBlob blob);
+
+ async PBackgroundIDBTransaction(nsString[] objectStoreNames, Mode mode);
+
+child:
+ async __delete__();
+
+ async VersionChange(uint64_t oldVersion, uint64_t? newVersion);
+
+ async Invalidate();
+
+ async CloseAfterInvalidationComplete();
+
+ async PBackgroundIDBVersionChangeTransaction(uint64_t currentVersion,
+ uint64_t requestedVersion,
+ int64_t nextObjectStoreId,
+ int64_t nextIndexId);
+};
+
+} // namespace indexedDB
+} // namespace dom
+} // namespace mozilla