| 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_;
|
|
|