| Index: content/browser/device_sensors/sensor_manager_chromeos.cc
|
| diff --git a/content/browser/device_sensors/sensor_manager_chromeos.cc b/content/browser/device_sensors/sensor_manager_chromeos.cc
|
| index 36bdadd81fea719fc52bd3b76484a1709ef4ca8a..12878cc561e23b301ab201dd0db355fa4a45476e 100644
|
| --- a/content/browser/device_sensors/sensor_manager_chromeos.cc
|
| +++ b/content/browser/device_sensors/sensor_manager_chromeos.cc
|
| @@ -140,11 +140,7 @@ void SensorManagerChromeOS::GenerateOrientationEvent(double x,
|
| return;
|
|
|
| // Create a unit vector for trigonometry
|
| - // TODO(jonross): Stop reversing signs for vector components once
|
| - // accelerometer values have been fixed. crbug.com/431391
|
| - // Ternaries are to remove -0.0f which gives incorrect trigonometrical
|
| - // results.
|
| - gfx::Vector3dF data(x, y ? -y : 0.0f, z ? -z : 0.0f);
|
| + gfx::Vector3dF data(x, y, z);
|
| data.Scale(1.0f / data.Length());
|
|
|
| // Transform accelerometer to W3C angles, using the Z-X-Y Eulerangles matrix.
|
| @@ -153,7 +149,7 @@ void SensorManagerChromeOS::GenerateOrientationEvent(double x,
|
| // z = cos(beta) * cos(gamma)
|
| // With only accelerometer alpha cannot be provided.
|
| double beta = kRad2deg * atan2(data.y(), data.z());
|
| - double gamma = kRad2deg * asin(data.x());
|
| + double gamma = kRad2deg * asin(-data.x());
|
|
|
| // Convert beta and gamma to fit the intervals in the specification. Beta is
|
| // [-180, 180) and gamma is [-90, 90).
|
|
|