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

Issue 646565 link

Starred by 8 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug


Sign in to add a comment

mash: Support on-screen keyboard

Project Member Reported by msw@chromium.org, Sep 13 2016

Issue description

mash: Support on-screen keyboard

Mash should support the same on-screen keyboard functionality as classic ash.
codereview.chromium.org/2339633002 enables KeyboardUIMus, but this isn't enough.

We can't toggle "Enable on-screen keyboard" via advanced chrome://settings
( chrome://settings doesn't yet work in mash:  Issue 646558  )

With --ash-debug-shortcuts, SHOW_KEYBOARD_OVERLAY should work, but doesn't.
( F14 does nothing, I don't know how to test VKEY_HELP or VKEY_OEM_2 + CTRL + ALT + [SHIFT] )

We may need to port ash/virtual_keyboard_controller.cc, ash::Shell::CreateKeyboard|DeactivateKeyboard, etc.
 

Comment 1 by sky@chromium.org, Feb 23 2017

Blocking: 695640
Cc: xiy...@chromium.org jamescook@chromium.org sky@chromium.org
Some observations:

1. keyboard::IsKeyboardEnabled() is false when running chrome --mash, so the extra 'if (GetAshConfig() != Config::MASH)' test in Shell::OnSessionStateChanged (with no explaination) is confusing, we should consider removing it.

2. A number of ash_unittests that handle keyboard setup would pass if we call CreateKeyboard form Shell::OnSessionStateChanged in mash, so removing the extra if() would also allow those tests to be run.

Components: Internals>MUS
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 9 2017

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

commit 9fd12adae19d303c4106393d4ccdd1598355c9c5
Author: Steven Bennetts <stevenjb@chromium.org>
Date: Thu Nov 09 23:36:27 2017

Mash: Allow CreateKeyboard() to be called in ash_unittests

Bug:  646565 
Change-Id: I710c2665cb0713a23e5b0e8d27d6c2b9d37b149c
Reviewed-on: https://chromium-review.googlesource.com/752562
Commit-Queue: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515346}
[modify] https://crrev.com/9fd12adae19d303c4106393d4ccdd1598355c9c5/ash/shell.cc
[modify] https://crrev.com/9fd12adae19d303c4106393d4ccdd1598355c9c5/testing/buildbot/filters/ash_unittests_mash.filter

Components: -Internals>MUS Internals>Services>WindowService
Cc: satorux@chromium.org
Satoru, is someone on your team working on virtual keyboard right now? Could they take this bug? This might require some design thinking up front about which pieces live in which process.

Xiyuan, would your remote WindowTreeClient work be enough to support the webui virtual keyboard?

Comment 7 by xiy...@chromium.org, Mar 12 2018

sky@ has created an API (https://chromium-review.googlesource.com/952092) that allows to embed arbitrary remote aura::Window. And it works with WebContents's native view.
Cc: yhanada@chromium.org blakeo@chromium.org
jamescook@, added yhanada@ and blakeo@
Components: UI>Input>VirtualKeyboard
Owner: omrilio@chromium.org
Status: Assigned (was: Available)
Omri - please re-assign owners and validate priority
Labels: -Pri-2 Pri-3
Blocking: 678705
Components: -Internals>Services>WindowService Internals>Services>Ash
Labels: -Proj-Mustash-Mash

Comment 14 by msw@chromium.org, Jun 28 2018

 Issue 585253  has been merged into this issue.
Project Member

Comment 15 by bugdroid1@chromium.org, Jun 28 2018

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

commit cebe6768afd5d73e9d1bea19a450a134ecf14e31
Author: Mike Wasserman <msw@chromium.org>
Date: Thu Jun 28 23:01:35 2018

OopAsh: Bail on Shell::EnableKeyboard in Mash and OopAsh.

ShellDelegateMash does not create a valid keyboard ui instance.

TBR=blakeo@chromium.org

Bug:  856235 ,  646565 
Test: No keyboard crash on --enable-features=OopAsh device startup.
Change-Id: I26ac1c13f46b839a4b77c6aaf478abec745126f1
Reviewed-on: https://chromium-review.googlesource.com/1119088
Commit-Queue: Michael Wasserman <msw@chromium.org>
Reviewed-by: Michael Wasserman <msw@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571313}
[modify] https://crrev.com/cebe6768afd5d73e9d1bea19a450a134ecf14e31/ash/shell.cc
[modify] https://crrev.com/cebe6768afd5d73e9d1bea19a450a134ecf14e31/ui/keyboard/keyboard_controller.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 28

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

commit 3e5341475917912ff4fcac14b6a35b0d5be7ed57
Author: Jun Mukai <mukai@chromium.org>
Date: Sat Jul 28 02:46:27 2018

remove reference of ash files from input_method_api.cc

ash/shell.h is referred in the file, but it turns out unnecessary.
Simply removing the include is just fine.

TBR=stevenjb@chromium.org

Bug:  646565 
Test: build succeeds
Change-Id: Ic0709c0bcb4a01b5fd2744ad89fb53c0936b2088
Reviewed-on: https://chromium-review.googlesource.com/1148931
Commit-Queue: Jun Mukai <mukai@chromium.org>
Reviewed-by: Shu Chen <shuchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578902}
[modify] https://crrev.com/3e5341475917912ff4fcac14b6a35b0d5be7ed57/chrome/browser/chromeos/extensions/DEPS
[modify] https://crrev.com/3e5341475917912ff4fcac14b6a35b0d5be7ed57/chrome/browser/chromeos/extensions/input_method_api.cc

Labels: Proj-Mustash
 Issue 557402  has been merged into this issue.
Labels: -Proj-Mustash Proj-Mash-MultiProcess
Owner: steve...@chromium.org
Sorry for the slew of bugs Steven. James mentioned you might be looking into the keyboard. If that isn't the case, unassign.
Blockedon: 648733
Labels: Proj-Mash-SingleProcess
This also affects SingleProcessMash -- the WebContents used by virtual keyboard is created by ChromeKeyboardUI (chrome code) but parented to an aura::Window created and owned by ash. That won't work in either mode.

Blockedon: 843332
 Issue 843332  was already marked as such, I've made that a blocking issue for this one.

Blockedon: 876138
Blocking: 878200
Project Member

Comment 26 by bugdroid1@chromium.org, Sep 5

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

commit f2920dfe1c88deaf619a76c3189da7b331ca5957
Author: James Cook <jamescook@chromium.org>
Date: Tue Sep 04 19:55:01 2018

chromeos: Eliminate ash::Config::MASH_DEPRECATED

We haven't run ash in this mode for months, since the switch to ws2 /
window-service-as-a-library.

* CursorManager exists in ws2, so always use it
* Docked magnifier works in SingleProcessMash, and will need to be
  fixed separately for multi-process
* Eliminate unused DragWindowResizerMash. Window dragging across
  displays works for both single-process and multi-process mash
* Always use EventTargetingPolicy::TARGET_AND_DESCENDENTS in exo.
  Manually verified that clicks go to the right place in both
  single-process and multi-process mash.
* Remove many unused includes

I had to disable one ash_unittest for NonClientFrameController.

TBR=lhchavez@chromium.org

Bug:  631103 ,  637853 ,  646565 ,  705592 ,  756163 , 839521
Test: ash_unittests
Change-Id: Iab64339029a33921274089ca4cb57a8f037f6f88
Reviewed-on: https://chromium-review.googlesource.com/1200483
Commit-Queue: James Cook <jamescook@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588626}
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/BUILD.gn
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/accelerators/accelerator_controller.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/accelerators/accelerator_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/accessibility/accessibility_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/app_list/app_list_controller_impl.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/dbus/ash_dbus_services.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/display/display_prefs.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/display/mirror_window_controller.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/display/mirror_window_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/display/window_tree_host_manager.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/frame/header_view.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/highlighter/highlighter_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/ime/ime_focus_handler_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/keyboard/virtual_keyboard_controller.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/keyboard/virtual_keyboard_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/laser/laser_pointer_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/lock_screen_action/lock_screen_note_display_state_handler_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/login/ui/lock_screen_sanity_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/login/ui/login_password_view_test.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/login/ui/login_test_base.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/magnifier/magnification_controller.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/metrics/login_metrics_recorder_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/public/cpp/BUILD.gn
[delete] https://crrev.com/62ebf0a512c16992819b555014cdd9ce6ade383e/ash/public/cpp/config.h
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/root_window_controller.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/shelf/app_list_button_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/shelf/shelf_context_menu_model_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/shelf/shelf_controller.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/shelf/shelf_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/shelf/shelf_layout_manager_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/shelf/shelf_tooltip_manager.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/shelf/shelf_tooltip_manager_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/shelf/shelf_window_watcher_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/shell.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/shell.h
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/shell_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/sticky_keys/sticky_keys_overlay_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/flag_warning/flag_warning_tray.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/message_center/notification_tray_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/network/tray_network_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/network/wifi_toggle_notification_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/night_light/night_light_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/night_light/tray_night_light_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/palette/palette_tray.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/palette/palette_tray_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/palette/tools/screenshot_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/power/peripheral_battery_notifier_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/power/power_button_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/session/logout_button_tray_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/status_area_widget.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/status_area_widget_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/tray/system_tray.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/tray_caps_lock.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/system/unified/unified_system_tray_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/test/ash_test_base.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/test/ash_test_base.h
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/tooltips/tooltip_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/touch/touch_observer_hud_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/wallpaper/wallpaper_controller.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/wallpaper/wallpaper_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/wayland/wayland_server_controller.cc
[delete] https://crrev.com/62ebf0a512c16992819b555014cdd9ce6ade383e/ash/wm/drag_window_resizer_mash.cc
[delete] https://crrev.com/62ebf0a512c16992819b555014cdd9ce6ade383e/ash/wm/drag_window_resizer_mash.h
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/wm/lock_state_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/wm/non_client_frame_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/wm/overview/window_selector_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/wm/splitview/split_view_controller_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/wm/system_modal_container_layout_manager.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/wm/window_util.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/ash/wm/workspace/workspace_layout_manager_unittest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/chrome/browser/ui/ash/ash_util.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/chrome/browser/ui/views/frame/immersive_mode_controller_ash_browsertest.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/components/arc/rotation_lock/arc_rotation_lock_bridge.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/components/exo/shell_surface_base.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/components/exo/wayland/clients/test/wayland_client_test.cc
[modify] https://crrev.com/f2920dfe1c88deaf619a76c3189da7b331ca5957/testing/buildbot/filters/chromeos.single_process_mash.fyi.ash_unittests.filter

can this be de-duped to  bug 843332  ?
This is now serving as a meta tracking bug for the three 'blocked on' issues, which includes  issue 84332 . Since it also is listed as blocking 3 bugs, I suggest leaving it?

Ah indeed, sorry didn't notice the blocking relationships. I will use this one as the bug reference in the filter file then.
Labels: Pri-2
Blocking: 897012
Cc: jonr...@chromium.org jdufault@chromium.org steve...@chromium.org
 Issue 648733  has been merged into this issue.
Blocking: 910240
Blocking: -878200
Project Member

Comment 35 by bugdroid1@chromium.org, Dec 6

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

commit 5036b8ef6edb94c35cd5c5d8b6ab4d2b0f3e94b4
Author: Steven Bennetts <stevenjb@chromium.org>
Date: Thu Dec 06 17:27:34 2018

Update Mash FYI browser_tests filter

Bug:  646565 

For keyboard specific change to policy_browsertest.cc:
TBR=emaxx@chromium.org

Change-Id: I214a6563614e83c912de7eb8b880a995fda2f89d
Reviewed-on: https://chromium-review.googlesource.com/c/1363898
Commit-Queue: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614401}
[modify] https://crrev.com/5036b8ef6edb94c35cd5c5d8b6ab4d2b0f3e94b4/chrome/browser/policy/policy_browsertest.cc
[modify] https://crrev.com/5036b8ef6edb94c35cd5c5d8b6ab4d2b0f3e94b4/chrome/browser/ui/ash/keyboard/keyboard_controller_browsertest.cc
[modify] https://crrev.com/5036b8ef6edb94c35cd5c5d8b6ab4d2b0f3e94b4/testing/buildbot/filters/chromeos.mash.fyi.browser_tests.filter

Blockedon: 912700
Status: Fixed (was: Assigned)

Sign in to add a comment