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

       1                 : //
       2                 : // Automatically generated by ipdlc.
       3                 : // Edit at your own risk
       4                 : //
       5                 : 
       6                 : 
       7                 : #include "mozilla/layout/PRenderFrameParent.h"
       8                 : 
       9                 : #include "mozilla/dom/PBrowserParent.h"
      10                 : #include "mozilla/layers/PLayersParent.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::PBrowserParent;
      23                 : using mozilla::layers::PLayersParent;
      24                 : 
      25                 : namespace mozilla {
      26                 : namespace layout {
      27                 : 
      28                 : 
      29                 : bool
      30               0 : PRenderFrameParent::RecvPLayersConstructor(
      31                 :         PLayersParent* actor,
      32                 :         LayersBackend* backend)
      33                 : {
      34               0 :     return true;
      35                 : }
      36                 : 
      37                 : bool
      38               0 : PRenderFrameParent::Recv__delete__()
      39                 : {
      40               0 :     return true;
      41                 : }
      42                 : 
      43                 : void
      44               0 : PRenderFrameParent::ActorDestroy(ActorDestroyReason why)
      45                 : {
      46               0 : }
      47                 : 
      48               0 : PRenderFrameParent::PRenderFrameParent() :
      49                 :     mId(0),
      50               0 :     mState(PRenderFrame::__Dead)
      51                 : {
      52               0 :     MOZ_COUNT_CTOR(PRenderFrameParent);
      53               0 : }
      54                 : 
      55               0 : PRenderFrameParent::~PRenderFrameParent()
      56                 : {
      57               0 :     MOZ_COUNT_DTOR(PRenderFrameParent);
      58               0 : }
      59                 : 
      60                 : PBrowserParent*
      61               0 : PRenderFrameParent::Manager()
      62                 : {
      63               0 :     return static_cast<PBrowserParent*>(mManager);
      64                 : }
      65                 : 
      66                 : void
      67               0 : PRenderFrameParent::ManagedPLayersParent(InfallibleTArray<PLayersParent*>& aArr) const
      68                 : {
      69               0 :     aArr = mManagedPLayersParent;
      70               0 : }
      71                 : 
      72                 : const InfallibleTArray<PLayersParent*>&
      73               0 : PRenderFrameParent::ManagedPLayersParent() const
      74                 : {
      75               0 :     return mManagedPLayersParent;
      76                 : }
      77                 : 
      78                 : PRenderFrame::State
      79               0 : PRenderFrameParent::state()
      80                 : {
      81               0 :     return mState;
      82                 : }
      83                 : 
      84                 : int32
      85               0 : PRenderFrameParent::Register(ChannelListener* aRouted)
      86                 : {
      87               0 :     return (mManager)->Register(aRouted);
      88                 : }
      89                 : 
      90                 : int32
      91               0 : PRenderFrameParent::RegisterID(
      92                 :         ChannelListener* aRouted,
      93                 :         int32 aId)
      94                 : {
      95               0 :     return (mManager)->RegisterID(aRouted, aId);
      96                 : }
      97                 : 
      98                 : ChannelListener*
      99               0 : PRenderFrameParent::Lookup(int32 aId)
     100                 : {
     101               0 :     return (mManager)->Lookup(aId);
     102                 : }
     103                 : 
     104                 : void
     105               0 : PRenderFrameParent::Unregister(int32 aId)
     106                 : {
     107               0 :     return (mManager)->Unregister(aId);
     108                 : }
     109                 : 
     110                 : void
     111               0 : PRenderFrameParent::RemoveManagee(
     112                 :         int32 aProtocolId,
     113                 :         ChannelListener* aListener)
     114                 : {
     115               0 :     switch (aProtocolId) {
     116                 :     case PLayersMsgStart:
     117                 :         {
     118               0 :             PLayersParent* actor = static_cast<PLayersParent*>(aListener);
     119               0 :             NS_ABORT_IF_FALSE(((mManagedPLayersParent).NoIndex) != ((mManagedPLayersParent).BinaryIndexOf(actor)), "actor not managed by this!");
     120                 : 
     121               0 :             (mManagedPLayersParent).RemoveElementSorted(actor);
     122               0 :             DeallocPLayers(actor);
     123               0 :             return;
     124                 :         }
     125                 :     default:
     126                 :         {
     127               0 :             NS_RUNTIMEABORT("unreached");
     128               0 :             return;
     129                 :         }
     130                 :     }
     131                 : }
     132                 : 
     133                 : Shmem::SharedMemory*
     134               0 : PRenderFrameParent::CreateSharedMemory(
     135                 :         size_t aSize,
     136                 :         Shmem::SharedMemory::SharedMemoryType type,
     137                 :         bool unsafe,
     138                 :         Shmem::id_t* aId)
     139                 : {
     140               0 :     return (mManager)->CreateSharedMemory(aSize, type, unsafe, aId);
     141                 : }
     142                 : 
     143                 : bool
     144               0 : PRenderFrameParent::AdoptSharedMemory(
     145                 :         Shmem::SharedMemory* segment,
     146                 :         Shmem::id_t* aId)
     147                 : {
     148               0 :     return (mManager)->AdoptSharedMemory(segment, aId);
     149                 : }
     150                 : 
     151                 : Shmem::SharedMemory*
     152               0 : PRenderFrameParent::LookupSharedMemory(Shmem::id_t aId)
     153                 : {
     154               0 :     return (mManager)->LookupSharedMemory(aId);
     155                 : }
     156                 : 
     157                 : bool
     158               0 : PRenderFrameParent::IsTrackingSharedMemory(Shmem::SharedMemory* segment)
     159                 : {
     160               0 :     return (mManager)->IsTrackingSharedMemory(segment);
     161                 : }
     162                 : 
     163                 : bool
     164               0 : PRenderFrameParent::DestroySharedMemory(Shmem& aShmem)
     165                 : {
     166               0 :     return (mManager)->DestroySharedMemory(aShmem);
     167                 : }
     168                 : 
     169                 : ProcessHandle
     170               0 : PRenderFrameParent::OtherProcess() const
     171                 : {
     172               0 :     return (mManager)->OtherProcess();
     173                 : }
     174                 : 
     175                 : AsyncChannel*
     176               0 : PRenderFrameParent::GetIPCChannel()
     177                 : {
     178               0 :     return mChannel;
     179                 : }
     180                 : 
     181                 : PRenderFrameParent::Result
     182               0 : PRenderFrameParent::OnMessageReceived(const Message& __msg)
     183                 : {
     184               0 :     switch ((__msg).type()) {
     185                 :     case PRenderFrame::Msg___delete____ID:
     186                 :         {
     187               0 :             (const_cast<Message&>(__msg)).set_name("PRenderFrame::Msg___delete__");
     188               0 :             if (mozilla::ipc::LoggingEnabled()) {
     189               0 :                 (static_cast<const PRenderFrame::Msg___delete__*>((&(__msg))))->Log("[PRenderFrameParent] Received ", stderr);
     190                 :             }
     191                 : 
     192               0 :             void* __iter = 0;
     193                 :             PRenderFrameParent* actor;
     194                 : 
     195               0 :             if ((!(Read((&(actor)), (&(__msg)), (&(__iter)), false)))) {
     196               0 :                 FatalError("error deserializing (better message TODO)");
     197               0 :                 return MsgValueError;
     198                 :             }
     199               0 :             (__msg).EndRead(__iter);
     200               0 :             if ((!(PRenderFrame::Transition(mState, Trigger(Trigger::Recv, PRenderFrame::Msg___delete____ID), (&(mState)))))) {
     201               0 :                 NS_WARNING("bad state transition!");
     202                 :             }
     203               0 :             if ((!(Recv__delete__()))) {
     204               0 :                 return MsgProcessingError;
     205                 :             }
     206                 : 
     207               0 :             (actor)->DestroySubtree(Deletion);
     208               0 :             (actor)->DeallocSubtree();
     209               0 :             ((actor)->mManager)->RemoveManagee(PRenderFrameMsgStart, actor);
     210                 : 
     211                 : 
     212               0 :             return MsgProcessed;
     213                 :         }
     214                 :     default:
     215                 :         {
     216               0 :             return MsgNotKnown;
     217                 :         }
     218                 :     }
     219                 : }
     220                 : 
     221                 : PRenderFrameParent::Result
     222               0 : PRenderFrameParent::OnMessageReceived(
     223                 :         const Message& __msg,
     224                 :         Message*& __reply)
     225                 : {
     226               0 :     switch ((__msg).type()) {
     227                 :     case PRenderFrame::Msg_PLayersConstructor__ID:
     228                 :         {
     229               0 :             (const_cast<Message&>(__msg)).set_name("PRenderFrame::Msg_PLayersConstructor");
     230               0 :             if (mozilla::ipc::LoggingEnabled()) {
     231               0 :                 (static_cast<const PRenderFrame::Msg_PLayersConstructor*>((&(__msg))))->Log("[PRenderFrameParent] Received ", stderr);
     232                 :             }
     233                 : 
     234               0 :             void* __iter = 0;
     235                 :             ActorHandle __handle;
     236                 :             PLayersParent* actor;
     237                 : 
     238               0 :             if ((!(Read((&(__handle)), (&(__msg)), (&(__iter)))))) {
     239               0 :                 FatalError("error deserializing (better message TODO)");
     240               0 :                 return MsgValueError;
     241                 :             }
     242               0 :             (__msg).EndRead(__iter);
     243               0 :             if ((!(PRenderFrame::Transition(mState, Trigger(Trigger::Recv, PRenderFrame::Msg_PLayersConstructor__ID), (&(mState)))))) {
     244               0 :                 NS_WARNING("bad state transition!");
     245                 :             }
     246                 :             LayersBackend backend;
     247               0 :             actor = AllocPLayers((&(backend)));
     248               0 :             if ((!(actor))) {
     249               0 :                 return MsgValueError;
     250                 :             }
     251               0 :             (actor)->mId = RegisterID(actor, (__handle).mId);
     252               0 :             (actor)->mManager = this;
     253               0 :             (actor)->mChannel = mChannel;
     254               0 :             (mManagedPLayersParent).InsertElementSorted(actor);
     255               0 :             (actor)->mState = mozilla::layers::PLayers::__Start;
     256                 : 
     257               0 :             int32 __id = mId;
     258               0 :             if ((!(RecvPLayersConstructor(actor, (&(backend)))))) {
     259               0 :                 return MsgProcessingError;
     260                 :             }
     261               0 :             __reply = new PRenderFrame::Reply_PLayersConstructor();
     262                 : 
     263               0 :             Write(backend, __reply);
     264               0 :             (__reply)->set_routing_id(__id);
     265               0 :             (__reply)->set_sync();
     266               0 :             (__reply)->set_reply();
     267                 : 
     268               0 :             if (mozilla::ipc::LoggingEnabled()) {
     269               0 :                 (static_cast<const PRenderFrame::Reply_PLayersConstructor*>(__reply))->Log("[PRenderFrameParent] Sending reply ", stderr);
     270                 :             }
     271                 : 
     272               0 :             return MsgProcessed;
     273                 :         }
     274                 :     default:
     275                 :         {
     276               0 :             return MsgNotKnown;
     277                 :         }
     278                 :     }
     279                 : }
     280                 : 
     281                 : PRenderFrameParent::Result
     282               0 : PRenderFrameParent::OnCallReceived(
     283                 :         const Message& __msg,
     284                 :         Message*& __reply)
     285                 : {
     286               0 :     return MsgNotKnown;
     287                 : }
     288                 : 
     289                 : void
     290               0 : PRenderFrameParent::OnProcessingError(Result code)
     291                 : {
     292               0 :     NS_RUNTIMEABORT("`OnProcessingError' called on non-toplevel actor");
     293               0 : }
     294                 : 
     295                 : bool
     296               0 : PRenderFrameParent::OnReplyTimeout()
     297                 : {
     298               0 :     NS_RUNTIMEABORT("`OnReplyTimeout' called on non-toplevel actor");
     299               0 :     return false;
     300                 : }
     301                 : 
     302                 : void
     303               0 : PRenderFrameParent::OnChannelClose()
     304                 : {
     305               0 :     NS_RUNTIMEABORT("`OnClose' called on non-toplevel actor");
     306               0 : }
     307                 : 
     308                 : void
     309               0 : PRenderFrameParent::OnChannelError()
     310                 : {
     311               0 :     NS_RUNTIMEABORT("`OnError' called on non-toplevel actor");
     312               0 : }
     313                 : 
     314                 : void
     315               0 : PRenderFrameParent::OnChannelConnected(int32 pid)
     316                 : {
     317               0 :     NS_RUNTIMEABORT("'OnConnected' called on non-toplevel actor");
     318               0 : }
     319                 : 
     320                 : bool
     321               0 : PRenderFrameParent::AllocShmem(
     322                 :         size_t aSize,
     323                 :         Shmem::SharedMemory::SharedMemoryType aType,
     324                 :         Shmem* aMem)
     325                 : {
     326                 :     Shmem::id_t aId;
     327               0 :     nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, false, (&(aId))));
     328               0 :     if ((!(rawmem))) {
     329               0 :         return false;
     330                 :     }
     331                 : 
     332               0 :     (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
     333               0 :     return true;
     334                 : }
     335                 : 
     336                 : bool
     337               0 : PRenderFrameParent::AllocUnsafeShmem(
     338                 :         size_t aSize,
     339                 :         Shmem::SharedMemory::SharedMemoryType aType,
     340                 :         Shmem* aMem)
     341                 : {
     342                 :     Shmem::id_t aId;
     343               0 :     nsAutoPtr<Shmem::SharedMemory> rawmem(CreateSharedMemory(aSize, aType, true, (&(aId))));
     344               0 :     if ((!(rawmem))) {
     345               0 :         return false;
     346                 :     }
     347                 : 
     348               0 :     (*(aMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), (rawmem).forget(), aId);
     349               0 :     return true;
     350                 : }
     351                 : 
     352                 : bool
     353               0 : PRenderFrameParent::AdoptShmem(
     354                 :         Shmem& aMem,
     355                 :         Shmem* aOutMem)
     356                 : {
     357               0 :     Shmem::SharedMemory* rawmem = (aMem).Segment(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
     358               0 :     if (((!(rawmem))) || (IsTrackingSharedMemory(rawmem))) {
     359               0 :         NS_RUNTIMEABORT("bad Shmem");
     360                 :     }
     361                 : 
     362                 :     Shmem::id_t aId;
     363               0 :     if ((!(AdoptSharedMemory(rawmem, (&(aId)))))) {
     364               0 :         return false;
     365                 :     }
     366                 : 
     367               0 :     (*(aOutMem)) = Shmem(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead(), rawmem, aId);
     368               0 :     return true;
     369                 : }
     370                 : 
     371                 : bool
     372               0 : PRenderFrameParent::DeallocShmem(Shmem& aMem)
     373                 : {
     374               0 :     bool ok = DestroySharedMemory(aMem);
     375               0 :     (aMem).forget(Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead());
     376               0 :     return ok;
     377                 : }
     378                 : 
     379                 : void
     380               0 : PRenderFrameParent::FatalError(const char* const msg) const
     381                 : {
     382                 :     // Virtual method to prevent inlining.
     383                 :     // This give us better error reporting.
     384                 :     // See bug 589371
     385                 : 
     386               0 :     NS_ERROR("IPDL error:");
     387               0 :     NS_ERROR(msg);
     388                 : 
     389               0 :     NS_ERROR("[PRenderFrameParent] killing child side as a result");
     390                 : 
     391               0 :     if ((!(base::KillProcess(OtherProcess(), base::PROCESS_END_KILLED_BY_USER, false)))) {
     392               0 :         NS_ERROR("  may have failed to kill child!");
     393                 :     }
     394               0 : }
     395                 : 
     396                 : void
     397               0 : PRenderFrameParent::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<PLayersParent*> kids = mManagedPLayersParent;
     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 : PRenderFrameParent::DeallocSubtree()
     419                 : {
     420                 :     {
     421                 :         // Recursively deleting PLayers kids
     422               0 :         InfallibleTArray<PLayersParent*>& kids = mManagedPLayersParent;
     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 :         (mManagedPLayersParent).Clear();
     431                 :     }
     432               0 : }
     433                 : 
     434                 : void
     435               0 : PRenderFrameParent::Write(
     436                 :         PRenderFrameParent* __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 : PRenderFrameParent::Read(
     459                 :         PRenderFrameParent** __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<PRenderFrameParent*>(Lookup(id));
     477               0 :         if ((!((*(__v))))) {
     478               0 :             return false;
     479                 :         }
     480                 :     }
     481               0 :     return true;
     482                 : }
     483                 : 
     484                 : void
     485               0 : PRenderFrameParent::Write(
     486                 :         PLayersParent* __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 : PRenderFrameParent::Read(
     509                 :         PLayersParent** __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<PLayersParent*>(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