diff options
author | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-01 04:12:42 +0000 |
---|---|---|
committer | skuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-01 04:12:42 +0000 |
commit | 3f10f16cf8657cc3699f4a11252126b414d33e37 (patch) | |
tree | 9f264d0249200b5a052e1487c6b9d40d9ff069d1 /ash/wm/dock | |
parent | 635589fff5cefa6997f7d7517f4d3839bf8df9a6 (diff) | |
download | chromium_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.cc | 11 |
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 = |