Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2820)

Unified Diff: ash/wm/maximize_mode/maximize_mode_controller.h

Issue 759063002: Move Screen Rotation from MaximizeModeController to ScreenOrientationController (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update Helper code Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 f6c7fedb5e427cbee977e82b61cfa4cd85f83a6b..38c368c069d551678ab9a131c90042f5e09b25c4 100644
--- a/ash/wm/maximize_mode/maximize_mode_controller.h
+++ b/ash/wm/maximize_mode/maximize_mode_controller.h
@@ -6,13 +6,12 @@
#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"
+#include "ui/gfx/geometry/vector3d_f.h"
oshima 2015/01/09 21:23:55 forward decl?
jonross 2015/01/12 14:46:49 Removed
#if defined(OS_CHROMEOS)
#include "chromeos/accelerometer/accelerometer_reader.h"
@@ -40,51 +39,16 @@ class MultiUserWindowManagerChromeOSTest;
// 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.
@@ -106,21 +70,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;
@@ -145,14 +99,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;
@@ -167,10 +113,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_;
@@ -178,36 +120,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_;

Powered by Google App Engine
This is Rietveld 408576698