ImeThread: need to allow UI thread to call InputConnection methods for webview |
|||||||||
Issue descriptionWe need to allow UI thread to call InputConnection methods for launching ImeThread for WebView. It was reported that HTC mail had the following crash once. 08-30 14:26:53.119 13972 13972 E AndroidRuntime: FATAL EXCEPTION: main 08-30 14:26:53.119 13972 13972 E AndroidRuntime: Process: com.htc.android.mail, PID: 13972 08-30 14:26:53.119 13972 13972 E AndroidRuntime: java.lang.AssertionError 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at org.chromium.content.browser.input.ImeUtils.checkCondition(ImeUtils.java:143) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at org.chromium.content.browser.input.ThreadedInputConnection.assertOnImeThread(ThreadedInputConnection.java:237) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at org.chromium.content.browser.input.ThreadedInputConnection.updateComposingText(ThreadedInputConnection.java:294) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at org.chromium.content.browser.input.ThreadedInputConnection.setComposingText(ThreadedInputConnection.java:283) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at com.htc.android.mail.compose.q.setComposingText(EditableWebViewInputConnection.java:100) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at com.htc.android.mail.compose.v.a(EditableWebViewInputConnection.java:514) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at com.htc.android.mail.compose.aw.handleMessage(SpellCheckHelper.java:695) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:111) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at android.os.Looper.loop(Looper.java:227) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6100) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:859) 08-30 14:26:53.119 13972 13972 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749) Also, https://bugs.chromium.org/p/chromium/issues/detail?id=637242#c9 mentions the following crash stack on a sample app provided by LGE: 08-16 13:53:31.791 8841 8841 W System.err: at org.chromium.content.browser.input.ImeUtils.checkCondition(ImeUtils.java:143) 08-16 13:53:31.791 8841 8841 W System.err: at org.chromium.content.browser.input.ThreadedInputConnection.assertOnImeThread(ThreadedInputConnection.java:237) 08-16 13:53:31.791 8841 8841 W System.err: at org.chromium.content.browser.input.ThreadedInputConnection.getSelectedText(ThreadedInputConnection.java:560) 08-16 13:53:31.791 8841 8841 W System.err: at com.example.edittextsamples.MyInputConnection.getSelectedText(MyInputConnection.java:83) 08-16 13:53:31.791 8841 8841 W System.err: at com.example.edittextsamples.MyWebView.hasSelection(MyWebView.java:103) 08-16 13:53:31.791 8841 8841 W System.err: at com.example.edittextsamples.MyWebView.startActionMode(MyWebView.java:90) 08-16 13:53:31.791 8841 8841 W System.err: at org.chromium.content.browser.ContentViewCore.startFloatingActionMode(ContentViewCore.java:2038) 08-16 13:53:31.791 8841 8841 W System.err: at org.chromium.content.browser.ContentViewCore.startActionMode(ContentViewCore.java:2023) 08-16 13:53:31.791 8841 8841 W System.err: at org.chromium.content.browser.ContentViewCore.showSelectActionMode(ContentViewCore.java:1998) 08-16 13:53:31.791 8841 8841 W System.err: at org.chromium.content.browser.ContentViewCore.onSelectionEvent(ContentViewCore.java:2101) 08-16 13:53:31.791 8841 8841 W System.err: at org.chromium.android_webview.AwContents.nativeOnDraw(Native Method) 08-16 13:53:31.792 8841 8841 W System.err: at org.chromium.android_webview.AwContents.access$4700(AwContents.java:100) 08-16 13:53:31.792 8841 8841 W System.err: at org.chromium.android_webview.AwContents$AwViewMethodsImpl.onDraw(AwContents.java:2997) 08-16 13:53:31.792 8841 8841 W System.err: at org.chromium.android_webview.AwContents.onDraw(AwContents.java:1328) 08-16 13:53:31.792 8841 8841 W System.err: at com.android.webview.chromium.WebViewChromium.onDraw(WebViewChromium.java:1630) The current idea is to remove assertOnImeThread() from most methods, while returning cached values for get* methods to avoid cache. Functional errors caused by get* methods behavior need to be addressed separately. (hopefully by app developers).
,
Sep 2 2016
No need for app-specific workaround in this case. I expect to land something along the line of https://codereview.chromium.org/2299913003/ Sorry to have scared you. :)
,
Sep 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c8a5f86ac17908905756c36a9d4ff87439401994 commit c8a5f86ac17908905756c36a9d4ff87439401994 Author: changwan <changwan@chromium.org> Date: Fri Sep 09 04:02:36 2016 Allow some InputConnection methods to be called on UI thread Assertions are removed from some of the InputConnection methods that merely post on UI thread. In doing so, mPendingAccent was changed to be accessed only on UI thread. However, beginBatchEdit() / endBatchEdit() implementations are quite complicated and no evidence calling those on UI thread was found so far. Also, for get* methods we return cached results. BUG= 643477 Review-Url: https://codereview.chromium.org/2299913003 Cr-Commit-Position: refs/heads/master@{#417499} [modify] https://crrev.com/c8a5f86ac17908905756c36a9d4ff87439401994/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java [modify] https://crrev.com/c8a5f86ac17908905756c36a9d4ff87439401994/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java [modify] https://crrev.com/c8a5f86ac17908905756c36a9d4ff87439401994/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java
,
Sep 12 2016
Issue 645956 has been merged into this issue.
,
Sep 20 2016
,
Sep 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4662007a92a92b016ef3f05fb4cbbd6904825cc0 commit 4662007a92a92b016ef3f05fb4cbbd6904825cc0 Author: changwan <changwan@chromium.org> Date: Wed Sep 21 03:05:41 2016 Allow selection change update before beginBatchEdit Currently, selection changes immediately before beginBatchEdit() may be merged into batch edit selection update which happens at endBatchEdit(). The reason is that it takes round-trip time to get update from previous operation and if we increment mNumNestedBatchEdits in beginBatchEdit() before the update from renderer process arrives at browser process, then the update from operation will be ignored because mNumNestedBatchEdits > 0. This can be prevented if we keep the batch edit information in renderer and tag it to each text input state update. Note that mNumNestedBatchEdits should still be kept in ThreadedInputConnection to return the correct value in endBatchEdit(). BUG=644574, 643473, 643477 Review-Url: https://codereview.chromium.org/2309983002 Cr-Commit-Position: refs/heads/master@{#419959} [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/browser/android/content_view_core_impl.cc [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/browser/android/content_view_core_impl.h [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/browser/renderer_host/ime_adapter_android.cc [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/browser/renderer_host/ime_adapter_android.h [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/browser/renderer_host/render_widget_host_view_android.cc [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/common/input_messages.h [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/common/text_input_state.cc [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/common/text_input_state.h [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/common/view_messages.h [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/public/android/java/src/org/chromium/content/browser/input/ChromiumBaseInputConnection.java [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/public/android/java/src/org/chromium/content/browser/input/TextInputState.java [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/public/android/junit/src/org/chromium/content/browser/input/TextInputStateTest.java [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionFactoryTest.java [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/renderer/render_widget.cc [modify] https://crrev.com/4662007a92a92b016ef3f05fb4cbbd6904825cc0/content/renderer/render_widget.h
,
Sep 21 2016
requesting merge of #3 into m54
,
Sep 21 2016
Your change meets the bar and is auto-approved for M54 (branch: 2840)
,
Sep 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2664606198e8a32b9f5f2464311cfa4663bbc676 commit 2664606198e8a32b9f5f2464311cfa4663bbc676 Author: Changwan Ryu <changwan@google.com> Date: Wed Sep 21 06:03:05 2016 Allow some InputConnection methods to be called on UI thread Assertions are removed from some of the InputConnection methods that merely post on UI thread. In doing so, mPendingAccent was changed to be accessed only on UI thread. However, beginBatchEdit() / endBatchEdit() implementations are quite complicated and no evidence calling those on UI thread was found so far. Also, for get* methods we return cached results. BUG= 643477 Review-Url: https://codereview.chromium.org/2299913003 Cr-Commit-Position: refs/heads/master@{#417499} (cherry picked from commit c8a5f86ac17908905756c36a9d4ff87439401994) Allow selection change update before beginBatchEdit Currently, selection changes immediately before beginBatchEdit() may be merged into batch edit selection update which happens at endBatchEdit(). The reason is that it takes round-trip time to get update from previous operation and if we increment mNumNestedBatchEdits in beginBatchEdit() before the update from renderer process arrives at browser process, then the update from operation will be ignored because mNumNestedBatchEdits > 0. This can be prevented if we keep the batch edit information in renderer and tag it to each text input state update. Note that mNumNestedBatchEdits should still be kept in ThreadedInputConnection to return the correct value in endBatchEdit(). BUG=644574, 643473, 643477 Review-Url: https://codereview.chromium.org/2309983002 Cr-Commit-Position: refs/heads/master@{#419959} (cherry picked from commit 4662007a92a92b016ef3f05fb4cbbd6904825cc0) Also fix build error in ImeTest Review URL: https://codereview.chromium.org/2355483006 . Cr-Commit-Position: refs/branch-heads/2840@{#458} Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607} [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/browser/android/content_view_core_impl.cc [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/browser/android/content_view_core_impl.h [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/browser/renderer_host/ime_adapter_android.cc [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/browser/renderer_host/ime_adapter_android.h [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/browser/renderer_host/render_widget_host_view_android.cc [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/common/input_messages.h [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/common/text_input_state.cc [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/common/text_input_state.h [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/common/view_messages.h [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/input/ChromiumBaseInputConnection.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/input/TextInputState.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/junit/src/org/chromium/content/browser/input/TextInputStateTest.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/renderer/render_widget.cc [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/renderer/render_widget.h
,
Sep 21 2016
,
Sep 21 2016
verified on HTC one x9, HTC Desire, HTC one A9 on 54.0.2840.34
,
Sep 22 2016
also verified on HTC One M9 and HTC Desire on 55.0.2868.0
,
Sep 23 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1e882835e53cfd89a30e14c806cdbc5a6d0554ac commit 1e882835e53cfd89a30e14c806cdbc5a6d0554ac Author: changwan <changwan@chromium.org> Date: Fri Sep 23 03:09:00 2016 Bring back assertions for beginBatchEdit / endBatchEdit Since there is no known crash for these functions, we will bring back the assertions to fortify the IME thread logic. BUG= 643477 Review-Url: https://codereview.chromium.org/2365543002 Cr-Commit-Position: refs/heads/master@{#420560} [modify] https://crrev.com/1e882835e53cfd89a30e14c806cdbc5a6d0554ac/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java [modify] https://crrev.com/1e882835e53cfd89a30e14c806cdbc5a6d0554ac/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java
,
Sep 23 2016
request of merging #14 into m54
,
Sep 23 2016
Your change meets the bar and is auto-approved for M54 (branch: 2840)
,
Sep 23 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0cab1eafcc8b4a1b8efab0b0b82311a70ed10843 commit 0cab1eafcc8b4a1b8efab0b0b82311a70ed10843 Author: Changwan Ryu <changwan@google.com> Date: Fri Sep 23 05:43:01 2016 Bring back assertions for beginBatchEdit / endBatchEdit Since there is no known crash for these functions, we will bring back the assertions to fortify the IME thread logic. BUG= 643477 Review-Url: https://codereview.chromium.org/2365543002 Cr-Commit-Position: refs/heads/master@{#420560} (cherry picked from commit 1e882835e53cfd89a30e14c806cdbc5a6d0554ac) Review URL: https://codereview.chromium.org/2362163002 . Cr-Commit-Position: refs/branch-heads/2840@{#508} Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607} [modify] https://crrev.com/0cab1eafcc8b4a1b8efab0b0b82311a70ed10843/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java [modify] https://crrev.com/0cab1eafcc8b4a1b8efab0b0b82311a70ed10843/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java
,
Oct 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2664606198e8a32b9f5f2464311cfa4663bbc676 commit 2664606198e8a32b9f5f2464311cfa4663bbc676 Author: Changwan Ryu <changwan@google.com> Date: Wed Sep 21 06:03:05 2016 Allow some InputConnection methods to be called on UI thread Assertions are removed from some of the InputConnection methods that merely post on UI thread. In doing so, mPendingAccent was changed to be accessed only on UI thread. However, beginBatchEdit() / endBatchEdit() implementations are quite complicated and no evidence calling those on UI thread was found so far. Also, for get* methods we return cached results. BUG= 643477 Review-Url: https://codereview.chromium.org/2299913003 Cr-Commit-Position: refs/heads/master@{#417499} (cherry picked from commit c8a5f86ac17908905756c36a9d4ff87439401994) Allow selection change update before beginBatchEdit Currently, selection changes immediately before beginBatchEdit() may be merged into batch edit selection update which happens at endBatchEdit(). The reason is that it takes round-trip time to get update from previous operation and if we increment mNumNestedBatchEdits in beginBatchEdit() before the update from renderer process arrives at browser process, then the update from operation will be ignored because mNumNestedBatchEdits > 0. This can be prevented if we keep the batch edit information in renderer and tag it to each text input state update. Note that mNumNestedBatchEdits should still be kept in ThreadedInputConnection to return the correct value in endBatchEdit(). BUG=644574, 643473, 643477 Review-Url: https://codereview.chromium.org/2309983002 Cr-Commit-Position: refs/heads/master@{#419959} (cherry picked from commit 4662007a92a92b016ef3f05fb4cbbd6904825cc0) Also fix build error in ImeTest Review URL: https://codereview.chromium.org/2355483006 . Cr-Commit-Position: refs/branch-heads/2840@{#458} Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607} [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/browser/android/content_view_core_impl.cc [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/browser/android/content_view_core_impl.h [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/browser/renderer_host/ime_adapter_android.cc [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/browser/renderer_host/ime_adapter_android.h [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/browser/renderer_host/render_widget_host_view_android.cc [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/common/input_messages.h [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/common/text_input_state.cc [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/common/text_input_state.h [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/common/view_messages.h [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/input/ChromiumBaseInputConnection.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/input/ImeAdapter.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/input/ReplicaInputConnection.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/input/TextInputState.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/junit/src/org/chromium/content/browser/input/TextInputStateTest.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionTest.java [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/renderer/render_widget.cc [modify] https://crrev.com/2664606198e8a32b9f5f2464311cfa4663bbc676/content/renderer/render_widget.h
,
Oct 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0cab1eafcc8b4a1b8efab0b0b82311a70ed10843 commit 0cab1eafcc8b4a1b8efab0b0b82311a70ed10843 Author: Changwan Ryu <changwan@google.com> Date: Fri Sep 23 05:43:01 2016 Bring back assertions for beginBatchEdit / endBatchEdit Since there is no known crash for these functions, we will bring back the assertions to fortify the IME thread logic. BUG= 643477 Review-Url: https://codereview.chromium.org/2365543002 Cr-Commit-Position: refs/heads/master@{#420560} (cherry picked from commit 1e882835e53cfd89a30e14c806cdbc5a6d0554ac) Review URL: https://codereview.chromium.org/2362163002 . Cr-Commit-Position: refs/branch-heads/2840@{#508} Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607} [modify] https://crrev.com/0cab1eafcc8b4a1b8efab0b0b82311a70ed10843/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnection.java [modify] https://crrev.com/0cab1eafcc8b4a1b8efab0b0b82311a70ed10843/content/public/android/javatests/src/org/chromium/content/browser/input/ImeTest.java |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by torne@chromium.org
, Sep 2 2016