Index: content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
index d87115484b1d066f87f1a6e9ca30a4fa27b4d932..04a78e0e4c4f682c3f8f2ae9cc5aadc5208c4573 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc |
@@ -1802,6 +1802,31 @@ TEST_F(RenderWidgetHostViewAuraTest, VisibleViewportTest) { |
EXPECT_EQ(60, params.a.visible_viewport_size.height()); |
} |
+// Ensures that touch event positions are never truncated to integers. |
+TEST_F(RenderWidgetHostViewAuraTest, TouchEventPositionsArentRounded) { |
+ const float kX = 30.58f; |
+ const float kY = 50.23f; |
+ |
+ view_->InitAsChild(NULL); |
+ view_->Show(); |
+ |
+ ui::TouchEvent press(ui::ET_TOUCH_PRESSED, |
+ gfx::PointF(kX, kY), |
+ 0, |
+ ui::EventTimeForNow()); |
+ |
+ view_->OnTouchEvent(&press); |
+ EXPECT_EQ(blink::WebInputEvent::TouchStart, view_->touch_event_.type); |
+ EXPECT_TRUE(view_->touch_event_.cancelable); |
+ EXPECT_EQ(1U, view_->touch_event_.touchesLength); |
+ EXPECT_EQ(blink::WebTouchPoint::StatePressed, |
+ view_->touch_event_.touches[0].state); |
+ EXPECT_EQ(kX, view_->touch_event_.touches[0].screenPosition.x); |
+ EXPECT_EQ(kX, view_->touch_event_.touches[0].position.x); |
+ EXPECT_EQ(kY, view_->touch_event_.touches[0].screenPosition.y); |
+ EXPECT_EQ(kY, view_->touch_event_.touches[0].position.y); |
+} |
+ |
// Tests that scroll ACKs are correctly handled by the overscroll-navigation |
// controller. |
TEST_F(RenderWidgetHostViewAuraOverscrollTest, WheelScrollEventOverscrolls) { |