Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1274)

Unified Diff: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java

Issue 24449007: [Android] Allow text handles to observe position of "parent" view (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
index 88785c177e4d7083df2badb0f07f756141072d1b..284d06b4fcd9e22b80e934ad127ca162cd458d64 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
@@ -55,6 +55,7 @@ import com.google.common.annotations.VisibleForTesting;
import org.chromium.base.CalledByNative;
import org.chromium.base.JNINamespace;
+import org.chromium.base.PositionObserver;
import org.chromium.base.WeakContext;
import org.chromium.content.R;
import org.chromium.content.browser.ContentViewGestureHandler.MotionEventDelegate;
@@ -377,6 +378,8 @@ import java.util.Map;
private Runnable mDeferredHandleFadeInRunnable;
+ private PositionObserver mPositionObserver;
+
// Size of the viewport in physical pixels as set from onSizeChanged.
private int mViewportWidthPix;
private int mViewportHeightPix;
@@ -717,6 +720,7 @@ import java.util.Map;
mHardwareAccelerated = hasHardwareAcceleration(mContext);
mContainerView = containerView;
+ mPositionObserver = new PositionObserver(mContainerView);
int windowNativePointer = windowAndroid != null ? windowAndroid.getNativePointer() : 0;
@@ -2017,7 +2021,8 @@ import java.util.Map;
private SelectionHandleController getSelectionHandleController() {
if (mSelectionHandleController == null) {
- mSelectionHandleController = new SelectionHandleController(getContainerView()) {
+ mSelectionHandleController = new SelectionHandleController(
+ getContainerView(), mPositionObserver) {
@Override
public void selectBetweenCoordinates(int x1, int y1, int x2, int y2) {
if (mNativeContentViewCore != 0 && !(x1 == x2 && y1 == y2)) {
@@ -2043,7 +2048,8 @@ import java.util.Map;
private InsertionHandleController getInsertionHandleController() {
if (mInsertionHandleController == null) {
- mInsertionHandleController = new InsertionHandleController(getContainerView()) {
+ mInsertionHandleController = new InsertionHandleController(
+ getContainerView(), mPositionObserver) {
private static final int AVERAGE_LINE_HEIGHT = 14;
@Override

Powered by Google App Engine
This is Rietveld 408576698