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

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

Generated by: LCOV version 1.7