Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/accessible/generic/FormControlAccessible.h
Line
Count
Source (jump to first uncovered line)
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_FormControlAccessible_H_
7
#define MOZILLA_A11Y_FormControlAccessible_H_
8
9
#include "BaseAccessibles.h"
10
11
namespace mozilla {
12
namespace a11y {
13
14
/**
15
  * Generic class used for progress meters.
16
  */
17
template<int Max>
18
class ProgressMeterAccessible : public LeafAccessible
19
{
20
public:
21
  ProgressMeterAccessible(nsIContent* aContent, DocAccessible* aDoc) :
22
    LeafAccessible(aContent, aDoc)
23
0
  {
24
0
    // Ignore 'ValueChange' DOM event in lieu of @value attribute change
25
0
    // notifications.
26
0
    mStateFlags |= eHasNumericValue | eIgnoreDOMUIEvent;
27
0
    mType = eProgressType;
28
0
  }
Unexecuted instantiation: mozilla::a11y::ProgressMeterAccessible<1>::ProgressMeterAccessible(nsIContent*, mozilla::a11y::DocAccessible*)
Unexecuted instantiation: mozilla::a11y::ProgressMeterAccessible<100>::ProgressMeterAccessible(nsIContent*, mozilla::a11y::DocAccessible*)
29
30
  // Accessible
31
  virtual void Value(nsString& aValue) const override;
32
  virtual mozilla::a11y::role NativeRole() const override;
33
  virtual uint64_t NativeState() const override;
34
35
  // Value
36
  virtual double MaxValue() const override;
37
  virtual double MinValue() const override;
38
  virtual double CurValue() const override;
39
  virtual double Step() const override;
40
  virtual bool SetCurValue(double aValue) override;
41
42
  // Widgets
43
  virtual bool IsWidget() const override;
44
45
protected:
46
0
  virtual ~ProgressMeterAccessible() {}
Unexecuted instantiation: mozilla::a11y::ProgressMeterAccessible<1>::~ProgressMeterAccessible()
Unexecuted instantiation: mozilla::a11y::ProgressMeterAccessible<100>::~ProgressMeterAccessible()
47
};
48
49
/**
50
 * Checkbox accessible.
51
 */
52
class CheckboxAccessible : public LeafAccessible
53
{
54
55
public:
56
  enum { eAction_Click = 0 };
57
58
  CheckboxAccessible(nsIContent* aContent, DocAccessible* aDoc) :
59
    LeafAccessible(aContent, aDoc)
60
0
  {
61
0
    // Ignore "CheckboxStateChange" DOM event in lieu of document observer
62
0
    // state change notification.
63
0
    if (aContent->IsHTMLElement()) {
64
0
      mStateFlags |= eIgnoreDOMUIEvent;
65
0
    }
66
0
  }
67
68
  // Accessible
69
  virtual mozilla::a11y::role NativeRole() const override;
70
  virtual uint64_t NativeState() const override;
71
72
  // ActionAccessible
73
  virtual uint8_t ActionCount() const override;
74
  virtual void ActionNameAt(uint8_t aIndex, nsAString& aName) override;
75
  virtual bool DoAction(uint8_t aIndex) const override;
76
77
  // Widgets
78
  virtual bool IsWidget() const override;
79
};
80
81
/**
82
  * Generic class used for radio buttons.
83
  */
84
class RadioButtonAccessible : public LeafAccessible
85
{
86
87
public:
88
  RadioButtonAccessible(nsIContent* aContent, DocAccessible* aDoc);
89
90
  // Accessible
91
  virtual mozilla::a11y::role NativeRole() const override;
92
93
  // ActionAccessible
94
  virtual uint8_t ActionCount() const override;
95
  virtual void ActionNameAt(uint8_t aIndex, nsAString& aName) override;
96
  virtual bool DoAction(uint8_t aIndex) const override;
97
98
  enum { eAction_Click = 0 };
99
100
  // Widgets
101
  virtual bool IsWidget() const override;
102
};
103
104
} // namespace a11y
105
} // namespace mozilla
106
107
#endif
108