Chromium Code Reviews| 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(); |
| 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 // Position and size. |
|
aboxhall
2013/05/02 23:05:56
I think this comment is no longer accurate - or at
dmazzoni
2013/05/02 23:13:56
Good idea. It made more sense in AccessibilityObje
| |
| 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(); | |
| 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 |