Index: chrome/browser/extensions/display_info_provider_chromeos.cc |
diff --git a/chrome/browser/extensions/display_info_provider_chromeos.cc b/chrome/browser/extensions/display_info_provider_chromeos.cc |
index 8686809a456df6080dbfc580a3b5c80469dc080b..759dbebc6bd2e434e6e27151cf16d5a1ed1eefcb 100644 |
--- a/chrome/browser/extensions/display_info_provider_chromeos.cc |
+++ b/chrome/browser/extensions/display_info_provider_chromeos.cc |
@@ -6,8 +6,10 @@ |
#include <stdint.h> |
+#include "ash/common/wm/maximize_mode/maximize_mode_controller.h" |
#include "ash/display/display_configuration_controller.h" |
#include "ash/display/resolution_notification_controller.h" |
+#include "ash/display/screen_orientation_controller_chromeos.h" |
#include "ash/shell.h" |
#include "ash/touch/ash_touch_transform_controller.h" |
#include "base/strings/string_number_conversions.h" |
@@ -408,6 +410,12 @@ bool ValidateParamsForTouchCalibration( |
return true; |
} |
+bool IsMaximizeModeWindowManagerEnabled() { |
+ return ash::Shell::GetInstance() |
+ ->maximize_mode_controller() |
+ ->IsMaximizeModeWindowManagerEnabled(); |
+} |
+ |
} // namespace |
// static |
@@ -491,9 +499,16 @@ bool DisplayInfoProviderChromeOS::SetInfo( |
// Process 'rotation' parameter. |
if (info.rotation) { |
- display_configuration_controller->SetDisplayRotation( |
- display_id, DegreesToRotation(*info.rotation), |
- display::Display::ROTATION_SOURCE_ACTIVE); |
+ if (IsMaximizeModeWindowManagerEnabled() && |
+ display_id == display::Display::InternalDisplayId()) { |
+ ash::Shell::GetInstance() |
+ ->screen_orientation_controller() |
+ ->SetLockToRotation(DegreesToRotation(*info.rotation)); |
+ } else { |
+ display_configuration_controller->SetDisplayRotation( |
+ display_id, DegreesToRotation(*info.rotation), |
+ display::Display::ROTATION_SOURCE_ACTIVE); |
+ } |
} |
// Process new display origin parameters. |