LCOV - code coverage report
Current view: top level - accessible/xul - XULFormControlAccessible.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 9 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 18 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 MOZILLA_A11Y_XULFormControlAccessible_H_
       7             : #define MOZILLA_A11Y_XULFormControlAccessible_H_
       8             : 
       9             : // NOTE: alphabetically ordered
      10             : #include "AccessibleWrap.h"
      11             : #include "FormControlAccessible.h"
      12             : #include "HyperTextAccessibleWrap.h"
      13             : #include "XULSelectControlAccessible.h"
      14             : 
      15             : namespace mozilla {
      16             : namespace a11y {
      17             : 
      18             : /**
      19             :  * Used for XUL progressmeter element.
      20             :  */
      21             : typedef ProgressMeterAccessible<100> XULProgressMeterAccessible;
      22             : 
      23             : /**
      24             :  * Used for XUL button.
      25             :  *
      26             :  * @note  Don't inherit from LeafAccessible - it doesn't allow children
      27             :  *         and a button can have a dropmarker child.
      28             :  */
      29             : class XULButtonAccessible : public AccessibleWrap
      30             : {
      31             : public:
      32             :   enum { eAction_Click = 0 };
      33             :   XULButtonAccessible(nsIContent* aContent, DocAccessible* aDoc);
      34             : 
      35             :   // nsISupports
      36             :   NS_DECL_ISUPPORTS_INHERITED
      37             : 
      38             :   // Accessible
      39             :   virtual mozilla::a11y::role NativeRole() override;
      40             :   virtual uint64_t NativeState() override;
      41             : 
      42             :   // ActionAccessible
      43             :   virtual uint8_t ActionCount() override;
      44             :   virtual void ActionNameAt(uint8_t aIndex, nsAString& aName) override;
      45             :   virtual bool DoAction(uint8_t aIndex) override;
      46             : 
      47             :   // Widgets
      48             :   virtual bool IsWidget() const override;
      49             :   virtual bool IsActiveWidget() const override;
      50             :   virtual bool AreItemsOperable() const override;
      51             :   virtual Accessible* ContainerWidget() const override;
      52             : 
      53             :   virtual bool IsAcceptableChild(nsIContent* aEl) const override;
      54             : 
      55             : protected:
      56             :   virtual ~XULButtonAccessible();
      57             : 
      58             :   // XULButtonAccessible
      59             :   bool ContainsMenu() const;
      60             : };
      61             : 
      62             : 
      63             : /**
      64             :  * Used for XUL checkbox element.
      65             :  */
      66           0 : class XULCheckboxAccessible : public LeafAccessible
      67             : {
      68             : public:
      69             :   enum { eAction_Click = 0 };
      70             :   XULCheckboxAccessible(nsIContent* aContent, DocAccessible* aDoc);
      71             : 
      72             :   // Accessible
      73             :   virtual mozilla::a11y::role NativeRole() override;
      74             :   virtual uint64_t NativeState() override;
      75             : 
      76             :   // ActionAccessible
      77             :   virtual uint8_t ActionCount() override;
      78             :   virtual void ActionNameAt(uint8_t aIndex, nsAString& aName) override;
      79             :   virtual bool DoAction(uint8_t aIndex) override;
      80             : };
      81             : 
      82             : /**
      83             :  * Used for XUL dropmarker element.
      84             :  */
      85           0 : class XULDropmarkerAccessible : public LeafAccessible
      86             : {
      87             : public:
      88             :   enum { eAction_Click = 0 };
      89             :   XULDropmarkerAccessible(nsIContent* aContent, DocAccessible* aDoc);
      90             : 
      91             :   // Accessible
      92             :   virtual mozilla::a11y::role NativeRole() override;
      93             :   virtual uint64_t NativeState() override;
      94             : 
      95             :   // ActionAccessible
      96             :   virtual uint8_t ActionCount() override;
      97             :   virtual void ActionNameAt(uint8_t aIndex, nsAString& aName) override;
      98             :   virtual bool DoAction(uint8_t aIndex) override;
      99             : 
     100             : private:
     101             :   bool DropmarkerOpen(bool aToggleOpen) const;
     102             : };
     103             : 
     104             : /**
     105             :  * Used for XUL groupbox element.
     106             :  */
     107           0 : class XULGroupboxAccessible final : public AccessibleWrap
     108             : {
     109             : public:
     110             :   XULGroupboxAccessible(nsIContent* aContent, DocAccessible* aDoc);
     111             : 
     112             :   // Accessible
     113             :   virtual mozilla::a11y::role NativeRole() override;
     114             :   virtual Relation RelationByType(RelationType aType) override;
     115             : 
     116             : protected:
     117             :   // Accessible
     118             :   virtual ENameValueFlag NativeName(nsString& aName) override;
     119             : };
     120             : 
     121             : /**
     122             :  * Used for XUL radio element (radio button).
     123             :  */
     124           0 : class XULRadioButtonAccessible : public RadioButtonAccessible
     125             : {
     126             : 
     127             : public:
     128             :   XULRadioButtonAccessible(nsIContent* aContent, DocAccessible* aDoc);
     129             : 
     130             :   // Accessible
     131             :   virtual uint64_t NativeState() override;
     132             :   virtual uint64_t NativeInteractiveState() const override;
     133             : 
     134             :   // Widgets
     135             :   virtual Accessible* ContainerWidget() const override;
     136             : };
     137             : 
     138             : /**
     139             :  * Used for XUL radiogroup element.
     140             :  */
     141           0 : class XULRadioGroupAccessible : public XULSelectControlAccessible
     142             : {
     143             : public:
     144             :   XULRadioGroupAccessible(nsIContent* aContent, DocAccessible* aDoc);
     145             : 
     146             :   // Accessible
     147             :   virtual mozilla::a11y::role NativeRole() override;
     148             :   virtual uint64_t NativeInteractiveState() const override;
     149             : 
     150             :   // Widgets
     151             :   virtual bool IsWidget() const override;
     152             :   virtual bool IsActiveWidget() const override;
     153             :   virtual bool AreItemsOperable() const override;
     154             : };
     155             : 
     156             : /**
     157             :  * Used for XUL statusbar element.
     158             :  */
     159           0 : class XULStatusBarAccessible : public AccessibleWrap
     160             : {
     161             : public:
     162             :   XULStatusBarAccessible(nsIContent* aContent, DocAccessible* aDoc);
     163             : 
     164             :   // Accessible
     165             :   virtual mozilla::a11y::role NativeRole() override;
     166             : };
     167             : 
     168             : /**
     169             :  * Used for XUL toolbarbutton element.
     170             :  */
     171           0 : class XULToolbarButtonAccessible : public XULButtonAccessible
     172             : {
     173             : public:
     174             :   XULToolbarButtonAccessible(nsIContent* aContent, DocAccessible* aDoc);
     175             : 
     176             :   // Accessible
     177             :   virtual void GetPositionAndSizeInternal(int32_t* aPosInSet,
     178             :                                           int32_t* aSetSize) override;
     179             : 
     180             :   // nsXULToolbarButtonAccessible
     181             :   static bool IsSeparator(Accessible* aAccessible);
     182             : };
     183             : 
     184             : /**
     185             :  * Used for XUL toolbar element.
     186             :  */
     187           0 : class XULToolbarAccessible : public AccessibleWrap
     188             : {
     189             : public:
     190             :   XULToolbarAccessible(nsIContent* aContent, DocAccessible* aDoc);
     191             : 
     192             :   // Accessible
     193             :   virtual mozilla::a11y::role NativeRole() override;
     194             : 
     195             : protected:
     196             :   // Accessible
     197             :   virtual ENameValueFlag NativeName(nsString& aName) override;
     198             : };
     199             : 
     200             : /**
     201             :  * Used for XUL toolbarseparator element.
     202             :  */
     203           0 : class XULToolbarSeparatorAccessible : public LeafAccessible
     204             : {
     205             : public:
     206             :   XULToolbarSeparatorAccessible(nsIContent* aContent,
     207             :                                 DocAccessible* aDoc);
     208             : 
     209             :   // Accessible
     210             :   virtual mozilla::a11y::role NativeRole() override;
     211             :   virtual uint64_t NativeState() override;
     212             : };
     213             : 
     214             : } // namespace a11y
     215             : } // namespace mozilla
     216             : 
     217             : #endif
     218             : 

Generated by: LCOV version 1.13