 Chromium Code Reviews
 Chromium Code Reviews Issue 2918403006:
  CrOS Tablet Window management - Split Screen part I  (Closed)
    
  
    Issue 2918403006:
  CrOS Tablet Window management - Split Screen part I  (Closed) 
  | Index: ash/wm/overview/window_selector_controller.cc | 
| diff --git a/ash/wm/overview/window_selector_controller.cc b/ash/wm/overview/window_selector_controller.cc | 
| index 19b12afa06e2f89129af09eaab586d73ce6e2144..f0a63d58c29a6095ec5928987978b48564236299 100644 | 
| --- a/ash/wm/overview/window_selector_controller.cc | 
| +++ b/ash/wm/overview/window_selector_controller.cc | 
| @@ -12,6 +12,7 @@ | 
| #include "ash/wm/mru_window_tracker.h" | 
| #include "ash/wm/overview/window_selector.h" | 
| #include "ash/wm/screen_pinning_controller.h" | 
| +#include "ash/wm/splitview/split_view_controller.h" | 
| #include "ash/wm/window_state.h" | 
| #include "base/metrics/histogram_macros.h" | 
| @@ -54,9 +55,28 @@ bool WindowSelectorController::ToggleOverview() { | 
| std::not1(std::ptr_fun(&WindowSelector::IsSelectable))); | 
| windows.resize(end - windows.begin()); | 
| - // Don't enter overview mode with no windows. | 
| - if (windows.empty()) | 
| - return false; | 
| + if (!Shell::Get()->IsSplitViewModeActive()) { | 
| + // Don't enter overview with no window if the split view mode is inactive. | 
| + if (windows.empty()) | 
| + return false; | 
| + } else { | 
| + // Don't enter overview with less than 1 window if the split view mode is | 
| + // active. | 
| + if (windows.size() <= 1) | 
| + return false; | 
| + | 
| + // Remove the default snapped window from the window list. The default | 
| + // snapped window occupy one side of the screen, while the other windows | 
| 
varkha
2017/06/21 01:51:53
nit: occupies
 
xdai1
2017/06/22 21:46:34
Done.
 | 
| + // occupy the other side of the screen in overview mode. The default snap | 
| + // position is the position where the window was firstly snapped. See | 
| 
varkha
2017/06/21 01:51:53
nit: first
 
xdai1
2017/06/22 21:46:34
Done.
 | 
| + // |default_snap_position_| in SplitViewController for more detail. | 
| + aura::Window* default_snapped_window = | 
| + Shell::Get()->split_view_controller()->GetDefaultSnappedWindow(); | 
| + auto iter = | 
| + std::find(windows.begin(), windows.end(), default_snapped_window); | 
| + DCHECK(iter != windows.end()); | 
| + windows.erase(iter); | 
| + } | 
| Shell::Get()->NotifyOverviewModeStarting(); | 
| window_selector_.reset(new WindowSelector(this)); |