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

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

Issue 2808723004: Renames WmShell to ShellPort (Closed)
Patch Set: feedback Created 3 years, 8 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
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/shell.h" 7 #include "ash/shell.h"
8 #include "ash/shell_port.h"
8 #include "ash/sticky_keys/sticky_keys_controller.h" 9 #include "ash/sticky_keys/sticky_keys_controller.h"
9 #include "ash/test/ash_test_base.h" 10 #include "ash/test/ash_test_base.h"
10 #include "ash/wm_shell.h"
11 #include "ash/wm_window.h" 11 #include "ash/wm_window.h"
12 #include "ui/display/display_layout.h" 12 #include "ui/display/display_layout.h"
13 #include "ui/display/manager/display_manager.h" 13 #include "ui/display/manager/display_manager.h"
14 #include "ui/display/test/display_manager_test_api.h" 14 #include "ui/display/test/display_manager_test_api.h"
15 #include "ui/events/event.h" 15 #include "ui/events/event.h"
16 #include "ui/views/widget/widget.h" 16 #include "ui/views/widget/widget.h"
17 17
18 namespace ash { 18 namespace ash {
19 19
20 using StickyKeysOverlayTest = test::AshTestBase; 20 using StickyKeysOverlayTest = test::AshTestBase;
(...skipping 19 matching lines...) Expand all
40 EXPECT_EQ(STICKY_KEY_STATE_ENABLED, 40 EXPECT_EQ(STICKY_KEY_STATE_ENABLED,
41 overlay.GetModifierKeyState(ui::EF_CONTROL_DOWN)); 41 overlay.GetModifierKeyState(ui::EF_CONTROL_DOWN));
42 EXPECT_EQ(STICKY_KEY_STATE_LOCKED, 42 EXPECT_EQ(STICKY_KEY_STATE_LOCKED,
43 overlay.GetModifierKeyState(ui::EF_COMMAND_DOWN)); 43 overlay.GetModifierKeyState(ui::EF_COMMAND_DOWN));
44 } 44 }
45 45
46 // This test addresses the crash report at crbug.com/435600, speculated to be 46 // This test addresses the crash report at crbug.com/435600, speculated to be
47 // caused by using sticky keys with multiple displays. 47 // caused by using sticky keys with multiple displays.
48 TEST_F(StickyKeysOverlayTest, OverlayNotDestroyedAfterDisplayRemoved) { 48 TEST_F(StickyKeysOverlayTest, OverlayNotDestroyedAfterDisplayRemoved) {
49 // TODO: investigate failure in mash, http://crbug.com/696006. 49 // TODO: investigate failure in mash, http://crbug.com/696006.
50 if (WmShell::Get()->IsRunningInMash()) 50 if (ShellPort::Get()->IsRunningInMash())
51 return; 51 return;
52 52
53 // Add a secondary display to the left of the primary one. 53 // Add a secondary display to the left of the primary one.
54 UpdateDisplay("1280x1024,1980x1080"); 54 UpdateDisplay("1280x1024,1980x1080");
55 display::DisplayIdList display_ids = 55 display::DisplayIdList display_ids =
56 display_manager()->GetCurrentDisplayIdList(); 56 display_manager()->GetCurrentDisplayIdList();
57 int64_t primary_display_id = display_ids[0]; 57 int64_t primary_display_id = display_ids[0];
58 int64_t secondary_display_id = display_ids[1]; 58 int64_t secondary_display_id = display_ids[1];
59 // TODO: disabled as ScreenRotationAnimator does not work in mash, 59 // TODO: disabled as ScreenRotationAnimator does not work in mash,
60 // http://crbug.com/696754. 60 // http://crbug.com/696754.
61 if (WmShell::Get()->IsRunningInMash()) 61 if (ShellPort::Get()->IsRunningInMash())
62 return; 62 return;
63 display_manager()->SetLayoutForCurrentDisplays( 63 display_manager()->SetLayoutForCurrentDisplays(
64 display::test::CreateDisplayLayout(display_manager(), 64 display::test::CreateDisplayLayout(display_manager(),
65 display::DisplayPlacement::LEFT, 0)); 65 display::DisplayPlacement::LEFT, 0));
66 66
67 // The overlay should belong to the secondary root window. 67 // The overlay should belong to the secondary root window.
68 StickyKeysOverlay overlay; 68 StickyKeysOverlay overlay;
69 views::Widget* overlay_widget = overlay.GetWidgetForTesting(); 69 views::Widget* overlay_widget = overlay.GetWidgetForTesting();
70 EXPECT_EQ(WmShell::Get() 70 EXPECT_EQ(ShellPort::Get()
71 ->GetRootWindowForDisplayId(secondary_display_id) 71 ->GetRootWindowForDisplayId(secondary_display_id)
72 ->aura_window(), 72 ->aura_window(),
73 overlay_widget->GetNativeWindow()->GetRootWindow()); 73 overlay_widget->GetNativeWindow()->GetRootWindow());
74 74
75 // Removing the second display should move the overlay to the primary root 75 // Removing the second display should move the overlay to the primary root
76 // window. 76 // window.
77 UpdateDisplay("1280x1024"); 77 UpdateDisplay("1280x1024");
78 EXPECT_EQ(WmShell::Get() 78 EXPECT_EQ(ShellPort::Get()
79 ->GetRootWindowForDisplayId(primary_display_id) 79 ->GetRootWindowForDisplayId(primary_display_id)
80 ->aura_window(), 80 ->aura_window(),
81 overlay_widget->GetNativeWindow()->GetRootWindow()); 81 overlay_widget->GetNativeWindow()->GetRootWindow());
82 82
83 overlay.SetModifierKeyState(ui::EF_SHIFT_DOWN, STICKY_KEY_STATE_ENABLED); 83 overlay.SetModifierKeyState(ui::EF_SHIFT_DOWN, STICKY_KEY_STATE_ENABLED);
84 EXPECT_EQ(STICKY_KEY_STATE_ENABLED, 84 EXPECT_EQ(STICKY_KEY_STATE_ENABLED,
85 overlay.GetModifierKeyState(ui::EF_SHIFT_DOWN)); 85 overlay.GetModifierKeyState(ui::EF_SHIFT_DOWN));
86 overlay.SetModifierKeyState(ui::EF_SHIFT_DOWN, STICKY_KEY_STATE_DISABLED); 86 overlay.SetModifierKeyState(ui::EF_SHIFT_DOWN, STICKY_KEY_STATE_DISABLED);
87 EXPECT_EQ(STICKY_KEY_STATE_DISABLED, 87 EXPECT_EQ(STICKY_KEY_STATE_DISABLED,
88 overlay.GetModifierKeyState(ui::EF_SHIFT_DOWN)); 88 overlay.GetModifierKeyState(ui::EF_SHIFT_DOWN));
89 } 89 }
90 90
91 // Additional sticky key overlay tests that depend on ui::EventRewriterChromeOS 91 // Additional sticky key overlay tests that depend on ui::EventRewriterChromeOS
92 // are now in chrome/browser/chromeos/events/event_rewriter_unittest.cc . 92 // are now in chrome/browser/chromeos/events/event_rewriter_unittest.cc .
93 93
94 } // namespace ash 94 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698