Index: content/public/android/java/src/org/chromium/content/browser/SelectionPopupController.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/SelectionPopupController.java b/content/public/android/java/src/org/chromium/content/browser/SelectionPopupController.java |
index 8d9c66e4913e7dbcb70f356c1bf969a0af14d8e1..679523249b08b25c8a1cf50a9441352dc7952ea9 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/SelectionPopupController.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/SelectionPopupController.java |
@@ -194,11 +194,7 @@ public class SelectionPopupController extends ActionModeCallbackHelper { |
public boolean showActionMode() { |
if (isEmpty()) return false; |
- // Just refreshes the view if it is already showing. |
- if (isActionModeValid()) { |
- invalidateActionMode(); |
- return true; |
- } |
+ destroyActionModeAndKeepSelection(); |
if (mView.getParent() != null) { |
// On ICS, startActionMode throws an NPE when getParent() is null. |
@@ -297,28 +293,6 @@ public class SelectionPopupController extends ActionModeCallbackHelper { |
} |
/** |
- * @see ActionMode#invalidate() |
- * Note that invalidation will also reset visibility state. The caller |
- * should account for this when making subsequent visibility updates. |
- */ |
- private void invalidateActionMode() { |
- if (!isActionModeValid()) return; |
- if (mHidden) { |
- assert canHideActionMode(); |
- mHidden = false; |
- mView.removeCallbacks(mRepeatingHideRunnable); |
- mPendingInvalidateContentRect = false; |
- } |
- |
- // Try/catch necessary for framework bug, crbug.com/446717. |
- try { |
- mActionMode.invalidate(); |
- } catch (NullPointerException e) { |
- Log.w(TAG, "Ignoring NPE from ActionMode.invalidate() as workaround for L", e); |
- } |
- } |
- |
- /** |
* @see ActionMode#invalidateContentRect() |
*/ |
public void invalidateContentRect() { |