| 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 <queue> | 7 #include <queue> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "ash/ash_constants.h" | 10 #include "ash/ash_constants.h" |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 | 88 |
| 89 // Creates a new window for use as a container. | 89 // Creates a new window for use as a container. |
| 90 aura::Window* CreateContainer(int window_id, | 90 aura::Window* CreateContainer(int window_id, |
| 91 const char* name, | 91 const char* name, |
| 92 aura::Window* parent) { | 92 aura::Window* parent) { |
| 93 aura::Window* container = new aura::Window(NULL); | 93 aura::Window* container = new aura::Window(NULL); |
| 94 container->set_id(window_id); | 94 container->set_id(window_id); |
| 95 container->SetName(name); | 95 container->SetName(name); |
| 96 container->Init(aura::WINDOW_LAYER_NOT_DRAWN); | 96 container->Init(aura::WINDOW_LAYER_NOT_DRAWN); |
| 97 parent->AddChild(container); | 97 parent->AddChild(container); |
| 98 if (window_id != internal::kShellWindowId_UnparentedControlContainer) | 98 if (window_id != kShellWindowId_UnparentedControlContainer) |
| 99 container->Show(); | 99 container->Show(); |
| 100 return container; | 100 return container; |
| 101 } | 101 } |
| 102 | 102 |
| 103 float ToRelativeValue(int value, int src, int dst) { | 103 float ToRelativeValue(int value, int src, int dst) { |
| 104 return static_cast<float>(value) / static_cast<float>(src) * dst; | 104 return static_cast<float>(value) / static_cast<float>(src) * dst; |
| 105 } | 105 } |
| 106 | 106 |
| 107 void MoveOriginRelativeToSize(const gfx::Size& src_size, | 107 void MoveOriginRelativeToSize(const gfx::Size& src_size, |
| 108 const gfx::Size& dst_size, | 108 const gfx::Size& dst_size, |
| 109 gfx::Rect* bounds_in_out) { | 109 gfx::Rect* bounds_in_out) { |
| 110 gfx::Point origin = bounds_in_out->origin(); | 110 gfx::Point origin = bounds_in_out->origin(); |
| 111 bounds_in_out->set_origin(gfx::Point( | 111 bounds_in_out->set_origin(gfx::Point( |
| 112 ToRelativeValue(origin.x(), src_size.width(), dst_size.width()), | 112 ToRelativeValue(origin.x(), src_size.width(), dst_size.width()), |
| 113 ToRelativeValue(origin.y(), src_size.height(), dst_size.height()))); | 113 ToRelativeValue(origin.y(), src_size.height(), dst_size.height()))); |
| 114 } | 114 } |
| 115 | 115 |
| 116 // Reparents |window| to |new_parent|. | 116 // Reparents |window| to |new_parent|. |
| 117 void ReparentWindow(aura::Window* window, aura::Window* new_parent) { | 117 void ReparentWindow(aura::Window* window, aura::Window* new_parent) { |
| 118 const gfx::Size src_size = window->parent()->bounds().size(); | 118 const gfx::Size src_size = window->parent()->bounds().size(); |
| 119 const gfx::Size dst_size = new_parent->bounds().size(); | 119 const gfx::Size dst_size = new_parent->bounds().size(); |
| 120 // Update the restore bounds to make it relative to the display. | 120 // Update the restore bounds to make it relative to the display. |
| 121 wm::WindowState* state = wm::GetWindowState(window); | 121 wm::WindowState* state = wm::GetWindowState(window); |
| 122 gfx::Rect restore_bounds; | 122 gfx::Rect restore_bounds; |
| 123 bool has_restore_bounds = state->HasRestoreBounds(); | 123 bool has_restore_bounds = state->HasRestoreBounds(); |
| 124 | 124 |
| 125 bool update_bounds = (state->IsNormalOrSnapped() || state->IsMinimized()) && | 125 bool update_bounds = (state->IsNormalOrSnapped() || state->IsMinimized()) && |
| 126 new_parent->id() != internal::kShellWindowId_DockedContainer; | 126 new_parent->id() != kShellWindowId_DockedContainer; |
| 127 gfx::Rect local_bounds; | 127 gfx::Rect local_bounds; |
| 128 if (update_bounds) { | 128 if (update_bounds) { |
| 129 local_bounds = state->window()->bounds(); | 129 local_bounds = state->window()->bounds(); |
| 130 MoveOriginRelativeToSize(src_size, dst_size, &local_bounds); | 130 MoveOriginRelativeToSize(src_size, dst_size, &local_bounds); |
| 131 } | 131 } |
| 132 | 132 |
| 133 if (has_restore_bounds) { | 133 if (has_restore_bounds) { |
| 134 restore_bounds = state->GetRestoreBoundsInParent(); | 134 restore_bounds = state->GetRestoreBoundsInParent(); |
| 135 MoveOriginRelativeToSize(src_size, dst_size, &restore_bounds); | 135 MoveOriginRelativeToSize(src_size, dst_size, &restore_bounds); |
| 136 } | 136 } |
| 137 | 137 |
| 138 new_parent->AddChild(window); | 138 new_parent->AddChild(window); |
| 139 | 139 |
| 140 // Docked windows have bounds handled by the layout manager in AddChild(). | 140 // Docked windows have bounds handled by the layout manager in AddChild(). |
| 141 if (update_bounds) | 141 if (update_bounds) |
| 142 window->SetBounds(local_bounds); | 142 window->SetBounds(local_bounds); |
| 143 | 143 |
| 144 if (has_restore_bounds) | 144 if (has_restore_bounds) |
| 145 state->SetRestoreBoundsInParent(restore_bounds); | 145 state->SetRestoreBoundsInParent(restore_bounds); |
| 146 } | 146 } |
| 147 | 147 |
| 148 // Reparents the appropriate set of windows from |src| to |dst|. | 148 // Reparents the appropriate set of windows from |src| to |dst|. |
| 149 void ReparentAllWindows(aura::Window* src, aura::Window* dst) { | 149 void ReparentAllWindows(aura::Window* src, aura::Window* dst) { |
| 150 // Set of windows to move. | 150 // Set of windows to move. |
| 151 const int kContainerIdsToMove[] = { | 151 const int kContainerIdsToMove[] = { |
| 152 internal::kShellWindowId_DefaultContainer, | 152 kShellWindowId_DefaultContainer, |
| 153 internal::kShellWindowId_DockedContainer, | 153 kShellWindowId_DockedContainer, |
| 154 internal::kShellWindowId_PanelContainer, | 154 kShellWindowId_PanelContainer, |
| 155 internal::kShellWindowId_AlwaysOnTopContainer, | 155 kShellWindowId_AlwaysOnTopContainer, |
| 156 internal::kShellWindowId_SystemModalContainer, | 156 kShellWindowId_SystemModalContainer, |
| 157 internal::kShellWindowId_LockSystemModalContainer, | 157 kShellWindowId_LockSystemModalContainer, |
| 158 internal::kShellWindowId_InputMethodContainer, | 158 kShellWindowId_InputMethodContainer, |
| 159 internal::kShellWindowId_UnparentedControlContainer, | 159 kShellWindowId_UnparentedControlContainer, }; |
| 160 }; | |
| 161 for (size_t i = 0; i < arraysize(kContainerIdsToMove); i++) { | 160 for (size_t i = 0; i < arraysize(kContainerIdsToMove); i++) { |
| 162 int id = kContainerIdsToMove[i]; | 161 int id = kContainerIdsToMove[i]; |
| 163 aura::Window* src_container = Shell::GetContainer(src, id); | 162 aura::Window* src_container = Shell::GetContainer(src, id); |
| 164 aura::Window* dst_container = Shell::GetContainer(dst, id); | 163 aura::Window* dst_container = Shell::GetContainer(dst, id); |
| 165 while (!src_container->children().empty()) { | 164 while (!src_container->children().empty()) { |
| 166 // Restart iteration from the source container windows each time as they | 165 // Restart iteration from the source container windows each time as they |
| 167 // may change as a result of moving other windows. | 166 // may change as a result of moving other windows. |
| 168 aura::Window::Windows::const_iterator iter = | 167 aura::Window::Windows::const_iterator iter = |
| 169 src_container->children().begin(); | 168 src_container->children().begin(); |
| 170 while (iter != src_container->children().end() && | 169 while (iter != src_container->children().end() && |
| 171 internal::SystemModalContainerLayoutManager::IsModalBackground( | 170 SystemModalContainerLayoutManager::IsModalBackground(*iter)) { |
| 172 *iter)) { | |
| 173 ++iter; | 171 ++iter; |
| 174 } | 172 } |
| 175 // If the entire window list is modal background windows then stop. | 173 // If the entire window list is modal background windows then stop. |
| 176 if (iter == src_container->children().end()) | 174 if (iter == src_container->children().end()) |
| 177 break; | 175 break; |
| 178 ReparentWindow(*iter, dst_container); | 176 ReparentWindow(*iter, dst_container); |
| 179 } | 177 } |
| 180 } | 178 } |
| 181 } | 179 } |
| 182 | 180 |
| 183 // Mark the container window so that a widget added to this container will | 181 // Mark the container window so that a widget added to this container will |
| 184 // use the virtual screeen coordinates instead of parent. | 182 // use the virtual screeen coordinates instead of parent. |
| 185 void SetUsesScreenCoordinates(aura::Window* container) { | 183 void SetUsesScreenCoordinates(aura::Window* container) { |
| 186 container->SetProperty(internal::kUsesScreenCoordinatesKey, true); | 184 container->SetProperty(kUsesScreenCoordinatesKey, true); |
| 187 } | 185 } |
| 188 | 186 |
| 189 // Mark the container window so that a widget added to this container will | 187 // Mark the container window so that a widget added to this container will |
| 190 // say in the same root window regardless of the bounds specified. | 188 // say in the same root window regardless of the bounds specified. |
| 191 void DescendantShouldStayInSameRootWindow(aura::Window* container) { | 189 void DescendantShouldStayInSameRootWindow(aura::Window* container) { |
| 192 container->SetProperty(internal::kStayInSameRootWindowKey, true); | 190 container->SetProperty(kStayInSameRootWindowKey, true); |
| 193 } | 191 } |
| 194 | 192 |
| 195 void SetUsesEasyResizeTargeter(aura::Window* container) { | 193 void SetUsesEasyResizeTargeter(aura::Window* container) { |
| 196 gfx::Insets mouse_extend(-kResizeOutsideBoundsSize, | 194 gfx::Insets mouse_extend(-kResizeOutsideBoundsSize, |
| 197 -kResizeOutsideBoundsSize, | 195 -kResizeOutsideBoundsSize, |
| 198 -kResizeOutsideBoundsSize, | 196 -kResizeOutsideBoundsSize, |
| 199 -kResizeOutsideBoundsSize); | 197 -kResizeOutsideBoundsSize); |
| 200 gfx::Insets touch_extend = mouse_extend.Scale( | 198 gfx::Insets touch_extend = mouse_extend.Scale( |
| 201 kResizeOutsideBoundsScaleForTouch); | 199 kResizeOutsideBoundsScaleForTouch); |
| 202 container->SetEventTargeter(scoped_ptr<ui::EventTargeter>( | 200 container->SetEventTargeter(scoped_ptr<ui::EventTargeter>( |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 253 return false; | 251 return false; |
| 254 } | 252 } |
| 255 virtual void GetHitTestMask(gfx::Path* mask) const OVERRIDE {} | 253 virtual void GetHitTestMask(gfx::Path* mask) const OVERRIDE {} |
| 256 | 254 |
| 257 private: | 255 private: |
| 258 DISALLOW_COPY_AND_ASSIGN(EmptyWindowDelegate); | 256 DISALLOW_COPY_AND_ASSIGN(EmptyWindowDelegate); |
| 259 }; | 257 }; |
| 260 | 258 |
| 261 } // namespace | 259 } // namespace |
| 262 | 260 |
| 263 namespace internal { | |
| 264 | |
| 265 void RootWindowController::CreateForPrimaryDisplay(aura::WindowTreeHost* host) { | 261 void RootWindowController::CreateForPrimaryDisplay(aura::WindowTreeHost* host) { |
| 266 RootWindowController* controller = new RootWindowController(host); | 262 RootWindowController* controller = new RootWindowController(host); |
| 267 controller->Init(RootWindowController::PRIMARY, | 263 controller->Init(RootWindowController::PRIMARY, |
| 268 Shell::GetInstance()->delegate()->IsFirstRunAfterBoot()); | 264 Shell::GetInstance()->delegate()->IsFirstRunAfterBoot()); |
| 269 } | 265 } |
| 270 | 266 |
| 271 void RootWindowController::CreateForSecondaryDisplay( | 267 void RootWindowController::CreateForSecondaryDisplay( |
| 272 aura::WindowTreeHost* host) { | 268 aura::WindowTreeHost* host) { |
| 273 RootWindowController* controller = new RootWindowController(host); | 269 RootWindowController* controller = new RootWindowController(host); |
| 274 controller->Init(RootWindowController::SECONDARY, false /* first run */); | 270 controller->Init(RootWindowController::SECONDARY, false /* first run */); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 287 } | 283 } |
| 288 | 284 |
| 289 // static | 285 // static |
| 290 RootWindowController* RootWindowController::ForWindow( | 286 RootWindowController* RootWindowController::ForWindow( |
| 291 const aura::Window* window) { | 287 const aura::Window* window) { |
| 292 return GetRootWindowController(window->GetRootWindow()); | 288 return GetRootWindowController(window->GetRootWindow()); |
| 293 } | 289 } |
| 294 | 290 |
| 295 // static | 291 // static |
| 296 RootWindowController* RootWindowController::ForTargetRootWindow() { | 292 RootWindowController* RootWindowController::ForTargetRootWindow() { |
| 297 return internal::GetRootWindowController(Shell::GetTargetRootWindow()); | 293 return GetRootWindowController(Shell::GetTargetRootWindow()); |
| 298 } | 294 } |
| 299 | 295 |
| 300 // static | 296 // static |
| 301 aura::Window* RootWindowController::GetContainerForWindow( | 297 aura::Window* RootWindowController::GetContainerForWindow( |
| 302 aura::Window* window) { | 298 aura::Window* window) { |
| 303 aura::Window* container = window->parent(); | 299 aura::Window* container = window->parent(); |
| 304 while (container && container->type() != ui::wm::WINDOW_TYPE_UNKNOWN) | 300 while (container && container->type() != ui::wm::WINDOW_TYPE_UNKNOWN) |
| 305 container = container->parent(); | 301 container = container->parent(); |
| 306 return container; | 302 return container; |
| 307 } | 303 } |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 343 Shell::GetPrimaryRootWindow() == root_window() ? | 339 Shell::GetPrimaryRootWindow() == root_window() ? |
| 344 NULL : Shell::GetPrimaryRootWindow()); | 340 NULL : Shell::GetPrimaryRootWindow()); |
| 345 } | 341 } |
| 346 | 342 |
| 347 CloseChildWindows(); | 343 CloseChildWindows(); |
| 348 GetRootWindowSettings(root_window())->controller = NULL; | 344 GetRootWindowSettings(root_window())->controller = NULL; |
| 349 screen_dimmer_.reset(); | 345 screen_dimmer_.reset(); |
| 350 workspace_controller_.reset(); | 346 workspace_controller_.reset(); |
| 351 // Forget with the display ID so that display lookup | 347 // Forget with the display ID so that display lookup |
| 352 // ends up with invalid display. | 348 // ends up with invalid display. |
| 353 internal::GetRootWindowSettings(root_window())->display_id = | 349 GetRootWindowSettings(root_window())->display_id = |
| 354 gfx::Display::kInvalidDisplayID; | 350 gfx::Display::kInvalidDisplayID; |
| 355 internal::GetRootWindowSettings(root_window())->shutdown = true; | 351 GetRootWindowSettings(root_window())->shutdown = true; |
| 356 | 352 |
| 357 system_background_.reset(); | 353 system_background_.reset(); |
| 358 aura::client::SetScreenPositionClient(root_window(), NULL); | 354 aura::client::SetScreenPositionClient(root_window(), NULL); |
| 359 } | 355 } |
| 360 | 356 |
| 361 SystemModalContainerLayoutManager* | 357 SystemModalContainerLayoutManager* |
| 362 RootWindowController::GetSystemModalLayoutManager(aura::Window* window) { | 358 RootWindowController::GetSystemModalLayoutManager(aura::Window* window) { |
| 363 aura::Window* modal_container = NULL; | 359 aura::Window* modal_container = NULL; |
| 364 if (window) { | 360 if (window) { |
| 365 aura::Window* window_container = GetContainerForWindow(window); | 361 aura::Window* window_container = GetContainerForWindow(window); |
| (...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 721 | 717 |
| 722 aura::Window* default_container = | 718 aura::Window* default_container = |
| 723 GetContainer(kShellWindowId_DefaultContainer); | 719 GetContainer(kShellWindowId_DefaultContainer); |
| 724 // Workspace manager has its own layout managers. | 720 // Workspace manager has its own layout managers. |
| 725 workspace_controller_.reset( | 721 workspace_controller_.reset( |
| 726 new WorkspaceController(default_container)); | 722 new WorkspaceController(default_container)); |
| 727 | 723 |
| 728 aura::Window* always_on_top_container = | 724 aura::Window* always_on_top_container = |
| 729 GetContainer(kShellWindowId_AlwaysOnTopContainer); | 725 GetContainer(kShellWindowId_AlwaysOnTopContainer); |
| 730 always_on_top_container->SetLayoutManager( | 726 always_on_top_container->SetLayoutManager( |
| 731 new internal::WorkspaceLayoutManager( | 727 new WorkspaceLayoutManager(always_on_top_container)); |
| 732 always_on_top_container)); | 728 always_on_top_controller_.reset(new AlwaysOnTopController); |
| 733 always_on_top_controller_.reset(new internal::AlwaysOnTopController); | |
| 734 always_on_top_controller_->SetAlwaysOnTopContainer(always_on_top_container); | 729 always_on_top_controller_->SetAlwaysOnTopContainer(always_on_top_container); |
| 735 | 730 |
| 736 DCHECK(!shelf_.get()); | 731 DCHECK(!shelf_.get()); |
| 737 aura::Window* shelf_container = | 732 aura::Window* shelf_container = GetContainer(kShellWindowId_ShelfContainer); |
| 738 GetContainer(internal::kShellWindowId_ShelfContainer); | |
| 739 // TODO(harrym): Remove when status area is view. | 733 // TODO(harrym): Remove when status area is view. |
| 740 aura::Window* status_container = | 734 aura::Window* status_container = GetContainer(kShellWindowId_StatusContainer); |
| 741 GetContainer(internal::kShellWindowId_StatusContainer); | |
| 742 shelf_.reset(new ShelfWidget( | 735 shelf_.reset(new ShelfWidget( |
| 743 shelf_container, status_container, workspace_controller())); | 736 shelf_container, status_container, workspace_controller())); |
| 744 | 737 |
| 745 if (!Shell::GetInstance()->session_state_delegate()-> | 738 if (!Shell::GetInstance()->session_state_delegate()-> |
| 746 IsActiveUserSessionStarted()) { | 739 IsActiveUserSessionStarted()) { |
| 747 // This window exists only to be a event target on login screen. | 740 // This window exists only to be a event target on login screen. |
| 748 // It does not have to handle events, nor be visible. | 741 // It does not have to handle events, nor be visible. |
| 749 mouse_event_target_.reset(new aura::Window(new EmptyWindowDelegate)); | 742 mouse_event_target_.reset(new aura::Window(new EmptyWindowDelegate)); |
| 750 mouse_event_target_->Init(aura::WINDOW_LAYER_NOT_DRAWN); | 743 mouse_event_target_->Init(aura::WINDOW_LAYER_NOT_DRAWN); |
| 751 | 744 |
| 752 aura::Window* lock_background_container = | 745 aura::Window* lock_background_container = |
| 753 GetContainer(internal::kShellWindowId_LockScreenBackgroundContainer); | 746 GetContainer(kShellWindowId_LockScreenBackgroundContainer); |
| 754 lock_background_container->AddChild(mouse_event_target_.get()); | 747 lock_background_container->AddChild(mouse_event_target_.get()); |
| 755 mouse_event_target_->Show(); | 748 mouse_event_target_->Show(); |
| 756 } | 749 } |
| 757 | 750 |
| 758 // Create Docked windows layout manager | 751 // Create Docked windows layout manager |
| 759 aura::Window* docked_container = GetContainer( | 752 aura::Window* docked_container = GetContainer(kShellWindowId_DockedContainer); |
| 760 internal::kShellWindowId_DockedContainer); | |
| 761 docked_layout_manager_ = | 753 docked_layout_manager_ = |
| 762 new internal::DockedWindowLayoutManager(docked_container, | 754 new DockedWindowLayoutManager(docked_container, workspace_controller()); |
| 763 workspace_controller()); | |
| 764 docked_container->SetLayoutManager(docked_layout_manager_); | 755 docked_container->SetLayoutManager(docked_layout_manager_); |
| 765 | 756 |
| 766 // Create Panel layout manager | 757 // Create Panel layout manager |
| 767 aura::Window* panel_container = GetContainer( | 758 aura::Window* panel_container = GetContainer(kShellWindowId_PanelContainer); |
| 768 internal::kShellWindowId_PanelContainer); | 759 panel_layout_manager_ = new PanelLayoutManager(panel_container); |
| 769 panel_layout_manager_ = | |
| 770 new internal::PanelLayoutManager(panel_container); | |
| 771 panel_container->SetLayoutManager(panel_layout_manager_); | 760 panel_container->SetLayoutManager(panel_layout_manager_); |
| 772 panel_container_handler_.reset(new PanelWindowEventHandler); | 761 panel_container_handler_.reset(new PanelWindowEventHandler); |
| 773 panel_container->AddPreTargetHandler(panel_container_handler_.get()); | 762 panel_container->AddPreTargetHandler(panel_container_handler_.get()); |
| 774 } | 763 } |
| 775 | 764 |
| 776 void RootWindowController::InitTouchHuds() { | 765 void RootWindowController::InitTouchHuds() { |
| 777 CommandLine* command_line = CommandLine::ForCurrentProcess(); | 766 CommandLine* command_line = CommandLine::ForCurrentProcess(); |
| 778 if (command_line->HasSwitch(switches::kAshTouchHud)) | 767 if (command_line->HasSwitch(switches::kAshTouchHud)) |
| 779 set_touch_hud_debug(new TouchHudDebug(root_window())); | 768 set_touch_hud_debug(new TouchHudDebug(root_window())); |
| 780 if (Shell::GetInstance()->is_touch_hud_projection_enabled()) | 769 if (Shell::GetInstance()->is_touch_hud_projection_enabled()) |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 911 non_lock_screen_containers); | 900 non_lock_screen_containers); |
| 912 ::wm::SetChildWindowVisibilityChangesAnimated(input_method_container); | 901 ::wm::SetChildWindowVisibilityChangesAnimated(input_method_container); |
| 913 SetUsesScreenCoordinates(input_method_container); | 902 SetUsesScreenCoordinates(input_method_container); |
| 914 | 903 |
| 915 // TODO(beng): Figure out if we can make this use | 904 // TODO(beng): Figure out if we can make this use |
| 916 // SystemModalContainerEventFilter instead of stops_event_propagation. | 905 // SystemModalContainerEventFilter instead of stops_event_propagation. |
| 917 aura::Window* lock_container = CreateContainer( | 906 aura::Window* lock_container = CreateContainer( |
| 918 kShellWindowId_LockScreenContainer, | 907 kShellWindowId_LockScreenContainer, |
| 919 "LockScreenContainer", | 908 "LockScreenContainer", |
| 920 lock_screen_containers); | 909 lock_screen_containers); |
| 921 lock_container->SetLayoutManager( | 910 lock_container->SetLayoutManager(new WorkspaceLayoutManager(lock_container)); |
| 922 new internal::WorkspaceLayoutManager(lock_container)); | |
| 923 SetUsesScreenCoordinates(lock_container); | 911 SetUsesScreenCoordinates(lock_container); |
| 924 // TODO(beng): stopsevents | 912 // TODO(beng): stopsevents |
| 925 | 913 |
| 926 aura::Window* lock_modal_container = CreateContainer( | 914 aura::Window* lock_modal_container = CreateContainer( |
| 927 kShellWindowId_LockSystemModalContainer, | 915 kShellWindowId_LockSystemModalContainer, |
| 928 "LockSystemModalContainer", | 916 "LockSystemModalContainer", |
| 929 lock_screen_containers); | 917 lock_screen_containers); |
| 930 lock_modal_container->SetLayoutManager( | 918 lock_modal_container->SetLayoutManager( |
| 931 new SystemModalContainerLayoutManager(lock_modal_container)); | 919 new SystemModalContainerLayoutManager(lock_modal_container)); |
| 932 ::wm::SetChildWindowVisibilityChangesAnimated(lock_modal_container); | 920 ::wm::SetChildWindowVisibilityChangesAnimated(lock_modal_container); |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1007 EnableTouchHudProjection(); | 995 EnableTouchHudProjection(); |
| 1008 else | 996 else |
| 1009 DisableTouchHudProjection(); | 997 DisableTouchHudProjection(); |
| 1010 } | 998 } |
| 1011 | 999 |
| 1012 RootWindowController* GetRootWindowController( | 1000 RootWindowController* GetRootWindowController( |
| 1013 const aura::Window* root_window) { | 1001 const aura::Window* root_window) { |
| 1014 return root_window ? GetRootWindowSettings(root_window)->controller : NULL; | 1002 return root_window ? GetRootWindowSettings(root_window)->controller : NULL; |
| 1015 } | 1003 } |
| 1016 | 1004 |
| 1017 } // namespace internal | |
| 1018 } // namespace ash | 1005 } // namespace ash |
| OLD | NEW |