OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008 Apple 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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
56 class VisibleSelection; | 56 class VisibleSelection; |
57 class Widget; | 57 class Widget; |
58 | 58 |
59 class AccessibilityRenderObject : public AccessibilityNodeObject { | 59 class AccessibilityRenderObject : public AccessibilityNodeObject { |
60 protected: | 60 protected: |
61 explicit AccessibilityRenderObject(RenderObject*); | 61 explicit AccessibilityRenderObject(RenderObject*); |
62 public: | 62 public: |
63 static PassRefPtr<AccessibilityRenderObject> create(RenderObject*); | 63 static PassRefPtr<AccessibilityRenderObject> create(RenderObject*); |
64 virtual ~AccessibilityRenderObject(); | 64 virtual ~AccessibilityRenderObject(); |
65 | 65 |
66 RenderObject* m_renderer; | |
67 | |
68 // Public, overridden from AccessibilityObject. | 66 // Public, overridden from AccessibilityObject. |
69 virtual RenderObject* renderer() const { return m_renderer; } | 67 virtual RenderObject* renderer() const { return m_renderer; } |
70 virtual LayoutRect elementRect() const; | 68 virtual LayoutRect elementRect(); |
Julien - ping for review
2013/05/03 20:54:20
FWIW I would have kept this const because you stil
dmazzoni
2013/05/06 04:58:01
Great idea, that simplifies things a lot.
| |
71 | 69 |
72 // DEPRECATED - investigate and remove. | 70 // DEPRECATED - investigate and remove. |
73 virtual int layoutCount() const; | 71 virtual int layoutCount() const; |
74 | 72 |
75 void setRenderer(RenderObject*); | 73 void setRenderer(RenderObject*); |
76 RenderBoxModelObject* renderBoxModelObject() const; | 74 RenderBoxModelObject* renderBoxModelObject() const; |
77 RenderView* topRenderer() const; | 75 RenderView* topRenderer() const; |
78 Document* topDocument() const; | 76 Document* topDocument() const; |
79 HTMLLabelElement* labelElementContainer() const; | 77 HTMLLabelElement* labelElementContainer() const; |
80 bool shouldNotifyActiveDescendant() const; | 78 bool shouldNotifyActiveDescendant() const; |
81 bool needsToUpdateChildren() const { return m_childrenDirty; } | 79 bool needsToUpdateChildren() const { return m_childrenDirty; } |
82 ScrollableArea* getScrollableAreaIfScrollable() const; | 80 ScrollableArea* getScrollableAreaIfScrollable() const; |
83 virtual AccessibilityRole determineAccessibilityRole(); | 81 virtual AccessibilityRole determineAccessibilityRole(); |
84 | 82 |
85 protected: | 83 protected: |
84 RenderObject* m_renderer; | |
85 LayoutRect m_cachedElementRect; | |
86 LayoutRect m_cachedFrameRect; | |
87 bool m_cachedElementRectDirty; | |
88 | |
86 // | 89 // |
87 // Overridden from AccessibilityObject. | 90 // Overridden from AccessibilityObject. |
88 // | 91 // |
89 | 92 |
90 virtual void init(); | 93 virtual void init(); |
91 virtual void detach(); | 94 virtual void detach(); |
92 virtual bool isDetached() const { return !m_renderer; } | 95 virtual bool isDetached() const { return !m_renderer; } |
93 virtual bool isAccessibilityRenderObject() const { return true; } | 96 virtual bool isAccessibilityRenderObject() const { return true; } |
94 | 97 |
95 // Check object role or purpose. | 98 // Check object role or purpose. |
(...skipping 27 matching lines...) Expand all Loading... | |
123 // Whether objects are ignored, i.e. not included in the tree. | 126 // Whether objects are ignored, i.e. not included in the tree. |
124 virtual AccessibilityObjectInclusion defaultObjectInclusion() const; | 127 virtual AccessibilityObjectInclusion defaultObjectInclusion() const; |
125 virtual bool computeAccessibilityIsIgnored() const; | 128 virtual bool computeAccessibilityIsIgnored() const; |
126 | 129 |
127 // Properties of static elements. | 130 // Properties of static elements. |
128 virtual const AtomicString& accessKey() const; | 131 virtual const AtomicString& accessKey() const; |
129 virtual AccessibilityObject* correspondingControlForLabelElement() const; | 132 virtual AccessibilityObject* correspondingControlForLabelElement() const; |
130 virtual AccessibilityObject* correspondingLabelForControlElement() const; | 133 virtual AccessibilityObject* correspondingLabelForControlElement() const; |
131 virtual bool exposesTitleUIElement() const; | 134 virtual bool exposesTitleUIElement() const; |
132 virtual void linkedUIElements(AccessibilityChildrenVector&) const; | 135 virtual void linkedUIElements(AccessibilityChildrenVector&) const; |
133 virtual AccessibilityOrientation orientation() const; | 136 virtual AccessibilityOrientation orientation(); |
134 virtual void tabChildren(AccessibilityChildrenVector&); | 137 virtual void tabChildren(AccessibilityChildrenVector&); |
135 virtual String text() const; | 138 virtual String text() const; |
136 virtual int textLength() const; | 139 virtual int textLength() const; |
137 virtual AccessibilityObject* titleUIElement() const; | 140 virtual AccessibilityObject* titleUIElement() const; |
138 virtual KURL url() const; | 141 virtual KURL url() const; |
139 virtual void visibleChildren(AccessibilityChildrenVector&); | 142 virtual void visibleChildren(AccessibilityChildrenVector&); |
140 | 143 |
141 // Properties of interactive elements. | 144 // Properties of interactive elements. |
142 virtual const String& actionVerb() const; | 145 virtual const String& actionVerb() const; |
143 LayoutRect checkboxOrRadioRect() const; | |
144 virtual void selectedChildren(AccessibilityChildrenVector&); | 146 virtual void selectedChildren(AccessibilityChildrenVector&); |
145 virtual String stringValue() const; | 147 virtual String stringValue() const; |
146 | 148 |
147 // ARIA attributes. | 149 // ARIA attributes. |
148 virtual AccessibilityObject* activeDescendant() const; | 150 virtual AccessibilityObject* activeDescendant() const; |
149 virtual void ariaFlowToElements(AccessibilityChildrenVector&) const; | 151 virtual void ariaFlowToElements(AccessibilityChildrenVector&) const; |
150 virtual bool ariaHasPopup() const; | 152 virtual bool ariaHasPopup() const; |
151 virtual void ariaOwnsElements(AccessibilityChildrenVector&) const; | 153 virtual void ariaOwnsElements(AccessibilityChildrenVector&) const; |
152 virtual bool ariaRoleHasPresentationalChildren() const; | 154 virtual bool ariaRoleHasPresentationalChildren() const; |
153 virtual void determineARIADropEffects(Vector<String>&); | 155 virtual void determineARIADropEffects(Vector<String>&); |
(...skipping 10 matching lines...) Expand all Loading... | |
164 virtual const AtomicString& ariaLiveRegionRelevant() const; | 166 virtual const AtomicString& ariaLiveRegionRelevant() const; |
165 virtual bool ariaLiveRegionAtomic() const; | 167 virtual bool ariaLiveRegionAtomic() const; |
166 virtual bool ariaLiveRegionBusy() const; | 168 virtual bool ariaLiveRegionBusy() const; |
167 | 169 |
168 // Accessibility Text. | 170 // Accessibility Text. |
169 virtual String textUnderElement() const; | 171 virtual String textUnderElement() const; |
170 | 172 |
171 // Accessibility Text - (To be deprecated). | 173 // Accessibility Text - (To be deprecated). |
172 virtual String helpText() const; | 174 virtual String helpText() const; |
173 | 175 |
174 // Position and size. | 176 // Location and click point in frame-relative coordinates. |
175 virtual LayoutRect boundingBoxRect() const; | 177 virtual void updateCachedElementRect(); |
178 virtual void markCachedElementRectDirty(); | |
176 virtual IntPoint clickPoint(); | 179 virtual IntPoint clickPoint(); |
177 | 180 |
178 // Hit testing. | 181 // Hit testing. |
179 virtual AccessibilityObject* accessibilityHitTest(const IntPoint&) const; | 182 virtual AccessibilityObject* accessibilityHitTest(const IntPoint&) const; |
180 virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&) co nst; | 183 virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&); |
181 | 184 |
182 // High-level accessibility tree access. Other modules should only use these functions. | 185 // High-level accessibility tree access. Other modules should only use these functions. |
183 virtual AccessibilityObject* parentObject() const; | 186 virtual AccessibilityObject* parentObject() const; |
184 virtual AccessibilityObject* parentObjectIfExists() const; | 187 virtual AccessibilityObject* parentObjectIfExists() const; |
185 | 188 |
186 // Low-level accessibility tree exploration, only for use within the accessi bility module. | 189 // Low-level accessibility tree exploration, only for use within the accessi bility module. |
187 virtual AccessibilityObject* firstChild() const; | 190 virtual AccessibilityObject* firstChild() const; |
188 virtual AccessibilityObject* lastChild() const; | 191 virtual AccessibilityObject* lastChild() const; |
189 virtual AccessibilityObject* previousSibling() const; | 192 virtual AccessibilityObject* previousSibling() const; |
190 virtual AccessibilityObject* nextSibling() const; | 193 virtual AccessibilityObject* nextSibling() const; |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
254 void addRadioButtonGroupMembers(AccessibilityChildrenVector& linkedUIElement s) const; | 257 void addRadioButtonGroupMembers(AccessibilityChildrenVector& linkedUIElement s) const; |
255 AccessibilityObject* internalLinkElement() const; | 258 AccessibilityObject* internalLinkElement() const; |
256 AccessibilityObject* accessibilityImageMapHitTest(HTMLAreaElement*, const In tPoint&) const; | 259 AccessibilityObject* accessibilityImageMapHitTest(HTMLAreaElement*, const In tPoint&) const; |
257 AccessibilityObject* accessibilityParentForImageMap(HTMLMapElement*) const; | 260 AccessibilityObject* accessibilityParentForImageMap(HTMLMapElement*) const; |
258 bool renderObjectIsObservable(RenderObject*) const; | 261 bool renderObjectIsObservable(RenderObject*) const; |
259 RenderObject* renderParentObject() const; | 262 RenderObject* renderParentObject() const; |
260 bool isDescendantOfElementType(const QualifiedName& tagName) const; | 263 bool isDescendantOfElementType(const QualifiedName& tagName) const; |
261 bool isSVGImage() const; | 264 bool isSVGImage() const; |
262 void detachRemoteSVGRoot(); | 265 void detachRemoteSVGRoot(); |
263 AccessibilitySVGRoot* remoteSVGRootElement() const; | 266 AccessibilitySVGRoot* remoteSVGRootElement() const; |
264 AccessibilityObject* remoteSVGElementHitTest(const IntPoint&) const; | 267 AccessibilityObject* remoteSVGElementHitTest(const IntPoint&); |
265 void offsetBoundingBoxForRemoteSVGElement(LayoutRect&) const; | 268 void offsetBoundingBoxForRemoteSVGElement(LayoutRect&) const; |
266 void addHiddenChildren(); | 269 void addHiddenChildren(); |
267 void addTextFieldChildren(); | 270 void addTextFieldChildren(); |
268 void addImageMapChildren(); | 271 void addImageMapChildren(); |
269 void addCanvasChildren(); | 272 void addCanvasChildren(); |
270 void addAttachmentChildren(); | 273 void addAttachmentChildren(); |
271 void addRemoteSVGChildren(); | 274 void addRemoteSVGChildren(); |
272 void ariaSelectedRows(AccessibilityChildrenVector&); | 275 void ariaSelectedRows(AccessibilityChildrenVector&); |
273 bool elementAttributeValue(const QualifiedName&) const; | 276 bool elementAttributeValue(const QualifiedName&) const; |
274 bool inheritsPresentationalRole() const; | 277 bool inheritsPresentationalRole() const; |
278 LayoutRect computeElementRect(); | |
Julien - ping for review
2013/05/03 20:54:20
This method should really be const as you wouldn't
dmazzoni
2013/05/06 04:58:01
Done.
| |
275 }; | 279 }; |
276 | 280 |
277 inline AccessibilityRenderObject* toAccessibilityRenderObject(AccessibilityObjec t* object) | 281 inline AccessibilityRenderObject* toAccessibilityRenderObject(AccessibilityObjec t* object) |
278 { | 282 { |
279 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isAccessibilityRenderObj ect()); | 283 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isAccessibilityRenderObj ect()); |
280 return static_cast<AccessibilityRenderObject*>(object); | 284 return static_cast<AccessibilityRenderObject*>(object); |
281 } | 285 } |
282 | 286 |
283 inline const AccessibilityRenderObject* toAccessibilityRenderObject(const Access ibilityObject* object) | 287 inline const AccessibilityRenderObject* toAccessibilityRenderObject(const Access ibilityObject* object) |
284 { | 288 { |
285 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isAccessibilityRenderObj ect()); | 289 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isAccessibilityRenderObj ect()); |
286 return static_cast<const AccessibilityRenderObject*>(object); | 290 return static_cast<const AccessibilityRenderObject*>(object); |
287 } | 291 } |
288 | 292 |
289 // This will catch anyone doing an unnecessary cast. | 293 // This will catch anyone doing an unnecessary cast. |
290 void toAccessibilityRenderObject(const AccessibilityRenderObject*); | 294 void toAccessibilityRenderObject(const AccessibilityRenderObject*); |
291 | 295 |
292 } // namespace WebCore | 296 } // namespace WebCore |
293 | 297 |
294 #endif // AccessibilityRenderObject_h | 298 #endif // AccessibilityRenderObject_h |
OLD | NEW |