New issue
Advanced search Search tips

Issue 869130 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Chrome OS "Show taps" doesn't handle display rotation or bounds changes

Project Member Reported by msw@chromium.org, Jul 30

Issue description

Chrome OS "Show taps" doesn't handle display rotation or bounds changes

On a Chrome OS device (or linux desktop cros build) on ToT (#577173)
(1) Run with --show-taps or enable about:flags "Show taps"
    (plus --ash-host-window-bounds=800x600 --ash-debug-shortcuts)
(2) Rotate the screen (Ctrl-Alt-Shift-R on linux-desktop)
    (or enlarge the display bounds by resizing the window)
(3) Attempt to tap areas outside the original bounds
    (eg. window-left / display-bottom after rotating 800x600)
    (eg. bottom-right of the window/display after enlarging)
Expected: taps still show up
Actual: taps do not show outside the original bounds

This may be a regression from conversion of show-taps to a mojo app.
 
Cc: -jamescook@chromium.org
Labels: -Pri-2 Proj-Mustash Pri-1
Owner: jamescook@chromium.org
Status: Assigned (was: Available)
Status: Started (was: Assigned)
Labels: ReleaseBlock-Stable M-69
This is an ash window manager bug. Widgets in the overlay container don't have their bounds updated after display work area changes. This probably affects other features, like the touchscreen calibration controller.

We probably want to backport a fix, since this will affect recording demo videos on detachable / tablet devices.

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 7

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

commit 5ba8d7304b7afe20c0d76609c1f5e4c010435911
Author: James Cook <jamescook@chromium.org>
Date: Tue Aug 07 22:22:25 2018

chromeos: Fix "show taps" circle painting after display rotation

The tap visualizer mojo app creates a fullscreen widget in the overlay
container. It draws "tap point" circles in that widget. When the
display work area changes (for example, after display rotation) the
widget needs to be resized. Add a layout manager that handles the
resize.

In theory we should do this for maximized and pinned windows as well.
However, I'm limiting it to fullscreen windows because I intend to
backport the fix to M69. (The bug is a user-visible regression that
affects recording demo videos on detachable and tablet devices.)

Bug:  869130 
Test: ash_unittests, enable "Show taps" in about:flags, rotate display, tap near the bottom of the display
Change-Id: If54c65e2964f2a709c707e255c1b80d8e16666d9
Reviewed-on: https://chromium-review.googlesource.com/1165956
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581364}
[modify] https://crrev.com/5ba8d7304b7afe20c0d76609c1f5e4c010435911/ash/BUILD.gn
[modify] https://crrev.com/5ba8d7304b7afe20c0d76609c1f5e4c010435911/ash/root_window_controller.cc
[add] https://crrev.com/5ba8d7304b7afe20c0d76609c1f5e4c010435911/ash/wm/overlay_layout_manager.cc
[add] https://crrev.com/5ba8d7304b7afe20c0d76609c1f5e4c010435911/ash/wm/overlay_layout_manager.h
[add] https://crrev.com/5ba8d7304b7afe20c0d76609c1f5e4c010435911/ash/wm/overlay_layout_manager_unittest.cc

Labels: Merge-Request-69
Merge request per comment 3

Project Member

Comment 6 by sheriffbot@chromium.org, Aug 9

Labels: -Merge-Request-69 Merge-Review-69 Hotlist-Merge-Review
This bug requires manual review: M69 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), kariahda@(iOS), cindyb@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-69 Merge-Approved-69
Merge approved, M69.
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 10

Labels: -merge-approved-69 merge-merged-3497
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a2f1ed1405850fdf41e3ec9a4d9013a577a8a532

commit a2f1ed1405850fdf41e3ec9a4d9013a577a8a532
Author: James Cook <jamescook@chromium.org>
Date: Fri Aug 10 01:06:29 2018

M69 merge: chromeos: Fix "show taps" circle painting after display rotation

Manual merge due to conflicts in ash/BUILD.gn

The tap visualizer mojo app creates a fullscreen widget in the overlay
container. It draws "tap point" circles in that widget. When the
display work area changes (for example, after display rotation) the
widget needs to be resized. Add a layout manager that handles the
resize.

In theory we should do this for maximized and pinned windows as well.
However, I'm limiting it to fullscreen windows because I intend to
backport the fix to M69. (The bug is a user-visible regression that
affects recording demo videos on detachable and tablet devices.)

TBR=oshima@chromium.org
(cherry picked from commit 5ba8d7304b7afe20c0d76609c1f5e4c010435911)

Bug:  869130 
Test: ash_unittests, enable "Show taps" in about:flags, rotate display, tap near the bottom of the display
Change-Id: If54c65e2964f2a709c707e255c1b80d8e16666d9
Reviewed-on: https://chromium-review.googlesource.com/1165956
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#581364}
Reviewed-on: https://chromium-review.googlesource.com/1170342
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/branch-heads/3497@{#531}
Cr-Branched-From: 271eaf50594eb818c9295dc78d364aea18c82ea8-refs/heads/master@{#576753}
[modify] https://crrev.com/a2f1ed1405850fdf41e3ec9a4d9013a577a8a532/ash/BUILD.gn
[modify] https://crrev.com/a2f1ed1405850fdf41e3ec9a4d9013a577a8a532/ash/root_window_controller.cc
[add] https://crrev.com/a2f1ed1405850fdf41e3ec9a4d9013a577a8a532/ash/wm/overlay_layout_manager.cc
[add] https://crrev.com/a2f1ed1405850fdf41e3ec9a4d9013a577a8a532/ash/wm/overlay_layout_manager.h
[add] https://crrev.com/a2f1ed1405850fdf41e3ec9a4d9013a577a8a532/ash/wm/overlay_layout_manager_unittest.cc

Status: Fixed (was: Started)

Sign in to add a comment