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

Unified Diff: ash/display/screen_orientation_controller_chromeos.cc

Issue 2800963002: [Merge to M58] cros: Treat set rotation for chrome.system.display API in touchview mode as if user … (Closed)
Patch Set: Created 3 years, 8 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 9a620129943f5e2e9176befb4a882be0eefae89e..b10a9b846dbdae3add000df5f93b46977b7ab8fb 100644
--- a/ash/display/screen_orientation_controller_chromeos.cc
+++ b/ash/display/screen_orientation_controller_chromeos.cc
@@ -223,22 +223,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(WmWindow* gained_active,
@@ -355,6 +355,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) {
« no previous file with comments | « ash/display/screen_orientation_controller_chromeos.h ('k') | chrome/browser/extensions/display_info_provider_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698