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

Issue 373523002: Send correct key-codes when doing composition events instead of always 0. (Closed)

Created:
6 years, 5 months ago by bcwhite
Modified:
6 years, 5 months ago
CC:
chromium-reviews, darin-cc_chromium.org, jam, guohui
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Send correct key-codes when doing composition events instead of always 0. BUG=118639 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=285108

Patch Set 1 #

Patch Set 2 : rebased #

Patch Set 3 : added test #

Patch Set 4 : fixed style of Java member variables #

Total comments: 4

Patch Set 5 : added code to guess at key-codes for changes to composition (test won't run) #

Patch Set 6 : simplified guessing heuristic and fixed test; replaced key-code function with call to Android code #

Total comments: 1

Patch Set 7 : simplified guessing heuristic and fixed test; replaced key-code function with call to Android code #

Patch Set 8 : remove block on extra delete character #

Patch Set 9 : rebased #

Total comments: 2

Patch Set 10 : improvements and tests #

Patch Set 11 : added comments and fixed tests to work with Hui's change #

Total comments: 4

Patch Set 12 : made static array; removed obsolete code #

Total comments: 16

Patch Set 13 : address review comments #

Total comments: 9

Patch Set 14 : addressed more review comments #

Patch Set 15 : restored MaybePerformEmptyCompositionWorkaround patch #

Total comments: 4

Patch Set 16 : added some todo comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+301 lines, -3 lines) Patch
M content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +6 lines, -1 line 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 7 chunks +78 lines, -2 lines 0 comments Download
M content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +217 lines, -0 lines 0 comments Download

Messages

Total messages: 30 (0 generated)
bcwhite
What do you think of this for generating key-codes?
6 years, 5 months ago (2014-07-04 19:56:56 UTC) #1
bcwhite
+jdduke for the test
6 years, 5 months ago (2014-07-04 19:57:48 UTC) #2
guohui
On 2014/07/04 19:57:48, bcwhite wrote: > +jdduke for the test drive-by comments. Personally I am ...
6 years, 5 months ago (2014-07-04 21:50:04 UTC) #3
guohui
https://codereview.chromium.org/373523002/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java File content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java (right): https://codereview.chromium.org/373523002/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode449 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:449: } we can get more accurate results if you ...
6 years, 5 months ago (2014-07-04 21:56:13 UTC) #4
bcwhite
I'm still testing the various operations for such edge cases; thanks for the finds. > ...
6 years, 5 months ago (2014-07-07 14:38:36 UTC) #5
aurimas (slooooooooow)
https://codereview.chromium.org/373523002/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java File content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java (right): https://codereview.chromium.org/373523002/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode443 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:443: keyCode = androidKeyCodeForCharacter(textStr.charAt(0)); Android already has tools to convert ...
6 years, 5 months ago (2014-07-07 17:05:20 UTC) #6
bcwhite
https://codereview.chromium.org/373523002/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java File content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java (right): https://codereview.chromium.org/373523002/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode443 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:443: keyCode = androidKeyCodeForCharacter(textStr.charAt(0)); > Android already has tools to ...
6 years, 5 months ago (2014-07-08 18:56:03 UTC) #7
jdduke (slow)
https://codereview.chromium.org/373523002/diff/100001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java File content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java (right): https://codereview.chromium.org/373523002/diff/100001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode329 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:329: char[] chars = new char[1]; This will create garbage ...
6 years, 5 months ago (2014-07-08 19:26:23 UTC) #8
bcwhite
> content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:329: > char[] chars = new char[1]; > This will create garbage every time ...
6 years, 5 months ago (2014-07-08 19:31:43 UTC) #9
jdduke (slow)
https://codereview.chromium.org/373523002/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java File content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java (right): https://codereview.chromium.org/373523002/diff/60001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode443 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:443: keyCode = androidKeyCodeForCharacter(textStr.charAt(0)); On 2014/07/07 17:05:20, aurimas wrote: > ...
6 years, 5 months ago (2014-07-08 19:53:54 UTC) #10
guohui
https://codereview.chromium.org/373523002/diff/160001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java File content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java (right): https://codereview.chromium.org/373523002/diff/160001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode479 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:479: nativeSendSyntheticKeyEvent(mNativeImeAdapterAndroid, sEventTypeRawKeyDown, please see review comments in https://codereview.chromium.org/348413003/. In ...
6 years, 5 months ago (2014-07-11 15:20:09 UTC) #11
guohui
https://codereview.chromium.org/373523002/diff/160001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java File content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java (right): https://codereview.chromium.org/373523002/diff/160001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode479 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:479: nativeSendSyntheticKeyEvent(mNativeImeAdapterAndroid, sEventTypeRawKeyDown, just tried your patch locally, it suffered ...
6 years, 5 months ago (2014-07-11 19:00:37 UTC) #12
bcwhite
And we have a winner! Or at least a working solution. Comments? Approvals? -- Brian
6 years, 5 months ago (2014-07-21 12:38:08 UTC) #13
jdduke (slow)
https://codereview.chromium.org/373523002/diff/200001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java File content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java (right): https://codereview.chromium.org/373523002/diff/200001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode329 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:329: char[] chars = new char[1]; Can we avoid new'ing ...
6 years, 5 months ago (2014-07-21 16:08:27 UTC) #14
bcwhite
https://codereview.chromium.org/373523002/diff/200001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java File content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java (right): https://codereview.chromium.org/373523002/diff/200001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode329 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:329: char[] chars = new char[1]; On 2014/07/21 16:08:26, jdduke ...
6 years, 5 months ago (2014-07-21 19:43:13 UTC) #15
aurimas (slooooooooow)
https://codereview.chromium.org/373523002/diff/220001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java (left): https://codereview.chromium.org/373523002/diff/220001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java#oldcode483 content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java:483: private boolean maybePerformEmptyCompositionWorkaround(CharSequence text) { Can we remove this ...
6 years, 5 months ago (2014-07-21 20:21:58 UTC) #16
bcwhite
https://codereview.chromium.org/373523002/diff/220001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java (left): https://codereview.chromium.org/373523002/diff/220001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java#oldcode483 content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java:483: private boolean maybePerformEmptyCompositionWorkaround(CharSequence text) { Possibly, but I don't ...
6 years, 5 months ago (2014-07-21 20:27:18 UTC) #17
aurimas (slooooooooow)
https://codereview.chromium.org/373523002/diff/220001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java (left): https://codereview.chromium.org/373523002/diff/220001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java#oldcode483 content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java:483: private boolean maybePerformEmptyCompositionWorkaround(CharSequence text) { On 2014/07/21 20:27:18, bcwhite ...
6 years, 5 months ago (2014-07-21 20:35:55 UTC) #18
bcwhite
https://codereview.chromium.org/373523002/diff/220001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java (right): https://codereview.chromium.org/373523002/diff/220001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java#newcode144 content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java:144: mUpdateStateCalls++; On 2014/07/21 20:35:54, aurimas wrote: > mUpdateStateCalls does ...
6 years, 5 months ago (2014-07-21 20:46:08 UTC) #19
bcwhite
Tested with several different keyboards and all seems fine. Japanese characters cause KEYCODE_UNKNOWN as do ...
6 years, 5 months ago (2014-07-22 16:08:48 UTC) #20
aurimas (slooooooooow)
LGTM % nits https://codereview.chromium.org/373523002/diff/240001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java (left): https://codereview.chromium.org/373523002/diff/240001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java#oldcode483 content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java:483: private boolean maybePerformEmptyCompositionWorkaround(CharSequence text) { I ...
6 years, 5 months ago (2014-07-22 16:25:44 UTC) #21
bcwhite
https://codereview.chromium.org/373523002/diff/240001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java (left): https://codereview.chromium.org/373523002/diff/240001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java#oldcode483 content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java:483: private boolean maybePerformEmptyCompositionWorkaround(CharSequence text) { > I was under ...
6 years, 5 months ago (2014-07-22 17:28:34 UTC) #22
aurimas (slooooooooow)
https://codereview.chromium.org/373523002/diff/240001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java (left): https://codereview.chromium.org/373523002/diff/240001/content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java#oldcode483 content/public/android/java/src/org/chromium/content/browser/input/AdapterInputConnection.java:483: private boolean maybePerformEmptyCompositionWorkaround(CharSequence text) { On 2014/07/22 17:28:33, bcwhite ...
6 years, 5 months ago (2014-07-22 17:48:10 UTC) #23
bcwhite
> > > I was under impression that you did not want to remove this ...
6 years, 5 months ago (2014-07-22 17:56:10 UTC) #24
bcwhite
jdduke, ping? Need LGTM for test.
6 years, 5 months ago (2014-07-23 16:15:16 UTC) #25
jdduke (slow)
lgtm with a question/suggestion. https://codereview.chromium.org/373523002/diff/280001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java File content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java (right): https://codereview.chromium.org/373523002/diff/280001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode334 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:334: KeyEvent[] events = sKeyCharacterMap.getEvents(sSingleCharArray); Any ...
6 years, 5 months ago (2014-07-23 16:59:15 UTC) #26
bcwhite
https://codereview.chromium.org/373523002/diff/280001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java File content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java (right): https://codereview.chromium.org/373523002/diff/280001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode334 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:334: KeyEvent[] events = sKeyCharacterMap.getEvents(sSingleCharArray); No. Added TODO to find ...
6 years, 5 months ago (2014-07-23 18:18:19 UTC) #27
bcwhite
The CQ bit was checked by bcwhite@chromium.org
6 years, 5 months ago (2014-07-23 18:18:48 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/bcwhite@chromium.org/373523002/300001
6 years, 5 months ago (2014-07-23 18:20:08 UTC) #29
commit-bot: I haz the power
6 years, 5 months ago (2014-07-24 02:12:55 UTC) #30
Message was sent while issue was closed.
Change committed as 285108

Powered by Google App Engine
This is Rietveld 408576698