New issue
Advanced search Search tips

Issue 807711 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: ----



Sign in to add a comment

window focus loss causes input to restart

Project Member Reported by changwan@google.com, Jan 31 2018

Issue description

One side effect of workaround in using threaded input connection for Android M and below (https://docs.google.com/document/d/1MxICLxUwVwt1ofzEvJFkTnjt8t1rwHWmc-SthS9BrIU/edit)
is that input gets restarted on window focus loss.

This can be fixed on N+ if we just let Android's InputMethodManager handle InputConnection#getHandler().

(Sorry filing on google.com as chromium.org is locked out for now.)

This will fix b/b/69940860, b/72659116.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jan 31 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/46a717901c025f96777bdc5963efbf9658c9e1de

commit 46a717901c025f96777bdc5963efbf9658c9e1de
Author: Changwan Ryu <changwan@google.com>
Date: Wed Jan 31 21:25:16 2018

Use Android's threaded inputconnection for N+

As Android has implemented InputConnection#getHandler() in N,
the workaround from
https://docs.google.com/document/d/1MxICLxUwVwt1ofzEvJFkTnjt8t1rwHWmc-SthS9BrIU/edit
is no longer required for Android N+.

One side effect of the workaround is that it causes input to restart
on window focus loss. Therefore, in a situation where a dialog window
shows up, input gets restarted. Using InputConnection#getHandler()
properly on N+ fixes this problem.

BUG= 807711 , b/69940860, b/72659116

Change-Id: If7349c6565ac0465e9010c2c2d61f1c95ae0e2e3
Reviewed-on: https://chromium-review.googlesource.com/894499
Commit-Queue: Changwan Ryu <changwan@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533416}
[modify] https://crrev.com/46a717901c025f96777bdc5963efbf9658c9e1de/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java
[modify] https://crrev.com/46a717901c025f96777bdc5963efbf9658c9e1de/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionFactoryTest.java

Cc: michaelbai@chromium.org alek...@chromium.org dneelame...@chromium.org
Components: UI>Input>Text>IME UI>Browser>Autofill Mobile>WebView
Labels: -Pri-3 Merge-Request-65 Pri-1
Owner: changwan@chromium.org
Status: Fixed (was: Unconfirmed)
This fixes a serious autofill issue (b/72659116), requesting merge into M65.

dneelamegam@, could you verify that the autofill issue has been fixed?
alekyoo@, could you verify that IME works correctly? (This is an extensive change for Android N+).

I'll merge once it gets verified in 66.
Project Member

Comment 3 by sheriffbot@chromium.org, Feb 2 2018

Labels: -Merge-Request-65 Hotlist-Merge-Approved Merge-Approved-65
Your change meets the bar and is auto-approved for M65. Please go ahead and merge the CL to branch 3325 manually. Please contact milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 4 by bugdroid1@chromium.org, Feb 5 2018

Labels: -merge-approved-65 merge-merged-3325
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/57f1913bf21906302d122f4e05baa4b06da5ecf4

commit 57f1913bf21906302d122f4e05baa4b06da5ecf4
Author: Changwan Ryu <changwan@google.com>
Date: Mon Feb 05 16:26:57 2018

Use Android's threaded inputconnection for N+

As Android has implemented InputConnection#getHandler() in N,
the workaround from
https://docs.google.com/document/d/1MxICLxUwVwt1ofzEvJFkTnjt8t1rwHWmc-SthS9BrIU/edit
is no longer required for Android N+.

One side effect of the workaround is that it causes input to restart
on window focus loss. Therefore, in a situation where a dialog window
shows up, input gets restarted. Using InputConnection#getHandler()
properly on N+ fixes this problem.

BUG= 807711 , b/69940860, b/72659116

Change-Id: If7349c6565ac0465e9010c2c2d61f1c95ae0e2e3
Reviewed-on: https://chromium-review.googlesource.com/894499
Commit-Queue: Changwan Ryu <changwan@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#533416}(cherry picked from commit 46a717901c025f96777bdc5963efbf9658c9e1de)
Reviewed-on: https://chromium-review.googlesource.com/901904
Reviewed-by: Changwan Ryu <changwan@chromium.org>
Cr-Commit-Position: refs/branch-heads/3325@{#299}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
[modify] https://crrev.com/57f1913bf21906302d122f4e05baa4b06da5ecf4/content/public/android/java/src/org/chromium/content/browser/input/ThreadedInputConnectionFactory.java
[modify] https://crrev.com/57f1913bf21906302d122f4e05baa4b06da5ecf4/content/public/android/junit/src/org/chromium/content/browser/input/ThreadedInputConnectionFactoryTest.java

Status: Verified (was: Fixed)
verified as per steps on bug b/72659116
 Pixel XL /65.0.3325.53/PPP1.180201.004 and Pixel XL/ OPM1.171019.021/65.0.3325.53

verified on M66/webview as well : Pixel XL/ OPM1.171019.021/ 66.0.3342.0

Sign in to add a comment