| Index: ui/events/android/motion_event_android_unittest.cc | 
| diff --git a/ui/events/android/motion_event_android_unittest.cc b/ui/events/android/motion_event_android_unittest.cc | 
| index 0df61228edcbc57726c2282ea9f6dbab529897da..8c67a9d8674468caa94ceb40328e3f7881b0e851 100644 | 
| --- a/ui/events/android/motion_event_android_unittest.cc | 
| +++ b/ui/events/android/motion_event_android_unittest.cc | 
| @@ -4,6 +4,7 @@ | 
|  | 
| #include <android/input.h> | 
| #include <stddef.h> | 
| +#include <cmath> | 
|  | 
| #include "base/android/jni_android.h" | 
| #include "testing/gtest/include/gtest/gtest.h" | 
| @@ -31,8 +32,21 @@ int kAndroidToolTypeFinger = 1; | 
| // developer.android.com/reference/android/view/MotionEvent.html#BUTTON_PRIMARY. | 
| int kAndroidButtonPrimary = 1; | 
|  | 
| +// This function convert tilt_x and tilt_y back to tilt_rad. | 
| +float ConvertToTiltRad(float tilt_x, float tilt_y) { | 
| +  float tilt_x_r = sin(tilt_x * M_PI / 180.f); | 
| +  float tilt_x_z = cos(tilt_x * M_PI / 180.f); | 
| +  float tilt_y_r = sin(tilt_y * M_PI / 180.f); | 
| +  float tilt_y_z = cos(tilt_y * M_PI / 180.f); | 
| +  float r_x = tilt_x_r * tilt_y_z; | 
| +  float r_y = tilt_y_r * tilt_x_z; | 
| +  float r = sqrt(r_x * r_x + r_y * r_y); | 
| +  float z = tilt_x_z * tilt_y_z; | 
| +  return atan2(r, z); | 
| +} | 
| }  // namespace | 
|  | 
| +constexpr float float_error = 0.0001f; | 
| // Note that these tests avoid creating a Java instance of the MotionEvent, as | 
| // we're primarily testing caching behavior, and the code necessary to | 
| // construct a Java-backed MotionEvent itself adds unnecessary complexity. | 
| @@ -42,8 +56,8 @@ TEST(MotionEventAndroidTest, Constructor) { | 
| base::TimeTicks() + base::TimeDelta::FromMilliseconds(event_time_ms); | 
| MotionEventAndroid::Pointer p0( | 
| 1, 13.7f, -7.13f, 5.3f, 1.2f, 0.1f, 0.2f, kAndroidToolTypeFinger); | 
| -  MotionEventAndroid::Pointer p1( | 
| -      2, -13.7f, 7.13f, 3.5f, 12.1f, -0.1f, -0.4f, kAndroidToolTypeFinger); | 
| +  MotionEventAndroid::Pointer p1(2, -13.7f, 7.13f, 3.5f, 12.1f, -0.1f, 0.4f, | 
| +                                 kAndroidToolTypeFinger); | 
| float raw_offset = -3.f; | 
| int pointer_count = 2; | 
| int history_size = 0; | 
| @@ -70,8 +84,12 @@ TEST(MotionEventAndroidTest, Constructor) { | 
| EXPECT_EQ(p1.touch_minor_pixels * kPixToDip, event.GetTouchMinor(1)); | 
| EXPECT_EQ(p0.orientation_rad, event.GetOrientation(0)); | 
| EXPECT_EQ(p1.orientation_rad, event.GetOrientation(1)); | 
| -  EXPECT_EQ(p0.tilt_rad, event.GetTilt(0)); | 
| -  EXPECT_EQ(p1.tilt_rad, event.GetTilt(1)); | 
| +  EXPECT_NEAR(p0.tilt_rad, | 
| +              ConvertToTiltRad(event.GetTiltX(0), event.GetTiltY(0)), | 
| +              float_error); | 
| +  EXPECT_NEAR(p1.tilt_rad, | 
| +              ConvertToTiltRad(event.GetTiltX(1), event.GetTiltY(1)), | 
| +              float_error); | 
| EXPECT_EQ(p0.id, event.GetPointerId(0)); | 
| EXPECT_EQ(p1.id, event.GetPointerId(1)); | 
| EXPECT_EQ(MotionEvent::TOOL_TYPE_FINGER, event.GetToolType(0)); | 
|  |