Unable to focus text fields on Sign in screens using touch
Reported by
kuen....@quantatw.com,
Jun 14 2016
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36 Platform: 8350.27.0 Steps to reproduce the problem: 1. Tap "Add person" icon by touchscreen in login screen. 2. Enable "On-screen keyboard" of Accessibility. 3. Enter email when tap "On-screen keyboard" by touchscreen. 4. UI does not respond. What is the expected behavior? What went wrong? Tap on-screen keyboard by touchscreen, unable to enter email. Did this work before? N/A Chrome version: 52.0.2743.38 Channel: beta OS Version: 52.0.2743.38 Flash Version: Shockwave Flash 22.0 r0
,
Jun 19 2016
This happens when the virtual keyboard comes up while focus is off of the Sign in page (if, for example, you were turning on the a11y keyboard). If the keyboard is already enabled when you click Add person, everything works fine. The issue seems to be the timing of focus placement. If the Sign in page doesn't have focus, then tapping on the "Email or phone number field" brings up the virtual keyboard before focus can be set on the input field. If the input field has focus, the problem can be reproduced by clicking off of the Sign in page (e.g. on the background), and then clicking back on the Email input field. Interestingly, the problem is fixed by pressing TAB, even on the virtual keyboard. Note that this problem seems to occur on all Login flow pages with text input fields.
,
Jun 23 2016
Actually, after further testing, this problem has nothing to do with the keyboard. Don't enable the onscreen keyboard at all. Just start GAIA login flow on touch device. When the Sign in page comes up, tap on the background, then back over the "Email or phone number" text field. It won't get focus. wjmaclean@ - I did a bisect, and the problem seems to have originated here: https://codereview.chromium.org/1752833002 Would you mind taking a look at this issue? I don't want to break your CL by trying to fiddle with this. Thanks! The specific problem is in https://codereview.chromium.org/1752833002/diff/140001/content/browser/renderer_host/render_widget_host_view_aura.cc around line 2388. This inserts RenderWidgetHostInputEventRouter::RouteGestureEvent() into the call stack: content::RenderWidgetHostImpl::ForwardGestureEventWithLatencyInfo() at render_widget_host_impl.cc:1,060 > content::RenderWidgetHostViewAura::ProcessGestureEvent() at render_widget_host_view_aura.cc:2,092 > content::RenderWidgetHostInputEventRouter::RouteGestureEvent() at render_widget_host_input_event_router.cc:199 content::RenderWidgetHostViewAura::OnGestureEvent() at render_widget_host_view_aura.cc:2,235 where before, OnGestureEvent() would call ForwardGestureEventWithLatencyInfo() directly. When I change the code to have this called directly again, the problem goes away. RouteGestureEvent() is shifting event coordinates by the (negative of the) offset of the Login page from top left of screen. I didn't dig any further, so I don't know if this is the source of the problem. Also note: Issue 622446 looks superficially similar, and may have the same root cause.
,
Jun 23 2016
,
Jun 24 2016
Re-assigning to avallee@ as this is part of ongoing, known issue with focus in WebView. (+alexmos@ as he is working with avallee@ on focus) Alex V, please feel free to merge this into the existing issue as you see fit.
,
Jun 24 2016
Issue 622446 has been merged into this issue.
,
Jun 24 2016
,
Jun 24 2016
,
Jun 24 2016
FYI Google support has already seen a number of cases related to this matter: -Users unable to login to Chrome OS because they can't select text fields via touch. -Touchscreen Chrome kiosks that are inoperable because text input not possible. -Teachers unable to use smartboard touchscreens in class (this one is on Windows but I believe it's same root issue). Please consider this a high impact issue as we work towards a fix.
,
Jun 24 2016
Adding Mike ...
,
Jun 24 2016
,
Jun 24 2016
avallee@ is away today, so I'll take this back over in the meantime.
,
Jun 24 2016
Adding 51 label.
,
Jun 24 2016
I'm testing a CL at https://codereview.chromium.org/2095143002 that I think will fix this issue.
,
Jun 27 2016
Issue 617936 has been merged into this issue.
,
Jun 27 2016
Thanks wjmaclean. FWIW, I pulled down patchset 3 of the original CL, compiled Chrome OS for a link device and found that it does indeed resolve the issue on the login screen as well as an app within a user session. Touch textbox selection worked as expected for my test build. Adding creis@ and tdresser@ for larger context. Can we get this reviewed and merged down to stable ASAP? We are seeing numerous customers having issues on stable with this bug.
,
Jun 27 2016
,
Jun 27 2016
Issue 617640 has been merged into this issue.
,
Jun 28 2016
,
Jun 30 2016
,
Jun 30 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/347f2466211ae7ebbbc0a01f0f564274dc5fa3c2 commit 347f2466211ae7ebbbc0a01f0f564274dc5fa3c2 Author: wjmaclean <wjmaclean@chromium.org> Date: Thu Jun 30 22:06:22 2016 Send synthetic GestureTapDown to focus BrowserPlugin Since we now route Gesture events directly to the guest renderer, there is no longer any event to focus the BrowserPlugin in the embedder renderer, meaning that even though touch/gesture events work properly, the guest may not receive keyboard input. This CL provides a temporary fix by sending a synthetic GestureTapDown to the embedder on TouchStarti, in parallel with sending the TouchStart directly to the guest. The synthetic event focuses the BrowserPlugin. This CL also fixes two tests that were still sending Gestures to the embedder. When BrowserPlugin is removed, this code will disappear along with RenderWidgetHostViewGuest. BUG= 619906 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2101663002 Cr-Commit-Position: refs/heads/master@{#403308} [modify] https://crrev.com/347f2466211ae7ebbbc0a01f0f564274dc5fa3c2/chrome/browser/apps/guest_view/web_view_browsertest.cc [modify] https://crrev.com/347f2466211ae7ebbbc0a01f0f564274dc5fa3c2/content/browser/frame_host/render_widget_host_view_guest.cc [modify] https://crrev.com/347f2466211ae7ebbbc0a01f0f564274dc5fa3c2/content/renderer/browser_plugin/browser_plugin.cc
,
Jun 30 2016
,
Jul 1 2016
Your change meets the bar and is auto-approved for M52 (branch: 2743)
,
Jul 4 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5f87571138ba5e85759984e956efcb6691cf3770 commit 5f87571138ba5e85759984e956efcb6691cf3770 Author: W. James MacLean <wjmaclean@chromium.org> Date: Mon Jul 04 14:37:09 2016 Send synthetic GestureTapDown to focus BrowserPlugin Since we now route Gesture events directly to the guest renderer, there is no longer any event to focus the BrowserPlugin in the embedder renderer, meaning that even though touch/gesture events work properly, the guest may not receive keyboard input. This CL provides a temporary fix by sending a synthetic GestureTapDown to the embedder on TouchStarti, in parallel with sending the TouchStart directly to the guest. The synthetic event focuses the BrowserPlugin. This CL also fixes two tests that were still sending Gestures to the embedder. When BrowserPlugin is removed, this code will disappear along with RenderWidgetHostViewGuest. BUG= 619906 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2101663002 Cr-Commit-Position: refs/heads/master@{#403308} (cherry picked from commit 347f2466211ae7ebbbc0a01f0f564274dc5fa3c2) Review URL: https://codereview.chromium.org/2123523002 . Cr-Commit-Position: refs/branch-heads/2743@{#579} Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939} [modify] https://crrev.com/5f87571138ba5e85759984e956efcb6691cf3770/chrome/browser/apps/guest_view/web_view_browsertest.cc [modify] https://crrev.com/5f87571138ba5e85759984e956efcb6691cf3770/content/browser/frame_host/render_widget_host_view_guest.cc [modify] https://crrev.com/5f87571138ba5e85759984e956efcb6691cf3770/content/renderer/browser_plugin/browser_plugin.cc
,
Jul 4 2016
,
Jul 7 2016
Tested the issue on Chrome OS (Link) using chrome version 53.0.2785.4/8530.6.0 with the below steps 1. Enable "On-screen keyboard" of Accessibility 2. enter Email 3. Clicked on Next button 4. Able to login without any issues. Thanks,
,
Jul 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b65ea7939693ae12a9134d9caaf33b2cc10a2f61 commit b65ea7939693ae12a9134d9caaf33b2cc10a2f61 Author: wjmaclean <wjmaclean@chromium.org> Date: Thu Jul 07 22:17:07 2016 Test for BrowserPlugin-based WebView Focus This test accompanies https://codereview.chromium.org/2101663002/ but was landed after to (1) allow the original CL to land sooner, and (2) to facilitate merging the original CL to M52. BUG= 619906 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2116663002 Cr-Commit-Position: refs/heads/master@{#404252} [modify] https://crrev.com/b65ea7939693ae12a9134d9caaf33b2cc10a2f61/chrome/browser/apps/guest_view/web_view_browsertest.cc [add] https://crrev.com/b65ea7939693ae12a9134d9caaf33b2cc10a2f61/chrome/test/data/extensions/platform_apps/web_view/guest_focus_test/guest.html [add] https://crrev.com/b65ea7939693ae12a9134d9caaf33b2cc10a2f61/chrome/test/data/extensions/platform_apps/web_view/guest_focus_test/guest.js [add] https://crrev.com/b65ea7939693ae12a9134d9caaf33b2cc10a2f61/chrome/test/data/extensions/platform_apps/web_view/guest_focus_test/main.html [add] https://crrev.com/b65ea7939693ae12a9134d9caaf33b2cc10a2f61/chrome/test/data/extensions/platform_apps/web_view/guest_focus_test/main.js [add] https://crrev.com/b65ea7939693ae12a9134d9caaf33b2cc10a2f61/chrome/test/data/extensions/platform_apps/web_view/guest_focus_test/manifest.json [add] https://crrev.com/b65ea7939693ae12a9134d9caaf33b2cc10a2f61/chrome/test/data/extensions/platform_apps/web_view/guest_focus_test/test.js [modify] https://crrev.com/b65ea7939693ae12a9134d9caaf33b2cc10a2f61/content/browser/frame_host/render_widget_host_view_child_frame.cc [modify] https://crrev.com/b65ea7939693ae12a9134d9caaf33b2cc10a2f61/content/public/test/browser_test_utils.cc [modify] https://crrev.com/b65ea7939693ae12a9134d9caaf33b2cc10a2f61/content/public/test/browser_test_utils.h
,
Jul 8 2016
,
Jul 8 2016
,
Jul 13 2016
Verified this issue on Windows-10 using chrome latest M52-52.0.2743.75 by following steps mentioned in the original comment. observed the On-screen keyboard is responding as expected without any issues while entering the email in the login page. Hence adding TE-Verified label.
,
Jul 27 2016
Issue 629830 has been merged into this issue.
,
Dec 17 2016
,
Sep 29 2017
,
Sep 29 2017
,
Aug 13
Hello, this is still an issue.
,
Aug 13
@vijay.kadri: this is a bug from 2016 that is closed and verified. If you are seeing similar issues please open a new bug. I'd also encourage you or your customers to open tickets with Google Cloud Support. |
||||||||||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||||||||
Comment 1 by abodenha@chromium.org
, Jun 17 2016Owner: glevin@chromium.org
Status: Assigned (was: Unconfirmed)