PBackgroundIDBFactory.ipdl (1712B)
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/. */ 4 5 include protocol PBackground; 6 include protocol PBackgroundIDBDatabase; 7 include protocol PBackgroundIDBFactoryRequest; 8 9 include PBackgroundIDBSharedTypes; 10 include PBackgroundSharedTypes; 11 12 include "mozilla/dom/quota/SerializationHelpers.h"; 13 include "mozilla/dom/indexedDB/ActorsChild.h"; 14 15 using struct mozilla::void_t from "mozilla/ipc/IPCCore.h"; 16 17 namespace mozilla { 18 namespace dom { 19 namespace indexedDB { 20 21 struct CommonFactoryRequestParams 22 { 23 DatabaseMetadata metadata; 24 PrincipalInfo principalInfo; 25 }; 26 27 struct OpenDatabaseRequestParams 28 { 29 CommonFactoryRequestParams commonParams; 30 }; 31 32 struct DeleteDatabaseRequestParams 33 { 34 CommonFactoryRequestParams commonParams; 35 }; 36 37 union FactoryRequestParams 38 { 39 OpenDatabaseRequestParams; 40 DeleteDatabaseRequestParams; 41 }; 42 43 union GetDatabasesResponse 44 { 45 nsresult; 46 DatabaseMetadata[]; 47 }; 48 49 [ChildImpl="indexedDB::BackgroundFactoryChild", ParentImpl=virtual] 50 sync protocol PBackgroundIDBFactory 51 { 52 manager PBackground; 53 54 manages PBackgroundIDBDatabase; 55 manages PBackgroundIDBFactoryRequest; 56 57 parent: 58 async DeleteMe(); 59 60 async PBackgroundIDBFactoryRequest(FactoryRequestParams params); 61 62 async GetDatabases(PersistenceType persistenceType, 63 PrincipalInfo principalInfo) 64 returns(GetDatabasesResponse response); 65 66 child: 67 async __delete__(); 68 69 async PBackgroundIDBDatabase(DatabaseSpec spec, 70 PBackgroundIDBFactoryRequest request); 71 }; 72 73 } // namespace indexedDB 74 } // namespace dom 75 } // namespace mozilla