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

Issue 806189 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

The JS callback for virtual keyboard's setMode does not fire at the correct time

Project Member Reported by blakeo@chromium.org, Jan 26 2018

Issue description

Because there is a hiding animation, this callback needs to be called after the keyboard has disappeared and invoked when it is about to show again. 

Currently this callback is being invoked immediately and so it's causing a jolting visual effect as the keyboard hides.
 
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/+/c6a29b98fa8da4098539d3a9a9dbc498552ea041

commit c6a29b98fa8da4098539d3a9a9dbc498552ea041
Author: Blake O'Hare <blakeo@chromium.org>
Date: Wed Jan 31 04:13:07 2018

Add callback support to KeyboardController when setting container type

Currently, there is a field on KeyboardController for enqueuing a
container type change. Eventually we want to support invoking a JS
callback to notify the extension when a keyboard mode changes.

This is the first step in that direction. Instead of persisting a
single enum value for the enqueued container behavior, it tracks both
the type and a callback handle. This QueuedContainerBehavior object
will invoke the callback once it goes out of scope.

Change-Id: Iea4e96259314a34d31661342024a23617a9f4b74
Bug:  806189 
Reviewed-on: https://chromium-review.googlesource.com/888119
Commit-Queue: Blake O'Hare <blakeo@chromium.org>
Reviewed-by: Yuichiro Hanada <yhanada@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533197}
[modify] https://crrev.com/c6a29b98fa8da4098539d3a9a9dbc498552ea041/ui/keyboard/BUILD.gn
[modify] https://crrev.com/c6a29b98fa8da4098539d3a9a9dbc498552ea041/ui/keyboard/keyboard_controller.cc
[modify] https://crrev.com/c6a29b98fa8da4098539d3a9a9dbc498552ea041/ui/keyboard/keyboard_controller.h
[modify] https://crrev.com/c6a29b98fa8da4098539d3a9a9dbc498552ea041/ui/keyboard/keyboard_controller_unittest.cc
[add] https://crrev.com/c6a29b98fa8da4098539d3a9a9dbc498552ea041/ui/keyboard/queued_container_type.cc
[add] https://crrev.com/c6a29b98fa8da4098539d3a9a9dbc498552ea041/ui/keyboard/queued_container_type.h

Project Member

Comment 2 by bugdroid1@chromium.org, Feb 6 2018

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

commit cc8dd92b43ecc60c17d388c1f5fd408d5587cb70
Author: Blake O'Hare <blakeo@chromium.org>
Date: Tue Feb 06 03:28:58 2018

Pass the setMode JS callback to the KeyboardController.

Currently it is being invoked immediately. This will invoke it at a
more appropriate time (upon showing the new keyboard layout animation
when the keyboard content window still virtually no opacity).

Bug:  806189 
Change-Id: I19464b1bdc9eb688888d96e98f890d12d67a4a3d
Reviewed-on: https://chromium-review.googlesource.com/895226
Reviewed-by: Michael Giuffrida <michaelpg@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Yuichiro Hanada <yhanada@chromium.org>
Commit-Queue: Blake O'Hare <blakeo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#534612}
[modify] https://crrev.com/cc8dd92b43ecc60c17d388c1f5fd408d5587cb70/ash/wm/lock_layout_manager_unittest.cc
[modify] https://crrev.com/cc8dd92b43ecc60c17d388c1f5fd408d5587cb70/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
[modify] https://crrev.com/cc8dd92b43ecc60c17d388c1f5fd408d5587cb70/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.h
[modify] https://crrev.com/cc8dd92b43ecc60c17d388c1f5fd408d5587cb70/extensions/browser/api/virtual_keyboard_private/virtual_keyboard_delegate.h
[modify] https://crrev.com/cc8dd92b43ecc60c17d388c1f5fd408d5587cb70/extensions/browser/api/virtual_keyboard_private/virtual_keyboard_private_api.cc
[modify] https://crrev.com/cc8dd92b43ecc60c17d388c1f5fd408d5587cb70/extensions/browser/api/virtual_keyboard_private/virtual_keyboard_private_api.h
[modify] https://crrev.com/cc8dd92b43ecc60c17d388c1f5fd408d5587cb70/extensions/shell/browser/shell_virtual_keyboard_delegate.cc
[modify] https://crrev.com/cc8dd92b43ecc60c17d388c1f5fd408d5587cb70/extensions/shell/browser/shell_virtual_keyboard_delegate.h
[modify] https://crrev.com/cc8dd92b43ecc60c17d388c1f5fd408d5587cb70/ui/keyboard/keyboard_controller.cc
[modify] https://crrev.com/cc8dd92b43ecc60c17d388c1f5fd408d5587cb70/ui/keyboard/keyboard_controller.h

Status: Fixed (was: Started)

Sign in to add a comment