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

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: Re-landing with null check fix Created 7 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 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..1c423ebc9d9229b857355b0884f4f94e8611609a 100644
--- a/Source/core/accessibility/AccessibilityRenderObject.h
+++ b/Source/core/accessibility/AccessibilityRenderObject.h
@@ -63,8 +63,6 @@ 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;
@@ -83,6 +81,12 @@ public:
virtual AccessibilityRole determineAccessibilityRole();
protected:
+ RenderObject* m_renderer;
+ mutable LayoutRect m_cachedElementRect;
+ mutable LayoutRect m_cachedFrameRect;
+ mutable IntPoint m_cachedScrollPosition;
+ mutable bool m_cachedElementRectDirty;
+
//
// Overridden from AccessibilityObject.
//
@@ -140,7 +144,6 @@ protected:
// Properties of interactive elements.
virtual const String& actionVerb() const;
- LayoutRect checkboxOrRadioRect() const;
virtual void selectedChildren(AccessibilityChildrenVector&);
virtual String stringValue() const;
@@ -171,8 +174,10 @@ protected:
// Accessibility Text - (To be deprecated).
virtual String helpText() const;
- // Position and size.
- virtual LayoutRect boundingBoxRect() const;
+ // Location and click point in frame-relative coordinates.
+ virtual void checkCachedElementRect() const;
+ virtual void updateCachedElementRect() const;
+ virtual void markCachedElementRectDirty() const;
virtual IntPoint clickPoint();
// Hit testing.
@@ -272,6 +277,7 @@ private:
void ariaSelectedRows(AccessibilityChildrenVector&);
bool elementAttributeValue(const QualifiedName&) const;
bool inheritsPresentationalRole() const;
+ LayoutRect computeElementRect() const;
};
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