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

Side by Side Diff: ash/root_window_controller.cc

Issue 2896273004: chromeos: converts PanelLayoutManager to aura::Window (Closed)
Patch Set: feedback Created 3 years, 7 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
« no previous file with comments | « no previous file | ash/wm/always_on_top_controller.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/root_window_controller.h" 5 #include "ash/root_window_controller.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <queue> 8 #include <queue>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 781 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 GetContainer(kShellWindowId_LockSystemModalContainer); 792 GetContainer(kShellWindowId_LockSystemModalContainer);
793 DCHECK(lock_modal_container); 793 DCHECK(lock_modal_container);
794 lock_modal_container->SetLayoutManager( 794 lock_modal_container->SetLayoutManager(
795 new SystemModalContainerLayoutManager(lock_modal_container)); 795 new SystemModalContainerLayoutManager(lock_modal_container));
796 796
797 aura::Window* lock_container = 797 aura::Window* lock_container =
798 GetContainer(kShellWindowId_LockScreenContainer); 798 GetContainer(kShellWindowId_LockScreenContainer);
799 DCHECK(lock_container); 799 DCHECK(lock_container);
800 lock_container->SetLayoutManager(new LockLayoutManager(lock_container)); 800 lock_container->SetLayoutManager(new LockLayoutManager(lock_container));
801 801
802 WmWindow* always_on_top_container = 802 aura::Window* always_on_top_container =
803 GetWmContainer(kShellWindowId_AlwaysOnTopContainer); 803 GetContainer(kShellWindowId_AlwaysOnTopContainer);
804 DCHECK(always_on_top_container); 804 DCHECK(always_on_top_container);
805 always_on_top_controller_ = 805 always_on_top_controller_ =
806 base::MakeUnique<AlwaysOnTopController>(always_on_top_container); 806 base::MakeUnique<AlwaysOnTopController>(always_on_top_container);
807 807
808 // Create Panel layout manager 808 // Create Panel layout manager
809 WmWindow* wm_panel_container = GetWmContainer(kShellWindowId_PanelContainer); 809 aura::Window* panel_container = GetContainer(kShellWindowId_PanelContainer);
810 panel_layout_manager_ = new PanelLayoutManager(wm_panel_container); 810 panel_layout_manager_ = new PanelLayoutManager(panel_container);
811 wm_panel_container->aura_window()->SetLayoutManager(panel_layout_manager_); 811 panel_container->SetLayoutManager(panel_layout_manager_);
812 812
813 wm::WmSnapToPixelLayoutManager::InstallOnContainers(root); 813 wm::WmSnapToPixelLayoutManager::InstallOnContainers(root);
814 814
815 // Make it easier to resize windows that partially overlap the shelf. Must 815 // Make it easier to resize windows that partially overlap the shelf. Must
816 // occur after the ShelfLayoutManager is constructed by ShelfWidget. 816 // occur after the ShelfLayoutManager is constructed by ShelfWidget.
817 aura::Window* shelf_container = GetContainer(kShellWindowId_ShelfContainer); 817 aura::Window* shelf_container = GetContainer(kShellWindowId_ShelfContainer);
818 WmWindow* wm_shelf_container = WmWindow::Get(shelf_container); 818 WmWindow* wm_shelf_container = WmWindow::Get(shelf_container);
819 shelf_container->SetEventTargeter(base::MakeUnique<ShelfWindowTargeter>( 819 shelf_container->SetEventTargeter(base::MakeUnique<ShelfWindowTargeter>(
820 wm_shelf_container, wm_shelf_.get())); 820 wm_shelf_container, wm_shelf_.get()));
821 aura::Window* status_container = GetContainer(kShellWindowId_StatusContainer); 821 aura::Window* status_container = GetContainer(kShellWindowId_StatusContainer);
822 WmWindow* wm_status_container = WmWindow::Get(status_container); 822 WmWindow* wm_status_container = WmWindow::Get(status_container);
823 status_container->SetEventTargeter(base::MakeUnique<ShelfWindowTargeter>( 823 status_container->SetEventTargeter(base::MakeUnique<ShelfWindowTargeter>(
824 wm_status_container, wm_shelf_.get())); 824 wm_status_container, wm_shelf_.get()));
825 825
826 panel_container_handler_ = base::MakeUnique<PanelWindowEventHandler>(); 826 panel_container_handler_ = base::MakeUnique<PanelWindowEventHandler>();
827 GetContainer(kShellWindowId_PanelContainer) 827 GetContainer(kShellWindowId_PanelContainer)
828 ->AddPreTargetHandler(panel_container_handler_.get()); 828 ->AddPreTargetHandler(panel_container_handler_.get());
829 829
830 // Install an AttachedPanelWindowTargeter on the panel container to make it 830 // Install an AttachedPanelWindowTargeter on the panel container to make it
831 // easier to correctly target shelf buttons with touch. 831 // easier to correctly target shelf buttons with touch.
832 gfx::Insets mouse_extend(-kResizeOutsideBoundsSize, -kResizeOutsideBoundsSize, 832 gfx::Insets mouse_extend(-kResizeOutsideBoundsSize, -kResizeOutsideBoundsSize,
833 -kResizeOutsideBoundsSize, 833 -kResizeOutsideBoundsSize,
834 -kResizeOutsideBoundsSize); 834 -kResizeOutsideBoundsSize);
835 gfx::Insets touch_extend = 835 gfx::Insets touch_extend =
836 mouse_extend.Scale(kResizeOutsideBoundsScaleForTouch); 836 mouse_extend.Scale(kResizeOutsideBoundsScaleForTouch);
837 aura::Window* panel_container = GetContainer(kShellWindowId_PanelContainer);
838 panel_container->SetEventTargeter(std::unique_ptr<ui::EventTargeter>( 837 panel_container->SetEventTargeter(std::unique_ptr<ui::EventTargeter>(
839 new AttachedPanelWindowTargeter(panel_container, mouse_extend, 838 new AttachedPanelWindowTargeter(panel_container, mouse_extend,
840 touch_extend, panel_layout_manager()))); 839 touch_extend, panel_layout_manager())));
841 } 840 }
842 841
843 void RootWindowController::CreateContainers() { 842 void RootWindowController::CreateContainers() {
844 WmWindow* root = GetWindow(); 843 WmWindow* root = GetWindow();
845 // For screen rotation animation: add a NOT_DRAWN layer in between the 844 // For screen rotation animation: add a NOT_DRAWN layer in between the
846 // root_window's layer and its current children so that we only need to 845 // root_window's layer and its current children so that we only need to
847 // initiate two LayerAnimationSequences. One for the new layers and one for 846 // initiate two LayerAnimationSequences. One for the new layers and one for
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
1082 EnableTouchHudProjection(); 1081 EnableTouchHudProjection();
1083 else 1082 else
1084 DisableTouchHudProjection(); 1083 DisableTouchHudProjection();
1085 } 1084 }
1086 1085
1087 RootWindowController* GetRootWindowController(const aura::Window* root_window) { 1086 RootWindowController* GetRootWindowController(const aura::Window* root_window) {
1088 return root_window ? GetRootWindowSettings(root_window)->controller : nullptr; 1087 return root_window ? GetRootWindowSettings(root_window)->controller : nullptr;
1089 } 1088 }
1090 1089
1091 } // namespace ash 1090 } // namespace ash
OLDNEW
« no previous file with comments | « no previous file | ash/wm/always_on_top_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698