New issue
Advanced search Search tips

Issue 613212 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 631216
Owner:
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 557406



Sign in to add a comment

Mash shelf autohide

Project Member Reported by jamescook@chromium.org, May 19 2016

Issue description

Activating Autohide doesn't alter the bounds. We'll need to add support in mash::wm::ShelfLayout.

See parent  Issue 557406 
 

Comment 1 by msw@chromium.org, May 19 2016

You could dup this to  Issue 595852 .
Project Member

Comment 2 by bugdroid1@chromium.org, May 25 2016

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

commit f17ee247d73f98df954b3809cf0a651c3b8c0011
Author: jamescook <jamescook@chromium.org>
Date: Wed May 25 21:22:00 2016

ash: Reorder shutdown of ShelfLayoutManager and StatusAreaWidget

Status area widget teardown can cause other widgets to close (e.g. bubbles)
which can cause synthetic events (e.g. ET_MOUSE_EXITED) to be generated.

In a future CL I need to make ShelfLayoutManager::AutoHideEventFilter handle
ET_MOUSE_EXITED, so I need to shutdown the ShelfLayoutManager earlier during
Shell teardown.

BUG= 613212 
TEST=existing ash_unittests, specifically ShelfLayoutManagerTest.*

Review-Url: https://codereview.chromium.org/2000393003
Cr-Commit-Position: refs/heads/master@{#395987}

[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/root_window_controller.cc
[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/shelf/shelf_layout_manager.cc
[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/shelf/shelf_layout_manager_observer.h
[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/shelf/shelf_layout_manager_unittest.cc
[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/shelf/shelf_tooltip_manager.cc
[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/shelf/shelf_tooltip_manager.h
[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/shelf/shelf_widget.cc
[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/shelf/shelf_widget.h
[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/shell.cc
[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/shell.h
[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/wm/aura/wm_shelf_aura.cc
[modify] https://crrev.com/f17ee247d73f98df954b3809cf0a651c3b8c0011/ash/wm/aura/wm_shelf_aura.h

Project Member

Comment 3 by bugdroid1@chromium.org, May 26 2016

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

commit 84d491374cd8d3eef55deb09117a11b0a70b813c
Author: jamescook <jamescook@chromium.org>
Date: Thu May 26 00:00:40 2016

mash: Preliminary support for shelf auto-hide

Shelf now collapses to light-bar when auto-hide is enabled and shows itself on
mouse hover.

* Observe ShelfLayoutManager for state changes and send the preferred size to
  the window manager via a window property.
* Use mouse hover/enter/exit over the shelf widget and status area widget to
  trigger shelf show.

This depends on a patch to shutdown the layout manager before the status area
widget is destroyed to avoid processing ET_MOUSE_EXITED events mid-shutdown.

TODO: Animations of widget position and opacity
TODO: Update the user window work area when auto-hide enabled
TODO: Track visible and maximized windows for special-case shelf opacity and
      visibility behaviors

BUG= 613212 
TEST=existing ash_unittests

Review-Url: https://codereview.chromium.org/2007003002
Cr-Commit-Position: refs/heads/master@{#396048}

[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/mus/shelf_delegate_mus.cc
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/mus/shelf_delegate_mus.h
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/screen_util.cc
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/shelf/shelf_delegate.h
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/shelf/shelf_layout_manager.cc
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/shelf/shelf_layout_manager.h
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/shelf/shelf_layout_manager_unittest.cc
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/shelf/shelf_view_unittest.cc
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/shelf/shelf_widget.cc
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/shelf/shelf_widget.h
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/shelf/shelf_widget_unittest.cc
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/shell/shelf_delegate_impl.cc
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/shell/shelf_delegate_impl.h
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/system/status_area_widget.cc
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/system/status_area_widget.h
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/test/test_shelf_delegate.cc
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/ash/test/test_shelf_delegate.h
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc
[modify] https://crrev.com/84d491374cd8d3eef55deb09117a11b0a70b813c/chrome/browser/ui/ash/launcher/chrome_launcher_controller.h

Status: Assigned (was: Started)
On hold while we merge ash_sysui and desktop_wm.

Mergedinto: 631216
Status: Duplicate (was: Assigned)
 Issue 631216  has a better description, and the above code is going away with ash_sysui.

Components: -MUS Internals>Services>WindowService

Sign in to add a comment