| Index: Source/modules/accessibility/AXObject.cpp
|
| diff --git a/Source/modules/accessibility/AXObject.cpp b/Source/modules/accessibility/AXObject.cpp
|
| index 6c614bc316af40c592fb7ac80277f6d05df46665..7bc64cd5f3ad8fb0723a1ffb6c059feae5a24926 100644
|
| --- a/Source/modules/accessibility/AXObject.cpp
|
| +++ b/Source/modules/accessibility/AXObject.cpp
|
| @@ -1127,13 +1127,19 @@ void AXObject::scrollToMakeVisibleWithSubFocus(const IntRect& subfocus) const
|
| break;
|
| scrollParent = scrollParent->parentObject();
|
| }
|
| - if (!scrollableArea)
|
| + if (!scrollParent || !scrollableArea)
|
| return;
|
|
|
| IntRect objectRect = pixelSnappedIntRect(elementRect());
|
| IntPoint scrollPosition = scrollableArea->scrollPosition();
|
| IntRect scrollVisibleRect = scrollableArea->visibleContentRect();
|
|
|
| + // Convert the object rect into local coordinates.
|
| + if (!scrollParent->isAXScrollView()) {
|
| + objectRect.moveBy(scrollPosition);
|
| + objectRect.moveBy(-pixelSnappedIntRect(scrollParent->elementRect()).location());
|
| + }
|
| +
|
| int desiredX = computeBestScrollOffset(
|
| scrollPosition.x(),
|
| objectRect.x() + subfocus.x(), objectRect.x() + subfocus.maxX(),
|
|
|