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

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: Fix Linux Compile 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
« no previous file with comments | « ash/system/chromeos/tray_display.cc ('k') | ash/wm/maximize_mode/maximize_mode_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « ash/system/chromeos/tray_display.cc ('k') | ash/wm/maximize_mode/maximize_mode_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698