New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 643477 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

ImeThread: need to allow UI thread to call InputConnection methods for webview

Project Member Reported by changwan@chromium.org, Sep 2 2016

Issue description

We 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).

 

Comment 1 by torne@chromium.org, Sep 2 2016

Cc: torne@chromium.org
So this is another blocker for launching ImeThread? :/

Are we going to be able to do the right thing without hacks, or are we going to need to introduce app-specific workarounds again?
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. :)
Project Member

Comment 3 by bugdroid1@chromium.org, 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

Comment 4 by torne@chromium.org, Sep 12 2016

Issue 645956 has been merged into this issue.
Cc: alek...@chromium.org aluo@chromium.org
Project Member

Comment 6 by bugdroid1@chromium.org, 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

Labels: Merge-Request-54
requesting merge of #3 into m54

Comment 8 by dimu@chromium.org, Sep 21 2016

Labels: -Merge-Request-54 Merge-Approved-54 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M54 (branch: 2840)
Project Member

Comment 9 by bugdroid1@chromium.org, Sep 21 2016

Labels: -merge-approved-54 merge-merged-2840
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

Status: Fixed (was: Started)

Comment 11 Deleted

verified on HTC one x9, HTC Desire, HTC one A9 on 54.0.2840.34
also verified on HTC One M9 and HTC Desire on 55.0.2868.0
Project Member

Comment 14 by bugdroid1@chromium.org, 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

Labels: Merge-Request-54
request of merging #14 into m54

Comment 16 by dimu@chromium.org, Sep 23 2016

Labels: -Merge-Request-54 Merge-Approved-54
Your change meets the bar and is auto-approved for M54 (branch: 2840)
Project Member

Comment 17 by bugdroid1@chromium.org, Sep 23 2016

Labels: -merge-approved-54
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

Project Member

Comment 18 by bugdroid1@chromium.org, 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

Project Member

Comment 19 by bugdroid1@chromium.org, 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