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

Side by Side Diff: content/browser/pointer_lock_browsertest.cc

Issue 2782893002: WebMouseEvent coordinates are now fractional & private (Closed)
Patch Set: Fixed compile failures. 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/pointer_lock_browsertest.h" 5 #include "content/browser/pointer_lock_browsertest.h"
6 6
7 #include "content/browser/frame_host/frame_tree.h" 7 #include "content/browser/frame_host/frame_tree.h"
8 #include "content/browser/renderer_host/render_widget_host_impl.h" 8 #include "content/browser/renderer_host/render_widget_host_impl.h"
9 #include "content/browser/renderer_host/render_widget_host_input_event_router.h" 9 #include "content/browser/renderer_host/render_widget_host_input_event_router.h"
10 #include "content/browser/web_contents/web_contents_impl.h" 10 #include "content/browser/web_contents/web_contents_impl.h"
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 191
192 // Add a mouse move event listener to the root frame. 192 // Add a mouse move event listener to the root frame.
193 EXPECT_TRUE(ExecuteScript( 193 EXPECT_TRUE(ExecuteScript(
194 root, 194 root,
195 "var x; var y; var mX; var mY; document.addEventListener('mousemove', " 195 "var x; var y; var mX; var mY; document.addEventListener('mousemove', "
196 "function(e) {x = e.x; y = e.y; mX = e.movementX; mY = e.movementY;});")); 196 "function(e) {x = e.x; y = e.y; mX = e.movementX; mY = e.movementY;});"));
197 197
198 blink::WebMouseEvent mouse_event(blink::WebInputEvent::MouseMove, 198 blink::WebMouseEvent mouse_event(blink::WebInputEvent::MouseMove,
199 blink::WebInputEvent::NoModifiers, 199 blink::WebInputEvent::NoModifiers,
200 blink::WebInputEvent::TimeStampForTesting); 200 blink::WebInputEvent::TimeStampForTesting);
201 mouse_event.x = 10; 201 mouse_event.position.x = 10;
202 mouse_event.y = 11; 202 mouse_event.position.y = 11;
203 mouse_event.movementX = 12; 203 mouse_event.movementX = 12;
204 mouse_event.movementY = 13; 204 mouse_event.movementY = 13;
205 router->RouteMouseEvent(root_view, &mouse_event, ui::LatencyInfo()); 205 router->RouteMouseEvent(root_view, &mouse_event, ui::LatencyInfo());
206 206
207 // Make sure that the renderer handled the input event. 207 // Make sure that the renderer handled the input event.
208 MainThreadFrameObserver root_observer(root_view->GetRenderWidgetHost()); 208 MainThreadFrameObserver root_observer(root_view->GetRenderWidgetHost());
209 root_observer.Wait(); 209 root_observer.Wait();
210 210
211 int x, y, movementX, movementY; 211 int x, y, movementX, movementY;
212 EXPECT_TRUE(ExecuteScriptAndExtractInt( 212 EXPECT_TRUE(ExecuteScriptAndExtractInt(
(...skipping 26 matching lines...) Expand all
239 // Add a mouse move event listener to the child frame. 239 // Add a mouse move event listener to the child frame.
240 EXPECT_TRUE(ExecuteScript( 240 EXPECT_TRUE(ExecuteScript(
241 child, 241 child,
242 "var x; var y; var mX; var mY; document.addEventListener('mousemove', " 242 "var x; var y; var mX; var mY; document.addEventListener('mousemove', "
243 "function(e) {x = e.x; y = e.y; mX = e.movementX; mY = e.movementY;});")); 243 "function(e) {x = e.x; y = e.y; mX = e.movementX; mY = e.movementY;});"));
244 244
245 gfx::Point transformed_point; 245 gfx::Point transformed_point;
246 root_view->TransformPointToCoordSpaceForView(gfx::Point(0, 0), child_view, 246 root_view->TransformPointToCoordSpaceForView(gfx::Point(0, 0), child_view,
247 &transformed_point); 247 &transformed_point);
248 248
249 mouse_event.x = -transformed_point.x() + 14; 249 mouse_event.position.x = -transformed_point.x() + 14;
250 mouse_event.y = -transformed_point.y() + 15; 250 mouse_event.position.y = -transformed_point.y() + 15;
251 mouse_event.movementX = 16; 251 mouse_event.movementX = 16;
252 mouse_event.movementY = 17; 252 mouse_event.movementY = 17;
253 // We use root_view intentionally as the RenderWidgetHostInputEventRouter is 253 // We use root_view intentionally as the RenderWidgetHostInputEventRouter is
254 // responsible for correctly routing the event to the child frame. 254 // responsible for correctly routing the event to the child frame.
255 router->RouteMouseEvent(root_view, &mouse_event, ui::LatencyInfo()); 255 router->RouteMouseEvent(root_view, &mouse_event, ui::LatencyInfo());
256 256
257 // Make sure that the renderer handled the input event. 257 // Make sure that the renderer handled the input event.
258 MainThreadFrameObserver child_observer(child_view->GetRenderWidgetHost()); 258 MainThreadFrameObserver child_observer(child_view->GetRenderWidgetHost());
259 child_observer.Wait(); 259 child_observer.Wait();
260 260
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 EXPECT_TRUE(ExecuteScript( 337 EXPECT_TRUE(ExecuteScript(
338 root, 338 root,
339 "var x; var y; var mX; var mY; document.addEventListener('mousewheel', " 339 "var x; var y; var mX; var mY; document.addEventListener('mousewheel', "
340 "function(e) {x = e.x; y = e.y; dX = e.deltaX; dY = e.deltaY;});")); 340 "function(e) {x = e.x; y = e.y; dX = e.deltaX; dY = e.deltaY;});"));
341 MainThreadFrameObserver root_observer(root_view->GetRenderWidgetHost()); 341 MainThreadFrameObserver root_observer(root_view->GetRenderWidgetHost());
342 root_observer.Wait(); 342 root_observer.Wait();
343 343
344 blink::WebMouseWheelEvent wheel_event( 344 blink::WebMouseWheelEvent wheel_event(
345 blink::WebInputEvent::MouseWheel, blink::WebInputEvent::NoModifiers, 345 blink::WebInputEvent::MouseWheel, blink::WebInputEvent::NoModifiers,
346 blink::WebInputEvent::TimeStampForTesting); 346 blink::WebInputEvent::TimeStampForTesting);
347 wheel_event.x = 10; 347 wheel_event.position.x = 10;
348 wheel_event.y = 11; 348 wheel_event.position.y = 11;
349 wheel_event.deltaX = -12; 349 wheel_event.deltaX = -12;
350 wheel_event.deltaY = -13; 350 wheel_event.deltaY = -13;
351 router->RouteMouseWheelEvent(root_view, &wheel_event, ui::LatencyInfo()); 351 router->RouteMouseWheelEvent(root_view, &wheel_event, ui::LatencyInfo());
352 352
353 // Make sure that the renderer handled the input event. 353 // Make sure that the renderer handled the input event.
354 root_observer.Wait(); 354 root_observer.Wait();
355 355
356 int x, y, deltaX, deltaY; 356 int x, y, deltaX, deltaY;
357 EXPECT_TRUE(ExecuteScriptAndExtractInt( 357 EXPECT_TRUE(ExecuteScriptAndExtractInt(
358 root, "window.domAutomationController.send(x);", &x)); 358 root, "window.domAutomationController.send(x);", &x));
(...skipping 27 matching lines...) Expand all
386 child, 386 child,
387 "var x; var y; var mX; var mY; document.addEventListener('mousewheel', " 387 "var x; var y; var mX; var mY; document.addEventListener('mousewheel', "
388 "function(e) {x = e.x; y = e.y; dX = e.deltaX; dY = e.deltaY;});")); 388 "function(e) {x = e.x; y = e.y; dX = e.deltaX; dY = e.deltaY;});"));
389 MainThreadFrameObserver child_observer(child_view->GetRenderWidgetHost()); 389 MainThreadFrameObserver child_observer(child_view->GetRenderWidgetHost());
390 child_observer.Wait(); 390 child_observer.Wait();
391 391
392 gfx::Point transformed_point; 392 gfx::Point transformed_point;
393 root_view->TransformPointToCoordSpaceForView(gfx::Point(0, 0), child_view, 393 root_view->TransformPointToCoordSpaceForView(gfx::Point(0, 0), child_view,
394 &transformed_point); 394 &transformed_point);
395 395
396 wheel_event.x = -transformed_point.x() + 14; 396 wheel_event.position.x = -transformed_point.x() + 14;
397 wheel_event.y = -transformed_point.y() + 15; 397 wheel_event.position.y = -transformed_point.y() + 15;
398 wheel_event.deltaX = -16; 398 wheel_event.deltaX = -16;
399 wheel_event.deltaY = -17; 399 wheel_event.deltaY = -17;
400 // We use root_view intentionally as the RenderWidgetHostInputEventRouter is 400 // We use root_view intentionally as the RenderWidgetHostInputEventRouter is
401 // responsible for correctly routing the event to the child frame. 401 // responsible for correctly routing the event to the child frame.
402 router->RouteMouseWheelEvent(root_view, &wheel_event, ui::LatencyInfo()); 402 router->RouteMouseWheelEvent(root_view, &wheel_event, ui::LatencyInfo());
403 403
404 // Make sure that the renderer handled the input event. 404 // Make sure that the renderer handled the input event.
405 child_observer.Wait(); 405 child_observer.Wait();
406 406
407 EXPECT_TRUE(ExecuteScriptAndExtractInt( 407 EXPECT_TRUE(ExecuteScriptAndExtractInt(
408 child, "window.domAutomationController.send(x);", &x)); 408 child, "window.domAutomationController.send(x);", &x));
409 EXPECT_TRUE(ExecuteScriptAndExtractInt( 409 EXPECT_TRUE(ExecuteScriptAndExtractInt(
410 child, "window.domAutomationController.send(y);", &y)); 410 child, "window.domAutomationController.send(y);", &y));
411 EXPECT_TRUE(ExecuteScriptAndExtractInt( 411 EXPECT_TRUE(ExecuteScriptAndExtractInt(
412 child, "window.domAutomationController.send(dX);", &deltaX)); 412 child, "window.domAutomationController.send(dX);", &deltaX));
413 EXPECT_TRUE(ExecuteScriptAndExtractInt( 413 EXPECT_TRUE(ExecuteScriptAndExtractInt(
414 child, "window.domAutomationController.send(dY);", &deltaY)); 414 child, "window.domAutomationController.send(dY);", &deltaY));
415 EXPECT_EQ(14, x); 415 EXPECT_EQ(14, x);
416 EXPECT_EQ(15, y); 416 EXPECT_EQ(15, y);
417 EXPECT_EQ(16, deltaX); 417 EXPECT_EQ(16, deltaX);
418 EXPECT_EQ(17, deltaY); 418 EXPECT_EQ(17, deltaY);
419 } 419 }
420 420
421 } // namespace content 421 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698