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

Side by Side Diff: ash/root_window_controller.cc

Issue 2739763003: Moves maintaining ShellObservers back to Shell (Closed)
Patch Set: Created 3 years, 9 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
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 368 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 if (docked_window_layout_manager_) { 379 if (docked_window_layout_manager_) {
380 docked_window_layout_manager_->SetShelf(wm_shelf_.get()); 380 docked_window_layout_manager_->SetShelf(wm_shelf_.get());
381 if (wm_shelf_->shelf_layout_manager()) 381 if (wm_shelf_->shelf_layout_manager())
382 docked_window_layout_manager_->AddObserver( 382 docked_window_layout_manager_->AddObserver(
383 wm_shelf_->shelf_layout_manager()); 383 wm_shelf_->shelf_layout_manager());
384 } 384 }
385 385
386 // Notify shell observers that the shelf has been created. 386 // Notify shell observers that the shelf has been created.
387 // TODO(jamescook): Move this into WmShelf::InitializeShelf(). This will 387 // TODO(jamescook): Move this into WmShelf::InitializeShelf(). This will
388 // require changing AttachedPanelWidgetTargeter's access to WmShelf. 388 // require changing AttachedPanelWidgetTargeter's access to WmShelf.
389 WmShell::Get()->NotifyShelfCreatedForRootWindow( 389 Shell::GetInstance()->NotifyShelfCreatedForRootWindow(
390 WmWindow::Get(GetRootWindow())); 390 WmWindow::Get(GetRootWindow()));
391 391
392 wm_shelf_->shelf_widget()->PostCreateShelf(); 392 wm_shelf_->shelf_widget()->PostCreateShelf();
393 } 393 }
394 394
395 ShelfLayoutManager* RootWindowController::GetShelfLayoutManager() { 395 ShelfLayoutManager* RootWindowController::GetShelfLayoutManager() {
396 return wm_shelf_->shelf_layout_manager(); 396 return wm_shelf_->shelf_layout_manager();
397 } 397 }
398 398
399 SystemModalContainerLayoutManager* 399 SystemModalContainerLayoutManager*
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 if (animating_wallpaper_widget_controller()) { 544 if (animating_wallpaper_widget_controller()) {
545 WallpaperWidgetController* controller = 545 WallpaperWidgetController* controller =
546 animating_wallpaper_widget_controller()->GetController(true); 546 animating_wallpaper_widget_controller()->GetController(true);
547 DCHECK_EQ(controller->widget(), widget); 547 DCHECK_EQ(controller->widget(), widget);
548 // Release the old controller and close its wallpaper widget. 548 // Release the old controller and close its wallpaper widget.
549 SetWallpaperWidgetController(controller); 549 SetWallpaperWidgetController(controller);
550 } 550 }
551 } 551 }
552 552
553 void RootWindowController::Shutdown() { 553 void RootWindowController::Shutdown() {
554 WmShell::Get()->RemoveShellObserver(this); 554 Shell::GetInstance()->RemoveShellObserver(this);
555 555
556 touch_exploration_manager_.reset(); 556 touch_exploration_manager_.reset();
557 557
558 ResetRootForNewWindowsIfNecessary(); 558 ResetRootForNewWindowsIfNecessary();
559 559
560 CloseChildWindows(); 560 CloseChildWindows();
561 aura::Window* root_window = GetRootWindow(); 561 aura::Window* root_window = GetRootWindow();
562 GetRootWindowSettings(root_window)->controller = nullptr; 562 GetRootWindowSettings(root_window)->controller = nullptr;
563 // Forget with the display ID so that display lookup 563 // Forget with the display ID so that display lookup
564 // ends up with invalid display. 564 // ends up with invalid display.
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 GetContainer(kShellWindowId_VirtualKeyboardContainer)) { 673 GetContainer(kShellWindowId_VirtualKeyboardContainer)) {
674 return; 674 return;
675 } 675 }
676 DCHECK(keyboard_controller); 676 DCHECK(keyboard_controller);
677 keyboard_controller->AddObserver(wm_shelf_->shelf_layout_manager()); 677 keyboard_controller->AddObserver(wm_shelf_->shelf_layout_manager());
678 keyboard_controller->AddObserver(panel_layout_manager()); 678 keyboard_controller->AddObserver(panel_layout_manager());
679 keyboard_controller->AddObserver(docked_window_layout_manager()); 679 keyboard_controller->AddObserver(docked_window_layout_manager());
680 keyboard_controller->AddObserver(workspace_controller()->layout_manager()); 680 keyboard_controller->AddObserver(workspace_controller()->layout_manager());
681 keyboard_controller->AddObserver( 681 keyboard_controller->AddObserver(
682 always_on_top_controller_->GetLayoutManager()); 682 always_on_top_controller_->GetLayoutManager());
683 WmShell::Get()->NotifyVirtualKeyboardActivated(true); 683 Shell::GetInstance()->NotifyVirtualKeyboardActivated(true);
684 aura::Window* parent = GetContainer(kShellWindowId_ImeWindowParentContainer); 684 aura::Window* parent = GetContainer(kShellWindowId_ImeWindowParentContainer);
685 DCHECK(parent); 685 DCHECK(parent);
686 aura::Window* keyboard_container = keyboard_controller->GetContainerWindow(); 686 aura::Window* keyboard_container = keyboard_controller->GetContainerWindow();
687 keyboard_container->set_id(kShellWindowId_VirtualKeyboardContainer); 687 keyboard_container->set_id(kShellWindowId_VirtualKeyboardContainer);
688 parent->AddChild(keyboard_container); 688 parent->AddChild(keyboard_container);
689 } 689 }
690 690
691 void RootWindowController::DeactivateKeyboard( 691 void RootWindowController::DeactivateKeyboard(
692 keyboard::KeyboardController* keyboard_controller) { 692 keyboard::KeyboardController* keyboard_controller) {
693 if (!keyboard_controller || 693 if (!keyboard_controller ||
(...skipping 10 matching lines...) Expand all
704 keyboard_controller->HideKeyboard( 704 keyboard_controller->HideKeyboard(
705 keyboard::KeyboardController::HIDE_REASON_AUTOMATIC); 705 keyboard::KeyboardController::HIDE_REASON_AUTOMATIC);
706 parent->RemoveChild(keyboard_container); 706 parent->RemoveChild(keyboard_container);
707 keyboard_controller->RemoveObserver(wm_shelf_->shelf_layout_manager()); 707 keyboard_controller->RemoveObserver(wm_shelf_->shelf_layout_manager());
708 keyboard_controller->RemoveObserver(panel_layout_manager()); 708 keyboard_controller->RemoveObserver(panel_layout_manager());
709 keyboard_controller->RemoveObserver(docked_window_layout_manager()); 709 keyboard_controller->RemoveObserver(docked_window_layout_manager());
710 keyboard_controller->RemoveObserver( 710 keyboard_controller->RemoveObserver(
711 workspace_controller()->layout_manager()); 711 workspace_controller()->layout_manager());
712 keyboard_controller->RemoveObserver( 712 keyboard_controller->RemoveObserver(
713 always_on_top_controller_->GetLayoutManager()); 713 always_on_top_controller_->GetLayoutManager());
714 WmShell::Get()->NotifyVirtualKeyboardActivated(false); 714 Shell::GetInstance()->NotifyVirtualKeyboardActivated(false);
715 } 715 }
716 } 716 }
717 717
718 bool RootWindowController::IsVirtualKeyboardWindow(aura::Window* window) { 718 bool RootWindowController::IsVirtualKeyboardWindow(aura::Window* window) {
719 aura::Window* parent = GetContainer(kShellWindowId_ImeWindowParentContainer); 719 aura::Window* parent = GetContainer(kShellWindowId_ImeWindowParentContainer);
720 return parent ? parent->Contains(window) : false; 720 return parent ? parent->Contains(window) : false;
721 } 721 }
722 722
723 void RootWindowController::SetTouchAccessibilityAnchorPoint( 723 void RootWindowController::SetTouchAccessibilityAnchorPoint(
724 const gfx::Point& anchor_point) { 724 const gfx::Point& anchor_point) {
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
797 797
798 InitLayoutManagers(); 798 InitLayoutManagers();
799 InitTouchHuds(); 799 InitTouchHuds();
800 800
801 if (wm_shell->GetPrimaryRootWindowController() 801 if (wm_shell->GetPrimaryRootWindowController()
802 ->GetSystemModalLayoutManager(nullptr) 802 ->GetSystemModalLayoutManager(nullptr)
803 ->has_window_dimmer()) { 803 ->has_window_dimmer()) {
804 GetSystemModalLayoutManager(nullptr)->CreateModalBackground(); 804 GetSystemModalLayoutManager(nullptr)->CreateModalBackground();
805 } 805 }
806 806
807 wm_shell->AddShellObserver(this); 807 shell->AddShellObserver(this);
808 808
809 root_window_layout_manager_->OnWindowResized(); 809 root_window_layout_manager_->OnWindowResized();
810 if (root_window_type == RootWindowType::PRIMARY) { 810 if (root_window_type == RootWindowType::PRIMARY) {
811 if (!wm_shell->IsRunningInMash()) 811 if (!wm_shell->IsRunningInMash())
812 shell->InitKeyboard(); 812 shell->InitKeyboard();
813 } else { 813 } else {
814 window_tree_host_->Show(); 814 window_tree_host_->Show();
815 815
816 // Create a shelf if a user is already logged in. 816 // Create a shelf if a user is already logged in.
817 if (wm_shell->GetSessionStateDelegate()->NumberOfLoggedInUsers()) 817 if (wm_shell->GetSessionStateDelegate()->NumberOfLoggedInUsers())
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
1155 EnableTouchHudProjection(); 1155 EnableTouchHudProjection();
1156 else 1156 else
1157 DisableTouchHudProjection(); 1157 DisableTouchHudProjection();
1158 } 1158 }
1159 1159
1160 RootWindowController* GetRootWindowController(const aura::Window* root_window) { 1160 RootWindowController* GetRootWindowController(const aura::Window* root_window) {
1161 return root_window ? GetRootWindowSettings(root_window)->controller : nullptr; 1161 return root_window ? GetRootWindowSettings(root_window)->controller : nullptr;
1162 } 1162 }
1163 1163
1164 } // namespace ash 1164 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698