OLD | NEW |
---|---|
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 "chrome/browser/ui/window_sizer/window_sizer.h" | 5 #include "chrome/browser/ui/window_sizer/window_sizer.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
10 #include "chrome/browser/browser_process.h" | 10 #include "chrome/browser/browser_process.h" |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
217 scoped_ptr<StateProvider> state_provider( | 217 scoped_ptr<StateProvider> state_provider( |
218 new DefaultStateProvider(app_name, browser)); | 218 new DefaultStateProvider(app_name, browser)); |
219 scoped_ptr<TargetDisplayProvider> target_display_provider( | 219 scoped_ptr<TargetDisplayProvider> target_display_provider( |
220 new DefaultTargetDisplayProvider); | 220 new DefaultTargetDisplayProvider); |
221 const WindowSizer sizer(state_provider.Pass(), | 221 const WindowSizer sizer(state_provider.Pass(), |
222 target_display_provider.Pass(), | 222 target_display_provider.Pass(), |
223 browser); | 223 browser); |
224 sizer.DetermineWindowBoundsAndShowState(specified_bounds, | 224 sizer.DetermineWindowBoundsAndShowState(specified_bounds, |
225 window_bounds, | 225 window_bounds, |
226 show_state); | 226 show_state); |
227 if (*show_state == ui::SHOW_STATE_DEFAULT) { | |
msw
2014/07/30 05:46:37
Can you add unit tests for this new behavior, simi
varkha
2014/07/30 21:03:15
Done.
| |
228 gfx::Display display = sizer.GetTargetDisplay(*window_bounds); | |
229 if (*window_bounds == display.work_area()) { | |
230 *show_state = ui::SHOW_STATE_MAXIMIZED; | |
231 sizer.GetDefaultWindowBounds(display, window_bounds); | |
msw
2014/07/30 05:46:37
Why do you need to set |window_bounds| to the defa
varkha
2014/07/30 21:03:15
Yes, the bounds returned here become the restore b
| |
232 } | |
233 } | |
227 } | 234 } |
228 | 235 |
229 /////////////////////////////////////////////////////////////////////////////// | 236 /////////////////////////////////////////////////////////////////////////////// |
230 // WindowSizer, private: | 237 // WindowSizer, private: |
231 | 238 |
232 void WindowSizer::DetermineWindowBoundsAndShowState( | 239 void WindowSizer::DetermineWindowBoundsAndShowState( |
233 const gfx::Rect& specified_bounds, | 240 const gfx::Rect& specified_bounds, |
234 gfx::Rect* bounds, | 241 gfx::Rect* bounds, |
235 ui::WindowShowState* show_state) const { | 242 ui::WindowShowState* show_state) const { |
236 DCHECK(bounds); | 243 DCHECK(bounds); |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
435 | 442 |
436 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kStartMaximized)) | 443 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kStartMaximized)) |
437 return ui::SHOW_STATE_MAXIMIZED; | 444 return ui::SHOW_STATE_MAXIMIZED; |
438 | 445 |
439 if (browser_->initial_show_state() != ui::SHOW_STATE_DEFAULT) | 446 if (browser_->initial_show_state() != ui::SHOW_STATE_DEFAULT) |
440 return browser_->initial_show_state(); | 447 return browser_->initial_show_state(); |
441 | 448 |
442 // Otherwise we use the default which can be overridden later on. | 449 // Otherwise we use the default which can be overridden later on. |
443 return ui::SHOW_STATE_DEFAULT; | 450 return ui::SHOW_STATE_DEFAULT; |
444 } | 451 } |
OLD | NEW |