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

Issue 839521 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

mash/mus: No mouse events on workarea on device

Project Member Reported by xiy...@chromium.org, May 3 2018

Issue description

ToT r555721, run chrome with "--enable-features=Mash" on device. Browser windows, launcher etc does not get any mouse events. Only shelf and system

This seems related to
https://chromium-review.googlesource.com/c/chromium/src/+/1025633

Revert the CL fixes the issue.

sky@ suggested that we could restore the old behavior for mash for now.
 
Do we know why that change is causing an issue for mash? I landed it to fix some x11 testing issues but it seems like it actually fixed some other Crostini caption issues too so it would be nice if it didn't need to be reverted
Cc: penghuang@chromium.org
Summary: mash/mus: No mouse events on workarea on device (was: mash: No mouse events on workarea on device)
+penghuang

This is broken for mus too, like what we had before in  issue 757542 .

Not sure why it works without mus/mash. Having TARGET_AND_DESCENDANTS on ExoShellSurface should gets the event dispatched to ExoShellSurface.
Found this doc (might be out of date) for event dispatching on mus:
https://docs.google.com/document/d/1zdtEQ9K4H6lVDDIMEmEDtHUwLfA-xKCuNqZVL-4UK7I/edit?usp=sharing

Snippet from the doc:
====
Mouse-press (or touch-press) events go to the window under the cursor (or touch-point). This sets an implicit capture (and so subsequent mouse-move and mouse-release events are also dispatched to that window).

Mouse-move events go to the window under the cursor if no mouse-button is active.
====

In our case here, when mus/mash is enabled, ExoShellSurface in SystemModalContainer will gets the mouse events. Even though it correctly says it does not handle the event, the event is not dispatched to windows under it. 

The event dispatching code is changing. As a temp workaround, let's use the old behavior on mus/mash. We can revisit this afterwards.
Project Member

Comment 4 by bugdroid1@chromium.org, May 4 2018

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

commit cdd13aa08b2fbf109a1ed08f8278401197a49cdc
Author: Xiyuan Xia <xiyuan@chromium.org>
Date: Fri May 04 20:24:09 2018

exo: Use DESCENDANTS_ONLY event targeting policy for mus/mash

TARGET_AND_DESCENDANTS event targeting policy does not work properly
under mus/mash. As a result, mouse events are not delivered to
the windows under ExoShellSurface in SystemModalContainer even though
ExoShellSurface says it does not handle the events.

Use DESCENDANTS_ONLY for mus/mash until event dispatching code is
fixed to handle such case.

Bug: 839521
Change-Id: I8e949164d2cd9666468a8995d0bdb8e29f6b9301
Reviewed-on: https://chromium-review.googlesource.com/1044542
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556176}
[modify] https://crrev.com/cdd13aa08b2fbf109a1ed08f8278401197a49cdc/components/exo/shell_surface_base.cc

Project Member

Comment 5 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

Sign in to add a comment