OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/shell.h" | 5 #include "ash/shell.h" |
6 #include "base/macros.h" | 6 #include "base/macros.h" |
7 #include "components/exo/buffer.h" | 7 #include "components/exo/buffer.h" |
8 #include "components/exo/keyboard.h" | 8 #include "components/exo/keyboard.h" |
9 #include "components/exo/keyboard_delegate.h" | 9 #include "components/exo/keyboard_delegate.h" |
10 #include "components/exo/shell_surface.h" | 10 #include "components/exo/shell_surface.h" |
(...skipping 21 matching lines...) Expand all Loading... |
32 MOCK_METHOD2(OnKeyboardEnter, | 32 MOCK_METHOD2(OnKeyboardEnter, |
33 void(Surface*, const std::vector<ui::DomCode>&)); | 33 void(Surface*, const std::vector<ui::DomCode>&)); |
34 MOCK_METHOD1(OnKeyboardLeave, void(Surface*)); | 34 MOCK_METHOD1(OnKeyboardLeave, void(Surface*)); |
35 MOCK_METHOD3(OnKeyboardKey, void(base::TimeDelta, ui::DomCode, bool)); | 35 MOCK_METHOD3(OnKeyboardKey, void(base::TimeDelta, ui::DomCode, bool)); |
36 MOCK_METHOD1(OnKeyboardModifiers, void(int)); | 36 MOCK_METHOD1(OnKeyboardModifiers, void(int)); |
37 }; | 37 }; |
38 | 38 |
39 TEST_F(KeyboardTest, OnKeyboardEnter) { | 39 TEST_F(KeyboardTest, OnKeyboardEnter) { |
40 scoped_ptr<Surface> surface(new Surface); | 40 scoped_ptr<Surface> surface(new Surface); |
41 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); | 41 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); |
42 shell_surface->Init(); | |
43 gfx::Size buffer_size(10, 10); | 42 gfx::Size buffer_size(10, 10); |
44 scoped_ptr<Buffer> buffer(new Buffer( | 43 scoped_ptr<Buffer> buffer(new Buffer( |
45 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); | 44 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); |
46 surface->Attach(buffer.get()); | 45 surface->Attach(buffer.get()); |
47 surface->Commit(); | 46 surface->Commit(); |
48 | 47 |
49 MockKeyboardDelegate delegate; | 48 MockKeyboardDelegate delegate; |
50 scoped_ptr<Keyboard> keyboard(new Keyboard(&delegate)); | 49 scoped_ptr<Keyboard> keyboard(new Keyboard(&delegate)); |
51 | 50 |
52 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); | 51 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); |
(...skipping 18 matching lines...) Expand all Loading... |
71 focus_client->FocusWindow(nullptr); | 70 focus_client->FocusWindow(nullptr); |
72 focus_client->FocusWindow(surface.get()); | 71 focus_client->FocusWindow(surface.get()); |
73 | 72 |
74 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); | 73 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); |
75 keyboard.reset(); | 74 keyboard.reset(); |
76 } | 75 } |
77 | 76 |
78 TEST_F(KeyboardTest, OnKeyboardLeave) { | 77 TEST_F(KeyboardTest, OnKeyboardLeave) { |
79 scoped_ptr<Surface> surface(new Surface); | 78 scoped_ptr<Surface> surface(new Surface); |
80 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); | 79 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); |
81 shell_surface->Init(); | |
82 gfx::Size buffer_size(10, 10); | 80 gfx::Size buffer_size(10, 10); |
83 scoped_ptr<Buffer> buffer(new Buffer( | 81 scoped_ptr<Buffer> buffer(new Buffer( |
84 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); | 82 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); |
85 surface->Attach(buffer.get()); | 83 surface->Attach(buffer.get()); |
86 surface->Commit(); | 84 surface->Commit(); |
87 | 85 |
88 MockKeyboardDelegate delegate; | 86 MockKeyboardDelegate delegate; |
89 scoped_ptr<Keyboard> keyboard(new Keyboard(&delegate)); | 87 scoped_ptr<Keyboard> keyboard(new Keyboard(&delegate)); |
90 | 88 |
91 aura::client::FocusClient* focus_client = | 89 aura::client::FocusClient* focus_client = |
92 aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow()); | 90 aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow()); |
93 EXPECT_CALL(delegate, CanAcceptKeyboardEventsForSurface(surface.get())) | 91 EXPECT_CALL(delegate, CanAcceptKeyboardEventsForSurface(surface.get())) |
94 .WillOnce(testing::Return(true)); | 92 .WillOnce(testing::Return(true)); |
95 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); | 93 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); |
96 EXPECT_CALL(delegate, | 94 EXPECT_CALL(delegate, |
97 OnKeyboardEnter(surface.get(), std::vector<ui::DomCode>())); | 95 OnKeyboardEnter(surface.get(), std::vector<ui::DomCode>())); |
98 focus_client->FocusWindow(surface.get()); | 96 focus_client->FocusWindow(surface.get()); |
99 | 97 |
100 EXPECT_CALL(delegate, OnKeyboardLeave(surface.get())); | 98 EXPECT_CALL(delegate, OnKeyboardLeave(surface.get())); |
101 focus_client->FocusWindow(nullptr); | 99 focus_client->FocusWindow(nullptr); |
102 | 100 |
103 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); | 101 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); |
104 keyboard.reset(); | 102 keyboard.reset(); |
105 } | 103 } |
106 | 104 |
107 TEST_F(KeyboardTest, OnKeyboardKey) { | 105 TEST_F(KeyboardTest, OnKeyboardKey) { |
108 scoped_ptr<Surface> surface(new Surface); | 106 scoped_ptr<Surface> surface(new Surface); |
109 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); | 107 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); |
110 shell_surface->Init(); | |
111 gfx::Size buffer_size(10, 10); | 108 gfx::Size buffer_size(10, 10); |
112 scoped_ptr<Buffer> buffer(new Buffer( | 109 scoped_ptr<Buffer> buffer(new Buffer( |
113 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); | 110 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); |
114 surface->Attach(buffer.get()); | 111 surface->Attach(buffer.get()); |
115 surface->Commit(); | 112 surface->Commit(); |
116 | 113 |
117 MockKeyboardDelegate delegate; | 114 MockKeyboardDelegate delegate; |
118 scoped_ptr<Keyboard> keyboard(new Keyboard(&delegate)); | 115 scoped_ptr<Keyboard> keyboard(new Keyboard(&delegate)); |
119 | 116 |
120 aura::client::FocusClient* focus_client = | 117 aura::client::FocusClient* focus_client = |
(...skipping 17 matching lines...) Expand all Loading... |
138 generator.ReleaseKey(ui::VKEY_A, 0); | 135 generator.ReleaseKey(ui::VKEY_A, 0); |
139 generator.ReleaseKey(ui::VKEY_A, 0); | 136 generator.ReleaseKey(ui::VKEY_A, 0); |
140 | 137 |
141 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); | 138 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); |
142 keyboard.reset(); | 139 keyboard.reset(); |
143 } | 140 } |
144 | 141 |
145 TEST_F(KeyboardTest, OnKeyboardModifiers) { | 142 TEST_F(KeyboardTest, OnKeyboardModifiers) { |
146 scoped_ptr<Surface> surface(new Surface); | 143 scoped_ptr<Surface> surface(new Surface); |
147 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); | 144 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); |
148 shell_surface->Init(); | |
149 gfx::Size buffer_size(10, 10); | 145 gfx::Size buffer_size(10, 10); |
150 scoped_ptr<Buffer> buffer(new Buffer( | 146 scoped_ptr<Buffer> buffer(new Buffer( |
151 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); | 147 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); |
152 surface->Attach(buffer.get()); | 148 surface->Attach(buffer.get()); |
153 surface->Commit(); | 149 surface->Commit(); |
154 | 150 |
155 MockKeyboardDelegate delegate; | 151 MockKeyboardDelegate delegate; |
156 scoped_ptr<Keyboard> keyboard(new Keyboard(&delegate)); | 152 scoped_ptr<Keyboard> keyboard(new Keyboard(&delegate)); |
157 | 153 |
158 aura::client::FocusClient* focus_client = | 154 aura::client::FocusClient* focus_client = |
(...skipping 21 matching lines...) Expand all Loading... |
180 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::US_B, false)); | 176 EXPECT_CALL(delegate, OnKeyboardKey(testing::_, ui::DomCode::US_B, false)); |
181 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); | 177 EXPECT_CALL(delegate, OnKeyboardModifiers(0)); |
182 generator.ReleaseKey(ui::VKEY_B, 0); | 178 generator.ReleaseKey(ui::VKEY_B, 0); |
183 | 179 |
184 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); | 180 EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); |
185 keyboard.reset(); | 181 keyboard.reset(); |
186 } | 182 } |
187 | 183 |
188 } // namespace | 184 } // namespace |
189 } // namespace exo | 185 } // namespace exo |
OLD | NEW |