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

Side by Side Diff: ash/shell.cc

Issue 2118593002: mash: Migrate ShellDelegate ownership and access to WmShell. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cleanup. Created 4 years, 5 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/shell.h" 5 #include "ash/shell.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
11 #include "ash/accelerators/accelerator_controller.h" 11 #include "ash/accelerators/accelerator_controller.h"
12 #include "ash/accelerators/accelerator_delegate.h" 12 #include "ash/accelerators/accelerator_delegate.h"
13 #include "ash/accelerators/focus_manager_factory.h" 13 #include "ash/accelerators/focus_manager_factory.h"
14 #include "ash/aura/wm_shell_aura.h" 14 #include "ash/aura/wm_shell_aura.h"
15 #include "ash/aura/wm_window_aura.h" 15 #include "ash/aura/wm_window_aura.h"
16 #include "ash/autoclick/autoclick_controller.h" 16 #include "ash/autoclick/autoclick_controller.h"
17 #include "ash/common/accessibility_delegate.h" 17 #include "ash/common/accessibility_delegate.h"
18 #include "ash/common/ash_switches.h" 18 #include "ash/common/ash_switches.h"
19 #include "ash/common/keyboard/keyboard_ui.h" 19 #include "ash/common/keyboard/keyboard_ui.h"
20 #include "ash/common/login_status.h" 20 #include "ash/common/login_status.h"
21 #include "ash/common/session/session_state_delegate.h" 21 #include "ash/common/session/session_state_delegate.h"
22 #include "ash/common/shelf/shelf_item_delegate.h" 22 #include "ash/common/shelf/shelf_item_delegate.h"
23 #include "ash/common/shelf/shelf_item_delegate_manager.h" 23 #include "ash/common/shelf/shelf_item_delegate_manager.h"
24 #include "ash/common/shelf/shelf_model.h" 24 #include "ash/common/shelf/shelf_model.h"
25 #include "ash/common/shell_delegate.h"
25 #include "ash/common/shell_window_ids.h" 26 #include "ash/common/shell_window_ids.h"
26 #include "ash/common/system/locale/locale_notification_controller.h" 27 #include "ash/common/system/locale/locale_notification_controller.h"
27 #include "ash/common/system/tray/system_tray_delegate.h" 28 #include "ash/common/system/tray/system_tray_delegate.h"
28 #include "ash/common/wm/maximize_mode/maximize_mode_controller.h" 29 #include "ash/common/wm/maximize_mode/maximize_mode_controller.h"
29 #include "ash/common/wm/maximize_mode/maximize_mode_window_manager.h" 30 #include "ash/common/wm/maximize_mode/maximize_mode_window_manager.h"
30 #include "ash/common/wm/mru_window_tracker.h" 31 #include "ash/common/wm/mru_window_tracker.h"
31 #include "ash/common/wm/root_window_finder.h" 32 #include "ash/common/wm/root_window_finder.h"
32 #include "ash/common/wm/window_positioner.h" 33 #include "ash/common/wm/window_positioner.h"
33 #include "ash/common/wm_shell.h" 34 #include "ash/common/wm_shell.h"
34 #include "ash/desktop_background/desktop_background_controller.h" 35 #include "ash/desktop_background/desktop_background_controller.h"
(...skipping 17 matching lines...) Expand all
52 #include "ash/magnifier/magnification_controller.h" 53 #include "ash/magnifier/magnification_controller.h"
53 #include "ash/magnifier/partial_magnification_controller.h" 54 #include "ash/magnifier/partial_magnification_controller.h"
54 #include "ash/new_window_delegate.h" 55 #include "ash/new_window_delegate.h"
55 #include "ash/pointer_watcher_delegate.h" 56 #include "ash/pointer_watcher_delegate.h"
56 #include "ash/root_window_controller.h" 57 #include "ash/root_window_controller.h"
57 #include "ash/shelf/app_list_shelf_item_delegate.h" 58 #include "ash/shelf/app_list_shelf_item_delegate.h"
58 #include "ash/shelf/shelf.h" 59 #include "ash/shelf/shelf.h"
59 #include "ash/shelf/shelf_delegate.h" 60 #include "ash/shelf/shelf_delegate.h"
60 #include "ash/shelf/shelf_widget.h" 61 #include "ash/shelf/shelf_widget.h"
61 #include "ash/shelf/shelf_window_watcher.h" 62 #include "ash/shelf/shelf_window_watcher.h"
62 #include "ash/shell_delegate.h"
63 #include "ash/shell_factory.h" 63 #include "ash/shell_factory.h"
64 #include "ash/shell_init_params.h" 64 #include "ash/shell_init_params.h"
65 #include "ash/system/status_area_widget.h" 65 #include "ash/system/status_area_widget.h"
66 #include "ash/system/toast/toast_manager.h" 66 #include "ash/system/toast/toast_manager.h"
67 #include "ash/utility/screenshot_controller.h" 67 #include "ash/utility/screenshot_controller.h"
68 #include "ash/wm/ash_focus_rules.h" 68 #include "ash/wm/ash_focus_rules.h"
69 #include "ash/wm/ash_native_cursor_manager.h" 69 #include "ash/wm/ash_native_cursor_manager.h"
70 #include "ash/wm/event_client_impl.h" 70 #include "ash/wm/event_client_impl.h"
71 #include "ash/wm/lock_state_controller.h" 71 #include "ash/wm/lock_state_controller.h"
72 #include "ash/wm/overlay_event_filter.h" 72 #include "ash/wm/overlay_event_filter.h"
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 return; 313 return;
314 314
315 aura::Window* root = WmWindowAura::GetAuraWindow( 315 aura::Window* root = WmWindowAura::GetAuraWindow(
316 wm::GetRootWindowMatching(gfx::Rect(location_in_screen, gfx::Size()))); 316 wm::GetRootWindowMatching(gfx::Rect(location_in_screen, gfx::Size())));
317 GetRootWindowController(root)->ShowContextMenu(location_in_screen, 317 GetRootWindowController(root)->ShowContextMenu(location_in_screen,
318 source_type); 318 source_type);
319 } 319 }
320 320
321 void Shell::ShowAppList(aura::Window* window) { 321 void Shell::ShowAppList(aura::Window* window) {
322 // If the context window is not given, show it on the target root window. 322 // If the context window is not given, show it on the target root window.
323 delegate_->GetAppListPresenter()->Show(GetDisplayIdForWindow(window)); 323 wm_shell_->delegate()->GetAppListPresenter()->Show(
324 GetDisplayIdForWindow(window));
324 } 325 }
325 326
326 void Shell::DismissAppList() { 327 void Shell::DismissAppList() {
327 delegate_->GetAppListPresenter()->Dismiss(); 328 wm_shell_->delegate()->GetAppListPresenter()->Dismiss();
328 } 329 }
329 330
330 void Shell::ToggleAppList(aura::Window* window) { 331 void Shell::ToggleAppList(aura::Window* window) {
331 // If the context window is not given, show it on the target root window. 332 // If the context window is not given, show it on the target root window.
332 delegate_->GetAppListPresenter()->ToggleAppList( 333 wm_shell_->delegate()->GetAppListPresenter()->ToggleAppList(
333 GetDisplayIdForWindow(window)); 334 GetDisplayIdForWindow(window));
334 } 335 }
335 336
336 bool Shell::IsApplistVisible() const { 337 bool Shell::IsApplistVisible() const {
337 return delegate_->GetAppListPresenter()->IsVisible(); 338 return wm_shell_->delegate()->GetAppListPresenter()->IsVisible();
338 } 339 }
339 340
340 bool Shell::GetAppListTargetVisibility() const { 341 bool Shell::GetAppListTargetVisibility() const {
341 return delegate_->GetAppListPresenter()->GetTargetVisibility(); 342 return wm_shell_->delegate()->GetAppListPresenter()->GetTargetVisibility();
342 } 343 }
343 344
344 views::NonClientFrameView* Shell::CreateDefaultNonClientFrameView( 345 views::NonClientFrameView* Shell::CreateDefaultNonClientFrameView(
345 views::Widget* widget) { 346 views::Widget* widget) {
346 // Use translucent-style window frames for dialogs. 347 // Use translucent-style window frames for dialogs.
347 return new CustomFrameViewAsh(widget); 348 return new CustomFrameViewAsh(widget);
348 } 349 }
349 350
350 void Shell::SetDisplayWorkAreaInsets(Window* contains, 351 void Shell::SetDisplayWorkAreaInsets(Window* contains,
351 const gfx::Insets& insets) { 352 const gfx::Insets& insets) {
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 SystemTray* Shell::GetPrimarySystemTray() { 545 SystemTray* Shell::GetPrimarySystemTray() {
545 return GetPrimaryRootWindowController()->GetSystemTray(); 546 return GetPrimaryRootWindowController()->GetSystemTray();
546 } 547 }
547 548
548 ShelfDelegate* Shell::GetShelfDelegate() { 549 ShelfDelegate* Shell::GetShelfDelegate() {
549 if (!shelf_delegate_) { 550 if (!shelf_delegate_) {
550 // Creates ShelfItemDelegateManager before ShelfDelegate. 551 // Creates ShelfItemDelegateManager before ShelfDelegate.
551 shelf_item_delegate_manager_.reset( 552 shelf_item_delegate_manager_.reset(
552 new ShelfItemDelegateManager(shelf_model_.get())); 553 new ShelfItemDelegateManager(shelf_model_.get()));
553 554
554 shelf_delegate_.reset(delegate_->CreateShelfDelegate(shelf_model_.get())); 555 shelf_delegate_.reset(
556 wm_shell_->delegate()->CreateShelfDelegate(shelf_model_.get()));
555 std::unique_ptr<ShelfItemDelegate> controller(new AppListShelfItemDelegate); 557 std::unique_ptr<ShelfItemDelegate> controller(new AppListShelfItemDelegate);
556 558
557 // Finding the shelf model's location of the app list and setting its 559 // Finding the shelf model's location of the app list and setting its
558 // ShelfItemDelegate. 560 // ShelfItemDelegate.
559 int app_list_index = shelf_model_->GetItemIndexForType(TYPE_APP_LIST); 561 int app_list_index = shelf_model_->GetItemIndexForType(TYPE_APP_LIST);
560 DCHECK_GE(app_list_index, 0); 562 DCHECK_GE(app_list_index, 0);
561 ShelfID app_list_id = shelf_model_->items()[app_list_index].id; 563 ShelfID app_list_id = shelf_model_->items()[app_list_index].id;
562 DCHECK(app_list_id); 564 DCHECK(app_list_id);
563 shelf_item_delegate_manager_->SetShelfItemDelegate(app_list_id, 565 shelf_item_delegate_manager_->SetShelfItemDelegate(app_list_id,
564 std::move(controller)); 566 std::move(controller));
(...skipping 27 matching lines...) Expand all
592 void Shell::DoInitialWorkspaceAnimation() { 594 void Shell::DoInitialWorkspaceAnimation() {
593 return GetPrimaryRootWindowController() 595 return GetPrimaryRootWindowController()
594 ->workspace_controller() 596 ->workspace_controller()
595 ->DoInitialAnimation(); 597 ->DoInitialAnimation();
596 } 598 }
597 599
598 //////////////////////////////////////////////////////////////////////////////// 600 ////////////////////////////////////////////////////////////////////////////////
599 // Shell, private: 601 // Shell, private:
600 602
601 Shell::Shell(ShellDelegate* delegate, base::SequencedWorkerPool* blocking_pool) 603 Shell::Shell(ShellDelegate* delegate, base::SequencedWorkerPool* blocking_pool)
602 : target_root_window_(nullptr), 604 : wm_shell_(new WmShellAura(delegate)),
James Cook 2016/07/06 21:27:27 It's nice that it works to move this here!
msw 2016/07/06 21:58:56 Acknowledged.
605 target_root_window_(nullptr),
603 scoped_target_root_window_(nullptr), 606 scoped_target_root_window_(nullptr),
604 delegate_(delegate),
605 shelf_model_(new ShelfModel), 607 shelf_model_(new ShelfModel),
606 link_handler_model_factory_(nullptr), 608 link_handler_model_factory_(nullptr),
607 activation_client_(nullptr), 609 activation_client_(nullptr),
608 #if defined(OS_CHROMEOS) 610 #if defined(OS_CHROMEOS)
609 display_configurator_(new ui::DisplayConfigurator()), 611 display_configurator_(new ui::DisplayConfigurator()),
610 #endif // defined(OS_CHROMEOS) 612 #endif // defined(OS_CHROMEOS)
611 native_cursor_manager_(nullptr), 613 native_cursor_manager_(nullptr),
612 simulate_modal_window_open_for_testing_(false), 614 simulate_modal_window_open_for_testing_(false),
613 is_touch_hud_projection_enabled_(false), 615 is_touch_hud_projection_enabled_(false),
614 blocking_pool_(blocking_pool) { 616 blocking_pool_(blocking_pool) {
615 DCHECK(delegate_.get());
616 DCHECK(aura::Env::GetInstanceDontCreate()); 617 DCHECK(aura::Env::GetInstanceDontCreate());
617 gpu_support_.reset(delegate_->CreateGPUSupport()); 618 gpu_support_.reset(wm_shell_->delegate()->CreateGPUSupport());
618 display_manager_.reset(new DisplayManager); 619 display_manager_.reset(new DisplayManager);
619 window_tree_host_manager_.reset(new WindowTreeHostManager); 620 window_tree_host_manager_.reset(new WindowTreeHostManager);
620 user_metrics_recorder_.reset(new UserMetricsRecorder); 621 user_metrics_recorder_.reset(new UserMetricsRecorder);
621 622
622 #if defined(OS_CHROMEOS) 623 #if defined(OS_CHROMEOS)
623 PowerStatus::Initialize(); 624 PowerStatus::Initialize();
624 #endif 625 #endif
625 } 626 }
626 627
627 Shell::~Shell() { 628 Shell::~Shell() {
628 TRACE_EVENT0("shutdown", "ash::Shell::Destructor"); 629 TRACE_EVENT0("shutdown", "ash::Shell::Destructor");
629 630
630 user_metrics_recorder_->OnShellShuttingDown(); 631 user_metrics_recorder_->OnShellShuttingDown();
631 632
632 delegate_->PreShutdown(); 633 wm_shell_->delegate()->PreShutdown();
633 634
634 views::FocusManagerFactory::Install(nullptr); 635 views::FocusManagerFactory::Install(nullptr);
635 636
636 // Remove the focus from any window. This will prevent overhead and side 637 // Remove the focus from any window. This will prevent overhead and side
637 // effects (e.g. crashes) from changing focus during shutdown. 638 // effects (e.g. crashes) from changing focus during shutdown.
638 // See bug crbug.com/134502. 639 // See bug crbug.com/134502.
639 aura::client::GetFocusClient(GetPrimaryRootWindow())->FocusWindow(nullptr); 640 aura::client::GetFocusClient(GetPrimaryRootWindow())->FocusWindow(nullptr);
640 641
641 // Please keep in same order as in Init() because it's easy to miss one. 642 // Please keep in same order as in Init() because it's easy to miss one.
642 if (window_modality_controller_) 643 if (window_modality_controller_)
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 instance_ = nullptr; 806 instance_ = nullptr;
806 } 807 }
807 808
808 void Shell::Init(const ShellInitParams& init_params) { 809 void Shell::Init(const ShellInitParams& init_params) {
809 in_mus_ = init_params.in_mus; 810 in_mus_ = init_params.in_mus;
810 811
811 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) 812 #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
812 DCHECK(in_mus_) << "linux desktop does not support ash."; 813 DCHECK(in_mus_) << "linux desktop does not support ash.";
813 #endif 814 #endif
814 815
815 wm_shell_.reset(new WmShellAura);
816 scoped_overview_animation_settings_factory_.reset( 816 scoped_overview_animation_settings_factory_.reset(
817 new ScopedOverviewAnimationSettingsFactoryAura); 817 new ScopedOverviewAnimationSettingsFactoryAura);
818 window_positioner_.reset(new WindowPositioner(wm_shell_.get())); 818 window_positioner_.reset(new WindowPositioner(wm_shell_.get()));
819 819
820 if (!in_mus_) { 820 if (!in_mus_) {
821 native_cursor_manager_ = new AshNativeCursorManager; 821 native_cursor_manager_ = new AshNativeCursorManager;
822 #if defined(OS_CHROMEOS) 822 #if defined(OS_CHROMEOS)
823 cursor_manager_.reset( 823 cursor_manager_.reset(
824 new CursorManager(base::WrapUnique(native_cursor_manager_))); 824 new CursorManager(base::WrapUnique(native_cursor_manager_)));
825 #else 825 #else
826 cursor_manager_.reset( 826 cursor_manager_.reset(
827 new ::wm::CursorManager(base::WrapUnique(native_cursor_manager_))); 827 new ::wm::CursorManager(base::WrapUnique(native_cursor_manager_)));
828 #endif 828 #endif
829 } 829 }
830 830
831 delegate_->PreInit(); 831 wm_shell_->delegate()->PreInit();
832 bool display_initialized = display_manager_->InitFromCommandLine(); 832 bool display_initialized = display_manager_->InitFromCommandLine();
833 833
834 display_configuration_controller_.reset(new DisplayConfigurationController( 834 display_configuration_controller_.reset(new DisplayConfigurationController(
835 display_manager_.get(), window_tree_host_manager_.get())); 835 display_manager_.get(), window_tree_host_manager_.get()));
836 836
837 #if defined(OS_CHROMEOS) 837 #if defined(OS_CHROMEOS)
838 // When running as part of mash display configuration is handled by the mus 838 // When running as part of mash display configuration is handled by the mus
839 // process, so we won't try to configure displays here. 839 // process, so we won't try to configure displays here.
840 if (in_mus_) { 840 if (in_mus_) {
841 display_configurator_->set_configure_display(false); 841 display_configurator_->set_configure_display(false);
(...skipping 21 matching lines...) Expand all
863 base::SysInfo::IsRunningOnChromeOS()) { 863 base::SysInfo::IsRunningOnChromeOS()) {
864 display_change_observer_.reset(new DisplayChangeObserver); 864 display_change_observer_.reset(new DisplayChangeObserver);
865 // Register |display_change_observer_| first so that the rest of 865 // Register |display_change_observer_| first so that the rest of
866 // observer gets invoked after the root windows are configured. 866 // observer gets invoked after the root windows are configured.
867 display_configurator_->AddObserver(display_change_observer_.get()); 867 display_configurator_->AddObserver(display_change_observer_.get());
868 display_error_observer_.reset(new DisplayErrorObserver()); 868 display_error_observer_.reset(new DisplayErrorObserver());
869 display_configurator_->AddObserver(display_error_observer_.get()); 869 display_configurator_->AddObserver(display_error_observer_.get());
870 display_configurator_->set_state_controller(display_change_observer_.get()); 870 display_configurator_->set_state_controller(display_change_observer_.get());
871 display_configurator_->set_mirroring_controller(display_manager_.get()); 871 display_configurator_->set_mirroring_controller(display_manager_.get());
872 display_configurator_->ForceInitialConfigure( 872 display_configurator_->ForceInitialConfigure(
873 delegate_->IsFirstRunAfterBoot() ? kChromeOsBootColor : 0); 873 wm_shell_->delegate()->IsFirstRunAfterBoot() ? kChromeOsBootColor : 0);
874 display_initialized = true; 874 display_initialized = true;
875 } 875 }
876 display_color_manager_.reset( 876 display_color_manager_.reset(
877 new DisplayColorManager(display_configurator_.get(), blocking_pool_)); 877 new DisplayColorManager(display_configurator_.get(), blocking_pool_));
878 #endif // defined(OS_CHROMEOS) 878 #endif // defined(OS_CHROMEOS)
879 879
880 if (!display_initialized) 880 if (!display_initialized)
881 display_manager_->InitDefaultDisplay(); 881 display_manager_->InitDefaultDisplay();
882 882
883 display_manager_->RefreshFontParams(); 883 display_manager_->RefreshFontParams();
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
1003 1003
1004 tooltip_controller_.reset(new views::corewm::TooltipController( 1004 tooltip_controller_.reset(new views::corewm::TooltipController(
1005 std::unique_ptr<views::corewm::Tooltip>(new views::corewm::TooltipAura))); 1005 std::unique_ptr<views::corewm::Tooltip>(new views::corewm::TooltipAura)));
1006 AddPreTargetHandler(tooltip_controller_.get()); 1006 AddPreTargetHandler(tooltip_controller_.get());
1007 1007
1008 event_client_.reset(new EventClientImpl); 1008 event_client_.reset(new EventClientImpl);
1009 1009
1010 // This controller needs to be set before SetupManagedWindowMode. 1010 // This controller needs to be set before SetupManagedWindowMode.
1011 desktop_background_controller_.reset( 1011 desktop_background_controller_.reset(
1012 new DesktopBackgroundController(blocking_pool_)); 1012 new DesktopBackgroundController(blocking_pool_));
1013 user_wallpaper_delegate_.reset(delegate_->CreateUserWallpaperDelegate()); 1013 user_wallpaper_delegate_.reset(
1014 wm_shell_->delegate()->CreateUserWallpaperDelegate());
1014 1015
1015 session_state_delegate_.reset(delegate_->CreateSessionStateDelegate()); 1016 session_state_delegate_.reset(
1016 accessibility_delegate_.reset(delegate_->CreateAccessibilityDelegate()); 1017 wm_shell_->delegate()->CreateSessionStateDelegate());
1017 new_window_delegate_.reset(delegate_->CreateNewWindowDelegate()); 1018 accessibility_delegate_.reset(
1019 wm_shell_->delegate()->CreateAccessibilityDelegate());
1020 new_window_delegate_.reset(wm_shell_->delegate()->CreateNewWindowDelegate());
1018 wm_shell_->SetMediaDelegate( 1021 wm_shell_->SetMediaDelegate(
James Cook 2016/07/06 21:27:27 Could the media delegate be created inside WmShell
msw 2016/07/06 21:58:56 Yes, all of these other delegates should be create
1019 base::WrapUnique(delegate_->CreateMediaDelegate())); 1022 base::WrapUnique(wm_shell_->delegate()->CreateMediaDelegate()));
1020 pointer_watcher_delegate_ = delegate_->CreatePointerWatcherDelegate(); 1023 pointer_watcher_delegate_ =
1024 wm_shell_->delegate()->CreatePointerWatcherDelegate();
1021 1025
1022 resize_shadow_controller_.reset(new ResizeShadowController()); 1026 resize_shadow_controller_.reset(new ResizeShadowController());
1023 shadow_controller_.reset(new ::wm::ShadowController(activation_client_)); 1027 shadow_controller_.reset(new ::wm::ShadowController(activation_client_));
1024 1028
1025 wm_shell_->SetSystemTrayDelegate( 1029 wm_shell_->SetSystemTrayDelegate(
1026 base::WrapUnique(delegate()->CreateSystemTrayDelegate())); 1030 base::WrapUnique(wm_shell_->delegate()->CreateSystemTrayDelegate()));
James Cook 2016/07/06 21:27:27 ditto
msw 2016/07/06 21:58:56 See comment above.
1027 1031
1028 locale_notification_controller_.reset(new LocaleNotificationController); 1032 locale_notification_controller_.reset(new LocaleNotificationController);
1029 1033
1030 // Initialize toast manager 1034 // Initialize toast manager
1031 toast_manager_.reset(new ToastManager); 1035 toast_manager_.reset(new ToastManager);
1032 1036
1033 #if defined(OS_CHROMEOS) 1037 #if defined(OS_CHROMEOS)
1034 // Create TouchTransformerController before 1038 // Create TouchTransformerController before
1035 // WindowTreeHostManager::InitDisplays() 1039 // WindowTreeHostManager::InitDisplays()
1036 // since TouchTransformerController listens on 1040 // since TouchTransformerController listens on
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1100 if (keyboard::IsKeyboardEnabled()) { 1104 if (keyboard::IsKeyboardEnabled()) {
1101 if (keyboard::KeyboardController::GetInstance()) { 1105 if (keyboard::KeyboardController::GetInstance()) {
1102 RootWindowControllerList controllers = GetAllRootWindowControllers(); 1106 RootWindowControllerList controllers = GetAllRootWindowControllers();
1103 for (RootWindowControllerList::iterator iter = controllers.begin(); 1107 for (RootWindowControllerList::iterator iter = controllers.begin();
1104 iter != controllers.end(); ++iter) { 1108 iter != controllers.end(); ++iter) {
1105 (*iter)->DeactivateKeyboard( 1109 (*iter)->DeactivateKeyboard(
1106 keyboard::KeyboardController::GetInstance()); 1110 keyboard::KeyboardController::GetInstance());
1107 } 1111 }
1108 } 1112 }
1109 keyboard::KeyboardController::ResetInstance( 1113 keyboard::KeyboardController::ResetInstance(
1110 new keyboard::KeyboardController(delegate_->CreateKeyboardUI())); 1114 new keyboard::KeyboardController(
1115 wm_shell_->delegate()->CreateKeyboardUI()));
1111 } 1116 }
1112 } 1117 }
1113 1118
1114 void Shell::InitRootWindow(aura::Window* root_window) { 1119 void Shell::InitRootWindow(aura::Window* root_window) {
1115 DCHECK(activation_client_); 1120 DCHECK(activation_client_);
1116 DCHECK(visibility_controller_.get()); 1121 DCHECK(visibility_controller_.get());
1117 DCHECK(drag_drop_controller_.get()); 1122 DCHECK(drag_drop_controller_.get());
1118 1123
1119 aura::client::SetFocusClient(root_window, focus_client_.get()); 1124 aura::client::SetFocusClient(root_window, focus_client_.get());
1120 aura::client::SetActivationClient(root_window, activation_client_); 1125 aura::client::SetActivationClient(root_window, activation_client_);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1169 1174
1170 void Shell::OnWindowActivated( 1175 void Shell::OnWindowActivated(
1171 aura::client::ActivationChangeObserver::ActivationReason reason, 1176 aura::client::ActivationChangeObserver::ActivationReason reason,
1172 aura::Window* gained_active, 1177 aura::Window* gained_active,
1173 aura::Window* lost_active) { 1178 aura::Window* lost_active) {
1174 if (gained_active) 1179 if (gained_active)
1175 target_root_window_ = gained_active->GetRootWindow(); 1180 target_root_window_ = gained_active->GetRootWindow();
1176 } 1181 }
1177 1182
1178 } // namespace ash 1183 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698