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

Side by Side Diff: ash/wm/window_util.cc

Issue 1483083003: Set the window state consistently Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 unified diff | Download patch
« no previous file with comments | « ash/wm/lock_layout_manager_unittest.cc ('k') | ash/wm/window_util_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/wm/window_util.h" 5 #include "ash/wm/window_util.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/ash_constants.h" 9 #include "ash/ash_constants.h"
10 #include "ash/screen_util.h" 10 #include "ash/screen_util.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 AdjustBoundsToEnsureWindowVisibility( 115 AdjustBoundsToEnsureWindowVisibility(
116 visible_area, kMinimumOnScreenArea, kMinimumOnScreenArea, bounds); 116 visible_area, kMinimumOnScreenArea, kMinimumOnScreenArea, bounds);
117 } 117 }
118 118
119 void AdjustBoundsToEnsureWindowVisibility(const gfx::Rect& visible_area, 119 void AdjustBoundsToEnsureWindowVisibility(const gfx::Rect& visible_area,
120 int min_width, 120 int min_width,
121 int min_height, 121 int min_height,
122 gfx::Rect* bounds) { 122 gfx::Rect* bounds) {
123 AdjustBoundsSmallerThan(visible_area.size(), bounds); 123 AdjustBoundsSmallerThan(visible_area.size(), bounds);
124 124
125 min_width = std::min(min_width, visible_area.width()); 125 min_width =
126 min_height = std::min(min_height, visible_area.height()); 126 std::min(std::min(min_width, visible_area.width()), bounds->width());
127 min_height =
128 std::min(std::min(min_height, visible_area.height()), bounds->height());
127 129
128 if (bounds->right() < visible_area.x() + min_width) { 130 if (bounds->right() < visible_area.x() + min_width) {
129 bounds->set_x(visible_area.x() + min_width - bounds->width()); 131 bounds->set_x(visible_area.x() + min_width - bounds->width());
130 } else if (bounds->x() > visible_area.right() - min_width) { 132 } else if (bounds->x() > visible_area.right() - min_width) {
131 bounds->set_x(visible_area.right() - min_width); 133 bounds->set_x(visible_area.right() - min_width);
132 } 134 }
133 if (bounds->bottom() < visible_area.y() + min_height) { 135 if (bounds->bottom() < visible_area.y() + min_height) {
134 bounds->set_y(visible_area.y() + min_height - bounds->height()); 136 bounds->set_y(visible_area.y() + min_height - bounds->height());
135 } else if (bounds->y() > visible_area.bottom() - min_height) { 137 } else if (bounds->y() > visible_area.bottom() - min_height) {
136 bounds->set_y(visible_area.bottom() - min_height); 138 bounds->set_y(visible_area.bottom() - min_height);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 if (!container->layout_manager()) 207 if (!container->layout_manager())
206 container->SetLayoutManager(new SnapToPixelLayoutManager(container)); 208 container->SetLayoutManager(new SnapToPixelLayoutManager(container));
207 } else { 209 } else {
208 InstallSnapLayoutManagerToContainers(container); 210 InstallSnapLayoutManagerToContainers(container);
209 } 211 }
210 } 212 }
211 } 213 }
212 214
213 } // namespace wm 215 } // namespace wm
214 } // namespace ash 216 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/lock_layout_manager_unittest.cc ('k') | ash/wm/window_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698