Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Issue 335793005: athena: Add support for virtual keyboard. (Closed)

Created:
6 years, 6 months ago by sadrul
Modified:
6 years, 6 months ago
CC:
chromium-reviews, yusukes+watch_chromium.org, yukishiino+watch_chromium.org, jam, penghuang+watch_chromium.org, sievers+watch_chromium.org, jbauman+watch_chromium.org, nona+watch_chromium.org, darin-cc_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org, James Su, miu+watch_chromium.org
Project:
chromium
Visibility:
Public.

Description

athena: Add support for virtual keyboard. The virtual keyboard used on Chrome OS (in ash) is provided by an extension. For athena, we cannot yet use the extension version of the keyboard. As a short-term workaround, this patch introduces a web-ui version of the keyboard for initial use. This patch provides a simplistic implementation of some of the virtualKeyboardPrivate API (sendKeyEvent, hideKeyboard) over WebUI. This patch installs a webui controller (VKWebUIController) for the keyboard URL (chrome://keyboard), and a message-handler (VKMessageHandler) to process the incoming messages from the keyboard. These are installed in the browser process. In the renderer process, this patch installs a RenderViewObserver implementation (VirtualKeyboardBindingsImpl) which provides the necessary bindings for the virtualKeyboardPrivate API (VKBindings), and generates the appropriate webui messages by calling chrome.send(). This lets us use the same HTML/JS/Polymer version of the keyboard as in Chrome OS under ash/chrome. For the keyboard to be completely functional, an implementation of onTextInputBoxFocused will also be necessary. That will be provided in a follow up CL. BUG=380125 R=ben@chromium.org, bshe@chromium.org, oshima@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=278687

Patch Set 1 : . #

Patch Set 2 : self.nit #

Patch Set 3 : . #

Total comments: 2

Patch Set 4 : . #

Total comments: 11

Patch Set 5 : . #

Total comments: 4

Patch Set 6 : . #

Unified diffs Side-by-side diffs Delta from patch set Stats (+739 lines, -46 lines) Patch
M athena/athena.gyp View 1 2 3 4 4 chunks +20 lines, -6 lines 0 comments Download
A + athena/common/DEPS View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
A athena/common/fill_layout_manager.h View 1 2 3 4 1 chunk +36 lines, -0 lines 0 comments Download
A athena/common/fill_layout_manager.cc View 1 2 3 4 1 chunk +46 lines, -0 lines 0 comments Download
M athena/main/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M athena/main/athena_main.cc View 1 2 3 4 3 chunks +7 lines, -1 line 0 comments Download
M athena/main/athena_main.gyp View 1 chunk +1 line, -0 lines 0 comments Download
M athena/screen/screen_manager_impl.cc View 1 2 3 4 2 chunks +1 line, -37 lines 0 comments Download
A athena/virtual_keyboard/DEPS View 1 chunk +9 lines, -0 lines 0 comments Download
A + athena/virtual_keyboard/public/DEPS View 1 chunk +1 line, -1 line 0 comments Download
A athena/virtual_keyboard/public/virtual_keyboard_bindings.h View 1 1 chunk +25 lines, -0 lines 0 comments Download
A athena/virtual_keyboard/public/virtual_keyboard_manager.h View 1 2 3 4 1 chunk +29 lines, -0 lines 0 comments Download
A athena/virtual_keyboard/virtual_keyboard_bindings_impl.cc View 1 2 1 chunk +191 lines, -0 lines 0 comments Download
A athena/virtual_keyboard/virtual_keyboard_manager_impl.cc View 1 2 3 4 5 1 chunk +125 lines, -0 lines 0 comments Download
A athena/virtual_keyboard/vk_message_handler.h View 1 chunk +36 lines, -0 lines 0 comments Download
A athena/virtual_keyboard/vk_message_handler.cc View 1 chunk +57 lines, -0 lines 0 comments Download
A athena/virtual_keyboard/vk_webui_controller.h View 1 1 chunk +52 lines, -0 lines 0 comments Download
A athena/virtual_keyboard/vk_webui_controller.cc View 1 1 chunk +101 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (0 generated)
sadrul
6 years, 6 months ago (2014-06-18 02:30:50 UTC) #1
bshe
webui implementation lgtm https://codereview.chromium.org/335793005/diff/60001/athena/athena.gyp File athena/athena.gyp (right): https://codereview.chromium.org/335793005/diff/60001/athena/athena.gyp#newcode47 athena/athena.gyp:47: 'input/accelerator_manager_impl.h', nit: order is wrong.
6 years, 6 months ago (2014-06-18 17:33:43 UTC) #2
sadrul
https://codereview.chromium.org/335793005/diff/60001/athena/athena.gyp File athena/athena.gyp (right): https://codereview.chromium.org/335793005/diff/60001/athena/athena.gyp#newcode47 athena/athena.gyp:47: 'input/accelerator_manager_impl.h', On 2014/06/18 17:33:42, bshe wrote: > nit: order ...
6 years, 6 months ago (2014-06-18 19:35:08 UTC) #3
sadrul
+ben@ for virtual_keyboard/DEPS changes
6 years, 6 months ago (2014-06-18 19:36:21 UTC) #4
oshima
https://codereview.chromium.org/335793005/diff/80001/athena/virtual_keyboard/virtual_keyboard_bindings_impl.cc File athena/virtual_keyboard/virtual_keyboard_bindings_impl.cc (right): https://codereview.chromium.org/335793005/diff/80001/athena/virtual_keyboard/virtual_keyboard_bindings_impl.cc#newcode36 athena/virtual_keyboard/virtual_keyboard_bindings_impl.cc:36: namespace gin { why using gin namespace here? I ...
6 years, 6 months ago (2014-06-18 20:14:36 UTC) #5
Ben Goodger (Google)
rather than rolling your own bindings and having to depend on third_party/WebKit directly, can you ...
6 years, 6 months ago (2014-06-18 20:46:56 UTC) #6
sadrul
On 2014/06/18 20:46:56, Ben Goodger (Google) wrote: > rather than rolling your own bindings and ...
6 years, 6 months ago (2014-06-18 20:57:53 UTC) #7
oshima
lgtm with nits, if ben is ok with this non-mojo approach. https://codereview.chromium.org/335793005/diff/80001/athena/virtual_keyboard/virtual_keyboard_manager_impl.cc File athena/virtual_keyboard/virtual_keyboard_manager_impl.cc (right): ...
6 years, 6 months ago (2014-06-18 21:11:15 UTC) #8
sadrul
https://codereview.chromium.org/335793005/diff/80001/athena/virtual_keyboard/virtual_keyboard_manager_impl.cc File athena/virtual_keyboard/virtual_keyboard_manager_impl.cc (right): https://codereview.chromium.org/335793005/diff/80001/athena/virtual_keyboard/virtual_keyboard_manager_impl.cc#newcode107 athena/virtual_keyboard/virtual_keyboard_manager_impl.cc:107: instance = NULL; On 2014/06/18 21:11:15, oshima wrote: > ...
6 years, 6 months ago (2014-06-18 21:19:10 UTC) #9
sadrul
On 2014/06/18 20:57:53, sadrul wrote: > On 2014/06/18 20:46:56, Ben Goodger (Google) wrote: > > ...
6 years, 6 months ago (2014-06-19 22:16:20 UTC) #10
Ben Goodger (Google)
yes lgtm
6 years, 6 months ago (2014-06-20 05:38:43 UTC) #11
sadrul
On 2014/06/20 05:38:43, Ben Goodger (Google) wrote: > yes lgtm Cool. Thanks!
6 years, 6 months ago (2014-06-20 12:53:51 UTC) #12
sadrul
6 years, 6 months ago (2014-06-20 13:01:21 UTC) #13
Message was sent while issue was closed.
Committed patchset #6 manually as r278687 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698