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

Side by Side Diff: ash/sticky_keys/sticky_keys_overlay_unittest.cc

Issue 2445583002: Relocate display_manager from ash to ui (Closed)
Patch Set: fix windows build Created 4 years, 1 month 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/shell.cc ('k') | ash/system/chromeos/rotation/tray_rotation_lock_unittest.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/sticky_keys/sticky_keys_overlay.h" 5 #include "ash/sticky_keys/sticky_keys_overlay.h"
6 6
7 #include "ash/display/display_manager.h"
8 #include "ash/display/window_tree_host_manager.h" 7 #include "ash/display/window_tree_host_manager.h"
9 #include "ash/shell.h" 8 #include "ash/shell.h"
10 #include "ash/sticky_keys/sticky_keys_controller.h" 9 #include "ash/sticky_keys/sticky_keys_controller.h"
11 #include "ash/test/ash_test_base.h" 10 #include "ash/test/ash_test_base.h"
12 #include "ash/test/display_manager_test_api.h"
13 #include "ui/display/manager/display_layout.h" 11 #include "ui/display/manager/display_layout.h"
12 #include "ui/display/manager/display_manager.h"
13 #include "ui/display/test/display_manager_test_api.h"
14 #include "ui/events/event.h" 14 #include "ui/events/event.h"
15 #include "ui/views/widget/widget.h" 15 #include "ui/views/widget/widget.h"
16 16
17 namespace ash { 17 namespace ash {
18 18
19 using StickyKeysOverlayTest = test::AshTestBase; 19 using StickyKeysOverlayTest = test::AshTestBase;
20 20
21 TEST_F(StickyKeysOverlayTest, OverlayVisibility) { 21 TEST_F(StickyKeysOverlayTest, OverlayVisibility) {
22 StickyKeysOverlay overlay; 22 StickyKeysOverlay overlay;
23 EXPECT_FALSE(overlay.is_visible()); 23 EXPECT_FALSE(overlay.is_visible());
(...skipping 16 matching lines...) Expand all
40 overlay.GetModifierKeyState(ui::EF_CONTROL_DOWN)); 40 overlay.GetModifierKeyState(ui::EF_CONTROL_DOWN));
41 EXPECT_EQ(STICKY_KEY_STATE_LOCKED, 41 EXPECT_EQ(STICKY_KEY_STATE_LOCKED,
42 overlay.GetModifierKeyState(ui::EF_COMMAND_DOWN)); 42 overlay.GetModifierKeyState(ui::EF_COMMAND_DOWN));
43 } 43 }
44 44
45 // This test addresses the crash report at crbug.com/435600, speculated to be 45 // This test addresses the crash report at crbug.com/435600, speculated to be
46 // caused by using sticky keys with multiple displays. 46 // caused by using sticky keys with multiple displays.
47 TEST_F(StickyKeysOverlayTest, OverlayNotDestroyedAfterDisplayRemoved) { 47 TEST_F(StickyKeysOverlayTest, OverlayNotDestroyedAfterDisplayRemoved) {
48 // Add a secondary display to the left of the primary one. 48 // Add a secondary display to the left of the primary one.
49 UpdateDisplay("1280x1024,1980x1080"); 49 UpdateDisplay("1280x1024,1980x1080");
50 DisplayManager* display_manager = Shell::GetInstance()->display_manager();
51 display::DisplayIdList display_ids = 50 display::DisplayIdList display_ids =
52 display_manager->GetCurrentDisplayIdList(); 51 display_manager()->GetCurrentDisplayIdList();
53 int64_t primary_display_id = display_ids[0]; 52 int64_t primary_display_id = display_ids[0];
54 int64_t secondary_display_id = display_ids[1]; 53 int64_t secondary_display_id = display_ids[1];
55 display_manager->SetLayoutForCurrentDisplays(test::CreateDisplayLayout( 54 display_manager()->SetLayoutForCurrentDisplays(
56 display_manager, display::DisplayPlacement::LEFT, 0)); 55 display::test::CreateDisplayLayout(display_manager(),
56 display::DisplayPlacement::LEFT, 0));
57 57
58 // The overlay should belong to the secondary root window. 58 // The overlay should belong to the secondary root window.
59 StickyKeysOverlay overlay; 59 StickyKeysOverlay overlay;
60 views::Widget* overlay_widget = overlay.GetWidgetForTesting(); 60 views::Widget* overlay_widget = overlay.GetWidgetForTesting();
61 WindowTreeHostManager* window_tree_host_manager = 61 WindowTreeHostManager* window_tree_host_manager =
62 Shell::GetInstance()->window_tree_host_manager(); 62 Shell::GetInstance()->window_tree_host_manager();
63 EXPECT_EQ( 63 EXPECT_EQ(
64 window_tree_host_manager->GetRootWindowForDisplayId(secondary_display_id), 64 window_tree_host_manager->GetRootWindowForDisplayId(secondary_display_id),
65 overlay_widget->GetNativeWindow()->GetRootWindow()); 65 overlay_widget->GetNativeWindow()->GetRootWindow());
66 66
67 // Removing the second display should move the overlay to the primary root 67 // Removing the second display should move the overlay to the primary root
68 // window. 68 // window.
69 UpdateDisplay("1280x1024"); 69 UpdateDisplay("1280x1024");
70 EXPECT_EQ( 70 EXPECT_EQ(
71 window_tree_host_manager->GetRootWindowForDisplayId(primary_display_id), 71 window_tree_host_manager->GetRootWindowForDisplayId(primary_display_id),
72 overlay_widget->GetNativeWindow()->GetRootWindow()); 72 overlay_widget->GetNativeWindow()->GetRootWindow());
73 73
74 overlay.SetModifierKeyState(ui::EF_SHIFT_DOWN, STICKY_KEY_STATE_ENABLED); 74 overlay.SetModifierKeyState(ui::EF_SHIFT_DOWN, STICKY_KEY_STATE_ENABLED);
75 EXPECT_EQ(STICKY_KEY_STATE_ENABLED, 75 EXPECT_EQ(STICKY_KEY_STATE_ENABLED,
76 overlay.GetModifierKeyState(ui::EF_SHIFT_DOWN)); 76 overlay.GetModifierKeyState(ui::EF_SHIFT_DOWN));
77 overlay.SetModifierKeyState(ui::EF_SHIFT_DOWN, STICKY_KEY_STATE_DISABLED); 77 overlay.SetModifierKeyState(ui::EF_SHIFT_DOWN, STICKY_KEY_STATE_DISABLED);
78 EXPECT_EQ(STICKY_KEY_STATE_DISABLED, 78 EXPECT_EQ(STICKY_KEY_STATE_DISABLED,
79 overlay.GetModifierKeyState(ui::EF_SHIFT_DOWN)); 79 overlay.GetModifierKeyState(ui::EF_SHIFT_DOWN));
80 } 80 }
81 81
82 // Additional sticky key overlay tests that depend on chromeos::EventRewriter 82 // Additional sticky key overlay tests that depend on chromeos::EventRewriter
83 // are now in chrome/browser/chromeos/events/event_rewriter_unittest.cc . 83 // are now in chrome/browser/chromeos/events/event_rewriter_unittest.cc .
84 84
85 } // namespace ash 85 } // namespace ash
OLDNEW
« no previous file with comments | « ash/shell.cc ('k') | ash/system/chromeos/rotation/tray_rotation_lock_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698