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

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

Issue 1540753002: Switch to standard integer types in ash/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: arraysize Created 5 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
« no previous file with comments | « ash/display/display_manager.cc ('k') | ash/display/display_util.h » ('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_manager.h" 5 #include "ash/display/display_manager.h"
6 6
7 #include "ash/accelerators/accelerator_commands.h" 7 #include "ash/accelerators/accelerator_commands.h"
8 #include "ash/ash_switches.h" 8 #include "ash/ash_switches.h"
9 #include "ash/display/display_info.h" 9 #include "ash/display/display_info.h"
10 #include "ash/display/display_layout_store.h" 10 #include "ash/display/display_layout_store.h"
(...skipping 23 matching lines...) Expand all
34 34
35 namespace ash { 35 namespace ash {
36 36
37 using std::vector; 37 using std::vector;
38 using std::string; 38 using std::string;
39 39
40 using base::StringPrintf; 40 using base::StringPrintf;
41 41
42 namespace { 42 namespace {
43 43
44 std::string ToDisplayName(int64 id) { 44 std::string ToDisplayName(int64_t id) {
45 return "x-" + base::Int64ToString(id); 45 return "x-" + base::Int64ToString(id);
46 } 46 }
47 47
48 } // namespace 48 } // namespace
49 49
50 class DisplayManagerTest : public test::AshTestBase, 50 class DisplayManagerTest : public test::AshTestBase,
51 public gfx::DisplayObserver, 51 public gfx::DisplayObserver,
52 public aura::WindowObserver { 52 public aura::WindowObserver {
53 public: 53 public:
54 DisplayManagerTest() 54 DisplayManagerTest()
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 } 94 }
95 95
96 const DisplayInfo& GetDisplayInfo(const gfx::Display& display) { 96 const DisplayInfo& GetDisplayInfo(const gfx::Display& display) {
97 return display_manager()->GetDisplayInfo(display.id()); 97 return display_manager()->GetDisplayInfo(display.id());
98 } 98 }
99 99
100 const DisplayInfo& GetDisplayInfoAt(int index) { 100 const DisplayInfo& GetDisplayInfoAt(int index) {
101 return GetDisplayInfo(display_manager()->GetDisplayAt(index)); 101 return GetDisplayInfo(display_manager()->GetDisplayAt(index));
102 } 102 }
103 103
104 const gfx::Display& GetDisplayForId(int64 id) { 104 const gfx::Display& GetDisplayForId(int64_t id) {
105 return display_manager()->GetDisplayForId(id); 105 return display_manager()->GetDisplayForId(id);
106 } 106 }
107 107
108 const DisplayInfo& GetDisplayInfoForId(int64 id) { 108 const DisplayInfo& GetDisplayInfoForId(int64_t id) {
109 return GetDisplayInfo(display_manager()->GetDisplayForId(id)); 109 return GetDisplayInfo(display_manager()->GetDisplayForId(id));
110 } 110 }
111 111
112 // aura::DisplayObserver overrides: 112 // aura::DisplayObserver overrides:
113 void OnDisplayMetricsChanged(const gfx::Display& display, 113 void OnDisplayMetricsChanged(const gfx::Display& display,
114 uint32_t changed_metrics) override { 114 uint32_t changed_metrics) override {
115 changed_.push_back(display); 115 changed_.push_back(display);
116 changed_metrics_ |= changed_metrics; 116 changed_metrics_ |= changed_metrics;
117 } 117 }
118 void OnDisplayAdded(const gfx::Display& new_display) override { 118 void OnDisplayAdded(const gfx::Display& new_display) override {
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 GetDisplayInfo(ScreenUtil::GetSecondaryDisplay()). 404 GetDisplayInfo(ScreenUtil::GetSecondaryDisplay()).
405 bounds_in_native().ToString()); 405 bounds_in_native().ToString());
406 EXPECT_EQ("0,501 400x400", 406 EXPECT_EQ("0,501 400x400",
407 GetDisplayInfo(Shell::GetScreen()->GetPrimaryDisplay()). 407 GetDisplayInfo(Shell::GetScreen()->GetPrimaryDisplay()).
408 bounds_in_native().ToString()); 408 bounds_in_native().ToString());
409 EXPECT_EQ("0,0 188x190", 409 EXPECT_EQ("0,0 188x190",
410 Shell::GetScreen()->GetPrimaryDisplay().bounds().ToString()); 410 Shell::GetScreen()->GetPrimaryDisplay().bounds().ToString());
411 411
412 // Make sure just moving the overscan area should property notify observers. 412 // Make sure just moving the overscan area should property notify observers.
413 UpdateDisplay("0+0-500x500"); 413 UpdateDisplay("0+0-500x500");
414 int64 primary_id = Shell::GetScreen()->GetPrimaryDisplay().id(); 414 int64_t primary_id = Shell::GetScreen()->GetPrimaryDisplay().id();
415 display_manager()->SetOverscanInsets(primary_id, gfx::Insets(0, 0, 20, 20)); 415 display_manager()->SetOverscanInsets(primary_id, gfx::Insets(0, 0, 20, 20));
416 EXPECT_EQ("0,0 480x480", 416 EXPECT_EQ("0,0 480x480",
417 Shell::GetScreen()->GetPrimaryDisplay().bounds().ToString()); 417 Shell::GetScreen()->GetPrimaryDisplay().bounds().ToString());
418 reset(); 418 reset();
419 display_manager()->SetOverscanInsets(primary_id, gfx::Insets(10, 10, 10, 10)); 419 display_manager()->SetOverscanInsets(primary_id, gfx::Insets(10, 10, 10, 10));
420 EXPECT_TRUE(changed_metrics() & gfx::DisplayObserver::DISPLAY_METRIC_BOUNDS); 420 EXPECT_TRUE(changed_metrics() & gfx::DisplayObserver::DISPLAY_METRIC_BOUNDS);
421 EXPECT_TRUE( 421 EXPECT_TRUE(
422 changed_metrics() & gfx::DisplayObserver::DISPLAY_METRIC_WORK_AREA); 422 changed_metrics() & gfx::DisplayObserver::DISPLAY_METRIC_WORK_AREA);
423 EXPECT_EQ("0,0 480x480", 423 EXPECT_EQ("0,0 480x480",
424 Shell::GetScreen()->GetPrimaryDisplay().bounds().ToString()); 424 Shell::GetScreen()->GetPrimaryDisplay().bounds().ToString());
425 reset(); 425 reset();
426 display_manager()->SetOverscanInsets(primary_id, gfx::Insets(0, 0, 0, 0)); 426 display_manager()->SetOverscanInsets(primary_id, gfx::Insets(0, 0, 0, 0));
427 EXPECT_TRUE(changed_metrics() & gfx::DisplayObserver::DISPLAY_METRIC_BOUNDS); 427 EXPECT_TRUE(changed_metrics() & gfx::DisplayObserver::DISPLAY_METRIC_BOUNDS);
428 EXPECT_TRUE( 428 EXPECT_TRUE(
429 changed_metrics() & gfx::DisplayObserver::DISPLAY_METRIC_WORK_AREA); 429 changed_metrics() & gfx::DisplayObserver::DISPLAY_METRIC_WORK_AREA);
430 EXPECT_EQ("0,0 500x500", 430 EXPECT_EQ("0,0 500x500",
431 Shell::GetScreen()->GetPrimaryDisplay().bounds().ToString()); 431 Shell::GetScreen()->GetPrimaryDisplay().bounds().ToString());
432 } 432 }
433 433
434 TEST_F(DisplayManagerTest, ZeroOverscanInsets) { 434 TEST_F(DisplayManagerTest, ZeroOverscanInsets) {
435 if (!SupportsMultipleDisplays()) 435 if (!SupportsMultipleDisplays())
436 return; 436 return;
437 437
438 // Make sure the display change events is emitted for overscan inset changes. 438 // Make sure the display change events is emitted for overscan inset changes.
439 UpdateDisplay("0+0-500x500,0+501-400x400"); 439 UpdateDisplay("0+0-500x500,0+501-400x400");
440 ASSERT_EQ(2u, display_manager()->GetNumDisplays()); 440 ASSERT_EQ(2u, display_manager()->GetNumDisplays());
441 int64 display2_id = display_manager()->GetDisplayAt(1).id(); 441 int64_t display2_id = display_manager()->GetDisplayAt(1).id();
442 442
443 reset(); 443 reset();
444 display_manager()->SetOverscanInsets(display2_id, gfx::Insets(0, 0, 0, 0)); 444 display_manager()->SetOverscanInsets(display2_id, gfx::Insets(0, 0, 0, 0));
445 EXPECT_EQ(0u, changed().size()); 445 EXPECT_EQ(0u, changed().size());
446 446
447 reset(); 447 reset();
448 display_manager()->SetOverscanInsets(display2_id, gfx::Insets(1, 0, 0, 0)); 448 display_manager()->SetOverscanInsets(display2_id, gfx::Insets(1, 0, 0, 0));
449 EXPECT_EQ(1u, changed().size()); 449 EXPECT_EQ(1u, changed().size());
450 EXPECT_EQ(display2_id, changed()[0].id()); 450 EXPECT_EQ(display2_id, changed()[0].id());
451 451
(...skipping 14 matching lines...) Expand all
466 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); 466 Shell::GetPrimaryRootWindow()->bounds().size().ToString());
467 EXPECT_EQ("1 0 0", GetCountSummary()); 467 EXPECT_EQ("1 0 0", GetCountSummary());
468 468
469 UpdateDisplay("1000x600*2"); 469 UpdateDisplay("1000x600*2");
470 EXPECT_EQ(2, host->compositor()->device_scale_factor()); 470 EXPECT_EQ(2, host->compositor()->device_scale_factor());
471 EXPECT_EQ("2 0 0", GetCountSummary()); 471 EXPECT_EQ("2 0 0", GetCountSummary());
472 EXPECT_EQ("500x300", 472 EXPECT_EQ("500x300",
473 Shell::GetPrimaryRootWindow()->bounds().size().ToString()); 473 Shell::GetPrimaryRootWindow()->bounds().size().ToString());
474 } 474 }
475 475
476 DisplayInfo CreateDisplayInfo(int64 id, const gfx::Rect& bounds) { 476 DisplayInfo CreateDisplayInfo(int64_t id, const gfx::Rect& bounds) {
477 DisplayInfo info(id, ToDisplayName(id), false); 477 DisplayInfo info(id, ToDisplayName(id), false);
478 info.SetBounds(bounds); 478 info.SetBounds(bounds);
479 return info; 479 return info;
480 } 480 }
481 481
482 TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) { 482 TEST_F(DisplayManagerTest, TestNativeDisplaysChanged) {
483 const int64 internal_display_id = 483 const int64_t internal_display_id =
484 test::DisplayManagerTestApi().SetFirstDisplayAsInternalDisplay(); 484 test::DisplayManagerTestApi().SetFirstDisplayAsInternalDisplay();
485 const int external_id = 10; 485 const int external_id = 10;
486 const int mirror_id = 11; 486 const int mirror_id = 11;
487 const int64 invalid_id = gfx::Display::kInvalidDisplayID; 487 const int64_t invalid_id = gfx::Display::kInvalidDisplayID;
488 const DisplayInfo internal_display_info = 488 const DisplayInfo internal_display_info =
489 CreateDisplayInfo(internal_display_id, gfx::Rect(0, 0, 500, 500)); 489 CreateDisplayInfo(internal_display_id, gfx::Rect(0, 0, 500, 500));
490 const DisplayInfo external_display_info = 490 const DisplayInfo external_display_info =
491 CreateDisplayInfo(external_id, gfx::Rect(1, 1, 100, 100)); 491 CreateDisplayInfo(external_id, gfx::Rect(1, 1, 100, 100));
492 const DisplayInfo mirroring_display_info = 492 const DisplayInfo mirroring_display_info =
493 CreateDisplayInfo(mirror_id, gfx::Rect(0, 0, 500, 500)); 493 CreateDisplayInfo(mirror_id, gfx::Rect(0, 0, 500, 500));
494 494
495 EXPECT_EQ(1U, display_manager()->GetNumDisplays()); 495 EXPECT_EQ(1U, display_manager()->GetNumDisplays());
496 EXPECT_EQ(1U, display_manager()->num_connected_displays()); 496 EXPECT_EQ(1U, display_manager()->num_connected_displays());
497 std::string default_bounds = 497 std::string default_bounds =
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
644 } 644 }
645 645
646 // Make sure crash does not happen if add and remove happens at the same time. 646 // Make sure crash does not happen if add and remove happens at the same time.
647 // See: crbug.com/414394 647 // See: crbug.com/414394
648 TEST_F(DisplayManagerTest, DisplayAddRemoveAtTheSameTime) { 648 TEST_F(DisplayManagerTest, DisplayAddRemoveAtTheSameTime) {
649 if (!SupportsMultipleDisplays()) 649 if (!SupportsMultipleDisplays())
650 return; 650 return;
651 651
652 UpdateDisplay("100+0-500x500,0+501-400x400"); 652 UpdateDisplay("100+0-500x500,0+501-400x400");
653 653
654 const int64 primary_id = WindowTreeHostManager::GetPrimaryDisplayId(); 654 const int64_t primary_id = WindowTreeHostManager::GetPrimaryDisplayId();
655 const int64 secondary_id = ScreenUtil::GetSecondaryDisplay().id(); 655 const int64_t secondary_id = ScreenUtil::GetSecondaryDisplay().id();
656 656
657 DisplayInfo primary_info = display_manager()->GetDisplayInfo(primary_id); 657 DisplayInfo primary_info = display_manager()->GetDisplayInfo(primary_id);
658 DisplayInfo secondary_info = display_manager()->GetDisplayInfo(secondary_id); 658 DisplayInfo secondary_info = display_manager()->GetDisplayInfo(secondary_id);
659 659
660 // An id which is different from primary and secondary. 660 // An id which is different from primary and secondary.
661 const int64 third_id = secondary_id + 1; 661 const int64_t third_id = secondary_id + 1;
662 662
663 DisplayInfo third_info = 663 DisplayInfo third_info =
664 CreateDisplayInfo(third_id, gfx::Rect(0, 0, 600, 600)); 664 CreateDisplayInfo(third_id, gfx::Rect(0, 0, 600, 600));
665 665
666 std::vector<DisplayInfo> display_info_list; 666 std::vector<DisplayInfo> display_info_list;
667 display_info_list.push_back(third_info); 667 display_info_list.push_back(third_info);
668 display_info_list.push_back(secondary_info); 668 display_info_list.push_back(secondary_info);
669 display_manager()->OnNativeDisplaysChanged(display_info_list); 669 display_manager()->OnNativeDisplaysChanged(display_info_list);
670 670
671 // Secondary seconary_id becomes the primary as it has smaller output index. 671 // Secondary seconary_id becomes the primary as it has smaller output index.
(...skipping 29 matching lines...) Expand all
701 EXPECT_EQ("1,1 100x100", 701 EXPECT_EQ("1,1 100x100",
702 GetDisplayInfoForId(10).bounds_in_native().ToString()); 702 GetDisplayInfoForId(10).bounds_in_native().ToString());
703 EXPECT_EQ("100x100", ash::Shell::GetPrimaryRootWindow()->GetHost()-> 703 EXPECT_EQ("100x100", ash::Shell::GetPrimaryRootWindow()->GetHost()->
704 GetBounds().size().ToString()); 704 GetBounds().size().ToString());
705 } 705 }
706 706
707 TEST_F(DisplayManagerTest, NativeDisplaysChangedAfterPrimaryChange) { 707 TEST_F(DisplayManagerTest, NativeDisplaysChangedAfterPrimaryChange) {
708 if (!SupportsMultipleDisplays()) 708 if (!SupportsMultipleDisplays())
709 return; 709 return;
710 710
711 const int64 internal_display_id = 711 const int64_t internal_display_id =
712 test::DisplayManagerTestApi().SetFirstDisplayAsInternalDisplay(); 712 test::DisplayManagerTestApi().SetFirstDisplayAsInternalDisplay();
713 const DisplayInfo native_display_info = 713 const DisplayInfo native_display_info =
714 CreateDisplayInfo(internal_display_id, gfx::Rect(0, 0, 500, 500)); 714 CreateDisplayInfo(internal_display_id, gfx::Rect(0, 0, 500, 500));
715 const DisplayInfo secondary_display_info = 715 const DisplayInfo secondary_display_info =
716 CreateDisplayInfo(10, gfx::Rect(1, 1, 100, 100)); 716 CreateDisplayInfo(10, gfx::Rect(1, 1, 100, 100));
717 717
718 std::vector<DisplayInfo> display_info_list; 718 std::vector<DisplayInfo> display_info_list;
719 display_info_list.push_back(native_display_info); 719 display_info_list.push_back(native_display_info);
720 display_info_list.push_back(secondary_display_info); 720 display_info_list.push_back(secondary_display_info);
721 display_manager()->OnNativeDisplaysChanged(display_info_list); 721 display_manager()->OnNativeDisplaysChanged(display_info_list);
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
901 UpdateDisplay("200x200/u"); 901 UpdateDisplay("200x200/u");
902 EXPECT_EQ("1 0 0", GetCountSummary()); 902 EXPECT_EQ("1 0 0", GetCountSummary());
903 reset(); 903 reset();
904 904
905 UpdateDisplay("200x200/l"); 905 UpdateDisplay("200x200/l");
906 EXPECT_EQ("1 0 0", GetCountSummary()); 906 EXPECT_EQ("1 0 0", GetCountSummary());
907 907
908 // Having the internal display deactivated should restore user rotation. Newly 908 // Having the internal display deactivated should restore user rotation. Newly
909 // set rotations should be applied. 909 // set rotations should be applied.
910 UpdateDisplay("200x200, 200x200"); 910 UpdateDisplay("200x200, 200x200");
911 const int64 internal_display_id = 911 const int64_t internal_display_id =
912 test::DisplayManagerTestApi().SetFirstDisplayAsInternalDisplay(); 912 test::DisplayManagerTestApi().SetFirstDisplayAsInternalDisplay();
913 913
914 display_manager()->SetDisplayRotation(internal_display_id, 914 display_manager()->SetDisplayRotation(internal_display_id,
915 gfx::Display::ROTATE_90, 915 gfx::Display::ROTATE_90,
916 gfx::Display::ROTATION_SOURCE_USER); 916 gfx::Display::ROTATION_SOURCE_USER);
917 display_manager()->SetDisplayRotation(internal_display_id, 917 display_manager()->SetDisplayRotation(internal_display_id,
918 gfx::Display::ROTATE_0, 918 gfx::Display::ROTATE_0,
919 gfx::Display::ROTATION_SOURCE_ACTIVE); 919 gfx::Display::ROTATION_SOURCE_ACTIVE);
920 920
921 const DisplayInfo info = GetDisplayInfoForId(internal_display_id); 921 const DisplayInfo info = GetDisplayInfoForId(internal_display_id);
(...skipping 15 matching lines...) Expand all
937 const DisplayInfo post_rotation_info = 937 const DisplayInfo post_rotation_info =
938 display_manager()->display_info_[internal_display_id]; 938 display_manager()->display_info_[internal_display_id];
939 EXPECT_NE(info.GetActiveRotation(), post_rotation_info.GetActiveRotation()); 939 EXPECT_NE(info.GetActiveRotation(), post_rotation_info.GetActiveRotation());
940 EXPECT_EQ(gfx::Display::ROTATE_180, post_rotation_info.GetActiveRotation()); 940 EXPECT_EQ(gfx::Display::ROTATE_180, post_rotation_info.GetActiveRotation());
941 } 941 }
942 942
943 TEST_F(DisplayManagerTest, UIScale) { 943 TEST_F(DisplayManagerTest, UIScale) {
944 test::ScopedDisable125DSFForUIScaling disable; 944 test::ScopedDisable125DSFForUIScaling disable;
945 945
946 UpdateDisplay("1280x800"); 946 UpdateDisplay("1280x800");
947 int64 display_id = Shell::GetScreen()->GetPrimaryDisplay().id(); 947 int64_t display_id = Shell::GetScreen()->GetPrimaryDisplay().id();
948 SetDisplayUIScale(display_id, 1.125f); 948 SetDisplayUIScale(display_id, 1.125f);
949 EXPECT_EQ(1.0, GetDisplayInfoAt(0).configured_ui_scale()); 949 EXPECT_EQ(1.0, GetDisplayInfoAt(0).configured_ui_scale());
950 SetDisplayUIScale(display_id, 0.8f); 950 SetDisplayUIScale(display_id, 0.8f);
951 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale()); 951 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
952 SetDisplayUIScale(display_id, 0.75f); 952 SetDisplayUIScale(display_id, 0.75f);
953 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale()); 953 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
954 SetDisplayUIScale(display_id, 0.625f); 954 SetDisplayUIScale(display_id, 0.625f);
955 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale()); 955 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).configured_ui_scale());
956 956
957 test::ScopedSetInternalDisplayId set_internal(display_id); 957 test::ScopedSetInternalDisplayId set_internal(display_id);
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
1087 EXPECT_TRUE(expected_mode.IsEquivalent( 1087 EXPECT_TRUE(expected_mode.IsEquivalent(
1088 display_manager()->GetActiveModeForDisplayId(display_id))); 1088 display_manager()->GetActiveModeForDisplayId(display_id)));
1089 SetDisplayUIScale(display_id, 0.5f); 1089 SetDisplayUIScale(display_id, 0.5f);
1090 EXPECT_EQ(0.5f, GetDisplayInfoAt(0).configured_ui_scale()); 1090 EXPECT_EQ(0.5f, GetDisplayInfoAt(0).configured_ui_scale());
1091 expected_mode.ui_scale = 0.5f; 1091 expected_mode.ui_scale = 0.5f;
1092 EXPECT_TRUE(expected_mode.IsEquivalent( 1092 EXPECT_TRUE(expected_mode.IsEquivalent(
1093 display_manager()->GetActiveModeForDisplayId(display_id))); 1093 display_manager()->GetActiveModeForDisplayId(display_id)));
1094 } 1094 }
1095 1095
1096 TEST_F(DisplayManagerTest, Use125DSFForUIScaling) { 1096 TEST_F(DisplayManagerTest, Use125DSFForUIScaling) {
1097 int64 display_id = Shell::GetScreen()->GetPrimaryDisplay().id(); 1097 int64_t display_id = Shell::GetScreen()->GetPrimaryDisplay().id();
1098 test::ScopedSetInternalDisplayId set_internal(display_id); 1098 test::ScopedSetInternalDisplayId set_internal(display_id);
1099 1099
1100 UpdateDisplay("1920x1080*1.25"); 1100 UpdateDisplay("1920x1080*1.25");
1101 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveDeviceScaleFactor()); 1101 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveDeviceScaleFactor());
1102 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveUIScale()); 1102 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveUIScale());
1103 1103
1104 SetDisplayUIScale(display_id, 0.8f); 1104 SetDisplayUIScale(display_id, 0.8f);
1105 EXPECT_EQ(1.25f, GetDisplayInfoAt(0).GetEffectiveDeviceScaleFactor()); 1105 EXPECT_EQ(1.25f, GetDisplayInfoAt(0).GetEffectiveDeviceScaleFactor());
1106 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveUIScale()); 1106 EXPECT_EQ(1.0f, GetDisplayInfoAt(0).GetEffectiveUIScale());
1107 EXPECT_EQ("1536x864", GetDisplayForId(display_id).size().ToString()); 1107 EXPECT_EQ("1536x864", GetDisplayForId(display_id).size().ToString());
(...skipping 13 matching lines...) Expand all
1121 if (!SupportsMultipleDisplays()) 1121 if (!SupportsMultipleDisplays())
1122 return; 1122 return;
1123 // Don't check root window destruction in unified mode. 1123 // Don't check root window destruction in unified mode.
1124 Shell::GetPrimaryRootWindow()->RemoveObserver(this); 1124 Shell::GetPrimaryRootWindow()->RemoveObserver(this);
1125 1125
1126 DisplayManager* display_manager = Shell::GetInstance()->display_manager(); 1126 DisplayManager* display_manager = Shell::GetInstance()->display_manager();
1127 display_manager->SetUnifiedDesktopEnabled(true); 1127 display_manager->SetUnifiedDesktopEnabled(true);
1128 1128
1129 UpdateDisplay("200x200, 400x400"); 1129 UpdateDisplay("200x200, 400x400");
1130 1130
1131 int64 unified_id = Shell::GetScreen()->GetPrimaryDisplay().id(); 1131 int64_t unified_id = Shell::GetScreen()->GetPrimaryDisplay().id();
1132 DisplayInfo info = display_manager->GetDisplayInfo(unified_id); 1132 DisplayInfo info = display_manager->GetDisplayInfo(unified_id);
1133 ASSERT_EQ(2u, info.display_modes().size()); 1133 ASSERT_EQ(2u, info.display_modes().size());
1134 EXPECT_EQ("400x200", info.display_modes()[0].size.ToString()); 1134 EXPECT_EQ("400x200", info.display_modes()[0].size.ToString());
1135 EXPECT_TRUE(info.display_modes()[0].native); 1135 EXPECT_TRUE(info.display_modes()[0].native);
1136 EXPECT_EQ("800x400", info.display_modes()[1].size.ToString()); 1136 EXPECT_EQ("800x400", info.display_modes()[1].size.ToString());
1137 EXPECT_FALSE(info.display_modes()[1].native); 1137 EXPECT_FALSE(info.display_modes()[1].native);
1138 EXPECT_EQ("400x200", 1138 EXPECT_EQ("400x200",
1139 Shell::GetScreen()->GetPrimaryDisplay().size().ToString()); 1139 Shell::GetScreen()->GetPrimaryDisplay().size().ToString());
1140 DisplayMode active_mode = 1140 DisplayMode active_mode =
1141 display_manager->GetActiveModeForDisplayId(unified_id); 1141 display_manager->GetActiveModeForDisplayId(unified_id);
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
1788 EXPECT_EQ("0,0 250x453", docked->bounds().ToString()); 1788 EXPECT_EQ("0,0 250x453", docked->bounds().ToString());
1789 UpdateDisplay("300x300"); 1789 UpdateDisplay("300x300");
1790 // Make sure the window is still docked. 1790 // Make sure the window is still docked.
1791 EXPECT_TRUE(wm::GetWindowState(docked.get())->IsDocked()); 1791 EXPECT_TRUE(wm::GetWindowState(docked.get())->IsDocked());
1792 EXPECT_EQ("0,0 250x253", docked->bounds().ToString()); 1792 EXPECT_EQ("0,0 250x253", docked->bounds().ToString());
1793 } 1793 }
1794 1794
1795 TEST_F(DisplayManagerTest, DockMode) { 1795 TEST_F(DisplayManagerTest, DockMode) {
1796 if (!SupportsMultipleDisplays()) 1796 if (!SupportsMultipleDisplays())
1797 return; 1797 return;
1798 const int64 internal_id = 1; 1798 const int64_t internal_id = 1;
1799 const int64 external_id = 2; 1799 const int64_t external_id = 2;
1800 1800
1801 const DisplayInfo internal_display_info = 1801 const DisplayInfo internal_display_info =
1802 CreateDisplayInfo(internal_id, gfx::Rect(0, 0, 500, 500)); 1802 CreateDisplayInfo(internal_id, gfx::Rect(0, 0, 500, 500));
1803 const DisplayInfo external_display_info = 1803 const DisplayInfo external_display_info =
1804 CreateDisplayInfo(external_id, gfx::Rect(1, 1, 100, 100)); 1804 CreateDisplayInfo(external_id, gfx::Rect(1, 1, 100, 100));
1805 std::vector<DisplayInfo> display_info_list; 1805 std::vector<DisplayInfo> display_info_list;
1806 1806
1807 // software mirroring. 1807 // software mirroring.
1808 display_info_list.push_back(internal_display_info); 1808 display_info_list.push_back(internal_display_info);
1809 display_info_list.push_back(external_display_info); 1809 display_info_list.push_back(external_display_info);
1810 display_manager()->OnNativeDisplaysChanged(display_info_list); 1810 display_manager()->OnNativeDisplaysChanged(display_info_list);
1811 const int64 internal_display_id = 1811 const int64_t internal_display_id =
1812 test::DisplayManagerTestApi().SetFirstDisplayAsInternalDisplay(); 1812 test::DisplayManagerTestApi().SetFirstDisplayAsInternalDisplay();
1813 EXPECT_EQ(internal_id, internal_display_id); 1813 EXPECT_EQ(internal_id, internal_display_id);
1814 1814
1815 display_info_list.clear(); 1815 display_info_list.clear();
1816 display_info_list.push_back(external_display_info); 1816 display_info_list.push_back(external_display_info);
1817 display_manager()->OnNativeDisplaysChanged(display_info_list); 1817 display_manager()->OnNativeDisplaysChanged(display_info_list);
1818 EXPECT_EQ(1U, display_manager()->active_display_list().size()); 1818 EXPECT_EQ(1U, display_manager()->active_display_list().size());
1819 1819
1820 EXPECT_TRUE(display_manager()->IsActiveDisplayId(external_id)); 1820 EXPECT_TRUE(display_manager()->IsActiveDisplayId(external_id));
1821 EXPECT_FALSE(display_manager()->IsActiveDisplayId(internal_id)); 1821 EXPECT_FALSE(display_manager()->IsActiveDisplayId(internal_id));
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
1997 1997
1998 EXPECT_EQ(gfx::Display::ROTATE_90, 1998 EXPECT_EQ(gfx::Display::ROTATE_90,
1999 info.GetRotation(gfx::Display::ROTATION_SOURCE_USER)); 1999 info.GetRotation(gfx::Display::ROTATION_SOURCE_USER));
2000 EXPECT_EQ(gfx::Display::ROTATE_90, 2000 EXPECT_EQ(gfx::Display::ROTATE_90,
2001 info.GetRotation(gfx::Display::ROTATION_SOURCE_ACTIVE)); 2001 info.GetRotation(gfx::Display::ROTATION_SOURCE_ACTIVE));
2002 } 2002 }
2003 2003
2004 #endif // OS_CHROMEOS 2004 #endif // OS_CHROMEOS
2005 2005
2006 } // namespace ash 2006 } // namespace ash
OLDNEW
« no previous file with comments | « ash/display/display_manager.cc ('k') | ash/display/display_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698