| Index: athena/wm/split_view_controller.cc
|
| diff --git a/athena/wm/split_view_controller.cc b/athena/wm/split_view_controller.cc
|
| index 85db209536916f46ec72f8d59b586abf056f9e4e..1b524ac56245e5d71b3f7b2fe9c4d1b82c4fbdd2 100644
|
| --- a/athena/wm/split_view_controller.cc
|
| +++ b/athena/wm/split_view_controller.cc
|
| @@ -62,7 +62,7 @@ bool SplitViewController::IsSplitViewModeActive() const {
|
|
|
| void SplitViewController::ActivateSplitMode(aura::Window* left,
|
| aura::Window* right) {
|
| - aura::Window::Windows windows = window_list_provider_->GetWindowList();
|
| + aura::Window::Windows windows = window_list_provider_->GetCurrentWindowList();
|
| aura::Window::Windows::reverse_iterator iter = windows.rbegin();
|
| if (state_ == ACTIVE) {
|
| if (left_window_ == right)
|
| @@ -97,11 +97,15 @@ void SplitViewController::ActivateSplitMode(aura::Window* left,
|
| SetState(ACTIVE);
|
| if (right_window_ != right) {
|
| right_window_ = right;
|
| - container_->StackChildAtTop(right_window_);
|
| + // Since the |window_list_provider_| controls directly the order of windows,
|
| + // it needs to change the window order accordingly.
|
| + window_list_provider_->MoveToFront(right_window_);
|
| }
|
| if (left_window_ != left) {
|
| left_window_ = left;
|
| - container_->StackChildAtTop(left_window_);
|
| + // Since the |window_list_provider_| controls directly the order of windows,
|
| + // it needs to change the window order accordingly.
|
| + window_list_provider_->MoveToFront(left_window_);
|
| }
|
| UpdateLayout(true);
|
| }
|
| @@ -113,7 +117,7 @@ void SplitViewController::ReplaceWindow(aura::Window* window,
|
| CHECK(window == left_window_ || window == right_window_);
|
| CHECK(replace_with != left_window_ && replace_with != right_window_);
|
| #if !defined(NDEBUG)
|
| - aura::Window::Windows windows = window_list_provider_->GetWindowList();
|
| + aura::Window::Windows windows = window_list_provider_->GetCurrentWindowList();
|
| DCHECK(std::find(windows.begin(), windows.end(), replace_with) !=
|
| windows.end());
|
| #endif
|
| @@ -257,7 +261,7 @@ void SplitViewController::ScrollBegin(BezelController::Bezel bezel,
|
| return;
|
| SetState(SCROLLING);
|
|
|
| - aura::Window::Windows windows = window_list_provider_->GetWindowList();
|
| + aura::Window::Windows windows = window_list_provider_->GetCurrentWindowList();
|
| CHECK(windows.size() >= 2);
|
| aura::Window::Windows::const_reverse_iterator iter = windows.rbegin();
|
| aura::Window* current_window = *(iter);
|
| @@ -312,7 +316,7 @@ void SplitViewController::ScrollUpdate(float delta) {
|
| bool SplitViewController::CanScroll() {
|
| // TODO(mfomitchev): return false in full screen.
|
| bool result = (!IsSplitViewModeActive() &&
|
| - window_list_provider_->GetWindowList().size() >= 2 &&
|
| + window_list_provider_->GetCurrentWindowList().size() >= 2 &&
|
| IsLandscapeOrientation(gfx::Screen::GetNativeScreen()->
|
| GetDisplayNearestWindow(container_).rotation()));
|
| return result;
|
|
|