OLD | NEW |
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 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
527 // PanelLayoutManager, ShelfLayoutManagerObserver implementation: | 527 // PanelLayoutManager, ShelfLayoutManagerObserver implementation: |
528 | 528 |
529 void PanelLayoutManager::WillChangeVisibilityState( | 529 void PanelLayoutManager::WillChangeVisibilityState( |
530 ShelfVisibilityState new_state) { | 530 ShelfVisibilityState new_state) { |
531 // On entering / leaving full screen mode the shelf visibility state is | 531 // On entering / leaving full screen mode the shelf visibility state is |
532 // changed to / from SHELF_HIDDEN. In this state, panel windows should hide | 532 // changed to / from SHELF_HIDDEN. In this state, panel windows should hide |
533 // to allow the full-screen application to use the full screen. | 533 // to allow the full-screen application to use the full screen. |
534 bool shelf_hidden = new_state == ash::SHELF_HIDDEN; | 534 bool shelf_hidden = new_state == ash::SHELF_HIDDEN; |
535 if (!shelf_hidden) { | 535 if (!shelf_hidden) { |
536 if (restore_windows_on_shelf_visible_) { | 536 if (restore_windows_on_shelf_visible_) { |
537 scoped_ptr<aura::WindowTracker> restore_windows( | 537 std::unique_ptr<aura::WindowTracker> restore_windows( |
538 std::move(restore_windows_on_shelf_visible_)); | 538 std::move(restore_windows_on_shelf_visible_)); |
539 for (aura::Window::Windows::const_iterator iter = | 539 for (aura::Window::Windows::const_iterator iter = |
540 restore_windows->windows().begin(); | 540 restore_windows->windows().begin(); |
541 iter != restore_windows->windows().end(); ++iter) { | 541 iter != restore_windows->windows().end(); ++iter) { |
542 RestorePanel(*iter); | 542 RestorePanel(*iter); |
543 } | 543 } |
544 } | 544 } |
545 return; | 545 return; |
546 } | 546 } |
547 | 547 |
548 if (restore_windows_on_shelf_visible_) | 548 if (restore_windows_on_shelf_visible_) |
549 return; | 549 return; |
550 scoped_ptr<aura::WindowTracker> minimized_windows(new aura::WindowTracker); | 550 std::unique_ptr<aura::WindowTracker> minimized_windows( |
| 551 new aura::WindowTracker); |
551 for (PanelList::iterator iter = panel_windows_.begin(); | 552 for (PanelList::iterator iter = panel_windows_.begin(); |
552 iter != panel_windows_.end();) { | 553 iter != panel_windows_.end();) { |
553 aura::Window* window = iter->window; | 554 aura::Window* window = iter->window; |
554 // Minimizing a panel window may remove it from the panel_windows_ list. | 555 // Minimizing a panel window may remove it from the panel_windows_ list. |
555 // Advance the iterator before minimizing it: http://crbug.com/393047. | 556 // Advance the iterator before minimizing it: http://crbug.com/393047. |
556 ++iter; | 557 ++iter; |
557 if (window != dragged_panel_ && window->IsVisible()) { | 558 if (window != dragged_panel_ && window->IsVisible()) { |
558 minimized_windows->Add(window); | 559 minimized_windows->Add(window); |
559 wm::GetWindowState(window)->Minimize(); | 560 wm::GetWindowState(window)->Minimize(); |
560 } | 561 } |
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
928 // Keyboard hidden, restore original bounds if they exist. | 929 // Keyboard hidden, restore original bounds if they exist. |
929 SetChildBounds(panel, panel_state->GetRestoreBoundsInScreen()); | 930 SetChildBounds(panel, panel_state->GetRestoreBoundsInScreen()); |
930 } | 931 } |
931 } | 932 } |
932 // This bounds change will have caused a change to the Shelf which does not | 933 // This bounds change will have caused a change to the Shelf which does not |
933 // propogate automatically to this class, so manually recalculate bounds. | 934 // propogate automatically to this class, so manually recalculate bounds. |
934 OnWindowResized(); | 935 OnWindowResized(); |
935 } | 936 } |
936 | 937 |
937 } // namespace ash | 938 } // namespace ash |
OLD | NEW |