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

Issue 708378 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Team-Accessibility

Blocking:
issue 721601



Sign in to add a comment

Software-composited custom cursors in Ash

Project Member Reported by domlasko...@chromium.org, Apr 5 2017

Issue description

Ash does not support software compositing for custom cursors [1]. As a result, when using accessibility features that disable hardware cursors (e.g. large cursor, high contrast), the cursor is always the default pointer. Exosphere notably uses custom cursors, so this issue affects ARC windows.

[1] https://chromium.googlesource.com/chromium/src/+/master/ash/wm/ash_native_cursor_manager.cc#103
 

Comment 1 by osh...@chromium.org, Oct 31 2017

Cc: yawano@chromium.org lpalmaro@chromium.org mitsuji@chromium.org satorux@chromium.org
 Issue 695290  has been merged into this issue.

Comment 2 by osh...@chromium.org, Oct 31 2017

Owner: weidongg@chromium.org
Status: Assigned (was: Available)

Comment 3 by osh...@chromium.org, Oct 31 2017

Blocking: 721601
Cc: reve...@chromium.org
Labels: -Pri-3 M-66 Pri-2
low latency software cursor will soon be enabled, so let's fix this sooner
so that we can switch the default mechanism.
I've been using https://chromium-review.googlesource.com/#/c/chromium/src/+/858439 for testing. It seems to be working ok on ozone-Drm but I'm not sure if it's exactly what we want. Either way, I don't have cycles to work on this so feel free to use that patch or rewrite it.


Status: Started (was: Assigned)
Thanks, I will take a look at the change.
Project Member

Comment 7 by bugdroid1@chromium.org, Apr 14 2018

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

commit a8f56456103ee6934387ef5c37546e9fd2046c88
Author: Weidong Guo <weidongg@chromium.org>
Date: Sat Apr 14 01:22:22 2018

Enable custom cursor for software-composited cursor

Changes:
1.Make ui::Cursor support |custom_bitmap| and |custom_cursor| which are
  set by exo pointer or web cursor.

2.Add GetBitmap() and GetHotspot() in ui::Cursor and merge the usage of
  ui::GetCursorBitmap().

3.Avoid overwriting custom type to default pointer when cursor
  compositing is enabled.

4.Also, remove the usage of CursorWindowController to match settings of
  the primary display when cursor compositing is disabled, because it
  was only used in mirror mode which now enables cursor compositing.

BUG= 708378 

Change-Id: I5dc3ef15adf00424fe62fc24cb005dfb5bed3f5b
Reviewed-on: https://chromium-review.googlesource.com/910229
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: Joe Downing <joedow@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Weidong Guo <weidongg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550846}
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/display/cursor_window_controller.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/display/cursor_window_controller.h
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/display/cursor_window_controller_unittest.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/display/mirror_window_controller_unittest.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/display/mirror_window_test_api.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/wm/native_cursor_manager_ash_classic.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/wm/native_cursor_manager_ash_mus.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/components/exo/pointer.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/content/browser/media/capture/cursor_renderer_aura.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/content/common/cursors/webcursor_aura.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/remoting/host/chromeos/mouse_cursor_monitor_aura.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/base/cursor/cursor.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/base/cursor/cursor.h
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/base/cursor/cursors_aura.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/base/cursor/cursors_aura.h
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/ozone/platform/x11/x11_cursor_factory_ozone.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a8f56456103ee6934387ef5c37546e9fd2046c88

commit a8f56456103ee6934387ef5c37546e9fd2046c88
Author: Weidong Guo <weidongg@chromium.org>
Date: Sat Apr 14 01:22:22 2018

Enable custom cursor for software-composited cursor

Changes:
1.Make ui::Cursor support |custom_bitmap| and |custom_cursor| which are
  set by exo pointer or web cursor.

2.Add GetBitmap() and GetHotspot() in ui::Cursor and merge the usage of
  ui::GetCursorBitmap().

3.Avoid overwriting custom type to default pointer when cursor
  compositing is enabled.

4.Also, remove the usage of CursorWindowController to match settings of
  the primary display when cursor compositing is disabled, because it
  was only used in mirror mode which now enables cursor compositing.

BUG= 708378 

Change-Id: I5dc3ef15adf00424fe62fc24cb005dfb5bed3f5b
Reviewed-on: https://chromium-review.googlesource.com/910229
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: Joe Downing <joedow@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Weidong Guo <weidongg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550846}
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/display/cursor_window_controller.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/display/cursor_window_controller.h
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/display/cursor_window_controller_unittest.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/display/mirror_window_controller_unittest.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/display/mirror_window_test_api.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/wm/native_cursor_manager_ash_classic.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ash/wm/native_cursor_manager_ash_mus.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/components/exo/pointer.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/content/browser/media/capture/cursor_renderer_aura.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/content/common/cursors/webcursor_aura.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/remoting/host/chromeos/mouse_cursor_monitor_aura.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/base/cursor/cursor.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/base/cursor/cursor.h
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/base/cursor/cursors_aura.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/base/cursor/cursors_aura.h
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/base/cursor/ozone/bitmap_cursor_factory_ozone.cc
[modify] https://crrev.com/a8f56456103ee6934387ef5c37546e9fd2046c88/ui/ozone/platform/x11/x11_cursor_factory_ozone.cc

Status: Fixed (was: Started)

Sign in to add a comment