summaryrefslogtreecommitdiffstats
path: root/core/java/android/webkit/FindActionModeCallback.java
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2011-11-09 09:28:11 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-11-09 09:28:11 -0800
commit36a7f2a9adfa21ec31f00d496fef82e68931c860 (patch)
treec66f338d69b18ecfdf7decd8ceac830bb0465311 /core/java/android/webkit/FindActionModeCallback.java
parenteae6c9972d91b9af58c3bf7ba0235c0a3e95c408 (diff)
parentd6ac727234b9be45c3df4021dc83584e9849c00a (diff)
downloadframeworks_base-36a7f2a9adfa21ec31f00d496fef82e68931c860.zip
frameworks_base-36a7f2a9adfa21ec31f00d496fef82e68931c860.tar.gz
frameworks_base-36a7f2a9adfa21ec31f00d496fef82e68931c860.tar.bz2
Merge "Fix determining find on page overlap" into ics-mr1
Diffstat (limited to 'core/java/android/webkit/FindActionModeCallback.java')
-rw-r--r--core/java/android/webkit/FindActionModeCallback.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/core/java/android/webkit/FindActionModeCallback.java b/core/java/android/webkit/FindActionModeCallback.java
index b85fd17..fffa90b 100644
--- a/core/java/android/webkit/FindActionModeCallback.java
+++ b/core/java/android/webkit/FindActionModeCallback.java
@@ -18,6 +18,8 @@ package android.webkit;
import android.content.Context;
import android.content.res.Resources;
+import android.graphics.Point;
+import android.graphics.Rect;
import android.text.Editable;
import android.text.Selection;
import android.text.Spannable;
@@ -254,13 +256,18 @@ class FindActionModeCallback implements ActionMode.Callback, TextWatcher,
// Does nothing. Needed to implement TextWatcher.
}
- public int getActionModeHeight() {
+ private Rect mGlobalVisibleRect = new Rect();
+ private Point mGlobalVisibleOffset = new Point();
+ public int getActionModeGlobalBottom() {
if (mActionMode == null) {
return 0;
}
- View parent = (View) mCustomView.getParent();
- return parent != null ? parent.getMeasuredHeight()
- : mCustomView.getMeasuredHeight();
+ View view = (View) mCustomView.getParent();
+ if (view == null) {
+ view = mCustomView;
+ }
+ view.getGlobalVisibleRect(mGlobalVisibleRect, mGlobalVisibleOffset);
+ return mGlobalVisibleRect.bottom;
}
}