| 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 |