Chromium Code Reviews| Index: content/public/android/java/src/org/chromium/content/browser/input/CursorAnchorInfoController.java |
| diff --git a/content/public/android/java/src/org/chromium/content/browser/input/CursorAnchorInfoController.java b/content/public/android/java/src/org/chromium/content/browser/input/CursorAnchorInfoController.java |
| index 443e7d25a4c660083b3906c8b44f6f471bfc4050..a2c451e109b6e81fe4bc828aa97350431b18ec2a 100644 |
| --- a/content/public/android/java/src/org/chromium/content/browser/input/CursorAnchorInfoController.java |
| +++ b/content/public/android/java/src/org/chromium/content/browser/input/CursorAnchorInfoController.java |
| @@ -9,7 +9,6 @@ import android.graphics.Matrix; |
| import android.os.Build; |
| import android.view.View; |
| import android.view.inputmethod.CursorAnchorInfo; |
| -import android.view.inputmethod.InputConnection; |
| import org.chromium.base.VisibleForTesting; |
| import org.chromium.base.annotations.SuppressFBWarnings; |
| @@ -129,14 +128,16 @@ final class CursorAnchorInfoController { |
| /** |
| * Sets positional information of composing text as an array of character bounds. |
| * @param compositionCharacterBounds Array of character bounds in local coordinates. |
| + * @param view The attached view. |
| */ |
| - public void setCompositionCharacterBounds(float[] compositionCharacterBounds) { |
| + public void setCompositionCharacterBounds(float[] compositionCharacterBounds, View view) { |
| if (!mIsEditable) return; |
| if (!Arrays.equals(compositionCharacterBounds, mCompositionCharacterBounds)) { |
| mLastCursorAnchorInfo = null; |
| mCompositionCharacterBounds = compositionCharacterBounds; |
| } |
| + updateCursorAnchorInfo(view); |
| } |
| /** |
| @@ -198,14 +199,6 @@ final class CursorAnchorInfoController { |
| } |
| } |
| - /** |
| - * Resets the current state on update monitoring mode to the default (= do nothing.) |
| - */ |
| - public void resetMonitoringState() { |
| - mMonitorModeEnabled = false; |
|
aelias_OOO_until_Jul13
2016/07/07 00:13:35
These two booleans mHasPendingImmediateRequest and
Seigo Nonaka
2016/07/07 13:38:26
I think we still need the both two members since w
|
| - mHasPendingImmediateRequest = false; |
| - } |
| - |
| public void focusedNodeChanged(boolean isEditable) { |
| mIsEditable = isEditable; |
| mCompositionCharacterBounds = null; |
| @@ -213,11 +206,12 @@ final class CursorAnchorInfoController { |
| mLastCursorAnchorInfo = null; |
| } |
| - public boolean onRequestCursorUpdates(int cursorUpdateMode, View view) { |
| + public boolean onRequestCursorUpdates(boolean immediateRequest, boolean monitorRequest, |
| + View view) { |
| if (!mIsEditable) return false; |
| - mMonitorModeEnabled = (cursorUpdateMode & InputConnection.CURSOR_UPDATE_MONITOR) != 0; |
| - if ((cursorUpdateMode & InputConnection.CURSOR_UPDATE_IMMEDIATE) != 0) { |
| + mMonitorModeEnabled = monitorRequest; |
| + if (immediateRequest) { |
| mHasPendingImmediateRequest = true; |
| updateCursorAnchorInfo(view); |
| } |