Chromium Code Reviews| Index: ash/wm/maximize_mode/maximize_mode_controller.cc |
| diff --git a/ash/wm/maximize_mode/maximize_mode_controller.cc b/ash/wm/maximize_mode/maximize_mode_controller.cc |
| index 9d8b18dae29de82390b61d4e439eca666dfd59db..939907a511927c053e812506feee7e95e32237fa 100644 |
| --- a/ash/wm/maximize_mode/maximize_mode_controller.cc |
| +++ b/ash/wm/maximize_mode/maximize_mode_controller.cc |
| @@ -103,6 +103,9 @@ MaximizeModeController::MaximizeModeController() |
| lid_open_past_180_(false), |
| touchview_usage_interval_start_time_(base::Time::Now()), |
| tick_clock_(new base::DefaultTickClock()), |
| +#if defined(OS_CHROMEOS) |
| + tablet_mode_(false), |
| +#endif |
| lid_is_closed_(false) { |
| Shell* shell = Shell::GetInstance(); |
| shell->AddShellObserver(this); |
| @@ -224,6 +227,20 @@ void MaximizeModeController::LidEventReceived(bool open, |
| LeaveMaximizeMode(); |
| } |
| +void MaximizeModeController::TabletModeEventReceived( |
| + bool on, |
| + const base::TimeTicks& time) { |
| + if (on) { |
| + tablet_mode_ = true; |
| + EnterMaximizeMode(); |
| + } else { |
| + tablet_mode_ = false; |
| + // Set lid_open_past_180_ so that we get a chance to decide whether to |
| + // leave maximize mode. |
| + lid_open_past_180_ = true; |
|
Daniel Erat
2016/06/03 15:00:18
this doesn't seem right. this member feels like it
jonross
2016/06/03 16:27:24
Though the lid_open_past_180_ may actually be what
jcliang
2016/06/06 04:39:22
This is removed. I use another tablet_mode_swithc_
|
| + } |
| +} |
| + |
| void MaximizeModeController::SuspendImminent() { |
| // The system is about to suspend, so record TouchView usage interval metrics |
| // based on whether TouchView mode is currently active. |
| @@ -323,6 +340,11 @@ void MaximizeModeController::EnterMaximizeMode() { |
| } |
| void MaximizeModeController::LeaveMaximizeMode() { |
| +#if defined(OS_CHROMEOS) |
| + if (tablet_mode_) |
|
Daniel Erat
2016/06/03 15:00:18
i don't think i've looked at this code before, but
jonross
2016/06/03 16:27:24
The 'update state' method is HandleHingeRotation.
Daniel Erat
2016/06/03 16:59:51
what if the "decide what to do" code from HandleHi
jcliang
2016/06/06 04:39:22
This is removed. Everything is handled in HandleHi
|
| + return; |
| +#endif |
| + |
| event_blocker_.reset(); |
| if (base::CommandLine::ForCurrentProcess()->HasSwitch( |