I'm not sure if this is covered as part of the bug description, but it would be nice if the window container kShellWindowId_VirtualKeyboardContainer always existed, rather than being dynamically created and destroyed.
We've had many bugs in ash related to other containers with this create/destroy behavior. I think we had one for a while that only existed while dragging a window.
Thanks again for your efforts to improve this code.
Yes. Currently we recreate the instance of KeyboardController when prefs related to VK are updated. It caused several problems in observers of KeyboardController state. We might be able to clean up this by recreating only KeyboardUI inside KeyboardController when the prefs are updated and not destroying KeyboardController.
Comment 1 by jamescook@chromium.org
, Jun 9 2017