PBackgroundIDBDatabase.ipdl 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. include protocol PBackgroundIDBDatabaseFile;
  5. include protocol PBackgroundIDBDatabaseRequest;
  6. include protocol PBackgroundIDBFactory;
  7. include protocol PBackgroundIDBTransaction;
  8. include protocol PBackgroundIDBVersionChangeTransaction;
  9. include protocol PBackgroundMutableFile;
  10. include protocol PBlob;
  11. include InputStreamParams;
  12. include PBackgroundIDBSharedTypes;
  13. include "mozilla/dom/indexedDB/SerializationHelpers.h";
  14. using struct mozilla::null_t
  15. from "ipc/IPCMessageUtils.h";
  16. using mozilla::dom::IDBTransaction::Mode
  17. from "mozilla/dom/IDBTransaction.h";
  18. namespace mozilla {
  19. namespace dom {
  20. namespace indexedDB {
  21. struct CreateFileParams
  22. {
  23. nsString name;
  24. nsString type;
  25. };
  26. union DatabaseRequestParams
  27. {
  28. CreateFileParams;
  29. };
  30. union NullableVersion
  31. {
  32. null_t;
  33. uint64_t;
  34. };
  35. sync protocol PBackgroundIDBDatabase
  36. {
  37. manager PBackgroundIDBFactory;
  38. manages PBackgroundIDBDatabaseFile;
  39. manages PBackgroundIDBDatabaseRequest;
  40. manages PBackgroundIDBTransaction;
  41. manages PBackgroundIDBVersionChangeTransaction;
  42. manages PBackgroundMutableFile;
  43. parent:
  44. async DeleteMe();
  45. async Blocked();
  46. async Close();
  47. async PBackgroundIDBDatabaseFile(PBlob blob);
  48. async PBackgroundIDBDatabaseRequest(DatabaseRequestParams params);
  49. async PBackgroundIDBTransaction(nsString[] objectStoreNames, Mode mode);
  50. child:
  51. async __delete__();
  52. async VersionChange(uint64_t oldVersion, NullableVersion newVersion);
  53. async Invalidate();
  54. async CloseAfterInvalidationComplete();
  55. async PBackgroundIDBVersionChangeTransaction(uint64_t currentVersion,
  56. uint64_t requestedVersion,
  57. int64_t nextObjectStoreId,
  58. int64_t nextIndexId);
  59. async PBackgroundMutableFile(nsString name, nsString type);
  60. };
  61. } // namespace indexedDB
  62. } // namespace dom
  63. } // namespace mozilla