summaryrefslogtreecommitdiff
path: root/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-02-03 09:55:33 +0100
committerSimon Hausmann <simon.hausmann@nokia.com>2012-02-03 09:55:33 +0100
commitcd44dc59cdfc39534aef4d417e9f3c412e3be139 (patch)
tree8d89889ba95ed6ec9322e733846cc9cce9d7dff1 /Source/WebCore/accessibility/AccessibilityRenderObject.cpp
parentd11f84f5b5cdc0d92a08af01b13472fdd5f9acb9 (diff)
downloadqtwebkit-cd44dc59cdfc39534aef4d417e9f3c412e3be139.tar.gz
Imported WebKit commit fce473cb4d55aa9fe9d0b0322a2fffecb731b961 (http://svn.webkit.org/repository/webkit/trunk@106560)
Diffstat (limited to 'Source/WebCore/accessibility/AccessibilityRenderObject.cpp')
-rw-r--r--Source/WebCore/accessibility/AccessibilityRenderObject.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
index 942f200e2..dc0d33b93 100644
--- a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -3937,4 +3937,33 @@ AccessibilityRole AccessibilityRenderObject::roleValueForMSAA() const
return m_roleForMSAA;
}
+ScrollableArea* AccessibilityRenderObject::getScrollableAreaIfScrollable() const
+{
+ // If the parent is a scroll view, then this object isn't really scrollable, the parent ScrollView should handle the scrolling.
+ if (parentObject() && parentObject()->isAccessibilityScrollView())
+ return 0;
+
+ if (!m_renderer || !m_renderer->isBox())
+ return 0;
+
+ RenderBox* box = toRenderBox(m_renderer);
+ if (!box->canBeScrolledAndHasScrollableArea())
+ return 0;
+
+ return box->layer();
+}
+
+void AccessibilityRenderObject::scrollTo(const IntPoint& point) const
+{
+ if (!m_renderer || !m_renderer->isBox())
+ return;
+
+ RenderBox* box = toRenderBox(m_renderer);
+ if (!box->canBeScrolledAndHasScrollableArea())
+ return;
+
+ RenderLayer* layer = box->layer();
+ layer->scrollToOffset(point.x(), point.y(), RenderLayer::ScrollOffsetClamped);
+}
+
} // namespace WebCore