| Index: ash/common/wm/overview/scoped_transform_overview_window.cc
|
| diff --git a/ash/common/wm/overview/scoped_transform_overview_window.cc b/ash/common/wm/overview/scoped_transform_overview_window.cc
|
| index d68159fb6050ba0cabf9f7cafa68e5a84f7eb2cd..a2abe5d0e1a77c9b1e202b0c0937221f80d6ad02 100644
|
| --- a/ash/common/wm/overview/scoped_transform_overview_window.cc
|
| +++ b/ash/common/wm/overview/scoped_transform_overview_window.cc
|
| @@ -249,7 +249,13 @@ base::Closure ScopedTransformOverviewWindow::OverviewContentMask::
|
| ScopedTransformOverviewWindow::ScopedTransformOverviewWindow(WmWindow* window)
|
| : window_(window),
|
| determined_original_window_shape_(false),
|
| - minimized_(window->GetShowState() == ui::SHOW_STATE_MINIMIZED),
|
| + original_visibility_(
|
| + window->GetWindowState()->GetStateType() ==
|
| + wm::WINDOW_STATE_TYPE_DOCKED_MINIMIZED
|
| + ? ORIGINALLY_DOCKED_MINIMIZED
|
| + : (window->GetShowState() == ui::SHOW_STATE_MINIMIZED
|
| + ? ORIGINALLY_MINIMIZED
|
| + : ORIGINALLY_VISIBLE)),
|
| ignored_by_shelf_(window->GetWindowState()->ignored_by_shelf()),
|
| overview_started_(false),
|
| original_transform_(window->GetTargetTransform()),
|
| @@ -269,7 +275,11 @@ void ScopedTransformOverviewWindow::RestoreWindow() {
|
| OverviewAnimationType::OVERVIEW_ANIMATION_LAY_OUT_SELECTOR_ITEMS,
|
| window_);
|
| gfx::Transform transform;
|
| - if (minimized_ && window_->GetShowState() != ui::SHOW_STATE_MINIMIZED) {
|
| + if ((original_visibility_ == ORIGINALLY_MINIMIZED &&
|
| + window_->GetShowState() != ui::SHOW_STATE_MINIMIZED) ||
|
| + (original_visibility_ == ORIGINALLY_DOCKED_MINIMIZED &&
|
| + window_->GetWindowState()->GetStateType() !=
|
| + wm::WINDOW_STATE_TYPE_DOCKED_MINIMIZED)) {
|
| // Setting opacity 0 and visible false ensures that the property change
|
| // to SHOW_STATE_MINIMIZED will not animate the window from its original
|
| // bounds to the minimized position.
|
| @@ -331,13 +341,18 @@ gfx::Rect ScopedTransformOverviewWindow::GetTargetBoundsInScreen() const {
|
| }
|
|
|
| void ScopedTransformOverviewWindow::ShowWindowIfMinimized() {
|
| - if (minimized_ && window_->GetShowState() == ui::SHOW_STATE_MINIMIZED)
|
| + if ((original_visibility_ == ORIGINALLY_MINIMIZED &&
|
| + window_->GetShowState() == ui::SHOW_STATE_MINIMIZED) ||
|
| + (original_visibility_ == ORIGINALLY_DOCKED_MINIMIZED &&
|
| + window_->GetWindowState()->GetStateType() ==
|
| + wm::WINDOW_STATE_TYPE_DOCKED_MINIMIZED)) {
|
| window_->Show();
|
| + }
|
| }
|
|
|
| void ScopedTransformOverviewWindow::ShowWindowOnExit() {
|
| - if (minimized_) {
|
| - minimized_ = false;
|
| + if (original_visibility_ != ORIGINALLY_VISIBLE) {
|
| + original_visibility_ = ORIGINALLY_VISIBLE;
|
| original_transform_ = gfx::Transform();
|
| original_opacity_ = kRestoreWindowOpacity;
|
| }
|
|
|