Bug 1729395 - Handle message sender going away during message processing r=robwu
[gecko.git] / dom / indexedDB / PBackgroundIDBFactory.ipdl
blobd9a1ae987ced6455748551e6a059f511f61dad42
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/. */
5 include protocol PBackground;
6 include protocol PBackgroundIDBDatabase;
7 include protocol PBackgroundIDBFactoryRequest;
9 include PBackgroundIDBSharedTypes;
10 include PBackgroundSharedTypes;
12 include "mozilla/dom/quota/SerializationHelpers.h";
14 using struct mozilla::void_t from "mozilla/ipc/IPCCore.h";
16 namespace mozilla {
17 namespace dom {
18 namespace indexedDB {
20 struct CommonFactoryRequestParams
22   DatabaseMetadata metadata;
23   PrincipalInfo principalInfo;
26 struct OpenDatabaseRequestParams
28   CommonFactoryRequestParams commonParams;
31 struct DeleteDatabaseRequestParams
33   CommonFactoryRequestParams commonParams;
36 union FactoryRequestParams
38   OpenDatabaseRequestParams;
39   DeleteDatabaseRequestParams;
42 [RefCounted] sync protocol PBackgroundIDBFactory
44   manager PBackground;
46   manages PBackgroundIDBDatabase;
47   manages PBackgroundIDBFactoryRequest;
49 parent:
50   async DeleteMe();
52   async PBackgroundIDBFactoryRequest(FactoryRequestParams params);
54 child:
55   async __delete__();
57   async PBackgroundIDBDatabase(DatabaseSpec spec,
58                                PBackgroundIDBFactoryRequest request);
61 } // namespace indexedDB
62 } // namespace dom
63 } // namespace mozilla