Chromium Code Reviews| 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/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "chrome/browser/browser_process.h" | 9 #include "chrome/browser/browser_process.h" |
| 10 #include "chrome/browser/prefs/pref_service.h" | 10 #include "chrome/browser/prefs/pref_service.h" |
| 11 #include "chrome/browser/profiles/profile.h" | 11 #include "chrome/browser/profiles/profile.h" |
| 12 #include "chrome/browser/ui/ash/ash_init.h" | 12 #include "chrome/browser/ui/ash/ash_init.h" |
| 13 #include "chrome/browser/ui/browser.h" | 13 #include "chrome/browser/ui/browser.h" |
| 14 #include "chrome/browser/ui/browser_list.h" | 14 #include "chrome/browser/ui/browser_list.h" |
| 15 #include "chrome/browser/ui/browser_window.h" | 15 #include "chrome/browser/ui/browser_window.h" |
| 16 #include "chrome/browser/ui/browser_window_state.h" | 16 #include "chrome/browser/ui/browser_window_state.h" |
| 17 #include "chrome/common/pref_names.h" | 17 #include "chrome/common/pref_names.h" |
| 18 #include "chrome/common/chrome_switches.h" | 18 #include "chrome/common/chrome_switches.h" |
| 19 #include "ui/gfx/screen.h" | 19 #include "ui/gfx/screen.h" |
| 20 | 20 |
| 21 // Minimum height of the visible part of a window. | 21 // Minimum height of the visible part of a window. |
| 22 const int kMinVisibleHeight = 30; | 22 const int kMinVisibleHeight = 30; |
| 23 // Minimum width of the visible part of a window. | 23 // Minimum width of the visible part of a window. |
| 24 const int kMinVisibleWidth = 30; | 24 const int kMinVisibleWidth = 30; |
| 25 | 25 |
| 26 class DefaultMonitorInfoProvider : public MonitorInfoProvider { | 26 class DefaultMonitorInfoProvider : public MonitorInfoProvider { |
| 27 public: | 27 public: |
| 28 // Overridden from MonitorInfoProvider: | 28 // Overridden from MonitorInfoProvider: |
| 29 virtual gfx::Rect GetPrimaryDisplayWorkArea() const OVERRIDE { | 29 virtual gfx::Rect GetPrimaryDisplayWorkArea() const OVERRIDE { |
| 30 return gfx::Screen::GetPrimaryDisplay().work_area(); | 30 // TODO(scottmg): NativeScreen is wrong. http://crbug.com/133312 |
| 31 return gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().work_area(); | |
| 31 } | 32 } |
| 32 virtual gfx::Rect GetPrimaryDisplayBounds() const OVERRIDE { | 33 virtual gfx::Rect GetPrimaryDisplayBounds() const OVERRIDE { |
| 33 return gfx::Screen::GetPrimaryDisplay().bounds(); | 34 // TODO(scottmg): NativeScreen is wrong. http://crbug.com/133312 |
| 35 return gfx::Screen::GetNativeScreen()->GetPrimaryDisplay().bounds(); | |
| 34 } | 36 } |
| 35 virtual gfx::Rect GetMonitorWorkAreaMatching( | 37 virtual gfx::Rect GetMonitorWorkAreaMatching( |
| 36 const gfx::Rect& match_rect) const OVERRIDE { | 38 const gfx::Rect& match_rect) const OVERRIDE { |
| 37 return gfx::Screen::GetDisplayMatching(match_rect).work_area(); | 39 // TODO(scottmg): NativeScreen is wrong. http://crbug.com/133312 |
| 40 return gfx::Screen::GetNativeScreen()->GetDisplayMatching( | |
| 41 match_rect).work_area(); | |
| 38 } | 42 } |
|
oshima
2012/10/10 17:58:23
Looks like passing native window (or screen) from
scottmg
2012/10/10 19:04:47
Done.
| |
| 39 }; | 43 }; |
| 40 | 44 |
| 41 /////////////////////////////////////////////////////////////////////////////// | 45 /////////////////////////////////////////////////////////////////////////////// |
| 42 // An implementation of WindowSizer::StateProvider that gets the last active | 46 // An implementation of WindowSizer::StateProvider that gets the last active |
| 43 // and persistent state from the browser window and the user's profile. | 47 // and persistent state from the browser window and the user's profile. |
| 44 class DefaultStateProvider : public WindowSizer::StateProvider { | 48 class DefaultStateProvider : public WindowSizer::StateProvider { |
| 45 public: | 49 public: |
| 46 DefaultStateProvider(const std::string& app_name, const Browser* browser) | 50 DefaultStateProvider(const std::string& app_name, const Browser* browser) |
| 47 : app_name_(app_name), browser_(browser) { | 51 : app_name_(app_name), browser_(browser) { |
| 48 } | 52 } |
| (...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 389 | 393 |
| 390 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kStartMaximized)) | 394 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kStartMaximized)) |
| 391 return ui::SHOW_STATE_MAXIMIZED; | 395 return ui::SHOW_STATE_MAXIMIZED; |
| 392 | 396 |
| 393 if (browser_->initial_show_state() != ui::SHOW_STATE_DEFAULT) | 397 if (browser_->initial_show_state() != ui::SHOW_STATE_DEFAULT) |
| 394 return browser_->initial_show_state(); | 398 return browser_->initial_show_state(); |
| 395 | 399 |
| 396 // Otherwise we use the default which can be overridden later on. | 400 // Otherwise we use the default which can be overridden later on. |
| 397 return ui::SHOW_STATE_DEFAULT; | 401 return ui::SHOW_STATE_DEFAULT; |
| 398 } | 402 } |
| OLD | NEW |