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

Side by Side Diff: ash/shell.cc

Issue 10828007: Create Tooltip object lazily so that it gets proper drop shadow (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressed comment Created 8 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | ash/tooltips/tooltip_controller.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 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
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
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
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
OLDNEW
« no previous file with comments | « no previous file | ash/tooltips/tooltip_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698