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

Side by Side Diff: ash/wm/panels/panel_layout_manager.cc

Issue 149493008: Use active window if on current workspace for fullscreen mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Only consider the currently active window on current root. Created 6 years, 10 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 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/panels/panel_layout_manager.h" 5 #include "ash/wm/panels/panel_layout_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 9
10 #include "ash/screen_util.h" 10 #include "ash/screen_util.h"
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 601
602 // Consider the dragged panel as part of the layout as long as it is 602 // Consider the dragged panel as part of the layout as long as it is
603 // touching the shelf. 603 // touching the shelf.
604 if (!panel->IsVisible() || 604 if (!panel->IsVisible() ||
605 (panel == dragged_panel_ && 605 (panel == dragged_panel_ &&
606 !BoundsAdjacent(panel->bounds(), shelf_bounds))) { 606 !BoundsAdjacent(panel->bounds(), shelf_bounds))) {
607 continue; 607 continue;
608 } 608 }
609 609
610 // If the shelf is currently hidden (full-screen mode), minimize panel until 610 // If the shelf is currently hidden (full-screen mode), minimize panel until
611 // full-screen mode is exited. 611 // full-screen mode is exited. When a panel is dragged from another display
612 if (restore_windows_on_shelf_visible_) { 612 // the shelf state does not update before the panel is added so we exclude
613 // the dragged panel.
614 if (panel != dragged_panel_ && restore_windows_on_shelf_visible_) {
613 wm::GetWindowState(panel)->Minimize(); 615 wm::GetWindowState(panel)->Minimize();
614 restore_windows_on_shelf_visible_->Add(panel); 616 restore_windows_on_shelf_visible_->Add(panel);
615 continue; 617 continue;
616 } 618 }
617 619
618 gfx::Rect icon_bounds = shelf_->GetScreenBoundsOfItemIconForWindow(panel); 620 gfx::Rect icon_bounds = shelf_->GetScreenBoundsOfItemIconForWindow(panel);
619 621
620 // If both the icon width and height are 0 then there is no icon in the 622 // If both the icon width and height are 0 then there is no icon in the
621 // shelf. If the shelf is hidden, one of the height or width will be 623 // shelf. If the shelf is hidden, one of the height or width will be
622 // 0 but the position in the shelf and major dimension is still reported 624 // 0 but the position in the shelf and major dimension is still reported
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 886
885 void PanelLayoutManager::OnKeyboardBoundsChanging( 887 void PanelLayoutManager::OnKeyboardBoundsChanging(
886 const gfx::Rect& keyboard_bounds) { 888 const gfx::Rect& keyboard_bounds) {
887 // This bounds change will have caused a change to the Shelf which does not 889 // This bounds change will have caused a change to the Shelf which does not
888 // propogate automatically to this class, so manually recalculate bounds. 890 // propogate automatically to this class, so manually recalculate bounds.
889 OnWindowResized(); 891 OnWindowResized();
890 } 892 }
891 893
892 } // namespace internal 894 } // namespace internal
893 } // namespace ash 895 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698