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

Side by Side Diff: ash/shelf/shelf_layout_manager_unittest.cc

Issue 883063003: Revert of Fix shelf dimming on secondary display (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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 | « no previous file | ash/shelf/shelf_widget.cc » ('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/shelf/shelf_layout_manager.h" 5 #include "ash/shelf/shelf_layout_manager.h"
6 6
7 #include "ash/accelerators/accelerator_controller.h" 7 #include "ash/accelerators/accelerator_controller.h"
8 #include "ash/accelerators/accelerator_table.h" 8 #include "ash/accelerators/accelerator_table.h"
9 #include "ash/ash_switches.h" 9 #include "ash/ash_switches.h"
10 #include "ash/display/display_controller.h" 10 #include "ash/display/display_controller.h"
(...skipping 1100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 EXPECT_TRUE(shelf_widget->status_area_widget()->IsVisible()); 1111 EXPECT_TRUE(shelf_widget->status_area_widget()->IsVisible());
1112 StepWidgetLayerAnimatorToEnd(shelf_widget); 1112 StepWidgetLayerAnimatorToEnd(shelf_widget);
1113 StepWidgetLayerAnimatorToEnd(shelf_widget->status_area_widget()); 1113 StepWidgetLayerAnimatorToEnd(shelf_widget->status_area_widget());
1114 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state()); 1114 EXPECT_EQ(SHELF_VISIBLE, shelf->visibility_state());
1115 EXPECT_EQ(Shell::GetScreen()->GetDisplayNearestWindow( 1115 EXPECT_EQ(Shell::GetScreen()->GetDisplayNearestWindow(
1116 window).work_area().bottom(), 1116 window).work_area().bottom(),
1117 widget->GetWorkAreaBoundsInScreen().bottom()); 1117 widget->GetWorkAreaBoundsInScreen().bottom());
1118 } 1118 }
1119 1119
1120 // Basic assertions around the dimming of the shelf. 1120 // Basic assertions around the dimming of the shelf.
1121 TEST_F(ShelfLayoutManagerTest, DimmingBehavior) { 1121 TEST_F(ShelfLayoutManagerTest, TestDimmingBehavior) {
1122 // Since ShelfLayoutManager queries for mouse location, move the mouse so 1122 // Since ShelfLayoutManager queries for mouse location, move the mouse so
1123 // it isn't over the shelf. 1123 // it isn't over the shelf.
1124 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), 1124 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow(),
1125 gfx::Point()); 1125 gfx::Point());
1126 generator.MoveMouseTo(0, 0); 1126 generator.MoveMouseTo(0, 0);
1127 1127
1128 ShelfLayoutManager* shelf = GetShelfLayoutManager(); 1128 ShelfLayoutManager* shelf = GetShelfLayoutManager();
1129 shelf->shelf_widget()->DisableDimmingAnimationsForTest(); 1129 shelf->shelf_widget()->DisableDimmingAnimationsForTest();
1130 1130
1131 views::Widget* widget = new views::Widget; 1131 views::Widget* widget = new views::Widget;
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1184 generator.MoveTouch(off_shelf); 1184 generator.MoveTouch(off_shelf);
1185 EXPECT_EQ(0, shelf->shelf_widget()->GetDimmingAlphaForTest()); 1185 EXPECT_EQ(0, shelf->shelf_widget()->GetDimmingAlphaForTest());
1186 generator.MoveTouch(on_shelf); 1186 generator.MoveTouch(on_shelf);
1187 generator.ReleaseTouch(); 1187 generator.ReleaseTouch();
1188 1188
1189 // After restore, the dimming object should be deleted again. 1189 // After restore, the dimming object should be deleted again.
1190 widget->Restore(); 1190 widget->Restore();
1191 EXPECT_EQ(-1, shelf->shelf_widget()->GetDimmingAlphaForTest()); 1191 EXPECT_EQ(-1, shelf->shelf_widget()->GetDimmingAlphaForTest());
1192 } 1192 }
1193 1193
1194 // Test that dimming works correctly with multiple displays.
1195 TEST_F(ShelfLayoutManagerTest, DimmingBehaviorDualDisplay) {
1196 if (!SupportsMultipleDisplays())
1197 return;
1198
1199 // Create two displays.
1200 Shell* shell = Shell::GetInstance();
1201 UpdateDisplay("0+0-200x200,+200+0-100x100");
1202 EXPECT_EQ(2U, shell->display_manager()->GetNumDisplays());
1203
1204 DisplayController* display_controller = shell->display_controller();
1205 aura::Window::Windows root_windows = display_controller->GetAllRootWindows();
1206 EXPECT_EQ(root_windows.size(), 2U);
1207
1208 std::vector<ShelfWidget*> shelf_widgets;
1209 for (auto& root_window : root_windows) {
1210 ShelfLayoutManager* shelf =
1211 GetRootWindowController(root_window)->GetShelfLayoutManager();
1212 shelf_widgets.push_back(shelf->shelf_widget());
1213
1214 // For disabling the dimming animation to work, the animation must be
1215 // disabled prior to creating the dimmer.
1216 shelf_widgets.back()->DisableDimmingAnimationsForTest();
1217
1218 // Create a maximized window to create the dimmer.
1219 views::Widget* widget = new views::Widget;
1220 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
1221 params.context = root_window;
1222 params.bounds = root_window->GetBoundsInScreen();
1223 params.show_state = ui::SHOW_STATE_MAXIMIZED;
1224 widget->Init(params);
1225 widget->Show();
1226 }
1227
1228 ui::test::EventGenerator& generator(GetEventGenerator());
1229
1230 generator.MoveMouseTo(root_windows[0]->GetBoundsInScreen().CenterPoint());
1231 EXPECT_LT(0, shelf_widgets[0]->GetDimmingAlphaForTest());
1232 EXPECT_LT(0, shelf_widgets[1]->GetDimmingAlphaForTest());
1233
1234 generator.MoveMouseTo(
1235 shelf_widgets[0]->GetWindowBoundsInScreen().CenterPoint());
1236 EXPECT_EQ(0, shelf_widgets[0]->GetDimmingAlphaForTest());
1237 EXPECT_LT(0, shelf_widgets[1]->GetDimmingAlphaForTest());
1238
1239 generator.MoveMouseTo(
1240 shelf_widgets[1]->GetWindowBoundsInScreen().CenterPoint());
1241 EXPECT_LT(0, shelf_widgets[0]->GetDimmingAlphaForTest());
1242 EXPECT_EQ(0, shelf_widgets[1]->GetDimmingAlphaForTest());
1243
1244 generator.MoveMouseTo(root_windows[1]->GetBoundsInScreen().CenterPoint());
1245 EXPECT_LT(0, shelf_widgets[0]->GetDimmingAlphaForTest());
1246 EXPECT_LT(0, shelf_widgets[1]->GetDimmingAlphaForTest());
1247 }
1248
1249 // Assertions around the dimming of the shelf in conjunction with menus. 1194 // Assertions around the dimming of the shelf in conjunction with menus.
1250 TEST_F(ShelfLayoutManagerTest, DimmingBehaviorWithMenus) { 1195 TEST_F(ShelfLayoutManagerTest, TestDimmingBehaviorWithMenus) {
1251 // Since ShelfLayoutManager queries for mouse location, move the mouse so 1196 // Since ShelfLayoutManager queries for mouse location, move the mouse so
1252 // it isn't over the shelf. 1197 // it isn't over the shelf.
1253 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow(), 1198 ui::test::EventGenerator generator(Shell::GetPrimaryRootWindow(),
1254 gfx::Point()); 1199 gfx::Point());
1255 generator.MoveMouseTo(0, 0); 1200 generator.MoveMouseTo(0, 0);
1256 1201
1257 ShelfLayoutManager* shelf = GetShelfLayoutManager(); 1202 ShelfLayoutManager* shelf = GetShelfLayoutManager();
1258 shelf->shelf_widget()->DisableDimmingAnimationsForTest(); 1203 shelf->shelf_widget()->DisableDimmingAnimationsForTest();
1259 1204
1260 views::Widget* widget = new views::Widget; 1205 views::Widget* widget = new views::Widget;
(...skipping 1009 matching lines...) Expand 10 before | Expand all | Expand 10 after
2270 shelf_manager->SetAutoHideBehavior(SHELF_AUTO_HIDE_ALWAYS_HIDDEN); 2215 shelf_manager->SetAutoHideBehavior(SHELF_AUTO_HIDE_ALWAYS_HIDDEN);
2271 gfx::Rect hide_target_bounds = status_window->GetTargetBounds(); 2216 gfx::Rect hide_target_bounds = status_window->GetTargetBounds();
2272 EXPECT_GT(hide_target_bounds.y(), initial_bounds.y()); 2217 EXPECT_GT(hide_target_bounds.y(), initial_bounds.y());
2273 2218
2274 shelf_manager->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER); 2219 shelf_manager->SetAutoHideBehavior(SHELF_AUTO_HIDE_BEHAVIOR_NEVER);
2275 gfx::Rect reshow_target_bounds = status_window->GetTargetBounds(); 2220 gfx::Rect reshow_target_bounds = status_window->GetTargetBounds();
2276 EXPECT_EQ(initial_bounds, reshow_target_bounds); 2221 EXPECT_EQ(initial_bounds, reshow_target_bounds);
2277 } 2222 }
2278 2223
2279 } // namespace ash 2224 } // namespace ash
OLDNEW
« no previous file with comments | « no previous file | ash/shelf/shelf_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698