summaryrefslogtreecommitdiffstats
path: root/ash/wm/dock
diff options
context:
space:
mode:
authorskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-01 04:12:42 +0000
committerskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-01 04:12:42 +0000
commit3f10f16cf8657cc3699f4a11252126b414d33e37 (patch)
tree9f264d0249200b5a052e1487c6b9d40d9ff069d1 /ash/wm/dock
parent635589fff5cefa6997f7d7517f4d3839bf8df9a6 (diff)
downloadchromium_src-3f10f16cf8657cc3699f4a11252126b414d33e37.zip
chromium_src-3f10f16cf8657cc3699f4a11252126b414d33e37.tar.gz
chromium_src-3f10f16cf8657cc3699f4a11252126b414d33e37.tar.bz2
Ignoring minimum size requirements for maximized windows, full screen windows and too small screens
BUG=366315 TEST=ash_unittest's and visual tests Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=267084 Review URL: https://codereview.chromium.org/255063004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267416 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/wm/dock')
-rw-r--r--ash/wm/dock/docked_window_layout_manager.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/ash/wm/dock/docked_window_layout_manager.cc b/ash/wm/dock/docked_window_layout_manager.cc
index 063c467c..daddd1f 100644
--- a/ash/wm/dock/docked_window_layout_manager.cc
+++ b/ash/wm/dock/docked_window_layout_manager.cc
@@ -707,8 +707,17 @@ void DockedWindowLayoutManager::OnChildWindowVisibilityChanged(
void DockedWindowLayoutManager::SetChildBounds(
aura::Window* child,
const gfx::Rect& requested_bounds) {
+ // The minimum constraints have to be applied first by the layout manager.
+ gfx::Rect actual_new_bounds(requested_bounds);
+ if (child->delegate()) {
+ const gfx::Size& min_size = child->delegate()->GetMinimumSize();
+ actual_new_bounds.set_width(
+ std::max(min_size.width(), actual_new_bounds.width()));
+ actual_new_bounds.set_height(
+ std::max(min_size.height(), actual_new_bounds.height()));
+ }
// Whenever one of our windows is moved or resized enforce layout.
- SetChildBoundsDirect(child, requested_bounds);
+ SetChildBoundsDirect(child, actual_new_bounds);
if (IsPopupOrTransient(child))
return;
ShelfLayoutManager* shelf_layout =