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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Issue 11568006: events: Update scroll and touch handlers to not return EventResult. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: self-nit Created 8 years 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 | Annotate | Revision Log
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 "content/browser/renderer_host/render_widget_host_view_aura.h" 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "content/browser/renderer_host/render_widget_host_delegate.h" 9 #include "content/browser/renderer_host/render_widget_host_delegate.h"
10 #include "content/browser/renderer_host/render_widget_host_impl.h" 10 #include "content/browser/renderer_host/render_widget_host_impl.h"
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 widget_host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, false)); 173 widget_host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, false));
174 EXPECT_FALSE(widget_host_->ShouldForwardTouchEvent()); 174 EXPECT_FALSE(widget_host_->ShouldForwardTouchEvent());
175 175
176 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(30, 30), 0, 176 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(30, 30), 0,
177 base::Time::NowFromSystemTime() - base::Time()); 177 base::Time::NowFromSystemTime() - base::Time());
178 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(20, 20), 0, 178 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(20, 20), 0,
179 base::Time::NowFromSystemTime() - base::Time()); 179 base::Time::NowFromSystemTime() - base::Time());
180 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(20, 20), 0, 180 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(20, 20), 0,
181 base::Time::NowFromSystemTime() - base::Time()); 181 base::Time::NowFromSystemTime() - base::Time());
182 182
183 EXPECT_EQ(ui::ER_UNHANDLED, view_->OnTouchEvent(&press)); 183 view_->OnTouchEvent(&press);
184 EXPECT_FALSE(press.handled());
184 EXPECT_EQ(WebKit::WebInputEvent::TouchStart, view_->touch_event_.type); 185 EXPECT_EQ(WebKit::WebInputEvent::TouchStart, view_->touch_event_.type);
185 EXPECT_EQ(1U, view_->touch_event_.touchesLength); 186 EXPECT_EQ(1U, view_->touch_event_.touchesLength);
186 EXPECT_EQ(WebKit::WebTouchPoint::StatePressed, 187 EXPECT_EQ(WebKit::WebTouchPoint::StatePressed,
187 view_->touch_event_.touches[0].state); 188 view_->touch_event_.touches[0].state);
188 189
189 EXPECT_EQ(ui::ER_UNHANDLED, view_->OnTouchEvent(&move)); 190 view_->OnTouchEvent(&move);
191 EXPECT_FALSE(move.handled());
190 EXPECT_EQ(WebKit::WebInputEvent::TouchMove, view_->touch_event_.type); 192 EXPECT_EQ(WebKit::WebInputEvent::TouchMove, view_->touch_event_.type);
191 EXPECT_EQ(1U, view_->touch_event_.touchesLength); 193 EXPECT_EQ(1U, view_->touch_event_.touchesLength);
192 EXPECT_EQ(WebKit::WebTouchPoint::StateMoved, 194 EXPECT_EQ(WebKit::WebTouchPoint::StateMoved,
193 view_->touch_event_.touches[0].state); 195 view_->touch_event_.touches[0].state);
194 196
195 EXPECT_EQ(ui::ER_UNHANDLED, view_->OnTouchEvent(&release)); 197 view_->OnTouchEvent(&release);
198 EXPECT_FALSE(release.handled());
196 EXPECT_EQ(WebKit::WebInputEvent::TouchEnd, view_->touch_event_.type); 199 EXPECT_EQ(WebKit::WebInputEvent::TouchEnd, view_->touch_event_.type);
197 EXPECT_EQ(0U, view_->touch_event_.touchesLength); 200 EXPECT_EQ(0U, view_->touch_event_.touchesLength);
198 201
199 // Now install some touch-event handlers and do the same steps. The touch 202 // Now install some touch-event handlers and do the same steps. The touch
200 // events should now be consumed. However, the touch-event state should be 203 // events should now be consumed. However, the touch-event state should be
201 // updated as before. 204 // updated as before.
202 widget_host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true)); 205 widget_host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true));
203 EXPECT_TRUE(widget_host_->ShouldForwardTouchEvent()); 206 EXPECT_TRUE(widget_host_->ShouldForwardTouchEvent());
204 207
205 EXPECT_EQ(ui::ER_CONSUMED, view_->OnTouchEvent(&press)); 208 view_->OnTouchEvent(&press);
209 EXPECT_TRUE(press.stopped_propagation());
206 EXPECT_EQ(WebKit::WebInputEvent::TouchStart, view_->touch_event_.type); 210 EXPECT_EQ(WebKit::WebInputEvent::TouchStart, view_->touch_event_.type);
207 EXPECT_EQ(1U, view_->touch_event_.touchesLength); 211 EXPECT_EQ(1U, view_->touch_event_.touchesLength);
208 EXPECT_EQ(WebKit::WebTouchPoint::StatePressed, 212 EXPECT_EQ(WebKit::WebTouchPoint::StatePressed,
209 view_->touch_event_.touches[0].state); 213 view_->touch_event_.touches[0].state);
210 214
211 EXPECT_EQ(ui::ER_CONSUMED, view_->OnTouchEvent(&move)); 215 view_->OnTouchEvent(&move);
216 EXPECT_TRUE(move.stopped_propagation());
212 EXPECT_EQ(WebKit::WebInputEvent::TouchMove, view_->touch_event_.type); 217 EXPECT_EQ(WebKit::WebInputEvent::TouchMove, view_->touch_event_.type);
213 EXPECT_EQ(1U, view_->touch_event_.touchesLength); 218 EXPECT_EQ(1U, view_->touch_event_.touchesLength);
214 EXPECT_EQ(WebKit::WebTouchPoint::StateMoved, 219 EXPECT_EQ(WebKit::WebTouchPoint::StateMoved,
215 view_->touch_event_.touches[0].state); 220 view_->touch_event_.touches[0].state);
216 221
217 EXPECT_EQ(ui::ER_CONSUMED, view_->OnTouchEvent(&release)); 222 view_->OnTouchEvent(&release);
223 EXPECT_TRUE(release.stopped_propagation());
218 EXPECT_EQ(WebKit::WebInputEvent::TouchEnd, view_->touch_event_.type); 224 EXPECT_EQ(WebKit::WebInputEvent::TouchEnd, view_->touch_event_.type);
219 EXPECT_EQ(0U, view_->touch_event_.touchesLength); 225 EXPECT_EQ(0U, view_->touch_event_.touchesLength);
220 226
221 // Now start a touch event, and remove the event-handlers before the release. 227 // Now start a touch event, and remove the event-handlers before the release.
222 EXPECT_EQ(ui::ER_CONSUMED, view_->OnTouchEvent(&press)); 228 view_->OnTouchEvent(&press);
229 EXPECT_TRUE(press.stopped_propagation());
223 EXPECT_EQ(WebKit::WebInputEvent::TouchStart, view_->touch_event_.type); 230 EXPECT_EQ(WebKit::WebInputEvent::TouchStart, view_->touch_event_.type);
224 EXPECT_EQ(1U, view_->touch_event_.touchesLength); 231 EXPECT_EQ(1U, view_->touch_event_.touchesLength);
225 EXPECT_EQ(WebKit::WebTouchPoint::StatePressed, 232 EXPECT_EQ(WebKit::WebTouchPoint::StatePressed,
226 view_->touch_event_.touches[0].state); 233 view_->touch_event_.touches[0].state);
227 234
228 widget_host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, false)); 235 widget_host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, false));
229 EXPECT_FALSE(widget_host_->ShouldForwardTouchEvent()); 236 EXPECT_FALSE(widget_host_->ShouldForwardTouchEvent());
230 237
231 EXPECT_EQ(ui::ER_UNHANDLED, view_->OnTouchEvent(&move)); 238 ui::TouchEvent move2(ui::ET_TOUCH_MOVED, gfx::Point(20, 20), 0,
239 base::Time::NowFromSystemTime() - base::Time());
240 view_->OnTouchEvent(&move2);
241 EXPECT_FALSE(move2.handled());
232 EXPECT_EQ(WebKit::WebInputEvent::TouchMove, view_->touch_event_.type); 242 EXPECT_EQ(WebKit::WebInputEvent::TouchMove, view_->touch_event_.type);
233 EXPECT_EQ(1U, view_->touch_event_.touchesLength); 243 EXPECT_EQ(1U, view_->touch_event_.touchesLength);
234 EXPECT_EQ(WebKit::WebTouchPoint::StateMoved, 244 EXPECT_EQ(WebKit::WebTouchPoint::StateMoved,
235 view_->touch_event_.touches[0].state); 245 view_->touch_event_.touches[0].state);
236 246
237 EXPECT_EQ(ui::ER_UNHANDLED, view_->OnTouchEvent(&release)); 247 ui::TouchEvent release2(ui::ET_TOUCH_RELEASED, gfx::Point(20, 20), 0,
248 base::Time::NowFromSystemTime() - base::Time());
249 view_->OnTouchEvent(&release2);
250 EXPECT_FALSE(release2.handled());
238 EXPECT_EQ(WebKit::WebInputEvent::TouchEnd, view_->touch_event_.type); 251 EXPECT_EQ(WebKit::WebInputEvent::TouchEnd, view_->touch_event_.type);
239 EXPECT_EQ(0U, view_->touch_event_.touchesLength); 252 EXPECT_EQ(0U, view_->touch_event_.touchesLength);
240 } 253 }
241 254
242 // Checks that touch-events are queued properly when there is a touch-event 255 // Checks that touch-events are queued properly when there is a touch-event
243 // handler on the page. 256 // handler on the page.
244 TEST_F(RenderWidgetHostViewAuraTest, TouchEventSyncAsync) { 257 TEST_F(RenderWidgetHostViewAuraTest, TouchEventSyncAsync) {
245 view_->InitAsChild(NULL); 258 view_->InitAsChild(NULL);
246 view_->Show(); 259 view_->Show();
247 260
248 widget_host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true)); 261 widget_host_->OnMessageReceived(ViewHostMsg_HasTouchEventHandlers(0, true));
249 EXPECT_TRUE(widget_host_->ShouldForwardTouchEvent()); 262 EXPECT_TRUE(widget_host_->ShouldForwardTouchEvent());
250 263
251 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(30, 30), 0, 264 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(30, 30), 0,
252 base::Time::NowFromSystemTime() - base::Time()); 265 base::Time::NowFromSystemTime() - base::Time());
253 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(20, 20), 0, 266 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(20, 20), 0,
254 base::Time::NowFromSystemTime() - base::Time()); 267 base::Time::NowFromSystemTime() - base::Time());
255 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(20, 20), 0, 268 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(20, 20), 0,
256 base::Time::NowFromSystemTime() - base::Time()); 269 base::Time::NowFromSystemTime() - base::Time());
257 270
258 EXPECT_EQ(ui::ER_CONSUMED, view_->OnTouchEvent(&press)); 271 view_->OnTouchEvent(&press);
272 EXPECT_TRUE(press.stopped_propagation());
259 EXPECT_EQ(WebKit::WebInputEvent::TouchStart, view_->touch_event_.type); 273 EXPECT_EQ(WebKit::WebInputEvent::TouchStart, view_->touch_event_.type);
260 EXPECT_EQ(1U, view_->touch_event_.touchesLength); 274 EXPECT_EQ(1U, view_->touch_event_.touchesLength);
261 EXPECT_EQ(WebKit::WebTouchPoint::StatePressed, 275 EXPECT_EQ(WebKit::WebTouchPoint::StatePressed,
262 view_->touch_event_.touches[0].state); 276 view_->touch_event_.touches[0].state);
263 277
264 EXPECT_EQ(ui::ER_CONSUMED, view_->OnTouchEvent(&move)); 278 view_->OnTouchEvent(&move);
279 EXPECT_TRUE(move.stopped_propagation());
265 EXPECT_EQ(WebKit::WebInputEvent::TouchMove, view_->touch_event_.type); 280 EXPECT_EQ(WebKit::WebInputEvent::TouchMove, view_->touch_event_.type);
266 EXPECT_EQ(1U, view_->touch_event_.touchesLength); 281 EXPECT_EQ(1U, view_->touch_event_.touchesLength);
267 EXPECT_EQ(WebKit::WebTouchPoint::StateMoved, 282 EXPECT_EQ(WebKit::WebTouchPoint::StateMoved,
268 view_->touch_event_.touches[0].state); 283 view_->touch_event_.touches[0].state);
269 284
270 // Send the same move event. Since the point hasn't moved, it won't affect the 285 // Send the same move event. Since the point hasn't moved, it won't affect the
271 // queue. However, the view should consume the event. 286 // queue. However, the view should consume the event.
272 EXPECT_EQ(ui::ER_CONSUMED, view_->OnTouchEvent(&move)); 287 view_->OnTouchEvent(&move);
288 EXPECT_TRUE(move.stopped_propagation());
273 EXPECT_EQ(WebKit::WebInputEvent::TouchMove, view_->touch_event_.type); 289 EXPECT_EQ(WebKit::WebInputEvent::TouchMove, view_->touch_event_.type);
274 EXPECT_EQ(1U, view_->touch_event_.touchesLength); 290 EXPECT_EQ(1U, view_->touch_event_.touchesLength);
275 EXPECT_EQ(WebKit::WebTouchPoint::StateMoved, 291 EXPECT_EQ(WebKit::WebTouchPoint::StateMoved,
276 view_->touch_event_.touches[0].state); 292 view_->touch_event_.touches[0].state);
277 293
278 EXPECT_EQ(ui::ER_CONSUMED, view_->OnTouchEvent(&release)); 294 view_->OnTouchEvent(&release);
295 EXPECT_TRUE(release.stopped_propagation());
279 EXPECT_EQ(WebKit::WebInputEvent::TouchEnd, view_->touch_event_.type); 296 EXPECT_EQ(WebKit::WebInputEvent::TouchEnd, view_->touch_event_.type);
280 EXPECT_EQ(0U, view_->touch_event_.touchesLength); 297 EXPECT_EQ(0U, view_->touch_event_.touchesLength);
281 } 298 }
282 299
283 } // namespace content 300 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_aura.cc ('k') | ui/app_list/contents_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698