| 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/aura/aura_layout_manager_adapter.h" | 10 #include "ash/aura/aura_layout_manager_adapter.h" |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 } | 304 } |
| 305 | 305 |
| 306 aura::Window* RootWindowController::GetContainer(int container_id) { | 306 aura::Window* RootWindowController::GetContainer(int container_id) { |
| 307 return GetRootWindow()->GetChildById(container_id); | 307 return GetRootWindow()->GetChildById(container_id); |
| 308 } | 308 } |
| 309 | 309 |
| 310 const aura::Window* RootWindowController::GetContainer(int container_id) const { | 310 const aura::Window* RootWindowController::GetContainer(int container_id) const { |
| 311 return ash_host_->AsWindowTreeHost()->window()->GetChildById(container_id); | 311 return ash_host_->AsWindowTreeHost()->window()->GetChildById(container_id); |
| 312 } | 312 } |
| 313 | 313 |
| 314 void RootWindowController::CreateShelf() { | |
| 315 if (wm_shelf_aura_->IsShelfInitialized()) | |
| 316 return; | |
| 317 wm_shelf_aura_->InitializeShelf(); | |
| 318 | |
| 319 if (panel_layout_manager()) | |
| 320 panel_layout_manager()->SetShelf(wm_shelf_aura_.get()); | |
| 321 if (docked_window_layout_manager()) { | |
| 322 docked_window_layout_manager()->SetShelf(wm_shelf_aura_.get()); | |
| 323 if (wm_shelf_aura_->shelf_layout_manager()) { | |
| 324 docked_window_layout_manager()->AddObserver( | |
| 325 wm_shelf_aura_->shelf_layout_manager()); | |
| 326 } | |
| 327 } | |
| 328 | |
| 329 // Notify shell observers that the shelf has been created. | |
| 330 // TODO(jamescook): Move this into WmShelf::InitializeShelf(). This will | |
| 331 // require changing AttachedPanelWidgetTargeter's access to WmShelf. | |
| 332 WmShell::Get()->NotifyShelfCreatedForRootWindow( | |
| 333 WmWindowAura::Get(GetRootWindow())); | |
| 334 | |
| 335 wm_shelf_aura_->shelf_widget()->PostCreateShelf(); | |
| 336 } | |
| 337 | |
| 338 void RootWindowController::UpdateAfterLoginStatusChange(LoginStatus status) { | 314 void RootWindowController::UpdateAfterLoginStatusChange(LoginStatus status) { |
| 339 if (status != LoginStatus::NOT_LOGGED_IN) | 315 if (status != LoginStatus::NOT_LOGGED_IN) |
| 340 mouse_event_target_.reset(); | 316 mouse_event_target_.reset(); |
| 341 StatusAreaWidget* status_area_widget = | 317 StatusAreaWidget* status_area_widget = |
| 342 wm_shelf_aura_->shelf_widget()->status_area_widget(); | 318 wm_shelf_aura_->shelf_widget()->status_area_widget(); |
| 343 if (status_area_widget) | 319 if (status_area_widget) |
| 344 status_area_widget->UpdateAfterLoginStatusChange(status); | 320 status_area_widget->UpdateAfterLoginStatusChange(status); |
| 345 } | 321 } |
| 346 | 322 |
| 347 void RootWindowController::OnInitialWallpaperAnimationStarted() { | 323 void RootWindowController::OnInitialWallpaperAnimationStarted() { |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 520 WmShell::Get()->AddShellObserver(this); | 496 WmShell::Get()->AddShellObserver(this); |
| 521 | 497 |
| 522 wm_root_window_controller_->root_window_layout_manager()->OnWindowResized(); | 498 wm_root_window_controller_->root_window_layout_manager()->OnWindowResized(); |
| 523 if (root_window_type == PRIMARY) { | 499 if (root_window_type == PRIMARY) { |
| 524 shell->InitKeyboard(); | 500 shell->InitKeyboard(); |
| 525 } else { | 501 } else { |
| 526 ash_host_->AsWindowTreeHost()->Show(); | 502 ash_host_->AsWindowTreeHost()->Show(); |
| 527 | 503 |
| 528 // Create a shelf if a user is already logged in. | 504 // Create a shelf if a user is already logged in. |
| 529 if (WmShell::Get()->GetSessionStateDelegate()->NumberOfLoggedInUsers()) | 505 if (WmShell::Get()->GetSessionStateDelegate()->NumberOfLoggedInUsers()) |
| 530 CreateShelf(); | 506 wm_root_window_controller_->CreateShelf(); |
| 531 | 507 |
| 532 // Notify shell observers about new root window. | 508 // Notify shell observers about new root window. |
| 533 shell->OnRootWindowAdded(WmWindowAura::Get(root_window)); | 509 shell->OnRootWindowAdded(WmWindowAura::Get(root_window)); |
| 534 } | 510 } |
| 535 | 511 |
| 536 #if defined(OS_CHROMEOS) | 512 #if defined(OS_CHROMEOS) |
| 537 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( | 513 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 538 switches::kAshDisableTouchExplorationMode)) { | 514 switches::kAshDisableTouchExplorationMode)) { |
| 539 touch_exploration_manager_.reset(new AshTouchExplorationManager(this)); | 515 touch_exploration_manager_.reset(new AshTouchExplorationManager(this)); |
| 540 } | 516 } |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 649 EnableTouchHudProjection(); | 625 EnableTouchHudProjection(); |
| 650 else | 626 else |
| 651 DisableTouchHudProjection(); | 627 DisableTouchHudProjection(); |
| 652 } | 628 } |
| 653 | 629 |
| 654 RootWindowController* GetRootWindowController(const aura::Window* root_window) { | 630 RootWindowController* GetRootWindowController(const aura::Window* root_window) { |
| 655 return root_window ? GetRootWindowSettings(root_window)->controller : nullptr; | 631 return root_window ? GetRootWindowSettings(root_window)->controller : nullptr; |
| 656 } | 632 } |
| 657 | 633 |
| 658 } // namespace ash | 634 } // namespace ash |
| OLD | NEW |