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

Unified Diff: ash/common/wm/maximize_mode/maximize_mode_controller.cc

Issue 2118643002: Move MaximizeModeController into ash/common (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: doh Created 4 years, 6 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/common/wm/maximize_mode/maximize_mode_controller.cc
diff --git a/ash/wm/maximize_mode/maximize_mode_controller.cc b/ash/common/wm/maximize_mode/maximize_mode_controller.cc
similarity index 91%
rename from ash/wm/maximize_mode/maximize_mode_controller.cc
rename to ash/common/wm/maximize_mode/maximize_mode_controller.cc
index ee2a0b369f20c4f8a7d60d0f5330ecfd24f983f3..69fd0f4bfc25e048b2a6b1cd51b22b24f6ce7455 100644
--- a/ash/wm/maximize_mode/maximize_mode_controller.cc
+++ b/ash/common/wm/maximize_mode/maximize_mode_controller.cc
@@ -2,18 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "ash/wm/maximize_mode/maximize_mode_controller.h"
+#include "ash/common/wm/maximize_mode/maximize_mode_controller.h"
#include <utility>
-#include "ash/accelerators/accelerator_controller.h"
-#include "ash/accelerators/accelerator_table.h"
#include "ash/common/ash_switches.h"
#include "ash/common/wm/maximize_mode/maximize_mode_window_manager.h"
+#include "ash/common/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard.h"
#include "ash/common/wm_shell.h"
-#include "ash/display/display_manager.h"
-#include "ash/shell.h"
-#include "ash/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard.h"
#include "base/command_line.h"
#include "base/metrics/histogram.h"
#include "base/time/default_tick_clock.h"
@@ -24,14 +20,6 @@
#include "ui/events/keycodes/keyboard_codes.h"
#include "ui/gfx/geometry/vector3d_f.h"
-#if defined(USE_X11)
-#include "ash/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_x11.h"
-#endif
-
-#if defined(USE_OZONE)
-#include "ash/wm/maximize_mode/scoped_disable_internal_mouse_and_keyboard_ozone.h"
-#endif
-
#if defined(OS_CHROMEOS)
#include "chromeos/dbus/dbus_thread_manager.h"
#include "ui/chromeos/accelerometer/accelerometer_util.h"
@@ -97,6 +85,11 @@ bool IsAngleBetweenAccelerometerReadingsStable(
}
#endif // OS_CHROMEOS
+bool IsEnabled() {
+ return base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kAshEnableTouchView);
+}
+
} // namespace
MaximizeModeController::MaximizeModeController()
@@ -110,16 +103,17 @@ MaximizeModeController::MaximizeModeController()
WmShell::Get()->AddShellObserver(this);
WmShell::Get()->RecordUserMetricsAction(UMA_MAXIMIZE_MODE_INITIALLY_DISABLED);
-#if defined(OS_CHROMEOS)
// TODO(jonross): Do not create MaximizeModeController if the flag is
// unavailable. This will require refactoring
// IsMaximizeModeWindowManagerEnabled to check for the existance of the
// controller.
- if (base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kAshEnableTouchView)) {
+ const bool is_enabled = IsEnabled();
+ if (is_enabled)
+ WmShell::Get()->AddDisplayObserver(this);
+
+#if defined(OS_CHROMEOS)
+ if (is_enabled)
chromeos::AccelerometerReader::GetInstance()->AddObserver(this);
- Shell::GetInstance()->window_tree_host_manager()->AddObserver(this);
- }
chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->AddObserver(
this);
#endif // OS_CHROMEOS
@@ -127,12 +121,13 @@ MaximizeModeController::MaximizeModeController()
MaximizeModeController::~MaximizeModeController() {
WmShell::Get()->RemoveShellObserver(this);
+ const bool is_enabled = IsEnabled();
+ if (is_enabled)
+ WmShell::Get()->RemoveDisplayObserver(this);
+
#if defined(OS_CHROMEOS)
- if (base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kAshEnableTouchView)) {
+ if (is_enabled)
chromeos::AccelerometerReader::GetInstance()->RemoveObserver(this);
- Shell::GetInstance()->window_tree_host_manager()->RemoveObserver(this);
- }
chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RemoveObserver(
this);
#endif // OS_CHROMEOS
@@ -160,17 +155,17 @@ void MaximizeModeController::EnableMaximizeModeWindowManager(
if (should_enable == is_enabled)
return;
- Shell* shell = Shell::GetInstance();
+ WmShell* shell = WmShell::Get();
if (should_enable) {
maximize_mode_window_manager_.reset(new MaximizeModeWindowManager());
// TODO(jonross): Move the maximize mode notifications from ShellObserver
// to MaximizeModeController::Observer
- WmShell::Get()->RecordUserMetricsAction(UMA_MAXIMIZE_MODE_ENABLED);
+ shell->RecordUserMetricsAction(UMA_MAXIMIZE_MODE_ENABLED);
shell->OnMaximizeModeStarted();
} else {
maximize_mode_window_manager_.reset();
- WmShell::Get()->RecordUserMetricsAction(UMA_MAXIMIZE_MODE_DISABLED);
+ shell->RecordUserMetricsAction(UMA_MAXIMIZE_MODE_DISABLED);
shell->OnMaximizeModeEnded();
}
}
@@ -196,7 +191,7 @@ void MaximizeModeController::OnAccelerometerUpdated(
if (!display::Display::HasInternalDisplay())
return;
- if (!Shell::GetInstance()->display_manager()->IsActiveDisplayId(
+ if (!WmShell::Get()->IsActiveDisplayId(
display::Display::InternalDisplayId())) {
return;
}
@@ -319,12 +314,8 @@ void MaximizeModeController::HandleHingeRotation(
void MaximizeModeController::EnterMaximizeMode() {
// Always reset first to avoid creation before destruction of a previous
// object.
- event_blocker_.reset();
-#if defined(USE_X11)
- event_blocker_.reset(new ScopedDisableInternalMouseAndKeyboardX11);
-#elif defined(USE_OZONE)
- event_blocker_.reset(new ScopedDisableInternalMouseAndKeyboardOzone);
-#endif
+ event_blocker_ =
+ WmShell::Get()->CreateScopedDisableInternalMouseAndKeyboard();
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kAshEnableTouchViewTesting)) {
@@ -366,7 +357,7 @@ void MaximizeModeController::OnMaximizeModeEnded() {
void MaximizeModeController::OnDisplayConfigurationChanged() {
if (!display::Display::HasInternalDisplay() ||
- !Shell::GetInstance()->display_manager()->IsActiveDisplayId(
+ !WmShell::Get()->IsActiveDisplayId(
display::Display::InternalDisplayId())) {
LeaveMaximizeMode();
}

Powered by Google App Engine
This is Rietveld 408576698