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

Issue 628663 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Aug 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Team-Accessibility

Blocking:
issue 594887
issue 629095
issue 557401



Sign in to add a comment

mus: Throttle updates to pointer-kind-matcher observers

Project Member Reported by sadrul@chromium.org, Jul 15 2016

Issue description

Several accessibility features in chromeos (e.g. autoclick, magnifier) need to track the mouse-cursor when it moves. In mus, it is possible to install event observers that get notified when some events happen. However, we only allow a subset of events to be observed like this (https://cs.chromium.org/chromium/src/services/ui/ws/window_tree.cc?sq=package:chromium&dr=CSs&l=1173). It is possible to observe for all mouse events, by using a 'pointer kind matcher' instead (which is used by the touch hud to observe all touch events;  issue 588311 ). However, considering mouse-move (and I suppose touch-move too) events can happen very frequently, we should consider throttling how often we notify the observers. For example, perhaps notify at most X times every second, and only if the cursor moved at least Y pixels.

TouchEventWatcher (https://cs.chromium.org/chromium/src/ui/views/touch_event_watcher.h?sq=package:chromium&dr=CSs&l=28) should also be updated to be a PointerEventWatcher, so that it can be used to observe either all Touch or all Mouse events.
 

Comment 1 by sadrul@chromium.org, Jul 15 2016

Blocking: 557401

Comment 2 by sadrul@chromium.org, Jul 18 2016

Blocking: 629095
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 9 2016

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

commit 13661fe1ec3d5083450e45a25401b1ec93a61d85
Author: riajiang <riajiang@chromium.org>
Date: Tue Aug 09 17:51:57 2016

mus: Change PointerWatcher to observe all pointer events, with moves optional.

Based on https://codereview.chromium.org/2180683003/ and
discussions from https://codereview.chromium.org/2163453002/.

BUG= 628663 ,  631126 
TEST=views_mus_unittests, mus_public_unittests, mash_unittests,
     mus_ws_unittests

Review-Url: https://codereview.chromium.org/2183163002
Cr-Commit-Position: refs/heads/master@{#410734}

[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/common/shelf/overflow_bubble.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/common/shelf/overflow_bubble.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/common/shelf/shelf_tooltip_manager.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/common/shelf/shelf_tooltip_manager.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/common/system/tray/tray_event_filter.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/common/system/tray/tray_event_filter.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/mus/window_manager.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/mus/window_manager.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/mus/window_manager_unittest.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/pointer_watcher_delegate_aura.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/sysui/pointer_watcher_delegate_mus.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ash/touch_hud/mus/touch_hud_application.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/content/renderer/mus/compositor_mus_connection.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/content/renderer/mus/compositor_mus_connection.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/navigation/view_impl.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/navigation/view_impl.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/demo/mus_demo.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/demo/mus_demo.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/public/cpp/tests/test_window_tree.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/public/cpp/tests/test_window_tree.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/public/cpp/tests/window_server_test_base.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/public/cpp/tests/window_server_test_base.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/public/cpp/tests/window_tree_client_private.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/public/cpp/tests/window_tree_client_private.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/public/cpp/tests/window_tree_client_unittest.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/public/cpp/window_tree_client.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/public/cpp/window_tree_client.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/public/cpp/window_tree_client_delegate.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/public/interfaces/window_tree.mojom
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/test_wm/test_wm.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/ws/test_change_tracker.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/ws/test_change_tracker.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/ws/test_utils.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/ws/test_utils.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/ws/window_manager_state.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/ws/window_server.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/ws/window_server.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/ws/window_tree.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/ws/window_tree.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/services/ui/ws/window_tree_unittest.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ui/views/mus/window_manager_connection.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ui/views/mus/window_manager_connection.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ui/views/mus/window_manager_connection_unittest.cc
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ui/views/pointer_watcher.h
[delete] https://crrev.com/96d24df70347fbb581f9b8e218f7efc4bab2c5c2/ui/views/touch_event_watcher.h
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ui/views/views.gyp
[modify] https://crrev.com/13661fe1ec3d5083450e45a25401b1ec93a61d85/ui/views/views_exports.cc

Components: Internals>MUS
Labels: Proj-Mustash
Labels: NewComponent-Accessibility-Internals NewComponent-Accessibility
Components: Internals>Accessibility
Components: -UI>Accessibility
Labels: -newcomponent-accessibility-internals -newcomponent-accessibility
Labels: triage-dominic-internals
Labels: -triage-dominic-internals
Components: -Internals>MUS Internals>Services>WindowService
Components: -MUS
Blocking: 594887
Status: WontFix (was: Available)
We may want to do this, but I would rather wait until we know it's an issue. I'm closing for now.

Sign in to add a comment