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

Issue 2323823004: Add action for each button on opt-in IME menu. (Closed)

Created:
4 years, 3 months ago by Azure Wei
Modified:
4 years, 3 months ago
CC:
chromium-reviews, sadrul, yusukes+watch_chromium.org, shuchen+watch_chromium.org, nona+watch_chromium.org, oshima+watch_chromium.org, kalyank, James Su, davemoore+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

For emoji, voice and handwriting buttons on the opt-in IME menu, adds the corresponding actions: 1) Overrides the input view url with append parameter: emoji, hwt or voice, which will tell the virtual keyboard to open what kind of keyboard. 2) For Emoji and handwriting input, override the 'id' part like: id=emoji or id=hwt. For voice input, append 'voice' after the 'id' part like: id=us.compact.qwerty.voice 3) Show the virtual keyboard directly if 'On-screen keyboard' is enabled. 4) Forcibly enables the a11y onscreen keyboard if there is on keyboard enabled. And re-disables it after showing once. 5) Add KeyboardControllerObserver::OnKeyboardHidden() to notify ImeMenuTray disable the onscreen keyboard it the tray forces to bring out the keyboard. 6) Add related tests: InputMethodManagerImplTest.Override* ImeMenuTrayTest.ShowEmojiKeyset ImeMenuTrayTest.ForceToShowEmojiKeyset BUG=642385 TEST=Verified on local build. Committed: https://crrev.com/649030a2f49f6d868378de840ff08eb180bdffb6 Cr-Commit-Position: refs/heads/master@{#419735}

Patch Set 1 #

Patch Set 2 #

Patch Set 3 #

Total comments: 16

Patch Set 4 #

Patch Set 5 #

Patch Set 6 : Show buttons if feature enabled. #

Patch Set 7 : Fix test error. #

Patch Set 8 #

Total comments: 23

Patch Set 9 : Add KeyboardController::OnKeyboardHidden event. #

Patch Set 10 #

Total comments: 22

Patch Set 11 : Addressed nits. #

Patch Set 12 : Fix patch error. #

Patch Set 13 : Update overriden ref. #

Patch Set 14 : Overrides back with the keyboard id when closing input view. #

Patch Set 15 #

Total comments: 4

Patch Set 16 : Addressed comments. #

Total comments: 4

Patch Set 17 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+328 lines, -23 lines) Patch
M ash/common/system/chromeos/ime_menu/ime_menu_tray.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +17 lines, -4 lines 0 comments Download
M ash/common/system/chromeos/ime_menu/ime_menu_tray.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 chunks +141 lines, -18 lines 0 comments Download
M ash/common/system/chromeos/ime_menu/ime_menu_tray_unittest.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +46 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/input_method/input_method_manager_impl.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/input_method/input_method_manager_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +44 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/input_method/input_method_manager_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +53 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/input_method/mock_input_method_manager.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/input_method/mock_input_method_manager.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +7 lines, -0 lines 0 comments Download
M chrome/common/chrome_features.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M ui/base/ime/chromeos/input_method_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +9 lines, -0 lines 0 comments Download
M ui/keyboard/keyboard_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M ui/keyboard/keyboard_controller_observer.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 79 (50 generated)
Azure Wei
Please review this cl. Thanks!
4 years, 3 months ago (2016-09-10 09:08:31 UTC) #11
Shu Chen
https://codereview.chromium.org/2323823004/diff/40001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc File chrome/browser/chromeos/input_method/input_method_manager_impl.cc (right): https://codereview.chromium.org/2323823004/diff/40001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc#newcode1217 chrome/browser/chromeos/input_method/input_method_manager_impl.cc:1217: void InputMethodManagerImpl::ShowInputViewWithUrl( Is there any reason why this interface/implement ...
4 years, 3 months ago (2016-09-11 08:33:26 UTC) #12
James Cook
I only looked at //ash, since it sounds like the other code might need to ...
4 years, 3 months ago (2016-09-12 03:21:54 UTC) #13
Azure Wei
https://codereview.chromium.org/2323823004/diff/40001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc File ash/common/system/chromeos/ime_menu/ime_menu_tray.cc (right): https://codereview.chromium.org/2323823004/diff/40001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc#newcode93 ash/common/system/chromeos/ime_menu/ime_menu_tray.cc:93: SetBorder( On 2016/09/12 03:21:54, James Cook wrote: > nit: ...
4 years, 3 months ago (2016-09-12 13:12:57 UTC) #19
James Cook
https://codereview.chromium.org/2323823004/diff/140001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc File ash/common/system/chromeos/ime_menu/ime_menu_tray.cc (right): https://codereview.chromium.org/2323823004/diff/140001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc#newcode36 ash/common/system/chromeos/ime_menu/ime_menu_tray.cc:36: const int button_right_border = 1; nit: kButtonRightBorder and comment ...
4 years, 3 months ago (2016-09-12 17:05:57 UTC) #20
Azure Wei
https://codereview.chromium.org/2323823004/diff/140001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc File ash/common/system/chromeos/ime_menu/ime_menu_tray.cc (right): https://codereview.chromium.org/2323823004/diff/140001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc#newcode36 ash/common/system/chromeos/ime_menu/ime_menu_tray.cc:36: const int button_right_border = 1; On 2016/09/12 17:05:56, James ...
4 years, 3 months ago (2016-09-14 06:53:28 UTC) #31
Azure Wei
R: +sky@ for all related files listens to KeyboardControllObserver. +hidehiko@ for files: components/arc/ime/arc_ime_service.h/.cc
4 years, 3 months ago (2016-09-14 16:04:16 UTC) #33
sky
https://codereview.chromium.org/2323823004/diff/180001/ui/keyboard/keyboard_controller_observer.h File ui/keyboard/keyboard_controller_observer.h (right): https://codereview.chromium.org/2323823004/diff/180001/ui/keyboard/keyboard_controller_observer.h#newcode27 ui/keyboard/keyboard_controller_observer.h:27: virtual void OnKeyboardHidden() = 0; Given most call sites ...
4 years, 3 months ago (2016-09-14 18:03:43 UTC) #34
James Cook
//ash/* LGTM with nits. https://codereview.chromium.org/2323823004/diff/140001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc File chrome/browser/chromeos/input_method/input_method_manager_impl.cc (right): https://codereview.chromium.org/2323823004/diff/140001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc#newcode1223 chrome/browser/chromeos/input_method/input_method_manager_impl.cc:1223: auto i = overriden_url.find("#id"); On ...
4 years, 3 months ago (2016-09-14 21:14:28 UTC) #35
hidehiko
lgtm for components/arc/*, but maybe it'll unnecessary if you follow sky@'s comment.
4 years, 3 months ago (2016-09-15 01:00:44 UTC) #36
Azure Wei
https://codereview.chromium.org/2323823004/diff/180001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc File ash/common/system/chromeos/ime_menu/ime_menu_tray.cc (right): https://codereview.chromium.org/2323823004/diff/180001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc#newcode437 ash/common/system/chromeos/ime_menu/ime_menu_tray.cc:437: // disables the keyboard when it's hidden. On 2016/09/14 ...
4 years, 3 months ago (2016-09-15 03:44:51 UTC) #45
sky
Thanks for making the function have an empty implementation. I don't believe you need me ...
4 years, 3 months ago (2016-09-15 03:53:59 UTC) #47
James Cook
ash still lgtm
4 years, 3 months ago (2016-09-15 04:38:07 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2323823004/220001
4 years, 3 months ago (2016-09-18 06:01:19 UTC) #51
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/261753)
4 years, 3 months ago (2016-09-18 06:11:56 UTC) #53
Azure Wei
On 2016/09/15 03:53:59, sky wrote: > Thanks for making the function have an empty implementation. ...
4 years, 3 months ago (2016-09-18 07:55:06 UTC) #56
sky
+bshe for ui/keyboard
4 years, 3 months ago (2016-09-18 16:17:20 UTC) #58
Shu Chen
https://codereview.chromium.org/2323823004/diff/280001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc File ash/common/system/chromeos/ime_menu/ime_menu_tray.cc (right): https://codereview.chromium.org/2323823004/diff/280001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc#newcode140 ash/common/system/chromeos/ime_menu/ime_menu_tray.cc:140: keyset = "emoji"; please add comments for whether these ...
4 years, 3 months ago (2016-09-19 01:39:28 UTC) #59
Azure Wei
https://codereview.chromium.org/2323823004/diff/280001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc File ash/common/system/chromeos/ime_menu/ime_menu_tray.cc (right): https://codereview.chromium.org/2323823004/diff/280001/ash/common/system/chromeos/ime_menu/ime_menu_tray.cc#newcode140 ash/common/system/chromeos/ime_menu/ime_menu_tray.cc:140: keyset = "emoji"; On 2016/09/19 01:39:28, Shu Chen wrote: ...
4 years, 3 months ago (2016-09-19 04:41:16 UTC) #60
Shu Chen
https://codereview.chromium.org/2323823004/diff/300001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc File chrome/browser/chromeos/input_method/input_method_manager_impl.cc (right): https://codereview.chromium.org/2323823004/diff/300001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc#newcode1232 chrome/browser/chromeos/input_method/input_method_manager_impl.cc:1232: // If |keyset| is empty, it indicates that we ...
4 years, 3 months ago (2016-09-19 06:02:10 UTC) #61
Azure Wei
https://codereview.chromium.org/2323823004/diff/300001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc File chrome/browser/chromeos/input_method/input_method_manager_impl.cc (right): https://codereview.chromium.org/2323823004/diff/300001/chrome/browser/chromeos/input_method/input_method_manager_impl.cc#newcode1232 chrome/browser/chromeos/input_method/input_method_manager_impl.cc:1232: // If |keyset| is empty, it indicates that we ...
4 years, 3 months ago (2016-09-19 08:07:19 UTC) #62
Shu Chen
lgtm
4 years, 3 months ago (2016-09-19 12:08:30 UTC) #63
bshe
On 2016/09/19 12:08:30, Shu Chen wrote: > lgtm ui/keyboard lgtm
4 years, 3 months ago (2016-09-20 11:49:13 UTC) #68
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2323823004/320001
4 years, 3 months ago (2016-09-20 13:07:02 UTC) #71
commit-bot: I haz the power
Committed patchset #17 (id:320001)
4 years, 3 months ago (2016-09-20 13:12:04 UTC) #74
commit-bot: I haz the power
Patchset 17 (id:??) landed as https://crrev.com/649030a2f49f6d868378de840ff08eb180bdffb6 Cr-Commit-Position: refs/heads/master@{#419735}
4 years, 3 months ago (2016-09-20 13:13:39 UTC) #76
dcheng
On 2016/09/20 13:13:39, commit-bot: I haz the power wrote: > Patchset 17 (id:??) landed as ...
4 years, 3 months ago (2016-09-22 20:03:01 UTC) #77
dcheng
On 2016/09/22 20:03:01, dcheng wrote: > On 2016/09/20 13:13:39, commit-bot: I haz the power wrote: ...
4 years, 3 months ago (2016-09-22 20:12:19 UTC) #78
dcheng
4 years, 3 months ago (2016-09-22 20:55:22 UTC) #79
Message was sent while issue was closed.
On 2016/09/22 20:12:19, dcheng wrote:
> On 2016/09/22 20:03:01, dcheng wrote:
> > On 2016/09/20 13:13:39, commit-bot: I haz the power wrote:
> > > Patchset 17 (id:??) landed as
> > > https://crrev.com/649030a2f49f6d868378de840ff08eb180bdffb6
> > > Cr-Commit-Position: refs/heads/master@{#419735}
> > 
> > Is there a missing dep somewhere? I'm seeing build errors like this on a
> Windows
> > component build:
> > 
> > FAILED: ash_library.dll ash_library.dll.lib ash_library.dll.pdb
> > C:/python_27_amd64/files/python.exe
../../build/toolchain/win/tool_wrapper.py
> > link-wrapper environment.x64 False link.exe /nologo
> > /IMPLIB:./ash_library.dll.lib /DLL /OUT:./ash_library.dll
> > /PDB:./ash_library.dll.pdb @./ash_library.dll.rsp
> > root_window_controller.obj : error LNK2001: unresolved external symbol
> "public:
> > virtual void __cdecl
> > keyboard::KeyboardControllerObserver::OnKeyboardHidden(void)"
> > (?OnKeyboardHidden@KeyboardControllerObserver@keyboard@@UEAAXXZ)
> > ./ash_library.dll : fatal error LNK1120: 1 unresolved externals
> 
> Hmm.... something is weird with my repo. I'll keep poking at it...

OK, it's a missing dep, I'll send a fix for review.

(We should really have better build coverage...)

Powered by Google App Engine
This is Rietveld 408576698