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

Unified Diff: athena/wm/split_view_controller.cc

Issue 550043002: Keep the split view activities topmost in z-order in Athena (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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: athena/wm/split_view_controller.cc
diff --git a/athena/wm/split_view_controller.cc b/athena/wm/split_view_controller.cc
index 85db209536916f46ec72f8d59b586abf056f9e4e..f951b868846e18f2216c3486220cf067d7a7007e 100644
--- a/athena/wm/split_view_controller.cc
+++ b/athena/wm/split_view_controller.cc
@@ -62,6 +62,9 @@ bool SplitViewController::IsSplitViewModeActive() const {
void SplitViewController::ActivateSplitMode(aura::Window* left,
aura::Window* right) {
+ DCHECK((left && wm::IsActiveWindow(left)) ||
+ (right && wm::IsActiveWindow(right)));
+
sadrul 2014/09/09 14:27:28 We allow both to be NULL.
aura::Window::Windows windows = window_list_provider_->GetWindowList();
aura::Window::Windows::reverse_iterator iter = windows.rbegin();
if (state_ == ACTIVE) {
@@ -95,14 +98,8 @@ void SplitViewController::ActivateSplitMode(aura::Window* left,
}
SetState(ACTIVE);
- if (right_window_ != right) {
- right_window_ = right;
- container_->StackChildAtTop(right_window_);
- }
- if (left_window_ != left) {
- left_window_ = left;
- container_->StackChildAtTop(left_window_);
- }
+ right_window_ = right;
+ left_window_ = left;
UpdateLayout(true);
}
@@ -122,7 +119,6 @@ void SplitViewController::ReplaceWindow(aura::Window* window,
left_window_ = replace_with;
else
right_window_ = replace_with;
- wm::ActivateWindow(replace_with);
UpdateLayout(false);
window->SetTransform(gfx::Transform());
window->Hide();
@@ -175,6 +171,12 @@ void SplitViewController::UpdateLayout(bool animate) {
left_window_->Show();
right_window_->Show();
+ DCHECK(wm::IsActiveWindow(left_window_) || wm::IsActiveWindow(right_window_));
+ if (wm::IsActiveWindow(left_window_))
+ container_->StackChildBelow(right_window_, left_window_);
+ else
+ container_->StackChildBelow(left_window_, right_window_);
sadrul 2014/09/09 14:27:27 Can the z-ordering issue described in the bug be f
pkotwicz 2014/09/09 17:06:28 The remainder of the change is to ensure that eith
sadrul 2014/09/11 05:45:48 We are still activating windows from various place
+
if (state_ == ACTIVE) {
if (animate) {
gfx::Transform left_transform = GetTargetTransformForBoundsAnimation(

Powered by Google App Engine
This is Rietveld 408576698