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/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 |
11 #include "ash/ash_touch_exploration_manager_chromeos.h" | 11 #include "ash/ash_touch_exploration_manager_chromeos.h" |
12 #include "ash/aura/aura_layout_manager_adapter.h" | 12 #include "ash/aura/aura_layout_manager_adapter.h" |
13 #include "ash/common/ash_constants.h" | 13 #include "ash/common/ash_constants.h" |
14 #include "ash/common/ash_switches.h" | 14 #include "ash/common/ash_switches.h" |
15 #include "ash/common/focus_cycler.h" | 15 #include "ash/common/focus_cycler.h" |
16 #include "ash/common/login_status.h" | 16 #include "ash/common/login_status.h" |
17 #include "ash/common/session/session_state_delegate.h" | 17 #include "ash/common/session/session_state_delegate.h" |
18 #include "ash/common/shelf/shelf_delegate.h" | 18 #include "ash/common/shelf/shelf_delegate.h" |
19 #include "ash/common/shelf/shelf_layout_manager.h" | 19 #include "ash/common/shelf/shelf_layout_manager.h" |
20 #include "ash/common/shelf/shelf_widget.h" | 20 #include "ash/common/shelf/shelf_widget.h" |
21 #include "ash/common/shelf/wm_shelf.h" | 21 #include "ash/common/shelf/wm_shelf.h" |
22 #include "ash/common/shell_delegate.h" | 22 #include "ash/common/shell_delegate.h" |
23 #include "ash/common/system/status_area_layout_manager.h" | 23 #include "ash/common/system/status_area_layout_manager.h" |
24 #include "ash/common/system/status_area_widget.h" | 24 #include "ash/common/system/status_area_widget.h" |
25 #include "ash/common/system/tray/system_tray_delegate.h" | 25 #include "ash/common/system/tray/system_tray_delegate.h" |
26 #include "ash/common/wallpaper/wallpaper_delegate.h" | 26 #include "ash/common/wallpaper/wallpaper_delegate.h" |
27 #include "ash/common/wallpaper/wallpaper_widget_controller.h" | 27 #include "ash/common/wallpaper/wallpaper_widget_controller.h" |
28 #include "ash/common/wm/always_on_top_controller.h" | 28 #include "ash/common/wm/always_on_top_controller.h" |
29 #include "ash/common/wm/container_finder.h" | 29 #include "ash/common/wm/container_finder.h" |
30 #include "ash/common/wm/dock/docked_window_layout_manager.h" | |
31 #include "ash/common/wm/fullscreen_window_finder.h" | 30 #include "ash/common/wm/fullscreen_window_finder.h" |
32 #include "ash/common/wm/lock_layout_manager.h" | 31 #include "ash/common/wm/lock_layout_manager.h" |
33 #include "ash/common/wm/panels/panel_layout_manager.h" | 32 #include "ash/common/wm/panels/panel_layout_manager.h" |
34 #include "ash/common/wm/root_window_layout_manager.h" | 33 #include "ash/common/wm/root_window_layout_manager.h" |
35 #include "ash/common/wm/switchable_windows.h" | 34 #include "ash/common/wm/switchable_windows.h" |
36 #include "ash/common/wm/system_modal_container_layout_manager.h" | 35 #include "ash/common/wm/system_modal_container_layout_manager.h" |
37 #include "ash/common/wm/window_state.h" | 36 #include "ash/common/wm/window_state.h" |
38 #include "ash/common/wm/wm_screen_util.h" | 37 #include "ash/common/wm/wm_screen_util.h" |
39 #include "ash/common/wm/workspace/workspace_layout_manager.h" | 38 #include "ash/common/wm/workspace/workspace_layout_manager.h" |
40 #include "ash/common/wm/workspace_controller.h" | 39 #include "ash/common/wm/workspace_controller.h" |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 } | 163 } |
165 | 164 |
166 // Reparents |window| to |new_parent|. | 165 // Reparents |window| to |new_parent|. |
167 // TODO(sky): This should take an aura::Window. http://crbug.com/671246. | 166 // TODO(sky): This should take an aura::Window. http://crbug.com/671246. |
168 void ReparentWindow(WmWindow* window, WmWindow* new_parent) { | 167 void ReparentWindow(WmWindow* window, WmWindow* new_parent) { |
169 const gfx::Size src_size = window->GetParent()->GetBounds().size(); | 168 const gfx::Size src_size = window->GetParent()->GetBounds().size(); |
170 const gfx::Size dst_size = new_parent->GetBounds().size(); | 169 const gfx::Size dst_size = new_parent->GetBounds().size(); |
171 // Update the restore bounds to make it relative to the display. | 170 // Update the restore bounds to make it relative to the display. |
172 wm::WindowState* state = window->GetWindowState(); | 171 wm::WindowState* state = window->GetWindowState(); |
173 gfx::Rect restore_bounds; | 172 gfx::Rect restore_bounds; |
174 bool has_restore_bounds = state->HasRestoreBounds(); | 173 const bool has_restore_bounds = state->HasRestoreBounds(); |
175 | 174 |
176 bool update_bounds = | 175 const bool update_bounds = state->IsNormalOrSnapped() || state->IsMinimized(); |
177 (state->IsNormalOrSnapped() || state->IsMinimized()) && | |
178 new_parent->GetShellWindowId() != kShellWindowId_DockedContainer; | |
179 gfx::Rect work_area_in_new_parent = | 176 gfx::Rect work_area_in_new_parent = |
180 wm::GetDisplayWorkAreaBoundsInParent(new_parent); | 177 wm::GetDisplayWorkAreaBoundsInParent(new_parent); |
181 | 178 |
182 gfx::Rect local_bounds; | 179 gfx::Rect local_bounds; |
183 if (update_bounds) { | 180 if (update_bounds) { |
184 local_bounds = state->window()->GetBounds(); | 181 local_bounds = state->window()->GetBounds(); |
185 MoveOriginRelativeToSize(src_size, dst_size, &local_bounds); | 182 MoveOriginRelativeToSize(src_size, dst_size, &local_bounds); |
186 local_bounds.AdjustToFit(work_area_in_new_parent); | 183 local_bounds.AdjustToFit(work_area_in_new_parent); |
187 } | 184 } |
188 | 185 |
(...skipping 12 matching lines...) Expand all Loading... |
201 if (has_restore_bounds) | 198 if (has_restore_bounds) |
202 state->SetRestoreBoundsInParent(restore_bounds); | 199 state->SetRestoreBoundsInParent(restore_bounds); |
203 } | 200 } |
204 | 201 |
205 // Reparents the appropriate set of windows from |src| to |dst|. | 202 // Reparents the appropriate set of windows from |src| to |dst|. |
206 // TODO(sky): This should take an aura::Window. http://crbug.com/671246. | 203 // TODO(sky): This should take an aura::Window. http://crbug.com/671246. |
207 void ReparentAllWindows(WmWindow* src, WmWindow* dst) { | 204 void ReparentAllWindows(WmWindow* src, WmWindow* dst) { |
208 // Set of windows to move. | 205 // Set of windows to move. |
209 const int kContainerIdsToMove[] = { | 206 const int kContainerIdsToMove[] = { |
210 kShellWindowId_DefaultContainer, | 207 kShellWindowId_DefaultContainer, |
211 kShellWindowId_DockedContainer, | |
212 kShellWindowId_PanelContainer, | 208 kShellWindowId_PanelContainer, |
213 kShellWindowId_AlwaysOnTopContainer, | 209 kShellWindowId_AlwaysOnTopContainer, |
214 kShellWindowId_SystemModalContainer, | 210 kShellWindowId_SystemModalContainer, |
215 kShellWindowId_LockSystemModalContainer, | 211 kShellWindowId_LockSystemModalContainer, |
216 kShellWindowId_UnparentedControlContainer, | 212 kShellWindowId_UnparentedControlContainer, |
217 kShellWindowId_OverlayContainer, | 213 kShellWindowId_OverlayContainer, |
218 }; | 214 }; |
219 const int kExtraContainerIdsToMoveInUnifiedMode[] = { | 215 const int kExtraContainerIdsToMoveInUnifiedMode[] = { |
220 kShellWindowId_LockScreenContainer, | 216 kShellWindowId_LockScreenContainer, |
221 kShellWindowId_LockScreenWallpaperContainer, | 217 kShellWindowId_LockScreenWallpaperContainer, |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 | 365 |
370 void RootWindowController::CreateShelfView() { | 366 void RootWindowController::CreateShelfView() { |
371 if (wm_shelf_->IsShelfInitialized()) | 367 if (wm_shelf_->IsShelfInitialized()) |
372 return; | 368 return; |
373 wm_shelf_->CreateShelfView(); | 369 wm_shelf_->CreateShelfView(); |
374 | 370 |
375 // TODO(jamescook): Pass |wm_shelf_| into the constructors for these layout | 371 // TODO(jamescook): Pass |wm_shelf_| into the constructors for these layout |
376 // managers. | 372 // managers. |
377 if (panel_layout_manager_) | 373 if (panel_layout_manager_) |
378 panel_layout_manager_->SetShelf(wm_shelf_.get()); | 374 panel_layout_manager_->SetShelf(wm_shelf_.get()); |
379 if (docked_window_layout_manager_) { | |
380 docked_window_layout_manager_->SetShelf(wm_shelf_.get()); | |
381 if (wm_shelf_->shelf_layout_manager()) | |
382 docked_window_layout_manager_->AddObserver( | |
383 wm_shelf_->shelf_layout_manager()); | |
384 } | |
385 | 375 |
386 // Notify shell observers that the shelf has been created. | 376 // Notify shell observers that the shelf has been created. |
387 // TODO(jamescook): Move this into WmShelf::InitializeShelf(). This will | 377 // TODO(jamescook): Move this into WmShelf::InitializeShelf(). This will |
388 // require changing AttachedPanelWidgetTargeter's access to WmShelf. | 378 // require changing AttachedPanelWidgetTargeter's access to WmShelf. |
389 WmShell::Get()->NotifyShelfCreatedForRootWindow( | 379 WmShell::Get()->NotifyShelfCreatedForRootWindow( |
390 WmWindow::Get(GetRootWindow())); | 380 WmWindow::Get(GetRootWindow())); |
391 | 381 |
392 wm_shelf_->shelf_widget()->PostCreateShelf(); | 382 wm_shelf_->shelf_widget()->PostCreateShelf(); |
393 } | 383 } |
394 | 384 |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
566 if (ash_host_) | 556 if (ash_host_) |
567 ash_host_->PrepareForShutdown(); | 557 ash_host_->PrepareForShutdown(); |
568 | 558 |
569 system_wallpaper_.reset(); | 559 system_wallpaper_.reset(); |
570 aura::client::SetScreenPositionClient(root_window, nullptr); | 560 aura::client::SetScreenPositionClient(root_window, nullptr); |
571 } | 561 } |
572 | 562 |
573 void RootWindowController::CloseChildWindows() { | 563 void RootWindowController::CloseChildWindows() { |
574 // NOTE: this may be called multiple times. | 564 // NOTE: this may be called multiple times. |
575 | 565 |
576 // Remove observer as deactivating keyboard causes | |
577 // docked_window_layout_manager() to fire notifications. | |
578 if (docked_window_layout_manager() && wm_shelf_->shelf_layout_manager()) { | |
579 docked_window_layout_manager()->RemoveObserver( | |
580 wm_shelf_->shelf_layout_manager()); | |
581 } | |
582 | |
583 // Deactivate keyboard container before closing child windows and shutting | 566 // Deactivate keyboard container before closing child windows and shutting |
584 // down associated layout managers. | 567 // down associated layout managers. |
585 DeactivateKeyboard(keyboard::KeyboardController::GetInstance()); | 568 DeactivateKeyboard(keyboard::KeyboardController::GetInstance()); |
586 | 569 |
587 // |panel_layout_manager_| needs to be shut down before windows are destroyed. | 570 // |panel_layout_manager_| needs to be shut down before windows are destroyed. |
588 if (panel_layout_manager_) { | 571 if (panel_layout_manager_) { |
589 panel_layout_manager_->Shutdown(); | 572 panel_layout_manager_->Shutdown(); |
590 panel_layout_manager_ = nullptr; | 573 panel_layout_manager_ = nullptr; |
591 } | 574 } |
592 | 575 |
593 // |docked_window_layout_manager_| needs to be shut down before windows are | |
594 // destroyed. | |
595 if (docked_window_layout_manager_) { | |
596 docked_window_layout_manager_->Shutdown(); | |
597 docked_window_layout_manager_ = nullptr; | |
598 } | |
599 | |
600 WmShelf* shelf = GetShelf(); | 576 WmShelf* shelf = GetShelf(); |
601 shelf->ShutdownShelfWidget(); | 577 shelf->ShutdownShelfWidget(); |
602 | 578 |
603 workspace_controller_.reset(); | 579 workspace_controller_.reset(); |
604 | 580 |
605 // Explicitly destroy top level windows. We do this because such windows may | 581 // Explicitly destroy top level windows. We do this because such windows may |
606 // query the RootWindow for state. | 582 // query the RootWindow for state. |
607 aura::WindowTracker non_toplevel_windows; | 583 aura::WindowTracker non_toplevel_windows; |
608 WmWindow* root = GetWindow(); | 584 WmWindow* root = GetWindow(); |
609 non_toplevel_windows.Add(root->aura_window()); | 585 non_toplevel_windows.Add(root->aura_window()); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 | 645 |
670 void RootWindowController::ActivateKeyboard( | 646 void RootWindowController::ActivateKeyboard( |
671 keyboard::KeyboardController* keyboard_controller) { | 647 keyboard::KeyboardController* keyboard_controller) { |
672 if (!keyboard::IsKeyboardEnabled() || | 648 if (!keyboard::IsKeyboardEnabled() || |
673 GetContainer(kShellWindowId_VirtualKeyboardContainer)) { | 649 GetContainer(kShellWindowId_VirtualKeyboardContainer)) { |
674 return; | 650 return; |
675 } | 651 } |
676 DCHECK(keyboard_controller); | 652 DCHECK(keyboard_controller); |
677 keyboard_controller->AddObserver(wm_shelf_->shelf_layout_manager()); | 653 keyboard_controller->AddObserver(wm_shelf_->shelf_layout_manager()); |
678 keyboard_controller->AddObserver(panel_layout_manager()); | 654 keyboard_controller->AddObserver(panel_layout_manager()); |
679 keyboard_controller->AddObserver(docked_window_layout_manager()); | |
680 keyboard_controller->AddObserver(workspace_controller()->layout_manager()); | 655 keyboard_controller->AddObserver(workspace_controller()->layout_manager()); |
681 keyboard_controller->AddObserver( | 656 keyboard_controller->AddObserver( |
682 always_on_top_controller_->GetLayoutManager()); | 657 always_on_top_controller_->GetLayoutManager()); |
683 WmShell::Get()->NotifyVirtualKeyboardActivated(true); | 658 WmShell::Get()->NotifyVirtualKeyboardActivated(true); |
684 aura::Window* parent = GetContainer(kShellWindowId_ImeWindowParentContainer); | 659 aura::Window* parent = GetContainer(kShellWindowId_ImeWindowParentContainer); |
685 DCHECK(parent); | 660 DCHECK(parent); |
686 aura::Window* keyboard_container = keyboard_controller->GetContainerWindow(); | 661 aura::Window* keyboard_container = keyboard_controller->GetContainerWindow(); |
687 keyboard_container->set_id(kShellWindowId_VirtualKeyboardContainer); | 662 keyboard_container->set_id(kShellWindowId_VirtualKeyboardContainer); |
688 parent->AddChild(keyboard_container); | 663 parent->AddChild(keyboard_container); |
689 } | 664 } |
690 | 665 |
691 void RootWindowController::DeactivateKeyboard( | 666 void RootWindowController::DeactivateKeyboard( |
692 keyboard::KeyboardController* keyboard_controller) { | 667 keyboard::KeyboardController* keyboard_controller) { |
693 if (!keyboard_controller || | 668 if (!keyboard_controller || |
694 !keyboard_controller->keyboard_container_initialized()) { | 669 !keyboard_controller->keyboard_container_initialized()) { |
695 return; | 670 return; |
696 } | 671 } |
697 aura::Window* keyboard_container = keyboard_controller->GetContainerWindow(); | 672 aura::Window* keyboard_container = keyboard_controller->GetContainerWindow(); |
698 if (keyboard_container->GetRootWindow() == GetRootWindow()) { | 673 if (keyboard_container->GetRootWindow() == GetRootWindow()) { |
699 aura::Window* parent = | 674 aura::Window* parent = |
700 GetContainer(kShellWindowId_ImeWindowParentContainer); | 675 GetContainer(kShellWindowId_ImeWindowParentContainer); |
701 DCHECK(parent); | 676 DCHECK(parent); |
702 // Virtual keyboard may be deactivated while still showing, hide the | 677 // Virtual keyboard may be deactivated while still showing, hide the |
703 // keyboard before removing it from view hierarchy. | 678 // keyboard before removing it from view hierarchy. |
704 keyboard_controller->HideKeyboard( | 679 keyboard_controller->HideKeyboard( |
705 keyboard::KeyboardController::HIDE_REASON_AUTOMATIC); | 680 keyboard::KeyboardController::HIDE_REASON_AUTOMATIC); |
706 parent->RemoveChild(keyboard_container); | 681 parent->RemoveChild(keyboard_container); |
707 keyboard_controller->RemoveObserver(wm_shelf_->shelf_layout_manager()); | 682 keyboard_controller->RemoveObserver(wm_shelf_->shelf_layout_manager()); |
708 keyboard_controller->RemoveObserver(panel_layout_manager()); | 683 keyboard_controller->RemoveObserver(panel_layout_manager()); |
709 keyboard_controller->RemoveObserver(docked_window_layout_manager()); | |
710 keyboard_controller->RemoveObserver( | 684 keyboard_controller->RemoveObserver( |
711 workspace_controller()->layout_manager()); | 685 workspace_controller()->layout_manager()); |
712 keyboard_controller->RemoveObserver( | 686 keyboard_controller->RemoveObserver( |
713 always_on_top_controller_->GetLayoutManager()); | 687 always_on_top_controller_->GetLayoutManager()); |
714 WmShell::Get()->NotifyVirtualKeyboardActivated(false); | 688 WmShell::Get()->NotifyVirtualKeyboardActivated(false); |
715 } | 689 } |
716 } | 690 } |
717 | 691 |
718 bool RootWindowController::IsVirtualKeyboardWindow(aura::Window* window) { | 692 bool RootWindowController::IsVirtualKeyboardWindow(aura::Window* window) { |
719 aura::Window* parent = GetContainer(kShellWindowId_ImeWindowParentContainer); | 693 aura::Window* parent = GetContainer(kShellWindowId_ImeWindowParentContainer); |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
860 DCHECK(lock_container); | 834 DCHECK(lock_container); |
861 lock_container->SetLayoutManager( | 835 lock_container->SetLayoutManager( |
862 base::MakeUnique<LockLayoutManager>(lock_container)); | 836 base::MakeUnique<LockLayoutManager>(lock_container)); |
863 | 837 |
864 WmWindow* always_on_top_container = | 838 WmWindow* always_on_top_container = |
865 GetWmContainer(kShellWindowId_AlwaysOnTopContainer); | 839 GetWmContainer(kShellWindowId_AlwaysOnTopContainer); |
866 DCHECK(always_on_top_container); | 840 DCHECK(always_on_top_container); |
867 always_on_top_controller_ = | 841 always_on_top_controller_ = |
868 base::MakeUnique<AlwaysOnTopController>(always_on_top_container); | 842 base::MakeUnique<AlwaysOnTopController>(always_on_top_container); |
869 | 843 |
870 // Create Docked windows layout manager | |
871 WmWindow* docked_container = GetWmContainer(kShellWindowId_DockedContainer); | |
872 docked_window_layout_manager_ = | |
873 new DockedWindowLayoutManager(docked_container); | |
874 docked_container->SetLayoutManager( | |
875 base::WrapUnique(docked_window_layout_manager_)); | |
876 | |
877 // Create Panel layout manager | 844 // Create Panel layout manager |
878 WmWindow* wm_panel_container = GetWmContainer(kShellWindowId_PanelContainer); | 845 WmWindow* wm_panel_container = GetWmContainer(kShellWindowId_PanelContainer); |
879 panel_layout_manager_ = new PanelLayoutManager(wm_panel_container); | 846 panel_layout_manager_ = new PanelLayoutManager(wm_panel_container); |
880 wm_panel_container->SetLayoutManager(base::WrapUnique(panel_layout_manager_)); | 847 wm_panel_container->SetLayoutManager(base::WrapUnique(panel_layout_manager_)); |
881 | 848 |
882 wm::WmSnapToPixelLayoutManager::InstallOnContainers(root); | 849 wm::WmSnapToPixelLayoutManager::InstallOnContainers(root); |
883 | 850 |
884 // Make it easier to resize windows that partially overlap the shelf. Must | 851 // Make it easier to resize windows that partially overlap the shelf. Must |
885 // occur after the ShelfLayoutManager is constructed by ShelfWidget. | 852 // occur after the ShelfLayoutManager is constructed by ShelfWidget. |
886 aura::Window* shelf_container = GetContainer(kShellWindowId_ShelfContainer); | 853 aura::Window* shelf_container = GetContainer(kShellWindowId_ShelfContainer); |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
956 default_container->SetChildrenUseExtendedHitRegion(); | 923 default_container->SetChildrenUseExtendedHitRegion(); |
957 | 924 |
958 WmWindow* always_on_top_container = | 925 WmWindow* always_on_top_container = |
959 CreateContainer(kShellWindowId_AlwaysOnTopContainer, | 926 CreateContainer(kShellWindowId_AlwaysOnTopContainer, |
960 "AlwaysOnTopContainer", non_lock_screen_containers); | 927 "AlwaysOnTopContainer", non_lock_screen_containers); |
961 always_on_top_container->SetChildWindowVisibilityChangesAnimated(); | 928 always_on_top_container->SetChildWindowVisibilityChangesAnimated(); |
962 always_on_top_container->SetSnapsChildrenToPhysicalPixelBoundary(); | 929 always_on_top_container->SetSnapsChildrenToPhysicalPixelBoundary(); |
963 always_on_top_container->SetBoundsInScreenBehaviorForChildren( | 930 always_on_top_container->SetBoundsInScreenBehaviorForChildren( |
964 WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); | 931 WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); |
965 | 932 |
966 WmWindow* docked_container = | |
967 CreateContainer(kShellWindowId_DockedContainer, "DockedContainer", | |
968 non_lock_screen_containers); | |
969 docked_container->SetChildWindowVisibilityChangesAnimated(); | |
970 docked_container->SetSnapsChildrenToPhysicalPixelBoundary(); | |
971 docked_container->SetBoundsInScreenBehaviorForChildren( | |
972 WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); | |
973 docked_container->SetChildrenUseExtendedHitRegion(); | |
974 | |
975 WmWindow* shelf_container = | 933 WmWindow* shelf_container = |
976 CreateContainer(kShellWindowId_ShelfContainer, "ShelfContainer", | 934 CreateContainer(kShellWindowId_ShelfContainer, "ShelfContainer", |
977 non_lock_screen_containers); | 935 non_lock_screen_containers); |
978 shelf_container->SetSnapsChildrenToPhysicalPixelBoundary(); | 936 shelf_container->SetSnapsChildrenToPhysicalPixelBoundary(); |
979 shelf_container->SetBoundsInScreenBehaviorForChildren( | 937 shelf_container->SetBoundsInScreenBehaviorForChildren( |
980 WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); | 938 WmWindow::BoundsInScreenBehavior::USE_SCREEN_COORDINATES); |
981 shelf_container->SetLockedToRoot(true); | 939 shelf_container->SetLockedToRoot(true); |
982 | 940 |
983 WmWindow* panel_container = | 941 WmWindow* panel_container = |
984 CreateContainer(kShellWindowId_PanelContainer, "PanelContainer", | 942 CreateContainer(kShellWindowId_PanelContainer, "PanelContainer", |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1155 EnableTouchHudProjection(); | 1113 EnableTouchHudProjection(); |
1156 else | 1114 else |
1157 DisableTouchHudProjection(); | 1115 DisableTouchHudProjection(); |
1158 } | 1116 } |
1159 | 1117 |
1160 RootWindowController* GetRootWindowController(const aura::Window* root_window) { | 1118 RootWindowController* GetRootWindowController(const aura::Window* root_window) { |
1161 return root_window ? GetRootWindowSettings(root_window)->controller : nullptr; | 1119 return root_window ? GetRootWindowSettings(root_window)->controller : nullptr; |
1162 } | 1120 } |
1163 | 1121 |
1164 } // namespace ash | 1122 } // namespace ash |
OLD | NEW |