Issue metadata
Sign in to add a comment
|
Browser shifts up when clicking on the hyperlinks /tabs |
||||||||||||||||||||||
Issue descriptionChrome Version : 60.0.3112.59 Platform : 9592.51.0 - Caroline, Pyro What steps will reproduce the problem? 1. open 2 tabs, (gmail.com, google.com/finance) 2. flip it into tablet mode 3. touch on any input textfield to bring up the virtual keyboard 4. exit the tablet mode 5. click on gmail.com or google.com/finance tab, and then check the browser location What is the expected result? The browser shouldn't move to the top What happens instead? Chrome browser moves to the top when clicking on the tab (or hyperlinks) Please provide any additional information below. Attach a screenshot if possible. Unable to reproduce the issue Chrome59.0.3071.70/CrOS 9460.49.0 - Pyro
,
Jul 25 2017
Blake, any update on this issue?
,
Jul 25 2017
I can't repro this on latest ToT .. still happening?
,
Jul 25 2017
Yes, this is still happening.
,
Jul 25 2017
ok, we are getting really close to stable promotion for M60 Is this something that is expected to be resolved this week?
,
Jul 26 2017
Blake, let me know if you need any help. Thanks.
,
Jul 27 2017
Able to reproduce the issue on Chrome 61.0.3163.13/ CrOS 9765.7.0 - Caroline.
,
Jul 28 2017
Not blocking initial M60 stable on this one. we can cherry pick a a merge if ready and safe to do for a subsequent stable refresh
,
Aug 2 2017
So, as it turns out, this has nothing to do with the restore bounds of windows getting corrupted, and everything to do with the KeyboardController missing SHOWN-to-HIDDEN state transition when you flip out of tablet mode. When the keyboard opens, InputMethodBase gets notification of what the bounds are. When the keyboard closes, InputMethodBase also gets notification that the bounds should be cleared, but this notification occurs at the end of the HideAnimationFinished method. These bounds are used every time a window/tab gets focus and it tries to see if it needs to be moved into view. Since the keyboard hiding animation doesn't occur when you flip out of tablet mode, the bounds never get cleared and the InputMethodBase always thinks the keyboard bounds are still valid, even though the keyboard is no longer shown.
,
Aug 2 2017
Good finding! To elaborate, what's bad is KeyboardController::Reset has been called when the keyboard controller state is not HIDDEN. I guess we should set the keyboard bound empty and call NotifyKeyboardBoundsChangingAndEnsrueCaretInWorkArea in Reset.
,
Aug 3 2017
As far as I read some related code, KeyboardController::HideKeyboard() should be called when we flip out of tablet mode by a call chain like: ash::VirtualKeyboardController::OnTabletModeEnded --> VirtualKeyboardController::SetKeyboardEnabled --> ash::Shell::DestroyKeyboard() --> RootWindowController::DeactivateKeyboard --> KeyboardController::HideKeyboard() So, one possible solution I can think of is adding a method like |HideKeyboardImmediately| to KeyboardController and letting the method notify InputMethodBase immediately. The change that oka@ described in comment # 10 should also work well.
,
Aug 10 2017
,
Aug 10 2017
,
Aug 16 2017
,
Aug 16 2017
Hi Blake, (just a quick FYI) I patched your change (https://chromium-review.googlesource.com/c/602838) and confirmed that it fixes Issue 747086. We'll need to merge this back to M61 for the new applist as it's a high priority bugfix for the launch. I'm keeping the other bug open rather than closing it as a duplicate since we'll add regression tests after your change lands. Thanks!
,
Aug 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ae77b6cc958440822e99b3c038e1503f9240e180 commit ae77b6cc958440822e99b3c038e1503f9240e180 Author: Blake O'Hare <blakeo@chromium.org> Date: Mon Aug 28 08:35:53 2017 Remove SHOWING and HIDING states from keyboard controller This also changes the meaning of VirtualKeyboard.InitLatency.FirstLoad metric to record how long it takes for the JavaScript layout to load (even in the background). Now that pre-loading occurs, the previous timings did not provide insights anymore. Bug: 740582 Change-Id: I28a1ee6b8835261bd82a06f9547500d7d709b76d Reviewed-on: https://chromium-review.googlesource.com/634723 Commit-Queue: Blake O'Hare <blakeo@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Reviewed-by: Yuichiro Hanada <yhanada@chromium.org> Reviewed-by: Keigo Oka <oka@chromium.org> Cr-Commit-Position: refs/heads/master@{#497714} [modify] https://crrev.com/ae77b6cc958440822e99b3c038e1503f9240e180/chrome/browser/ui/ash/keyboard_controller_browsertest.cc [modify] https://crrev.com/ae77b6cc958440822e99b3c038e1503f9240e180/ui/keyboard/BUILD.gn [modify] https://crrev.com/ae77b6cc958440822e99b3c038e1503f9240e180/ui/keyboard/keyboard_controller.cc [modify] https://crrev.com/ae77b6cc958440822e99b3c038e1503f9240e180/ui/keyboard/keyboard_controller.h [modify] https://crrev.com/ae77b6cc958440822e99b3c038e1503f9240e180/ui/keyboard/keyboard_controller_unittest.cc
,
Aug 28 2017
,
Aug 29 2017
,
Aug 29 2017
This bug requires manual review: We are only 6 days from stable. Please contact the milestone owner if you have questions. Owners: amineer@(Android), cmasso@(iOS), ketakid@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Aug 29 2017
Approving merge to M61.
,
Aug 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5cefcf9b6afe2d89b17f8c3e1c1581b3326549e7 commit 5cefcf9b6afe2d89b17f8c3e1c1581b3326549e7 Author: yhanada <yhanada@chromium.org> Date: Wed Aug 30 06:12:14 2017 Remove SHOWING and HIDING states from keyboard controller This also changes the meaning of VirtualKeyboard.InitLatency.FirstLoad metric to record how long it takes for the JavaScript layout to load (even in the background). Now that pre-loading occurs, the previous timings did not provide insights anymore. TBR=blakeo@chromium.org (cherry picked from commit ae77b6cc958440822e99b3c038e1503f9240e180) Bug: 740582 Change-Id: I28a1ee6b8835261bd82a06f9547500d7d709b76d Reviewed-on: https://chromium-review.googlesource.com/634723 Commit-Queue: Blake O'Hare <blakeo@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Reviewed-by: Yuichiro Hanada <yhanada@chromium.org> Reviewed-by: Keigo Oka <oka@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#497714} Reviewed-on: https://chromium-review.googlesource.com/642097 Cr-Commit-Position: refs/branch-heads/3163@{#993} Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528} [modify] https://crrev.com/5cefcf9b6afe2d89b17f8c3e1c1581b3326549e7/chrome/browser/ui/ash/keyboard_controller_browsertest.cc [modify] https://crrev.com/5cefcf9b6afe2d89b17f8c3e1c1581b3326549e7/ui/keyboard/BUILD.gn [modify] https://crrev.com/5cefcf9b6afe2d89b17f8c3e1c1581b3326549e7/ui/keyboard/keyboard_controller.cc [modify] https://crrev.com/5cefcf9b6afe2d89b17f8c3e1c1581b3326549e7/ui/keyboard/keyboard_controller.h [modify] https://crrev.com/5cefcf9b6afe2d89b17f8c3e1c1581b3326549e7/ui/keyboard/keyboard_controller_unittest.cc
,
Nov 14 2017
Verified on M62 (9901.66.0, 62.0.3202.82 stable-channel) |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by oka@chromium.org
, Jul 11 2017Status: Available (was: Untriaged)