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

Unified Diff: Source/core/accessibility/AccessibilityObject.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/AccessibilityObject.h
diff --git a/Source/core/accessibility/AccessibilityObject.h b/Source/core/accessibility/AccessibilityObject.h
index 91edb7de5d6ed7f26ec0635bb57397115559641c..fcf93b552bec9e69e3d4c684057468e238df5603 100644
--- a/Source/core/accessibility/AccessibilityObject.h
+++ b/Source/core/accessibility/AccessibilityObject.h
@@ -425,7 +425,7 @@ public:
// 1-based, to match the aria-level spec.
virtual unsigned hierarchicalLevel() const { return 0; }
virtual void linkedUIElements(AccessibilityChildrenVector&) const { }
- virtual AccessibilityOrientation orientation() const;
+ virtual AccessibilityOrientation orientation();
virtual void tabChildren(AccessibilityChildrenVector&) { }
virtual int tableLevel() const { return 0; }
virtual String text() const { return String(); }
@@ -503,21 +503,17 @@ public:
virtual String title() const { return String(); }
virtual String helpText() const { return String(); }
- // Position and size.
- virtual LayoutRect boundingBoxRect() const { return LayoutRect(); }
- IntRect pixelSnappedBoundingBoxRect() const { return pixelSnappedIntRect(boundingBoxRect()); }
- virtual LayoutRect elementRect() const = 0;
- IntRect pixelSnappedElementRect() const { return pixelSnappedIntRect(elementRect()); }
- LayoutSize size() const { return elementRect().size(); }
- IntSize pixelSnappedSize() const { return elementRect().pixelSnappedSize(); }
+ // Location and click point in frame-relative coordinates.
+ virtual LayoutRect elementRect() { return LayoutRect(); }
+ virtual void updateCachedElementRect() { }
+ virtual void markCachedElementRectDirty();
virtual IntPoint clickPoint();
- static IntRect boundingBoxForQuads(RenderObject*, const Vector<FloatQuad>&);
// Hit testing.
// Called on the root AX object to return the deepest available element.
virtual AccessibilityObject* accessibilityHitTest(const IntPoint&) const { return 0; }
// Called on the AX object after the render tree determines which is the right AccessibilityRenderObject.
- virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&) const;
+ virtual AccessibilityObject* elementAccessibilityHitTest(const IntPoint&);
// High-level accessibility tree access. Other modules should only use these functions.
const AccessibilityChildrenVector& children();
@@ -577,11 +573,11 @@ public:
virtual bool performDefaultAction() const { return press(); }
virtual bool press() const;
// Make this object visible by scrolling as many nested scrollable views as needed.
- virtual void scrollToMakeVisible() const;
+ virtual void scrollToMakeVisible();
// Same, but if the whole object can't be made visible, try for this subrect, in local coordinates.
- virtual void scrollToMakeVisibleWithSubFocus(const IntRect&) const;
+ virtual void scrollToMakeVisibleWithSubFocus(const IntRect&);
// Scroll this object to a given point in global coordinates of the top-level window.
- virtual void scrollToGlobalPoint(const IntPoint&) const;
+ virtual void scrollToGlobalPoint(const IntPoint&);
virtual void setAccessibleName(const AtomicString&) { }
virtual void setFocused(bool) { }
virtual void setSelected(bool) { }
@@ -674,6 +670,7 @@ public:
static bool isARIAInput(AccessibilityRole);
static AccessibilityObject* anchorElementForNode(Node*);
static AccessibilityRole ariaRoleToWebCoreRole(const String&);
+ static IntRect boundingBoxForQuads(RenderObject*, const Vector<FloatQuad>&);
protected:
AXID m_id;

Powered by Google App Engine
This is Rietveld 408576698