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

Unified Diff: Source/core/accessibility/AccessibilityRenderObject.h

Issue 14740025: Simplify and add caching for accessible bounding box calculation. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/accessibility/AccessibilityRenderObject.h
diff --git a/Source/core/accessibility/AccessibilityRenderObject.h b/Source/core/accessibility/AccessibilityRenderObject.h
index 839c24c4f99a1a83b5c01e4ba37007e052def8da..08bf66b3bd9f14ecad131e97a16cc554d524362b 100644
--- a/Source/core/accessibility/AccessibilityRenderObject.h
+++ b/Source/core/accessibility/AccessibilityRenderObject.h
@@ -63,11 +63,9 @@ public:
static PassRefPtr<AccessibilityRenderObject> create(RenderObject*);
virtual ~AccessibilityRenderObject();
- RenderObject* m_renderer;
-
// Public, overridden from AccessibilityObject.
virtual RenderObject* renderer() const { return m_renderer; }
- virtual LayoutRect elementRect() const;
+ virtual LayoutRect elementRect();
// DEPRECATED - investigate and remove.
virtual int layoutCount() const;
@@ -83,6 +81,11 @@ public:
virtual AccessibilityRole determineAccessibilityRole();
protected:
+ RenderObject* m_renderer;
+ LayoutRect m_cachedElementRect;
+ LayoutRect m_cachedFrameRect;
+ bool m_cachedElementRectDirty;
+
//
// Overridden from AccessibilityObject.
//
@@ -130,7 +133,7 @@ protected:
virtual AccessibilityObject* correspondingLabelForControlElement() const;
virtual bool exposesTitleUIElement() const;
virtual void linkedUIElements(AccessibilityChildrenVector&) const;
- virtual AccessibilityOrientation orientation() const;
+ virtual AccessibilityOrientation orientation();
virtual void tabChildren(AccessibilityChildrenVector&);
virtual String text() const;
virtual int textLength() const;
@@ -140,7 +143,6 @@ protected:
// Properties of interactive elements.
virtual const String& actionVerb() const;
- LayoutRect checkboxOrRadioRect() const;
virtual void selectedChildren(AccessibilityChildrenVector&);
virtual String stringValue() const;
@@ -172,12 +174,13 @@ protected:
virtual String helpText() const;
// 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
- virtual LayoutRect boundingBoxRect() const;
+ virtual void updateCachedElementRect();
+ virtual void markCachedElementRectDirty();
virtual IntPoint clickPoint();
// Hit testing.
virtual AccessibilityObject* accessibilityHitTest(const IntPoint&) const;
- virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&) const;
+ virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&);
// High-level accessibility tree access. Other modules should only use these functions.
virtual AccessibilityObject* parentObject() const;
@@ -261,7 +264,7 @@ private:
bool isSVGImage() const;
void detachRemoteSVGRoot();
AccessibilitySVGRoot* remoteSVGRootElement() const;
- AccessibilityObject* remoteSVGElementHitTest(const IntPoint&) const;
+ AccessibilityObject* remoteSVGElementHitTest(const IntPoint&);
void offsetBoundingBoxForRemoteSVGElement(LayoutRect&) const;
void addHiddenChildren();
void addTextFieldChildren();
@@ -272,6 +275,7 @@ private:
void ariaSelectedRows(AccessibilityChildrenVector&);
bool elementAttributeValue(const QualifiedName&) const;
bool inheritsPresentationalRole() const;
+ LayoutRect computeElementRect();
};
inline AccessibilityRenderObject* toAccessibilityRenderObject(AccessibilityObject* object)
« no previous file with comments | « Source/core/accessibility/AccessibilityObject.cpp ('k') | Source/core/accessibility/AccessibilityRenderObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698