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/shell.h" | 5 #include "ash/shell.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "ash/accelerators/focus_manager_factory.h" | 10 #include "ash/accelerators/focus_manager_factory.h" |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 if (internal::DisplayController::IsExtendedDesktopEnabled()) { | 446 if (internal::DisplayController::IsExtendedDesktopEnabled()) { |
447 mouse_cursor_filter_.reset( | 447 mouse_cursor_filter_.reset( |
448 new internal::MouseCursorEventFilter(display_controller_.get())); | 448 new internal::MouseCursorEventFilter(display_controller_.get())); |
449 AddEnvEventFilter(mouse_cursor_filter_.get()); | 449 AddEnvEventFilter(mouse_cursor_filter_.get()); |
450 } | 450 } |
451 | 451 |
452 high_contrast_controller_.reset(new HighContrastController); | 452 high_contrast_controller_.reset(new HighContrastController); |
453 video_detector_.reset(new VideoDetector); | 453 video_detector_.reset(new VideoDetector); |
454 window_cycle_controller_.reset(new WindowCycleController); | 454 window_cycle_controller_.reset(new WindowCycleController); |
455 | 455 |
| 456 tooltip_controller_.reset(new internal::TooltipController( |
| 457 drag_drop_controller_.get())); |
| 458 AddEnvEventFilter(tooltip_controller_.get()); |
| 459 |
456 InitRootWindowController(root_window_controller); | 460 InitRootWindowController(root_window_controller); |
457 | 461 |
458 // Initialize Primary RootWindow specific items. | 462 // Initialize Primary RootWindow specific items. |
459 status_area_widget_ = new internal::StatusAreaWidget(); | 463 status_area_widget_ = new internal::StatusAreaWidget(); |
460 status_area_widget_->CreateTrayViews(delegate_.get()); | 464 status_area_widget_->CreateTrayViews(delegate_.get()); |
461 status_area_widget_->Show(); | 465 status_area_widget_->Show(); |
462 | 466 |
463 focus_cycler_.reset(new internal::FocusCycler()); | 467 focus_cycler_.reset(new internal::FocusCycler()); |
464 focus_cycler_->AddWidget(status_area_widget_); | 468 focus_cycler_->AddWidget(status_area_widget_); |
465 | 469 |
466 // This controller needs to be set before SetupManagedWindowMode. | 470 // This controller needs to be set before SetupManagedWindowMode. |
467 desktop_background_controller_.reset(new DesktopBackgroundController()); | 471 desktop_background_controller_.reset(new DesktopBackgroundController()); |
468 if (delegate_.get()) | 472 if (delegate_.get()) |
469 user_wallpaper_delegate_.reset(delegate_->CreateUserWallpaperDelegate()); | 473 user_wallpaper_delegate_.reset(delegate_->CreateUserWallpaperDelegate()); |
470 if (!user_wallpaper_delegate_.get()) | 474 if (!user_wallpaper_delegate_.get()) |
471 user_wallpaper_delegate_.reset(new DummyUserWallpaperDelegate()); | 475 user_wallpaper_delegate_.reset(new DummyUserWallpaperDelegate()); |
472 | 476 |
473 InitLayoutManagersForPrimaryDisplay(root_window_controller); | 477 InitLayoutManagersForPrimaryDisplay(root_window_controller); |
474 | 478 |
475 if (!command_line->HasSwitch(switches::kAuraNoShadows)) { | 479 if (!command_line->HasSwitch(switches::kAuraNoShadows)) { |
476 resize_shadow_controller_.reset(new internal::ResizeShadowController()); | 480 resize_shadow_controller_.reset(new internal::ResizeShadowController()); |
477 shadow_controller_.reset(new internal::ShadowController()); | 481 shadow_controller_.reset(new internal::ShadowController()); |
478 } | 482 } |
479 | 483 |
480 // Tooltip controller must be created after shadow controller so that the | |
481 // tooltip window can be initialized with appropriate shadows. | |
482 tooltip_controller_.reset(new internal::TooltipController( | |
483 drag_drop_controller_.get())); | |
484 AddEnvEventFilter(tooltip_controller_.get()); | |
485 aura::client::SetTooltipClient(root_window, tooltip_controller_.get()); | |
486 | |
487 if (!delegate_.get() || delegate_->IsUserLoggedIn()) | 484 if (!delegate_.get() || delegate_->IsUserLoggedIn()) |
488 CreateLauncher(); | 485 CreateLauncher(); |
489 | 486 |
490 // Force Layout | 487 // Force Layout |
491 root_window_controller->root_window_layout()->OnWindowResized(); | 488 root_window_controller->root_window_layout()->OnWindowResized(); |
492 | 489 |
493 // It needs to be created after OnWindowResized has been called, otherwise the | 490 // It needs to be created after OnWindowResized has been called, otherwise the |
494 // widget will not paint when restoring after a browser crash. | 491 // widget will not paint when restoring after a browser crash. |
495 user_wallpaper_delegate_->InitializeWallpaper(); | 492 user_wallpaper_delegate_->InitializeWallpaper(); |
496 | 493 |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
703 DCHECK(capture_controller_.get()); | 700 DCHECK(capture_controller_.get()); |
704 | 701 |
705 root_window->set_focus_manager(focus_manager_.get()); | 702 root_window->set_focus_manager(focus_manager_.get()); |
706 input_method_filter_->SetInputMethodPropertyInRootWindow(root_window); | 703 input_method_filter_->SetInputMethodPropertyInRootWindow(root_window); |
707 aura::client::SetActivationClient(root_window, activation_controller_.get()); | 704 aura::client::SetActivationClient(root_window, activation_controller_.get()); |
708 aura::client::SetVisibilityClient(root_window, visibility_controller_.get()); | 705 aura::client::SetVisibilityClient(root_window, visibility_controller_.get()); |
709 aura::client::SetDragDropClient(root_window, drag_drop_controller_.get()); | 706 aura::client::SetDragDropClient(root_window, drag_drop_controller_.get()); |
710 aura::client::SetCaptureClient(root_window, capture_controller_.get()); | 707 aura::client::SetCaptureClient(root_window, capture_controller_.get()); |
711 aura::client::SetScreenPositionClient(root_window, | 708 aura::client::SetScreenPositionClient(root_window, |
712 screen_position_controller_.get()); | 709 screen_position_controller_.get()); |
| 710 aura::client::SetTooltipClient(root_window, tooltip_controller_.get()); |
713 | 711 |
714 if (nested_dispatcher_controller_.get()) { | 712 if (nested_dispatcher_controller_.get()) { |
715 aura::client::SetDispatcherClient(root_window, | 713 aura::client::SetDispatcherClient(root_window, |
716 nested_dispatcher_controller_.get()); | 714 nested_dispatcher_controller_.get()); |
717 } | 715 } |
718 if (user_action_client_.get()) | 716 if (user_action_client_.get()) |
719 aura::client::SetUserActionClient(root_window, user_action_client_.get()); | 717 aura::client::SetUserActionClient(root_window, user_action_client_.get()); |
720 | 718 |
721 root_window->SetCursor(ui::kCursorPointer); | 719 root_window->SetCursor(ui::kCursorPointer); |
722 controller->InitLayoutManagers(); | 720 controller->InitLayoutManagers(); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
784 } | 782 } |
785 | 783 |
786 void Shell::ShowCursor(bool visible) { | 784 void Shell::ShowCursor(bool visible) { |
787 RootWindowList root_windows = GetAllRootWindows(); | 785 RootWindowList root_windows = GetAllRootWindows(); |
788 for (RootWindowList::iterator iter = root_windows.begin(); | 786 for (RootWindowList::iterator iter = root_windows.begin(); |
789 iter != root_windows.end(); ++iter) | 787 iter != root_windows.end(); ++iter) |
790 (*iter)->ShowCursor(visible); | 788 (*iter)->ShowCursor(visible); |
791 } | 789 } |
792 | 790 |
793 } // namespace ash | 791 } // namespace ash |
OLD | NEW |