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

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: Update comment 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..6871bf64e18cb10daeb65d4a3a66c4109f0d18ed 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();
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.
// 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;
@@ -171,13 +173,14 @@ 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 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();
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.
};
inline AccessibilityRenderObject* toAccessibilityRenderObject(AccessibilityObject* object)

Powered by Google App Engine
This is Rietveld 408576698