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

Side by Side Diff: chrome/browser/ui/window_sizer_unittest.cc

Issue 8549008: Extract MonitorInfoProvider from WindowSizer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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.h" 5 #include "chrome/browser/ui/window_sizer.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "chrome/browser/ui/monitor_info_provider.h"
11 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
12 13
13 // Some standard monitor sizes (no task bar). 14 // Some standard monitor sizes (no task bar).
14 static const gfx::Rect tentwentyfour(0, 0, 1024, 768); 15 static const gfx::Rect tentwentyfour(0, 0, 1024, 768);
15 static const gfx::Rect twelveeighty(0, 0, 1280, 1024); 16 static const gfx::Rect twelveeighty(0, 0, 1280, 1024);
16 static const gfx::Rect sixteenhundred(0, 0, 1600, 1200); 17 static const gfx::Rect sixteenhundred(0, 0, 1600, 1200);
17 static const gfx::Rect sixteeneighty(0, 0, 1680, 1050); 18 static const gfx::Rect sixteeneighty(0, 0, 1680, 1050);
18 static const gfx::Rect nineteentwenty(0, 0, 1920, 1200); 19 static const gfx::Rect nineteentwenty(0, 0, 1920, 1200);
19 20
20 // Represents a 1024x768 monitor that is not the primary monitor, arranged to 21 // Represents a 1024x768 monitor that is not the primary monitor, arranged to
(...skipping 15 matching lines...) Expand all
36 // The work area for 1024x768 monitors with different taskbar orientations. 37 // The work area for 1024x768 monitors with different taskbar orientations.
37 static const gfx::Rect taskbar_bottom_work_area(0, 0, 1024, 734); 38 static const gfx::Rect taskbar_bottom_work_area(0, 0, 1024, 734);
38 static const gfx::Rect taskbar_top_work_area(0, 34, 1024, 734); 39 static const gfx::Rect taskbar_top_work_area(0, 34, 1024, 734);
39 static const gfx::Rect taskbar_left_work_area(107, 0, 917, 768); 40 static const gfx::Rect taskbar_left_work_area(107, 0, 917, 768);
40 static const gfx::Rect taskbar_right_work_area(0, 0, 917, 768); 41 static const gfx::Rect taskbar_right_work_area(0, 0, 917, 768);
41 42
42 static int kWindowTilePixels = WindowSizer::kWindowTilePixels; 43 static int kWindowTilePixels = WindowSizer::kWindowTilePixels;
43 44
44 // Testing implementation of WindowSizer::MonitorInfoProvider that we can use 45 // Testing implementation of WindowSizer::MonitorInfoProvider that we can use
45 // to fake various monitor layouts and sizes. 46 // to fake various monitor layouts and sizes.
46 class TestMonitorInfoProvider : public WindowSizer::MonitorInfoProvider { 47 class TestMonitorInfoProvider : public MonitorInfoProvider {
47 public: 48 public:
48 TestMonitorInfoProvider() {} 49 TestMonitorInfoProvider() {}
49 virtual ~TestMonitorInfoProvider() {} 50 virtual ~TestMonitorInfoProvider() {}
50 51
51 void AddMonitor(const gfx::Rect& bounds, const gfx::Rect& work_area) { 52 void AddMonitor(const gfx::Rect& bounds, const gfx::Rect& work_area) {
52 DCHECK(bounds.Contains(work_area)); 53 DCHECK(bounds.Contains(work_area));
53 monitor_bounds_.push_back(bounds); 54 monitor_bounds_.push_back(bounds);
54 work_areas_.push_back(work_area); 55 work_areas_.push_back(work_area);
55 } 56 }
56 57
57 // Overridden from WindowSizer::MonitorInfoProvider: 58 // Overridden from MonitorInfoProvider:
58 virtual gfx::Rect GetPrimaryMonitorWorkArea() const OVERRIDE { 59 virtual gfx::Rect GetPrimaryMonitorWorkArea() const OVERRIDE {
59 return work_areas_[0]; 60 return work_areas_[0];
60 } 61 }
61 62
62 virtual gfx::Rect GetPrimaryMonitorBounds() const OVERRIDE { 63 virtual gfx::Rect GetPrimaryMonitorBounds() const OVERRIDE {
63 return monitor_bounds_[0]; 64 return monitor_bounds_[0];
64 } 65 }
65 66
66 virtual gfx::Rect GetMonitorWorkAreaMatching( 67 virtual gfx::Rect GetMonitorWorkAreaMatching(
67 const gfx::Rect& match_rect) const OVERRIDE { 68 const gfx::Rect& match_rect) const OVERRIDE {
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after
829 830
830 { // entirely off bottom (monitor was detached since last run) 831 { // entirely off bottom (monitor was detached since last run)
831 gfx::Rect window_bounds; 832 gfx::Rect window_bounds;
832 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(), 833 GetWindowBounds(tentwentyfour, tentwentyfour, gfx::Rect(),
833 gfx::Rect(50, 800, 500, 400), bottom_nonprimary, 834 gfx::Rect(50, 800, 500, 400), bottom_nonprimary,
834 PERSISTED, &window_bounds); 835 PERSISTED, &window_bounds);
835 EXPECT_EQ(gfx::Rect(50, 368, 500, 400), window_bounds); 836 EXPECT_EQ(gfx::Rect(50, 368, 500, 400), window_bounds);
836 } 837 }
837 } 838 }
838 #endif //defined(OS_MACOSX) 839 #endif //defined(OS_MACOSX)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698