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

Side by Side Diff: ash/display/display_controller_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: fix new addition 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
« no previous file with comments | « ash/display/display_controller.cc ('k') | ash/display/mouse_cursor_event_filter.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/display/display_controller.h" 5 #include "ash/display/display_controller.h"
6 6
7 #include "ash/launcher/launcher.h" 7 #include "ash/launcher/launcher.h"
8 #include "ash/screen_ash.h" 8 #include "ash/screen_ash.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/test/ash_test_base.h" 10 #include "ash/test/ash_test_base.h"
(...skipping 29 matching lines...) Expand all
40 return c; 40 return c;
41 } 41 }
42 42
43 private: 43 private:
44 int count_; 44 int count_;
45 45
46 DISALLOW_COPY_AND_ASSIGN(TestObserver); 46 DISALLOW_COPY_AND_ASSIGN(TestObserver);
47 }; 47 };
48 48
49 gfx::Display GetPrimaryDisplay() { 49 gfx::Display GetPrimaryDisplay() {
50 return gfx::Screen::GetDisplayNearestWindow( 50 return Shell::GetScreen()->GetDisplayNearestWindow(
51 Shell::GetAllRootWindows()[0]); 51 Shell::GetAllRootWindows()[0]);
52 } 52 }
53 53
54 gfx::Display GetSecondaryDisplay() { 54 gfx::Display GetSecondaryDisplay() {
55 return gfx::Screen::GetDisplayNearestWindow( 55 return Shell::GetScreen()->GetDisplayNearestWindow(
56 Shell::GetAllRootWindows()[1]); 56 Shell::GetAllRootWindows()[1]);
57 } 57 }
58 58
59 void SetSecondaryDisplayLayout(DisplayLayout::Position position) { 59 void SetSecondaryDisplayLayout(DisplayLayout::Position position) {
60 DisplayController* display_controller = 60 DisplayController* display_controller =
61 Shell::GetInstance()->display_controller(); 61 Shell::GetInstance()->display_controller();
62 DisplayLayout layout = display_controller->default_display_layout(); 62 DisplayLayout layout = display_controller->default_display_layout();
63 layout.position = position; 63 layout.position = position;
64 display_controller->SetDefaultDisplayLayout(layout); 64 display_controller->SetDefaultDisplayLayout(layout);
65 } 65 }
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 139
140 UpdateDisplay("400x400,300x300"); 140 UpdateDisplay("400x400,300x300");
141 EXPECT_EQ(1, observer.CountAndReset()); 141 EXPECT_EQ(1, observer.CountAndReset());
142 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); 142 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString());
143 EXPECT_EQ("0,400 300x300", GetSecondaryDisplay().bounds().ToString()); 143 EXPECT_EQ("0,400 300x300", GetSecondaryDisplay().bounds().ToString());
144 EXPECT_EQ("5,405 290x290", GetSecondaryDisplay().work_area().ToString()); 144 EXPECT_EQ("5,405 290x290", GetSecondaryDisplay().work_area().ToString());
145 145
146 UpdateDisplay("400x400"); 146 UpdateDisplay("400x400");
147 EXPECT_EQ(1, observer.CountAndReset()); 147 EXPECT_EQ(1, observer.CountAndReset());
148 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); 148 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString());
149 EXPECT_EQ(1, gfx::Screen::GetNumDisplays()); 149 EXPECT_EQ(1, Shell::GetScreen()->GetNumDisplays());
150 150
151 UpdateDisplay("500x500,700x700"); 151 UpdateDisplay("500x500,700x700");
152 EXPECT_EQ(2, observer.CountAndReset()); 152 EXPECT_EQ(2, observer.CountAndReset());
153 ASSERT_EQ(2, gfx::Screen::GetNumDisplays()); 153 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays());
154 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 154 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
155 EXPECT_EQ("0,500 700x700", GetSecondaryDisplay().bounds().ToString()); 155 EXPECT_EQ("0,500 700x700", GetSecondaryDisplay().bounds().ToString());
156 } 156 }
157 157
158 TEST_F(DisplayControllerTest, InvertLayout) { 158 TEST_F(DisplayControllerTest, InvertLayout) {
159 EXPECT_EQ("left, 0", 159 EXPECT_EQ("left, 0",
160 DisplayLayout(DisplayLayout::RIGHT, 0).Invert().ToString()); 160 DisplayLayout(DisplayLayout::RIGHT, 0).Invert().ToString());
161 EXPECT_EQ("left, -100", 161 EXPECT_EQ("left, -100",
162 DisplayLayout(DisplayLayout::RIGHT, 100).Invert().ToString()); 162 DisplayLayout(DisplayLayout::RIGHT, 100).Invert().ToString());
163 EXPECT_EQ("left, 50", 163 EXPECT_EQ("left, 50",
(...skipping 19 matching lines...) Expand all
183 DisplayLayout(DisplayLayout::BOTTOM, 70).Invert().ToString()); 183 DisplayLayout(DisplayLayout::BOTTOM, 70).Invert().ToString());
184 EXPECT_EQ("top, 80", 184 EXPECT_EQ("top, 80",
185 DisplayLayout(DisplayLayout::BOTTOM, -80).Invert().ToString()); 185 DisplayLayout(DisplayLayout::BOTTOM, -80).Invert().ToString());
186 } 186 }
187 187
188 TEST_F(DisplayControllerTest, SwapPrimary) { 188 TEST_F(DisplayControllerTest, SwapPrimary) {
189 DisplayController* display_controller = 189 DisplayController* display_controller =
190 Shell::GetInstance()->display_controller(); 190 Shell::GetInstance()->display_controller();
191 191
192 UpdateDisplay("200x200,300x300"); 192 UpdateDisplay("200x200,300x300");
193 gfx::Display primary_display = gfx::Screen::GetPrimaryDisplay(); 193 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay();
194 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); 194 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay();
195 195
196 std::string secondary_name = aura::Env::GetInstance()-> 196 std::string secondary_name = aura::Env::GetInstance()->
197 display_manager()->GetDisplayNameFor(secondary_display); 197 display_manager()->GetDisplayNameFor(secondary_display);
198 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50); 198 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50);
199 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout); 199 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout);
200 200
201 EXPECT_NE(primary_display.id(), secondary_display.id()); 201 EXPECT_NE(primary_display.id(), secondary_display.id());
202 aura::RootWindow* primary_root = 202 aura::RootWindow* primary_root =
203 display_controller->GetRootWindowForDisplayId(primary_display.id()); 203 display_controller->GetRootWindowForDisplayId(primary_display.id());
204 aura::RootWindow* secondary_root = 204 aura::RootWindow* secondary_root =
205 display_controller->GetRootWindowForDisplayId(secondary_display.id()); 205 display_controller->GetRootWindowForDisplayId(secondary_display.id());
206 EXPECT_NE(primary_root, secondary_root); 206 EXPECT_NE(primary_root, secondary_root);
207 aura::Window* launcher_window = 207 aura::Window* launcher_window =
208 Shell::GetInstance()->launcher()->widget()->GetNativeView(); 208 Shell::GetInstance()->launcher()->widget()->GetNativeView();
209 EXPECT_TRUE(primary_root->Contains(launcher_window)); 209 EXPECT_TRUE(primary_root->Contains(launcher_window));
210 EXPECT_FALSE(secondary_root->Contains(launcher_window)); 210 EXPECT_FALSE(secondary_root->Contains(launcher_window));
211 EXPECT_EQ(primary_display.id(), 211 EXPECT_EQ(primary_display.id(),
212 gfx::Screen::GetDisplayNearestPoint(gfx::Point(-100, -100)).id()); 212 Shell::GetScreen()->GetDisplayNearestPoint(
213 gfx::Point(-100, -100)).id());
213 EXPECT_EQ(primary_display.id(), 214 EXPECT_EQ(primary_display.id(),
214 gfx::Screen::GetDisplayNearestWindow(NULL).id()); 215 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id());
215 216
216 // Switch primary and secondary 217 // Switch primary and secondary
217 display_controller->SetPrimaryDisplay(secondary_display); 218 display_controller->SetPrimaryDisplay(secondary_display);
218 EXPECT_EQ(secondary_display.id(), gfx::Screen::GetPrimaryDisplay().id()); 219 EXPECT_EQ(secondary_display.id(),
220 Shell::GetScreen()->GetPrimaryDisplay().id());
219 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); 221 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id());
220 EXPECT_EQ(secondary_display.id(), 222 EXPECT_EQ(secondary_display.id(),
221 gfx::Screen::GetDisplayNearestPoint(gfx::Point(-100, -100)).id()); 223 Shell::GetScreen()->GetDisplayNearestPoint(
224 gfx::Point(-100, -100)).id());
222 EXPECT_EQ(secondary_display.id(), 225 EXPECT_EQ(secondary_display.id(),
223 gfx::Screen::GetDisplayNearestWindow(NULL).id()); 226 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id());
224 227
225 EXPECT_EQ( 228 EXPECT_EQ(
226 primary_root, 229 primary_root,
227 display_controller->GetRootWindowForDisplayId(secondary_display.id())); 230 display_controller->GetRootWindowForDisplayId(secondary_display.id()));
228 EXPECT_EQ( 231 EXPECT_EQ(
229 secondary_root, 232 secondary_root,
230 display_controller->GetRootWindowForDisplayId(primary_display.id())); 233 display_controller->GetRootWindowForDisplayId(primary_display.id()));
231 EXPECT_TRUE(primary_root->Contains(launcher_window)); 234 EXPECT_TRUE(primary_root->Contains(launcher_window));
232 EXPECT_FALSE(secondary_root->Contains(launcher_window)); 235 EXPECT_FALSE(secondary_root->Contains(launcher_window));
233 236
234 const DisplayLayout& inverted_layout = 237 const DisplayLayout& inverted_layout =
235 display_controller->GetLayoutForDisplay(primary_display); 238 display_controller->GetLayoutForDisplay(primary_display);
236 239
237 EXPECT_EQ("left, -50", inverted_layout.ToString()); 240 EXPECT_EQ("left, -50", inverted_layout.ToString());
238 241
239 aura::WindowTracker tracker; 242 aura::WindowTracker tracker;
240 tracker.Add(primary_root); 243 tracker.Add(primary_root);
241 tracker.Add(secondary_root); 244 tracker.Add(secondary_root);
242 245
243 // Deleting 2nd display should move the primary to original primary display. 246 // Deleting 2nd display should move the primary to original primary display.
244 UpdateDisplay("200x200"); 247 UpdateDisplay("200x200");
245 RunAllPendingInMessageLoop(); // RootWindow is deleted in a posted task. 248 RunAllPendingInMessageLoop(); // RootWindow is deleted in a posted task.
246 EXPECT_EQ(1, gfx::Screen::GetNumDisplays()); 249 EXPECT_EQ(1, Shell::GetScreen()->GetNumDisplays());
247 EXPECT_EQ(primary_display.id(), gfx::Screen::GetPrimaryDisplay().id()); 250 EXPECT_EQ(primary_display.id(), Shell::GetScreen()->GetPrimaryDisplay().id());
248 EXPECT_EQ(primary_display.id(), 251 EXPECT_EQ(primary_display.id(),
249 gfx::Screen::GetDisplayNearestPoint(gfx::Point(-100, -100)).id()); 252 Shell::GetScreen()->GetDisplayNearestPoint(
253 gfx::Point(-100, -100)).id());
250 EXPECT_EQ(primary_display.id(), 254 EXPECT_EQ(primary_display.id(),
251 gfx::Screen::GetDisplayNearestWindow(NULL).id()); 255 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id());
252 EXPECT_TRUE(tracker.Contains(primary_root)); 256 EXPECT_TRUE(tracker.Contains(primary_root));
253 EXPECT_FALSE(tracker.Contains(secondary_root)); 257 EXPECT_FALSE(tracker.Contains(secondary_root));
254 EXPECT_TRUE(primary_root->Contains(launcher_window)); 258 EXPECT_TRUE(primary_root->Contains(launcher_window));
255 } 259 }
256 260
257 TEST_F(DisplayControllerTest, SwapPrimaryById) { 261 TEST_F(DisplayControllerTest, SwapPrimaryById) {
258 DisplayController* display_controller = 262 DisplayController* display_controller =
259 Shell::GetInstance()->display_controller(); 263 Shell::GetInstance()->display_controller();
260 264
261 UpdateDisplay("200x200,300x300"); 265 UpdateDisplay("200x200,300x300");
262 gfx::Display primary_display = gfx::Screen::GetPrimaryDisplay(); 266 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay();
263 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); 267 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay();
264 268
265 std::string secondary_name = aura::Env::GetInstance()-> 269 std::string secondary_name = aura::Env::GetInstance()->
266 display_manager()->GetDisplayNameFor(secondary_display); 270 display_manager()->GetDisplayNameFor(secondary_display);
267 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50); 271 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50);
268 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout); 272 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout);
269 273
270 EXPECT_NE(primary_display.id(), secondary_display.id()); 274 EXPECT_NE(primary_display.id(), secondary_display.id());
271 aura::RootWindow* primary_root = 275 aura::RootWindow* primary_root =
272 display_controller->GetRootWindowForDisplayId(primary_display.id()); 276 display_controller->GetRootWindowForDisplayId(primary_display.id());
273 aura::RootWindow* secondary_root = 277 aura::RootWindow* secondary_root =
274 display_controller->GetRootWindowForDisplayId(secondary_display.id()); 278 display_controller->GetRootWindowForDisplayId(secondary_display.id());
275 aura::Window* launcher_window = 279 aura::Window* launcher_window =
276 Shell::GetInstance()->launcher()->widget()->GetNativeView(); 280 Shell::GetInstance()->launcher()->widget()->GetNativeView();
277 EXPECT_TRUE(primary_root->Contains(launcher_window)); 281 EXPECT_TRUE(primary_root->Contains(launcher_window));
278 EXPECT_FALSE(secondary_root->Contains(launcher_window)); 282 EXPECT_FALSE(secondary_root->Contains(launcher_window));
279 EXPECT_NE(primary_root, secondary_root); 283 EXPECT_NE(primary_root, secondary_root);
280 EXPECT_EQ(primary_display.id(), 284 EXPECT_EQ(primary_display.id(),
281 gfx::Screen::GetDisplayNearestPoint(gfx::Point(-100, -100)).id()); 285 Shell::GetScreen()->GetDisplayNearestPoint(
286 gfx::Point(-100, -100)).id());
282 EXPECT_EQ(primary_display.id(), 287 EXPECT_EQ(primary_display.id(),
283 gfx::Screen::GetDisplayNearestWindow(NULL).id()); 288 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id());
284 289
285 // Switch primary and secondary by display ID. 290 // Switch primary and secondary by display ID.
286 TestObserver observer; 291 TestObserver observer;
287 display_controller->SetPrimaryDisplayId(secondary_display.id()); 292 display_controller->SetPrimaryDisplayId(secondary_display.id());
288 EXPECT_EQ(secondary_display.id(), gfx::Screen::GetPrimaryDisplay().id()); 293 EXPECT_EQ(secondary_display.id(),
294 Shell::GetScreen()->GetPrimaryDisplay().id());
289 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); 295 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id());
290 EXPECT_LT(0, observer.CountAndReset()); 296 EXPECT_LT(0, observer.CountAndReset());
291 297
292 EXPECT_EQ( 298 EXPECT_EQ(
293 primary_root, 299 primary_root,
294 display_controller->GetRootWindowForDisplayId(secondary_display.id())); 300 display_controller->GetRootWindowForDisplayId(secondary_display.id()));
295 EXPECT_EQ( 301 EXPECT_EQ(
296 secondary_root, 302 secondary_root,
297 display_controller->GetRootWindowForDisplayId(primary_display.id())); 303 display_controller->GetRootWindowForDisplayId(primary_display.id()));
298 EXPECT_TRUE(primary_root->Contains(launcher_window)); 304 EXPECT_TRUE(primary_root->Contains(launcher_window));
299 EXPECT_FALSE(secondary_root->Contains(launcher_window)); 305 EXPECT_FALSE(secondary_root->Contains(launcher_window));
300 306
301 const DisplayLayout& inverted_layout = 307 const DisplayLayout& inverted_layout =
302 display_controller->GetLayoutForDisplay(primary_display); 308 display_controller->GetLayoutForDisplay(primary_display);
303 309
304 EXPECT_EQ("left, -50", inverted_layout.ToString()); 310 EXPECT_EQ("left, -50", inverted_layout.ToString());
305 311
306 // Calling the same ID don't do anything. 312 // Calling the same ID don't do anything.
307 display_controller->SetPrimaryDisplayId(secondary_display.id()); 313 display_controller->SetPrimaryDisplayId(secondary_display.id());
308 EXPECT_EQ(0, observer.CountAndReset()); 314 EXPECT_EQ(0, observer.CountAndReset());
309 315
310 aura::WindowTracker tracker; 316 aura::WindowTracker tracker;
311 tracker.Add(primary_root); 317 tracker.Add(primary_root);
312 tracker.Add(secondary_root); 318 tracker.Add(secondary_root);
313 319
314 // Deleting 2nd display should move the primary to original primary display. 320 // Deleting 2nd display should move the primary to original primary display.
315 UpdateDisplay("200x200"); 321 UpdateDisplay("200x200");
316 RunAllPendingInMessageLoop(); // RootWindow is deleted in a posted task. 322 RunAllPendingInMessageLoop(); // RootWindow is deleted in a posted task.
317 EXPECT_EQ(1, gfx::Screen::GetNumDisplays()); 323 EXPECT_EQ(1, Shell::GetScreen()->GetNumDisplays());
318 EXPECT_EQ(primary_display.id(), gfx::Screen::GetPrimaryDisplay().id()); 324 EXPECT_EQ(primary_display.id(), Shell::GetScreen()->GetPrimaryDisplay().id());
319 EXPECT_EQ(primary_display.id(), 325 EXPECT_EQ(primary_display.id(),
320 gfx::Screen::GetDisplayNearestPoint(gfx::Point(-100, -100)).id()); 326 Shell::GetScreen()->GetDisplayNearestPoint(
327 gfx::Point(-100, -100)).id());
321 EXPECT_EQ(primary_display.id(), 328 EXPECT_EQ(primary_display.id(),
322 gfx::Screen::GetDisplayNearestWindow(NULL).id()); 329 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id());
323 EXPECT_TRUE(tracker.Contains(primary_root)); 330 EXPECT_TRUE(tracker.Contains(primary_root));
324 EXPECT_FALSE(tracker.Contains(secondary_root)); 331 EXPECT_FALSE(tracker.Contains(secondary_root));
325 EXPECT_TRUE(primary_root->Contains(launcher_window)); 332 EXPECT_TRUE(primary_root->Contains(launcher_window));
326 333
327 // Adding 2nd display with the same ID. The 2nd display should become primary 334 // Adding 2nd display with the same ID. The 2nd display should become primary
328 // since secondary id is still stored as desirable_primary_id. 335 // since secondary id is still stored as desirable_primary_id.
329 std::vector<gfx::Display> displays; 336 std::vector<gfx::Display> displays;
330 displays.push_back(primary_display); 337 displays.push_back(primary_display);
331 displays.push_back(secondary_display); 338 displays.push_back(secondary_display);
332 aura::DisplayManager* display_manager = 339 aura::DisplayManager* display_manager =
333 aura::Env::GetInstance()->display_manager(); 340 aura::Env::GetInstance()->display_manager();
334 display_manager->OnNativeDisplaysChanged(displays); 341 display_manager->OnNativeDisplaysChanged(displays);
335 342
336 EXPECT_EQ(2, gfx::Screen::GetNumDisplays()); 343 EXPECT_EQ(2, Shell::GetScreen()->GetNumDisplays());
337 EXPECT_EQ(secondary_display.id(), gfx::Screen::GetPrimaryDisplay().id()); 344 EXPECT_EQ(secondary_display.id(),
345 Shell::GetScreen()->GetPrimaryDisplay().id());
338 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); 346 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id());
339 EXPECT_EQ( 347 EXPECT_EQ(
340 primary_root, 348 primary_root,
341 display_controller->GetRootWindowForDisplayId(secondary_display.id())); 349 display_controller->GetRootWindowForDisplayId(secondary_display.id()));
342 EXPECT_NE( 350 EXPECT_NE(
343 primary_root, 351 primary_root,
344 display_controller->GetRootWindowForDisplayId(primary_display.id())); 352 display_controller->GetRootWindowForDisplayId(primary_display.id()));
345 EXPECT_TRUE(primary_root->Contains(launcher_window)); 353 EXPECT_TRUE(primary_root->Contains(launcher_window));
346 354
347 // Deleting 2nd display and adding 2nd display with a different ID. The 2nd 355 // Deleting 2nd display and adding 2nd display with a different ID. The 2nd
348 // display shouldn't become primary. 356 // display shouldn't become primary.
349 UpdateDisplay("200x200"); 357 UpdateDisplay("200x200");
350 std::vector<gfx::Display> displays2; 358 std::vector<gfx::Display> displays2;
351 gfx::Display third_display( 359 gfx::Display third_display(
352 secondary_display.id() + 1, secondary_display.bounds()); 360 secondary_display.id() + 1, secondary_display.bounds());
353 ASSERT_NE(primary_display.id(), third_display.id()); 361 ASSERT_NE(primary_display.id(), third_display.id());
354 displays2.push_back(primary_display); 362 displays2.push_back(primary_display);
355 displays2.push_back(third_display); 363 displays2.push_back(third_display);
356 display_manager->OnNativeDisplaysChanged(displays2); 364 display_manager->OnNativeDisplaysChanged(displays2);
357 EXPECT_EQ(2, gfx::Screen::GetNumDisplays()); 365 EXPECT_EQ(2, Shell::GetScreen()->GetNumDisplays());
358 EXPECT_EQ(primary_display.id(), gfx::Screen::GetPrimaryDisplay().id()); 366 EXPECT_EQ(primary_display.id(),
367 Shell::GetScreen()->GetPrimaryDisplay().id());
359 EXPECT_EQ(third_display.id(), ScreenAsh::GetSecondaryDisplay().id()); 368 EXPECT_EQ(third_display.id(), ScreenAsh::GetSecondaryDisplay().id());
360 EXPECT_EQ( 369 EXPECT_EQ(
361 primary_root, 370 primary_root,
362 display_controller->GetRootWindowForDisplayId(primary_display.id())); 371 display_controller->GetRootWindowForDisplayId(primary_display.id()));
363 EXPECT_NE( 372 EXPECT_NE(
364 primary_root, 373 primary_root,
365 display_controller->GetRootWindowForDisplayId(third_display.id())); 374 display_controller->GetRootWindowForDisplayId(third_display.id()));
366 EXPECT_TRUE(primary_root->Contains(launcher_window)); 375 EXPECT_TRUE(primary_root->Contains(launcher_window));
367 } 376 }
368 377
369 TEST_F(DisplayControllerTest, MAYBE_UpdateDisplayWithHostOrigin) { 378 TEST_F(DisplayControllerTest, MAYBE_UpdateDisplayWithHostOrigin) {
370 UpdateDisplay("100x200,300x400"); 379 UpdateDisplay("100x200,300x400");
371 ASSERT_EQ(2, gfx::Screen::GetNumDisplays()); 380 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays());
372 Shell::RootWindowList root_windows = 381 Shell::RootWindowList root_windows =
373 Shell::GetInstance()->GetAllRootWindows(); 382 Shell::GetInstance()->GetAllRootWindows();
374 ASSERT_EQ(2U, root_windows.size()); 383 ASSERT_EQ(2U, root_windows.size());
375 EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString()); 384 EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString());
376 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString()); 385 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
377 // UpdateDisplay set the origin if it's not set. 386 // UpdateDisplay set the origin if it's not set.
378 EXPECT_NE("0,0", root_windows[1]->GetHostOrigin().ToString()); 387 EXPECT_NE("0,0", root_windows[1]->GetHostOrigin().ToString());
379 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString()); 388 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
380 389
381 UpdateDisplay("100x200,200+300-300x400"); 390 UpdateDisplay("100x200,200+300-300x400");
382 ASSERT_EQ(2, gfx::Screen::GetNumDisplays()); 391 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays());
383 EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString()); 392 EXPECT_EQ("0,0", root_windows[0]->GetHostOrigin().ToString());
384 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString()); 393 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
385 EXPECT_EQ("200,300", root_windows[1]->GetHostOrigin().ToString()); 394 EXPECT_EQ("200,300", root_windows[1]->GetHostOrigin().ToString());
386 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString()); 395 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
387 396
388 UpdateDisplay("400+500-200x300,300x400"); 397 UpdateDisplay("400+500-200x300,300x400");
389 ASSERT_EQ(2, gfx::Screen::GetNumDisplays()); 398 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays());
390 EXPECT_EQ("400,500", root_windows[0]->GetHostOrigin().ToString()); 399 EXPECT_EQ("400,500", root_windows[0]->GetHostOrigin().ToString());
391 EXPECT_EQ("200x300", root_windows[0]->GetHostSize().ToString()); 400 EXPECT_EQ("200x300", root_windows[0]->GetHostSize().ToString());
392 EXPECT_EQ("0,0", root_windows[1]->GetHostOrigin().ToString()); 401 EXPECT_EQ("0,0", root_windows[1]->GetHostOrigin().ToString());
393 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString()); 402 EXPECT_EQ("300x400", root_windows[1]->GetHostSize().ToString());
394 403
395 UpdateDisplay("100+200-100x200,300+500-200x300"); 404 UpdateDisplay("100+200-100x200,300+500-200x300");
396 ASSERT_EQ(2, gfx::Screen::GetNumDisplays()); 405 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays());
397 EXPECT_EQ("100,200", root_windows[0]->GetHostOrigin().ToString()); 406 EXPECT_EQ("100,200", root_windows[0]->GetHostOrigin().ToString());
398 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString()); 407 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
399 EXPECT_EQ("300,500", root_windows[1]->GetHostOrigin().ToString()); 408 EXPECT_EQ("300,500", root_windows[1]->GetHostOrigin().ToString());
400 EXPECT_EQ("200x300", root_windows[1]->GetHostSize().ToString()); 409 EXPECT_EQ("200x300", root_windows[1]->GetHostSize().ToString());
401 } 410 }
402 411
403 } // namespace test 412 } // namespace test
404 } // namespace ash 413 } // namespace ash
OLDNEW
« no previous file with comments | « ash/display/display_controller.cc ('k') | ash/display/mouse_cursor_event_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698