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 |
72 } // namespace ash | 111 } // namespace ash |
OLD | NEW |