LCOV - code coverage report
Current view: directory - objdir/ipc/ipdl - PRenderFrameChild.cpp (source / functions) Found Hit Coverage
Test: app.info Lines: 212 0 0.0 %
Date: 2012-06-02 Functions: 42 0 0.0 %

       1                 : //
       2                 : // Automatically generated by ipdlc.
       3                 : // Edit at your own risk
       4                 : //
       5                 : 
       6                 : 
       7                 : #include "mozilla/layout/PRenderFrameChild.h"
       8                 : 
       9                 : #include "mozilla/dom/PBrowserChild.h"
      10                 : #include "mozilla/layers/PLayersChild.h"
      11                 : 
      12                 : typedef IPC::Message Message;
      13                 : typedef mozilla::ipc::RPCChannel Channel;
      14                 : typedef mozilla::ipc::RPCChannel::RPCListener ChannelListener;
      15                 : typedef base::ProcessHandle ProcessHandle;
      16                 : typedef mozilla::ipc::AsyncChannel AsyncChannel;
      17                 : typedef mozilla::ipc::SharedMemory SharedMemory;
      18                 : typedef mozilla::ipc::Trigger Trigger;
      19                 : typedef mozilla::ipc::ActorHandle ActorHandle;
      20                 : typedef mozilla::ipc::Shmem Shmem;
      21                 : typedef mozilla::LayersBackend LayersBackend;
      22                 : using mozilla::dom::PBrowserChild;
      23                 : using mozilla::layers::PLayersChild;
      24                 : 
      25                 : namespace mozilla {
      26                 : namespace layout {
      27                 : 
      28                 : 
      29                 : void
      30               0 : PRenderFrameChild::ActorDestroy(ActorDestroyReason why)
      31                 : {
      32               0 : }
      33                 : 
      34               0 : PRenderFrameChild::PRenderFrameChild() :
      35                 :     mId(0),
      36               0 :     mState(PRenderFrame::__Dead)
      37                 : {
      38               0 :     MOZ_COUNT_CTOR(PRenderFrameChild);
      39               0 : }
      40                 : 
      41               0 : PRenderFrameChild::~PRenderFrameChild()
      42                 : {
      43               0 :     MOZ_COUNT_DTOR(PRenderFrameChild);
      44               0 : }
      45                 : 
      46                 : PBrowserChild*
      47               0 : PRenderFrameChild::Manager()
      48                 : {
      49               0 :     return static_cast<PBrowserChild*>(mManager);
      50                 : }
      51                 : 
      52                 : void
      53               0 : PRenderFrameChild::ManagedPLayersChild(InfallibleTArray<PLayersChild*>& aArr) const
      54                 : {
      55               0 :     aArr = mManagedPLayersChild;
      56               0 : }
      57                 : 
      58                 : const InfallibleTArray<PLayersChild*>&
      59               0 : PRenderFrameChild::ManagedPLayersChild() const
      60                 : {
      61               0 :     return mManagedPLayersChild;
      62                 : }
      63                 : 
      64                 : PRenderFrame::State
      65               0 : PRenderFrameChild::state()
      66                 : {
      67               0 :     return mState;
      68                 : }
      69                 : 
      70                 : PLayersChild*
      71               0 : PRenderFrameChild::SendPLayersConstructor(LayersBackend* backend)
      72                 : {
      73               0 :     return SendPLayersConstructor(AllocPLayers(backend), backend);
      74                 : }
      75                 : 
      76                 : PLayersChild*
      77               0 : PRenderFrameChild::SendPLayersConstructor(
      78                 :         PLayersChild* actor,
      79                 :         LayersBackend* backend)
      80                 : {
      81               0 :     if ((!(actor))) {
      82               0 :         return 0;
      83                 :     }
      84               0 :     (actor)->mId = Register(actor);
      85               0 :     (actor)->mManager = this;
      86               0 :     (actor)->mChannel = mChannel;
      87               0 :     (mManagedPLayersChild).InsertElementSorted(actor);
      88               0 :     (actor)->mState = mozilla::layers::PLayers::__Start;
      89                 : 
      90               0 :     PRenderFrame::Msg_PLayersConstructor* __msg = new PRenderFrame::Msg_PLayersConstructor();
      91                 : 
      92               0 :     Write(actor, __msg, false);
      93                 : 
      94               0 :     (__msg)->set_routing_id(mId);
      95               0 :     (__msg)->set_sync();
      96                 : 
      97                 : 
      98               0 :     Message __reply;
      99                 : 
     100               0 :     if (mozilla::ipc::LoggingEnabled()) {
     101               0 :         (__msg)->Log("[PRenderFrameChild] Sending ", stderr);
     102                 :     }
     103               0 :     if ((!(PRenderFrame::Transition(mState, Trigger(Trigger::Recv, PRenderFrame::Msg_PLayersConstructor__ID), (&(mState)))))) {
     104               0 :         NS_WARNING("bad state transition!");
     105                 :     }
     106                 : 
     107               0 :     bool __sendok = (mChannel)->Send(__msg, (&(__reply)));
     108               0 :     if ((!(__sendok))) {
     109               0 :         (actor)->DestroySubtree(FailedConstructor);
     110               0 :         (actor)->DeallocSubtree();
     111               0 :         ((actor)->mManager)->RemoveManagee(PLayersMsgStart, actor);
     112               0 :         return 0;
     113                 :     }
     114                 : 
     115               0 :     if (mozilla::ipc::LoggingEnabled()) {
     116               0 :         (static_cast<const PRenderFrame::Reply_PLayersConstructor*>((&(__reply))))->Log("[PRenderFrameChild] Received reply ", stderr);
     117                 :     }
     118                 : 
     119               0 :     void* __iter = 0;
     120               0 :     if ((!(Read(backend, (&(__reply)), (&(__iter)))))) {
     121                 :         if (true) {
     122               0 :             (actor)->DestroySubtree(FailedConstructor);
     123               0 :             (actor)->DeallocSubtree();
     124               0 :             ((actor)->mManager)->RemoveManagee(PLayersMsgStart, actor);
     125               0 :             return 0;
     126                 :         }
     127                 :     }
     128               0 :     (__reply).EndRead(__iter);
     129               0 :     return actor;
     130                 : }
     131                 : 
     132                 : bool
     133               0 : PRenderFrameChild::Send__delete__(PRenderFrameChild* actor)
     134                 : {
     135               0 :     if ((!(actor))) {
     136               0 :         return false;
     137                 :     }
     138                 : 
     139               0 :     if ((!(actor))) {
     140               0 :         return false;
     141                 :     }
     142                 : 
     143               0 :     PRenderFrame::Msg___delete__* __msg = new PRenderFrame::Msg___delete__();
     144                 : 
     145               0 :     (actor)->Write(actor, __msg, false);
     146                 : 
     147               0 :     (__msg)->set_routing_id((actor)->mId);
     148                 : 
     149                 : 
     150               0 :     if (mozilla::ipc::LoggingEnabled()) {
     151               0 :         (__msg)->Log("[PRenderFrameChild] Sending ", stderr);
     152                 :     }
     153               0 :     if ((!(PRenderFrame::Transition((actor)->mState, Trigger(Trigger::Recv, PRenderFrame::Msg___delete____ID), (&((actor)->mState)))))) {
     154               0 :         NS_WARNING("bad state transition!");
     155                 :     }
     156                 : 
     157               0 :     bool __sendok = ((actor)->mChannel)->Send(__msg);
     158                 : 
     159               0 :     (actor)->DestroySubtree(Deletion);
     160               0 :     (actor)->DeallocSubtree();
     161               0 :     ((actor)->mManager)->RemoveManagee(PRenderFrameMsgStart, actor);
     162               0 :     return __sendok;
     163                 : }
     164                 : 
     165                 : int32
     166               0 : PRenderFrameChild::Register(ChannelListener* aRouted)
     167                 : {
     168               0 :     return (mManager)->Register(aRouted);
     169                 : }
     170                 : 
     171                 : int32
     172               0 : PRenderFrameChild::RegisterID(
     173                 :         ChannelListener* aRouted,
     174                 :         int32 aId)
     175                 : {
     176               0 :     return (mManager)->RegisterID(aRouted, aId);
     177                 : }
     178                 : 
     179                 : ChannelListener*
     180               0 : PRenderFrameChild::Lookup(int32 aId)
     181                 : {
     182               0 :     return (mManager)->Lookup(aId);
     183                 : }
     184                 : 
     185                 : void
     186               0 : PRenderFrameChild::Unregister(int32 aId)
     187                 : {
     188               0 :     return (mManager)->Unregister(aId);
     189                 : }
     190                 : 
     191                 : void
     192               0 : PRenderFrameChild::RemoveManagee(
     193                 :         int32 aProtocolId,
     194                 :         ChannelListener* aListener)
     195                 : {
     196               0 :     switch (aProtocolId) {
     197                 :     case PLayersMsgStart:
     198                 :         {
     199               0 :             PLayersChild* actor = static_cast<PLayersChild*>(aListener);
     200               0 :             NS_ABORT_IF_FALSE(((mManagedPLayersChild).NoIndex) != ((mManagedPLayersChild).BinaryIndexOf(actor)), "actor not managed by this!");
     201                 : 
     202               0 :             (mManagedPLayersChild).RemoveElementSorted(actor);
     203               0 :             DeallocPLayers(actor);
     204               0 :             return;
     205                 :         }
     206                 :     default:
     207                 :         {
     208               0 :             NS_RUNTIMEABORT("unreached");
     209               0 :             return;
     210                 :         }
     211                 :     }
     212                 : }
     213                 : 
     214                 : Shmem::SharedMemory*
     215               0 : PRenderFrameChild::CreateSharedMemory(
     216                 :         size_t aSize,
     217                 :         Shmem::SharedMemory::SharedMemoryType type,
     218                 :         bool unsafe,
     219                 :         Shmem::id_t* aId)
     220                 : {
     221               0 :     return (mManager)->CreateSharedMemory(aSize, type, unsafe, aId);
     222                 : }
     223                 : 
     224                 : bool
     225               0 : PRenderFrameChild::AdoptSharedMemory(
     226                 :         Shmem::SharedMemory* segment,
     227                 :         Shmem::id_t* aId)
     228                 : {
     229               0 :     return (mManager)->AdoptSharedMemory(segment, aId);
     230                 : }
     231                 : 
     232                 : Shmem::SharedMemory*
     233               0 : PRenderFrameChild::LookupSharedMemory(Shmem::id_t aId)
     234                 : {
     235               0 :     return (mManager)->LookupSharedMemory(aId);
     236                 : }
     237                 : 
     238                 : bool
     239               0 : PRenderFrameChild::IsTrackingSharedMemory(Shmem::SharedMemory* segment)
     240                 : {
     241               0 :     return (mManager)->IsTrackingSharedMemory(segment);
     242                 : }
     243                 : 
     244                 : bool
     245               0 : PRenderFrameChild::DestroySharedMemory(Shmem& aShmem)
     246                 : {
     247               0 :     return (mManager)->DestroySharedMemory(aShmem);
     248                 : }
     249                 : 
     250                 : ProcessHandle
     251               0 : PRenderFrameChild::OtherProcess() const
     252                 : {
     253               0 :     return (mManager)->OtherProcess();
     254                 : }
     255                 : 
     256                 : AsyncChannel*
     257               0 : PRenderFrameChild::GetIPCChannel()
     258                 : {
     259               0 :     return mChannel;
     260                 : }
     261                 : 
     262                 : PRenderFrameChild::Result
     263               0 : PRenderFrameChild::OnMessageReceived(const Message& __msg)
     264                 : {
     265               0 :     switch ((__msg).type()) {
     266                 :     case PRenderFrame::Reply___delete____ID:
     267                 :         {
     268               0 :             return MsgProcessed;
     269                 :         }
     270                 :     default:
     271                 :         {
     272               0 :             return MsgNotKnown;
     273                 :         }
     274                 :     }
     275                 : }
     276                 : 
     277                 : PRenderFrameChild::Result
     278               0 : PRenderFrameChild::OnMessageReceived(
     279                 :         const Message& __msg,
     280                 :         Message*& __reply)
     281                 : {
     282               0 :     return MsgNotKnown;
     283                 : }
     284                 : 
     285                 : PRenderFrameChild::Result
     286               0 : PRenderFrameChild::OnCallReceived(
     287                 :         const Message& __msg,
     288                 :         Message*& __reply)
     289                 : {
     290               0 :     return MsgNotKnown;
     291                 : }
     292                 : 
     293                 : void
     294               0 : PRenderFrameChild::OnProcessingError(Result code)
     295                 : {
     296               0 :     NS_RUNTIMEABORT("`OnProcessingError' called on non-toplevel actor");
     297               0 : }
     298                 : 
     299                 : bool
     300               0 : PRenderFrameChild::OnReplyTimeout()
     301                 : {
     302               0 :     NS_RUNTIMEABORT("`OnReplyTimeout' called on non-toplevel actor");
     303               0 :     return false;
     304                 : }
     305                 : 
     306                 : void
     307               0 : PRenderFrameChild::OnChannelClose()
     308                 : {
     309               0 :     NS_RUNTIMEABORT("`OnClose' called on non-toplevel actor");
     310               0 : }
     311                 : 
     312                 : void
     313               0 : PRenderFrameChild::OnChannelError()
     314                 : {
     315               0 :     NS_RUNTIMEABORT("`OnError' called on non-toplevel actor");
     316               0 : }
     317                 : 
     318                 : void
     319               0 : PRenderFrameChild::OnChannelConnected(int32 pid)
     320                 : {
     321               0 :     NS_RUNTIMEABORT("'OnConnected' called on non-toplevel actor");
     322               0 : }
     323                 : 
     324                 : bool
     325               0 : PRenderFrameChild::AllocShmem(
     326                 :         size_t aSize,
     327                 :         Shmem::SharedMemory::SharedMemoryType aType,
     328                 :         Shmem* aMem)
     329                 : {
     330                 :     Shmem::id_t aId;
     331               0 :     nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, false, (&(aId))));
     332               0 :     if ((!(rawmem))) {
     333               0 :         return false;
     334                 :     }
     335                 : 
     336               0 :     (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
     337               0 :     return true;
     338                 : }
     339                 : 
     340                 : bool
     341               0 : PRenderFrameChild::AllocUnsafeShmem(
     342                 :         size_t aSize,
     343                 :         Shmem::SharedMemory::SharedMemoryType aType,
     344                 :         Shmem* aMem)
     345                 : {
     346                 :     Shmem::id_t aId;
     347               0 :     nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, true, (&(aId))));
     348               0 :     if ((!(rawmem))) {
     349               0 :         return false;
     350                 :     }
     351                 : 
     352               0 :     (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
     353               0 :     return true;
     354                 : }
     355                 : 
     356                 : bool
     357               0 : PRenderFrameChild::AdoptShmem(
     358                 :         Shmem& aMem,
     359                 :         Shmem* aOutMem)
     360                 : {
     361               0 :     Shmem::SharedMemory* rawmem = (aMem).Segment(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
     362               0 :     if (((!(rawmem))) || (IsTrackingSharedMemory(rawmem))) {
     363               0 :         NS_RUNTIMEABORT("bad Shmem");
     364                 :     }
     365                 : 
     366                 :     Shmem::id_t aId;
     367               0 :     if ((!(AdoptSharedMemory(rawmem, (&(aId)))))) {
     368               0 :         return false;
     369                 :     }
     370                 : 
     371               0 :     (*(aOutMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), rawmem, aId);
     372               0 :     return true;
     373                 : }
     374                 : 
     375                 : bool
     376               0 : PRenderFrameChild::DeallocShmem(Shmem& aMem)
     377                 : {
     378               0 :     bool ok = DestroySharedMemory(aMem);
     379               0 :     (aMem).forget(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
     380               0 :     return ok;
     381                 : }
     382                 : 
     383                 : void
     384               0 : PRenderFrameChild::FatalError(const char* const msg) const
     385                 : {
     386                 :     // Virtual method to prevent inlining.
     387                 :     // This give us better error reporting.
     388                 :     // See bug 589371
     389                 : 
     390               0 :     NS_ERROR("IPDL error:");
     391               0 :     NS_ERROR(msg);
     392                 : 
     393               0 :     NS_RUNTIMEABORT("[PRenderFrameChild] abort()ing as a result");
     394               0 : }
     395                 : 
     396                 : void
     397               0 : PRenderFrameChild::DestroySubtree(ActorDestroyReason why)
     398                 : {
     399                 :     // Unregister from our manager.
     400               0 :     Unregister(mId);
     401               0 :     mId = 1;
     402                 : 
     403               0 :     ActorDestroyReason subtreewhy = (((why) == (Deletion)) || ((why) == (FailedConstructor)) ? AncestorDeletion : why);
     404                 : 
     405                 :     {
     406                 :         // Recursively shutting down PLayers kids
     407               0 :         InfallibleTArray<PLayersChild*> kids = mManagedPLayersChild;
     408               0 :         for (uint32 i = 0; (i) < ((kids).Length()); (++(i))) {
     409               0 :             (kids[i])->DestroySubtree(subtreewhy);
     410                 :         }
     411                 :     }
     412                 : 
     413                 :     // Finally, destroy "us".
     414               0 :     ActorDestroy(why);
     415               0 : }
     416                 : 
     417                 : void
     418               0 : PRenderFrameChild::DeallocSubtree()
     419                 : {
     420                 :     {
     421                 :         // Recursively deleting PLayers kids
     422               0 :         InfallibleTArray<PLayersChild*>& kids = mManagedPLayersChild;
     423               0 :         for (uint32 i = 0; (i) < ((kids).Length()); (++(i))) {
     424               0 :             (kids[i])->DeallocSubtree();
     425                 :         }
     426                 : 
     427               0 :         for (uint32 i = 0; (i) < ((kids).Length()); (++(i))) {
     428               0 :             DeallocPLayers(kids[i]);
     429                 :         }
     430               0 :         (mManagedPLayersChild).Clear();
     431                 :     }
     432               0 : }
     433                 : 
     434                 : void
     435               0 : PRenderFrameChild::Write(
     436                 :         PRenderFrameChild* __v,
     437                 :         Message* __msg,
     438                 :         bool __nullable)
     439                 : {
     440                 :     int32 id;
     441               0 :     if ((!(__v))) {
     442               0 :         if ((!(__nullable))) {
     443               0 :             NS_RUNTIMEABORT("NULL actor value passed to non-nullable param");
     444                 :         }
     445               0 :         id = 0;
     446                 :     }
     447                 :     else {
     448               0 :         id = (__v)->mId;
     449               0 :         if ((1) == (id)) {
     450               0 :             NS_RUNTIMEABORT("actor has been |delete|d");
     451                 :         }
     452                 :     }
     453                 : 
     454               0 :     Write(id, __msg);
     455               0 : }
     456                 : 
     457                 : bool
     458               0 : PRenderFrameChild::Read(
     459                 :         PRenderFrameChild** __v,
     460                 :         const Message* __msg,
     461                 :         void** __iter,
     462                 :         bool __nullable)
     463                 : {
     464                 :     int32 id;
     465               0 :     if ((!(Read((&(id)), __msg, __iter)))) {
     466               0 :         return false;
     467                 :     }
     468               0 :     if (((1) == (id)) || (((0) == (id)) && ((!(__nullable))))) {
     469               0 :         return false;
     470                 :     }
     471                 : 
     472               0 :     if ((0) == (id)) {
     473               0 :         (*(__v)) = 0;
     474                 :     }
     475                 :     else {
     476               0 :         (*(__v)) = static_cast<PRenderFrameChild*>(Lookup(id));
     477               0 :         if ((!((*(__v))))) {
     478               0 :             return false;
     479                 :         }
     480                 :     }
     481               0 :     return true;
     482                 : }
     483                 : 
     484                 : void
     485               0 : PRenderFrameChild::Write(
     486                 :         PLayersChild* __v,
     487                 :         Message* __msg,
     488                 :         bool __nullable)
     489                 : {
     490                 :     int32 id;
     491               0 :     if ((!(__v))) {
     492               0 :         if ((!(__nullable))) {
     493               0 :             NS_RUNTIMEABORT("NULL actor value passed to non-nullable param");
     494                 :         }
     495               0 :         id = 0;
     496                 :     }
     497                 :     else {
     498               0 :         id = (__v)->mId;
     499               0 :         if ((1) == (id)) {
     500               0 :             NS_RUNTIMEABORT("actor has been |delete|d");
     501                 :         }
     502                 :     }
     503                 : 
     504               0 :     Write(id, __msg);
     505               0 : }
     506                 : 
     507                 : bool
     508               0 : PRenderFrameChild::Read(
     509                 :         PLayersChild** __v,
     510                 :         const Message* __msg,
     511                 :         void** __iter,
     512                 :         bool __nullable)
     513                 : {
     514                 :     int32 id;
     515               0 :     if ((!(Read((&(id)), __msg, __iter)))) {
     516               0 :         return false;
     517                 :     }
     518               0 :     if (((1) == (id)) || (((0) == (id)) && ((!(__nullable))))) {
     519               0 :         return false;
     520                 :     }
     521                 : 
     522               0 :     if ((0) == (id)) {
     523               0 :         (*(__v)) = 0;
     524                 :     }
     525                 :     else {
     526               0 :         (*(__v)) = static_cast<PLayersChild*>(Lookup(id));
     527               0 :         if ((!((*(__v))))) {
     528               0 :             return false;
     529                 :         }
     530                 :     }
     531               0 :     return true;
     532                 : }
     533                 : 
     534                 : 
     535                 : 
     536                 : } // namespace layout
     537                 : } // namespace mozilla

Generated by: LCOV version 1.7