mash shelf: Auto-hide support |
|||||||||||||||||
Issue descriptionThis is not a straightforward conversion. A new window server API will be needed. ShelfLayoutManager::AutoHideEventFilter * Watches for any mouse/gesture event and forwards to ShelfLayoutManager * Observes for any mouse drag, and skips showing the hidden shelf if the user is dragging, even if he hits the bottom of the screen * The item being dragged could be inside web contents, like a piece of text or an image. * I don’t know how the window manager tracks these drags. * Tracks gesture drags and changes shelf transparency during drag * Checks for the mouse being at the bottom of the screen to trigger a show * Handles gesture edge swipes * These last two will need something special for mus with material design shelf, as there are no visible pixels for the auto-hidden shelf, hence no target for enter/exit/move. * The window server may need special case code to notify the window manager when the mouse hits the screen edge.
,
Aug 9 2016
msw, assigning to you for the part where we delegate out the creation of the existing event filter. Feel free to give back to me after that part. I'm not sure who is best suited to build the window server API, but that can happen later.
,
Aug 9 2016
Issue 613212 has been merged into this issue.
,
Aug 9 2016
,
Aug 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e2dd2245e3707d5ff18b3186192f00253c04598f commit e2dd2245e3707d5ff18b3186192f00253c04598f Author: msw <msw@chromium.org> Date: Tue Aug 09 20:53:31 2016 mash: Move AutoHideEventHandler to WmShelfAura. Manage an AutoHideEventHandler instance in WmShelfAura. Send the target window to UpdateAutoHideFor*Event. Move in_mouse_drag_ to ShelfLayoutManager. Remove WmShelf::UpdateAutoHideFor*Event helpers. Remove shelf/status Widget event handler overrides. (this disables auto-hide for mash, needs implementation) (partly reverts https://codereview.chromium.org/2109193002) BUG= 615155 , 621112 , 631216 TEST=Automated; no auto-hide changes in non-mash ChromeOS. R=jamescook@chromium.org Review-Url: https://codereview.chromium.org/2227143003 Cr-Commit-Position: refs/heads/master@{#410813} [modify] https://crrev.com/e2dd2245e3707d5ff18b3186192f00253c04598f/ash/aura/wm_shelf_aura.cc [modify] https://crrev.com/e2dd2245e3707d5ff18b3186192f00253c04598f/ash/aura/wm_shelf_aura.h [modify] https://crrev.com/e2dd2245e3707d5ff18b3186192f00253c04598f/ash/common/shelf/wm_shelf.h [modify] https://crrev.com/e2dd2245e3707d5ff18b3186192f00253c04598f/ash/common/system/status_area_widget.cc [modify] https://crrev.com/e2dd2245e3707d5ff18b3186192f00253c04598f/ash/common/system/status_area_widget.h [modify] https://crrev.com/e2dd2245e3707d5ff18b3186192f00253c04598f/ash/mus/bridge/wm_shelf_mus.cc [modify] https://crrev.com/e2dd2245e3707d5ff18b3186192f00253c04598f/ash/mus/bridge/wm_shelf_mus.h [modify] https://crrev.com/e2dd2245e3707d5ff18b3186192f00253c04598f/ash/shelf/shelf_layout_manager.cc [modify] https://crrev.com/e2dd2245e3707d5ff18b3186192f00253c04598f/ash/shelf/shelf_layout_manager.h [modify] https://crrev.com/e2dd2245e3707d5ff18b3186192f00253c04598f/ash/shelf/shelf_widget.cc [modify] https://crrev.com/e2dd2245e3707d5ff18b3186192f00253c04598f/ash/shelf/shelf_widget.h
,
Oct 4 2016
,
Oct 4 2016
,
Nov 14 2016
,
Jan 13 2017
,
Mar 29 2017
Issue 706591 has been merged into this issue.
,
Mar 29 2017
James, feel free to take this bug if you're working on it.
,
Mar 29 2017
Adding the word "autohide" to make this easier to find.
,
Mar 30 2017
I'm not working on it this week. We can load balance next week.
,
Mar 30 2017
Actually, I'll just start this now. I love autohide, so I want it for my own dogfooding. :-)
,
Mar 30 2017
Actually, this is going to wait until we decide if we can forward all events from window server to ash. If we can do that then all the global ash:Shell EventHandlers/EventFilters will work and autohide will "just work". mfomitchev@ is going to get some event latency numbers that we can use to guesstimate the impact of an extra process hop, then we'll decide. Sorry for the email spam.
,
Sep 19 2017
,
Sep 27 2017
The current state: * Autohide properly hides the shelf * The shelf *sometimes* shows when you move the cursor to screen bottom. It only works if you move the cursor quickly.
,
Oct 17 2017
,
Nov 21 2017
,
Feb 26 2018
,
Feb 26 2018
,
Mar 9 2018
Un-cc-ing me from all bugs on my final day.
,
Apr 19 2018
,
Jul 12
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3bccf529dd2431e9fba3265b4cc678704182d272 commit 3bccf529dd2431e9fba3265b4cc678704182d272 Author: James Cook <jamescook@chromium.org> Date: Thu Jul 12 00:45:20 2018 Clean up MASH_DEPRECATED in shelf auto-hide code I verified that autohide works properly under mash with mouse gestures, touch gestures, and bezel gestures. Bug: 636647 , 631216 Test: ash_unittests, manual on device Change-Id: I368a72a96dbac9791eb67ede9adc739e1d9079fb Reviewed-on: https://chromium-review.googlesource.com/1134405 Reviewed-by: Michael Wasserman <msw@chromium.org> Commit-Queue: James Cook <jamescook@chromium.org> Cr-Commit-Position: refs/heads/master@{#574433} [modify] https://crrev.com/3bccf529dd2431e9fba3265b4cc678704182d272/ash/shelf/shelf.cc [modify] https://crrev.com/3bccf529dd2431e9fba3265b4cc678704182d272/ash/shelf/shelf.h
,
Jul 23
|
|||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||
Comment 1 by rjkroege@chromium.org
, Aug 8 2016