Index: ash/wm/maximize_mode/maximize_mode_controller.h |
diff --git a/ash/wm/maximize_mode/maximize_mode_controller.h b/ash/wm/maximize_mode/maximize_mode_controller.h |
index 1df8db642d326f57077410d2b9aada63b1be8ec3..5e0a9e9708bbd371ccd5c20a64a7dc5074d8d36b 100644 |
--- a/ash/wm/maximize_mode/maximize_mode_controller.h |
+++ b/ash/wm/maximize_mode/maximize_mode_controller.h |
@@ -6,12 +6,10 @@ |
#define ASH_WM_MAXIMIZE_MODE_MAXIMIZE_MODE_CONTROLLER_H_ |
#include "ash/ash_export.h" |
-#include "ash/display/display_controller.h" |
-#include "ash/display/display_manager.h" |
#include "ash/shell_observer.h" |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
-#include "base/observer_list.h" |
+#include "base/time/time.h" |
#include "ui/gfx/display.h" |
#if defined(OS_CHROMEOS) |
@@ -23,6 +21,10 @@ namespace base { |
class TickClock; |
} |
+namespace gfx { |
+class Vector3dF; |
+} |
+ |
namespace ui { |
class EventHandler; |
} |
@@ -41,51 +43,16 @@ class VirtualKeyboardControllerTest; |
// MaximizeModeController listens to accelerometer events and automatically |
// enters and exits maximize mode when the lid is opened beyond the triggering |
// angle and rotates the display to match the device when in maximize mode. |
-class ASH_EXPORT MaximizeModeController |
- : public ShellObserver, |
+class ASH_EXPORT MaximizeModeController : |
#if defined(OS_CHROMEOS) |
- public chromeos::AccelerometerReader::Observer, |
- public chromeos::PowerManagerClient::Observer, |
+ public chromeos::AccelerometerReader::Observer, |
+ public chromeos::PowerManagerClient::Observer, |
#endif // OS_CHROMEOS |
- public DisplayController::Observer { |
+ public ShellObserver { |
public: |
- // Observer that reports changes to the state of MaximizeModeController's |
- // rotation lock. |
- class Observer { |
- public: |
- // Invoked whenever |rotation_locked_| is changed. |
- virtual void OnRotationLockChanged(bool rotation_locked) {} |
- |
- protected: |
- virtual ~Observer() {} |
- }; |
- |
MaximizeModeController(); |
~MaximizeModeController() override; |
- bool ignore_display_configuration_updates() const { |
- return ignore_display_configuration_updates_; |
- } |
- |
- // True if |rotation_lock_| has been set, and OnAccelerometerUpdated will not |
- // change the display rotation. |
- bool rotation_locked() { |
- return rotation_locked_; |
- } |
- |
- // If |rotation_locked| future calls to OnAccelerometerUpdated will not |
- // change the display rotation. |
- void SetRotationLocked(bool rotation_locked); |
- |
- // Sets the display rotation to |rotation| and prevents future calls to |
- // OnAccelerometerUpdated from changing the rotation. SetRotationLocked(false) |
- // removes the rotation lock. |
- void LockRotation(gfx::Display::Rotation rotation); |
- |
- // Add/Remove observers. |
- void AddObserver(Observer* observer); |
- void RemoveObserver(Observer* observer); |
- |
// True if it is possible to enter maximize mode in the current |
// configuration. If this returns false, it should never be the case that |
// maximize mode becomes enabled. |
@@ -107,21 +74,11 @@ class ASH_EXPORT MaximizeModeController |
// If the maximize mode is not enabled no action will be performed. |
void AddWindow(aura::Window* window); |
- // TODO(jonross): move this into the destructor. Currently separated as |
- // ShellOberver notifies of maximize mode ending, and the observers end up |
- // attempting to access MaximizeModeController via the Shell. If done in |
- // destructor the controller is null, and the observers segfault. |
- // Shuts down down the MaximizeModeWindowManager and notifies all observers. |
- void Shutdown(); |
- |
// ShellObserver: |
void OnAppTerminating() override; |
void OnMaximizeModeStarted() override; |
void OnMaximizeModeEnded() override; |
- // DisplayController::Observer: |
- void OnDisplayConfigurationChanged() override; |
- |
#if defined(OS_CHROMEOS) |
// chromeos::AccelerometerReader::Observer: |
void OnAccelerometerUpdated(const ui::AccelerometerUpdate& update) override; |
@@ -147,14 +104,6 @@ class ASH_EXPORT MaximizeModeController |
void HandleHingeRotation(const gfx::Vector3dF& base, |
const gfx::Vector3dF& lid); |
- // Detect screen rotation from |lid| accelerometer and automatically rotate |
- // screen. |
- void HandleScreenRotation(const gfx::Vector3dF& lid); |
- |
- // Sets the display rotation and suppresses display notifications. |
- void SetDisplayRotation(DisplayManager* display_manager, |
- gfx::Display::Rotation rotation); |
- |
// Returns true if the lid was recently opened. |
bool WasLidOpenedRecently() const; |
@@ -169,10 +118,6 @@ class ASH_EXPORT MaximizeModeController |
// Record UMA stats tracking touchview usage. |
void RecordTouchViewStateTransition(); |
- // Checks DisplayManager for registered rotation lock, and rotation, |
- // preferences. These are then applied. |
- void LoadDisplayRotationProperties(); |
- |
// The maximized window manager (if enabled). |
scoped_ptr<MaximizeModeWindowManager> maximize_mode_window_manager_; |
@@ -180,36 +125,12 @@ class ASH_EXPORT MaximizeModeController |
// internal keyboard and touchpad. |
scoped_ptr<ScopedDisableInternalMouseAndKeyboard> event_blocker_; |
- // When true calls to OnAccelerometerUpdated will not rotate the display. |
- bool rotation_locked_; |
- |
// Whether we have ever seen accelerometer data. |
bool have_seen_accelerometer_data_; |
- // True when changes being applied cause OnDisplayConfigurationChanged() to be |
- // called, and for which these changes should be ignored. |
- bool ignore_display_configuration_updates_; |
- |
// True when the hinge angle has been detected past 180 degrees. |
bool lid_open_past_180_; |
- // True when Shutdown has been called. When shutting down the non maximize |
- // mode state should be restored, however user preferences should not be |
- // altered. |
- bool shutting_down_; |
- |
- // The rotation of the display set by the user. This rotation will be |
- // restored upon exiting maximize mode. |
- gfx::Display::Rotation user_rotation_; |
- |
- // The current rotation set by MaximizeModeController for the internal |
- // display. Compared in OnDisplayConfigurationChanged to determine user |
- // display setting changes. |
- gfx::Display::Rotation current_rotation_; |
- |
- // Rotation Lock observers. |
- ObserverList<Observer> observers_; |
- |
// Tracks time spent in (and out of) touchview mode. |
base::Time last_touchview_transition_time_; |
base::TimeDelta total_touchview_time_; |