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

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

Issue 11030017: Add context to gfx::Screen calls in support of simultaneous desktop+ash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: win fix Created 8 years, 2 months 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) 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/base_layout_manager.h" 5 #include "ash/wm/base_layout_manager.h"
6 6
7 #include "ash/screen_ash.h" 7 #include "ash/screen_ash.h"
8 #include "ash/shell.h" 8 #include "ash/shell.h"
9 #include "ash/shell_window_ids.h" 9 #include "ash/shell_window_ids.h"
10 #include "ash/test/ash_test_base.h" 10 #include "ash/test/ash_test_base.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 ScreenAsh::GetMaximizedWindowBoundsInParent(window.get()).ToString()); 94 ScreenAsh::GetMaximizedWindowBoundsInParent(window.get()).ToString());
95 } 95 }
96 96
97 // Tests normal->fullscreen->normal. 97 // Tests normal->fullscreen->normal.
98 TEST_F(BaseLayoutManagerTest, Fullscreen) { 98 TEST_F(BaseLayoutManagerTest, Fullscreen) {
99 gfx::Rect bounds(100, 100, 200, 200); 99 gfx::Rect bounds(100, 100, 200, 200);
100 scoped_ptr<aura::Window> window(CreateTestWindow(bounds)); 100 scoped_ptr<aura::Window> window(CreateTestWindow(bounds));
101 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_FULLSCREEN); 101 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_FULLSCREEN);
102 // Fullscreen window fills the whole display. 102 // Fullscreen window fills the whole display.
103 EXPECT_EQ( 103 EXPECT_EQ(
104 gfx::Screen::GetDisplayNearestWindow(window.get()).bounds().ToString(), 104 ash::Shell::GetAshScreen()->GetDisplayNearestWindow(
105 window.get()).bounds().ToString(),
105 window->bounds().ToString()); 106 window->bounds().ToString());
106 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL); 107 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL);
107 EXPECT_EQ(bounds.ToString(), window->bounds().ToString()); 108 EXPECT_EQ(bounds.ToString(), window->bounds().ToString());
108 } 109 }
109 110
110 // Tests fullscreen window size during root window resize. 111 // Tests fullscreen window size during root window resize.
111 TEST_F(BaseLayoutManagerTest, FullscreenRootWindowResize) { 112 TEST_F(BaseLayoutManagerTest, FullscreenRootWindowResize) {
112 gfx::Rect bounds(100, 100, 200, 200); 113 gfx::Rect bounds(100, 100, 200, 200);
113 scoped_ptr<aura::Window> window(CreateTestWindow(bounds)); 114 scoped_ptr<aura::Window> window(CreateTestWindow(bounds));
114 // Fullscreen window fills the whole display. 115 // Fullscreen window fills the whole display.
115 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_FULLSCREEN); 116 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_FULLSCREEN);
116 EXPECT_EQ( 117 EXPECT_EQ(
117 gfx::Screen::GetDisplayNearestWindow(window.get()).bounds().ToString(), 118 ash::Shell::GetAshScreen()->GetDisplayNearestWindow(
119 window.get()).bounds().ToString(),
118 window->bounds().ToString()); 120 window->bounds().ToString());
119 // Enlarge the root window. We should still match the display size. 121 // Enlarge the root window. We should still match the display size.
120 Shell::GetPrimaryRootWindow()->SetHostSize(gfx::Size(800, 600)); 122 Shell::GetPrimaryRootWindow()->SetHostSize(gfx::Size(800, 600));
121 EXPECT_EQ( 123 EXPECT_EQ(
122 gfx::Screen::GetDisplayNearestWindow(window.get()).bounds().ToString(), 124 ash::Shell::GetAshScreen()->GetDisplayNearestWindow(
125 window.get()).bounds().ToString(),
123 window->bounds().ToString()); 126 window->bounds().ToString());
124 } 127 }
125 128
126 // Fails on Mac only. Need to be implemented. http://crbug.com/111279. 129 // Fails on Mac only. Need to be implemented. http://crbug.com/111279.
127 #if defined(OS_MACOSX) 130 #if defined(OS_MACOSX)
128 #define MAYBE_RootWindowResizeShrinksWindows \ 131 #define MAYBE_RootWindowResizeShrinksWindows \
129 FAILS_RootWindowResizeShrinksWindows 132 FAILS_RootWindowResizeShrinksWindows
130 #else 133 #else
131 #define MAYBE_RootWindowResizeShrinksWindows RootWindowResizeShrinksWindows 134 #define MAYBE_RootWindowResizeShrinksWindows RootWindowResizeShrinksWindows
132 #endif 135 #endif
133 // Tests that when the screen gets smaller the windows aren't bigger than 136 // Tests that when the screen gets smaller the windows aren't bigger than
134 // the screen. 137 // the screen.
135 TEST_F(BaseLayoutManagerTest, MAYBE_RootWindowResizeShrinksWindows) { 138 TEST_F(BaseLayoutManagerTest, MAYBE_RootWindowResizeShrinksWindows) {
136 scoped_ptr<aura::Window> window( 139 scoped_ptr<aura::Window> window(
137 CreateTestWindow(gfx::Rect(10, 20, 500, 400))); 140 CreateTestWindow(gfx::Rect(10, 20, 500, 400)));
138 gfx::Rect work_area = 141 gfx::Rect work_area = ash::Shell::GetAshScreen()->
139 gfx::Screen::GetDisplayNearestWindow(window.get()).work_area(); 142 GetDisplayNearestWindow(window.get()).work_area();
140 // Invariant: Window is smaller than work area. 143 // Invariant: Window is smaller than work area.
141 EXPECT_LE(window->bounds().width(), work_area.width()); 144 EXPECT_LE(window->bounds().width(), work_area.width());
142 EXPECT_LE(window->bounds().height(), work_area.height()); 145 EXPECT_LE(window->bounds().height(), work_area.height());
143 146
144 // Make the root window narrower than our window. 147 // Make the root window narrower than our window.
145 Shell::GetPrimaryRootWindow()->SetHostSize(gfx::Size(300, 400)); 148 Shell::GetPrimaryRootWindow()->SetHostSize(gfx::Size(300, 400));
146 work_area = gfx::Screen::GetDisplayNearestWindow(window.get()).work_area(); 149 work_area = ash::Shell::GetAshScreen()->
150 GetDisplayNearestWindow(window.get()).work_area();
147 EXPECT_LE(window->bounds().width(), work_area.width()); 151 EXPECT_LE(window->bounds().width(), work_area.width());
148 EXPECT_LE(window->bounds().height(), work_area.height()); 152 EXPECT_LE(window->bounds().height(), work_area.height());
149 153
150 // Make the root window shorter than our window. 154 // Make the root window shorter than our window.
151 Shell::GetPrimaryRootWindow()->SetHostSize(gfx::Size(300, 200)); 155 Shell::GetPrimaryRootWindow()->SetHostSize(gfx::Size(300, 200));
152 work_area = gfx::Screen::GetDisplayNearestWindow(window.get()).work_area(); 156 work_area = ash::Shell::GetAshScreen()->
157 GetDisplayNearestWindow(window.get()).work_area();
153 EXPECT_LE(window->bounds().width(), work_area.width()); 158 EXPECT_LE(window->bounds().width(), work_area.width());
154 EXPECT_LE(window->bounds().height(), work_area.height()); 159 EXPECT_LE(window->bounds().height(), work_area.height());
155 160
156 // Enlarging the root window does not change the window bounds. 161 // Enlarging the root window does not change the window bounds.
157 gfx::Rect old_bounds = window->bounds(); 162 gfx::Rect old_bounds = window->bounds();
158 Shell::GetPrimaryRootWindow()->SetHostSize(gfx::Size(800, 600)); 163 Shell::GetPrimaryRootWindow()->SetHostSize(gfx::Size(800, 600));
159 EXPECT_EQ(old_bounds.width(), window->bounds().width()); 164 EXPECT_EQ(old_bounds.width(), window->bounds().width());
160 EXPECT_EQ(old_bounds.height(), window->bounds().height()); 165 EXPECT_EQ(old_bounds.height(), window->bounds().height());
161 } 166 }
162 167
163 // Tests that a maximized window with too-large restore bounds will be restored 168 // Tests that a maximized window with too-large restore bounds will be restored
164 // to smaller than the full work area. 169 // to smaller than the full work area.
165 TEST_F(BaseLayoutManagerTest, BoundsWithScreenEdgeVisible) { 170 TEST_F(BaseLayoutManagerTest, BoundsWithScreenEdgeVisible) {
166 // Create a window with bounds that fill the screen. 171 // Create a window with bounds that fill the screen.
167 gfx::Rect bounds = gfx::Screen::GetPrimaryDisplay().bounds(); 172 gfx::Rect bounds = ash::Shell::GetAshScreen()->GetPrimaryDisplay().bounds();
168 scoped_ptr<aura::Window> window(CreateTestWindow(bounds)); 173 scoped_ptr<aura::Window> window(CreateTestWindow(bounds));
169 // Maximize it, which writes the old bounds to restore bounds. 174 // Maximize it, which writes the old bounds to restore bounds.
170 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED); 175 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_MAXIMIZED);
171 // Restore it. 176 // Restore it.
172 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL); 177 window->SetProperty(aura::client::kShowStateKey, ui::SHOW_STATE_NORMAL);
173 // It should have the default maximized window bounds, inset by the grid size. 178 // It should have the default maximized window bounds, inset by the grid size.
174 int grid_size = internal::WorkspaceWindowResizer::kScreenEdgeInset; 179 int grid_size = internal::WorkspaceWindowResizer::kScreenEdgeInset;
175 gfx::Rect max_bounds = 180 gfx::Rect max_bounds =
176 ash::ScreenAsh::GetMaximizedWindowBoundsInParent(window.get()); 181 ash::ScreenAsh::GetMaximizedWindowBoundsInParent(window.get());
177 max_bounds.Inset(grid_size, grid_size); 182 max_bounds.Inset(grid_size, grid_size);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 GetRestoreBoundsInParent(window.get()).ToString()); 232 GetRestoreBoundsInParent(window.get()).ToString());
228 EXPECT_TRUE(wm::IsWindowMaximized(window.get())); 233 EXPECT_TRUE(wm::IsWindowMaximized(window.get()));
229 234
230 wm::RestoreWindow(window.get()); 235 wm::RestoreWindow(window.get());
231 EXPECT_EQ(bounds.ToString(), window->bounds().ToString()); 236 EXPECT_EQ(bounds.ToString(), window->bounds().ToString());
232 } 237 }
233 238
234 } // namespace 239 } // namespace
235 240
236 } // namespace ash 241 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698