Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: ash/display/screen_orientation_controller_chromeos.cc

Issue 2784043002: cros: Treat set rotation for chrome.system.display API in touchview mode as if user rotation lock (Closed)
Patch Set: based on ps3's comments Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..6172e67cd25154fdf861bf29c272e94bb68edb2e 100644
--- a/ash/display/screen_orientation_controller_chromeos.cc
+++ b/ash/display/screen_orientation_controller_chromeos.cc
@@ -224,22 +224,22 @@ void ScreenOrientationController::ToggleUserRotationLock() {
return;
if (user_rotation_locked()) {
- user_locked_orientation_ = blink::WebScreenOrientationLockAny;
+ SetLockToOrientation(blink::WebScreenOrientationLockAny);
} else {
display::Display::Rotation current_rotation =
WmShell::Get()
->GetDisplayInfo(display::Display::InternalDisplayId())
.GetActiveRotation();
- user_locked_orientation_ = RotationToOrientation(current_rotation);
+ SetLockToRotation(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_));
+}
- ApplyLockForActiveWindow();
- for (auto& observer : observers_)
- observer.OnUserRotationLockChanged();
+void ScreenOrientationController::SetLockToRotation(
+ display::Display::Rotation rotation) {
+ if (!display::Display::HasInternalDisplay())
+ return;
+
+ SetLockToOrientation(RotationToOrientation(rotation));
}
void ScreenOrientationController::OnWindowActivated(ActivationReason reason,
@@ -357,6 +357,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) {

Powered by Google App Engine
This is Rietveld 408576698