From 2b3cef0dd74cb9470e5387b015ee7a13af1fff7b Mon Sep 17 00:00:00 2001 From: Peter Nilsson Date: Thu, 7 Feb 2013 14:31:25 +0100 Subject: Can not mark the same content of browser page after copy Marking a text on the web page and then press copy works, but trying to mark the same text again does not work. The reason for this is that the selection never gets cleared in webkit. The fix, calling cleaSelection in the onDestroyActionMode. Also added clearSelection when getting an onConfigurationChange. Change-Id: I59b384cb5441b6a3a05007ea7e77f9699889a87c --- core/java/android/webkit/SelectActionModeCallback.java | 2 +- core/java/android/webkit/WebViewClassic.java | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'core/java/android/webkit') diff --git a/core/java/android/webkit/SelectActionModeCallback.java b/core/java/android/webkit/SelectActionModeCallback.java index f9f5b03..215467b 100644 --- a/core/java/android/webkit/SelectActionModeCallback.java +++ b/core/java/android/webkit/SelectActionModeCallback.java @@ -137,7 +137,7 @@ class SelectActionModeCallback implements ActionMode.Callback { @Override public void onDestroyActionMode(ActionMode mode) { - mWebView.selectionDone(); + mWebView.clearSelection(); } private void setMenuVisibility(Menu menu, boolean visible, int resourceId) { diff --git a/core/java/android/webkit/WebViewClassic.java b/core/java/android/webkit/WebViewClassic.java index 4db9f6c..c576546 100644 --- a/core/java/android/webkit/WebViewClassic.java +++ b/core/java/android/webkit/WebViewClassic.java @@ -4478,6 +4478,13 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc return selectText(x, y); } + public void clearSelection() { + selectionDone(); + if (mWebViewCore != null) { + mWebViewCore.sendMessage(EventHub.SELECT_TEXT, null); + } + } + /** * Select the word at the indicated content coordinates. */ @@ -4495,7 +4502,7 @@ public final class WebViewClassic implements WebViewProvider, WebViewProvider.Sc public void onConfigurationChanged(Configuration newConfig) { mCachedOverlappingActionModeHeight = -1; if (mSelectingText && mOrientation != newConfig.orientation) { - selectionDone(); + clearSelection(); } mOrientation = newConfig.orientation; if (mWebViewCore != null && !mBlockWebkitViewMessages) { -- cgit v1.1