Index: third_party/WebKit/Source/modules/accessibility/AXObject.cpp |
diff --git a/third_party/WebKit/Source/modules/accessibility/AXObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXObject.cpp |
index 400fc11edb309326ab4199bbd5385094a973d87d..b34294626b6c8f78ba3ad5acfb69fbfbcd6c8c21 100644 |
--- a/third_party/WebKit/Source/modules/accessibility/AXObject.cpp |
+++ b/third_party/WebKit/Source/modules/accessibility/AXObject.cpp |
@@ -1213,7 +1213,8 @@ IntPoint AXObject::scrollOffset() const { |
if (!area) |
return IntPoint(); |
- return IntPoint(area->scrollPosition().x(), area->scrollPosition().y()); |
+ return IntPoint(area->scrollOffsetInt().width(), |
+ area->scrollOffsetInt().height()); |
} |
IntPoint AXObject::minimumScrollOffset() const { |
@@ -1221,8 +1222,8 @@ IntPoint AXObject::minimumScrollOffset() const { |
if (!area) |
return IntPoint(); |
- return IntPoint(area->minimumScrollPosition().x(), |
- area->minimumScrollPosition().y()); |
+ return IntPoint(area->minimumScrollOffsetInt().width(), |
+ area->minimumScrollOffsetInt().height()); |
} |
IntPoint AXObject::maximumScrollOffset() const { |
@@ -1230,8 +1231,8 @@ IntPoint AXObject::maximumScrollOffset() const { |
if (!area) |
return IntPoint(); |
- return IntPoint(area->maximumScrollPosition().x(), |
- area->maximumScrollPosition().y()); |
+ return IntPoint(area->maximumScrollOffsetInt().width(), |
+ area->maximumScrollOffsetInt().height()); |
} |
void AXObject::setScrollOffset(const IntPoint& offset) const { |
@@ -1240,8 +1241,8 @@ void AXObject::setScrollOffset(const IntPoint& offset) const { |
return; |
// TODO(bokan): This should potentially be a UserScroll. |
- area->setScrollPosition(DoublePoint(offset.x(), offset.y()), |
- ProgrammaticScroll); |
+ area->setScrollOffset(ScrollOffset(offset.x(), offset.y()), |
+ ProgrammaticScroll); |
} |
void AXObject::getRelativeBounds(AXObject** outContainer, |
@@ -1301,9 +1302,8 @@ void AXObject::getRelativeBounds(AXObject** outContainer, |
// bounds to be relative to the *unscrolled* position of the container object. |
ScrollableArea* scrollableArea = container->getScrollableAreaIfScrollable(); |
if (scrollableArea && !container->isWebArea()) { |
- IntPoint scrollPosition = scrollableArea->scrollPosition(); |
- outBoundsInContainer.move( |
- FloatSize(scrollPosition.x(), scrollPosition.y())); |
+ ScrollOffset scrollOffset = scrollableArea->scrollOffset(); |
+ outBoundsInContainer.move(scrollOffset); |
} |
// Compute the transform between the container's coordinate space and this |
@@ -1469,25 +1469,25 @@ void AXObject::scrollToMakeVisibleWithSubFocus(const IntRect& subfocus) const { |
return; |
IntRect objectRect = pixelSnappedIntRect(getBoundsInFrameCoordinates()); |
- IntPoint scrollPosition = scrollableArea->scrollPosition(); |
+ IntSize scrollOffset = scrollableArea->scrollOffsetInt(); |
IntRect scrollVisibleRect = scrollableArea->visibleContentRect(); |
// Convert the object rect into local coordinates. |
if (!scrollParent->isWebArea()) { |
- objectRect.moveBy(scrollPosition); |
+ objectRect.moveBy(IntPoint(scrollOffset)); |
objectRect.moveBy( |
-pixelSnappedIntRect(scrollParent->getBoundsInFrameCoordinates()) |
.location()); |
} |
- int desiredX = |
- computeBestScrollOffset(scrollPosition.x(), objectRect.x() + subfocus.x(), |
- objectRect.x() + subfocus.maxX(), objectRect.x(), |
- objectRect.maxX(), 0, scrollVisibleRect.width()); |
- int desiredY = |
- computeBestScrollOffset(scrollPosition.y(), objectRect.y() + subfocus.y(), |
- objectRect.y() + subfocus.maxY(), objectRect.y(), |
- objectRect.maxY(), 0, scrollVisibleRect.height()); |
+ int desiredX = computeBestScrollOffset( |
+ scrollOffset.width(), objectRect.x() + subfocus.x(), |
+ objectRect.x() + subfocus.maxX(), objectRect.x(), objectRect.maxX(), 0, |
+ scrollVisibleRect.width()); |
+ int desiredY = computeBestScrollOffset( |
+ scrollOffset.height(), objectRect.y() + subfocus.y(), |
+ objectRect.y() + subfocus.maxY(), objectRect.y(), objectRect.maxY(), 0, |
+ scrollVisibleRect.height()); |
scrollParent->setScrollOffset(IntPoint(desiredX, desiredY)); |
@@ -1532,12 +1532,12 @@ void AXObject::scrollToGlobalPoint(const IntPoint& globalPoint) const { |
inner->parentObject()->getBoundsInFrameCoordinates()) |
: pixelSnappedIntRect(inner->getBoundsInFrameCoordinates()); |
IntRect objectRect = innerRect; |
- IntPoint scrollPosition = scrollableArea->scrollPosition(); |
+ IntSize scrollOffset = scrollableArea->scrollOffsetInt(); |
// Convert the object rect into local coordinates. |
objectRect.move(offsetX, offsetY); |
if (!outer->isWebArea()) |
- objectRect.move(scrollPosition.x(), scrollPosition.y()); |
+ objectRect.move(scrollOffset.width(), scrollOffset.height()); |
int desiredX = computeBestScrollOffset(0, objectRect.x(), objectRect.maxX(), |
objectRect.x(), objectRect.maxX(), |
@@ -1551,11 +1551,11 @@ void AXObject::scrollToGlobalPoint(const IntPoint& globalPoint) const { |
// If outer object we just scrolled is a web area (frame) but the inner |
// object is not, keep track of the coordinate transformation to apply to |
// future nested calculations. |
- scrollPosition = scrollableArea->scrollPosition(); |
- offsetX -= (scrollPosition.x() + point.x()); |
- offsetY -= (scrollPosition.y() + point.y()); |
- point.move(scrollPosition.x() - innerRect.x(), |
- scrollPosition.y() - innerRect.y()); |
+ scrollOffset = scrollableArea->scrollOffsetInt(); |
+ offsetX -= (scrollOffset.width() + point.x()); |
+ offsetY -= (scrollOffset.height() + point.y()); |
+ point.move(scrollOffset.width() - innerRect.width(), |
+ scrollOffset.height() - innerRect.y()); |
} else if (inner->isWebArea()) { |
// Otherwise, if the inner object is a web area, reset the coordinate |
// transformation. |