LCOV - code coverage report
Current view: top level - dom/gamepad/ipc - GamepadEventChannelChild.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 25 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 7 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* This Source Code Form is subject to the terms of the Mozilla Public
       2             :  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
       3             :  * You can obtain one at http://mozilla.org/MPL/2.0/. */
       4             : #include "GamepadEventChannelChild.h"
       5             : #include "mozilla/dom/GamepadManager.h"
       6             : 
       7             : namespace mozilla {
       8             : namespace dom{
       9             : 
      10             : namespace {
      11             : 
      12           0 : class GamepadUpdateRunnable final : public Runnable
      13             : {
      14             :  public:
      15           0 :    explicit GamepadUpdateRunnable(const GamepadChangeEvent& aGamepadEvent)
      16           0 :      : Runnable("dom::GamepadUpdateRunnable")
      17           0 :      , mEvent(aGamepadEvent)
      18             :    {
      19           0 :    }
      20           0 :    NS_IMETHOD Run() override
      21             :    {
      22           0 :      RefPtr<GamepadManager> svc(GamepadManager::GetService());
      23           0 :      if (svc) {
      24           0 :        svc->Update(mEvent);
      25             :      }
      26           0 :      return NS_OK;
      27             :   }
      28             :  protected:
      29             :   GamepadChangeEvent mEvent;
      30             : };
      31             : 
      32             : } // namespace
      33             : 
      34             : mozilla::ipc::IPCResult
      35           0 : GamepadEventChannelChild::RecvGamepadUpdate(
      36             :                                        const GamepadChangeEvent& aGamepadEvent)
      37             : {
      38             :   DebugOnly<nsresult> rv =
      39           0 :     NS_DispatchToMainThread(new GamepadUpdateRunnable(aGamepadEvent));
      40           0 :   NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "NS_DispatchToMainThread failed");
      41           0 :   return IPC_OK();
      42             : }
      43             : 
      44             : void
      45           0 : GamepadEventChannelChild::AddPromise(const uint32_t& aID, dom::Promise* aPromise)
      46             : {
      47           0 :   MOZ_ASSERT(!mPromiseList.Get(aID, nullptr));
      48           0 :   mPromiseList.Put(aID, aPromise);
      49           0 : }
      50             : 
      51             : mozilla::ipc::IPCResult
      52           0 : GamepadEventChannelChild::RecvReplyGamepadVibrateHaptic(const uint32_t& aPromiseID)
      53             : {
      54           0 :   RefPtr<dom::Promise> p;
      55           0 :   if (!mPromiseList.Get(aPromiseID, getter_AddRefs(p))) {
      56           0 :     MOZ_CRASH("We should always have a promise.");
      57             :   }
      58             : 
      59           0 :   p->MaybeResolve(true);
      60           0 :   mPromiseList.Remove(aPromiseID);
      61           0 :   return IPC_OK();
      62             : }
      63             : 
      64             : } // namespace dom
      65             : } // namespace mozilla

Generated by: LCOV version 1.13