| 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 e103548178e153344057d0911bf09e4e5721e319..27691c85f07619e5ad5600c77597a849fd0812cc 100644
|
| --- a/ash/wm/maximize_mode/maximize_mode_controller.h
|
| +++ b/ash/wm/maximize_mode/maximize_mode_controller.h
|
| @@ -8,14 +8,13 @@
|
| #include "ash/accelerometer/accelerometer_observer.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 "ui/gfx/display.h"
|
|
|
| #if defined(OS_CHROMEOS)
|
| +#include "ash/content/display/screen_orientation_delegate_chromeos.h"
|
| #include "chromeos/dbus/power_manager_client.h"
|
| #endif // OS_CHROMEOS
|
|
|
| @@ -44,47 +43,13 @@ class ASH_EXPORT MaximizeModeController
|
| : public AccelerometerObserver,
|
| #if defined(OS_CHROMEOS)
|
| public chromeos::PowerManagerClient::Observer,
|
| + public DisplayController::Observer,
|
| #endif // OS_CHROMEOS
|
| - public ShellObserver,
|
| - 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.
|
| @@ -121,10 +86,10 @@ class ASH_EXPORT MaximizeModeController
|
| void OnMaximizeModeStarted() override;
|
| void OnMaximizeModeEnded() override;
|
|
|
| +#if defined(OS_CHROMEOS)
|
| // DisplayController::Observer:
|
| void OnDisplayConfigurationChanged() override;
|
|
|
| -#if defined(OS_CHROMEOS)
|
| // PowerManagerClient::Observer:
|
| virtual void LidEventReceived(bool open,
|
| const base::TimeTicks& time) override;
|
| @@ -146,14 +111,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;
|
|
|
| @@ -168,9 +125,18 @@ class ASH_EXPORT MaximizeModeController
|
| // Record UMA stats tracking touchview usage.
|
| void RecordTouchViewStateTransition();
|
|
|
| +#if defined(OS_CHROMEOS)
|
| + // 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(gfx::Display::Rotation rotation);
|
| +
|
| // Checks DisplayManager for registered rotation lock, and rotation,
|
| // preferences. These are then applied.
|
| void LoadDisplayRotationProperties();
|
| +#endif // OS_CHROMEOS
|
|
|
| // The maximized window manager (if enabled).
|
| scoped_ptr<MaximizeModeWindowManager> maximize_mode_window_manager_;
|
| @@ -179,16 +145,9 @@ 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_;
|
|
|
| @@ -206,9 +165,6 @@ class ASH_EXPORT MaximizeModeController
|
| // 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_;
|
|
|