Index: ash/system/chromeos/rotation/tray_rotation_lock.h |
diff --git a/ash/system/chromeos/rotation/tray_rotation_lock.h b/ash/system/chromeos/rotation/tray_rotation_lock.h |
index 9c53e6ed268cd80c9e37f95438a7bb1eee957b4f..2a134d0b7ddd7e069b42b30f42315b414540b9b5 100644 |
--- a/ash/system/chromeos/rotation/tray_rotation_lock.h |
+++ b/ash/system/chromeos/rotation/tray_rotation_lock.h |
@@ -7,6 +7,7 @@ |
#include "ash/shell_observer.h" |
#include "ash/system/tray/tray_image_item.h" |
+#include "ash/wm/maximize_mode/maximize_mode_controller.h" |
namespace ash { |
@@ -20,11 +21,15 @@ class RotationLockDefaultView; |
// be interacted with, it toggles the state of the rotation lock. |
// TrayRotationLock is only available on the primary display. |
class ASH_EXPORT TrayRotationLock : public TrayImageItem, |
+ public MaximizeModeController::Observer, |
public ShellObserver { |
public: |
explicit TrayRotationLock(SystemTray* system_tray); |
virtual ~TrayRotationLock(); |
+ // MaximizeModeController::Observer: |
+ virtual void OnRotationLockChanged(bool rotation_locked) OVERRIDE; |
+ |
// SystemTrayItem: |
virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; |
@@ -39,6 +44,10 @@ class ASH_EXPORT TrayRotationLock : public TrayImageItem, |
private: |
friend class TrayRotationLockTest; |
+ // True if |on_primary_display_|, maximize mode is enabled, and rotation is |
+ // locked. |
+ bool ShouldBeVisible(); |
+ |
// True if this has been created by a SystemTray on the primary display. |
bool on_primary_display_; |