Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ash/display/screen_orientation_controller_chromeos.h" | 5 #include "ash/display/screen_orientation_controller_chromeos.h" |
| 6 | 6 |
| 7 #include "ash/common/ash_switches.h" | 7 #include "ash/common/ash_switches.h" |
| 8 #include "ash/common/display/display_info.h" | 8 #include "ash/common/display/display_info.h" |
| 9 #include "ash/common/wm_shell.h" | 9 #include "ash/common/wm_shell.h" |
| 10 #include "ash/display/display_configuration_controller.h" | 10 #include "ash/display/display_configuration_controller.h" |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 105 | 105 |
| 106 void ScreenOrientationController::UnlockOrientationForWindow( | 106 void ScreenOrientationController::UnlockOrientationForWindow( |
| 107 aura::Window* window) { | 107 aura::Window* window) { |
| 108 locking_windows_.erase(window); | 108 locking_windows_.erase(window); |
| 109 if (locking_windows_.empty()) | 109 if (locking_windows_.empty()) |
| 110 Shell::GetInstance()->activation_client()->RemoveObserver(this); | 110 Shell::GetInstance()->activation_client()->RemoveObserver(this); |
| 111 window->RemoveObserver(this); | 111 window->RemoveObserver(this); |
| 112 ApplyLockForActiveWindow(); | 112 ApplyLockForActiveWindow(); |
| 113 } | 113 } |
| 114 | 114 |
| 115 void ScreenOrientationController::UnlockAll() { | |
| 116 for (auto pair : locking_windows_) | |
| 117 pair.first->RemoveObserver(this); | |
| 118 locking_windows_.clear(); | |
| 119 Shell::GetInstance()->activation_client()->RemoveObserver(this); | |
| 120 if (user_rotation_ != current_rotation_) | |
| 121 SetDisplayRotation(user_rotation_, display::Display::ROTATION_SOURCE_USER); | |
|
oshima
2016/06/30 22:59:24
We're unlocking all, not just arc windows, but I b
| |
| 122 } | |
| 123 | |
| 115 bool ScreenOrientationController::ScreenOrientationProviderSupported() const { | 124 bool ScreenOrientationController::ScreenOrientationProviderSupported() const { |
| 116 return Shell::GetInstance() | 125 return Shell::GetInstance() |
| 117 ->maximize_mode_controller() | 126 ->maximize_mode_controller() |
| 118 ->IsMaximizeModeWindowManagerEnabled() && | 127 ->IsMaximizeModeWindowManagerEnabled() && |
| 119 !base::CommandLine::ForCurrentProcess()->HasSwitch( | 128 !base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 120 switches::kAshDisableScreenOrientationLock); | 129 switches::kAshDisableScreenOrientationLock); |
| 121 } | 130 } |
| 122 | 131 |
| 123 void ScreenOrientationController::SetRotationLocked(bool rotation_locked) { | 132 void ScreenOrientationController::SetRotationLocked(bool rotation_locked) { |
| 124 if (rotation_locked_ == rotation_locked) | 133 if (rotation_locked_ == rotation_locked) |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 415 } | 424 } |
| 416 | 425 |
| 417 bool ScreenOrientationController::CanRotateInLockedState() { | 426 bool ScreenOrientationController::CanRotateInLockedState() { |
| 418 return rotation_locked_orientation_ == | 427 return rotation_locked_orientation_ == |
| 419 blink::WebScreenOrientationLockLandscape || | 428 blink::WebScreenOrientationLockLandscape || |
| 420 rotation_locked_orientation_ == | 429 rotation_locked_orientation_ == |
| 421 blink::WebScreenOrientationLockPortrait; | 430 blink::WebScreenOrientationLockPortrait; |
| 422 } | 431 } |
| 423 | 432 |
| 424 } // namespace ash | 433 } // namespace ash |
| OLD | NEW |