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

Side by Side Diff: content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java

Issue 442433002: Not allowing user to type more chars than max length value for text field. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: few nits resolved Created 6 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.content.browser.input; 5 package org.chromium.content.browser.input;
6 6
7 import android.os.SystemClock; 7 import android.os.SystemClock;
8 import android.text.Editable; 8 import android.text.Editable;
9 import android.text.InputType; 9 import android.text.InputType;
10 import android.text.Selection; 10 import android.text.Selection;
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 mLastUpdateCompositionStart = compositionStart; 206 mLastUpdateCompositionStart = compositionStart;
207 mLastUpdateCompositionEnd = compositionEnd; 207 mLastUpdateCompositionEnd = compositionEnd;
208 } 208 }
209 209
210 /** 210 /**
211 * @see BaseInputConnection#setComposingText(java.lang.CharSequence, int) 211 * @see BaseInputConnection#setComposingText(java.lang.CharSequence, int)
212 */ 212 */
213 @Override 213 @Override
214 public boolean setComposingText(CharSequence text, int newCursorPosition) { 214 public boolean setComposingText(CharSequence text, int newCursorPosition) {
215 if (DEBUG) Log.w(TAG, "setComposingText [" + text + "] [" + newCursorPos ition + "]"); 215 if (DEBUG) Log.w(TAG, "setComposingText [" + text + "] [" + newCursorPos ition + "]");
216 if (mEditable.length() == mImeAdapter.getInputElementMaxLength()) {
217 finishComposingText();
218 return true;
219 }
216 if (maybePerformEmptyCompositionWorkaround(text)) return true; 220 if (maybePerformEmptyCompositionWorkaround(text)) return true;
217 super.setComposingText(text, newCursorPosition); 221 super.setComposingText(text, newCursorPosition);
218 updateSelectionIfRequired(); 222 updateSelectionIfRequired();
219 return mImeAdapter.checkCompositionQueueAndCallNative(text, newCursorPos ition, false); 223 return mImeAdapter.checkCompositionQueueAndCallNative(text, newCursorPos ition, false);
220 } 224 }
221 225
222 /** 226 /**
223 * @see BaseInputConnection#commitText(java.lang.CharSequence, int) 227 * @see BaseInputConnection#commitText(java.lang.CharSequence, int)
224 */ 228 */
225 @Override 229 @Override
226 public boolean commitText(CharSequence text, int newCursorPosition) { 230 public boolean commitText(CharSequence text, int newCursorPosition) {
227 if (DEBUG) Log.w(TAG, "commitText [" + text + "] [" + newCursorPosition + "]"); 231 if (DEBUG) Log.w(TAG, "commitText [" + text + "] [" + newCursorPosition + "]");
232 if (mEditable.length() == mImeAdapter.getInputElementMaxLength()) {
233 finishComposingText();
234 return true;
235 }
228 if (maybePerformEmptyCompositionWorkaround(text)) return true; 236 if (maybePerformEmptyCompositionWorkaround(text)) return true;
229 super.commitText(text, newCursorPosition); 237 super.commitText(text, newCursorPosition);
230 updateSelectionIfRequired(); 238 updateSelectionIfRequired();
231 return mImeAdapter.checkCompositionQueueAndCallNative(text, newCursorPos ition, 239 return mImeAdapter.checkCompositionQueueAndCallNative(text, newCursorPos ition,
232 text.length() > 0); 240 text.length() > 0);
233 } 241 }
234 242
235 /** 243 /**
236 * @see BaseInputConnection#performEditorAction(int) 244 * @see BaseInputConnection#performEditorAction(int)
237 */ 245 */
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 @VisibleForTesting 532 @VisibleForTesting
525 ImeState getImeStateForTesting() { 533 ImeState getImeStateForTesting() {
526 String text = mEditable.toString(); 534 String text = mEditable.toString();
527 int selectionStart = Selection.getSelectionStart(mEditable); 535 int selectionStart = Selection.getSelectionStart(mEditable);
528 int selectionEnd = Selection.getSelectionEnd(mEditable); 536 int selectionEnd = Selection.getSelectionEnd(mEditable);
529 int compositionStart = getComposingSpanStart(mEditable); 537 int compositionStart = getComposingSpanStart(mEditable);
530 int compositionEnd = getComposingSpanEnd(mEditable); 538 int compositionEnd = getComposingSpanEnd(mEditable);
531 return new ImeState(text, selectionStart, selectionEnd, compositionStart , compositionEnd); 539 return new ImeState(text, selectionStart, selectionEnd, compositionStart , compositionEnd);
532 } 540 }
533 } 541 }
OLDNEW
« no previous file with comments | « content/common/view_messages.h ('k') | content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698