OLD | NEW |
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 <algorithm> | 5 #include <algorithm> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "ash/ash_switches.h" | 8 #include "ash/ash_switches.h" |
9 #include "ash/display/display_manager.h" | 9 #include "ash/display/display_manager.h" |
10 #include "ash/shelf/shelf.h" | 10 #include "ash/shelf/shelf.h" |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 EXPECT_EQ("0,0,47,0", display_2x.bounds().InsetsFrom(work_area).ToString()); | 62 EXPECT_EQ("0,0,47,0", display_2x.bounds().InsetsFrom(work_area).ToString()); |
63 | 63 |
64 // Sanity check if the workarea's inset hight is same as | 64 // Sanity check if the workarea's inset hight is same as |
65 // the shelf's height. | 65 // the shelf's height. |
66 Shelf* shelf = Shelf::ForPrimaryDisplay(); | 66 Shelf* shelf = Shelf::ForPrimaryDisplay(); |
67 EXPECT_EQ( | 67 EXPECT_EQ( |
68 display_2x.bounds().InsetsFrom(work_area).height(), | 68 display_2x.bounds().InsetsFrom(work_area).height(), |
69 shelf->shelf_widget()->GetNativeView()->layer()->bounds().height()); | 69 shelf->shelf_widget()->GetNativeView()->layer()->bounds().height()); |
70 } | 70 } |
71 | 71 |
72 TEST_F(DIPTest, WorkAreaForLegacyShelfLayout) { | |
73 CommandLine::ForCurrentProcess()->AppendSwitch( | |
74 ash::switches::kAshDisableAlternateShelfLayout); | |
75 UpdateDisplay("1000x900*1.0f"); | |
76 | |
77 aura::Window* root = Shell::GetPrimaryRootWindow(); | |
78 const gfx::Display display = | |
79 Shell::GetScreen()->GetDisplayNearestWindow(root); | |
80 | |
81 EXPECT_EQ("0,0 1000x900", display.bounds().ToString()); | |
82 gfx::Rect work_area = display.work_area(); | |
83 EXPECT_EQ("0,0 1000x852", work_area.ToString()); | |
84 EXPECT_EQ("0,0,48,0", display.bounds().InsetsFrom(work_area).ToString()); | |
85 | |
86 UpdateDisplay("2000x1800*2.0f"); | |
87 gfx::Screen* screen = Shell::GetScreen(); | |
88 | |
89 const gfx::Display display_2x = screen->GetDisplayNearestWindow(root); | |
90 const internal::DisplayInfo display_info_2x = | |
91 Shell::GetInstance()->display_manager()->GetDisplayInfo(display_2x.id()); | |
92 | |
93 // The |bounds_in_native()| should report bounds in pixel coordinate. | |
94 EXPECT_EQ("1,1 2000x1800", | |
95 display_info_2x.bounds_in_native().ToString()); | |
96 | |
97 // Aura and views coordinates are in DIP, so they their bounds do not change. | |
98 EXPECT_EQ("0,0 1000x900", display_2x.bounds().ToString()); | |
99 work_area = display_2x.work_area(); | |
100 EXPECT_EQ("0,0 1000x852", work_area.ToString()); | |
101 EXPECT_EQ("0,0,48,0", display_2x.bounds().InsetsFrom(work_area).ToString()); | |
102 | |
103 // Sanity check if the workarea's inset hight is same as | |
104 // the shelf's height. | |
105 Shelf* shelf = Shelf::ForPrimaryDisplay(); | |
106 EXPECT_EQ( | |
107 display_2x.bounds().InsetsFrom(work_area).height(), | |
108 shelf->shelf_widget()->GetNativeView()->layer()->bounds().height()); | |
109 } | |
110 | |
111 } // namespace ash | 72 } // namespace ash |
OLD | NEW |