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

Issue 1278593004: Introduce ThreadedInputConnection behind a switch (Closed)

Created:
5 years, 4 months ago by Changwan Ryu
Modified:
4 years ago
CC:
AKV, chromium-reviews, darin-cc_chromium.org, jam, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-content_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Introduce ThreadedInputConnection behind a switch Design doc: https://goo.gl/pcNRA5 AdapterInputConnection is based on a replica model such that it has its own implementation and expects renderer to behave the same way. This model also required the replica editor to sync when there is a renderer-side change. The rationale behind this model was that it does not block the UI thread while allowing internal state to change before the next inputconnection call. Now renamed as ReplicaInputConnection, this model caused lots of issues in the past. (See design doc for details.) This CL proposes a whole new approach called ThreadedInputConnection. In this model, we create a fake view that proxies the container view such that InputConnection can be created on a separate thread (IME thread). Subsequent InputConnection method calls will also run on IME thread, so we do not block UI thread and can still wait for internal state change before returning InputConnection method calls, such as getTextBeforeCursor(). Also note that ThreadedInputConnection does not inherit BaseInputConnection because we are not using Editable model. And there are other changes that followed this model: - 'From IME' bit will be set only when there is a blocking method call that awaits state update. - ImeTest tests behavior and not internal states any more. - RecreateInputConnectionTest is replaced by a new test in ImeTest. - Move mEditable from ImeAdapter to ReplicaInputConnection. - Remove DPAD hacks in RenderWidgetInputHandler. BUG=551193 Committed: https://crrev.com/8c3427482bac96138551530642843126da1b70a7 Cr-Commit-Position: refs/heads/master@{#377737}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : fixed tests #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : fix some corner cases #

Patch Set 8 : #

Patch Set 9 : new workaround that can cover webview, and change to singleton-like instantiation #

Patch Set 10 : pump messages from old handler to new handler #

Patch Set 11 : #

Total comments: 47

Patch Set 12 : addressed all the comments, polished up the CL #

Patch Set 13 : fixed nits #

Patch Set 14 : fixed release test failures #

Total comments: 42

Patch Set 15 : update as fromIme only via requestTextInputStateUpdate and minor fixes #

Patch Set 16 : add all the files #

Total comments: 2

Patch Set 17 : fixed a crash for LatinIME #

Total comments: 17

Patch Set 18 : straighten up state update, replace mQueue.poll() by mQueue.take() #

Total comments: 4

Patch Set 19 : unified ime tests, changed default values, fixed bugs, not wait for update if possible #

Total comments: 6

Patch Set 20 : added notifyUserAction and pending accent handling, and changed name #

Patch Set 21 : handles render crash and navigation #

Total comments: 32

Patch Set 22 : switched to delayed onCreateInputConnection approach (tedchoc@'s other comments not resolved yet) #

Total comments: 11

Patch Set 23 : adding missing proxyview file #

Patch Set 24 : addressed comments on previous patches from tedchoc and aelias #

Patch Set 25 : adding missing ImeTestUtils.java #

Total comments: 40

Patch Set 26 : fix selection update to be accurate and fix tests #

Total comments: 2

Patch Set 27 : address tedchoc@'s comments #

Patch Set 28 : fallback to replicainputconnection #

Patch Set 29 : add missing InputMethodUma class #

Patch Set 30 : rebase and fix nits #

Total comments: 6

Patch Set 31 : prepare for factory unit test, propagate fallback to renderer #

Total comments: 2

Patch Set 32 : remove fallback mechanism and crash instead #

Total comments: 3

Patch Set 33 : added comment for call stack check #

Total comments: 4

Patch Set 34 : rebased and added a TODO for test #

Total comments: 2

Patch Set 35 : removed ImeTest#testDoesNotHang_rendererCrashes which does not test anything #

Total comments: 10
Unified diffs Side-by-side diffs Delta from patch set Stats (+2446 lines, -1562 lines) Patch
M chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillPopupTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 3 chunks +5 lines, -4 lines 0 comments Download
M chrome/app/generated_resources.grd View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +8 lines, -0 lines 0 comments Download
M chrome/browser/about_flags.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +6 lines, -0 lines 0 comments Download
M content/browser/renderer_host/ime_adapter_android.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 19 20 21 22 23 31 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/renderer_host/ime_adapter_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 31 1 chunk +10 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +1 line, -1 line 0 comments Download
M content/common/input_messages.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 chunk +2 lines, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +2 lines, -0 lines 0 comments Download
D 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 15 16 17 18 19 20 21 1 chunk +0 lines, -571 lines 0 comments Download
A content/public/android/java/src/org/chromium/content/browser/input/ChromiumBaseInputConnection.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +76 lines, -0 lines 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 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 16 chunks +90 lines, -96 lines 0 comments Download
A content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +150 lines, -0 lines 8 comments Download
M content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +22 lines, -0 lines 2 comments Download
A content/public/android/java/src/org/chromium/content/browser/input/InputMethodUma.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 chunk +41 lines, -0 lines 0 comments Download
A content/public/android/java/src/org/chromium/content/browser/input/Range.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +58 lines, -0 lines 0 comments Download
A + content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 15 chunks +128 lines, -203 lines 0 comments Download
A content/public/android/java/src/org/chromium/content/browser/input/TextInputState.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +96 lines, -0 lines 0 comments Download
A content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +608 lines, -0 lines 0 comments Download
A content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1 chunk +156 lines, -0 lines 0 comments Download
A content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionProxyView.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +133 lines, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/common/ContentSwitches.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +4 lines, -0 lines 0 comments Download
M content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 3 chunks +18 lines, -4 lines 0 comments Download
M content/public/android/javatests/src/org/chromium/content/browser/input/AdapterInputConnectionTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +0 lines, -166 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 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 38 chunks +385 lines, -342 lines 0 comments Download
A content/public/android/javatests/src/org/chromium/content/browser/input/ImeTestUtils.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +43 lines, -0 lines 0 comments Download
D content/public/android/javatests/src/org/chromium/content/browser/input/RecreateInputConnectionTest.java View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +0 lines, -72 lines 0 comments Download
A + content/public/android/javatests/src/org/chromium/content/browser/input/ReplicaInputConnectionTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 5 chunks +36 lines, -22 lines 0 comments Download
A content/public/android/junit/src/org/chromium/content/browser/input/RangeTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +50 lines, -0 lines 0 comments Download
A content/public/android/junit/src/org/chromium/content/browser/input/TextInputStateTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +46 lines, -0 lines 0 comments Download
A content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +162 lines, -0 lines 0 comments Download
M content/public/common/content_switches.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +2 lines, -0 lines 0 comments Download
M content/public/common/content_switches.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 1 chunk +6 lines, -0 lines 0 comments Download
M content/public/test/android/javatests/src/org/chromium/content/browser/test/util/TestInputMethodManagerWrapper.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 6 chunks +33 lines, -65 lines 0 comments Download
M content/renderer/ime_event_guard.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +0 lines, -1 line 0 comments Download
M content/renderer/ime_event_guard.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 1 chunk +6 lines, -7 lines 0 comments Download
M content/renderer/input/render_widget_input_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3 chunks +11 lines, -6 lines 0 comments Download
M content/renderer/render_widget.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2 chunks +6 lines, -0 lines 0 comments Download
M content/renderer/render_widget.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 6 chunks +25 lines, -2 lines 0 comments Download
M tools/android/eclipse/.classpath View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 1 chunk +1 line, -0 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 4 chunks +16 lines, -0 lines 0 comments Download

Messages

Total messages: 80 (14 generated)
Changwan Ryu
Hi Alex, Just to let you know, this prototype patch works most of the time, ...
5 years, 4 months ago (2015-08-18 15:43:01 UTC) #2
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/200001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumBaseInputConnectionFactory.java File content/public/android/java/src/org/chromium/content/browser/input/ChromiumBaseInputConnectionFactory.java (right): https://codereview.chromium.org/1278593004/diff/200001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumBaseInputConnectionFactory.java#newcode99 content/public/android/java/src/org/chromium/content/browser/input/ChromiumBaseInputConnectionFactory.java:99: private void switchInputConnectionLooper(Context context, Handler viewHandler) { Alex, this ...
5 years, 3 months ago (2015-09-17 06:58:02 UTC) #3
aelias_OOO_until_Jul13
Looks mostly OK. Is the rest of the patch ready for review? https://codereview.chromium.org/1278593004/diff/200001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumBaseInputConnectionFactory.java File content/public/android/java/src/org/chromium/content/browser/input/ChromiumBaseInputConnectionFactory.java ...
5 years, 3 months ago (2015-09-18 04:59:31 UTC) #4
Changwan Ryu
I think logic wise it is mostly ready for review, but there's no test yet. ...
5 years, 3 months ago (2015-09-18 07:34:59 UTC) #5
aelias_OOO_until_Jul13
OK, first round of full review. Please also search your CL for all TODOs and ...
5 years, 2 months ago (2015-09-30 00:10:04 UTC) #6
AKV
Thanks for this design. Could you please check in line query ? https://codereview.chromium.org/1278593004/diff/200001/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java File content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java ...
5 years, 1 month ago (2015-11-04 17:20:49 UTC) #8
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/200001/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillPopupTest.java File chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillPopupTest.java (right): https://codereview.chromium.org/1278593004/diff/200001/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillPopupTest.java#newcode178 chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillPopupTest.java:178: if (CommandLine.getInstance().hasSwitch(ContentSwitches.USE_IME_THREAD)) { On 2015/09/30 00:10:03, aelias wrote: > ...
4 years, 11 months ago (2016-01-19 07:31:53 UTC) #10
Changwan Ryu
aelias@, sorry for the long wait. Please take another look. I'll try to add tests ...
4 years, 11 months ago (2016-01-19 07:40:56 UTC) #12
aelias_OOO_until_Jul13
OK, this is moving in the right direction. Most of my comments below are fairly ...
4 years, 11 months ago (2016-01-21 07:43:05 UTC) #13
Changwan Ryu
I've changed the code as you suggested, and it works great! I've also fixed a ...
4 years, 11 months ago (2016-01-22 10:22:17 UTC) #14
aelias_OOO_until_Jul13
https://codereview.chromium.org/1278593004/diff/300001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java (right): https://codereview.chromium.org/1278593004/diff/300001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java#newcode124 content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java:124: ImeUtils.assertReally(textInputState != null); I applied the patch locally on ...
4 years, 11 months ago (2016-01-22 23:34:49 UTC) #15
Changwan Ryu
On 2016/01/22 23:34:49, aelias wrote: > https://codereview.chromium.org/1278593004/diff/300001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java > File > content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java > (right): > > ...
4 years, 11 months ago (2016-01-23 00:52:05 UTC) #16
tandrii(chromium)
On 2016/01/23 00:52:05, Changwan Ryu wrote: > On 2016/01/22 23:34:49, aelias wrote: > > > ...
4 years, 11 months ago (2016-01-23 01:50:52 UTC) #17
aelias_OOO_until_Jul13
https://codereview.chromium.org/1278593004/diff/300001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java (right): https://codereview.chromium.org/1278593004/diff/300001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java#newcode124 content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java:124: ImeUtils.assertReally(textInputState != null); On 2016/01/22 at 23:34:49, aelias wrote: ...
4 years, 11 months ago (2016-01-23 03:21:40 UTC) #18
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/320001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java (right): https://codereview.chromium.org/1278593004/diff/320001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java#newcode101 content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java:101: mThreadManager.post(new Runnable() { On 2016/01/23 03:21:39, aelias wrote: > ...
4 years, 11 months ago (2016-01-25 09:07:28 UTC) #19
aelias_OOO_until_Jul13
https://codereview.chromium.org/1278593004/diff/320001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java (right): https://codereview.chromium.org/1278593004/diff/320001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java#newcode101 content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java:101: mThreadManager.post(new Runnable() { On 2016/01/25 at 09:07:27, Changwan Ryu ...
4 years, 11 months ago (2016-01-26 00:33:05 UTC) #20
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/320001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java (right): https://codereview.chromium.org/1278593004/diff/320001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java#newcode101 content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java:101: mThreadManager.post(new Runnable() { On 2016/01/26 00:33:05, aelias wrote: > ...
4 years, 11 months ago (2016-01-26 03:25:29 UTC) #21
aelias_OOO_until_Jul13
Looking pretty close to landable now, hopefully we worked out all the tricky issues. Please ...
4 years, 11 months ago (2016-01-26 05:21:19 UTC) #22
Changwan Ryu
I realized that we do not need to wait for state update if the command ...
4 years, 11 months ago (2016-01-27 15:54:43 UTC) #23
aelias_OOO_until_Jul13
On 2016/01/27 at 15:54:43, changwan wrote: > I realized that we do not need to ...
4 years, 11 months ago (2016-01-27 20:46:07 UTC) #24
aelias_OOO_until_Jul13
https://codereview.chromium.org/1278593004/diff/360001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java (right): https://codereview.chromium.org/1278593004/diff/360001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java#newcode26 content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java:26: public class ChromiumInputConnection implements ChromiumBaseInputConnection { Also, how about ...
4 years, 11 months ago (2016-01-27 20:55:57 UTC) #25
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/360001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java (right): https://codereview.chromium.org/1278593004/diff/360001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java#newcode26 content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java:26: public class ChromiumInputConnection implements ChromiumBaseInputConnection { On 2016/01/27 20:55:57, ...
4 years, 10 months ago (2016-01-28 07:38:48 UTC) #26
Changwan Ryu
On 2016/01/28 07:38:48, Changwan Ryu wrote: > https://codereview.chromium.org/1278593004/diff/360001/content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java > File > content/public/android/java/src/org/chromium/content/browser/input/ChromiumInputConnection.java > (right): > ...
4 years, 10 months ago (2016-01-28 08:11:27 UTC) #28
aelias_OOO_until_Jul13
input/ lgtm, go ahead and add other OWNERS when you're ready.
4 years, 10 months ago (2016-01-29 02:19:54 UTC) #30
Changwan Ryu
adding tedchoc@ for chrome/android and content/public/ adding sievers@ for content/renderer/ Design doc is available for ...
4 years, 10 months ago (2016-01-29 06:01:20 UTC) #32
Changwan Ryu
Alex, I've uploaded another patch to handle renderer crash and navigation better. Could you take ...
4 years, 10 months ago (2016-02-02 13:39:17 UTC) #33
Ted C
https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java File content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java (right): https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java#newcode337 content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java:337: contentViewCore.resetImeAdapter(); you can just do contentViewCore.mImeAdapter.reset(); Then you don't ...
4 years, 10 months ago (2016-02-02 23:14:43 UTC) #34
aelias_OOO_until_Jul13
https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java (right): https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java#newcode72 content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java:72: private void pumpHandlerMessages(Handler sourceHandler, Handler targetHandler) On 2016/02/02 at ...
4 years, 10 months ago (2016-02-02 23:51:56 UTC) #35
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java (right): https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java#newcode72 content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java:72: private void pumpHandlerMessages(Handler sourceHandler, Handler targetHandler) On 2016/02/02 23:51:56, ...
4 years, 10 months ago (2016-02-03 00:02:47 UTC) #36
Changwan Ryu
On 2016/02/03 00:02:47, Changwan Ryu wrote: > https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java > File > content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java > (right): > ...
4 years, 10 months ago (2016-02-08 14:32:28 UTC) #37
aelias_OOO_until_Jul13
This new approach seems promising, I hope it will prove viable! https://codereview.chromium.org/1278593004/diff/420001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java (right): ...
4 years, 10 months ago (2016-02-08 23:17:14 UTC) #38
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java File content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java (right): https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java#newcode337 content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java:337: contentViewCore.resetImeAdapter(); On 2016/02/02 23:14:42, Ted C wrote: > you ...
4 years, 10 months ago (2016-02-11 16:21:08 UTC) #39
aelias_OOO_until_Jul13
https://codereview.chromium.org/1278593004/diff/420001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java (right): https://codereview.chromium.org/1278593004/diff/420001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java#newcode41 content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java:41: if (ThreadUtils.runningOnUiThread()) { On 2016/02/11 at 16:21:08, Changwan Ryu ...
4 years, 10 months ago (2016-02-11 23:13:15 UTC) #40
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/420001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java (right): https://codereview.chromium.org/1278593004/diff/420001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java#newcode41 content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java:41: if (ThreadUtils.runningOnUiThread()) { On 2016/02/11 23:13:15, aelias wrote: > ...
4 years, 10 months ago (2016-02-12 00:36:04 UTC) #41
Changwan Ryu
On 2016/02/12 00:36:04, Changwan Ryu wrote: > https://codereview.chromium.org/1278593004/diff/420001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java > File > content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java > (right): > ...
4 years, 10 months ago (2016-02-17 00:55:02 UTC) #42
Ted C
https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java File content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java (right): https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java#newcode337 content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java:337: contentViewCore.resetImeAdapter(); On 2016/02/11 16:21:07, Changwan Ryu wrote: > On ...
4 years, 10 months ago (2016-02-17 19:09:34 UTC) #43
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java File content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java (right): https://codereview.chromium.org/1278593004/diff/400001/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java#newcode337 content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java:337: contentViewCore.resetImeAdapter(); On 2016/02/17 19:09:33, Ted C wrote: > On ...
4 years, 10 months ago (2016-02-18 06:03:27 UTC) #44
Changwan Ryu
PTAL https://codereview.chromium.org/1278593004/diff/480001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java (right): https://codereview.chromium.org/1278593004/diff/480001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java#newcode60 content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java:60: mHandler = handler; On 2016/02/18 06:03:27, Changwan Ryu ...
4 years, 10 months ago (2016-02-18 10:38:42 UTC) #45
Ted C
this looks pretty much ready to submit for me, but I want to wait for ...
4 years, 10 months ago (2016-02-19 18:26:18 UTC) #47
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/580001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java (right): https://codereview.chromium.org/1278593004/diff/580001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java#newcode138 content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java:138: // change. On 2016/02/19 18:26:18, Ted C wrote: > ...
4 years, 10 months ago (2016-02-19 22:17:11 UTC) #48
Changwan Ryu
PTAL. sievers@, could you also start taking a look? https://codereview.chromium.org/1278593004/diff/580001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java (right): https://codereview.chromium.org/1278593004/diff/580001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java#newcode24 content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java:24: ...
4 years, 10 months ago (2016-02-22 06:28:25 UTC) #49
aelias_OOO_until_Jul13
https://codereview.chromium.org/1278593004/diff/600001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java (right): https://codereview.chromium.org/1278593004/diff/600001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java#newcode154 content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java:154: protected void fallbackToReplicaInputConnection(final View view) { Because we plan ...
4 years, 10 months ago (2016-02-23 23:59:30 UTC) #50
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/600001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java (right): https://codereview.chromium.org/1278593004/diff/600001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java#newcode154 content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java:154: protected void fallbackToReplicaInputConnection(final View view) { On 2016/02/23 23:59:30, ...
4 years, 10 months ago (2016-02-24 00:43:29 UTC) #51
aelias_OOO_until_Jul13
https://codereview.chromium.org/1278593004/diff/620001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionProxyView.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionProxyView.java (right): https://codereview.chromium.org/1278593004/diff/620001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionProxyView.java#newcode57 content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionProxyView.java:57: return mContainerView.onCreateInputConnection(outAttrs); I think the weird stack trace examination ...
4 years, 10 months ago (2016-02-24 00:58:57 UTC) #52
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/620001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionProxyView.java File content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionProxyView.java (right): https://codereview.chromium.org/1278593004/diff/620001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionProxyView.java#newcode57 content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionProxyView.java:57: return mContainerView.onCreateInputConnection(outAttrs); On 2016/02/24 00:58:57, aelias wrote: > I ...
4 years, 10 months ago (2016-02-24 01:46:32 UTC) #53
aelias_OOO_until_Jul13
OK, lgtm, just needs tedchoc@ and sievers@ approval as well. Could you link the design ...
4 years, 10 months ago (2016-02-24 02:09:14 UTC) #54
Changwan Ryu
On 2016/02/24 02:09:14, aelias wrote: > OK, lgtm, just needs tedchoc@ and sievers@ approval as ...
4 years, 10 months ago (2016-02-24 08:59:31 UTC) #56
Changwan Ryu
On 2016/02/24 08:59:31, Changwan Ryu wrote: > On 2016/02/24 02:09:14, aelias wrote: > > OK, ...
4 years, 10 months ago (2016-02-24 09:15:25 UTC) #57
Ted C
On 2016/02/23 23:59:30, aelias wrote: > https://codereview.chromium.org/1278593004/diff/600001/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java > File > content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java > (right): > > ...
4 years, 10 months ago (2016-02-24 18:44:05 UTC) #58
aelias_OOO_until_Jul13
On 2016/02/24 at 18:44:05, tedchoc wrote: > While I think this will be fine for ...
4 years, 10 months ago (2016-02-24 19:05:24 UTC) #59
Ted C
lgtm https://codereview.chromium.org/1278593004/diff/640001/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java File content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java (right): https://codereview.chromium.org/1278593004/diff/640001/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java#newcode150 content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java:150: Thread.sleep(1000); Why the thread sleep at all? Are ...
4 years, 10 months ago (2016-02-24 19:09:03 UTC) #60
no sievers
https://codereview.chromium.org/1278593004/diff/640001/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/1278593004/diff/640001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode154 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:154: // crashes, or navigates to another page, etc. So ...
4 years, 10 months ago (2016-02-24 20:08:24 UTC) #61
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/640001/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/1278593004/diff/640001/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java#newcode154 content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java:154: // crashes, or navigates to another page, etc. On ...
4 years, 10 months ago (2016-02-24 23:03:24 UTC) #62
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/640001/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java File content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java (right): https://codereview.chromium.org/1278593004/diff/640001/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java#newcode150 content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java:150: Thread.sleep(1000); On 2016/02/24 19:09:02, Ted C wrote: > Why ...
4 years, 10 months ago (2016-02-24 23:36:09 UTC) #63
Changwan Ryu
Adding palmer@ for content/common/input_messages.h Adding mpearson@ for tools/metrics/histograms/histograms.xml Could you guys take a look?
4 years, 10 months ago (2016-02-24 23:56:47 UTC) #65
no sievers
lgtm
4 years, 10 months ago (2016-02-25 01:41:02 UTC) #66
no sievers
https://codereview.chromium.org/1278593004/diff/660001/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java File content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java (right): https://codereview.chromium.org/1278593004/diff/660001/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java#newcode138 content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java:138: public void testDoesNotHang_rendererCrashes() throws Throwable { per chat: can ...
4 years, 10 months ago (2016-02-25 01:41:44 UTC) #67
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/660001/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java File content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java (right): https://codereview.chromium.org/1278593004/diff/660001/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java#newcode138 content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java:138: public void testDoesNotHang_rendererCrashes() throws Throwable { On 2016/02/25 01:41:44, ...
4 years, 10 months ago (2016-02-25 01:56:12 UTC) #68
Mark P
histograms.xml lgtm
4 years, 10 months ago (2016-02-25 04:39:53 UTC) #69
palmer
LGTM. https://codereview.chromium.org/1278593004/diff/680001/content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java File content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java (right): https://codereview.chromium.org/1278593004/diff/680001/content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java#newcode60 content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java:60: // Password Nit: This is probably just me, ...
4 years, 10 months ago (2016-02-25 23:49:55 UTC) #70
Changwan Ryu
On 2016/02/25 23:49:55, palmer wrote: > LGTM. > > https://codereview.chromium.org/1278593004/diff/680001/content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java > File > content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java > ...
4 years, 10 months ago (2016-02-26 00:11:47 UTC) #73
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1278593004/680001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1278593004/680001
4 years, 10 months ago (2016-02-26 00:13:43 UTC) #74
commit-bot: I haz the power
Committed patchset #35 (id:680001)
4 years, 10 months ago (2016-02-26 00:53:50 UTC) #76
commit-bot: I haz the power
Patchset 35 (id:??) landed as https://crrev.com/8c3427482bac96138551530642843126da1b70a7 Cr-Commit-Position: refs/heads/master@{#377737}
4 years, 10 months ago (2016-02-26 00:55:31 UTC) #78
Changwan Ryu
https://codereview.chromium.org/1278593004/diff/680001/content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java File content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java (right): https://codereview.chromium.org/1278593004/diff/680001/content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java#newcode60 content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java:60: // Password On 2016/02/25 23:49:55, palmer wrote: > Nit: ...
4 years, 10 months ago (2016-02-26 02:41:19 UTC) #79
liangxiwei
4 years ago (2016-12-09 03:32:32 UTC) #80
Message was sent while issue was closed.
On 2016/02/26 02:41:19, Changwan Ryu wrote:
>
https://codereview.chromium.org/1278593004/diff/680001/content/public/android...
> File
>
content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java
> (right):
> 
>
https://codereview.chromium.org/1278593004/diff/680001/content/public/android...
>
content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java:60:
> // Password
> On 2016/02/25 23:49:55, palmer wrote:
> > Nit: This is probably just me, but, I don't think you need these comments.
> > |TextInputType.PASSWORD| explains what's going on.
> 
> Removed in the follow-up CL: https://codereview.chromium.org/1741653002/
> 
>
https://codereview.chromium.org/1278593004/diff/680001/content/public/android...
>
content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java:125:
> * Dump the given {@CorrectionInfo} into class.
> On 2016/02/25 23:49:55, palmer wrote:
> > Nit: This comment doesn't make sense to me. But, I don't think you need it;
> like
> > with some of the other methods in this file, this method's name and
interface
> > fully explain its purpose.
> 
> Refined the comment in the follow-up CL. I think in general having javadoc is
> preferred for
> public and package-private methods, so I'd like to keep it.
> 
>
https://codereview.chromium.org/1278593004/diff/680001/content/public/android...
>
content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java:129:
> static String getCorrectInfoDebugString(CorrectionInfo correctionInfo) {
> On 2016/02/25 23:49:55, palmer wrote:
> > Typo: Should be |getCorrectionInfoDebugString|.
> 
> Done in the follow-up CL.
> 
>
https://codereview.chromium.org/1278593004/diff/680001/content/public/android...
>
content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java:134:
> // TODO(changwan): remove these once implementation becomes stable.
> On 2016/02/25 23:49:55, palmer wrote:
> > Always a good idea to tie TODOs to bugs filed in the bug tracker. (And
> > elsewhere, not just here.)
> 
> Actually, I changed my mind. I don't think we should remove it, so I just
> removed TODO in the follow-up CL.
> 
>
https://codereview.chromium.org/1278593004/diff/680001/content/public/android...
> File
>
content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java
> (right):
> 
>
https://codereview.chromium.org/1278593004/diff/680001/content/public/android...
>
content/public/android/java/src/org/chromium/content/browser/input/InputMethodManagerWrapper.java:107:
> } catch (NoSuchMethodException | IllegalAccessException |
> IllegalArgumentException
> On 2016/02/25 23:49:55, palmer wrote:
> > These are all subclasses of RuntimeException, right? You could just catch
that
> > type to make the code more general and perhaps to catch more types of
errors,
> > should they happen. (One the other hand, maybe you'd definitely want the
> > application to die in that case. I don't know.)
> > 
> > Also, if such an exception does happen, doesn't that mean something very odd
> > about the platform is happening? That is, if there is an InputMethodManager
> that
> > doesn't provide a notifyUserAction method, is it a super broken IMM? Maybe
log
> > it more verbosely, or UMA it...? I dunno, maybe it doesn't matter.
> > 
> > Anyway, no action required; just a thought.
> 
> Hmm... I think it is a matter of readability and discoverability of hidden
> condition vs. general stability. I personally prefer exceptions to be stated
> explicitly to understand the risks better.

this patch may cause  Issue 672369
We hope you will fix it in next version:)

Powered by Google App Engine
This is Rietveld 408576698