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

Issue 893859 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Feature


Participants' hotlists:
vk-cujo-bugs


Sign in to add a comment

Fix floating keyboard hide/show behavior when using the shelf

Project Member Reported by pcovell@chromium.org, Oct 9

Issue description

* Floating keyboard should hide when the shelf is accessed
* When control is returned to the app, it show itself (assuming text input is still selected)

See also related  issue 893856 .
 
Cc: omrilio@chromium.org pcovell@chromium.org
 Issue 895450  has been merged into this issue.
Owner: shend@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 4 by bugdroid1@chromium.org, Oct 17

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

commit ad3bb52111ddc5896b0343ea891a4817de901298
Author: Darren Shen <shend@chromium.org>
Date: Wed Oct 17 00:59:05 2018

[VK] Hide the keyboard when interacting with the shelf.

When using the floating keyboard, it tends to be placed near the bottom
of the screen. This blocks the shelf and is annoying when you need to
interact with it (e.g. tapping on the status area to bring up quick
settings).

We'll hide the virtual keyboard when tapping/clicking anywhere on the
shelf. Since "hide virtual keyboard when user does something" seems to
be a common pattern, we add a new method in KeyboardController called
HideKeyboardImplicitlyByUser to represent such situations. It's
different to the other ways of hiding the keyboard in two ways:

1) It doesn't hide the a11y (locked) keyboard.
2) It doesn't activate the "transient blur" feature. So when something
   focuses right after the keyboard hides, it doesn't pop up again.

It also nicely mirrors HideKeyboard(Explicitly)ByUser, which we will
rename in a follow up patch.

Bug: 893859
Change-Id: I9ba597b3f4b836566da89b7d559808bee80e0dc8
Reviewed-on: https://chromium-review.googlesource.com/c/1282514
Reviewed-by: James Cook <jamescook@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600216}
[modify] https://crrev.com/ad3bb52111ddc5896b0343ea891a4817de901298/ash/shelf/shelf_widget.cc
[modify] https://crrev.com/ad3bb52111ddc5896b0343ea891a4817de901298/ash/shelf/shelf_widget.h
[modify] https://crrev.com/ad3bb52111ddc5896b0343ea891a4817de901298/ash/shelf/shelf_widget_unittest.cc
[modify] https://crrev.com/ad3bb52111ddc5896b0343ea891a4817de901298/ash/system/status_area_widget.cc
[modify] https://crrev.com/ad3bb52111ddc5896b0343ea891a4817de901298/ash/system/status_area_widget.h
[modify] https://crrev.com/ad3bb52111ddc5896b0343ea891a4817de901298/ash/system/status_area_widget_unittest.cc
[modify] https://crrev.com/ad3bb52111ddc5896b0343ea891a4817de901298/ash/wm/overview/window_selector_controller.cc
[modify] https://crrev.com/ad3bb52111ddc5896b0343ea891a4817de901298/testing/buildbot/filters/chromeos.single_process_mash.ash_unittests.filter
[modify] https://crrev.com/ad3bb52111ddc5896b0343ea891a4817de901298/ui/keyboard/keyboard_controller.cc
[modify] https://crrev.com/ad3bb52111ddc5896b0343ea891a4817de901298/ui/keyboard/keyboard_controller.h

Labels: Merge-Request-71
Requesting M71 merge for c#4, thanks!
Project Member

Comment 6 by sheriffbot@chromium.org, Oct 18

Labels: -Merge-Request-71 Hotlist-Merge-Approved Merge-Approved-71
Your change meets the bar and is auto-approved for M71. Please go ahead and merge the CL to branch 3578 manually. Please contact milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), kbleicher@(ChromeOS), govind@(Desktop)

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

Comment 7 by bugdroid1@chromium.org, Oct 18

Labels: -merge-approved-71 merge-merged-3578
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/06ab9dbbbad16403570487489e869d6642d832e5

commit 06ab9dbbbad16403570487489e869d6642d832e5
Author: Darren Shen <shend@chromium.org>
Date: Thu Oct 18 23:15:18 2018

[Merge M71] Hide the keyboard when interacting with the shelf.

When using the floating keyboard, it tends to be placed near the bottom
of the screen. This blocks the shelf and is annoying when you need to
interact with it (e.g. tapping on the status area to bring up quick
settings).

We'll hide the virtual keyboard when tapping/clicking anywhere on the
shelf. Since "hide virtual keyboard when user does something" seems to
be a common pattern, we add a new method in KeyboardController called
HideKeyboardImplicitlyByUser to represent such situations. It's
different to the other ways of hiding the keyboard in two ways:

1) It doesn't hide the a11y (locked) keyboard.
2) It doesn't activate the "transient blur" feature. So when something
   focuses right after the keyboard hides, it doesn't pop up again.

It also nicely mirrors HideKeyboard(Explicitly)ByUser, which we will
rename in a follow up patch.

Bug: 893859
Change-Id: I9ba597b3f4b836566da89b7d559808bee80e0dc8
Reviewed-on: https://chromium-review.googlesource.com/c/1282514
Reviewed-by: James Cook <jamescook@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#600216}(cherry picked from commit ad3bb52111ddc5896b0343ea891a4817de901298)
Reviewed-on: https://chromium-review.googlesource.com/c/1290049
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#137}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}
[modify] https://crrev.com/06ab9dbbbad16403570487489e869d6642d832e5/ash/shelf/shelf_widget.cc
[modify] https://crrev.com/06ab9dbbbad16403570487489e869d6642d832e5/ash/shelf/shelf_widget.h
[modify] https://crrev.com/06ab9dbbbad16403570487489e869d6642d832e5/ash/shelf/shelf_widget_unittest.cc
[modify] https://crrev.com/06ab9dbbbad16403570487489e869d6642d832e5/ash/system/status_area_widget.cc
[modify] https://crrev.com/06ab9dbbbad16403570487489e869d6642d832e5/ash/system/status_area_widget.h
[modify] https://crrev.com/06ab9dbbbad16403570487489e869d6642d832e5/ash/system/status_area_widget_unittest.cc
[modify] https://crrev.com/06ab9dbbbad16403570487489e869d6642d832e5/ash/wm/overview/window_selector_controller.cc
[modify] https://crrev.com/06ab9dbbbad16403570487489e869d6642d832e5/testing/buildbot/filters/chromeos.single_process_mash.ash_unittests.filter
[modify] https://crrev.com/06ab9dbbbad16403570487489e869d6642d832e5/ui/keyboard/keyboard_controller.cc
[modify] https://crrev.com/06ab9dbbbad16403570487489e869d6642d832e5/ui/keyboard/keyboard_controller.h

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 19

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

commit 6e8cb1339862cd10b7bc68320a6343f2d4ba75a6
Author: Darren Shen <shend@chromium.org>
Date: Fri Oct 19 05:31:54 2018

[VK] Follow up on VK behaviour on shelf.

Somehow didn't upload newest changes to the submitted CL, so this is
just following up.

https://chromium-review.googlesource.com/c/chromium/src/+/1282514

TBR=jamescook@chromium.org

Bug: 893859
Change-Id: I970b36469320705fc80f9e171957c53bce08d187
Reviewed-on: https://chromium-review.googlesource.com/c/1290590
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601057}
[modify] https://crrev.com/6e8cb1339862cd10b7bc68320a6343f2d4ba75a6/ash/shelf/shelf_widget_unittest.cc
[modify] https://crrev.com/6e8cb1339862cd10b7bc68320a6343f2d4ba75a6/ash/system/status_area_widget_unittest.cc
[modify] https://crrev.com/6e8cb1339862cd10b7bc68320a6343f2d4ba75a6/testing/buildbot/filters/chromeos.single_process_mash.ash_unittests.filter

Labels: Merge-Merged-71-3578
The following revision refers to this bug: 
https://chromium.googlesource.com/chromium/src.git/+/06ab9dbbbad16403570487489e869d6642d832e5

Commit: 06ab9dbbbad16403570487489e869d6642d832e5
Author: shend@chromium.org
Commiter: shend@chromium.org
Date: 2018-10-18 23:15:18 +0000 UTC

[Merge M71] Hide the keyboard when interacting with the shelf.

When using the floating keyboard, it tends to be placed near the bottom
of the screen. This blocks the shelf and is annoying when you need to
interact with it (e.g. tapping on the status area to bring up quick
settings).

We'll hide the virtual keyboard when tapping/clicking anywhere on the
shelf. Since "hide virtual keyboard when user does something" seems to
be a common pattern, we add a new method in KeyboardController called
HideKeyboardImplicitlyByUser to represent such situations. It's
different to the other ways of hiding the keyboard in two ways:

1) It doesn't hide the a11y (locked) keyboard.
2) It doesn't activate the "transient blur" feature. So when something
   focuses right after the keyboard hides, it doesn't pop up again.

It also nicely mirrors HideKeyboard(Explicitly)ByUser, which we will
rename in a follow up patch.

Bug: 893859
Change-Id: I9ba597b3f4b836566da89b7d559808bee80e0dc8
Reviewed-on: https://chromium-review.googlesource.com/c/1282514
Reviewed-by: James Cook <jamescook@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#600216}(cherry picked from commit ad3bb52111ddc5896b0343ea891a4817de901298)
Reviewed-on: https://chromium-review.googlesource.com/c/1290049
Reviewed-by: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/branch-heads/3578@{#137}
Cr-Branched-From: 4226ddf99103e493d7afb23a4c7902ee496108b6-refs/heads/master@{#599034}

Sign in to add a comment