New issue
Advanced search Search tips

Issue 601074 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 601981



Sign in to add a comment

Touch is broken for mash on Pixel

Project Member Reported by kylec...@chromium.org, Apr 6 2016

Issue description

Touch events don't work when running mash on pixel.

 
The touch info for each display is normally updated by ash. We don't have ash running in the same process anymore, so we're never adding the touch info for the display in DeviceDataManager.

Inside DrmWindowHost::CanDispatchEvent() when it gets the display id for the touch event it ends up with gfx::Display::kInvalidDisplayID because DeviceDataManager hasn't been updated.

https://code.google.com/p/chromium/codesearch#chromium/src/ui/ozone/platform/drm/host/drm_window_host.cc&sq=package:chromium&type=cs&l=145

Comment 2 by sadrul@chromium.org, Apr 11 2016

Cc: sadrul@chromium.org
Status: Available (was: Untriaged)
Yeah, the DDM work is tracked in  issue 601981  We need the clients to be able to talk to some device-manager service for this.
Blockedon: 601981
Owner: kylec...@chromium.org
Status: Started (was: Available)
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 22 2016

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

commit c97cdcc4d02b8823790798f2e812d933a4045a03
Author: kylechar <kylechar@chromium.org>
Date: Wed Jun 22 15:33:30 2016

Implement rudimentary touchscreen support in mus.

Add TouchController class that implements rudimentary touchscreen
support in mus. When there is 1 display and 1 touchscreen input-device
it matches them up and populates the relevant transform.

Small modifications to mus::Display and mus::PlatformDisplay to store
the display id and plumb display id and display size back out.

Change PlatformScreen implementation to call
NativeDisplayDelegate::GetDisplays() after a new display is added. If
this doesn't happen the list of DisplaySnapshots stored in Ozone isn't
updated and incomplete information is included with touch events.

BUG= 601074 
TEST=Touch works on Pixel.

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

[modify] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/mus_app.cc
[modify] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/mus_app.h
[modify] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/ws/BUILD.gn
[modify] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/ws/display.cc
[modify] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/ws/display.h
[modify] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/ws/platform_display.cc
[modify] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/ws/platform_display.h
[modify] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/ws/platform_screen_impl_ozone.cc
[modify] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/ws/platform_screen_impl_ozone.h
[modify] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/ws/test_utils.cc
[add] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/ws/touch_controller.cc
[add] https://crrev.com/c97cdcc4d02b8823790798f2e812d933a4045a03/components/mus/ws/touch_controller.h

Status: Fixed (was: Started)
Pixel now has touch support when running mash. There needs to be an effort later to add full touch support across multiple monitors though.
Components: Internals>Services>WindowService
Components: -MUS>Phase>1

Sign in to add a comment