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 5f0f0fefcc5bfd439a086ea1baa684bafbb6b04a..008229414c6eeedf3fdaf303a59344cb378062fa 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 |
@@ -292,6 +292,7 @@ public class ContentViewCore |
// Lazily created paste popup menu, triggered either via long press in an |
// editable region or from tapping the insertion handle. |
private PastePopupMenu mPastePopupMenu; |
+ private boolean mWasPastePopupShowingOnInsertionDragStart; |
private PopupTouchHandleDrawableDelegate mTouchHandleDelegate; |
@@ -2191,13 +2192,21 @@ public class ContentViewCore |
mHasInsertion = true; |
break; |
- case SelectionEventType.INSERTION_MOVED: |
- // TODO(jdduke): Handle case where movement triggered by focus. |
+ case SelectionEventType.INSERTION_DRAG_STARTED: |
+ mWasPastePopupShowingOnInsertionDragStart = getPastePopup().isShowing(); |
jdduke (slow)
2014/08/07 21:18:04
getPastePopup() will create a new PastePopup if no
AKVT
2014/08/08 12:54:44
Done. Thanks
|
hidePastePopup(); |
break; |
+ case SelectionEventType.INSERTION_MOVED: |
jdduke (slow)
2014/08/07 21:18:04
if (mPastePopupMenu != null && mPastePopupMenu.isS
AKVT
2014/08/08 12:54:44
Done.
|
+ if (getPastePopup().isShowing() && !isScrollInProgress()) { |
+ showPastePopup((int) posXDip, (int) posYDip); |
+ } else { |
+ hidePastePopup(); |
+ } |
+ break; |
+ |
case SelectionEventType.INSERTION_TAPPED: |
- if (getPastePopup().isShowing()) |
+ if (mWasPastePopupShowingOnInsertionDragStart) |
mPastePopupMenu.hide(); |
jdduke (slow)
2014/08/07 21:18:04
Let's make this |hidePastePopup()| to match the |s
AKVT
2014/08/08 12:54:44
Done.
|
else |
showPastePopup((int) posXDip, (int) posYDip); |
@@ -2205,6 +2214,7 @@ public class ContentViewCore |
case SelectionEventType.INSERTION_CLEARED: |
mHasInsertion = false; |
+ mWasPastePopupShowingOnInsertionDragStart = false; |
hidePastePopup(); |
break; |