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

Side by Side Diff: ash/wm/workspace/workspace_layout_manager.cc

Issue 100903002: Ignore fullscreen windows which are behind other windows for fullscreen mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/wm/workspace/workspace_layout_manager.h" 5 #include "ash/wm/workspace/workspace_layout_manager.h"
6 6
7 #include "ash/display/display_controller.h" 7 #include "ash/display/display_controller.h"
8 #include "ash/root_window_controller.h" 8 #include "ash/root_window_controller.h"
9 #include "ash/screen_ash.h" 9 #include "ash/screen_ash.h"
10 #include "ash/shelf/shelf_layout_manager.h" 10 #include "ash/shelf/shelf_layout_manager.h"
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 if (window_state->tracked_by_workspace()) { 163 if (window_state->tracked_by_workspace()) {
164 if (!SetMaximizedOrFullscreenBounds(window_state)) { 164 if (!SetMaximizedOrFullscreenBounds(window_state)) {
165 gfx::Rect bounds = window_state->window()->bounds(); 165 gfx::Rect bounds = window_state->window()->bounds();
166 AdjustSnappedBounds(window_state, &bounds); 166 AdjustSnappedBounds(window_state, &bounds);
167 if (window_state->window()->bounds() != bounds) 167 if (window_state->window()->bounds() != bounds)
168 SetChildBoundsDirect(window_state->window(), bounds); 168 SetChildBoundsDirect(window_state->window(), bounds);
169 } 169 }
170 } 170 }
171 } 171 }
172 172
173 void WorkspaceLayoutManager::OnWindowActivated(aura::Window* gained_active,
174 aura::Window* lost_active) {
175 BaseLayoutManager::OnWindowActivated(gained_active, lost_active);
176 UpdateDesktopVisibility();
177 }
178
173 void WorkspaceLayoutManager::OnWindowShowTypeChanged( 179 void WorkspaceLayoutManager::OnWindowShowTypeChanged(
174 wm::WindowState* window_state, 180 wm::WindowState* window_state,
175 wm::WindowShowType old_type) { 181 wm::WindowShowType old_type) {
176 ui::WindowShowState old_state = ToWindowShowState(old_type); 182 ui::WindowShowState old_state = ToWindowShowState(old_type);
177 ui::WindowShowState new_state = window_state->GetShowState(); 183 ui::WindowShowState new_state = window_state->GetShowState();
178 if (old_state != ui::SHOW_STATE_MINIMIZED && 184 if (old_state != ui::SHOW_STATE_MINIMIZED &&
179 !window_state->HasRestoreBounds() && 185 !window_state->HasRestoreBounds() &&
180 window_state->IsMaximizedOrFullscreen() && 186 window_state->IsMaximizedOrFullscreen() &&
181 !wm::WindowState::IsMaximizedOrFullscreenState(old_state)) { 187 !wm::WindowState::IsMaximizedOrFullscreenState(old_state)) {
182 window_state->SaveCurrentBoundsForRestore(); 188 window_state->SaveCurrentBoundsForRestore();
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 ui::ScopedLayerAnimationSettings slide_settings(layer->GetAnimator()); 439 ui::ScopedLayerAnimationSettings slide_settings(layer->GetAnimator());
434 slide_settings.SetPreemptionStrategy( 440 slide_settings.SetPreemptionStrategy(
435 ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET); 441 ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
436 slide_settings.SetTransitionDuration( 442 slide_settings.SetTransitionDuration(
437 base::TimeDelta::FromMilliseconds(kBoundsChangeSlideDurationMs)); 443 base::TimeDelta::FromMilliseconds(kBoundsChangeSlideDurationMs));
438 SetChildBoundsDirect(child, bounds); 444 SetChildBoundsDirect(child, bounds);
439 } 445 }
440 446
441 } // namespace internal 447 } // namespace internal
442 } // namespace ash 448 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698