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

Unified Diff: ash/display/screen_position_controller.cc

Issue 55363004: Enables docked windows by default (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Enables docked windows by default Created 7 years, 1 month 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/display/screen_position_controller.cc
diff --git a/ash/display/screen_position_controller.cc b/ash/display/screen_position_controller.cc
index c8b8c1d7562e6172aaafada3f77134175277ae1a..02166d06b2699e1fad469ab17cc163beb8c4cfa5 100644
--- a/ash/display/screen_position_controller.cc
+++ b/ash/display/screen_position_controller.cc
@@ -192,6 +192,18 @@ void ScreenPositionController::SetBounds(aura::Window* window,
if (active && focused != active)
tracker.Add(active);
+ // Adjust the bounds before reparenting since the bounds may be taken
+ // into consideration to ensure window visibility when it gets added
+ // to layout.
+ if (window->type() != aura::client::WINDOW_TYPE_POPUP) {
+ gfx::Point origin(bounds.origin());
+ const gfx::Point display_origin =
+ Shell::GetScreen()->GetDisplayNearestWindow(
+ dst_container).bounds().origin();
+ origin.Offset(-display_origin.x(), -display_origin.y());
+ gfx::Rect new_bounds(gfx::Rect(origin, bounds.size()));
+ window->SetBounds(new_bounds);
+ }
flackr 2013/11/01 16:52:28 This doesn't look related to simply enabling docke
varkha 2013/11/05 20:34:23 Done. https://codereview.chromium.org/57963003/
dst_container->AddChild(window);
MoveAllTransientChildrenToNewRoot(display, window);
@@ -205,6 +217,8 @@ void ScreenPositionController::SetBounds(aura::Window* window,
} else if (tracker.Contains(active)) {
activation_client->ActivateWindow(active);
}
+ if (window->type() != aura::client::WINDOW_TYPE_POPUP)
+ return;
}
}

Powered by Google App Engine
This is Rietveld 408576698