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

Side by Side Diff: components/exo/pointer_unittest.cc

Issue 1645043003: exo: Improve window placement. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 | « components/exo/keyboard_unittest.cc ('k') | components/exo/shell_surface.h » ('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 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 "components/exo/buffer.h" 6 #include "components/exo/buffer.h"
7 #include "components/exo/pointer.h" 7 #include "components/exo/pointer.h"
8 #include "components/exo/pointer_delegate.h" 8 #include "components/exo/pointer_delegate.h"
9 #include "components/exo/shell_surface.h" 9 #include "components/exo/shell_surface.h"
10 #include "components/exo/surface.h" 10 #include "components/exo/surface.h"
(...skipping 19 matching lines...) Expand all
30 MOCK_METHOD3(OnPointerEnter, void(Surface*, const gfx::Point&, int)); 30 MOCK_METHOD3(OnPointerEnter, void(Surface*, const gfx::Point&, int));
31 MOCK_METHOD1(OnPointerLeave, void(Surface*)); 31 MOCK_METHOD1(OnPointerLeave, void(Surface*));
32 MOCK_METHOD2(OnPointerMotion, void(base::TimeDelta, const gfx::Point&)); 32 MOCK_METHOD2(OnPointerMotion, void(base::TimeDelta, const gfx::Point&));
33 MOCK_METHOD3(OnPointerButton, void(base::TimeDelta, int, bool)); 33 MOCK_METHOD3(OnPointerButton, void(base::TimeDelta, int, bool));
34 MOCK_METHOD2(OnPointerWheel, void(base::TimeDelta, const gfx::Vector2d&)); 34 MOCK_METHOD2(OnPointerWheel, void(base::TimeDelta, const gfx::Vector2d&));
35 }; 35 };
36 36
37 TEST_F(PointerTest, OnPointerEnter) { 37 TEST_F(PointerTest, OnPointerEnter) {
38 scoped_ptr<Surface> surface(new Surface); 38 scoped_ptr<Surface> surface(new Surface);
39 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); 39 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get()));
40 shell_surface->Init();
41 gfx::Size buffer_size(10, 10); 40 gfx::Size buffer_size(10, 10);
42 scoped_ptr<Buffer> buffer(new Buffer( 41 scoped_ptr<Buffer> buffer(new Buffer(
43 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); 42 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D));
44 surface->Attach(buffer.get()); 43 surface->Attach(buffer.get());
45 surface->Commit(); 44 surface->Commit();
46 45
47 MockPointerDelegate delegate; 46 MockPointerDelegate delegate;
48 scoped_ptr<Pointer> pointer(new Pointer(&delegate)); 47 scoped_ptr<Pointer> pointer(new Pointer(&delegate));
49 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); 48 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
50 49
51 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get())) 50 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get()))
52 .WillRepeatedly(testing::Return(true)); 51 .WillRepeatedly(testing::Return(true));
53 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0)); 52 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0));
54 generator.MoveMouseTo(surface->GetBoundsInScreen().origin()); 53 generator.MoveMouseTo(surface->GetBoundsInScreen().origin());
55 54
56 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); 55 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get()));
57 pointer.reset(); 56 pointer.reset();
58 } 57 }
59 58
60 TEST_F(PointerTest, OnPointerLeave) { 59 TEST_F(PointerTest, OnPointerLeave) {
61 scoped_ptr<Surface> surface(new Surface); 60 scoped_ptr<Surface> surface(new Surface);
62 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); 61 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get()));
63 shell_surface->Init();
64 gfx::Size buffer_size(10, 10); 62 gfx::Size buffer_size(10, 10);
65 scoped_ptr<Buffer> buffer(new Buffer( 63 scoped_ptr<Buffer> buffer(new Buffer(
66 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); 64 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D));
67 surface->Attach(buffer.get()); 65 surface->Attach(buffer.get());
68 surface->Commit(); 66 surface->Commit();
69 67
70 MockPointerDelegate delegate; 68 MockPointerDelegate delegate;
71 scoped_ptr<Pointer> pointer(new Pointer(&delegate)); 69 scoped_ptr<Pointer> pointer(new Pointer(&delegate));
72 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); 70 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
73 71
74 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get())) 72 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get()))
75 .WillRepeatedly(testing::Return(true)); 73 .WillRepeatedly(testing::Return(true));
76 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0)); 74 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0));
77 generator.MoveMouseTo(surface->GetBoundsInScreen().origin()); 75 generator.MoveMouseTo(surface->GetBoundsInScreen().origin());
78 76
79 EXPECT_CALL(delegate, OnPointerLeave(surface.get())); 77 EXPECT_CALL(delegate, OnPointerLeave(surface.get()));
80 generator.MoveMouseTo(surface->GetBoundsInScreen().bottom_right()); 78 generator.MoveMouseTo(surface->GetBoundsInScreen().bottom_right());
81 79
82 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); 80 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get()));
83 pointer.reset(); 81 pointer.reset();
84 } 82 }
85 83
86 TEST_F(PointerTest, OnPointerMotion) { 84 TEST_F(PointerTest, OnPointerMotion) {
87 scoped_ptr<Surface> surface(new Surface); 85 scoped_ptr<Surface> surface(new Surface);
88 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); 86 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get()));
89 shell_surface->Init();
90 gfx::Size buffer_size(10, 10); 87 gfx::Size buffer_size(10, 10);
91 scoped_ptr<Buffer> buffer(new Buffer( 88 scoped_ptr<Buffer> buffer(new Buffer(
92 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); 89 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D));
93 surface->Attach(buffer.get()); 90 surface->Attach(buffer.get());
94 surface->Commit(); 91 surface->Commit();
95 92
96 MockPointerDelegate delegate; 93 MockPointerDelegate delegate;
97 scoped_ptr<Pointer> pointer(new Pointer(&delegate)); 94 scoped_ptr<Pointer> pointer(new Pointer(&delegate));
98 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); 95 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
99 96
(...skipping 27 matching lines...) Expand all
127 generator.MoveMouseTo(sub_surface->GetBoundsInScreen().origin() + 124 generator.MoveMouseTo(sub_surface->GetBoundsInScreen().origin() +
128 gfx::Vector2d(1, 1)); 125 gfx::Vector2d(1, 1));
129 126
130 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); 127 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get()));
131 pointer.reset(); 128 pointer.reset();
132 } 129 }
133 130
134 TEST_F(PointerTest, OnPointerButton) { 131 TEST_F(PointerTest, OnPointerButton) {
135 scoped_ptr<Surface> surface(new Surface); 132 scoped_ptr<Surface> surface(new Surface);
136 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); 133 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get()));
137 shell_surface->Init();
138 gfx::Size buffer_size(10, 10); 134 gfx::Size buffer_size(10, 10);
139 scoped_ptr<Buffer> buffer(new Buffer( 135 scoped_ptr<Buffer> buffer(new Buffer(
140 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); 136 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D));
141 surface->Attach(buffer.get()); 137 surface->Attach(buffer.get());
142 surface->Commit(); 138 surface->Commit();
143 139
144 MockPointerDelegate delegate; 140 MockPointerDelegate delegate;
145 scoped_ptr<Pointer> pointer(new Pointer(&delegate)); 141 scoped_ptr<Pointer> pointer(new Pointer(&delegate));
146 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); 142 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
147 143
148 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get())) 144 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get()))
149 .WillRepeatedly(testing::Return(true)); 145 .WillRepeatedly(testing::Return(true));
150 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0)); 146 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0));
151 generator.MoveMouseTo(surface->GetBoundsInScreen().origin()); 147 generator.MoveMouseTo(surface->GetBoundsInScreen().origin());
152 148
153 EXPECT_CALL(delegate, 149 EXPECT_CALL(delegate,
154 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, true)); 150 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, true));
155 EXPECT_CALL(delegate, 151 EXPECT_CALL(delegate,
156 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, false)); 152 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, false));
157 generator.ClickLeftButton(); 153 generator.ClickLeftButton();
158 154
159 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); 155 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get()));
160 pointer.reset(); 156 pointer.reset();
161 } 157 }
162 158
163 TEST_F(PointerTest, OnPointerWheel) { 159 TEST_F(PointerTest, OnPointerWheel) {
164 scoped_ptr<Surface> surface(new Surface); 160 scoped_ptr<Surface> surface(new Surface);
165 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); 161 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get()));
166 shell_surface->Init();
167 gfx::Size buffer_size(10, 10); 162 gfx::Size buffer_size(10, 10);
168 scoped_ptr<Buffer> buffer(new Buffer( 163 scoped_ptr<Buffer> buffer(new Buffer(
169 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); 164 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D));
170 surface->Attach(buffer.get()); 165 surface->Attach(buffer.get());
171 surface->Commit(); 166 surface->Commit();
172 167
173 MockPointerDelegate delegate; 168 MockPointerDelegate delegate;
174 scoped_ptr<Pointer> pointer(new Pointer(&delegate)); 169 scoped_ptr<Pointer> pointer(new Pointer(&delegate));
175 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); 170 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
176 171
177 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get())) 172 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get()))
178 .WillRepeatedly(testing::Return(true)); 173 .WillRepeatedly(testing::Return(true));
179 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0)); 174 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0));
180 generator.MoveMouseTo(surface->GetBoundsInScreen().origin()); 175 generator.MoveMouseTo(surface->GetBoundsInScreen().origin());
181 176
182 EXPECT_CALL(delegate, OnPointerWheel(testing::_, gfx::Vector2d(1, 1))); 177 EXPECT_CALL(delegate, OnPointerWheel(testing::_, gfx::Vector2d(1, 1)));
183 generator.MoveMouseWheel(1, 1); 178 generator.MoveMouseWheel(1, 1);
184 179
185 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); 180 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get()));
186 pointer.reset(); 181 pointer.reset();
187 } 182 }
188 183
189 TEST_F(PointerTest, OnPointerScroll) { 184 TEST_F(PointerTest, OnPointerScroll) {
190 scoped_ptr<Surface> surface(new Surface); 185 scoped_ptr<Surface> surface(new Surface);
191 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); 186 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get()));
192 shell_surface->Init();
193 gfx::Size buffer_size(10, 10); 187 gfx::Size buffer_size(10, 10);
194 scoped_ptr<Buffer> buffer(new Buffer( 188 scoped_ptr<Buffer> buffer(new Buffer(
195 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); 189 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D));
196 surface->Attach(buffer.get()); 190 surface->Attach(buffer.get());
197 surface->Commit(); 191 surface->Commit();
198 192
199 MockPointerDelegate delegate; 193 MockPointerDelegate delegate;
200 scoped_ptr<Pointer> pointer(new Pointer(&delegate)); 194 scoped_ptr<Pointer> pointer(new Pointer(&delegate));
201 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); 195 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
202 gfx::Point location = surface->GetBoundsInScreen().origin(); 196 gfx::Point location = surface->GetBoundsInScreen().origin();
203 197
204 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get())) 198 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get()))
205 .WillRepeatedly(testing::Return(true)); 199 .WillRepeatedly(testing::Return(true));
206 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0)); 200 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0));
207 generator.MoveMouseTo(location); 201 generator.MoveMouseTo(location);
208 202
209 EXPECT_CALL(delegate, OnPointerWheel(testing::_, gfx::Vector2d(1, 1))); 203 EXPECT_CALL(delegate, OnPointerWheel(testing::_, gfx::Vector2d(1, 1)));
210 ui::ScrollEvent scroll_event(ui::ET_SCROLL, location, ui::EventTimeForNow(), 204 ui::ScrollEvent scroll_event(ui::ET_SCROLL, location, ui::EventTimeForNow(),
211 0 /* flags */, 1 /* x_offset */, 205 0 /* flags */, 1 /* x_offset */,
212 1 /* y_offset */, 1 /* x_offset_ordinal */, 206 1 /* y_offset */, 1 /* x_offset_ordinal */,
213 1 /* y_offset_ordinal */, 1 /* finger_count */); 207 1 /* y_offset_ordinal */, 1 /* finger_count */);
214 generator.Dispatch(&scroll_event); 208 generator.Dispatch(&scroll_event);
215 209
216 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); 210 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get()));
217 pointer.reset(); 211 pointer.reset();
218 } 212 }
219 213
220 } // namespace 214 } // namespace
221 } // namespace exo 215 } // namespace exo
OLDNEW
« no previous file with comments | « components/exo/keyboard_unittest.cc ('k') | components/exo/shell_surface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698