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

Side by Side Diff: ui/display/win/screen_win_unittest.cc

Issue 2165173002: Only Update the Scale Factor if the Scale Factor Actually Changed (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
« no previous file with comments | « ui/display/win/screen_win.cc ('k') | ui/views/win/hwnd_message_handler.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "ui/display/win/screen_win.h" 5 #include "ui/display/win/screen_win.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <inttypes.h> 8 #include <inttypes.h>
9 #include <stddef.h> 9 #include <stddef.h>
10 10
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 } 330 }
331 331
332 TEST_F(ScreenWinTestSingleDisplay1x, GetSystemMetricsForHwnd) { 332 TEST_F(ScreenWinTestSingleDisplay1x, GetSystemMetricsForHwnd) {
333 HWND hwnd = GetFakeHwnd(); 333 HWND hwnd = GetFakeHwnd();
334 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31)); 334 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31));
335 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42)); 335 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42));
336 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 336 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
337 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 337 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
338 } 338 }
339 339
340 TEST_F(ScreenWinTestSingleDisplay1x, GetScaleFactorForHWND) {
341 EXPECT_EQ(1.0, ScreenWin::GetScaleFactorForHWND(GetFakeHwnd()));
342 }
343
340 TEST_F(ScreenWinTestSingleDisplay1x, GetDisplays) { 344 TEST_F(ScreenWinTestSingleDisplay1x, GetDisplays) {
341 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 345 std::vector<Display> displays = GetScreen()->GetAllDisplays();
342 ASSERT_EQ(1u, displays.size()); 346 ASSERT_EQ(1u, displays.size());
343 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1200), displays[0].bounds()); 347 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1200), displays[0].bounds());
344 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1100), displays[0].work_area()); 348 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1100), displays[0].work_area());
345 } 349 }
346 350
347 TEST_F(ScreenWinTestSingleDisplay1x, GetNumDisplays) { 351 TEST_F(ScreenWinTestSingleDisplay1x, GetNumDisplays) {
348 EXPECT_EQ(1, GetScreen()->GetNumDisplays()); 352 EXPECT_EQ(1, GetScreen()->GetNumDisplays());
349 } 353 }
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 } 492 }
489 493
490 TEST_F(ScreenWinTestSingleDisplay1_25x, GetSystemMetricsForHwnd) { 494 TEST_F(ScreenWinTestSingleDisplay1_25x, GetSystemMetricsForHwnd) {
491 HWND hwnd = GetFakeHwnd(); 495 HWND hwnd = GetFakeHwnd();
492 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31)); 496 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31));
493 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42)); 497 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42));
494 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 498 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
495 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 499 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
496 } 500 }
497 501
502 TEST_F(ScreenWinTestSingleDisplay1_25x, GetScaleFactorForHWND) {
503 EXPECT_EQ(1.25, ScreenWin::GetScaleFactorForHWND(GetFakeHwnd()));
504 }
505
498 TEST_F(ScreenWinTestSingleDisplay1_25x, GetDisplays) { 506 TEST_F(ScreenWinTestSingleDisplay1_25x, GetDisplays) {
499 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 507 std::vector<Display> displays = GetScreen()->GetAllDisplays();
500 ASSERT_EQ(1u, displays.size()); 508 ASSERT_EQ(1u, displays.size());
501 EXPECT_EQ(gfx::Rect(0, 0, 1536, 960), displays[0].bounds()); 509 EXPECT_EQ(gfx::Rect(0, 0, 1536, 960), displays[0].bounds());
502 EXPECT_EQ(gfx::Rect(0, 0, 1536, 880), displays[0].work_area()); 510 EXPECT_EQ(gfx::Rect(0, 0, 1536, 880), displays[0].work_area());
503 } 511 }
504 512
505 TEST_F(ScreenWinTestSingleDisplay1_25x, GetDisplayNearestWindow) { 513 TEST_F(ScreenWinTestSingleDisplay1_25x, GetDisplayNearestWindow) {
506 Screen* screen = GetScreen(); 514 Screen* screen = GetScreen();
507 gfx::NativeWindow native_window = GetNativeWindowFromHWND(GetFakeHwnd()); 515 gfx::NativeWindow native_window = GetNativeWindowFromHWND(GetFakeHwnd());
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 } 643 }
636 644
637 TEST_F(ScreenWinTestSingleDisplay1_5x, GetSystemMetricsForHwnd) { 645 TEST_F(ScreenWinTestSingleDisplay1_5x, GetSystemMetricsForHwnd) {
638 HWND hwnd = GetFakeHwnd(); 646 HWND hwnd = GetFakeHwnd();
639 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31)); 647 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31));
640 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42)); 648 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42));
641 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 649 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
642 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 650 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
643 } 651 }
644 652
653 TEST_F(ScreenWinTestSingleDisplay1_5x, GetScaleFactorForHWND) {
654 EXPECT_EQ(1.5, ScreenWin::GetScaleFactorForHWND(GetFakeHwnd()));
655 }
656
645 TEST_F(ScreenWinTestSingleDisplay1_5x, GetDisplays) { 657 TEST_F(ScreenWinTestSingleDisplay1_5x, GetDisplays) {
646 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 658 std::vector<Display> displays = GetScreen()->GetAllDisplays();
647 ASSERT_EQ(1u, displays.size()); 659 ASSERT_EQ(1u, displays.size());
648 EXPECT_EQ(gfx::Rect(0, 0, 1280, 800), displays[0].bounds()); 660 EXPECT_EQ(gfx::Rect(0, 0, 1280, 800), displays[0].bounds());
649 EXPECT_EQ(gfx::Rect(0, 0, 1280, 734), displays[0].work_area()); 661 EXPECT_EQ(gfx::Rect(0, 0, 1280, 734), displays[0].work_area());
650 } 662 }
651 663
652 TEST_F(ScreenWinTestSingleDisplay1_5x, GetDisplayNearestWindow) { 664 TEST_F(ScreenWinTestSingleDisplay1_5x, GetDisplayNearestWindow) {
653 Screen* screen = GetScreen(); 665 Screen* screen = GetScreen();
654 gfx::NativeWindow native_window = GetNativeWindowFromHWND(GetFakeHwnd()); 666 gfx::NativeWindow native_window = GetNativeWindowFromHWND(GetFakeHwnd());
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
782 } 794 }
783 795
784 TEST_F(ScreenWinTestSingleDisplay2x, GetSystemMetricsForHwnd) { 796 TEST_F(ScreenWinTestSingleDisplay2x, GetSystemMetricsForHwnd) {
785 HWND hwnd = GetFakeHwnd(); 797 HWND hwnd = GetFakeHwnd();
786 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31)); 798 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(hwnd, 31));
787 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42)); 799 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(hwnd, 42));
788 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 800 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
789 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 801 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
790 } 802 }
791 803
804 TEST_F(ScreenWinTestSingleDisplay2x, GetScaleFactorForHWND) {
805 EXPECT_EQ(2.0, ScreenWin::GetScaleFactorForHWND(GetFakeHwnd()));
806 }
807
792 TEST_F(ScreenWinTestSingleDisplay2x, GetDisplays) { 808 TEST_F(ScreenWinTestSingleDisplay2x, GetDisplays) {
793 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 809 std::vector<Display> displays = GetScreen()->GetAllDisplays();
794 ASSERT_EQ(1u, displays.size()); 810 ASSERT_EQ(1u, displays.size());
795 EXPECT_EQ(gfx::Rect(0, 0, 960, 600), displays[0].bounds()); 811 EXPECT_EQ(gfx::Rect(0, 0, 960, 600), displays[0].bounds());
796 EXPECT_EQ(gfx::Rect(0, 0, 960, 550), displays[0].work_area()); 812 EXPECT_EQ(gfx::Rect(0, 0, 960, 550), displays[0].work_area());
797 } 813 }
798 814
799 TEST_F(ScreenWinTestSingleDisplay2x, GetDisplayNearestWindow) { 815 TEST_F(ScreenWinTestSingleDisplay2x, GetDisplayNearestWindow) {
800 Screen* screen = GetScreen(); 816 Screen* screen = GetScreen();
801 gfx::NativeWindow native_window = GetNativeWindowFromHWND(GetFakeHwnd()); 817 gfx::NativeWindow native_window = GetNativeWindowFromHWND(GetFakeHwnd());
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 HWND left_hwnd = GetLeftFakeHwnd(); 1009 HWND left_hwnd = GetLeftFakeHwnd();
994 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31)); 1010 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
995 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42)); 1011 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
996 HWND right_hwnd = GetRightFakeHwnd(); 1012 HWND right_hwnd = GetRightFakeHwnd();
997 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31)); 1013 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
998 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42)); 1014 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
999 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 1015 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
1000 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 1016 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
1001 } 1017 }
1002 1018
1019 TEST_F(ScreenWinTestTwoDisplays1x, GetScaleFactorForHWND) {
1020 EXPECT_EQ(1.0, ScreenWin::GetScaleFactorForHWND(GetLeftFakeHwnd()));
1021 EXPECT_EQ(1.0, ScreenWin::GetScaleFactorForHWND(GetRightFakeHwnd()));
1022 }
1023
1003 TEST_F(ScreenWinTestTwoDisplays1x, GetDisplays) { 1024 TEST_F(ScreenWinTestTwoDisplays1x, GetDisplays) {
1004 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 1025 std::vector<Display> displays = GetScreen()->GetAllDisplays();
1005 ASSERT_EQ(2u, displays.size()); 1026 ASSERT_EQ(2u, displays.size());
1006 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1200), displays[0].bounds()); 1027 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1200), displays[0].bounds());
1007 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1100), displays[0].work_area()); 1028 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1100), displays[0].work_area());
1008 EXPECT_EQ(gfx::Rect(1920, 0, 800, 600), displays[1].bounds()); 1029 EXPECT_EQ(gfx::Rect(1920, 0, 800, 600), displays[1].bounds());
1009 EXPECT_EQ(gfx::Rect(1920, 0, 800, 600), displays[1].work_area()); 1030 EXPECT_EQ(gfx::Rect(1920, 0, 800, 600), displays[1].work_area());
1010 } 1031 }
1011 1032
1012 TEST_F(ScreenWinTestTwoDisplays1x, GetNumDisplays) { 1033 TEST_F(ScreenWinTestTwoDisplays1x, GetNumDisplays) {
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
1252 HWND left_hwnd = GetLeftFakeHwnd(); 1273 HWND left_hwnd = GetLeftFakeHwnd();
1253 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31)); 1274 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
1254 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42)); 1275 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
1255 HWND right_hwnd = GetRightFakeHwnd(); 1276 HWND right_hwnd = GetRightFakeHwnd();
1256 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31)); 1277 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
1257 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42)); 1278 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
1258 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 1279 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
1259 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 1280 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
1260 } 1281 }
1261 1282
1283 TEST_F(ScreenWinTestTwoDisplays2x, GetScaleFactorForHWND) {
1284 EXPECT_EQ(2.0, ScreenWin::GetScaleFactorForHWND(GetLeftFakeHwnd()));
1285 EXPECT_EQ(2.0, ScreenWin::GetScaleFactorForHWND(GetRightFakeHwnd()));
1286 }
1287
1262 TEST_F(ScreenWinTestTwoDisplays2x, GetDisplays) { 1288 TEST_F(ScreenWinTestTwoDisplays2x, GetDisplays) {
1263 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 1289 std::vector<Display> displays = GetScreen()->GetAllDisplays();
1264 ASSERT_EQ(2u, displays.size()); 1290 ASSERT_EQ(2u, displays.size());
1265 EXPECT_EQ(gfx::Rect(0, 0, 960, 600), displays[0].bounds()); 1291 EXPECT_EQ(gfx::Rect(0, 0, 960, 600), displays[0].bounds());
1266 EXPECT_EQ(gfx::Rect(0, 0, 960, 550), displays[0].work_area()); 1292 EXPECT_EQ(gfx::Rect(0, 0, 960, 550), displays[0].work_area());
1267 EXPECT_EQ(gfx::Rect(960, 0, 400, 300), displays[1].bounds()); 1293 EXPECT_EQ(gfx::Rect(960, 0, 400, 300), displays[1].bounds());
1268 EXPECT_EQ(gfx::Rect(960, 0, 400, 300), displays[1].work_area()); 1294 EXPECT_EQ(gfx::Rect(960, 0, 400, 300), displays[1].work_area());
1269 } 1295 }
1270 1296
1271 TEST_F(ScreenWinTestTwoDisplays2x, GetDisplayNearestWindowPrimaryDisplay) { 1297 TEST_F(ScreenWinTestTwoDisplays2x, GetDisplayNearestWindowPrimaryDisplay) {
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
1619 TEST_F(ScreenWinTestManyDisplays1x, GetSystemMetricsForHwnd) { 1645 TEST_F(ScreenWinTestManyDisplays1x, GetSystemMetricsForHwnd) {
1620 for (size_t i = 0; i < 5u; ++i) { 1646 for (size_t i = 0; i < 5u; ++i) {
1621 SCOPED_TRACE(base::StringPrintf("i=%zu", i)); 1647 SCOPED_TRACE(base::StringPrintf("i=%zu", i));
1622 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 31)); 1648 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 31));
1623 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 42)); 1649 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 42));
1624 } 1650 }
1625 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 1651 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
1626 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 1652 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
1627 } 1653 }
1628 1654
1655 TEST_F(ScreenWinTestManyDisplays1x, GetScaleFactorForHWND) {
1656 for (size_t i = 0; i < 5u; ++i) {
1657 SCOPED_TRACE(base::StringPrintf("i=%zu", i));
1658 EXPECT_EQ(1.0, ScreenWin::GetScaleFactorForHWND(GetFakeHwnd(i)));
1659 }
1660 }
1661
1629 TEST_F(ScreenWinTestManyDisplays1x, GetDisplays) { 1662 TEST_F(ScreenWinTestManyDisplays1x, GetDisplays) {
1630 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 1663 std::vector<Display> displays = GetScreen()->GetAllDisplays();
1631 ASSERT_EQ(5u, displays.size()); 1664 ASSERT_EQ(5u, displays.size());
1632 EXPECT_EQ(gfx::Rect(0, 0, 640, 480), displays[0].bounds()); 1665 EXPECT_EQ(gfx::Rect(0, 0, 640, 480), displays[0].bounds());
1633 EXPECT_EQ(gfx::Rect(0, 0, 640, 380), displays[0].work_area()); 1666 EXPECT_EQ(gfx::Rect(0, 0, 640, 380), displays[0].work_area());
1634 EXPECT_EQ(gfx::Rect(640, 0, 1024, 768), displays[1].bounds()); 1667 EXPECT_EQ(gfx::Rect(640, 0, 1024, 768), displays[1].bounds());
1635 EXPECT_EQ(gfx::Rect(640, 0, 1024, 768), displays[1].work_area()); 1668 EXPECT_EQ(gfx::Rect(640, 0, 1024, 768), displays[1].work_area());
1636 EXPECT_EQ(gfx::Rect(0, 480, 640, 300), displays[2].bounds()); 1669 EXPECT_EQ(gfx::Rect(0, 480, 640, 300), displays[2].bounds());
1637 EXPECT_EQ(gfx::Rect(0, 480, 640, 300), displays[2].work_area()); 1670 EXPECT_EQ(gfx::Rect(0, 480, 640, 300), displays[2].work_area());
1638 EXPECT_EQ(gfx::Rect(1664, 768, 400, 400), displays[3].bounds()); 1671 EXPECT_EQ(gfx::Rect(1664, 768, 400, 400), displays[3].bounds());
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
2045 TEST_F(ScreenWinTestManyDisplays2x, GetSystemMetricsForHwnd) { 2078 TEST_F(ScreenWinTestManyDisplays2x, GetSystemMetricsForHwnd) {
2046 for (size_t i = 0; i < 5u; ++i) { 2079 for (size_t i = 0; i < 5u; ++i) {
2047 SCOPED_TRACE(base::StringPrintf("i=%zu", i)); 2080 SCOPED_TRACE(base::StringPrintf("i=%zu", i));
2048 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 31)); 2081 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 31));
2049 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 42)); 2082 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(GetFakeHwnd(i), 42));
2050 } 2083 }
2051 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 2084 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
2052 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 2085 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
2053 } 2086 }
2054 2087
2088 TEST_F(ScreenWinTestManyDisplays2x, GetScaleFactorForHWND) {
2089 for (size_t i = 0; i < 5u; ++i) {
2090 SCOPED_TRACE(base::StringPrintf("i=%zu", i));
2091 EXPECT_EQ(2.0, ScreenWin::GetScaleFactorForHWND(GetFakeHwnd(i)));
2092 }
2093 }
2094
2055 TEST_F(ScreenWinTestManyDisplays2x, GetDisplays) { 2095 TEST_F(ScreenWinTestManyDisplays2x, GetDisplays) {
2056 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 2096 std::vector<Display> displays = GetScreen()->GetAllDisplays();
2057 ASSERT_EQ(5u, displays.size()); 2097 ASSERT_EQ(5u, displays.size());
2058 EXPECT_EQ(gfx::Rect(0, 0, 320, 240), displays[0].bounds()); 2098 EXPECT_EQ(gfx::Rect(0, 0, 320, 240), displays[0].bounds());
2059 EXPECT_EQ(gfx::Rect(0, 0, 320, 190), displays[0].work_area()); 2099 EXPECT_EQ(gfx::Rect(0, 0, 320, 190), displays[0].work_area());
2060 EXPECT_EQ(gfx::Rect(320, 0, 512, 384), displays[1].bounds()); 2100 EXPECT_EQ(gfx::Rect(320, 0, 512, 384), displays[1].bounds());
2061 EXPECT_EQ(gfx::Rect(320, 0, 512, 384), displays[1].work_area()); 2101 EXPECT_EQ(gfx::Rect(320, 0, 512, 384), displays[1].work_area());
2062 EXPECT_EQ(gfx::Rect(0, 240, 320, 150), displays[2].bounds()); 2102 EXPECT_EQ(gfx::Rect(0, 240, 320, 150), displays[2].bounds());
2063 EXPECT_EQ(gfx::Rect(0, 240, 320, 150), displays[2].work_area()); 2103 EXPECT_EQ(gfx::Rect(0, 240, 320, 150), displays[2].work_area());
2064 EXPECT_EQ(gfx::Rect(832, 384, 200, 200), displays[3].bounds()); 2104 EXPECT_EQ(gfx::Rect(832, 384, 200, 200), displays[3].bounds());
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
2335 HWND left_hwnd = GetLeftFakeHwnd(); 2375 HWND left_hwnd = GetLeftFakeHwnd();
2336 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31)); 2376 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
2337 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42)); 2377 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
2338 HWND right_hwnd = GetRightFakeHwnd(); 2378 HWND right_hwnd = GetRightFakeHwnd();
2339 EXPECT_EQ(62, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31)); 2379 EXPECT_EQ(62, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
2340 EXPECT_EQ(84, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42)); 2380 EXPECT_EQ(84, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
2341 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 2381 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
2342 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 2382 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
2343 } 2383 }
2344 2384
2385 TEST_F(ScreenWinTestTwoDisplays1x2x, GetScaleFactorForHWND) {
2386 EXPECT_EQ(1.0, ScreenWin::GetScaleFactorForHWND(GetLeftFakeHwnd()));
2387 EXPECT_EQ(2.0, ScreenWin::GetScaleFactorForHWND(GetRightFakeHwnd()));
2388 }
2389
2345 TEST_F(ScreenWinTestTwoDisplays1x2x, GetDisplays) { 2390 TEST_F(ScreenWinTestTwoDisplays1x2x, GetDisplays) {
2346 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 2391 std::vector<Display> displays = GetScreen()->GetAllDisplays();
2347 ASSERT_EQ(2u, displays.size()); 2392 ASSERT_EQ(2u, displays.size());
2348 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1200), displays[0].bounds()); 2393 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1200), displays[0].bounds());
2349 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1100), displays[0].work_area()); 2394 EXPECT_EQ(gfx::Rect(0, 0, 1920, 1100), displays[0].work_area());
2350 EXPECT_EQ(gfx::Rect(1920, 0, 400, 300), displays[1].bounds()); 2395 EXPECT_EQ(gfx::Rect(1920, 0, 400, 300), displays[1].bounds());
2351 EXPECT_EQ(gfx::Rect(1920, 0, 400, 300), displays[1].work_area()); 2396 EXPECT_EQ(gfx::Rect(1920, 0, 400, 300), displays[1].work_area());
2352 } 2397 }
2353 2398
2354 TEST_F(ScreenWinTestTwoDisplays1x2x, GetNumDisplays) { 2399 TEST_F(ScreenWinTestTwoDisplays1x2x, GetNumDisplays) {
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
2602 HWND left_hwnd = GetLeftFakeHwnd(); 2647 HWND left_hwnd = GetLeftFakeHwnd();
2603 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31)); 2648 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
2604 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42)); 2649 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
2605 HWND right_hwnd = GetRightFakeHwnd(); 2650 HWND right_hwnd = GetRightFakeHwnd();
2606 EXPECT_EQ(21, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31)); 2651 EXPECT_EQ(21, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
2607 EXPECT_EQ(28, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42)); 2652 EXPECT_EQ(28, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
2608 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 2653 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
2609 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 2654 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
2610 } 2655 }
2611 2656
2657 TEST_F(ScreenWinTestTwoDisplays1_5x1x, GetScaleFactorForHWND) {
2658 EXPECT_EQ(1.5, ScreenWin::GetScaleFactorForHWND(GetLeftFakeHwnd()));
2659 EXPECT_EQ(1.0, ScreenWin::GetScaleFactorForHWND(GetRightFakeHwnd()));
2660 }
2661
2612 TEST_F(ScreenWinTestTwoDisplays1_5x1x, GetDisplays) { 2662 TEST_F(ScreenWinTestTwoDisplays1_5x1x, GetDisplays) {
2613 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 2663 std::vector<Display> displays = GetScreen()->GetAllDisplays();
2614 ASSERT_EQ(2u, displays.size()); 2664 ASSERT_EQ(2u, displays.size());
2615 EXPECT_EQ(gfx::Rect(0, 0, 534, 400), displays[0].bounds()); 2665 EXPECT_EQ(gfx::Rect(0, 0, 534, 400), displays[0].bounds());
2616 EXPECT_EQ(gfx::Rect(0, 0, 534, 367), displays[0].work_area()); 2666 EXPECT_EQ(gfx::Rect(0, 0, 534, 367), displays[0].work_area());
2617 EXPECT_EQ(gfx::Rect(534, -80, 640, 480), displays[1].bounds()); 2667 EXPECT_EQ(gfx::Rect(534, -80, 640, 480), displays[1].bounds());
2618 EXPECT_EQ(gfx::Rect(534, -80, 640, 480), displays[1].work_area()); 2668 EXPECT_EQ(gfx::Rect(534, -80, 640, 480), displays[1].work_area());
2619 } 2669 }
2620 2670
2621 TEST_F(ScreenWinTestTwoDisplays1_5x1x, GetDisplayNearestWindowPrimaryDisplay) { 2671 TEST_F(ScreenWinTestTwoDisplays1_5x1x, GetDisplayNearestWindowPrimaryDisplay) {
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
2865 HWND left_hwnd = GetLeftFakeHwnd(); 2915 HWND left_hwnd = GetLeftFakeHwnd();
2866 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31)); 2916 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
2867 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42)); 2917 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
2868 HWND right_hwnd = GetRightFakeHwnd(); 2918 HWND right_hwnd = GetRightFakeHwnd();
2869 EXPECT_EQ(16, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31)); 2919 EXPECT_EQ(16, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
2870 EXPECT_EQ(21, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42)); 2920 EXPECT_EQ(21, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
2871 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 2921 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
2872 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 2922 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
2873 } 2923 }
2874 2924
2925 TEST_F(ScreenWinTestTwoDisplays2x1x, GetScaleFactorForHWND) {
2926 EXPECT_EQ(2.0, ScreenWin::GetScaleFactorForHWND(GetLeftFakeHwnd()));
2927 EXPECT_EQ(1.0, ScreenWin::GetScaleFactorForHWND(GetRightFakeHwnd()));
2928 }
2929
2875 TEST_F(ScreenWinTestTwoDisplays2x1x, GetDisplays) { 2930 TEST_F(ScreenWinTestTwoDisplays2x1x, GetDisplays) {
2876 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 2931 std::vector<Display> displays = GetScreen()->GetAllDisplays();
2877 ASSERT_EQ(2u, displays.size()); 2932 ASSERT_EQ(2u, displays.size());
2878 EXPECT_EQ(gfx::Rect(0, 0, 960, 600), displays[0].bounds()); 2933 EXPECT_EQ(gfx::Rect(0, 0, 960, 600), displays[0].bounds());
2879 EXPECT_EQ(gfx::Rect(0, 0, 960, 550), displays[0].work_area()); 2934 EXPECT_EQ(gfx::Rect(0, 0, 960, 550), displays[0].work_area());
2880 EXPECT_EQ(gfx::Rect(960, 0, 800, 600), displays[1].bounds()); 2935 EXPECT_EQ(gfx::Rect(960, 0, 800, 600), displays[1].bounds());
2881 EXPECT_EQ(gfx::Rect(960, 0, 800, 600), displays[1].work_area()); 2936 EXPECT_EQ(gfx::Rect(960, 0, 800, 600), displays[1].work_area());
2882 } 2937 }
2883 2938
2884 TEST_F(ScreenWinTestTwoDisplays2x1x, GetNumDisplays) { 2939 TEST_F(ScreenWinTestTwoDisplays2x1x, GetNumDisplays) {
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
3133 HWND left_hwnd = GetLeftFakeHwnd(); 3188 HWND left_hwnd = GetLeftFakeHwnd();
3134 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31)); 3189 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 31));
3135 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42)); 3190 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(left_hwnd, 42));
3136 HWND right_hwnd = GetRightFakeHwnd(); 3191 HWND right_hwnd = GetRightFakeHwnd();
3137 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31)); 3192 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 31));
3138 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42)); 3193 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(right_hwnd, 42));
3139 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31)); 3194 EXPECT_EQ(31, ScreenWin::GetSystemMetricsForHwnd(nullptr, 31));
3140 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42)); 3195 EXPECT_EQ(42, ScreenWin::GetSystemMetricsForHwnd(nullptr, 42));
3141 } 3196 }
3142 3197
3198 TEST_F(ScreenWinTestTwoDisplays2x1xVirtualized, GetScaleFactorForHWND) {
3199 EXPECT_EQ(2.0, ScreenWin::GetScaleFactorForHWND(GetLeftFakeHwnd()));
3200 EXPECT_EQ(2.0, ScreenWin::GetScaleFactorForHWND(GetRightFakeHwnd()));
3201 }
3202
3143 TEST_F(ScreenWinTestTwoDisplays2x1xVirtualized, GetDisplays) { 3203 TEST_F(ScreenWinTestTwoDisplays2x1xVirtualized, GetDisplays) {
3144 std::vector<Display> displays = GetScreen()->GetAllDisplays(); 3204 std::vector<Display> displays = GetScreen()->GetAllDisplays();
3145 ASSERT_EQ(2u, displays.size()); 3205 ASSERT_EQ(2u, displays.size());
3146 EXPECT_EQ(gfx::Rect(0, 0, 1600, 800), displays[0].bounds()); 3206 EXPECT_EQ(gfx::Rect(0, 0, 1600, 800), displays[0].bounds());
3147 EXPECT_EQ(gfx::Rect(0, 0, 1600, 750), displays[0].work_area()); 3207 EXPECT_EQ(gfx::Rect(0, 0, 1600, 750), displays[0].work_area());
3148 EXPECT_EQ(gfx::Rect(3200, 0, 1920, 1200), displays[1].bounds()); 3208 EXPECT_EQ(gfx::Rect(3200, 0, 1920, 1200), displays[1].bounds());
3149 EXPECT_EQ(gfx::Rect(3200, 0, 1920, 1200), displays[1].work_area()); 3209 EXPECT_EQ(gfx::Rect(3200, 0, 1920, 1200), displays[1].work_area());
3150 } 3210 }
3151 3211
3152 TEST_F(ScreenWinTestTwoDisplays2x1xVirtualized, GetNumDisplays) { 3212 TEST_F(ScreenWinTestTwoDisplays2x1xVirtualized, GetNumDisplays) {
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
3307 gfx::Size size(42, 131); 3367 gfx::Size size(42, 131);
3308 EXPECT_EQ(size, ScreenWin::DIPToScreenSize(nullptr, size)); 3368 EXPECT_EQ(size, ScreenWin::DIPToScreenSize(nullptr, size));
3309 } 3369 }
3310 3370
3311 TEST_F(ScreenWinUninitializedForced1x, GetSystemMetricsForHwnd) { 3371 TEST_F(ScreenWinUninitializedForced1x, GetSystemMetricsForHwnd) {
3312 // GetSystemMetricsForHwnd falls back to the system's GetSystemMetrics, so 3372 // GetSystemMetricsForHwnd falls back to the system's GetSystemMetrics, so
3313 // this test is to make sure we don't crash. 3373 // this test is to make sure we don't crash.
3314 ScreenWin::GetSystemMetricsForHwnd(nullptr, SM_CXSIZEFRAME); 3374 ScreenWin::GetSystemMetricsForHwnd(nullptr, SM_CXSIZEFRAME);
3315 } 3375 }
3316 3376
3377 TEST_F(ScreenWinUninitializedForced1x, GetScaleFactorForHWND) {
3378 EXPECT_EQ(1.0, ScreenWin::GetScaleFactorForHWND(nullptr));
3379 }
3380
3317 namespace { 3381 namespace {
3318 3382
3319 // Forced 2x DPI for Other Tests without TestScreenWin. 3383 // Forced 2x DPI for Other Tests without TestScreenWin.
3320 class ScreenWinUninitializedForced2x : public testing::Test { 3384 class ScreenWinUninitializedForced2x : public testing::Test {
3321 public: 3385 public:
3322 ScreenWinUninitializedForced2x() = default; 3386 ScreenWinUninitializedForced2x() = default;
3323 3387
3324 void SetUp() override { 3388 void SetUp() override {
3325 testing::Test::SetUp(); 3389 testing::Test::SetUp();
3326 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( 3390 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII(
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
3409 EXPECT_EQ(gfx::Size(42, 132), 3473 EXPECT_EQ(gfx::Size(42, 132),
3410 ScreenWin::DIPToScreenSize(nullptr, gfx::Size(21, 66))); 3474 ScreenWin::DIPToScreenSize(nullptr, gfx::Size(21, 66)));
3411 } 3475 }
3412 3476
3413 TEST_F(ScreenWinUninitializedForced2x, GetSystemMetricsForHwnd) { 3477 TEST_F(ScreenWinUninitializedForced2x, GetSystemMetricsForHwnd) {
3414 // GetSystemMetricsForHwnd falls back to the system's GetSystemMetrics, so 3478 // GetSystemMetricsForHwnd falls back to the system's GetSystemMetrics, so
3415 // this test is to make sure we don't crash. 3479 // this test is to make sure we don't crash.
3416 ScreenWin::GetSystemMetricsForHwnd(nullptr, SM_CXSIZEFRAME); 3480 ScreenWin::GetSystemMetricsForHwnd(nullptr, SM_CXSIZEFRAME);
3417 } 3481 }
3418 3482
3483 TEST_F(ScreenWinUninitializedForced2x, GetScaleFactorForHWND) {
3484 EXPECT_EQ(2.0, ScreenWin::GetScaleFactorForHWND(nullptr));
3485 }
3486
3419 } // namespace win 3487 } // namespace win
3420 } // namespace display 3488 } // namespace display
OLDNEW
« no previous file with comments | « ui/display/win/screen_win.cc ('k') | ui/views/win/hwnd_message_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698