Restack shelf widget on session state change
In active user session, shelf container has multiple widgets - navigation widget, hotseat widget, status area widget, shelf widget. Of these, shelf widget contains the shelf background, and its bounds intersect with all other widgets. For this reason, it's expected to be stacked at the bottom of the container. The shelf widget stacking is set up during widget creation. This works in active session state, as the shelf widget itself is not expected to be activated, and thus stacked at the top of the container. For login shelf, though, the shelf widget can get activated (it contains login shelf buttons, which can be focused, e.g. by tab traversal). Shelf widget being stacked above other windows in the container is not an issue on login/lock screen (login shelf widget does not interfere with the only other visible widget - status area widget), but when the session state changes, the shelf widget should ensure it gets restacked at the bottom again, so the shelf background does not get painted over other widgets. NOTE: This was not an issue before M-82, as shelf widget was in a separate window container. BUG=1051823 Change-Id: I65e34fc1347d20976cb5441da91e00efb96b0885 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2058998Reviewed-by:Ahmed Fakhry <afakhry@chromium.org> Commit-Queue: Toni Baržić <tbarzic@chromium.org> Cr-Commit-Position: refs/heads/master@{#745719}
Showing
Please register or sign in to comment