New issue
Advanced search Search tips

Issue 822917 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Dragging windows in overview mode is not working as expected.

Project Member Reported by sammiequon@chromium.org, Mar 16 2018

Issue description

(1) Open a couple windows and enter tablet mode.
(2) Enter overview mode.
(3) Try dragging a couple windows.

The windows seem to move faster than your finger/cursor. Also, it seems starting to drag on some spots does not seem to work.


 
Cc: sky@chromium.org
+sky as reverting this cl https://chromium-review.googlesource.com/c/chromium/src/+/962877 removes the issues.

sky@ - any ideas?

Comment 2 by x...@chromium.org, Mar 16 2018

A simpler step to repro this issue:
In laptop mode, enter overview mode, try to close the overview window by clicking the close button.

The window can't be closed. 

Comment 3 by sky@chromium.org, Mar 16 2018

Owner: sky@chromium.org
Status: Assigned (was: Untriaged)
Will look shortly. I'm going to revert as this is pretty bad.

Comment 4 by sky@chromium.org, Mar 17 2018

Owner: msw@chromium.org
Mike. I'm off Monday, could you poke at this? My guess is mus is picking the wrong window, so that when we dispatch in ash it goes to the wrong place. I recommend:
. Run in classic and log what aura::Window gets the event that is processed that results in closing the window.
. Then run with mus and log what the target is when ash receives it. That's available from WindowTreeClient::OnWindowInputEvent.

If some pretarget-handler is doing this, maybe we're not calling it right?

Actually, I think this is likely an issue with coordinate conversion (ugh). I saw this on the desktop when passing --force-device-scale-factor=2. I still recommend looking at the target ash is getting. If that's wrong, then perhaps there is a bug in coordinate conversion in services/ui/ws/window_coordinate_conversions, or in the actual finding services/ui/ws/window_finder.cc. Another idea, maybe the transforms on the ServerWindow isn't propagated right, so that the coordinate mapping is wrong.

Comment 5 by sky@chromium.org, Mar 17 2018

There are two issues here:
1. Transform is not always updated in the server when it changes locally.
2. Translation is wrong when a scale exists.
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 19 2018

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

commit ac1a8082c1005516e3edd47f1a79af626ecf9152
Author: Scott Violet <sky@chromium.org>
Date: Mon Mar 19 05:14:34 2018

aura: changes when WindowPort::OnDidChangeTransform() is called

This calls it from OnLayerTransform(). That way, if the transform is
changed outside of Window::SetTransform, everything still works.

BUG= 822917 
TEST=covered by tests

Change-Id: I27acb266c4a4993df0a71457af8aa3b4c2cde5d1
Reviewed-on: https://chromium-review.googlesource.com/967841
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543974}
[modify] https://crrev.com/ac1a8082c1005516e3edd47f1a79af626ecf9152/ui/aura/window.cc
[modify] https://crrev.com/ac1a8082c1005516e3edd47f1a79af626ecf9152/ui/aura/window.h
[modify] https://crrev.com/ac1a8082c1005516e3edd47f1a79af626ecf9152/ui/compositor/layer.cc
[modify] https://crrev.com/ac1a8082c1005516e3edd47f1a79af626ecf9152/ui/compositor/layer_delegate.cc
[modify] https://crrev.com/ac1a8082c1005516e3edd47f1a79af626ecf9152/ui/compositor/layer_delegate.h
[modify] https://crrev.com/ac1a8082c1005516e3edd47f1a79af626ecf9152/ui/compositor/layer_unittest.cc

Comment 7 by sky@chromium.org, Mar 20 2018

Status: Fixed (was: Assigned)
Project Member

Comment 8 by bugdroid1@chromium.org, Mar 20 2018

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

commit f0283d9483ccdd1068909bd73fb6fa70566a0ebc
Author: Mike Wasserman <msw@chromium.org>
Date: Tue Mar 20 15:52:11 2018

WindowService: transforms translation by device-scale-factor

The Window Service operates in pixels. Any translations in the
transform need to be scaled by the dsf.

Based on sky@'s CL: http://crrev.com/c/966498 (copied in patch set 1)
This CL keeps existing scaling, etc. (SetTranslate first clears to identity).
(the original CL doesn't fix clicks on the overview window previews)

BUG= 822917 
TEST=chrome --enable-features=Mus --force-device-scale-factor=2 overview (F5) mouse hover/click works well

Change-Id: I1031d0a66dd5b014656ef974d382293e0da52906
Reviewed-on: https://chromium-review.googlesource.com/969072
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544386}
[modify] https://crrev.com/f0283d9483ccdd1068909bd73fb6fa70566a0ebc/ui/aura/mus/window_tree_client.cc

Sign in to add a comment