Wed, 31 Dec 2014 06:55:50 +0100
Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2
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 PIndexedDB;
6 include protocol PIndexedDBTransaction;
8 include "mozilla/dom/indexedDB/SerializationHelpers.h";
10 using struct mozilla::dom::indexedDB::DatabaseInfoGuts from "mozilla/dom/indexedDB/DatabaseInfo.h";
11 using struct mozilla::dom::indexedDB::ObjectStoreInfoGuts from "mozilla/dom/indexedDB/DatabaseInfo.h";
12 using mozilla::dom::indexedDB::IDBTransaction::Mode from "mozilla/dom/indexedDB/IDBTransaction.h";
14 namespace mozilla {
15 namespace dom {
16 namespace indexedDB {
18 namespace ipc {
20 struct NormalTransactionParams
21 {
22 nsString[] names;
23 Mode mode;
24 };
26 struct VersionChangeTransactionParams
27 {
28 DatabaseInfoGuts dbInfo;
29 ObjectStoreInfoGuts[] osInfo;
30 uint64_t oldVersion;
31 };
33 union TransactionParams
34 {
35 NormalTransactionParams;
36 VersionChangeTransactionParams;
37 };
39 } // namespace ipc
41 protocol PIndexedDBDatabase
42 {
43 manager PIndexedDB;
45 manages PIndexedDBTransaction;
47 parent:
48 __delete__();
50 Close(bool unlinked);
52 child:
53 Success(DatabaseInfoGuts dbInfo, ObjectStoreInfoGuts[] osInfo);
55 Error(nsresult rv);
57 Blocked(uint64_t oldVersion);
59 VersionChange(uint64_t oldVersion, uint64_t newVersion);
61 Invalidate();
63 both:
64 PIndexedDBTransaction(TransactionParams params);
65 };
67 } // namespace indexedDB
68 } // namespace dom
69 } // namespace mozilla