LCOV - code coverage report
Current view: top level - accessible/base - nsEventShell.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 4 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 1 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* This Source Code Form is subject to the terms of the Mozilla Public
       3             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       4             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       5             : 
       6             : #ifndef _nsEventShell_H_
       7             : #define _nsEventShell_H_
       8             : 
       9             : #include "AccEvent.h"
      10             : 
      11             : namespace mozilla {
      12             : template<typename T> class StaticRefPtr;
      13             : }
      14             : class nsIPersistentProperties;
      15             : 
      16             : /**
      17             :  * Used for everything about events.
      18             :  */
      19             : class nsEventShell
      20             : {
      21             : public:
      22             : 
      23             :   /**
      24             :    * Fire the accessible event.
      25             :    */
      26             :   static void FireEvent(mozilla::a11y::AccEvent* aEvent);
      27             : 
      28             :   /**
      29             :    * Fire accessible event of the given type for the given accessible.
      30             :    *
      31             :    * @param  aEventType   [in] the event type
      32             :    * @param  aAccessible  [in] the event target
      33             :    */
      34             :   static void FireEvent(uint32_t aEventType,
      35             :                         mozilla::a11y::Accessible* aAccessible,
      36             :                         mozilla::a11y::EIsFromUserInput aIsFromUserInput = mozilla::a11y::eAutoDetect);
      37             : 
      38             :   /**
      39             :    * Fire state change event.
      40             :    */
      41           0 :   static void FireEvent(mozilla::a11y::Accessible* aTarget, uint64_t aState,
      42             :                         bool aIsEnabled, bool aIsFromUserInput)
      43             :   {
      44             :     RefPtr<mozilla::a11y::AccStateChangeEvent> stateChangeEvent =
      45             :       new mozilla::a11y::AccStateChangeEvent(aTarget, aState, aIsEnabled,
      46             :                                              (aIsFromUserInput ?
      47             :                                                mozilla::a11y::eFromUserInput :
      48           0 :                                                mozilla::a11y::eNoUserInput));
      49           0 :     FireEvent(stateChangeEvent);
      50           0 :   }
      51             : 
      52             :   /**
      53             :    * Append 'event-from-input' object attribute if the accessible event has
      54             :    * been fired just now for the given node.
      55             :    *
      56             :    * @param  aNode        [in] the DOM node
      57             :    * @param  aAttributes  [in, out] the attributes
      58             :    */
      59             :   static void GetEventAttributes(nsINode *aNode,
      60             :                                  nsIPersistentProperties *aAttributes);
      61             : 
      62             : private:
      63             :   static mozilla::StaticRefPtr<nsINode> sEventTargetNode;
      64             :   static bool sEventFromUserInput;
      65             : };
      66             : 
      67             : #endif

Generated by: LCOV version 1.13