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

Unified Diff: chrome/browser/ui/window_sizer.cc

Issue 8549008: Extract MonitorInfoProvider from WindowSizer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add docs Created 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/window_sizer.h ('k') | chrome/browser/ui/window_sizer_aura.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/window_sizer.cc
diff --git a/chrome/browser/ui/window_sizer.cc b/chrome/browser/ui/window_sizer.cc
index 228e4a1c22ef14b1e76d7a2df003652ee6a49dd4..58a6956f04241b24cba742dd6e26b9d78b9f42c0 100644
--- a/chrome/browser/ui/window_sizer.cc
+++ b/chrome/browser/ui/window_sizer.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/ui/window_sizer.h"
+#include "base/compiler_specific.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
@@ -11,6 +12,27 @@
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/common/pref_names.h"
+#include "ui/gfx/screen.h"
+
+// Minimum height of the visible part of a window.
+const int kMinVisibleHeight = 30;
+// Minimum width of the visible part of a window.
+const int kMinVisibleWidth = 30;
+
+class DefaultMonitorInfoProvider : public MonitorInfoProvider {
+ public:
+ // Overridden from MonitorInfoProvider:
+ virtual gfx::Rect GetPrimaryMonitorWorkArea() const OVERRIDE {
+ return gfx::Screen::GetPrimaryMonitorWorkArea();
+ }
+ virtual gfx::Rect GetPrimaryMonitorBounds() const OVERRIDE {
+ return gfx::Screen::GetPrimaryMonitorBounds();
+ }
+ virtual gfx::Rect GetMonitorWorkAreaMatching(
+ const gfx::Rect& match_rect) const OVERRIDE {
+ return gfx::Screen::GetMonitorWorkAreaMatching(match_rect);
+ }
+};
///////////////////////////////////////////////////////////////////////////////
// An implementation of WindowSizer::StateProvider that gets the last active
@@ -102,6 +124,11 @@ class DefaultStateProvider : public WindowSizer::StateProvider {
///////////////////////////////////////////////////////////////////////////////
// WindowSizer, public:
+WindowSizer::WindowSizer(StateProvider* state_provider)
+ : state_provider_(state_provider),
+ monitor_info_provider_(new DefaultMonitorInfoProvider) {
+}
+
WindowSizer::WindowSizer(StateProvider* state_provider,
MonitorInfoProvider* monitor_info_provider)
: state_provider_(state_provider),
@@ -116,8 +143,7 @@ void WindowSizer::GetBrowserWindowBounds(const std::string& app_name,
const gfx::Rect& specified_bounds,
const Browser* browser,
gfx::Rect* window_bounds) {
- const WindowSizer sizer(new DefaultStateProvider(app_name, browser),
- CreateDefaultMonitorInfoProvider());
+ const WindowSizer sizer(new DefaultStateProvider(app_name, browser));
sizer.DetermineWindowBounds(specified_bounds, window_bounds);
}
@@ -196,40 +222,6 @@ void WindowSizer::GetDefaultWindowBounds(gfx::Rect* default_bounds) const {
default_width, default_height);
}
-bool WindowSizer::PositionIsOffscreen(int position, Edge edge) const {
- DCHECK(monitor_info_provider_.get());
- size_t monitor_count = monitor_info_provider_->GetMonitorCount();
- for (size_t i = 0; i < monitor_count; ++i) {
- gfx::Rect work_area = monitor_info_provider_->GetWorkAreaAt(i);
- switch (edge) {
- case TOP:
- if (position >= work_area.y())
- return false;
- break;
- case LEFT:
- if (position >= work_area.x())
- return false;
- break;
- case BOTTOM:
- if (position <= work_area.bottom())
- return false;
- break;
- case RIGHT:
- if (position <= work_area.right())
- return false;
- break;
- }
- }
- return true;
-}
-
-namespace {
- // Minimum height of the visible part of a window.
- static const int kMinVisibleHeight = 30;
- // Minimum width of the visible part of a window.
- static const int kMinVisibleWidth = 30;
-}
-
void WindowSizer::AdjustBoundsToBeVisibleOnMonitorContaining(
const gfx::Rect& other_bounds,
const gfx::Rect& saved_work_area,
« no previous file with comments | « chrome/browser/ui/window_sizer.h ('k') | chrome/browser/ui/window_sizer_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698