| Index: athena/wm/split_view_controller.cc
|
| diff --git a/athena/wm/split_view_controller.cc b/athena/wm/split_view_controller.cc
|
| index f951b868846e18f2216c3486220cf067d7a7007e..379cc483f4ca2cb2e462f32597e1c85be8feeb86 100644
|
| --- a/athena/wm/split_view_controller.cc
|
| +++ b/athena/wm/split_view_controller.cc
|
| @@ -97,6 +97,12 @@ void SplitViewController::ActivateSplitMode(aura::Window* left,
|
| }
|
| }
|
|
|
| + to_hide_.clear();
|
| + if (left_window_ && left_window_ != left && left_window_ != right)
|
| + to_hide_.push_back(left_window_);
|
| + if (right_window_ && right_window_ != left && right_window_ != right)
|
| + to_hide_.push_back(right_window_);
|
| +
|
| SetState(ACTIVE);
|
| right_window_ = right;
|
| left_window_ = left;
|
| @@ -157,16 +163,20 @@ void SplitViewController::UpdateLayout(bool animate) {
|
| CHECK(left_window_);
|
| CHECK(right_window_);
|
|
|
| - // Splitview can be activated from SplitViewController::ActivateSplitMode or
|
| - // SplitViewController::ScrollEnd. Additionally we don't want to rotate the
|
| - // screen while engaging splitview (i.e. state_ == SCROLLING).
|
| - if (state_ == INACTIVE && !animate) {
|
| - if (!wm::IsActiveWindow(left_window_))
|
| - left_window_->Hide();
|
| - if (!wm::IsActiveWindow(right_window_))
|
| - right_window_->Hide();
|
| - SetWindowTransforms(gfx::Transform(), gfx::Transform(), false);
|
| - return;
|
| + if (!animate) {
|
| + for (size_t i = 0; i < to_hide_.size(); ++i)
|
| + to_hide_[i]->Hide();
|
| + to_hide_.clear();
|
| +
|
| + if (state_ == INACTIVE) {
|
| + if (!wm::IsActiveWindow(left_window_))
|
| + left_window_->Hide();
|
| + if (!wm::IsActiveWindow(right_window_))
|
| + right_window_->Hide();
|
| +
|
| + SetWindowTransforms(gfx::Transform(), gfx::Transform(), false);
|
| + return;
|
| + }
|
| }
|
|
|
| left_window_->Show();
|
|
|