Swipe up to un auto-hide the launcher, then move the mouse to the shelf. Shelf dissapears before mouse can get there |
|||||
Issue descriptionWhat steps will reproduce the problem? (1) Swipe up to show an autohidden shelf. (2) Try to then move the mouse to the shelf. What is the expected result? Mouse can be moved to the shelf and then the shelf items can be interacted with. What happens instead? Shelf closes when the mouse moves.
,
Oct 31
I guess this is the expected behavior from the old shelf. Move the mouse to the bottom of the screen will show the auto-hide shelf.
,
Oct 31
,
Oct 31
Talked to kejia offline -- we should not hide the shelf when the mouse moves.
,
Nov 14
,
Nov 14
We can move the mouse to the bottom area, auto-hide shelf will be shown after stop mouse move for 200ms. Then we can interact with the shelf items. For this issue, Currently, MOUSE_MOVED, MOUSE_ENTERED, MOUSE_EXITED (e.g, enter/leave a window) are used to update the auto-hide shelf state. Auto-hide shelf can be kept as AUTO_HIDE_SHOWN in many cases, one of them is "mouse cursor is inside the shelf bounds area". We can update the logic to only update the auto-hide state if mouse is inside shelf bounds. Then the mouse events outside the shelf bounds area will not hide the AUTO_HIDE_SHOWN shelf that was dragged by gesture events. And the AUTO_HIDE_HIDDEN shelf will also be shown after move the mouse to shelf bounds area for 200ms. The problem here is that we have many other cases will call UpdateVisibilityState, like, window hierarchy changed, child window visibility changed, window stacking changed, etc. I can't count them all here, since it is really many. All of these cases will make the shelf that dragged up by the gesture events before to be hidden again (since we have visible windows, etc). And it looks like we move the mouse and then hide the shelf. The conclusion is that not only mouse move will hide the shelf, also many other changes (we may can't see it obviously by eyes). The point is after we dragged up the auto-hide shelf to SHOWN. When it can be hidden again? Only drag down on the shelf? Feel this is not just a trivial change. Let me know the further thought. Thanks.
,
Nov 15
Min, the mouse behavior sounds great. The only addition I would make (which might be implicit here) is that any mouse click outside of the bounds would hide the auto-hide shelf, for consistency with taps outside the shelf. As for the other cases, can you give other examples? The ones you've listed sound ok - the bug I think concerns the unexpected hiding of the shelf based on a light user interaction that might have intended to go towards the shelf. Other things that cause auto-hide shelf resulting from clicks or system processes sound intended to me.
,
Nov 15
Think MOUSE_MOVED event will always happen before MOUSE_PRESSED event, which means before mouse click the auto-hide shelf has been hidden by the MOUSE_MOVED event (current behavior). For other cases? The behaviors that related to the window hierarchy or stacking changed. Like right click to open the menu; move the mouse to the child parts of the window, e.g, for browser window, move the mouse from the main part to the url input box, or to back/forward button etc. So even after we make MOUSE_MOVED, MOUSE_ENTERED, MOUSE_EXITED don't hide the auto-hide shelf (need to add MOUSE_PRESSED to hide the shelf), we can still see the shelf be hidden when we move the mouse for example in the above cases.
,
Nov 15
Ok, thanks, I see. Anything involving mouse move should not trigger shelf hide - any clicks or right clicks outside the shelf should hide. If it's feeling too onerous to track down all of the cases, feel free to handle mouse move and any other obvious ones with this bug and we can file separate bugs later as they arise.
,
Nov 21
I see. Thanks Ben. I am going to see how should we fix it.
,
Nov 30
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3cdc16799b25d0c65339df6630a2b96e0651ac89 commit 3cdc16799b25d0c65339df6630a2b96e0651ac89 Author: Min Chen <minch@google.com> Date: Fri Nov 30 17:54:49 2018 shelf: Mouse move should not hide the auto-hide shelf. Bug: 900758 Change-Id: Idb6e22aa144d290f21c5af6139e0d168905e5ff6 Reviewed-on: https://chromium-review.googlesource.com/c/1352526 Commit-Queue: Min Chen <minch@chromium.org> Reviewed-by: Mitsuru Oshima <oshima@chromium.org> Cr-Commit-Position: refs/heads/master@{#612693} [modify] https://crrev.com/3cdc16799b25d0c65339df6630a2b96e0651ac89/ash/shelf/shelf_layout_manager.cc [modify] https://crrev.com/3cdc16799b25d0c65339df6630a2b96e0651ac89/ash/shelf/shelf_layout_manager.h [modify] https://crrev.com/3cdc16799b25d0c65339df6630a2b96e0651ac89/ash/shelf/shelf_layout_manager_unittest.cc
,
Nov 30
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by newcomer@chromium.org
, Oct 31Owner: minch@chromium.org