LCOV - code coverage report
Current view: top level - dom/events - EventTarget.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 15 31 48.4 %
Date: 2017-07-14 16:53:18 Functions: 4 7 57.1 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* vim: set ts=8 sts=2 et sw=2 tw=80: */
       3             : /* This Source Code Form is subject to the terms of the Mozilla Public
       4             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       5             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       6             : 
       7             : #include "mozilla/EventListenerManager.h"
       8             : #include "mozilla/dom/EventTarget.h"
       9             : #include "mozilla/dom/EventTargetBinding.h"
      10             : #include "nsThreadUtils.h"
      11             : 
      12             : namespace mozilla {
      13             : namespace dom {
      14             : 
      15             : void
      16          15 : EventTarget::RemoveEventListener(const nsAString& aType,
      17             :                                  EventListener* aListener,
      18             :                                  const EventListenerOptionsOrBoolean& aOptions,
      19             :                                  ErrorResult& aRv)
      20             : {
      21          15 :   EventListenerManager* elm = GetExistingListenerManager();
      22          15 :   if (elm) {
      23          15 :     elm->RemoveEventListener(aType, aListener, aOptions);
      24             :   }
      25          15 : }
      26             : 
      27             : EventHandlerNonNull*
      28           0 : EventTarget::GetEventHandler(nsIAtom* aType, const nsAString& aTypeString)
      29             : {
      30           0 :   EventListenerManager* elm = GetExistingListenerManager();
      31           0 :   return elm ? elm->GetEventHandler(aType, aTypeString) : nullptr;
      32             : }
      33             : 
      34             : void
      35           0 : EventTarget::SetEventHandler(const nsAString& aType,
      36             :                              EventHandlerNonNull* aHandler,
      37             :                              ErrorResult& aRv)
      38             : {
      39           0 :   if (!StringBeginsWith(aType, NS_LITERAL_STRING("on"))) {
      40           0 :     aRv.Throw(NS_ERROR_INVALID_ARG);
      41           0 :     return;
      42             :   }
      43           0 :   if (NS_IsMainThread()) {
      44           0 :     nsCOMPtr<nsIAtom> type = NS_Atomize(aType);
      45           0 :     SetEventHandler(type, EmptyString(), aHandler);
      46           0 :     return;
      47             :   }
      48             :   SetEventHandler(nullptr,
      49           0 :                   Substring(aType, 2), // Remove "on"
      50           0 :                   aHandler);
      51             : }
      52             : 
      53             : void
      54           2 : EventTarget::SetEventHandler(nsIAtom* aType, const nsAString& aTypeString,
      55             :                              EventHandlerNonNull* aHandler)
      56             : {
      57           2 :   GetOrCreateListenerManager()->SetEventHandler(aType, aTypeString, aHandler);
      58           2 : }
      59             : 
      60             : bool
      61           0 : EventTarget::HasUntrustedOrNonSystemGroupKeyEventListeners() const
      62             : {
      63           0 :   EventListenerManager* elm = GetExistingListenerManager();
      64           0 :   return elm && elm->HasUntrustedOrNonSystemGroupKeyEventListeners();
      65             : }
      66             : 
      67             : bool
      68         174 : EventTarget::IsApzAware() const
      69             : {
      70         174 :   EventListenerManager* elm = GetExistingListenerManager();
      71         174 :   return elm && elm->HasApzAwareListeners();
      72             : }
      73             : 
      74             : bool
      75          12 : EventTarget::DispatchEvent(Event& aEvent,
      76             :                            CallerType aCallerType,
      77             :                            ErrorResult& aRv)
      78             : {
      79          12 :   bool result = false;
      80          12 :   aRv = DispatchEvent(&aEvent, &result);
      81          12 :   return !aEvent.DefaultPrevented(aCallerType);
      82             : }
      83             : 
      84             : } // namespace dom
      85             : } // namespace mozilla

Generated by: LCOV version 1.13