Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1911)

Unified Diff: ash/common/wm/overview/scoped_transform_overview_window.cc

Issue 2133333002: [ash-md] Allows docked windows to be selected in overview mode (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: [ash-md] Allows docked windows to be selected in overview mode (comments + tests) Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}
« no previous file with comments | « ash/common/wm/overview/scoped_transform_overview_window.h ('k') | ash/common/wm/overview/window_selector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698