| Index: ash/display/screen_orientation_controller_chromeos.cc
|
| diff --git a/ash/display/screen_orientation_controller_chromeos.cc b/ash/display/screen_orientation_controller_chromeos.cc
|
| index 43663a511df5d730862a028d5aa661bddf537ebe..6444bcc505248c88a4b391c63b0d73b9818e7334 100644
|
| --- a/ash/display/screen_orientation_controller_chromeos.cc
|
| +++ b/ash/display/screen_orientation_controller_chromeos.cc
|
| @@ -232,14 +232,15 @@ void ScreenOrientationController::ToggleUserRotationLock() {
|
| .GetActiveRotation();
|
| user_locked_orientation_ = RotationToOrientation(current_rotation);
|
| }
|
| - base::AutoReset<bool> auto_ignore_display_configuration_updates(
|
| - &ignore_display_configuration_updates_, true);
|
| - Shell::GetInstance()->display_manager()->RegisterDisplayRotationProperties(
|
| - user_rotation_locked(), OrientationToRotation(user_locked_orientation_));
|
| + SetLockToOrientation(user_locked_orientation_);
|
| +}
|
|
|
| - ApplyLockForActiveWindow();
|
| - for (auto& observer : observers_)
|
| - observer.OnUserRotationLockChanged();
|
| +void ScreenOrientationController::SetLockToRotation(
|
| + display::Display::Rotation rotation) {
|
| + if (!display::Display::HasInternalDisplay())
|
| + return;
|
| +
|
| + SetLockToOrientation(user_locked_orientation_);
|
| }
|
|
|
| void ScreenOrientationController::OnWindowActivated(ActivationReason reason,
|
| @@ -357,6 +358,19 @@ void ScreenOrientationController::SetRotationLockedInternal(
|
| rotation_locked_orientation_ = blink::WebScreenOrientationLockAny;
|
| }
|
|
|
| +void ScreenOrientationController::SetLockToOrientation(
|
| + blink::WebScreenOrientationLockType orientation) {
|
| + user_locked_orientation_ = orientation;
|
| + base::AutoReset<bool> auto_ignore_display_configuration_updates(
|
| + &ignore_display_configuration_updates_, true);
|
| + Shell::GetInstance()->display_manager()->RegisterDisplayRotationProperties(
|
| + user_rotation_locked(), OrientationToRotation(user_locked_orientation_));
|
| +
|
| + ApplyLockForActiveWindow();
|
| + for (auto& observer : observers_)
|
| + observer.OnUserRotationLockChanged();
|
| +}
|
| +
|
| void ScreenOrientationController::LockRotation(
|
| display::Display::Rotation rotation,
|
| display::Display::RotationSource source) {
|
|
|