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

Side by Side Diff: ash/display/display_controller_unittest.cc

Issue 11363124: Move DisplayManager and DisplayChangeObserverX11 from aura to ash. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ios fix Created 8 years, 1 month 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/display/display_controller.h" 5 #include "ash/display/display_controller.h"
6 6
7 #include "ash/display/display_manager.h"
7 #include "ash/launcher/launcher.h" 8 #include "ash/launcher/launcher.h"
8 #include "ash/screen_ash.h" 9 #include "ash/screen_ash.h"
9 #include "ash/shell.h" 10 #include "ash/shell.h"
10 #include "ash/test/ash_test_base.h" 11 #include "ash/test/ash_test_base.h"
11 #include "ash/test/cursor_manager_test_api.h" 12 #include "ash/test/cursor_manager_test_api.h"
12 #include "ui/aura/display_manager.h"
13 #include "ui/aura/env.h" 13 #include "ui/aura/env.h"
14 #include "ui/aura/root_window.h" 14 #include "ui/aura/root_window.h"
15 #include "ui/aura/window_tracker.h" 15 #include "ui/aura/window_tracker.h"
16 #include "ui/gfx/display.h" 16 #include "ui/gfx/display.h"
17 #include "ui/gfx/screen.h" 17 #include "ui/gfx/screen.h"
18 #include "ui/views/widget/widget.h" 18 #include "ui/views/widget/widget.h"
19 19
20 namespace ash { 20 namespace ash {
21 namespace test { 21 namespace test {
22 namespace { 22 namespace {
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 #define MAYBE_SecondaryDisplayLayout SecondaryDisplayLayout 85 #define MAYBE_SecondaryDisplayLayout SecondaryDisplayLayout
86 #define MAYBE_BoundsUpdated BoundsUpdated 86 #define MAYBE_BoundsUpdated BoundsUpdated
87 #define MAYBE_UpdateDisplayWithHostOrigin UpdateDisplayWithHostOrigin 87 #define MAYBE_UpdateDisplayWithHostOrigin UpdateDisplayWithHostOrigin
88 #endif 88 #endif
89 89
90 TEST_F(DisplayControllerTest, MAYBE_SecondaryDisplayLayout) { 90 TEST_F(DisplayControllerTest, MAYBE_SecondaryDisplayLayout) {
91 TestObserver observer; 91 TestObserver observer;
92 UpdateDisplay("500x500,400x400"); 92 UpdateDisplay("500x500,400x400");
93 EXPECT_EQ(2, observer.CountAndReset()); // resize and add 93 EXPECT_EQ(2, observer.CountAndReset()); // resize and add
94 gfx::Display* secondary_display = 94 gfx::Display* secondary_display =
95 aura::Env::GetInstance()->display_manager()->GetDisplayAt(1); 95 Shell::GetInstance()->display_manager()->GetDisplayAt(1);
96 gfx::Insets insets(5, 5, 5, 5); 96 gfx::Insets insets(5, 5, 5, 5);
97 secondary_display->UpdateWorkAreaFromInsets(insets); 97 secondary_display->UpdateWorkAreaFromInsets(insets);
98 98
99 // Default layout is RIGHT. 99 // Default layout is RIGHT.
100 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString()); 100 EXPECT_EQ("0,0 500x500", GetPrimaryDisplay().bounds().ToString());
101 EXPECT_EQ("500,0 400x400", GetSecondaryDisplay().bounds().ToString()); 101 EXPECT_EQ("500,0 400x400", GetSecondaryDisplay().bounds().ToString());
102 EXPECT_EQ("505,5 390x390", GetSecondaryDisplay().work_area().ToString()); 102 EXPECT_EQ("505,5 390x390", GetSecondaryDisplay().work_area().ToString());
103 103
104 // Layout the secondary display to the bottom of the primary. 104 // Layout the secondary display to the bottom of the primary.
105 SetSecondaryDisplayLayout(DisplayLayout::BOTTOM); 105 SetSecondaryDisplayLayout(DisplayLayout::BOTTOM);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 158
159 } 159 }
160 160
161 TEST_F(DisplayControllerTest, MAYBE_BoundsUpdated) { 161 TEST_F(DisplayControllerTest, MAYBE_BoundsUpdated) {
162 TestObserver observer; 162 TestObserver observer;
163 SetSecondaryDisplayLayout(DisplayLayout::BOTTOM); 163 SetSecondaryDisplayLayout(DisplayLayout::BOTTOM);
164 UpdateDisplay("200x200,300x300"); // layout, resize and add. 164 UpdateDisplay("200x200,300x300"); // layout, resize and add.
165 EXPECT_EQ(3, observer.CountAndReset()); 165 EXPECT_EQ(3, observer.CountAndReset());
166 166
167 gfx::Display* secondary_display = 167 gfx::Display* secondary_display =
168 aura::Env::GetInstance()->display_manager()->GetDisplayAt(1); 168 Shell::GetInstance()->display_manager()->GetDisplayAt(1);
169 gfx::Insets insets(5, 5, 5, 5); 169 gfx::Insets insets(5, 5, 5, 5);
170 secondary_display->UpdateWorkAreaFromInsets(insets); 170 secondary_display->UpdateWorkAreaFromInsets(insets);
171 171
172 EXPECT_EQ("0,0 200x200", GetPrimaryDisplay().bounds().ToString()); 172 EXPECT_EQ("0,0 200x200", GetPrimaryDisplay().bounds().ToString());
173 EXPECT_EQ("0,200 300x300", GetSecondaryDisplay().bounds().ToString()); 173 EXPECT_EQ("0,200 300x300", GetSecondaryDisplay().bounds().ToString());
174 EXPECT_EQ("5,205 290x290", GetSecondaryDisplay().work_area().ToString()); 174 EXPECT_EQ("5,205 290x290", GetSecondaryDisplay().work_area().ToString());
175 175
176 UpdateDisplay("400x400,200x200"); 176 UpdateDisplay("400x400,200x200");
177 EXPECT_EQ(2, observer.CountAndReset()); // two resizes 177 EXPECT_EQ(2, observer.CountAndReset()); // two resizes
178 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString()); 178 EXPECT_EQ("0,0 400x400", GetPrimaryDisplay().bounds().ToString());
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 } 228 }
229 229
230 TEST_F(DisplayControllerTest, SwapPrimary) { 230 TEST_F(DisplayControllerTest, SwapPrimary) {
231 DisplayController* display_controller = 231 DisplayController* display_controller =
232 Shell::GetInstance()->display_controller(); 232 Shell::GetInstance()->display_controller();
233 233
234 UpdateDisplay("200x200,300x300"); 234 UpdateDisplay("200x200,300x300");
235 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); 235 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay();
236 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); 236 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay();
237 237
238 std::string secondary_name = aura::Env::GetInstance()-> 238 std::string secondary_name = Shell::GetInstance()->
239 display_manager()->GetDisplayNameFor(secondary_display); 239 display_manager()->GetDisplayNameFor(secondary_display);
240 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50); 240 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50);
241 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout); 241 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout);
242 242
243 EXPECT_NE(primary_display.id(), secondary_display.id()); 243 EXPECT_NE(primary_display.id(), secondary_display.id());
244 aura::RootWindow* primary_root = 244 aura::RootWindow* primary_root =
245 display_controller->GetRootWindowForDisplayId(primary_display.id()); 245 display_controller->GetRootWindowForDisplayId(primary_display.id());
246 aura::RootWindow* secondary_root = 246 aura::RootWindow* secondary_root =
247 display_controller->GetRootWindowForDisplayId(secondary_display.id()); 247 display_controller->GetRootWindowForDisplayId(secondary_display.id());
248 EXPECT_NE(primary_root, secondary_root); 248 EXPECT_NE(primary_root, secondary_root);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 } 318 }
319 319
320 TEST_F(DisplayControllerTest, SwapPrimaryById) { 320 TEST_F(DisplayControllerTest, SwapPrimaryById) {
321 DisplayController* display_controller = 321 DisplayController* display_controller =
322 Shell::GetInstance()->display_controller(); 322 Shell::GetInstance()->display_controller();
323 323
324 UpdateDisplay("200x200,300x300"); 324 UpdateDisplay("200x200,300x300");
325 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay(); 325 gfx::Display primary_display = Shell::GetScreen()->GetPrimaryDisplay();
326 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay(); 326 gfx::Display secondary_display = ScreenAsh::GetSecondaryDisplay();
327 327
328 std::string secondary_name = aura::Env::GetInstance()-> 328 std::string secondary_name = Shell::GetInstance()->
329 display_manager()->GetDisplayNameFor(secondary_display); 329 display_manager()->GetDisplayNameFor(secondary_display);
330 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50); 330 DisplayLayout secondary_layout(DisplayLayout::RIGHT, 50);
331 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout); 331 display_controller->SetLayoutForDisplayName(secondary_name, secondary_layout);
332 332
333 EXPECT_NE(primary_display.id(), secondary_display.id()); 333 EXPECT_NE(primary_display.id(), secondary_display.id());
334 aura::RootWindow* primary_root = 334 aura::RootWindow* primary_root =
335 display_controller->GetRootWindowForDisplayId(primary_display.id()); 335 display_controller->GetRootWindowForDisplayId(primary_display.id());
336 aura::RootWindow* secondary_root = 336 aura::RootWindow* secondary_root =
337 display_controller->GetRootWindowForDisplayId(secondary_display.id()); 337 display_controller->GetRootWindowForDisplayId(secondary_display.id());
338 aura::Window* launcher_window = 338 aura::Window* launcher_window =
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id()); 388 Shell::GetScreen()->GetDisplayNearestWindow(NULL).id());
389 EXPECT_TRUE(tracker.Contains(primary_root)); 389 EXPECT_TRUE(tracker.Contains(primary_root));
390 EXPECT_FALSE(tracker.Contains(secondary_root)); 390 EXPECT_FALSE(tracker.Contains(secondary_root));
391 EXPECT_TRUE(primary_root->Contains(launcher_window)); 391 EXPECT_TRUE(primary_root->Contains(launcher_window));
392 392
393 // Adding 2nd display with the same ID. The 2nd display should become primary 393 // Adding 2nd display with the same ID. The 2nd display should become primary
394 // since secondary id is still stored as desirable_primary_id. 394 // since secondary id is still stored as desirable_primary_id.
395 std::vector<gfx::Display> displays; 395 std::vector<gfx::Display> displays;
396 displays.push_back(primary_display); 396 displays.push_back(primary_display);
397 displays.push_back(secondary_display); 397 displays.push_back(secondary_display);
398 aura::DisplayManager* display_manager = 398 internal::DisplayManager* display_manager =
399 aura::Env::GetInstance()->display_manager(); 399 Shell::GetInstance()->display_manager();
400 display_manager->OnNativeDisplaysChanged(displays); 400 display_manager->OnNativeDisplaysChanged(displays);
401 401
402 EXPECT_EQ(2, Shell::GetScreen()->GetNumDisplays()); 402 EXPECT_EQ(2, Shell::GetScreen()->GetNumDisplays());
403 EXPECT_EQ(secondary_display.id(), 403 EXPECT_EQ(secondary_display.id(),
404 Shell::GetScreen()->GetPrimaryDisplay().id()); 404 Shell::GetScreen()->GetPrimaryDisplay().id());
405 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id()); 405 EXPECT_EQ(primary_display.id(), ScreenAsh::GetSecondaryDisplay().id());
406 EXPECT_EQ( 406 EXPECT_EQ(
407 primary_root, 407 primary_root,
408 display_controller->GetRootWindowForDisplayId(secondary_display.id())); 408 display_controller->GetRootWindowForDisplayId(secondary_display.id()));
409 EXPECT_NE( 409 EXPECT_NE(
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 UpdateDisplay("100+200-100x200,300+500-200x300"); 515 UpdateDisplay("100+200-100x200,300+500-200x300");
516 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays()); 516 ASSERT_EQ(2, Shell::GetScreen()->GetNumDisplays());
517 EXPECT_EQ("100,200", root_windows[0]->GetHostOrigin().ToString()); 517 EXPECT_EQ("100,200", root_windows[0]->GetHostOrigin().ToString());
518 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString()); 518 EXPECT_EQ("100x200", root_windows[0]->GetHostSize().ToString());
519 EXPECT_EQ("300,500", root_windows[1]->GetHostOrigin().ToString()); 519 EXPECT_EQ("300,500", root_windows[1]->GetHostOrigin().ToString());
520 EXPECT_EQ("200x300", root_windows[1]->GetHostSize().ToString()); 520 EXPECT_EQ("200x300", root_windows[1]->GetHostSize().ToString());
521 } 521 }
522 522
523 } // namespace test 523 } // namespace test
524 } // namespace ash 524 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698