Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(203)

Side by Side Diff: third_party/WebKit/Source/modules/accessibility/AXNodeObject.h

Issue 2858493002: Rename AXObject to AXObjectImpl in modules/ and web/ (Closed)
Patch Set: Fixed rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012, Google Inc. All rights reserved. 2 * Copyright (C) 2012, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 12 matching lines...) Expand all
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */ 27 */
28 28
29 #ifndef AXNodeObject_h 29 #ifndef AXNodeObject_h
30 #define AXNodeObject_h 30 #define AXNodeObject_h
31 31
32 #include "modules/ModulesExport.h" 32 #include "modules/ModulesExport.h"
33 #include "modules/accessibility/AXObject.h" 33 #include "modules/accessibility/AXObjectImpl.h"
34 #include "platform/wtf/Forward.h" 34 #include "platform/wtf/Forward.h"
35 35
36 namespace blink { 36 namespace blink {
37 37
38 class AXObjectCacheImpl; 38 class AXObjectCacheImpl;
39 class Element; 39 class Element;
40 class HTMLLabelElement; 40 class HTMLLabelElement;
41 class Node; 41 class Node;
42 42
43 class MODULES_EXPORT AXNodeObject : public AXObject { 43 class MODULES_EXPORT AXNodeObject : public AXObjectImpl {
44 WTF_MAKE_NONCOPYABLE(AXNodeObject); 44 WTF_MAKE_NONCOPYABLE(AXNodeObject);
45 45
46 protected: 46 protected:
47 AXNodeObject(Node*, AXObjectCacheImpl&); 47 AXNodeObject(Node*, AXObjectCacheImpl&);
48 48
49 public: 49 public:
50 static AXNodeObject* Create(Node*, AXObjectCacheImpl&); 50 static AXNodeObject* Create(Node*, AXObjectCacheImpl&);
51 ~AXNodeObject() override; 51 ~AXNodeObject() override;
52 DECLARE_VIRTUAL_TRACE(); 52 DECLARE_VIRTUAL_TRACE();
53 53
54 protected: 54 protected:
55 // Protected data. 55 // Protected data.
56 AccessibilityRole aria_role_; 56 AccessibilityRole aria_role_;
57 bool children_dirty_; 57 bool children_dirty_;
58 #if DCHECK_IS_ON() 58 #if DCHECK_IS_ON()
59 bool initialized_ = false; 59 bool initialized_ = false;
60 #endif 60 #endif
61 61
62 bool ComputeAccessibilityIsIgnored(IgnoredReasons* = nullptr) const override; 62 bool ComputeAccessibilityIsIgnored(IgnoredReasons* = nullptr) const override;
63 const AXObject* InheritsPresentationalRoleFrom() const override; 63 const AXObjectImpl* InheritsPresentationalRoleFrom() const override;
64 virtual AccessibilityRole DetermineAccessibilityRole(); 64 virtual AccessibilityRole DetermineAccessibilityRole();
65 virtual AccessibilityRole NativeAccessibilityRoleIgnoringAria() const; 65 virtual AccessibilityRole NativeAccessibilityRoleIgnoringAria() const;
66 String AccessibilityDescriptionForElements( 66 String AccessibilityDescriptionForElements(
67 HeapVector<Member<Element>>& elements) const; 67 HeapVector<Member<Element>>& elements) const;
68 void AlterSliderValue(bool increase); 68 void AlterSliderValue(bool increase);
69 AXObject* ActiveDescendant() override; 69 AXObjectImpl* ActiveDescendant() override;
70 String AriaAccessibilityDescription() const; 70 String AriaAccessibilityDescription() const;
71 String AriaAutoComplete() const; 71 String AriaAutoComplete() const;
72 AccessibilityRole DetermineAriaRoleAttribute() const; 72 AccessibilityRole DetermineAriaRoleAttribute() const;
73 void AccessibilityChildrenFromAttribute(QualifiedName attr, 73 void AccessibilityChildrenFromAttribute(QualifiedName attr,
74 AXObject::AXObjectVector&) const; 74 AXObjectImpl::AXObjectVector&) const;
75 75
76 bool HasContentEditableAttributeSet() const; 76 bool HasContentEditableAttributeSet() const;
77 bool IsTextControl() const override; 77 bool IsTextControl() const override;
78 // This returns true if it's focusable but it's not content editable and it's 78 // This returns true if it's focusable but it's not content editable and it's
79 // not a control or ARIA control. 79 // not a control or ARIA control.
80 bool IsGenericFocusableElement() const; 80 bool IsGenericFocusableElement() const;
81 AXObject* MenuButtonForMenu() const; 81 AXObjectImpl* MenuButtonForMenu() const;
82 Element* MenuItemElementForMenu() const; 82 Element* MenuItemElementForMenu() const;
83 Element* MouseButtonListener() const; 83 Element* MouseButtonListener() const;
84 AccessibilityRole RemapAriaRoleDueToParent(AccessibilityRole) const; 84 AccessibilityRole RemapAriaRoleDueToParent(AccessibilityRole) const;
85 bool IsNativeCheckboxOrRadio() const; 85 bool IsNativeCheckboxOrRadio() const;
86 void SetNode(Node*); 86 void SetNode(Node*);
87 AXObject* CorrespondingControlForLabelElement() const; 87 AXObjectImpl* CorrespondingControlForLabelElement() const;
88 HTMLLabelElement* LabelElementContainer() const; 88 HTMLLabelElement* LabelElementContainer() const;
89 89
90 // 90 //
91 // Overridden from AXObject. 91 // Overridden from AXObjectImpl.
92 // 92 //
93 93
94 void Init() override; 94 void Init() override;
95 void Detach() override; 95 void Detach() override;
96 bool IsDetached() const override { return !node_; } 96 bool IsDetached() const override { return !node_; }
97 bool IsAXNodeObject() const final { return true; } 97 bool IsAXNodeObject() const final { return true; }
98 98
99 void GetSparseAXAttributes(AXSparseAttributeClient&) const override; 99 void GetSparseAXAttributes(AXSparseAttributeClient&) const override;
100 100
101 // Check object role or purpose. 101 // Check object role or purpose.
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 bool CanSetValueAttribute() const override; 139 bool CanSetValueAttribute() const override;
140 bool CanSetSelectedAttribute() const override; 140 bool CanSetSelectedAttribute() const override;
141 141
142 // Properties of static elements. 142 // Properties of static elements.
143 RGBA32 ColorValue() const final; 143 RGBA32 ColorValue() const final;
144 bool CanvasHasFallbackContent() const final; 144 bool CanvasHasFallbackContent() const final;
145 int HeadingLevel() const final; 145 int HeadingLevel() const final;
146 unsigned HierarchicalLevel() const final; 146 unsigned HierarchicalLevel() const final;
147 void Markers(Vector<DocumentMarker::MarkerType>&, 147 void Markers(Vector<DocumentMarker::MarkerType>&,
148 Vector<AXRange>&) const override; 148 Vector<AXRange>&) const override;
149 AXObject* InPageLinkTarget() const override; 149 AXObjectImpl* InPageLinkTarget() const override;
150 AccessibilityOrientation Orientation() const override; 150 AccessibilityOrientation Orientation() const override;
151 AXObjectVector RadioButtonsInGroup() const override; 151 AXObjectVector RadioButtonsInGroup() const override;
152 static HeapVector<Member<HTMLInputElement>> FindAllRadioButtonsWithSameName( 152 static HeapVector<Member<HTMLInputElement>> FindAllRadioButtonsWithSameName(
153 HTMLInputElement* radio_button); 153 HTMLInputElement* radio_button);
154 String GetText() const override; 154 String GetText() const override;
155 155
156 // Properties of interactive elements. 156 // Properties of interactive elements.
157 AriaCurrentState GetAriaCurrentState() const final; 157 AriaCurrentState GetAriaCurrentState() const final;
158 InvalidState GetInvalidState() const final; 158 InvalidState GetInvalidState() const final;
159 // Only used when invalidState() returns InvalidStateOther. 159 // Only used when invalidState() returns InvalidStateOther.
(...skipping 19 matching lines...) Expand all
179 AXObjectVector* description_objects) const override; 179 AXObjectVector* description_objects) const override;
180 String Description(AXNameFrom, 180 String Description(AXNameFrom,
181 AXDescriptionFrom&, 181 AXDescriptionFrom&,
182 DescriptionSources*, 182 DescriptionSources*,
183 AXRelatedObjectVector*) const override; 183 AXRelatedObjectVector*) const override;
184 String Placeholder(AXNameFrom) const override; 184 String Placeholder(AXNameFrom) const override;
185 bool NameFromLabelElement() const override; 185 bool NameFromLabelElement() const override;
186 bool NameFromContents() const override; 186 bool NameFromContents() const override;
187 187
188 // Location 188 // Location
189 void GetRelativeBounds(AXObject** out_container, 189 void GetRelativeBounds(AXObjectImpl** out_container,
190 FloatRect& out_bounds_in_container, 190 FloatRect& out_bounds_in_container,
191 SkMatrix44& out_container_transform) const override; 191 SkMatrix44& out_container_transform) const override;
192 192
193 // High-level accessibility tree access. 193 // High-level accessibility tree access.
194 AXObject* ComputeParent() const override; 194 AXObjectImpl* ComputeParent() const override;
195 AXObject* ComputeParentIfExists() const override; 195 AXObjectImpl* ComputeParentIfExists() const override;
196 196
197 // Low-level accessibility tree exploration. 197 // Low-level accessibility tree exploration.
198 AXObject* RawFirstChild() const override; 198 AXObjectImpl* RawFirstChild() const override;
199 AXObject* RawNextSibling() const override; 199 AXObjectImpl* RawNextSibling() const override;
200 void AddChildren() override; 200 void AddChildren() override;
201 bool CanHaveChildren() const override; 201 bool CanHaveChildren() const override;
202 void AddChild(AXObject*); 202 void AddChild(AXObjectImpl*);
203 void InsertChild(AXObject*, unsigned index); 203 void InsertChild(AXObjectImpl*, unsigned index);
204 204
205 // DOM and Render tree access. 205 // DOM and Render tree access.
206 Element* ActionElement() const override; 206 Element* ActionElement() const override;
207 Element* AnchorElement() const override; 207 Element* AnchorElement() const override;
208 Document* GetDocument() const override; 208 Document* GetDocument() const override;
209 Node* GetNode() const override { return node_; } 209 Node* GetNode() const override { return node_; }
210 210
211 // Modify or take an action on an object. 211 // Modify or take an action on an object.
212 void SetFocused(bool) final; 212 void SetFocused(bool) final;
213 void Increment() final; 213 void Increment() final;
214 void Decrement() final; 214 void Decrement() final;
215 void SetSequentialFocusNavigationStartingPoint() final; 215 void SetSequentialFocusNavigationStartingPoint() final;
216 216
217 // Notifications that this object may have changed. 217 // Notifications that this object may have changed.
218 void ChildrenChanged() override; 218 void ChildrenChanged() override;
219 void SelectionChanged() final; 219 void SelectionChanged() final;
220 void TextChanged() override; 220 void TextChanged() override;
221 void UpdateAccessibilityRole() final; 221 void UpdateAccessibilityRole() final;
222 222
223 // Position in set and Size of set 223 // Position in set and Size of set
224 int PosInSet() const override; 224 int PosInSet() const override;
225 int SetSize() const override; 225 int SetSize() const override;
226 226
227 // Aria-owns. 227 // Aria-owns.
228 void ComputeAriaOwnsChildren( 228 void ComputeAriaOwnsChildren(
229 HeapVector<Member<AXObject>>& owned_children) const; 229 HeapVector<Member<AXObjectImpl>>& owned_children) const;
230 230
231 private: 231 private:
232 Member<Node> node_; 232 Member<Node> node_;
233 233
234 bool IsNativeCheckboxInMixedState() const; 234 bool IsNativeCheckboxInMixedState() const;
235 String TextFromDescendants(AXObjectSet& visited, 235 String TextFromDescendants(AXObjectSet& visited,
236 bool recursive) const override; 236 bool recursive) const override;
237 String NativeTextAlternative(AXObjectSet& visited, 237 String NativeTextAlternative(AXObjectSet& visited,
238 AXNameFrom&, 238 AXNameFrom&,
239 AXRelatedObjectVector*, 239 AXRelatedObjectVector*,
240 NameSources*, 240 NameSources*,
241 bool* found_text_alternative) const; 241 bool* found_text_alternative) const;
242 float StepValueForRange() const; 242 float StepValueForRange() const;
243 bool IsDescendantOfElementType(HashSet<QualifiedName>& tag_names) const; 243 bool IsDescendantOfElementType(HashSet<QualifiedName>& tag_names) const;
244 String PlaceholderFromNativeAttribute() const; 244 String PlaceholderFromNativeAttribute() const;
245 }; 245 };
246 246
247 } // namespace blink 247 } // namespace blink
248 248
249 #endif // AXNodeObject_h 249 #endif // AXNodeObject_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698