Index: content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java |
index 3b049e9533ac06e2b36860bb25e210aa189d67ac..85421334bf4358909656c4bc059eb7f34facfcf7 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/BrowserAccessibilityManager.java |
@@ -830,6 +830,15 @@ public class BrowserAccessibilityManager { |
mView.getLocationOnScreen(viewLocation); |
rect.offset(viewLocation[0], viewLocation[1]); |
+ // Adjust rect top & bottom coordinates based on viewport for handling scroll scenarios. |
+ int viewportRectTop = viewLocation[1] + (int) mRenderCoordinates.getContentOffsetYPix(); |
+ int viewportRectBottom = viewportRectTop + mContentViewCore.getViewportHeightPix(); |
+ if (rect.top < viewportRectTop) { |
AKV
2015/08/19 10:20:46
if (rect.top < viewportRectTop) rect.top = viewpor
|
+ rect.top = viewportRectTop; |
+ } |
+ if (rect.bottom > viewportRectBottom) { |
+ rect.bottom = viewportRectBottom; |
+ } |
node.setBoundsInScreen(rect); |
// Work around a bug in the Android framework where if the object with accessibility |