LCOV - code coverage report
Current view: top level - obj-x86_64-pc-linux-gnu/ipc/ipdl - PBackgroundIDBDatabaseParent.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 1449 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 107 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //
       2             : // Automatically generated by ipdlc.
       3             : // Edit at your own risk
       4             : //
       5             : 
       6             : 
       7             : #include "mozilla/dom/indexedDB/PBackgroundIDBDatabaseParent.h"
       8             : #include "ipc/IPCMessageUtils.h"
       9             : 
      10             : #include "mozilla/dom/indexedDB/PBackgroundIDBDatabaseFileParent.h"
      11             : #include "mozilla/dom/indexedDB/PBackgroundIDBDatabaseRequestParent.h"
      12             : #include "mozilla/dom/indexedDB/PBackgroundIDBFactoryParent.h"
      13             : #include "mozilla/dom/indexedDB/PBackgroundIDBTransactionParent.h"
      14             : #include "mozilla/dom/indexedDB/PBackgroundIDBVersionChangeTransactionParent.h"
      15             : #include "mozilla/dom/PBackgroundMutableFileParent.h"
      16             : #include "mozilla/ipc/PChildToParentStreamParent.h"
      17             : #include "mozilla/ipc/PFileDescriptorSetParent.h"
      18             : #include "mozilla/ipc/PIPCBlobInputStreamParent.h"
      19             : #include "mozilla/ipc/PParentToChildStreamParent.h"
      20             : 
      21             : #include "nsIFile.h"
      22             : #include "GeckoProfiler.h"
      23             : 
      24             : namespace mozilla {
      25             : namespace dom {
      26             : namespace indexedDB {
      27             : 
      28             : 
      29           0 : auto PBackgroundIDBDatabaseParent::RecvPBackgroundIDBDatabaseFileConstructor(
      30             :         PBackgroundIDBDatabaseFileParent* actor,
      31             :         const IPCBlob& blob) -> mozilla::ipc::IPCResult
      32             : {
      33           0 :     return IPC_OK();
      34             : }
      35             : 
      36           0 : auto PBackgroundIDBDatabaseParent::RecvPBackgroundIDBDatabaseRequestConstructor(
      37             :         PBackgroundIDBDatabaseRequestParent* actor,
      38             :         const DatabaseRequestParams& params) -> mozilla::ipc::IPCResult
      39             : {
      40           0 :     return IPC_OK();
      41             : }
      42             : 
      43           0 : auto PBackgroundIDBDatabaseParent::RecvPBackgroundIDBTransactionConstructor(
      44             :         PBackgroundIDBTransactionParent* actor,
      45             :         nsTArray<nsString>&& objectStoreNames,
      46             :         const Mode& mode) -> mozilla::ipc::IPCResult
      47             : {
      48           0 :     return IPC_OK();
      49             : }
      50             : 
      51             : 
      52           0 : MOZ_IMPLICIT PBackgroundIDBDatabaseParent::PBackgroundIDBDatabaseParent() :
      53             :     mozilla::ipc::IProtocol(mozilla::ipc::ParentSide),
      54           0 :     mState(PBackgroundIDBDatabase::__Dead)
      55             : {
      56           0 :     MOZ_COUNT_CTOR(PBackgroundIDBDatabaseParent);
      57           0 : }
      58             : 
      59           0 : PBackgroundIDBDatabaseParent::~PBackgroundIDBDatabaseParent()
      60             : {
      61           0 :     MOZ_COUNT_DTOR(PBackgroundIDBDatabaseParent);
      62           0 : }
      63             : 
      64           0 : auto PBackgroundIDBDatabaseParent::Manager() const -> PBackgroundIDBFactoryParent*
      65             : {
      66           0 :     return static_cast<PBackgroundIDBFactoryParent*>(IProtocol::Manager());
      67             : }
      68             : 
      69           0 : auto PBackgroundIDBDatabaseParent::ManagedPBackgroundIDBDatabaseFileParent(nsTArray<PBackgroundIDBDatabaseFileParent*>& aArr) const -> void
      70             : {
      71           0 :     (mManagedPBackgroundIDBDatabaseFileParent).ToArray(aArr);
      72           0 : }
      73             : 
      74           0 : auto PBackgroundIDBDatabaseParent::ManagedPBackgroundIDBDatabaseFileParent() const -> const ManagedContainer<PBackgroundIDBDatabaseFileParent>&
      75             : {
      76           0 :     return mManagedPBackgroundIDBDatabaseFileParent;
      77             : }
      78             : 
      79           0 : auto PBackgroundIDBDatabaseParent::ManagedPBackgroundIDBDatabaseRequestParent(nsTArray<PBackgroundIDBDatabaseRequestParent*>& aArr) const -> void
      80             : {
      81           0 :     (mManagedPBackgroundIDBDatabaseRequestParent).ToArray(aArr);
      82           0 : }
      83             : 
      84           0 : auto PBackgroundIDBDatabaseParent::ManagedPBackgroundIDBDatabaseRequestParent() const -> const ManagedContainer<PBackgroundIDBDatabaseRequestParent>&
      85             : {
      86           0 :     return mManagedPBackgroundIDBDatabaseRequestParent;
      87             : }
      88             : 
      89           0 : auto PBackgroundIDBDatabaseParent::ManagedPBackgroundIDBTransactionParent(nsTArray<PBackgroundIDBTransactionParent*>& aArr) const -> void
      90             : {
      91           0 :     (mManagedPBackgroundIDBTransactionParent).ToArray(aArr);
      92           0 : }
      93             : 
      94           0 : auto PBackgroundIDBDatabaseParent::ManagedPBackgroundIDBTransactionParent() const -> const ManagedContainer<PBackgroundIDBTransactionParent>&
      95             : {
      96           0 :     return mManagedPBackgroundIDBTransactionParent;
      97             : }
      98             : 
      99           0 : auto PBackgroundIDBDatabaseParent::ManagedPBackgroundIDBVersionChangeTransactionParent(nsTArray<PBackgroundIDBVersionChangeTransactionParent*>& aArr) const -> void
     100             : {
     101           0 :     (mManagedPBackgroundIDBVersionChangeTransactionParent).ToArray(aArr);
     102           0 : }
     103             : 
     104           0 : auto PBackgroundIDBDatabaseParent::ManagedPBackgroundIDBVersionChangeTransactionParent() const -> const ManagedContainer<PBackgroundIDBVersionChangeTransactionParent>&
     105             : {
     106           0 :     return mManagedPBackgroundIDBVersionChangeTransactionParent;
     107             : }
     108             : 
     109           0 : auto PBackgroundIDBDatabaseParent::ManagedPBackgroundMutableFileParent(nsTArray<PBackgroundMutableFileParent*>& aArr) const -> void
     110             : {
     111           0 :     (mManagedPBackgroundMutableFileParent).ToArray(aArr);
     112           0 : }
     113             : 
     114           0 : auto PBackgroundIDBDatabaseParent::ManagedPBackgroundMutableFileParent() const -> const ManagedContainer<PBackgroundMutableFileParent>&
     115             : {
     116           0 :     return mManagedPBackgroundMutableFileParent;
     117             : }
     118             : 
     119           0 : auto PBackgroundIDBDatabaseParent::Send__delete__(PBackgroundIDBDatabaseParent* actor) -> bool
     120             : {
     121           0 :     if ((!(actor))) {
     122           0 :         return false;
     123             :     }
     124             : 
     125           0 :     IPC::Message* msg__ = PBackgroundIDBDatabase::Msg___delete__((actor)->Id());
     126             : 
     127           0 :     (actor)->Write(actor, msg__, false);
     128             :     // Sentinel = 'actor'
     129           0 :     (msg__)->WriteSentinel(875202478);
     130             : 
     131             : 
     132             : 
     133           0 :     if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     134           0 :         mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", (actor)->OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
     135             :     }
     136           0 :     AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg___delete__", OTHER);
     137           0 :     PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg___delete____ID, (&((actor)->mState)));
     138             : 
     139           0 :     bool sendok__ = ((actor)->GetIPCChannel())->Send(msg__);
     140             : 
     141           0 :     IProtocol* mgr = (actor)->Manager();
     142           0 :     (actor)->DestroySubtree(Deletion);
     143           0 :     (actor)->DeallocSubtree();
     144           0 :     (mgr)->RemoveManagee(PBackgroundIDBDatabaseMsgStart, actor);
     145           0 :     return sendok__;
     146             : }
     147             : 
     148           0 : auto PBackgroundIDBDatabaseParent::SendVersionChange(
     149             :         const uint64_t& oldVersion,
     150             :         const NullableVersion& newVersion) -> bool
     151             : {
     152           0 :     IPC::Message* msg__ = PBackgroundIDBDatabase::Msg_VersionChange(Id());
     153             : 
     154           0 :     Write(oldVersion, msg__);
     155             :     // Sentinel = 'oldVersion'
     156           0 :     (msg__)->WriteSentinel(1241972167);
     157           0 :     Write(newVersion, msg__);
     158             :     // Sentinel = 'newVersion'
     159           0 :     (msg__)->WriteSentinel(2786012988);
     160             : 
     161             : 
     162             : 
     163             : 
     164           0 :     if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     165           0 :         mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
     166             :     }
     167           0 :     AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg_VersionChange", OTHER);
     168           0 :     PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg_VersionChange__ID, (&(mState)));
     169             : 
     170           0 :     bool sendok__ = (GetIPCChannel())->Send(msg__);
     171           0 :     return sendok__;
     172             : }
     173             : 
     174           0 : auto PBackgroundIDBDatabaseParent::SendInvalidate() -> bool
     175             : {
     176           0 :     IPC::Message* msg__ = PBackgroundIDBDatabase::Msg_Invalidate(Id());
     177             : 
     178             : 
     179             : 
     180             : 
     181             : 
     182           0 :     if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     183           0 :         mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
     184             :     }
     185           0 :     AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg_Invalidate", OTHER);
     186           0 :     PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg_Invalidate__ID, (&(mState)));
     187             : 
     188           0 :     bool sendok__ = (GetIPCChannel())->Send(msg__);
     189           0 :     return sendok__;
     190             : }
     191             : 
     192           0 : auto PBackgroundIDBDatabaseParent::SendCloseAfterInvalidationComplete() -> bool
     193             : {
     194           0 :     IPC::Message* msg__ = PBackgroundIDBDatabase::Msg_CloseAfterInvalidationComplete(Id());
     195             : 
     196             : 
     197             : 
     198             : 
     199             : 
     200           0 :     if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     201           0 :         mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
     202             :     }
     203           0 :     AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg_CloseAfterInvalidationComplete", OTHER);
     204           0 :     PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg_CloseAfterInvalidationComplete__ID, (&(mState)));
     205             : 
     206           0 :     bool sendok__ = (GetIPCChannel())->Send(msg__);
     207           0 :     return sendok__;
     208             : }
     209             : 
     210           0 : auto PBackgroundIDBDatabaseParent::SendPBackgroundIDBVersionChangeTransactionConstructor(
     211             :         const uint64_t& currentVersion,
     212             :         const uint64_t& requestedVersion,
     213             :         const int64_t& nextObjectStoreId,
     214             :         const int64_t& nextIndexId) -> PBackgroundIDBVersionChangeTransactionParent*
     215             : {
     216           0 :     return SendPBackgroundIDBVersionChangeTransactionConstructor(AllocPBackgroundIDBVersionChangeTransactionParent(currentVersion, requestedVersion, nextObjectStoreId, nextIndexId), currentVersion, requestedVersion, nextObjectStoreId, nextIndexId);
     217             : }
     218             : 
     219           0 : auto PBackgroundIDBDatabaseParent::SendPBackgroundIDBVersionChangeTransactionConstructor(
     220             :         PBackgroundIDBVersionChangeTransactionParent* actor,
     221             :         const uint64_t& currentVersion,
     222             :         const uint64_t& requestedVersion,
     223             :         const int64_t& nextObjectStoreId,
     224             :         const int64_t& nextIndexId) -> PBackgroundIDBVersionChangeTransactionParent*
     225             : {
     226           0 :     if ((!(actor))) {
     227           0 :         NS_WARNING("Error constructing actor PBackgroundIDBVersionChangeTransactionParent");
     228           0 :         return nullptr;
     229             :     }
     230           0 :     (actor)->SetManager(this);
     231           0 :     Register(actor);
     232           0 :     (actor)->SetIPCChannel(GetIPCChannel());
     233           0 :     (mManagedPBackgroundIDBVersionChangeTransactionParent).PutEntry(actor);
     234           0 :     (actor)->mState = mozilla::dom::indexedDB::PBackgroundIDBVersionChangeTransaction::__Start;
     235             : 
     236           0 :     IPC::Message* msg__ = PBackgroundIDBDatabase::Msg_PBackgroundIDBVersionChangeTransactionConstructor(Id());
     237             : 
     238           0 :     Write(actor, msg__, false);
     239             :     // Sentinel = 'actor'
     240           0 :     (msg__)->WriteSentinel(875202478);
     241           0 :     Write(currentVersion, msg__);
     242             :     // Sentinel = 'currentVersion'
     243           0 :     (msg__)->WriteSentinel(1138986547);
     244           0 :     Write(requestedVersion, msg__);
     245             :     // Sentinel = 'requestedVersion'
     246           0 :     (msg__)->WriteSentinel(2070076908);
     247           0 :     Write(nextObjectStoreId, msg__);
     248             :     // Sentinel = 'nextObjectStoreId'
     249           0 :     (msg__)->WriteSentinel(882891943);
     250           0 :     Write(nextIndexId, msg__);
     251             :     // Sentinel = 'nextIndexId'
     252           0 :     (msg__)->WriteSentinel(298839989);
     253             : 
     254           0 :     (msg__)->set_constructor();
     255             : 
     256             : 
     257           0 :     if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     258           0 :         mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
     259             :     }
     260           0 :     AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg_PBackgroundIDBVersionChangeTransactionConstructor", OTHER);
     261           0 :     PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg_PBackgroundIDBVersionChangeTransactionConstructor__ID, (&(mState)));
     262             : 
     263           0 :     bool sendok__ = (GetIPCChannel())->Send(msg__);
     264           0 :     if ((!(sendok__))) {
     265           0 :         IProtocol* mgr = (actor)->Manager();
     266           0 :         (actor)->DestroySubtree(FailedConstructor);
     267           0 :         (actor)->DeallocSubtree();
     268           0 :         (mgr)->RemoveManagee(PBackgroundIDBVersionChangeTransactionMsgStart, actor);
     269           0 :         return nullptr;
     270             :     }
     271           0 :     return actor;
     272             : }
     273             : 
     274           0 : auto PBackgroundIDBDatabaseParent::SendPBackgroundMutableFileConstructor(
     275             :         const nsString& name,
     276             :         const nsString& type) -> PBackgroundMutableFileParent*
     277             : {
     278           0 :     return SendPBackgroundMutableFileConstructor(AllocPBackgroundMutableFileParent(name, type), name, type);
     279             : }
     280             : 
     281           0 : auto PBackgroundIDBDatabaseParent::SendPBackgroundMutableFileConstructor(
     282             :         PBackgroundMutableFileParent* actor,
     283             :         const nsString& name,
     284             :         const nsString& type) -> PBackgroundMutableFileParent*
     285             : {
     286           0 :     if ((!(actor))) {
     287           0 :         NS_WARNING("Error constructing actor PBackgroundMutableFileParent");
     288           0 :         return nullptr;
     289             :     }
     290           0 :     (actor)->SetManager(this);
     291           0 :     Register(actor);
     292           0 :     (actor)->SetIPCChannel(GetIPCChannel());
     293           0 :     (mManagedPBackgroundMutableFileParent).PutEntry(actor);
     294           0 :     (actor)->mState = mozilla::dom::PBackgroundMutableFile::__Start;
     295             : 
     296           0 :     IPC::Message* msg__ = PBackgroundIDBDatabase::Msg_PBackgroundMutableFileConstructor(Id());
     297             : 
     298           0 :     Write(actor, msg__, false);
     299             :     // Sentinel = 'actor'
     300           0 :     (msg__)->WriteSentinel(875202478);
     301           0 :     Write(name, msg__);
     302             :     // Sentinel = 'name'
     303           0 :     (msg__)->WriteSentinel(15034981);
     304           0 :     Write(type, msg__);
     305             :     // Sentinel = 'type'
     306           0 :     (msg__)->WriteSentinel(2982068540);
     307             : 
     308           0 :     (msg__)->set_constructor();
     309             : 
     310             : 
     311           0 :     if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     312           0 :         mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", OtherPid(), "Sending ", (msg__)->type(), mozilla::ipc::MessageDirection::eSending);
     313             :     }
     314           0 :     AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg_PBackgroundMutableFileConstructor", OTHER);
     315           0 :     PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg_PBackgroundMutableFileConstructor__ID, (&(mState)));
     316             : 
     317           0 :     bool sendok__ = (GetIPCChannel())->Send(msg__);
     318           0 :     if ((!(sendok__))) {
     319           0 :         IProtocol* mgr = (actor)->Manager();
     320           0 :         (actor)->DestroySubtree(FailedConstructor);
     321           0 :         (actor)->DeallocSubtree();
     322           0 :         (mgr)->RemoveManagee(PBackgroundMutableFileMsgStart, actor);
     323           0 :         return nullptr;
     324             :     }
     325           0 :     return actor;
     326             : }
     327             : 
     328           0 : auto PBackgroundIDBDatabaseParent::RemoveManagee(
     329             :         int32_t aProtocolId,
     330             :         ProtocolBase* aListener) -> void
     331             : {
     332           0 :     switch (aProtocolId) {
     333             :     case PBackgroundIDBDatabaseFileMsgStart:
     334             :         {
     335           0 :             PBackgroundIDBDatabaseFileParent* actor = static_cast<PBackgroundIDBDatabaseFileParent*>(aListener);
     336           0 :             auto& container = mManagedPBackgroundIDBDatabaseFileParent;
     337           0 :             MOZ_RELEASE_ASSERT((container).Contains(actor), "actor not managed by this!");
     338             : 
     339           0 :             (container).RemoveEntry(actor);
     340           0 :             DeallocPBackgroundIDBDatabaseFileParent(actor);
     341           0 :             return;
     342             :         }
     343             :     case PBackgroundIDBDatabaseRequestMsgStart:
     344             :         {
     345           0 :             PBackgroundIDBDatabaseRequestParent* actor = static_cast<PBackgroundIDBDatabaseRequestParent*>(aListener);
     346           0 :             auto& container = mManagedPBackgroundIDBDatabaseRequestParent;
     347           0 :             MOZ_RELEASE_ASSERT((container).Contains(actor), "actor not managed by this!");
     348             : 
     349           0 :             (container).RemoveEntry(actor);
     350           0 :             DeallocPBackgroundIDBDatabaseRequestParent(actor);
     351           0 :             return;
     352             :         }
     353             :     case PBackgroundIDBTransactionMsgStart:
     354             :         {
     355           0 :             PBackgroundIDBTransactionParent* actor = static_cast<PBackgroundIDBTransactionParent*>(aListener);
     356           0 :             auto& container = mManagedPBackgroundIDBTransactionParent;
     357           0 :             MOZ_RELEASE_ASSERT((container).Contains(actor), "actor not managed by this!");
     358             : 
     359           0 :             (container).RemoveEntry(actor);
     360           0 :             DeallocPBackgroundIDBTransactionParent(actor);
     361           0 :             return;
     362             :         }
     363             :     case PBackgroundIDBVersionChangeTransactionMsgStart:
     364             :         {
     365           0 :             PBackgroundIDBVersionChangeTransactionParent* actor = static_cast<PBackgroundIDBVersionChangeTransactionParent*>(aListener);
     366           0 :             auto& container = mManagedPBackgroundIDBVersionChangeTransactionParent;
     367           0 :             MOZ_RELEASE_ASSERT((container).Contains(actor), "actor not managed by this!");
     368             : 
     369           0 :             (container).RemoveEntry(actor);
     370           0 :             DeallocPBackgroundIDBVersionChangeTransactionParent(actor);
     371           0 :             return;
     372             :         }
     373             :     case PBackgroundMutableFileMsgStart:
     374             :         {
     375           0 :             PBackgroundMutableFileParent* actor = static_cast<PBackgroundMutableFileParent*>(aListener);
     376           0 :             auto& container = mManagedPBackgroundMutableFileParent;
     377           0 :             MOZ_RELEASE_ASSERT((container).Contains(actor), "actor not managed by this!");
     378             : 
     379           0 :             (container).RemoveEntry(actor);
     380           0 :             DeallocPBackgroundMutableFileParent(actor);
     381           0 :             return;
     382             :         }
     383             :     default:
     384             :         {
     385           0 :             FatalError("unreached");
     386           0 :             return;
     387             :         }
     388             :     }
     389             : }
     390             : 
     391           0 : auto PBackgroundIDBDatabaseParent::OnMessageReceived(const Message& msg__) -> PBackgroundIDBDatabaseParent::Result
     392             : {
     393           0 :     switch ((msg__).type()) {
     394             :     case PBackgroundIDBDatabase::Msg_DeleteMe__ID:
     395             :         {
     396           0 :             if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     397           0 :                 mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
     398             :             }
     399           0 :             AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg_DeleteMe", OTHER);
     400             : 
     401           0 :             PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg_DeleteMe__ID, (&(mState)));
     402           0 :             if ((!(RecvDeleteMe()))) {
     403           0 :                 mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
     404             :                 // Error handled in mozilla::ipc::IPCResult
     405           0 :                 return MsgProcessingError;
     406             :             }
     407             : 
     408           0 :             return MsgProcessed;
     409             :         }
     410             :     case PBackgroundIDBDatabase::Msg_Blocked__ID:
     411             :         {
     412           0 :             if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     413           0 :                 mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
     414             :             }
     415           0 :             AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg_Blocked", OTHER);
     416             : 
     417           0 :             PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg_Blocked__ID, (&(mState)));
     418           0 :             if ((!(RecvBlocked()))) {
     419           0 :                 mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
     420             :                 // Error handled in mozilla::ipc::IPCResult
     421           0 :                 return MsgProcessingError;
     422             :             }
     423             : 
     424           0 :             return MsgProcessed;
     425             :         }
     426             :     case PBackgroundIDBDatabase::Msg_Close__ID:
     427             :         {
     428           0 :             if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     429           0 :                 mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
     430             :             }
     431           0 :             AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg_Close", OTHER);
     432             : 
     433           0 :             PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg_Close__ID, (&(mState)));
     434           0 :             if ((!(RecvClose()))) {
     435           0 :                 mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
     436             :                 // Error handled in mozilla::ipc::IPCResult
     437           0 :                 return MsgProcessingError;
     438             :             }
     439             : 
     440           0 :             return MsgProcessed;
     441             :         }
     442             :     case PBackgroundIDBDatabase::Msg_PBackgroundIDBDatabaseFileConstructor__ID:
     443             :         {
     444           0 :             if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     445           0 :                 mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
     446             :             }
     447           0 :             AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg_PBackgroundIDBDatabaseFileConstructor", OTHER);
     448             : 
     449           0 :             PickleIterator iter__(msg__);
     450             :             ActorHandle handle__;
     451             :             PBackgroundIDBDatabaseFileParent* actor;
     452           0 :             IPCBlob blob;
     453             : 
     454           0 :             if ((!(Read((&(handle__)), (&(msg__)), (&(iter__)))))) {
     455           0 :                 FatalError("Error deserializing 'ActorHandle'");
     456           0 :                 return MsgValueError;
     457             :             }
     458             :             // Sentinel = 'actor'
     459           0 :             if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 875202478)))) {
     460           0 :                 mozilla::ipc::SentinelReadError("Error deserializing 'ActorHandle'");
     461           0 :                 return MsgValueError;
     462             :             }
     463           0 :             if ((!(Read((&(blob)), (&(msg__)), (&(iter__)))))) {
     464           0 :                 FatalError("Error deserializing 'IPCBlob'");
     465           0 :                 return MsgValueError;
     466             :             }
     467             :             // Sentinel = 'blob'
     468           0 :             if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 1963585077)))) {
     469           0 :                 mozilla::ipc::SentinelReadError("Error deserializing 'IPCBlob'");
     470           0 :                 return MsgValueError;
     471             :             }
     472           0 :             (msg__).EndRead(iter__, (msg__).type());
     473           0 :             PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg_PBackgroundIDBDatabaseFileConstructor__ID, (&(mState)));
     474           0 :             actor = AllocPBackgroundIDBDatabaseFileParent(blob);
     475           0 :             if ((!(actor))) {
     476           0 :                 NS_WARNING("Error constructing actor PBackgroundIDBDatabaseFileParent");
     477           0 :                 return MsgValueError;
     478             :             }
     479           0 :             (actor)->SetManager(this);
     480           0 :             RegisterID(actor, (handle__).mId);
     481           0 :             (actor)->SetIPCChannel(GetIPCChannel());
     482           0 :             (mManagedPBackgroundIDBDatabaseFileParent).PutEntry(actor);
     483           0 :             (actor)->mState = mozilla::dom::indexedDB::PBackgroundIDBDatabaseFile::__Start;
     484             : 
     485           0 :             if ((!(RecvPBackgroundIDBDatabaseFileConstructor(mozilla::Move(actor), mozilla::Move(blob))))) {
     486           0 :                 mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
     487             :                 // Error handled in mozilla::ipc::IPCResult
     488           0 :                 return MsgProcessingError;
     489             :             }
     490             : 
     491           0 :             return MsgProcessed;
     492             :         }
     493             :     case PBackgroundIDBDatabase::Msg_PBackgroundIDBDatabaseRequestConstructor__ID:
     494             :         {
     495           0 :             if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     496           0 :                 mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
     497             :             }
     498           0 :             AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg_PBackgroundIDBDatabaseRequestConstructor", OTHER);
     499             : 
     500           0 :             PickleIterator iter__(msg__);
     501             :             ActorHandle handle__;
     502             :             PBackgroundIDBDatabaseRequestParent* actor;
     503           0 :             DatabaseRequestParams params;
     504             : 
     505           0 :             if ((!(Read((&(handle__)), (&(msg__)), (&(iter__)))))) {
     506           0 :                 FatalError("Error deserializing 'ActorHandle'");
     507           0 :                 return MsgValueError;
     508             :             }
     509             :             // Sentinel = 'actor'
     510           0 :             if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 875202478)))) {
     511           0 :                 mozilla::ipc::SentinelReadError("Error deserializing 'ActorHandle'");
     512           0 :                 return MsgValueError;
     513             :             }
     514           0 :             if ((!(Read((&(params)), (&(msg__)), (&(iter__)))))) {
     515           0 :                 FatalError("Error deserializing 'DatabaseRequestParams'");
     516           0 :                 return MsgValueError;
     517             :             }
     518             :             // Sentinel = 'params'
     519           0 :             if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 1677790004)))) {
     520           0 :                 mozilla::ipc::SentinelReadError("Error deserializing 'DatabaseRequestParams'");
     521           0 :                 return MsgValueError;
     522             :             }
     523           0 :             (msg__).EndRead(iter__, (msg__).type());
     524           0 :             PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg_PBackgroundIDBDatabaseRequestConstructor__ID, (&(mState)));
     525           0 :             actor = AllocPBackgroundIDBDatabaseRequestParent(params);
     526           0 :             if ((!(actor))) {
     527           0 :                 NS_WARNING("Error constructing actor PBackgroundIDBDatabaseRequestParent");
     528           0 :                 return MsgValueError;
     529             :             }
     530           0 :             (actor)->SetManager(this);
     531           0 :             RegisterID(actor, (handle__).mId);
     532           0 :             (actor)->SetIPCChannel(GetIPCChannel());
     533           0 :             (mManagedPBackgroundIDBDatabaseRequestParent).PutEntry(actor);
     534           0 :             (actor)->mState = mozilla::dom::indexedDB::PBackgroundIDBDatabaseRequest::__Start;
     535             : 
     536           0 :             if ((!(RecvPBackgroundIDBDatabaseRequestConstructor(mozilla::Move(actor), mozilla::Move(params))))) {
     537           0 :                 mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
     538             :                 // Error handled in mozilla::ipc::IPCResult
     539           0 :                 return MsgProcessingError;
     540             :             }
     541             : 
     542           0 :             return MsgProcessed;
     543             :         }
     544             :     case PBackgroundIDBDatabase::Msg_PBackgroundIDBTransactionConstructor__ID:
     545             :         {
     546           0 :             if (mozilla::ipc::LoggingEnabledFor("PBackgroundIDBDatabaseParent")) {
     547           0 :                 mozilla::ipc::LogMessageForProtocol("PBackgroundIDBDatabaseParent", OtherPid(), "Received ", ((&(msg__)))->type(), mozilla::ipc::MessageDirection::eReceiving);
     548             :             }
     549           0 :             AUTO_PROFILER_LABEL("PBackgroundIDBDatabase::Msg_PBackgroundIDBTransactionConstructor", OTHER);
     550             : 
     551           0 :             PickleIterator iter__(msg__);
     552             :             ActorHandle handle__;
     553             :             PBackgroundIDBTransactionParent* actor;
     554           0 :             nsTArray<nsString> objectStoreNames;
     555             :             Mode mode;
     556             : 
     557           0 :             if ((!(Read((&(handle__)), (&(msg__)), (&(iter__)))))) {
     558           0 :                 FatalError("Error deserializing 'ActorHandle'");
     559           0 :                 return MsgValueError;
     560             :             }
     561             :             // Sentinel = 'actor'
     562           0 :             if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 875202478)))) {
     563           0 :                 mozilla::ipc::SentinelReadError("Error deserializing 'ActorHandle'");
     564           0 :                 return MsgValueError;
     565             :             }
     566           0 :             if ((!(Read((&(objectStoreNames)), (&(msg__)), (&(iter__)))))) {
     567           0 :                 FatalError("Error deserializing 'nsTArray'");
     568           0 :                 return MsgValueError;
     569             :             }
     570             :             // Sentinel = 'objectStoreNames'
     571           0 :             if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 2433166752)))) {
     572           0 :                 mozilla::ipc::SentinelReadError("Error deserializing 'nsTArray'");
     573           0 :                 return MsgValueError;
     574             :             }
     575           0 :             if ((!(Read((&(mode)), (&(msg__)), (&(iter__)))))) {
     576           0 :                 FatalError("Error deserializing 'Mode'");
     577           0 :                 return MsgValueError;
     578             :             }
     579             :             // Sentinel = 'mode'
     580           0 :             if ((!(((&(msg__)))->ReadSentinel((&(iter__)), 3911367285)))) {
     581           0 :                 mozilla::ipc::SentinelReadError("Error deserializing 'Mode'");
     582           0 :                 return MsgValueError;
     583             :             }
     584           0 :             (msg__).EndRead(iter__, (msg__).type());
     585           0 :             PBackgroundIDBDatabase::Transition(PBackgroundIDBDatabase::Msg_PBackgroundIDBTransactionConstructor__ID, (&(mState)));
     586           0 :             actor = AllocPBackgroundIDBTransactionParent(objectStoreNames, mode);
     587           0 :             if ((!(actor))) {
     588           0 :                 NS_WARNING("Error constructing actor PBackgroundIDBTransactionParent");
     589           0 :                 return MsgValueError;
     590             :             }
     591           0 :             (actor)->SetManager(this);
     592           0 :             RegisterID(actor, (handle__).mId);
     593           0 :             (actor)->SetIPCChannel(GetIPCChannel());
     594           0 :             (mManagedPBackgroundIDBTransactionParent).PutEntry(actor);
     595           0 :             (actor)->mState = mozilla::dom::indexedDB::PBackgroundIDBTransaction::__Start;
     596             : 
     597           0 :             if ((!(RecvPBackgroundIDBTransactionConstructor(mozilla::Move(actor), mozilla::Move(objectStoreNames), mozilla::Move(mode))))) {
     598           0 :                 mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
     599             :                 // Error handled in mozilla::ipc::IPCResult
     600           0 :                 return MsgProcessingError;
     601             :             }
     602             : 
     603           0 :             return MsgProcessed;
     604             :         }
     605             :     case PBackgroundIDBDatabase::Reply___delete____ID:
     606             :         {
     607           0 :             return MsgProcessed;
     608             :         }
     609             :     case PBackgroundIDBDatabase::Reply_PBackgroundIDBVersionChangeTransactionConstructor__ID:
     610             :         {
     611           0 :             return MsgProcessed;
     612             :         }
     613             :     case PBackgroundIDBDatabase::Reply_PBackgroundMutableFileConstructor__ID:
     614             :         {
     615           0 :             return MsgProcessed;
     616             :         }
     617             :     default:
     618             :         {
     619           0 :             return MsgNotKnown;
     620             :         }
     621             :     }
     622             : }
     623             : 
     624           0 : auto PBackgroundIDBDatabaseParent::OnMessageReceived(
     625             :         const Message& msg__,
     626             :         Message*& reply__) -> PBackgroundIDBDatabaseParent::Result
     627             : {
     628           0 :     return MsgNotKnown;
     629             : }
     630             : 
     631           0 : auto PBackgroundIDBDatabaseParent::OnCallReceived(
     632             :         const Message& msg__,
     633             :         Message*& reply__) -> PBackgroundIDBDatabaseParent::Result
     634             : {
     635           0 :     MOZ_ASSERT_UNREACHABLE("message protocol not supported");
     636             :     return MsgNotKnown;
     637             : }
     638             : 
     639           0 : auto PBackgroundIDBDatabaseParent::GetProtocolTypeId() -> int32_t
     640             : {
     641           0 :     return PBackgroundIDBDatabaseMsgStart;
     642             : }
     643             : 
     644           0 : auto PBackgroundIDBDatabaseParent::ProtocolName() const -> const char*
     645             : {
     646           0 :     return "PBackgroundIDBDatabaseParent";
     647             : }
     648             : 
     649           0 : auto PBackgroundIDBDatabaseParent::DestroySubtree(ActorDestroyReason why) -> void
     650             : {
     651             :     // Unregister from our manager.
     652           0 :     Unregister(Id());
     653             : 
     654           0 :     ActorDestroyReason subtreewhy = (((why) == (Deletion)) || ((why) == (FailedConstructor)) ? AncestorDeletion : why);
     655             : 
     656             :     {
     657             :         // Recursively shutting down PBackgroundIDBDatabaseFile kids
     658           0 :         nsTArray<PBackgroundIDBDatabaseFileParent*> kids;
     659             :         // Accumulate kids into a stable structure to iterate over
     660           0 :         ManagedPBackgroundIDBDatabaseFileParent(kids);
     661           0 :         for (auto& kid : kids) {
     662             :             // Guarding against a child removing a sibling from the list during the iteration.
     663           0 :             if ((mManagedPBackgroundIDBDatabaseFileParent).Contains(kid)) {
     664           0 :                 (kid)->DestroySubtree(subtreewhy);
     665             :             }
     666             :         }
     667             :     }
     668             :     {
     669             :         // Recursively shutting down PBackgroundIDBDatabaseRequest kids
     670           0 :         nsTArray<PBackgroundIDBDatabaseRequestParent*> kids;
     671             :         // Accumulate kids into a stable structure to iterate over
     672           0 :         ManagedPBackgroundIDBDatabaseRequestParent(kids);
     673           0 :         for (auto& kid : kids) {
     674             :             // Guarding against a child removing a sibling from the list during the iteration.
     675           0 :             if ((mManagedPBackgroundIDBDatabaseRequestParent).Contains(kid)) {
     676           0 :                 (kid)->DestroySubtree(subtreewhy);
     677             :             }
     678             :         }
     679             :     }
     680             :     {
     681             :         // Recursively shutting down PBackgroundIDBTransaction kids
     682           0 :         nsTArray<PBackgroundIDBTransactionParent*> kids;
     683             :         // Accumulate kids into a stable structure to iterate over
     684           0 :         ManagedPBackgroundIDBTransactionParent(kids);
     685           0 :         for (auto& kid : kids) {
     686             :             // Guarding against a child removing a sibling from the list during the iteration.
     687           0 :             if ((mManagedPBackgroundIDBTransactionParent).Contains(kid)) {
     688           0 :                 (kid)->DestroySubtree(subtreewhy);
     689             :             }
     690             :         }
     691             :     }
     692             :     {
     693             :         // Recursively shutting down PBackgroundIDBVersionChangeTransaction kids
     694           0 :         nsTArray<PBackgroundIDBVersionChangeTransactionParent*> kids;
     695             :         // Accumulate kids into a stable structure to iterate over
     696           0 :         ManagedPBackgroundIDBVersionChangeTransactionParent(kids);
     697           0 :         for (auto& kid : kids) {
     698             :             // Guarding against a child removing a sibling from the list during the iteration.
     699           0 :             if ((mManagedPBackgroundIDBVersionChangeTransactionParent).Contains(kid)) {
     700           0 :                 (kid)->DestroySubtree(subtreewhy);
     701             :             }
     702             :         }
     703             :     }
     704             :     {
     705             :         // Recursively shutting down PBackgroundMutableFile kids
     706           0 :         nsTArray<PBackgroundMutableFileParent*> kids;
     707             :         // Accumulate kids into a stable structure to iterate over
     708           0 :         ManagedPBackgroundMutableFileParent(kids);
     709           0 :         for (auto& kid : kids) {
     710             :             // Guarding against a child removing a sibling from the list during the iteration.
     711           0 :             if ((mManagedPBackgroundMutableFileParent).Contains(kid)) {
     712           0 :                 (kid)->DestroySubtree(subtreewhy);
     713             :             }
     714             :         }
     715             :     }
     716             : 
     717             :     // Reject owning pending promises.
     718           0 :     (GetIPCChannel())->RejectPendingPromisesForActor(this);
     719             : 
     720             :     // Finally, destroy "us".
     721           0 :     ActorDestroy(why);
     722           0 : }
     723             : 
     724           0 : auto PBackgroundIDBDatabaseParent::DeallocSubtree() -> void
     725             : {
     726             :     {
     727             :         // Recursively deleting PBackgroundIDBDatabaseFile kids
     728           0 :         for (auto iter = (mManagedPBackgroundIDBDatabaseFileParent).Iter(); (!((iter).Done())); (iter).Next()) {
     729           0 :             (((iter).Get())->GetKey())->DeallocSubtree();
     730             :         }
     731             : 
     732           0 :         for (auto iter = (mManagedPBackgroundIDBDatabaseFileParent).Iter(); (!((iter).Done())); (iter).Next()) {
     733           0 :             DeallocPBackgroundIDBDatabaseFileParent(((iter).Get())->GetKey());
     734             :         }
     735           0 :         (mManagedPBackgroundIDBDatabaseFileParent).Clear();
     736             :     }
     737             :     {
     738             :         // Recursively deleting PBackgroundIDBDatabaseRequest kids
     739           0 :         for (auto iter = (mManagedPBackgroundIDBDatabaseRequestParent).Iter(); (!((iter).Done())); (iter).Next()) {
     740           0 :             (((iter).Get())->GetKey())->DeallocSubtree();
     741             :         }
     742             : 
     743           0 :         for (auto iter = (mManagedPBackgroundIDBDatabaseRequestParent).Iter(); (!((iter).Done())); (iter).Next()) {
     744           0 :             DeallocPBackgroundIDBDatabaseRequestParent(((iter).Get())->GetKey());
     745             :         }
     746           0 :         (mManagedPBackgroundIDBDatabaseRequestParent).Clear();
     747             :     }
     748             :     {
     749             :         // Recursively deleting PBackgroundIDBTransaction kids
     750           0 :         for (auto iter = (mManagedPBackgroundIDBTransactionParent).Iter(); (!((iter).Done())); (iter).Next()) {
     751           0 :             (((iter).Get())->GetKey())->DeallocSubtree();
     752             :         }
     753             : 
     754           0 :         for (auto iter = (mManagedPBackgroundIDBTransactionParent).Iter(); (!((iter).Done())); (iter).Next()) {
     755           0 :             DeallocPBackgroundIDBTransactionParent(((iter).Get())->GetKey());
     756             :         }
     757           0 :         (mManagedPBackgroundIDBTransactionParent).Clear();
     758             :     }
     759             :     {
     760             :         // Recursively deleting PBackgroundIDBVersionChangeTransaction kids
     761           0 :         for (auto iter = (mManagedPBackgroundIDBVersionChangeTransactionParent).Iter(); (!((iter).Done())); (iter).Next()) {
     762           0 :             (((iter).Get())->GetKey())->DeallocSubtree();
     763             :         }
     764             : 
     765           0 :         for (auto iter = (mManagedPBackgroundIDBVersionChangeTransactionParent).Iter(); (!((iter).Done())); (iter).Next()) {
     766           0 :             DeallocPBackgroundIDBVersionChangeTransactionParent(((iter).Get())->GetKey());
     767             :         }
     768           0 :         (mManagedPBackgroundIDBVersionChangeTransactionParent).Clear();
     769             :     }
     770             :     {
     771             :         // Recursively deleting PBackgroundMutableFile kids
     772           0 :         for (auto iter = (mManagedPBackgroundMutableFileParent).Iter(); (!((iter).Done())); (iter).Next()) {
     773           0 :             (((iter).Get())->GetKey())->DeallocSubtree();
     774             :         }
     775             : 
     776           0 :         for (auto iter = (mManagedPBackgroundMutableFileParent).Iter(); (!((iter).Done())); (iter).Next()) {
     777           0 :             DeallocPBackgroundMutableFileParent(((iter).Get())->GetKey());
     778             :         }
     779           0 :         (mManagedPBackgroundMutableFileParent).Clear();
     780             :     }
     781           0 : }
     782             : 
     783           0 : auto PBackgroundIDBDatabaseParent::Write(
     784             :         const nsTArray<InputStreamParams>& v__,
     785             :         Message* msg__) -> void
     786             : {
     787           0 :     uint32_t length = (v__).Length();
     788           0 :     Write(length, msg__);
     789             :     // Sentinel = ('length', 'InputStreamParams[]')
     790           0 :     (msg__)->WriteSentinel(348334258);
     791             : 
     792           0 :     for (auto& elem : v__) {
     793           0 :         Write(elem, msg__);
     794             :         // Sentinel = 'InputStreamParams[]'
     795           0 :         (msg__)->WriteSentinel(2927715197);
     796             :     }
     797           0 : }
     798             : 
     799           0 : auto PBackgroundIDBDatabaseParent::Read(
     800             :         nsTArray<InputStreamParams>* v__,
     801             :         const Message* msg__,
     802             :         PickleIterator* iter__) -> bool
     803             : {
     804           0 :     nsTArray<InputStreamParams> fa;
     805             :     uint32_t length;
     806           0 :     if ((!(Read((&(length)), msg__, iter__)))) {
     807           0 :         mozilla::ipc::ArrayLengthReadError("InputStreamParams[]");
     808           0 :         return false;
     809             :     }
     810             :     // Sentinel = ('length', 'InputStreamParams[]')
     811           0 :     if ((!((msg__)->ReadSentinel(iter__, 348334258)))) {
     812           0 :         mozilla::ipc::SentinelReadError("InputStreamParams[]");
     813           0 :         return false;
     814             :     }
     815             : 
     816           0 :     InputStreamParams* elems = (fa).AppendElements(length);
     817           0 :     for (uint32_t i = 0; (i) < (length); (++(i))) {
     818           0 :         if ((!(Read((&(elems[i])), msg__, iter__)))) {
     819           0 :             FatalError("Error deserializing 'InputStreamParams[i]'");
     820           0 :             return false;
     821             :         }
     822             :         // Sentinel = 'InputStreamParams[]'
     823           0 :         if ((!((msg__)->ReadSentinel(iter__, 2927715197)))) {
     824           0 :             mozilla::ipc::SentinelReadError("Error deserializing 'InputStreamParams[i]'");
     825           0 :             return false;
     826             :         }
     827             :     }
     828           0 :     (v__)->SwapElements(fa);
     829           0 :     return true;
     830             : }
     831             : 
     832           0 : auto PBackgroundIDBDatabaseParent::Write(
     833             :         const OptionalInputStreamParams& v__,
     834             :         Message* msg__) -> void
     835             : {
     836             :     typedef OptionalInputStreamParams type__;
     837           0 :     Write(int((v__).type()), msg__);
     838             :     // Sentinel = 'OptionalInputStreamParams'
     839           0 :     (msg__)->WriteSentinel(1355174443);
     840             : 
     841           0 :     switch ((v__).type()) {
     842             :     case type__::Tvoid_t:
     843             :         {
     844           0 :             Write((v__).get_void_t(), msg__);
     845             :             // Sentinel = 'Tvoid_t'
     846           0 :             (msg__)->WriteSentinel(3041273328);
     847           0 :             return;
     848             :         }
     849             :     case type__::TInputStreamParams:
     850             :         {
     851           0 :             Write((v__).get_InputStreamParams(), msg__);
     852             :             // Sentinel = 'TInputStreamParams'
     853           0 :             (msg__)->WriteSentinel(55652096);
     854           0 :             return;
     855             :         }
     856             :     default:
     857             :         {
     858           0 :             FatalError("unknown union type");
     859           0 :             return;
     860             :         }
     861             :     }
     862             : }
     863             : 
     864           0 : auto PBackgroundIDBDatabaseParent::Read(
     865             :         OptionalInputStreamParams* v__,
     866             :         const Message* msg__,
     867             :         PickleIterator* iter__) -> bool
     868             : {
     869             :     typedef OptionalInputStreamParams type__;
     870             :     int type;
     871           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
     872           0 :         mozilla::ipc::UnionTypeReadError("OptionalInputStreamParams");
     873           0 :         return false;
     874             :     }
     875             :     // Sentinel = 'OptionalInputStreamParams'
     876           0 :     if ((!((msg__)->ReadSentinel(iter__, 1355174443)))) {
     877           0 :         mozilla::ipc::SentinelReadError("OptionalInputStreamParams");
     878           0 :         return false;
     879             :     }
     880             : 
     881           0 :     switch (type) {
     882             :     case type__::Tvoid_t:
     883             :         {
     884             :             void_t tmp = void_t();
     885           0 :             (*(v__)) = tmp;
     886           0 :             if ((!(Read((&((v__)->get_void_t())), msg__, iter__)))) {
     887           0 :                 FatalError("Error deserializing Union type");
     888           0 :                 return false;
     889             :             }
     890             :             // Sentinel = 'Tvoid_t'
     891           0 :             if ((!((msg__)->ReadSentinel(iter__, 3041273328)))) {
     892           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
     893           0 :                 return false;
     894             :             }
     895           0 :             return true;
     896             :         }
     897             :     case type__::TInputStreamParams:
     898             :         {
     899           0 :             InputStreamParams tmp = InputStreamParams();
     900           0 :             (*(v__)) = tmp;
     901           0 :             if ((!(Read((&((v__)->get_InputStreamParams())), msg__, iter__)))) {
     902           0 :                 FatalError("Error deserializing Union type");
     903           0 :                 return false;
     904             :             }
     905             :             // Sentinel = 'TInputStreamParams'
     906           0 :             if ((!((msg__)->ReadSentinel(iter__, 55652096)))) {
     907           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
     908           0 :                 return false;
     909             :             }
     910           0 :             return true;
     911             :         }
     912             :     default:
     913             :         {
     914           0 :             FatalError("unknown union type");
     915           0 :             return false;
     916             :         }
     917             :     }
     918             : }
     919             : 
     920           0 : auto PBackgroundIDBDatabaseParent::Write(
     921             :         const IPCRemoteStream& v__,
     922             :         Message* msg__) -> void
     923             : {
     924           0 :     Write((v__).delayedStart(), msg__);
     925             :     // Sentinel = 'delayedStart'
     926           0 :     (msg__)->WriteSentinel(1491822294);
     927           0 :     Write((v__).stream(), msg__);
     928             :     // Sentinel = 'stream'
     929           0 :     (msg__)->WriteSentinel(4152748422);
     930           0 : }
     931             : 
     932           0 : auto PBackgroundIDBDatabaseParent::Read(
     933             :         IPCRemoteStream* v__,
     934             :         const Message* msg__,
     935             :         PickleIterator* iter__) -> bool
     936             : {
     937           0 :     if ((!(Read((&((v__)->delayedStart())), msg__, iter__)))) {
     938           0 :         FatalError("Error deserializing 'delayedStart' (bool) member of 'IPCRemoteStream'");
     939           0 :         return false;
     940             :     }
     941             :     // Sentinel = 'delayedStart'
     942           0 :     if ((!((msg__)->ReadSentinel(iter__, 1491822294)))) {
     943           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'delayedStart' (bool) member of 'IPCRemoteStream'");
     944           0 :         return false;
     945             :     }
     946           0 :     if ((!(Read((&((v__)->stream())), msg__, iter__)))) {
     947           0 :         FatalError("Error deserializing 'stream' (IPCRemoteStreamType) member of 'IPCRemoteStream'");
     948           0 :         return false;
     949             :     }
     950             :     // Sentinel = 'stream'
     951           0 :     if ((!((msg__)->ReadSentinel(iter__, 4152748422)))) {
     952           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'stream' (IPCRemoteStreamType) member of 'IPCRemoteStream'");
     953           0 :         return false;
     954             :     }
     955           0 :     return true;
     956             : }
     957             : 
     958           0 : auto PBackgroundIDBDatabaseParent::Write(
     959             :         const PBackgroundMutableFileParent* v__,
     960             :         Message* msg__,
     961             :         bool nullable__) -> void
     962             : {
     963             :     int32_t id;
     964           0 :     if ((!(v__))) {
     965           0 :         if ((!(nullable__))) {
     966           0 :             FatalError("NULL actor value passed to non-nullable param");
     967             :         }
     968           0 :         id = 0;
     969             :     }
     970             :     else {
     971           0 :         id = (v__)->Id();
     972           0 :         if ((1) == (id)) {
     973           0 :             FatalError("actor has been |delete|d");
     974             :         }
     975             :     }
     976             : 
     977           0 :     Write(id, msg__);
     978           0 : }
     979             : 
     980           0 : auto PBackgroundIDBDatabaseParent::Read(
     981             :         PBackgroundMutableFileParent** v__,
     982             :         const Message* msg__,
     983             :         PickleIterator* iter__,
     984             :         bool nullable__) -> bool
     985             : {
     986           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PBackgroundMutableFile", PBackgroundMutableFileMsgStart);
     987           0 :     if ((actor).isNothing()) {
     988           0 :         return false;
     989             :     }
     990             : 
     991           0 :     (*(v__)) = static_cast<PBackgroundMutableFileParent*>((actor).value());
     992           0 :     return true;
     993             : }
     994             : 
     995           0 : auto PBackgroundIDBDatabaseParent::Write(
     996             :         const PBackgroundIDBDatabaseRequestParent* v__,
     997             :         Message* msg__,
     998             :         bool nullable__) -> void
     999             : {
    1000             :     int32_t id;
    1001           0 :     if ((!(v__))) {
    1002           0 :         if ((!(nullable__))) {
    1003           0 :             FatalError("NULL actor value passed to non-nullable param");
    1004             :         }
    1005           0 :         id = 0;
    1006             :     }
    1007             :     else {
    1008           0 :         id = (v__)->Id();
    1009           0 :         if ((1) == (id)) {
    1010           0 :             FatalError("actor has been |delete|d");
    1011             :         }
    1012             :     }
    1013             : 
    1014           0 :     Write(id, msg__);
    1015           0 : }
    1016             : 
    1017           0 : auto PBackgroundIDBDatabaseParent::Read(
    1018             :         PBackgroundIDBDatabaseRequestParent** v__,
    1019             :         const Message* msg__,
    1020             :         PickleIterator* iter__,
    1021             :         bool nullable__) -> bool
    1022             : {
    1023           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PBackgroundIDBDatabaseRequest", PBackgroundIDBDatabaseRequestMsgStart);
    1024           0 :     if ((actor).isNothing()) {
    1025           0 :         return false;
    1026             :     }
    1027             : 
    1028           0 :     (*(v__)) = static_cast<PBackgroundIDBDatabaseRequestParent*>((actor).value());
    1029           0 :     return true;
    1030             : }
    1031             : 
    1032           0 : auto PBackgroundIDBDatabaseParent::Write(
    1033             :         const PBackgroundIDBTransactionParent* v__,
    1034             :         Message* msg__,
    1035             :         bool nullable__) -> void
    1036             : {
    1037             :     int32_t id;
    1038           0 :     if ((!(v__))) {
    1039           0 :         if ((!(nullable__))) {
    1040           0 :             FatalError("NULL actor value passed to non-nullable param");
    1041             :         }
    1042           0 :         id = 0;
    1043             :     }
    1044             :     else {
    1045           0 :         id = (v__)->Id();
    1046           0 :         if ((1) == (id)) {
    1047           0 :             FatalError("actor has been |delete|d");
    1048             :         }
    1049             :     }
    1050             : 
    1051           0 :     Write(id, msg__);
    1052           0 : }
    1053             : 
    1054           0 : auto PBackgroundIDBDatabaseParent::Read(
    1055             :         PBackgroundIDBTransactionParent** v__,
    1056             :         const Message* msg__,
    1057             :         PickleIterator* iter__,
    1058             :         bool nullable__) -> bool
    1059             : {
    1060           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PBackgroundIDBTransaction", PBackgroundIDBTransactionMsgStart);
    1061           0 :     if ((actor).isNothing()) {
    1062           0 :         return false;
    1063             :     }
    1064             : 
    1065           0 :     (*(v__)) = static_cast<PBackgroundIDBTransactionParent*>((actor).value());
    1066           0 :     return true;
    1067             : }
    1068             : 
    1069           0 : auto PBackgroundIDBDatabaseParent::Write(
    1070             :         const FileInputStreamParams& v__,
    1071             :         Message* msg__) -> void
    1072             : {
    1073           0 :     Write((v__).fileDescriptorIndex(), msg__);
    1074             :     // Sentinel = 'fileDescriptorIndex'
    1075           0 :     (msg__)->WriteSentinel(587329112);
    1076           0 :     Write((v__).behaviorFlags(), msg__);
    1077             :     // Sentinel = 'behaviorFlags'
    1078           0 :     (msg__)->WriteSentinel(2404401962);
    1079           0 :     Write((v__).ioFlags(), msg__);
    1080             :     // Sentinel = 'ioFlags'
    1081           0 :     (msg__)->WriteSentinel(1483009730);
    1082           0 : }
    1083             : 
    1084           0 : auto PBackgroundIDBDatabaseParent::Read(
    1085             :         FileInputStreamParams* v__,
    1086             :         const Message* msg__,
    1087             :         PickleIterator* iter__) -> bool
    1088             : {
    1089           0 :     if ((!(Read((&((v__)->fileDescriptorIndex())), msg__, iter__)))) {
    1090           0 :         FatalError("Error deserializing 'fileDescriptorIndex' (uint32_t) member of 'FileInputStreamParams'");
    1091           0 :         return false;
    1092             :     }
    1093             :     // Sentinel = 'fileDescriptorIndex'
    1094           0 :     if ((!((msg__)->ReadSentinel(iter__, 587329112)))) {
    1095           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'fileDescriptorIndex' (uint32_t) member of 'FileInputStreamParams'");
    1096           0 :         return false;
    1097             :     }
    1098           0 :     if ((!(Read((&((v__)->behaviorFlags())), msg__, iter__)))) {
    1099           0 :         FatalError("Error deserializing 'behaviorFlags' (int32_t) member of 'FileInputStreamParams'");
    1100           0 :         return false;
    1101             :     }
    1102             :     // Sentinel = 'behaviorFlags'
    1103           0 :     if ((!((msg__)->ReadSentinel(iter__, 2404401962)))) {
    1104           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'behaviorFlags' (int32_t) member of 'FileInputStreamParams'");
    1105           0 :         return false;
    1106             :     }
    1107           0 :     if ((!(Read((&((v__)->ioFlags())), msg__, iter__)))) {
    1108           0 :         FatalError("Error deserializing 'ioFlags' (int32_t) member of 'FileInputStreamParams'");
    1109           0 :         return false;
    1110             :     }
    1111             :     // Sentinel = 'ioFlags'
    1112           0 :     if ((!((msg__)->ReadSentinel(iter__, 1483009730)))) {
    1113           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'ioFlags' (int32_t) member of 'FileInputStreamParams'");
    1114           0 :         return false;
    1115             :     }
    1116           0 :     return true;
    1117             : }
    1118             : 
    1119           0 : auto PBackgroundIDBDatabaseParent::Write(
    1120             :         const IPCBlobInputStreamParams& v__,
    1121             :         Message* msg__) -> void
    1122             : {
    1123           0 :     Write((v__).id(), msg__);
    1124             :     // Sentinel = 'id'
    1125           0 :     (msg__)->WriteSentinel(2794505629);
    1126           0 : }
    1127             : 
    1128           0 : auto PBackgroundIDBDatabaseParent::Read(
    1129             :         IPCBlobInputStreamParams* v__,
    1130             :         const Message* msg__,
    1131             :         PickleIterator* iter__) -> bool
    1132             : {
    1133           0 :     if ((!(Read((&((v__)->id())), msg__, iter__)))) {
    1134           0 :         FatalError("Error deserializing 'id' (nsID) member of 'IPCBlobInputStreamParams'");
    1135           0 :         return false;
    1136             :     }
    1137             :     // Sentinel = 'id'
    1138           0 :     if ((!((msg__)->ReadSentinel(iter__, 2794505629)))) {
    1139           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'id' (nsID) member of 'IPCBlobInputStreamParams'");
    1140           0 :         return false;
    1141             :     }
    1142           0 :     return true;
    1143             : }
    1144             : 
    1145           0 : auto PBackgroundIDBDatabaseParent::Write(
    1146             :         const IPCFile& v__,
    1147             :         Message* msg__) -> void
    1148             : {
    1149           0 :     Write((v__).name(), msg__);
    1150             :     // Sentinel = 'name'
    1151           0 :     (msg__)->WriteSentinel(15034981);
    1152           0 :     Write((v__).lastModified(), msg__);
    1153             :     // Sentinel = 'lastModified'
    1154           0 :     (msg__)->WriteSentinel(3456113257);
    1155           0 :     Write((v__).DOMPath(), msg__);
    1156             :     // Sentinel = 'DOMPath'
    1157           0 :     (msg__)->WriteSentinel(1724352494);
    1158           0 :     Write((v__).fullPath(), msg__);
    1159             :     // Sentinel = 'fullPath'
    1160           0 :     (msg__)->WriteSentinel(385652698);
    1161           0 :     Write((v__).isDirectory(), msg__);
    1162             :     // Sentinel = 'isDirectory'
    1163           0 :     (msg__)->WriteSentinel(2309743506);
    1164           0 : }
    1165             : 
    1166           0 : auto PBackgroundIDBDatabaseParent::Read(
    1167             :         IPCFile* v__,
    1168             :         const Message* msg__,
    1169             :         PickleIterator* iter__) -> bool
    1170             : {
    1171           0 :     if ((!(Read((&((v__)->name())), msg__, iter__)))) {
    1172           0 :         FatalError("Error deserializing 'name' (nsString) member of 'IPCFile'");
    1173           0 :         return false;
    1174             :     }
    1175             :     // Sentinel = 'name'
    1176           0 :     if ((!((msg__)->ReadSentinel(iter__, 15034981)))) {
    1177           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'name' (nsString) member of 'IPCFile'");
    1178           0 :         return false;
    1179             :     }
    1180           0 :     if ((!(Read((&((v__)->lastModified())), msg__, iter__)))) {
    1181           0 :         FatalError("Error deserializing 'lastModified' (int64_t) member of 'IPCFile'");
    1182           0 :         return false;
    1183             :     }
    1184             :     // Sentinel = 'lastModified'
    1185           0 :     if ((!((msg__)->ReadSentinel(iter__, 3456113257)))) {
    1186           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'lastModified' (int64_t) member of 'IPCFile'");
    1187           0 :         return false;
    1188             :     }
    1189           0 :     if ((!(Read((&((v__)->DOMPath())), msg__, iter__)))) {
    1190           0 :         FatalError("Error deserializing 'DOMPath' (nsString) member of 'IPCFile'");
    1191           0 :         return false;
    1192             :     }
    1193             :     // Sentinel = 'DOMPath'
    1194           0 :     if ((!((msg__)->ReadSentinel(iter__, 1724352494)))) {
    1195           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'DOMPath' (nsString) member of 'IPCFile'");
    1196           0 :         return false;
    1197             :     }
    1198           0 :     if ((!(Read((&((v__)->fullPath())), msg__, iter__)))) {
    1199           0 :         FatalError("Error deserializing 'fullPath' (nsString) member of 'IPCFile'");
    1200           0 :         return false;
    1201             :     }
    1202             :     // Sentinel = 'fullPath'
    1203           0 :     if ((!((msg__)->ReadSentinel(iter__, 385652698)))) {
    1204           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'fullPath' (nsString) member of 'IPCFile'");
    1205           0 :         return false;
    1206             :     }
    1207           0 :     if ((!(Read((&((v__)->isDirectory())), msg__, iter__)))) {
    1208           0 :         FatalError("Error deserializing 'isDirectory' (bool) member of 'IPCFile'");
    1209           0 :         return false;
    1210             :     }
    1211             :     // Sentinel = 'isDirectory'
    1212           0 :     if ((!((msg__)->ReadSentinel(iter__, 2309743506)))) {
    1213           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'isDirectory' (bool) member of 'IPCFile'");
    1214           0 :         return false;
    1215             :     }
    1216           0 :     return true;
    1217             : }
    1218             : 
    1219           0 : auto PBackgroundIDBDatabaseParent::Write(
    1220             :         const IPCFileUnion& v__,
    1221             :         Message* msg__) -> void
    1222             : {
    1223             :     typedef IPCFileUnion type__;
    1224           0 :     Write(int((v__).type()), msg__);
    1225             :     // Sentinel = 'IPCFileUnion'
    1226           0 :     (msg__)->WriteSentinel(1913022529);
    1227             : 
    1228           0 :     switch ((v__).type()) {
    1229             :     case type__::Tvoid_t:
    1230             :         {
    1231           0 :             Write((v__).get_void_t(), msg__);
    1232             :             // Sentinel = 'Tvoid_t'
    1233           0 :             (msg__)->WriteSentinel(3041273328);
    1234           0 :             return;
    1235             :         }
    1236             :     case type__::TIPCFile:
    1237             :         {
    1238           0 :             Write((v__).get_IPCFile(), msg__);
    1239             :             // Sentinel = 'TIPCFile'
    1240           0 :             (msg__)->WriteSentinel(3562676876);
    1241           0 :             return;
    1242             :         }
    1243             :     default:
    1244             :         {
    1245           0 :             FatalError("unknown union type");
    1246           0 :             return;
    1247             :         }
    1248             :     }
    1249             : }
    1250             : 
    1251           0 : auto PBackgroundIDBDatabaseParent::Read(
    1252             :         IPCFileUnion* v__,
    1253             :         const Message* msg__,
    1254             :         PickleIterator* iter__) -> bool
    1255             : {
    1256             :     typedef IPCFileUnion type__;
    1257             :     int type;
    1258           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    1259           0 :         mozilla::ipc::UnionTypeReadError("IPCFileUnion");
    1260           0 :         return false;
    1261             :     }
    1262             :     // Sentinel = 'IPCFileUnion'
    1263           0 :     if ((!((msg__)->ReadSentinel(iter__, 1913022529)))) {
    1264           0 :         mozilla::ipc::SentinelReadError("IPCFileUnion");
    1265           0 :         return false;
    1266             :     }
    1267             : 
    1268           0 :     switch (type) {
    1269             :     case type__::Tvoid_t:
    1270             :         {
    1271             :             void_t tmp = void_t();
    1272           0 :             (*(v__)) = tmp;
    1273           0 :             if ((!(Read((&((v__)->get_void_t())), msg__, iter__)))) {
    1274           0 :                 FatalError("Error deserializing Union type");
    1275           0 :                 return false;
    1276             :             }
    1277             :             // Sentinel = 'Tvoid_t'
    1278           0 :             if ((!((msg__)->ReadSentinel(iter__, 3041273328)))) {
    1279           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1280           0 :                 return false;
    1281             :             }
    1282           0 :             return true;
    1283             :         }
    1284             :     case type__::TIPCFile:
    1285             :         {
    1286           0 :             IPCFile tmp = IPCFile();
    1287           0 :             (*(v__)) = tmp;
    1288           0 :             if ((!(Read((&((v__)->get_IPCFile())), msg__, iter__)))) {
    1289           0 :                 FatalError("Error deserializing Union type");
    1290           0 :                 return false;
    1291             :             }
    1292             :             // Sentinel = 'TIPCFile'
    1293           0 :             if ((!((msg__)->ReadSentinel(iter__, 3562676876)))) {
    1294           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1295           0 :                 return false;
    1296             :             }
    1297           0 :             return true;
    1298             :         }
    1299             :     default:
    1300             :         {
    1301           0 :             FatalError("unknown union type");
    1302           0 :             return false;
    1303             :         }
    1304             :     }
    1305             : }
    1306             : 
    1307           0 : auto PBackgroundIDBDatabaseParent::Write(
    1308             :         const PBackgroundIDBDatabaseParent* v__,
    1309             :         Message* msg__,
    1310             :         bool nullable__) -> void
    1311             : {
    1312             :     int32_t id;
    1313           0 :     if ((!(v__))) {
    1314           0 :         if ((!(nullable__))) {
    1315           0 :             FatalError("NULL actor value passed to non-nullable param");
    1316             :         }
    1317           0 :         id = 0;
    1318             :     }
    1319             :     else {
    1320           0 :         id = (v__)->Id();
    1321           0 :         if ((1) == (id)) {
    1322           0 :             FatalError("actor has been |delete|d");
    1323             :         }
    1324             :     }
    1325             : 
    1326           0 :     Write(id, msg__);
    1327           0 : }
    1328             : 
    1329           0 : auto PBackgroundIDBDatabaseParent::Read(
    1330             :         PBackgroundIDBDatabaseParent** v__,
    1331             :         const Message* msg__,
    1332             :         PickleIterator* iter__,
    1333             :         bool nullable__) -> bool
    1334             : {
    1335           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PBackgroundIDBDatabase", PBackgroundIDBDatabaseMsgStart);
    1336           0 :     if ((actor).isNothing()) {
    1337           0 :         return false;
    1338             :     }
    1339             : 
    1340           0 :     (*(v__)) = static_cast<PBackgroundIDBDatabaseParent*>((actor).value());
    1341           0 :     return true;
    1342             : }
    1343             : 
    1344           0 : auto PBackgroundIDBDatabaseParent::Write(
    1345             :         const InputStreamParamsWithFds& v__,
    1346             :         Message* msg__) -> void
    1347             : {
    1348           0 :     Write((v__).stream(), msg__);
    1349             :     // Sentinel = 'stream'
    1350           0 :     (msg__)->WriteSentinel(4152748422);
    1351           0 :     Write((v__).optionalFds(), msg__);
    1352             :     // Sentinel = 'optionalFds'
    1353           0 :     (msg__)->WriteSentinel(1021803302);
    1354           0 : }
    1355             : 
    1356           0 : auto PBackgroundIDBDatabaseParent::Read(
    1357             :         InputStreamParamsWithFds* v__,
    1358             :         const Message* msg__,
    1359             :         PickleIterator* iter__) -> bool
    1360             : {
    1361           0 :     if ((!(Read((&((v__)->stream())), msg__, iter__)))) {
    1362           0 :         FatalError("Error deserializing 'stream' (InputStreamParams) member of 'InputStreamParamsWithFds'");
    1363           0 :         return false;
    1364             :     }
    1365             :     // Sentinel = 'stream'
    1366           0 :     if ((!((msg__)->ReadSentinel(iter__, 4152748422)))) {
    1367           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'stream' (InputStreamParams) member of 'InputStreamParamsWithFds'");
    1368           0 :         return false;
    1369             :     }
    1370           0 :     if ((!(Read((&((v__)->optionalFds())), msg__, iter__)))) {
    1371           0 :         FatalError("Error deserializing 'optionalFds' (OptionalFileDescriptorSet) member of 'InputStreamParamsWithFds'");
    1372           0 :         return false;
    1373             :     }
    1374             :     // Sentinel = 'optionalFds'
    1375           0 :     if ((!((msg__)->ReadSentinel(iter__, 1021803302)))) {
    1376           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'optionalFds' (OptionalFileDescriptorSet) member of 'InputStreamParamsWithFds'");
    1377           0 :         return false;
    1378             :     }
    1379           0 :     return true;
    1380             : }
    1381             : 
    1382           0 : auto PBackgroundIDBDatabaseParent::Write(
    1383             :         const IPCBlobStream& v__,
    1384             :         Message* msg__) -> void
    1385             : {
    1386             :     typedef IPCBlobStream type__;
    1387           0 :     Write(int((v__).type()), msg__);
    1388             :     // Sentinel = 'IPCBlobStream'
    1389           0 :     (msg__)->WriteSentinel(2926762354);
    1390             : 
    1391           0 :     switch ((v__).type()) {
    1392             :     case type__::TPIPCBlobInputStreamParent:
    1393             :         {
    1394           0 :             Write((v__).get_PIPCBlobInputStreamParent(), msg__, false);
    1395             :             // Sentinel = 'TPIPCBlobInputStreamParent'
    1396           0 :             (msg__)->WriteSentinel(2944059743);
    1397           0 :             return;
    1398             :         }
    1399             :     case type__::TPIPCBlobInputStreamChild:
    1400             :         {
    1401           0 :             FatalError("wrong side!");
    1402           0 :             return;
    1403             :         }
    1404             :     case type__::TIPCStream:
    1405             :         {
    1406           0 :             Write((v__).get_IPCStream(), msg__);
    1407             :             // Sentinel = 'TIPCStream'
    1408           0 :             (msg__)->WriteSentinel(40701900);
    1409           0 :             return;
    1410             :         }
    1411             :     default:
    1412             :         {
    1413           0 :             FatalError("unknown union type");
    1414           0 :             return;
    1415             :         }
    1416             :     }
    1417             : }
    1418             : 
    1419           0 : auto PBackgroundIDBDatabaseParent::Read(
    1420             :         IPCBlobStream* v__,
    1421             :         const Message* msg__,
    1422             :         PickleIterator* iter__) -> bool
    1423             : {
    1424             :     typedef IPCBlobStream type__;
    1425             :     int type;
    1426           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    1427           0 :         mozilla::ipc::UnionTypeReadError("IPCBlobStream");
    1428           0 :         return false;
    1429             :     }
    1430             :     // Sentinel = 'IPCBlobStream'
    1431           0 :     if ((!((msg__)->ReadSentinel(iter__, 2926762354)))) {
    1432           0 :         mozilla::ipc::SentinelReadError("IPCBlobStream");
    1433           0 :         return false;
    1434             :     }
    1435             : 
    1436           0 :     switch (type) {
    1437             :     case type__::TPIPCBlobInputStreamParent:
    1438             :         {
    1439           0 :             return false;
    1440             :         }
    1441             :     case type__::TPIPCBlobInputStreamChild:
    1442             :         {
    1443           0 :             PIPCBlobInputStreamParent* tmp = nullptr;
    1444           0 :             (*(v__)) = tmp;
    1445           0 :             if ((!(Read((&((v__)->get_PIPCBlobInputStreamParent())), msg__, iter__, false)))) {
    1446           0 :                 FatalError("Error deserializing Union type");
    1447           0 :                 return false;
    1448             :             }
    1449             :             // Sentinel = 'TPIPCBlobInputStreamChild'
    1450           0 :             if ((!((msg__)->ReadSentinel(iter__, 3349556844)))) {
    1451           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1452           0 :                 return false;
    1453             :             }
    1454           0 :             return true;
    1455             :         }
    1456             :     case type__::TIPCStream:
    1457             :         {
    1458           0 :             IPCStream tmp = IPCStream();
    1459           0 :             (*(v__)) = tmp;
    1460           0 :             if ((!(Read((&((v__)->get_IPCStream())), msg__, iter__)))) {
    1461           0 :                 FatalError("Error deserializing Union type");
    1462           0 :                 return false;
    1463             :             }
    1464             :             // Sentinel = 'TIPCStream'
    1465           0 :             if ((!((msg__)->ReadSentinel(iter__, 40701900)))) {
    1466           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1467           0 :                 return false;
    1468             :             }
    1469           0 :             return true;
    1470             :         }
    1471             :     default:
    1472             :         {
    1473           0 :             FatalError("unknown union type");
    1474           0 :             return false;
    1475             :         }
    1476             :     }
    1477             : }
    1478             : 
    1479           0 : auto PBackgroundIDBDatabaseParent::Write(
    1480             :         const PBackgroundIDBVersionChangeTransactionParent* v__,
    1481             :         Message* msg__,
    1482             :         bool nullable__) -> void
    1483             : {
    1484             :     int32_t id;
    1485           0 :     if ((!(v__))) {
    1486           0 :         if ((!(nullable__))) {
    1487           0 :             FatalError("NULL actor value passed to non-nullable param");
    1488             :         }
    1489           0 :         id = 0;
    1490             :     }
    1491             :     else {
    1492           0 :         id = (v__)->Id();
    1493           0 :         if ((1) == (id)) {
    1494           0 :             FatalError("actor has been |delete|d");
    1495             :         }
    1496             :     }
    1497             : 
    1498           0 :     Write(id, msg__);
    1499           0 : }
    1500             : 
    1501           0 : auto PBackgroundIDBDatabaseParent::Read(
    1502             :         PBackgroundIDBVersionChangeTransactionParent** v__,
    1503             :         const Message* msg__,
    1504             :         PickleIterator* iter__,
    1505             :         bool nullable__) -> bool
    1506             : {
    1507           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PBackgroundIDBVersionChangeTransaction", PBackgroundIDBVersionChangeTransactionMsgStart);
    1508           0 :     if ((actor).isNothing()) {
    1509           0 :         return false;
    1510             :     }
    1511             : 
    1512           0 :     (*(v__)) = static_cast<PBackgroundIDBVersionChangeTransactionParent*>((actor).value());
    1513           0 :     return true;
    1514             : }
    1515             : 
    1516           0 : auto PBackgroundIDBDatabaseParent::Write(
    1517             :         const nsTArray<FileDescriptor>& v__,
    1518             :         Message* msg__) -> void
    1519             : {
    1520           0 :     uint32_t length = (v__).Length();
    1521           0 :     Write(length, msg__);
    1522             :     // Sentinel = ('length', 'FileDescriptor[]')
    1523           0 :     (msg__)->WriteSentinel(1697726450);
    1524             : 
    1525           0 :     for (auto& elem : v__) {
    1526           0 :         Write(elem, msg__);
    1527             :         // Sentinel = 'FileDescriptor[]'
    1528           0 :         (msg__)->WriteSentinel(1630221245);
    1529             :     }
    1530           0 : }
    1531             : 
    1532           0 : auto PBackgroundIDBDatabaseParent::Read(
    1533             :         nsTArray<FileDescriptor>* v__,
    1534             :         const Message* msg__,
    1535             :         PickleIterator* iter__) -> bool
    1536             : {
    1537           0 :     nsTArray<FileDescriptor> fa;
    1538             :     uint32_t length;
    1539           0 :     if ((!(Read((&(length)), msg__, iter__)))) {
    1540           0 :         mozilla::ipc::ArrayLengthReadError("FileDescriptor[]");
    1541           0 :         return false;
    1542             :     }
    1543             :     // Sentinel = ('length', 'FileDescriptor[]')
    1544           0 :     if ((!((msg__)->ReadSentinel(iter__, 1697726450)))) {
    1545           0 :         mozilla::ipc::SentinelReadError("FileDescriptor[]");
    1546           0 :         return false;
    1547             :     }
    1548             : 
    1549           0 :     FileDescriptor* elems = (fa).AppendElements(length);
    1550           0 :     for (uint32_t i = 0; (i) < (length); (++(i))) {
    1551           0 :         if ((!(Read((&(elems[i])), msg__, iter__)))) {
    1552           0 :             FatalError("Error deserializing 'FileDescriptor[i]'");
    1553           0 :             return false;
    1554             :         }
    1555             :         // Sentinel = 'FileDescriptor[]'
    1556           0 :         if ((!((msg__)->ReadSentinel(iter__, 1630221245)))) {
    1557           0 :             mozilla::ipc::SentinelReadError("Error deserializing 'FileDescriptor[i]'");
    1558           0 :             return false;
    1559             :         }
    1560             :     }
    1561           0 :     (v__)->SwapElements(fa);
    1562           0 :     return true;
    1563             : }
    1564             : 
    1565           0 : auto PBackgroundIDBDatabaseParent::Write(
    1566             :         const nsTArray<HeaderEntry>& v__,
    1567             :         Message* msg__) -> void
    1568             : {
    1569           0 :     uint32_t length = (v__).Length();
    1570           0 :     Write(length, msg__);
    1571             :     // Sentinel = ('length', 'HeaderEntry[]')
    1572           0 :     (msg__)->WriteSentinel(2689457705);
    1573             : 
    1574           0 :     for (auto& elem : v__) {
    1575           0 :         Write(elem, msg__);
    1576             :         // Sentinel = 'HeaderEntry[]'
    1577           0 :         (msg__)->WriteSentinel(454836120);
    1578             :     }
    1579           0 : }
    1580             : 
    1581           0 : auto PBackgroundIDBDatabaseParent::Read(
    1582             :         nsTArray<HeaderEntry>* v__,
    1583             :         const Message* msg__,
    1584             :         PickleIterator* iter__) -> bool
    1585             : {
    1586           0 :     nsTArray<HeaderEntry> fa;
    1587             :     uint32_t length;
    1588           0 :     if ((!(Read((&(length)), msg__, iter__)))) {
    1589           0 :         mozilla::ipc::ArrayLengthReadError("HeaderEntry[]");
    1590           0 :         return false;
    1591             :     }
    1592             :     // Sentinel = ('length', 'HeaderEntry[]')
    1593           0 :     if ((!((msg__)->ReadSentinel(iter__, 2689457705)))) {
    1594           0 :         mozilla::ipc::SentinelReadError("HeaderEntry[]");
    1595           0 :         return false;
    1596             :     }
    1597             : 
    1598           0 :     HeaderEntry* elems = (fa).AppendElements(length);
    1599           0 :     for (uint32_t i = 0; (i) < (length); (++(i))) {
    1600           0 :         if ((!(Read((&(elems[i])), msg__, iter__)))) {
    1601           0 :             FatalError("Error deserializing 'HeaderEntry[i]'");
    1602           0 :             return false;
    1603             :         }
    1604             :         // Sentinel = 'HeaderEntry[]'
    1605           0 :         if ((!((msg__)->ReadSentinel(iter__, 454836120)))) {
    1606           0 :             mozilla::ipc::SentinelReadError("Error deserializing 'HeaderEntry[i]'");
    1607           0 :             return false;
    1608             :         }
    1609             :     }
    1610           0 :     (v__)->SwapElements(fa);
    1611           0 :     return true;
    1612             : }
    1613             : 
    1614           0 : auto PBackgroundIDBDatabaseParent::Write(
    1615             :         const SlicedInputStreamParams& v__,
    1616             :         Message* msg__) -> void
    1617             : {
    1618           0 :     Write((v__).stream(), msg__);
    1619             :     // Sentinel = 'stream'
    1620           0 :     (msg__)->WriteSentinel(4152748422);
    1621           0 :     Write((v__).start(), msg__);
    1622             :     // Sentinel = 'start'
    1623           0 :     (msg__)->WriteSentinel(2088644401);
    1624           0 :     Write((v__).length(), msg__);
    1625             :     // Sentinel = 'length'
    1626           0 :     (msg__)->WriteSentinel(1726618354);
    1627           0 :     Write((v__).curPos(), msg__);
    1628             :     // Sentinel = 'curPos'
    1629           0 :     (msg__)->WriteSentinel(4042140974);
    1630           0 :     Write((v__).closed(), msg__);
    1631             :     // Sentinel = 'closed'
    1632           0 :     (msg__)->WriteSentinel(561249462);
    1633           0 : }
    1634             : 
    1635           0 : auto PBackgroundIDBDatabaseParent::Read(
    1636             :         SlicedInputStreamParams* v__,
    1637             :         const Message* msg__,
    1638             :         PickleIterator* iter__) -> bool
    1639             : {
    1640           0 :     if ((!(Read((&((v__)->stream())), msg__, iter__)))) {
    1641           0 :         FatalError("Error deserializing 'stream' (InputStreamParams) member of 'SlicedInputStreamParams'");
    1642           0 :         return false;
    1643             :     }
    1644             :     // Sentinel = 'stream'
    1645           0 :     if ((!((msg__)->ReadSentinel(iter__, 4152748422)))) {
    1646           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'stream' (InputStreamParams) member of 'SlicedInputStreamParams'");
    1647           0 :         return false;
    1648             :     }
    1649           0 :     if ((!(Read((&((v__)->start())), msg__, iter__)))) {
    1650           0 :         FatalError("Error deserializing 'start' (uint64_t) member of 'SlicedInputStreamParams'");
    1651           0 :         return false;
    1652             :     }
    1653             :     // Sentinel = 'start'
    1654           0 :     if ((!((msg__)->ReadSentinel(iter__, 2088644401)))) {
    1655           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'start' (uint64_t) member of 'SlicedInputStreamParams'");
    1656           0 :         return false;
    1657             :     }
    1658           0 :     if ((!(Read((&((v__)->length())), msg__, iter__)))) {
    1659           0 :         FatalError("Error deserializing 'length' (uint64_t) member of 'SlicedInputStreamParams'");
    1660           0 :         return false;
    1661             :     }
    1662             :     // Sentinel = 'length'
    1663           0 :     if ((!((msg__)->ReadSentinel(iter__, 1726618354)))) {
    1664           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'length' (uint64_t) member of 'SlicedInputStreamParams'");
    1665           0 :         return false;
    1666             :     }
    1667           0 :     if ((!(Read((&((v__)->curPos())), msg__, iter__)))) {
    1668           0 :         FatalError("Error deserializing 'curPos' (uint64_t) member of 'SlicedInputStreamParams'");
    1669           0 :         return false;
    1670             :     }
    1671             :     // Sentinel = 'curPos'
    1672           0 :     if ((!((msg__)->ReadSentinel(iter__, 4042140974)))) {
    1673           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'curPos' (uint64_t) member of 'SlicedInputStreamParams'");
    1674           0 :         return false;
    1675             :     }
    1676           0 :     if ((!(Read((&((v__)->closed())), msg__, iter__)))) {
    1677           0 :         FatalError("Error deserializing 'closed' (bool) member of 'SlicedInputStreamParams'");
    1678           0 :         return false;
    1679             :     }
    1680             :     // Sentinel = 'closed'
    1681           0 :     if ((!((msg__)->ReadSentinel(iter__, 561249462)))) {
    1682           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'closed' (bool) member of 'SlicedInputStreamParams'");
    1683           0 :         return false;
    1684             :     }
    1685           0 :     return true;
    1686             : }
    1687             : 
    1688           0 : auto PBackgroundIDBDatabaseParent::Write(
    1689             :         const IPCRemoteStreamType& v__,
    1690             :         Message* msg__) -> void
    1691             : {
    1692             :     typedef IPCRemoteStreamType type__;
    1693           0 :     Write(int((v__).type()), msg__);
    1694             :     // Sentinel = 'IPCRemoteStreamType'
    1695           0 :     (msg__)->WriteSentinel(391674895);
    1696             : 
    1697           0 :     switch ((v__).type()) {
    1698             :     case type__::TPChildToParentStreamParent:
    1699             :         {
    1700           0 :             Write((v__).get_PChildToParentStreamParent(), msg__, false);
    1701             :             // Sentinel = 'TPChildToParentStreamParent'
    1702           0 :             (msg__)->WriteSentinel(2724777622);
    1703           0 :             return;
    1704             :         }
    1705             :     case type__::TPChildToParentStreamChild:
    1706             :         {
    1707           0 :             FatalError("wrong side!");
    1708           0 :             return;
    1709             :         }
    1710             :     case type__::TPParentToChildStreamParent:
    1711             :         {
    1712           0 :             Write((v__).get_PParentToChildStreamParent(), msg__, false);
    1713             :             // Sentinel = 'TPParentToChildStreamParent'
    1714           0 :             (msg__)->WriteSentinel(3335986876);
    1715           0 :             return;
    1716             :         }
    1717             :     case type__::TPParentToChildStreamChild:
    1718             :         {
    1719           0 :             FatalError("wrong side!");
    1720           0 :             return;
    1721             :         }
    1722             :     default:
    1723             :         {
    1724           0 :             FatalError("unknown union type");
    1725           0 :             return;
    1726             :         }
    1727             :     }
    1728             : }
    1729             : 
    1730           0 : auto PBackgroundIDBDatabaseParent::Read(
    1731             :         IPCRemoteStreamType* v__,
    1732             :         const Message* msg__,
    1733             :         PickleIterator* iter__) -> bool
    1734             : {
    1735             :     typedef IPCRemoteStreamType type__;
    1736             :     int type;
    1737           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    1738           0 :         mozilla::ipc::UnionTypeReadError("IPCRemoteStreamType");
    1739           0 :         return false;
    1740             :     }
    1741             :     // Sentinel = 'IPCRemoteStreamType'
    1742           0 :     if ((!((msg__)->ReadSentinel(iter__, 391674895)))) {
    1743           0 :         mozilla::ipc::SentinelReadError("IPCRemoteStreamType");
    1744           0 :         return false;
    1745             :     }
    1746             : 
    1747           0 :     switch (type) {
    1748             :     case type__::TPChildToParentStreamParent:
    1749             :         {
    1750           0 :             return false;
    1751             :         }
    1752             :     case type__::TPChildToParentStreamChild:
    1753             :         {
    1754           0 :             PChildToParentStreamParent* tmp = nullptr;
    1755           0 :             (*(v__)) = tmp;
    1756           0 :             if ((!(Read((&((v__)->get_PChildToParentStreamParent())), msg__, iter__, false)))) {
    1757           0 :                 FatalError("Error deserializing Union type");
    1758           0 :                 return false;
    1759             :             }
    1760             :             // Sentinel = 'TPChildToParentStreamChild'
    1761           0 :             if ((!((msg__)->ReadSentinel(iter__, 1882094295)))) {
    1762           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1763           0 :                 return false;
    1764             :             }
    1765           0 :             return true;
    1766             :         }
    1767             :     case type__::TPParentToChildStreamParent:
    1768             :         {
    1769           0 :             return false;
    1770             :         }
    1771             :     case type__::TPParentToChildStreamChild:
    1772             :         {
    1773           0 :             PParentToChildStreamParent* tmp = nullptr;
    1774           0 :             (*(v__)) = tmp;
    1775           0 :             if ((!(Read((&((v__)->get_PParentToChildStreamParent())), msg__, iter__, false)))) {
    1776           0 :                 FatalError("Error deserializing Union type");
    1777           0 :                 return false;
    1778             :             }
    1779             :             // Sentinel = 'TPParentToChildStreamChild'
    1780           0 :             if ((!((msg__)->ReadSentinel(iter__, 190098493)))) {
    1781           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1782           0 :                 return false;
    1783             :             }
    1784           0 :             return true;
    1785             :         }
    1786             :     default:
    1787             :         {
    1788           0 :             FatalError("unknown union type");
    1789           0 :             return false;
    1790             :         }
    1791             :     }
    1792             : }
    1793             : 
    1794           0 : auto PBackgroundIDBDatabaseParent::Write(
    1795             :         const TemporaryFileInputStreamParams& v__,
    1796             :         Message* msg__) -> void
    1797             : {
    1798           0 :     Write((v__).fileDescriptorIndex(), msg__);
    1799             :     // Sentinel = 'fileDescriptorIndex'
    1800           0 :     (msg__)->WriteSentinel(587329112);
    1801           0 :     Write((v__).startPos(), msg__);
    1802             :     // Sentinel = 'startPos'
    1803           0 :     (msg__)->WriteSentinel(557207962);
    1804           0 :     Write((v__).endPos(), msg__);
    1805             :     // Sentinel = 'endPos'
    1806           0 :     (msg__)->WriteSentinel(881536245);
    1807           0 : }
    1808             : 
    1809           0 : auto PBackgroundIDBDatabaseParent::Read(
    1810             :         TemporaryFileInputStreamParams* v__,
    1811             :         const Message* msg__,
    1812             :         PickleIterator* iter__) -> bool
    1813             : {
    1814           0 :     if ((!(Read((&((v__)->fileDescriptorIndex())), msg__, iter__)))) {
    1815           0 :         FatalError("Error deserializing 'fileDescriptorIndex' (uint32_t) member of 'TemporaryFileInputStreamParams'");
    1816           0 :         return false;
    1817             :     }
    1818             :     // Sentinel = 'fileDescriptorIndex'
    1819           0 :     if ((!((msg__)->ReadSentinel(iter__, 587329112)))) {
    1820           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'fileDescriptorIndex' (uint32_t) member of 'TemporaryFileInputStreamParams'");
    1821           0 :         return false;
    1822             :     }
    1823           0 :     if ((!(Read((&((v__)->startPos())), msg__, iter__)))) {
    1824           0 :         FatalError("Error deserializing 'startPos' (uint64_t) member of 'TemporaryFileInputStreamParams'");
    1825           0 :         return false;
    1826             :     }
    1827             :     // Sentinel = 'startPos'
    1828           0 :     if ((!((msg__)->ReadSentinel(iter__, 557207962)))) {
    1829           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'startPos' (uint64_t) member of 'TemporaryFileInputStreamParams'");
    1830           0 :         return false;
    1831             :     }
    1832           0 :     if ((!(Read((&((v__)->endPos())), msg__, iter__)))) {
    1833           0 :         FatalError("Error deserializing 'endPos' (uint64_t) member of 'TemporaryFileInputStreamParams'");
    1834           0 :         return false;
    1835             :     }
    1836             :     // Sentinel = 'endPos'
    1837           0 :     if ((!((msg__)->ReadSentinel(iter__, 881536245)))) {
    1838           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'endPos' (uint64_t) member of 'TemporaryFileInputStreamParams'");
    1839           0 :         return false;
    1840             :     }
    1841           0 :     return true;
    1842             : }
    1843             : 
    1844           0 : auto PBackgroundIDBDatabaseParent::Write(
    1845             :         const MIMEInputStreamParams& v__,
    1846             :         Message* msg__) -> void
    1847             : {
    1848           0 :     Write((v__).optionalStream(), msg__);
    1849             :     // Sentinel = 'optionalStream'
    1850           0 :     (msg__)->WriteSentinel(1003718562);
    1851           0 :     Write((v__).headers(), msg__);
    1852             :     // Sentinel = 'headers'
    1853           0 :     (msg__)->WriteSentinel(4284175217);
    1854           0 :     Write((v__).startedReading(), msg__);
    1855             :     // Sentinel = 'startedReading'
    1856           0 :     (msg__)->WriteSentinel(1906875903);
    1857           0 : }
    1858             : 
    1859           0 : auto PBackgroundIDBDatabaseParent::Read(
    1860             :         MIMEInputStreamParams* v__,
    1861             :         const Message* msg__,
    1862             :         PickleIterator* iter__) -> bool
    1863             : {
    1864           0 :     if ((!(Read((&((v__)->optionalStream())), msg__, iter__)))) {
    1865           0 :         FatalError("Error deserializing 'optionalStream' (OptionalInputStreamParams) member of 'MIMEInputStreamParams'");
    1866           0 :         return false;
    1867             :     }
    1868             :     // Sentinel = 'optionalStream'
    1869           0 :     if ((!((msg__)->ReadSentinel(iter__, 1003718562)))) {
    1870           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'optionalStream' (OptionalInputStreamParams) member of 'MIMEInputStreamParams'");
    1871           0 :         return false;
    1872             :     }
    1873           0 :     if ((!(Read((&((v__)->headers())), msg__, iter__)))) {
    1874           0 :         FatalError("Error deserializing 'headers' (HeaderEntry[]) member of 'MIMEInputStreamParams'");
    1875           0 :         return false;
    1876             :     }
    1877             :     // Sentinel = 'headers'
    1878           0 :     if ((!((msg__)->ReadSentinel(iter__, 4284175217)))) {
    1879           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'headers' (HeaderEntry[]) member of 'MIMEInputStreamParams'");
    1880           0 :         return false;
    1881             :     }
    1882           0 :     if ((!(Read((&((v__)->startedReading())), msg__, iter__)))) {
    1883           0 :         FatalError("Error deserializing 'startedReading' (bool) member of 'MIMEInputStreamParams'");
    1884           0 :         return false;
    1885             :     }
    1886             :     // Sentinel = 'startedReading'
    1887           0 :     if ((!((msg__)->ReadSentinel(iter__, 1906875903)))) {
    1888           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'startedReading' (bool) member of 'MIMEInputStreamParams'");
    1889           0 :         return false;
    1890             :     }
    1891           0 :     return true;
    1892             : }
    1893             : 
    1894           0 : auto PBackgroundIDBDatabaseParent::Write(
    1895             :         const InputStreamParams& v__,
    1896             :         Message* msg__) -> void
    1897             : {
    1898             :     typedef InputStreamParams type__;
    1899           0 :     Write(int((v__).type()), msg__);
    1900             :     // Sentinel = 'InputStreamParams'
    1901           0 :     (msg__)->WriteSentinel(4114814015);
    1902             : 
    1903           0 :     switch ((v__).type()) {
    1904             :     case type__::TStringInputStreamParams:
    1905             :         {
    1906           0 :             Write((v__).get_StringInputStreamParams(), msg__);
    1907             :             // Sentinel = 'TStringInputStreamParams'
    1908           0 :             (msg__)->WriteSentinel(3395831651);
    1909           0 :             return;
    1910             :         }
    1911             :     case type__::TFileInputStreamParams:
    1912             :         {
    1913           0 :             Write((v__).get_FileInputStreamParams(), msg__);
    1914             :             // Sentinel = 'TFileInputStreamParams'
    1915           0 :             (msg__)->WriteSentinel(2543620282);
    1916           0 :             return;
    1917             :         }
    1918             :     case type__::TTemporaryFileInputStreamParams:
    1919             :         {
    1920           0 :             Write((v__).get_TemporaryFileInputStreamParams(), msg__);
    1921             :             // Sentinel = 'TTemporaryFileInputStreamParams'
    1922           0 :             (msg__)->WriteSentinel(587771548);
    1923           0 :             return;
    1924             :         }
    1925             :     case type__::TBufferedInputStreamParams:
    1926             :         {
    1927           0 :             Write((v__).get_BufferedInputStreamParams(), msg__);
    1928             :             // Sentinel = 'TBufferedInputStreamParams'
    1929           0 :             (msg__)->WriteSentinel(1698289307);
    1930           0 :             return;
    1931             :         }
    1932             :     case type__::TMIMEInputStreamParams:
    1933             :         {
    1934           0 :             Write((v__).get_MIMEInputStreamParams(), msg__);
    1935             :             // Sentinel = 'TMIMEInputStreamParams'
    1936           0 :             (msg__)->WriteSentinel(1948001964);
    1937           0 :             return;
    1938             :         }
    1939             :     case type__::TMultiplexInputStreamParams:
    1940             :         {
    1941           0 :             Write((v__).get_MultiplexInputStreamParams(), msg__);
    1942             :             // Sentinel = 'TMultiplexInputStreamParams'
    1943           0 :             (msg__)->WriteSentinel(3317853213);
    1944           0 :             return;
    1945             :         }
    1946             :     case type__::TSlicedInputStreamParams:
    1947             :         {
    1948           0 :             Write((v__).get_SlicedInputStreamParams(), msg__);
    1949             :             // Sentinel = 'TSlicedInputStreamParams'
    1950           0 :             (msg__)->WriteSentinel(445810472);
    1951           0 :             return;
    1952             :         }
    1953             :     case type__::TIPCBlobInputStreamParams:
    1954             :         {
    1955           0 :             Write((v__).get_IPCBlobInputStreamParams(), msg__);
    1956             :             // Sentinel = 'TIPCBlobInputStreamParams'
    1957           0 :             (msg__)->WriteSentinel(2436989998);
    1958           0 :             return;
    1959             :         }
    1960             :     default:
    1961             :         {
    1962           0 :             FatalError("unknown union type");
    1963           0 :             return;
    1964             :         }
    1965             :     }
    1966             : }
    1967             : 
    1968           0 : auto PBackgroundIDBDatabaseParent::Read(
    1969             :         InputStreamParams* v__,
    1970             :         const Message* msg__,
    1971             :         PickleIterator* iter__) -> bool
    1972             : {
    1973             :     typedef InputStreamParams type__;
    1974             :     int type;
    1975           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    1976           0 :         mozilla::ipc::UnionTypeReadError("InputStreamParams");
    1977           0 :         return false;
    1978             :     }
    1979             :     // Sentinel = 'InputStreamParams'
    1980           0 :     if ((!((msg__)->ReadSentinel(iter__, 4114814015)))) {
    1981           0 :         mozilla::ipc::SentinelReadError("InputStreamParams");
    1982           0 :         return false;
    1983             :     }
    1984             : 
    1985           0 :     switch (type) {
    1986             :     case type__::TStringInputStreamParams:
    1987             :         {
    1988           0 :             StringInputStreamParams tmp = StringInputStreamParams();
    1989           0 :             (*(v__)) = tmp;
    1990           0 :             if ((!(Read((&((v__)->get_StringInputStreamParams())), msg__, iter__)))) {
    1991           0 :                 FatalError("Error deserializing Union type");
    1992           0 :                 return false;
    1993             :             }
    1994             :             // Sentinel = 'TStringInputStreamParams'
    1995           0 :             if ((!((msg__)->ReadSentinel(iter__, 3395831651)))) {
    1996           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    1997           0 :                 return false;
    1998             :             }
    1999           0 :             return true;
    2000             :         }
    2001             :     case type__::TFileInputStreamParams:
    2002             :         {
    2003           0 :             FileInputStreamParams tmp = FileInputStreamParams();
    2004           0 :             (*(v__)) = tmp;
    2005           0 :             if ((!(Read((&((v__)->get_FileInputStreamParams())), msg__, iter__)))) {
    2006           0 :                 FatalError("Error deserializing Union type");
    2007           0 :                 return false;
    2008             :             }
    2009             :             // Sentinel = 'TFileInputStreamParams'
    2010           0 :             if ((!((msg__)->ReadSentinel(iter__, 2543620282)))) {
    2011           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2012           0 :                 return false;
    2013             :             }
    2014           0 :             return true;
    2015             :         }
    2016             :     case type__::TTemporaryFileInputStreamParams:
    2017             :         {
    2018           0 :             TemporaryFileInputStreamParams tmp = TemporaryFileInputStreamParams();
    2019           0 :             (*(v__)) = tmp;
    2020           0 :             if ((!(Read((&((v__)->get_TemporaryFileInputStreamParams())), msg__, iter__)))) {
    2021           0 :                 FatalError("Error deserializing Union type");
    2022           0 :                 return false;
    2023             :             }
    2024             :             // Sentinel = 'TTemporaryFileInputStreamParams'
    2025           0 :             if ((!((msg__)->ReadSentinel(iter__, 587771548)))) {
    2026           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2027           0 :                 return false;
    2028             :             }
    2029           0 :             return true;
    2030             :         }
    2031             :     case type__::TBufferedInputStreamParams:
    2032             :         {
    2033           0 :             BufferedInputStreamParams tmp = BufferedInputStreamParams();
    2034           0 :             (*(v__)) = tmp;
    2035           0 :             if ((!(Read((&((v__)->get_BufferedInputStreamParams())), msg__, iter__)))) {
    2036           0 :                 FatalError("Error deserializing Union type");
    2037           0 :                 return false;
    2038             :             }
    2039             :             // Sentinel = 'TBufferedInputStreamParams'
    2040           0 :             if ((!((msg__)->ReadSentinel(iter__, 1698289307)))) {
    2041           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2042           0 :                 return false;
    2043             :             }
    2044           0 :             return true;
    2045             :         }
    2046             :     case type__::TMIMEInputStreamParams:
    2047             :         {
    2048           0 :             MIMEInputStreamParams tmp = MIMEInputStreamParams();
    2049           0 :             (*(v__)) = tmp;
    2050           0 :             if ((!(Read((&((v__)->get_MIMEInputStreamParams())), msg__, iter__)))) {
    2051           0 :                 FatalError("Error deserializing Union type");
    2052           0 :                 return false;
    2053             :             }
    2054             :             // Sentinel = 'TMIMEInputStreamParams'
    2055           0 :             if ((!((msg__)->ReadSentinel(iter__, 1948001964)))) {
    2056           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2057           0 :                 return false;
    2058             :             }
    2059           0 :             return true;
    2060             :         }
    2061             :     case type__::TMultiplexInputStreamParams:
    2062             :         {
    2063           0 :             MultiplexInputStreamParams tmp = MultiplexInputStreamParams();
    2064           0 :             (*(v__)) = tmp;
    2065           0 :             if ((!(Read((&((v__)->get_MultiplexInputStreamParams())), msg__, iter__)))) {
    2066           0 :                 FatalError("Error deserializing Union type");
    2067           0 :                 return false;
    2068             :             }
    2069             :             // Sentinel = 'TMultiplexInputStreamParams'
    2070           0 :             if ((!((msg__)->ReadSentinel(iter__, 3317853213)))) {
    2071           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2072           0 :                 return false;
    2073             :             }
    2074           0 :             return true;
    2075             :         }
    2076             :     case type__::TSlicedInputStreamParams:
    2077             :         {
    2078           0 :             SlicedInputStreamParams tmp = SlicedInputStreamParams();
    2079           0 :             (*(v__)) = tmp;
    2080           0 :             if ((!(Read((&((v__)->get_SlicedInputStreamParams())), msg__, iter__)))) {
    2081           0 :                 FatalError("Error deserializing Union type");
    2082           0 :                 return false;
    2083             :             }
    2084             :             // Sentinel = 'TSlicedInputStreamParams'
    2085           0 :             if ((!((msg__)->ReadSentinel(iter__, 445810472)))) {
    2086           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2087           0 :                 return false;
    2088             :             }
    2089           0 :             return true;
    2090             :         }
    2091             :     case type__::TIPCBlobInputStreamParams:
    2092             :         {
    2093           0 :             IPCBlobInputStreamParams tmp = IPCBlobInputStreamParams();
    2094           0 :             (*(v__)) = tmp;
    2095           0 :             if ((!(Read((&((v__)->get_IPCBlobInputStreamParams())), msg__, iter__)))) {
    2096           0 :                 FatalError("Error deserializing Union type");
    2097           0 :                 return false;
    2098             :             }
    2099             :             // Sentinel = 'TIPCBlobInputStreamParams'
    2100           0 :             if ((!((msg__)->ReadSentinel(iter__, 2436989998)))) {
    2101           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2102           0 :                 return false;
    2103             :             }
    2104           0 :             return true;
    2105             :         }
    2106             :     default:
    2107             :         {
    2108           0 :             FatalError("unknown union type");
    2109           0 :             return false;
    2110             :         }
    2111             :     }
    2112             : }
    2113             : 
    2114           0 : auto PBackgroundIDBDatabaseParent::Write(
    2115             :         const PParentToChildStreamParent* v__,
    2116             :         Message* msg__,
    2117             :         bool nullable__) -> void
    2118             : {
    2119             :     int32_t id;
    2120           0 :     if ((!(v__))) {
    2121           0 :         if ((!(nullable__))) {
    2122           0 :             FatalError("NULL actor value passed to non-nullable param");
    2123             :         }
    2124           0 :         id = 0;
    2125             :     }
    2126             :     else {
    2127           0 :         id = (v__)->Id();
    2128           0 :         if ((1) == (id)) {
    2129           0 :             FatalError("actor has been |delete|d");
    2130             :         }
    2131             :     }
    2132             : 
    2133           0 :     Write(id, msg__);
    2134           0 : }
    2135             : 
    2136           0 : auto PBackgroundIDBDatabaseParent::Read(
    2137             :         PParentToChildStreamParent** v__,
    2138             :         const Message* msg__,
    2139             :         PickleIterator* iter__,
    2140             :         bool nullable__) -> bool
    2141             : {
    2142           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PParentToChildStream", PParentToChildStreamMsgStart);
    2143           0 :     if ((actor).isNothing()) {
    2144           0 :         return false;
    2145             :     }
    2146             : 
    2147           0 :     (*(v__)) = static_cast<PParentToChildStreamParent*>((actor).value());
    2148           0 :     return true;
    2149             : }
    2150             : 
    2151           0 : auto PBackgroundIDBDatabaseParent::Write(
    2152             :         const CreateFileParams& v__,
    2153             :         Message* msg__) -> void
    2154             : {
    2155           0 :     Write((v__).name(), msg__);
    2156             :     // Sentinel = 'name'
    2157           0 :     (msg__)->WriteSentinel(15034981);
    2158           0 :     Write((v__).type(), msg__);
    2159             :     // Sentinel = 'type'
    2160           0 :     (msg__)->WriteSentinel(2982068540);
    2161           0 : }
    2162             : 
    2163           0 : auto PBackgroundIDBDatabaseParent::Read(
    2164             :         CreateFileParams* v__,
    2165             :         const Message* msg__,
    2166             :         PickleIterator* iter__) -> bool
    2167             : {
    2168           0 :     if ((!(Read((&((v__)->name())), msg__, iter__)))) {
    2169           0 :         FatalError("Error deserializing 'name' (nsString) member of 'CreateFileParams'");
    2170           0 :         return false;
    2171             :     }
    2172             :     // Sentinel = 'name'
    2173           0 :     if ((!((msg__)->ReadSentinel(iter__, 15034981)))) {
    2174           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'name' (nsString) member of 'CreateFileParams'");
    2175           0 :         return false;
    2176             :     }
    2177           0 :     if ((!(Read((&((v__)->type())), msg__, iter__)))) {
    2178           0 :         FatalError("Error deserializing 'type' (nsString) member of 'CreateFileParams'");
    2179           0 :         return false;
    2180             :     }
    2181             :     // Sentinel = 'type'
    2182           0 :     if ((!((msg__)->ReadSentinel(iter__, 2982068540)))) {
    2183           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'type' (nsString) member of 'CreateFileParams'");
    2184           0 :         return false;
    2185             :     }
    2186           0 :     return true;
    2187             : }
    2188             : 
    2189           0 : auto PBackgroundIDBDatabaseParent::Write(
    2190             :         const IPCStream& v__,
    2191             :         Message* msg__) -> void
    2192             : {
    2193             :     typedef IPCStream type__;
    2194           0 :     Write(int((v__).type()), msg__);
    2195             :     // Sentinel = 'IPCStream'
    2196           0 :     (msg__)->WriteSentinel(442610715);
    2197             : 
    2198           0 :     switch ((v__).type()) {
    2199             :     case type__::TInputStreamParamsWithFds:
    2200             :         {
    2201           0 :             Write((v__).get_InputStreamParamsWithFds(), msg__);
    2202             :             // Sentinel = 'TInputStreamParamsWithFds'
    2203           0 :             (msg__)->WriteSentinel(2170706066);
    2204           0 :             return;
    2205             :         }
    2206             :     case type__::TIPCRemoteStream:
    2207             :         {
    2208           0 :             Write((v__).get_IPCRemoteStream(), msg__);
    2209             :             // Sentinel = 'TIPCRemoteStream'
    2210           0 :             (msg__)->WriteSentinel(2978132448);
    2211           0 :             return;
    2212             :         }
    2213             :     default:
    2214             :         {
    2215           0 :             FatalError("unknown union type");
    2216           0 :             return;
    2217             :         }
    2218             :     }
    2219             : }
    2220             : 
    2221           0 : auto PBackgroundIDBDatabaseParent::Read(
    2222             :         IPCStream* v__,
    2223             :         const Message* msg__,
    2224             :         PickleIterator* iter__) -> bool
    2225             : {
    2226             :     typedef IPCStream type__;
    2227             :     int type;
    2228           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    2229           0 :         mozilla::ipc::UnionTypeReadError("IPCStream");
    2230           0 :         return false;
    2231             :     }
    2232             :     // Sentinel = 'IPCStream'
    2233           0 :     if ((!((msg__)->ReadSentinel(iter__, 442610715)))) {
    2234           0 :         mozilla::ipc::SentinelReadError("IPCStream");
    2235           0 :         return false;
    2236             :     }
    2237             : 
    2238           0 :     switch (type) {
    2239             :     case type__::TInputStreamParamsWithFds:
    2240             :         {
    2241           0 :             InputStreamParamsWithFds tmp = InputStreamParamsWithFds();
    2242           0 :             (*(v__)) = tmp;
    2243           0 :             if ((!(Read((&((v__)->get_InputStreamParamsWithFds())), msg__, iter__)))) {
    2244           0 :                 FatalError("Error deserializing Union type");
    2245           0 :                 return false;
    2246             :             }
    2247             :             // Sentinel = 'TInputStreamParamsWithFds'
    2248           0 :             if ((!((msg__)->ReadSentinel(iter__, 2170706066)))) {
    2249           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2250           0 :                 return false;
    2251             :             }
    2252           0 :             return true;
    2253             :         }
    2254             :     case type__::TIPCRemoteStream:
    2255             :         {
    2256           0 :             IPCRemoteStream tmp = IPCRemoteStream();
    2257           0 :             (*(v__)) = tmp;
    2258           0 :             if ((!(Read((&((v__)->get_IPCRemoteStream())), msg__, iter__)))) {
    2259           0 :                 FatalError("Error deserializing Union type");
    2260           0 :                 return false;
    2261             :             }
    2262             :             // Sentinel = 'TIPCRemoteStream'
    2263           0 :             if ((!((msg__)->ReadSentinel(iter__, 2978132448)))) {
    2264           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2265           0 :                 return false;
    2266             :             }
    2267           0 :             return true;
    2268             :         }
    2269             :     default:
    2270             :         {
    2271           0 :             FatalError("unknown union type");
    2272           0 :             return false;
    2273             :         }
    2274             :     }
    2275             : }
    2276             : 
    2277           0 : auto PBackgroundIDBDatabaseParent::Write(
    2278             :         const StringInputStreamParams& v__,
    2279             :         Message* msg__) -> void
    2280             : {
    2281           0 :     Write((v__).data(), msg__);
    2282             :     // Sentinel = 'data'
    2283           0 :     (msg__)->WriteSentinel(843352540);
    2284           0 : }
    2285             : 
    2286           0 : auto PBackgroundIDBDatabaseParent::Read(
    2287             :         StringInputStreamParams* v__,
    2288             :         const Message* msg__,
    2289             :         PickleIterator* iter__) -> bool
    2290             : {
    2291           0 :     if ((!(Read((&((v__)->data())), msg__, iter__)))) {
    2292           0 :         FatalError("Error deserializing 'data' (nsCString) member of 'StringInputStreamParams'");
    2293           0 :         return false;
    2294             :     }
    2295             :     // Sentinel = 'data'
    2296           0 :     if ((!((msg__)->ReadSentinel(iter__, 843352540)))) {
    2297           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'data' (nsCString) member of 'StringInputStreamParams'");
    2298           0 :         return false;
    2299             :     }
    2300           0 :     return true;
    2301             : }
    2302             : 
    2303           0 : auto PBackgroundIDBDatabaseParent::Write(
    2304             :         const MultiplexInputStreamParams& v__,
    2305             :         Message* msg__) -> void
    2306             : {
    2307           0 :     Write((v__).streams(), msg__);
    2308             :     // Sentinel = 'streams'
    2309           0 :     (msg__)->WriteSentinel(4240383220);
    2310           0 :     Write((v__).currentStream(), msg__);
    2311             :     // Sentinel = 'currentStream'
    2312           0 :     (msg__)->WriteSentinel(682778074);
    2313           0 :     Write((v__).status(), msg__);
    2314             :     // Sentinel = 'status'
    2315           0 :     (msg__)->WriteSentinel(3714608576);
    2316           0 :     Write((v__).startedReadingCurrent(), msg__);
    2317             :     // Sentinel = 'startedReadingCurrent'
    2318           0 :     (msg__)->WriteSentinel(970542033);
    2319           0 : }
    2320             : 
    2321           0 : auto PBackgroundIDBDatabaseParent::Read(
    2322             :         MultiplexInputStreamParams* v__,
    2323             :         const Message* msg__,
    2324             :         PickleIterator* iter__) -> bool
    2325             : {
    2326           0 :     if ((!(Read((&((v__)->streams())), msg__, iter__)))) {
    2327           0 :         FatalError("Error deserializing 'streams' (InputStreamParams[]) member of 'MultiplexInputStreamParams'");
    2328           0 :         return false;
    2329             :     }
    2330             :     // Sentinel = 'streams'
    2331           0 :     if ((!((msg__)->ReadSentinel(iter__, 4240383220)))) {
    2332           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'streams' (InputStreamParams[]) member of 'MultiplexInputStreamParams'");
    2333           0 :         return false;
    2334             :     }
    2335           0 :     if ((!(Read((&((v__)->currentStream())), msg__, iter__)))) {
    2336           0 :         FatalError("Error deserializing 'currentStream' (uint32_t) member of 'MultiplexInputStreamParams'");
    2337           0 :         return false;
    2338             :     }
    2339             :     // Sentinel = 'currentStream'
    2340           0 :     if ((!((msg__)->ReadSentinel(iter__, 682778074)))) {
    2341           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'currentStream' (uint32_t) member of 'MultiplexInputStreamParams'");
    2342           0 :         return false;
    2343             :     }
    2344           0 :     if ((!(Read((&((v__)->status())), msg__, iter__)))) {
    2345           0 :         FatalError("Error deserializing 'status' (nsresult) member of 'MultiplexInputStreamParams'");
    2346           0 :         return false;
    2347             :     }
    2348             :     // Sentinel = 'status'
    2349           0 :     if ((!((msg__)->ReadSentinel(iter__, 3714608576)))) {
    2350           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'status' (nsresult) member of 'MultiplexInputStreamParams'");
    2351           0 :         return false;
    2352             :     }
    2353           0 :     if ((!(Read((&((v__)->startedReadingCurrent())), msg__, iter__)))) {
    2354           0 :         FatalError("Error deserializing 'startedReadingCurrent' (bool) member of 'MultiplexInputStreamParams'");
    2355           0 :         return false;
    2356             :     }
    2357             :     // Sentinel = 'startedReadingCurrent'
    2358           0 :     if ((!((msg__)->ReadSentinel(iter__, 970542033)))) {
    2359           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'startedReadingCurrent' (bool) member of 'MultiplexInputStreamParams'");
    2360           0 :         return false;
    2361             :     }
    2362           0 :     return true;
    2363             : }
    2364             : 
    2365           0 : auto PBackgroundIDBDatabaseParent::Write(
    2366             :         const PFileDescriptorSetParent* v__,
    2367             :         Message* msg__,
    2368             :         bool nullable__) -> void
    2369             : {
    2370             :     int32_t id;
    2371           0 :     if ((!(v__))) {
    2372           0 :         if ((!(nullable__))) {
    2373           0 :             FatalError("NULL actor value passed to non-nullable param");
    2374             :         }
    2375           0 :         id = 0;
    2376             :     }
    2377             :     else {
    2378           0 :         id = (v__)->Id();
    2379           0 :         if ((1) == (id)) {
    2380           0 :             FatalError("actor has been |delete|d");
    2381             :         }
    2382             :     }
    2383             : 
    2384           0 :     Write(id, msg__);
    2385           0 : }
    2386             : 
    2387           0 : auto PBackgroundIDBDatabaseParent::Read(
    2388             :         PFileDescriptorSetParent** v__,
    2389             :         const Message* msg__,
    2390             :         PickleIterator* iter__,
    2391             :         bool nullable__) -> bool
    2392             : {
    2393           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PFileDescriptorSet", PFileDescriptorSetMsgStart);
    2394           0 :     if ((actor).isNothing()) {
    2395           0 :         return false;
    2396             :     }
    2397             : 
    2398           0 :     (*(v__)) = static_cast<PFileDescriptorSetParent*>((actor).value());
    2399           0 :     return true;
    2400             : }
    2401             : 
    2402           0 : auto PBackgroundIDBDatabaseParent::Write(
    2403             :         const PIPCBlobInputStreamParent* v__,
    2404             :         Message* msg__,
    2405             :         bool nullable__) -> void
    2406             : {
    2407             :     int32_t id;
    2408           0 :     if ((!(v__))) {
    2409           0 :         if ((!(nullable__))) {
    2410           0 :             FatalError("NULL actor value passed to non-nullable param");
    2411             :         }
    2412           0 :         id = 0;
    2413             :     }
    2414             :     else {
    2415           0 :         id = (v__)->Id();
    2416           0 :         if ((1) == (id)) {
    2417           0 :             FatalError("actor has been |delete|d");
    2418             :         }
    2419             :     }
    2420             : 
    2421           0 :     Write(id, msg__);
    2422           0 : }
    2423             : 
    2424           0 : auto PBackgroundIDBDatabaseParent::Read(
    2425             :         PIPCBlobInputStreamParent** v__,
    2426             :         const Message* msg__,
    2427             :         PickleIterator* iter__,
    2428             :         bool nullable__) -> bool
    2429             : {
    2430           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PIPCBlobInputStream", PIPCBlobInputStreamMsgStart);
    2431           0 :     if ((actor).isNothing()) {
    2432           0 :         return false;
    2433             :     }
    2434             : 
    2435           0 :     (*(v__)) = static_cast<PIPCBlobInputStreamParent*>((actor).value());
    2436           0 :     return true;
    2437             : }
    2438             : 
    2439           0 : auto PBackgroundIDBDatabaseParent::Write(
    2440             :         const OptionalFileDescriptorSet& v__,
    2441             :         Message* msg__) -> void
    2442             : {
    2443             :     typedef OptionalFileDescriptorSet type__;
    2444           0 :     Write(int((v__).type()), msg__);
    2445             :     // Sentinel = 'OptionalFileDescriptorSet'
    2446           0 :     (msg__)->WriteSentinel(955222862);
    2447             : 
    2448           0 :     switch ((v__).type()) {
    2449             :     case type__::TPFileDescriptorSetParent:
    2450             :         {
    2451           0 :             Write((v__).get_PFileDescriptorSetParent(), msg__, false);
    2452             :             // Sentinel = 'TPFileDescriptorSetParent'
    2453           0 :             (msg__)->WriteSentinel(143041934);
    2454           0 :             return;
    2455             :         }
    2456             :     case type__::TPFileDescriptorSetChild:
    2457             :         {
    2458           0 :             FatalError("wrong side!");
    2459           0 :             return;
    2460             :         }
    2461             :     case type__::TArrayOfFileDescriptor:
    2462             :         {
    2463           0 :             Write((v__).get_ArrayOfFileDescriptor(), msg__);
    2464             :             // Sentinel = 'TArrayOfFileDescriptor'
    2465           0 :             (msg__)->WriteSentinel(2366096715);
    2466           0 :             return;
    2467             :         }
    2468             :     case type__::Tvoid_t:
    2469             :         {
    2470           0 :             Write((v__).get_void_t(), msg__);
    2471             :             // Sentinel = 'Tvoid_t'
    2472           0 :             (msg__)->WriteSentinel(3041273328);
    2473           0 :             return;
    2474             :         }
    2475             :     default:
    2476             :         {
    2477           0 :             FatalError("unknown union type");
    2478           0 :             return;
    2479             :         }
    2480             :     }
    2481             : }
    2482             : 
    2483           0 : auto PBackgroundIDBDatabaseParent::Read(
    2484             :         OptionalFileDescriptorSet* v__,
    2485             :         const Message* msg__,
    2486             :         PickleIterator* iter__) -> bool
    2487             : {
    2488             :     typedef OptionalFileDescriptorSet type__;
    2489             :     int type;
    2490           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    2491           0 :         mozilla::ipc::UnionTypeReadError("OptionalFileDescriptorSet");
    2492           0 :         return false;
    2493             :     }
    2494             :     // Sentinel = 'OptionalFileDescriptorSet'
    2495           0 :     if ((!((msg__)->ReadSentinel(iter__, 955222862)))) {
    2496           0 :         mozilla::ipc::SentinelReadError("OptionalFileDescriptorSet");
    2497           0 :         return false;
    2498             :     }
    2499             : 
    2500           0 :     switch (type) {
    2501             :     case type__::TPFileDescriptorSetParent:
    2502             :         {
    2503           0 :             return false;
    2504             :         }
    2505             :     case type__::TPFileDescriptorSetChild:
    2506             :         {
    2507           0 :             PFileDescriptorSetParent* tmp = nullptr;
    2508           0 :             (*(v__)) = tmp;
    2509           0 :             if ((!(Read((&((v__)->get_PFileDescriptorSetParent())), msg__, iter__, false)))) {
    2510           0 :                 FatalError("Error deserializing Union type");
    2511           0 :                 return false;
    2512             :             }
    2513             :             // Sentinel = 'TPFileDescriptorSetChild'
    2514           0 :             if ((!((msg__)->ReadSentinel(iter__, 3477929935)))) {
    2515           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2516           0 :                 return false;
    2517             :             }
    2518           0 :             return true;
    2519             :         }
    2520             :     case type__::TArrayOfFileDescriptor:
    2521             :         {
    2522           0 :             nsTArray<FileDescriptor> tmp;
    2523           0 :             (*(v__)) = tmp;
    2524           0 :             if ((!(Read((&((v__)->get_ArrayOfFileDescriptor())), msg__, iter__)))) {
    2525           0 :                 FatalError("Error deserializing Union type");
    2526           0 :                 return false;
    2527             :             }
    2528             :             // Sentinel = 'TArrayOfFileDescriptor'
    2529           0 :             if ((!((msg__)->ReadSentinel(iter__, 2366096715)))) {
    2530           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2531           0 :                 return false;
    2532             :             }
    2533           0 :             return true;
    2534             :         }
    2535             :     case type__::Tvoid_t:
    2536             :         {
    2537             :             void_t tmp = void_t();
    2538           0 :             (*(v__)) = tmp;
    2539           0 :             if ((!(Read((&((v__)->get_void_t())), msg__, iter__)))) {
    2540           0 :                 FatalError("Error deserializing Union type");
    2541           0 :                 return false;
    2542             :             }
    2543             :             // Sentinel = 'Tvoid_t'
    2544           0 :             if ((!((msg__)->ReadSentinel(iter__, 3041273328)))) {
    2545           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2546           0 :                 return false;
    2547             :             }
    2548           0 :             return true;
    2549             :         }
    2550             :     default:
    2551             :         {
    2552           0 :             FatalError("unknown union type");
    2553           0 :             return false;
    2554             :         }
    2555             :     }
    2556             : }
    2557             : 
    2558           0 : auto PBackgroundIDBDatabaseParent::Write(
    2559             :         const NullableVersion& v__,
    2560             :         Message* msg__) -> void
    2561             : {
    2562             :     typedef NullableVersion type__;
    2563           0 :     Write(int((v__).type()), msg__);
    2564             :     // Sentinel = 'NullableVersion'
    2565           0 :     (msg__)->WriteSentinel(2984191162);
    2566             : 
    2567           0 :     switch ((v__).type()) {
    2568             :     case type__::Tnull_t:
    2569             :         {
    2570           0 :             Write((v__).get_null_t(), msg__);
    2571             :             // Sentinel = 'Tnull_t'
    2572           0 :             (msg__)->WriteSentinel(3731137201);
    2573           0 :             return;
    2574             :         }
    2575             :     case type__::Tuint64_t:
    2576             :         {
    2577           0 :             Write((v__).get_uint64_t(), msg__);
    2578             :             // Sentinel = 'Tuint64_t'
    2579           0 :             (msg__)->WriteSentinel(1935076742);
    2580           0 :             return;
    2581             :         }
    2582             :     default:
    2583             :         {
    2584           0 :             FatalError("unknown union type");
    2585           0 :             return;
    2586             :         }
    2587             :     }
    2588             : }
    2589             : 
    2590           0 : auto PBackgroundIDBDatabaseParent::Read(
    2591             :         NullableVersion* v__,
    2592             :         const Message* msg__,
    2593             :         PickleIterator* iter__) -> bool
    2594             : {
    2595             :     typedef NullableVersion type__;
    2596             :     int type;
    2597           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    2598           0 :         mozilla::ipc::UnionTypeReadError("NullableVersion");
    2599           0 :         return false;
    2600             :     }
    2601             :     // Sentinel = 'NullableVersion'
    2602           0 :     if ((!((msg__)->ReadSentinel(iter__, 2984191162)))) {
    2603           0 :         mozilla::ipc::SentinelReadError("NullableVersion");
    2604           0 :         return false;
    2605             :     }
    2606             : 
    2607           0 :     switch (type) {
    2608             :     case type__::Tnull_t:
    2609             :         {
    2610             :             null_t tmp = null_t();
    2611           0 :             (*(v__)) = tmp;
    2612           0 :             if ((!(Read((&((v__)->get_null_t())), msg__, iter__)))) {
    2613           0 :                 FatalError("Error deserializing Union type");
    2614           0 :                 return false;
    2615             :             }
    2616             :             // Sentinel = 'Tnull_t'
    2617           0 :             if ((!((msg__)->ReadSentinel(iter__, 3731137201)))) {
    2618           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2619           0 :                 return false;
    2620             :             }
    2621           0 :             return true;
    2622             :         }
    2623             :     case type__::Tuint64_t:
    2624             :         {
    2625           0 :             uint64_t tmp = uint64_t();
    2626           0 :             (*(v__)) = tmp;
    2627           0 :             if ((!(Read((&((v__)->get_uint64_t())), msg__, iter__)))) {
    2628           0 :                 FatalError("Error deserializing Union type");
    2629           0 :                 return false;
    2630             :             }
    2631             :             // Sentinel = 'Tuint64_t'
    2632           0 :             if ((!((msg__)->ReadSentinel(iter__, 1935076742)))) {
    2633           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2634           0 :                 return false;
    2635             :             }
    2636           0 :             return true;
    2637             :         }
    2638             :     default:
    2639             :         {
    2640           0 :             FatalError("unknown union type");
    2641           0 :             return false;
    2642             :         }
    2643             :     }
    2644             : }
    2645             : 
    2646           0 : auto PBackgroundIDBDatabaseParent::Write(
    2647             :         const PBackgroundIDBDatabaseFileParent* v__,
    2648             :         Message* msg__,
    2649             :         bool nullable__) -> void
    2650             : {
    2651             :     int32_t id;
    2652           0 :     if ((!(v__))) {
    2653           0 :         if ((!(nullable__))) {
    2654           0 :             FatalError("NULL actor value passed to non-nullable param");
    2655             :         }
    2656           0 :         id = 0;
    2657             :     }
    2658             :     else {
    2659           0 :         id = (v__)->Id();
    2660           0 :         if ((1) == (id)) {
    2661           0 :             FatalError("actor has been |delete|d");
    2662             :         }
    2663             :     }
    2664             : 
    2665           0 :     Write(id, msg__);
    2666           0 : }
    2667             : 
    2668           0 : auto PBackgroundIDBDatabaseParent::Read(
    2669             :         PBackgroundIDBDatabaseFileParent** v__,
    2670             :         const Message* msg__,
    2671             :         PickleIterator* iter__,
    2672             :         bool nullable__) -> bool
    2673             : {
    2674           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PBackgroundIDBDatabaseFile", PBackgroundIDBDatabaseFileMsgStart);
    2675           0 :     if ((actor).isNothing()) {
    2676           0 :         return false;
    2677             :     }
    2678             : 
    2679           0 :     (*(v__)) = static_cast<PBackgroundIDBDatabaseFileParent*>((actor).value());
    2680           0 :     return true;
    2681             : }
    2682             : 
    2683           0 : auto PBackgroundIDBDatabaseParent::Write(
    2684             :         const IPCBlob& v__,
    2685             :         Message* msg__) -> void
    2686             : {
    2687           0 :     Write((v__).type(), msg__);
    2688             :     // Sentinel = 'type'
    2689           0 :     (msg__)->WriteSentinel(2982068540);
    2690           0 :     Write((v__).size(), msg__);
    2691             :     // Sentinel = 'size'
    2692           0 :     (msg__)->WriteSentinel(931048223);
    2693           0 :     Write((v__).inputStream(), msg__);
    2694             :     // Sentinel = 'inputStream'
    2695           0 :     (msg__)->WriteSentinel(2684883823);
    2696           0 :     Write((v__).file(), msg__);
    2697             :     // Sentinel = 'file'
    2698           0 :     (msg__)->WriteSentinel(224874390);
    2699           0 :     Write((v__).fileId(), msg__);
    2700             :     // Sentinel = 'fileId'
    2701           0 :     (msg__)->WriteSentinel(108004447);
    2702           0 : }
    2703             : 
    2704           0 : auto PBackgroundIDBDatabaseParent::Read(
    2705             :         IPCBlob* v__,
    2706             :         const Message* msg__,
    2707             :         PickleIterator* iter__) -> bool
    2708             : {
    2709           0 :     if ((!(Read((&((v__)->type())), msg__, iter__)))) {
    2710           0 :         FatalError("Error deserializing 'type' (nsString) member of 'IPCBlob'");
    2711           0 :         return false;
    2712             :     }
    2713             :     // Sentinel = 'type'
    2714           0 :     if ((!((msg__)->ReadSentinel(iter__, 2982068540)))) {
    2715           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'type' (nsString) member of 'IPCBlob'");
    2716           0 :         return false;
    2717             :     }
    2718           0 :     if ((!(Read((&((v__)->size())), msg__, iter__)))) {
    2719           0 :         FatalError("Error deserializing 'size' (uint64_t) member of 'IPCBlob'");
    2720           0 :         return false;
    2721             :     }
    2722             :     // Sentinel = 'size'
    2723           0 :     if ((!((msg__)->ReadSentinel(iter__, 931048223)))) {
    2724           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'size' (uint64_t) member of 'IPCBlob'");
    2725           0 :         return false;
    2726             :     }
    2727           0 :     if ((!(Read((&((v__)->inputStream())), msg__, iter__)))) {
    2728           0 :         FatalError("Error deserializing 'inputStream' (IPCBlobStream) member of 'IPCBlob'");
    2729           0 :         return false;
    2730             :     }
    2731             :     // Sentinel = 'inputStream'
    2732           0 :     if ((!((msg__)->ReadSentinel(iter__, 2684883823)))) {
    2733           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'inputStream' (IPCBlobStream) member of 'IPCBlob'");
    2734           0 :         return false;
    2735             :     }
    2736           0 :     if ((!(Read((&((v__)->file())), msg__, iter__)))) {
    2737           0 :         FatalError("Error deserializing 'file' (IPCFileUnion) member of 'IPCBlob'");
    2738           0 :         return false;
    2739             :     }
    2740             :     // Sentinel = 'file'
    2741           0 :     if ((!((msg__)->ReadSentinel(iter__, 224874390)))) {
    2742           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'file' (IPCFileUnion) member of 'IPCBlob'");
    2743           0 :         return false;
    2744             :     }
    2745           0 :     if ((!(Read((&((v__)->fileId())), msg__, iter__)))) {
    2746           0 :         FatalError("Error deserializing 'fileId' (int64_t) member of 'IPCBlob'");
    2747           0 :         return false;
    2748             :     }
    2749             :     // Sentinel = 'fileId'
    2750           0 :     if ((!((msg__)->ReadSentinel(iter__, 108004447)))) {
    2751           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'fileId' (int64_t) member of 'IPCBlob'");
    2752           0 :         return false;
    2753             :     }
    2754           0 :     return true;
    2755             : }
    2756             : 
    2757           0 : auto PBackgroundIDBDatabaseParent::Write(
    2758             :         const FileDescriptor& v__,
    2759             :         Message* msg__) -> void
    2760             : {
    2761           0 :     FileDescriptor::PickleType pfd = (v__).ShareTo(FileDescriptor::IPDLPrivate(), OtherPid());
    2762           0 :     IPC::WriteParam(msg__, pfd);
    2763           0 : }
    2764             : 
    2765           0 : auto PBackgroundIDBDatabaseParent::Read(
    2766             :         FileDescriptor* v__,
    2767             :         const Message* msg__,
    2768             :         PickleIterator* iter__) -> bool
    2769             : {
    2770           0 :     FileDescriptor::PickleType pfd;
    2771           0 :     if ((!(IPC::ReadParam(msg__, iter__, (&(pfd)))))) {
    2772           0 :         return false;
    2773             :     }
    2774             : 
    2775           0 :     FileDescriptor fd = FileDescriptor(FileDescriptor::IPDLPrivate(), pfd);
    2776           0 :     if ((!((fd).IsValid()))) {
    2777           0 :         mozilla::ipc::ProtocolErrorBreakpoint("[PBackgroundIDBDatabaseParent] Received an invalid file descriptor!");
    2778             :     }
    2779             : 
    2780           0 :     (*(v__)) = fd;
    2781           0 :     return true;
    2782             : }
    2783             : 
    2784           0 : auto PBackgroundIDBDatabaseParent::Write(
    2785             :         const BufferedInputStreamParams& v__,
    2786             :         Message* msg__) -> void
    2787             : {
    2788           0 :     Write((v__).optionalStream(), msg__);
    2789             :     // Sentinel = 'optionalStream'
    2790           0 :     (msg__)->WriteSentinel(1003718562);
    2791           0 :     Write((v__).bufferSize(), msg__);
    2792             :     // Sentinel = 'bufferSize'
    2793           0 :     (msg__)->WriteSentinel(3444538779);
    2794           0 : }
    2795             : 
    2796           0 : auto PBackgroundIDBDatabaseParent::Read(
    2797             :         BufferedInputStreamParams* v__,
    2798             :         const Message* msg__,
    2799             :         PickleIterator* iter__) -> bool
    2800             : {
    2801           0 :     if ((!(Read((&((v__)->optionalStream())), msg__, iter__)))) {
    2802           0 :         FatalError("Error deserializing 'optionalStream' (OptionalInputStreamParams) member of 'BufferedInputStreamParams'");
    2803           0 :         return false;
    2804             :     }
    2805             :     // Sentinel = 'optionalStream'
    2806           0 :     if ((!((msg__)->ReadSentinel(iter__, 1003718562)))) {
    2807           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'optionalStream' (OptionalInputStreamParams) member of 'BufferedInputStreamParams'");
    2808           0 :         return false;
    2809             :     }
    2810           0 :     if ((!(Read((&((v__)->bufferSize())), msg__, iter__)))) {
    2811           0 :         FatalError("Error deserializing 'bufferSize' (uint32_t) member of 'BufferedInputStreamParams'");
    2812           0 :         return false;
    2813             :     }
    2814             :     // Sentinel = 'bufferSize'
    2815           0 :     if ((!((msg__)->ReadSentinel(iter__, 3444538779)))) {
    2816           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'bufferSize' (uint32_t) member of 'BufferedInputStreamParams'");
    2817           0 :         return false;
    2818             :     }
    2819           0 :     return true;
    2820             : }
    2821             : 
    2822           0 : auto PBackgroundIDBDatabaseParent::Write(
    2823             :         const DatabaseRequestParams& v__,
    2824             :         Message* msg__) -> void
    2825             : {
    2826             :     typedef DatabaseRequestParams type__;
    2827           0 :     Write(int((v__).type()), msg__);
    2828             :     // Sentinel = 'DatabaseRequestParams'
    2829           0 :     (msg__)->WriteSentinel(564842685);
    2830             : 
    2831           0 :     switch ((v__).type()) {
    2832             :     case type__::TCreateFileParams:
    2833             :         {
    2834           0 :             Write((v__).get_CreateFileParams(), msg__);
    2835             :             // Sentinel = 'TCreateFileParams'
    2836           0 :             (msg__)->WriteSentinel(1651067885);
    2837           0 :             return;
    2838             :         }
    2839             :     default:
    2840             :         {
    2841           0 :             FatalError("unknown union type");
    2842           0 :             return;
    2843             :         }
    2844             :     }
    2845             : }
    2846             : 
    2847           0 : auto PBackgroundIDBDatabaseParent::Read(
    2848             :         DatabaseRequestParams* v__,
    2849             :         const Message* msg__,
    2850             :         PickleIterator* iter__) -> bool
    2851             : {
    2852             :     typedef DatabaseRequestParams type__;
    2853             :     int type;
    2854           0 :     if ((!(Read((&(type)), msg__, iter__)))) {
    2855           0 :         mozilla::ipc::UnionTypeReadError("DatabaseRequestParams");
    2856           0 :         return false;
    2857             :     }
    2858             :     // Sentinel = 'DatabaseRequestParams'
    2859           0 :     if ((!((msg__)->ReadSentinel(iter__, 564842685)))) {
    2860           0 :         mozilla::ipc::SentinelReadError("DatabaseRequestParams");
    2861           0 :         return false;
    2862             :     }
    2863             : 
    2864           0 :     switch (type) {
    2865             :     case type__::TCreateFileParams:
    2866             :         {
    2867           0 :             CreateFileParams tmp = CreateFileParams();
    2868           0 :             (*(v__)) = tmp;
    2869           0 :             if ((!(Read((&((v__)->get_CreateFileParams())), msg__, iter__)))) {
    2870           0 :                 FatalError("Error deserializing Union type");
    2871           0 :                 return false;
    2872             :             }
    2873             :             // Sentinel = 'TCreateFileParams'
    2874           0 :             if ((!((msg__)->ReadSentinel(iter__, 1651067885)))) {
    2875           0 :                 mozilla::ipc::SentinelReadError("Error deserializing Union type");
    2876           0 :                 return false;
    2877             :             }
    2878           0 :             return true;
    2879             :         }
    2880             :     default:
    2881             :         {
    2882           0 :             FatalError("unknown union type");
    2883           0 :             return false;
    2884             :         }
    2885             :     }
    2886             : }
    2887             : 
    2888           0 : auto PBackgroundIDBDatabaseParent::Write(
    2889             :         const HeaderEntry& v__,
    2890             :         Message* msg__) -> void
    2891             : {
    2892           0 :     Write((v__).name(), msg__);
    2893             :     // Sentinel = 'name'
    2894           0 :     (msg__)->WriteSentinel(15034981);
    2895           0 :     Write((v__).value(), msg__);
    2896             :     // Sentinel = 'value'
    2897           0 :     (msg__)->WriteSentinel(3456818542);
    2898           0 : }
    2899             : 
    2900           0 : auto PBackgroundIDBDatabaseParent::Read(
    2901             :         HeaderEntry* v__,
    2902             :         const Message* msg__,
    2903             :         PickleIterator* iter__) -> bool
    2904             : {
    2905           0 :     if ((!(Read((&((v__)->name())), msg__, iter__)))) {
    2906           0 :         FatalError("Error deserializing 'name' (nsCString) member of 'HeaderEntry'");
    2907           0 :         return false;
    2908             :     }
    2909             :     // Sentinel = 'name'
    2910           0 :     if ((!((msg__)->ReadSentinel(iter__, 15034981)))) {
    2911           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'name' (nsCString) member of 'HeaderEntry'");
    2912           0 :         return false;
    2913             :     }
    2914           0 :     if ((!(Read((&((v__)->value())), msg__, iter__)))) {
    2915           0 :         FatalError("Error deserializing 'value' (nsCString) member of 'HeaderEntry'");
    2916           0 :         return false;
    2917             :     }
    2918             :     // Sentinel = 'value'
    2919           0 :     if ((!((msg__)->ReadSentinel(iter__, 3456818542)))) {
    2920           0 :         mozilla::ipc::SentinelReadError("Error deserializing 'value' (nsCString) member of 'HeaderEntry'");
    2921           0 :         return false;
    2922             :     }
    2923           0 :     return true;
    2924             : }
    2925             : 
    2926           0 : auto PBackgroundIDBDatabaseParent::Write(
    2927             :         const PChildToParentStreamParent* v__,
    2928             :         Message* msg__,
    2929             :         bool nullable__) -> void
    2930             : {
    2931             :     int32_t id;
    2932           0 :     if ((!(v__))) {
    2933           0 :         if ((!(nullable__))) {
    2934           0 :             FatalError("NULL actor value passed to non-nullable param");
    2935             :         }
    2936           0 :         id = 0;
    2937             :     }
    2938             :     else {
    2939           0 :         id = (v__)->Id();
    2940           0 :         if ((1) == (id)) {
    2941           0 :             FatalError("actor has been |delete|d");
    2942             :         }
    2943             :     }
    2944             : 
    2945           0 :     Write(id, msg__);
    2946           0 : }
    2947             : 
    2948           0 : auto PBackgroundIDBDatabaseParent::Read(
    2949             :         PChildToParentStreamParent** v__,
    2950             :         const Message* msg__,
    2951             :         PickleIterator* iter__,
    2952             :         bool nullable__) -> bool
    2953             : {
    2954           0 :     Maybe<mozilla::ipc::IProtocol*> actor = ReadActor(msg__, iter__, nullable__, "PChildToParentStream", PChildToParentStreamMsgStart);
    2955           0 :     if ((actor).isNothing()) {
    2956           0 :         return false;
    2957             :     }
    2958             : 
    2959           0 :     (*(v__)) = static_cast<PChildToParentStreamParent*>((actor).value());
    2960           0 :     return true;
    2961             : }
    2962             : 
    2963             : 
    2964             : 
    2965             : } // namespace indexedDB
    2966             : } // namespace dom
    2967             : } // namespace mozilla

Generated by: LCOV version 1.13