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

Issue 724908 link

Starred by 5 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 684193


Participants' hotlists:
Fixing-touch


Sign in to add a comment

Preemptively load virtual keyboard to improve start up latency.

Project Member Reported by oka@chromium.org, May 22 2017

Issue description

Proposal:

Load virtual keyboard on one of the following conditions:
- tablet mode is enabled
- accessibility keyboard is enabled
- session is changed when tablet mode or accessibilily keyboard is on

 
Owner: blakeo@chromium.org
Status: Assigned (was: Available)
After adding trace markers, I can see that pretty much the entire loading time is spent in JS execution. 

Comment 4 by oka@chromium.org, Jun 9 2017

Thank you for your investigation.

Can you measure how much time would be saved by preemptive load: (time for keyboard to appear on the first time) - (the second time) ?

Comment 5 by oka@chromium.org, Jun 9 2017

FYI: I wrote a change to add state diagram explicitly and will submit it soon.
https://chromium-review.googlesource.com/c/516866/
Hope it helps.

(Design doc: https://docs.google.com/document/d/1f8h6SNIx7szzzVg9d_Wog6eR6ZF1Jo4zHDPfC2s0UOE/edit#heading=h.vqdn9okkt4o5)

The idea of preemptive load is to initiate INITIAL -> LOADING_EXTENSION -> HIDDEN transition whenever (1) the state is INITIAL and (2) keyboard::IsKeybaordEnabled becomes true. 

Comment 6 by oka@chromium.org, Jun 12 2017

Blocking: 684193

Comment 7 by oka@chromium.org, Jun 29 2017

Cc: oka@chromium.org yhanada@chromium.org
 Issue 684193  has been merged into this issue.
Status: Fixed (was: Assigned)
Here's a video of the new changes: 
https://drive.google.com/file/d/0ByiCx2FXM7kMa20xQ0NxMkt2YWM/view


Status: Started (was: Fixed)
Oops, looks like it's not committed yet.
Project Member

Comment 10 by bugdroid1@chromium.org, Jul 11 2017

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

commit d9917f026d85f1881f70d4a74fac74c91579fac6
Author: Blake O'Hare <blakeo@chromium.org>
Date: Tue Jul 11 05:44:49 2017

Pre-load the keyboard extension when the keyboard controller is activated

This will initialize loading the keyboard extension when the RootWindowController calls ActivateKeyboard.

Bug:  724908 
Change-Id: I3af07338dd3e619f9ae6d85e0f191890d0cd5a67
Reviewed-on: https://chromium-review.googlesource.com/547921
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@{#485532}
[modify] https://crrev.com/d9917f026d85f1881f70d4a74fac74c91579fac6/ash/root_window_controller.cc
[modify] https://crrev.com/d9917f026d85f1881f70d4a74fac74c91579fac6/ash/root_window_controller_unittest.cc
[modify] https://crrev.com/d9917f026d85f1881f70d4a74fac74c91579fac6/ash/wm/always_on_top_controller_unittest.cc
[modify] https://crrev.com/d9917f026d85f1881f70d4a74fac74c91579fac6/chrome/browser/ui/ash/keyboard_controller_browsertest.cc
[modify] https://crrev.com/d9917f026d85f1881f70d4a74fac74c91579fac6/ui/keyboard/keyboard_controller.cc
[modify] https://crrev.com/d9917f026d85f1881f70d4a74fac74c91579fac6/ui/keyboard/keyboard_controller.h
[modify] https://crrev.com/d9917f026d85f1881f70d4a74fac74c91579fac6/ui/keyboard/keyboard_layout_manager.cc

Comment 11 by oka@chromium.org, Jul 11 2017

Thank you for making the change. Let's see how FirstLoad UMA improves.
https://uma.googleplex.com/p//timeline_v2/?sid=35fdf26fa16dc10197a393e7a4acb187

Comment 12 by willg...@gmail.com, Jul 11 2017

Will this process be killed when transitioning from tablet to clamshell?
Status: Fixed (was: Started)
should be closed right?

Comment 14 by oka@chromium.org, Jul 20 2017

Yes.
Status: Verified (was: Fixed)

Sign in to add a comment