| Index: ash/content/display/screen_orientation_controller_chromeos.cc
|
| diff --git a/ash/content/display/screen_orientation_controller_chromeos.cc b/ash/content/display/screen_orientation_controller_chromeos.cc
|
| index 8901032eef771c473b0e59248f283d1253d4051f..974dd651eb636925b336af7604ef8d98ceb9ecf2 100644
|
| --- a/ash/content/display/screen_orientation_controller_chromeos.cc
|
| +++ b/ash/content/display/screen_orientation_controller_chromeos.cc
|
| @@ -344,7 +344,7 @@ void ScreenOrientationController::HandleScreenRotation(
|
| // The reference vector is the angle of gravity when the device is rotated
|
| // clockwise by 45 degrees. Computing the angle between this vector and
|
| // gravity we can easily determine the expected display rotation.
|
| - static const gfx::Vector3dF rotation_reference(-1.0f, -1.0f, 0.0f);
|
| + static const gfx::Vector3dF rotation_reference(-1.0f, 1.0f, 0.0f);
|
|
|
| // Set the down vector to match the expected direction of gravity given the
|
| // last configured rotation. This is used to enforce a stickiness that the
|
| @@ -352,13 +352,13 @@ void ScreenOrientationController::HandleScreenRotation(
|
| // when holding the device near 45 degrees.
|
| gfx::Vector3dF down(0.0f, 0.0f, 0.0f);
|
| if (current_rotation_ == gfx::Display::ROTATE_0)
|
| - down.set_y(-1.0f);
|
| + down.set_y(1.0f);
|
| else if (current_rotation_ == gfx::Display::ROTATE_90)
|
| - down.set_x(-1.0f);
|
| + down.set_x(1.0f);
|
| else if (current_rotation_ == gfx::Display::ROTATE_180)
|
| - down.set_y(1.0f);
|
| + down.set_y(-1.0f);
|
| else
|
| - down.set_x(1.0f);
|
| + down.set_x(-1.0f);
|
|
|
| // Don't rotate if the screen has not passed the threshold.
|
| if (gfx::AngleBetweenVectorsInDegrees(down, lid_flattened) <
|
| @@ -367,20 +367,21 @@ void ScreenOrientationController::HandleScreenRotation(
|
| }
|
|
|
| float angle = gfx::ClockwiseAngleBetweenVectorsInDegrees(
|
| - rotation_reference, lid_flattened, gfx::Vector3dF(0.0f, 0.0f, -1.0f));
|
| + rotation_reference, lid_flattened, gfx::Vector3dF(0.0f, 0.0f, 1.0f));
|
|
|
| - gfx::Display::Rotation new_rotation = gfx::Display::ROTATE_90;
|
| + gfx::Display::Rotation new_rotation = gfx::Display::ROTATE_270;
|
| if (angle < 90.0f)
|
| new_rotation = gfx::Display::ROTATE_0;
|
| else if (angle < 180.0f)
|
| - new_rotation = gfx::Display::ROTATE_270;
|
| + new_rotation = gfx::Display::ROTATE_90;
|
| else if (angle < 270.0f)
|
| new_rotation = gfx::Display::ROTATE_180;
|
|
|
| if (new_rotation != current_rotation_ &&
|
| - IsRotationAllowedInLockedState(new_rotation))
|
| + IsRotationAllowedInLockedState(new_rotation)) {
|
| SetDisplayRotation(new_rotation,
|
| gfx::Display::ROTATION_SOURCE_ACCELEROMETER);
|
| + }
|
| }
|
|
|
| void ScreenOrientationController::LoadDisplayRotationProperties() {
|
|
|