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

Side by Side Diff: ash/root_window_controller.cc

Issue 114643003: Use a single ToplevelWindowEventHandler for the ash::Shell (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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
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 <queue> 7 #include <queue>
8 #include <vector> 8 #include <vector>
9 9
10 #include "ash/ash_constants.h" 10 #include "ash/ash_constants.h"
(...skipping 23 matching lines...) Expand all
34 #include "ash/wm/dock/docked_window_layout_manager.h" 34 #include "ash/wm/dock/docked_window_layout_manager.h"
35 #include "ash/wm/panels/panel_layout_manager.h" 35 #include "ash/wm/panels/panel_layout_manager.h"
36 #include "ash/wm/panels/panel_window_event_handler.h" 36 #include "ash/wm/panels/panel_window_event_handler.h"
37 #include "ash/wm/root_window_layout_manager.h" 37 #include "ash/wm/root_window_layout_manager.h"
38 #include "ash/wm/screen_dimmer.h" 38 #include "ash/wm/screen_dimmer.h"
39 #include "ash/wm/solo_window_tracker.h" 39 #include "ash/wm/solo_window_tracker.h"
40 #include "ash/wm/stacking_controller.h" 40 #include "ash/wm/stacking_controller.h"
41 #include "ash/wm/status_area_layout_manager.h" 41 #include "ash/wm/status_area_layout_manager.h"
42 #include "ash/wm/system_background_controller.h" 42 #include "ash/wm/system_background_controller.h"
43 #include "ash/wm/system_modal_container_layout_manager.h" 43 #include "ash/wm/system_modal_container_layout_manager.h"
44 #include "ash/wm/toplevel_window_event_handler.h"
45 #include "ash/wm/window_properties.h" 44 #include "ash/wm/window_properties.h"
46 #include "ash/wm/window_state.h" 45 #include "ash/wm/window_state.h"
47 #include "ash/wm/window_util.h" 46 #include "ash/wm/window_util.h"
48 #include "ash/wm/workspace_controller.h" 47 #include "ash/wm/workspace_controller.h"
49 #include "base/command_line.h" 48 #include "base/command_line.h"
50 #include "base/time/time.h" 49 #include "base/time/time.h"
51 #include "ui/aura/client/aura_constants.h" 50 #include "ui/aura/client/aura_constants.h"
52 #include "ui/aura/client/drag_drop_client.h" 51 #include "ui/aura/client/drag_drop_client.h"
53 #include "ui/aura/client/tooltip_client.h" 52 #include "ui/aura/client/tooltip_client.h"
54 #include "ui/aura/root_window.h" 53 #include "ui/aura/root_window.h"
(...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 lock_background_container->AddChild(mouse_event_target_.get()); 683 lock_background_container->AddChild(mouse_event_target_.get());
685 mouse_event_target_->Show(); 684 mouse_event_target_->Show();
686 } 685 }
687 686
688 // Create Docked windows layout manager 687 // Create Docked windows layout manager
689 aura::Window* docked_container = GetContainer( 688 aura::Window* docked_container = GetContainer(
690 internal::kShellWindowId_DockedContainer); 689 internal::kShellWindowId_DockedContainer);
691 docked_layout_manager_ = 690 docked_layout_manager_ =
692 new internal::DockedWindowLayoutManager(docked_container, 691 new internal::DockedWindowLayoutManager(docked_container,
693 workspace_controller()); 692 workspace_controller());
694 docked_container_handler_.reset(
695 new ToplevelWindowEventHandler(docked_container));
696 docked_container->SetLayoutManager(docked_layout_manager_); 693 docked_container->SetLayoutManager(docked_layout_manager_);
697 694
698 // Create Panel layout manager 695 // Create Panel layout manager
699 aura::Window* panel_container = GetContainer( 696 aura::Window* panel_container = GetContainer(
700 internal::kShellWindowId_PanelContainer); 697 internal::kShellWindowId_PanelContainer);
701 panel_layout_manager_ = 698 panel_layout_manager_ =
702 new internal::PanelLayoutManager(panel_container); 699 new internal::PanelLayoutManager(panel_container);
703 panel_container_handler_.reset(
704 new PanelWindowEventHandler(panel_container));
705 panel_container->SetLayoutManager(panel_layout_manager_); 700 panel_container->SetLayoutManager(panel_layout_manager_);
701 panel_container_handler_.reset(new PanelWindowEventHandler);
702 panel_container->AddPreTargetHandler(panel_container_handler_.get());
706 } 703 }
707 704
708 void RootWindowController::InitTouchHuds() { 705 void RootWindowController::InitTouchHuds() {
709 CommandLine* command_line = CommandLine::ForCurrentProcess(); 706 CommandLine* command_line = CommandLine::ForCurrentProcess();
710 if (command_line->HasSwitch(switches::kAshTouchHud)) 707 if (command_line->HasSwitch(switches::kAshTouchHud))
711 set_touch_hud_debug(new TouchHudDebug(root_window())); 708 set_touch_hud_debug(new TouchHudDebug(root_window()));
712 if (Shell::GetInstance()->is_touch_hud_projection_enabled()) 709 if (Shell::GetInstance()->is_touch_hud_projection_enabled())
713 EnableTouchHudProjection(); 710 EnableTouchHudProjection();
714 } 711 }
715 712
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 kShellWindowId_DefaultContainer, 780 kShellWindowId_DefaultContainer,
784 "DefaultContainer", 781 "DefaultContainer",
785 non_lock_screen_containers); 782 non_lock_screen_containers);
786 views::corewm::SetChildWindowVisibilityChangesAnimated(default_container); 783 views::corewm::SetChildWindowVisibilityChangesAnimated(default_container);
787 SetUsesScreenCoordinates(default_container); 784 SetUsesScreenCoordinates(default_container);
788 785
789 aura::Window* always_on_top_container = CreateContainer( 786 aura::Window* always_on_top_container = CreateContainer(
790 kShellWindowId_AlwaysOnTopContainer, 787 kShellWindowId_AlwaysOnTopContainer,
791 "AlwaysOnTopContainer", 788 "AlwaysOnTopContainer",
792 non_lock_screen_containers); 789 non_lock_screen_containers);
793 always_on_top_container_handler_.reset(
794 new ToplevelWindowEventHandler(always_on_top_container));
795 views::corewm::SetChildWindowVisibilityChangesAnimated( 790 views::corewm::SetChildWindowVisibilityChangesAnimated(
796 always_on_top_container); 791 always_on_top_container);
797 SetUsesScreenCoordinates(always_on_top_container); 792 SetUsesScreenCoordinates(always_on_top_container);
798 793
799 aura::Window* docked_container = CreateContainer( 794 aura::Window* docked_container = CreateContainer(
800 kShellWindowId_DockedContainer, 795 kShellWindowId_DockedContainer,
801 "DockedContainer", 796 "DockedContainer",
802 non_lock_screen_containers); 797 non_lock_screen_containers);
803 views::corewm::SetChildWindowVisibilityChangesAnimated(docked_container); 798 views::corewm::SetChildWindowVisibilityChangesAnimated(docked_container);
804 SetUsesScreenCoordinates(docked_container); 799 SetUsesScreenCoordinates(docked_container);
(...skipping 21 matching lines...) Expand all
826 aura::Window* app_list_container = 821 aura::Window* app_list_container =
827 CreateContainer(kShellWindowId_AppListContainer, 822 CreateContainer(kShellWindowId_AppListContainer,
828 "AppListContainer", 823 "AppListContainer",
829 non_lock_screen_containers); 824 non_lock_screen_containers);
830 SetUsesScreenCoordinates(app_list_container); 825 SetUsesScreenCoordinates(app_list_container);
831 826
832 aura::Window* modal_container = CreateContainer( 827 aura::Window* modal_container = CreateContainer(
833 kShellWindowId_SystemModalContainer, 828 kShellWindowId_SystemModalContainer,
834 "SystemModalContainer", 829 "SystemModalContainer",
835 non_lock_screen_containers); 830 non_lock_screen_containers);
836 modal_container_handler_.reset(
837 new ToplevelWindowEventHandler(modal_container));
838 modal_container->SetLayoutManager( 831 modal_container->SetLayoutManager(
839 new SystemModalContainerLayoutManager(modal_container)); 832 new SystemModalContainerLayoutManager(modal_container));
840 views::corewm::SetChildWindowVisibilityChangesAnimated(modal_container); 833 views::corewm::SetChildWindowVisibilityChangesAnimated(modal_container);
841 SetUsesScreenCoordinates(modal_container); 834 SetUsesScreenCoordinates(modal_container);
842 835
843 aura::Window* input_method_container = CreateContainer( 836 aura::Window* input_method_container = CreateContainer(
844 kShellWindowId_InputMethodContainer, 837 kShellWindowId_InputMethodContainer,
845 "InputMethodContainer", 838 "InputMethodContainer",
846 non_lock_screen_containers); 839 non_lock_screen_containers);
847 views::corewm::SetChildWindowVisibilityChangesAnimated( 840 views::corewm::SetChildWindowVisibilityChangesAnimated(
848 input_method_container); 841 input_method_container);
849 SetUsesScreenCoordinates(input_method_container); 842 SetUsesScreenCoordinates(input_method_container);
850 843
851 // TODO(beng): Figure out if we can make this use 844 // TODO(beng): Figure out if we can make this use
852 // SystemModalContainerEventFilter instead of stops_event_propagation. 845 // SystemModalContainerEventFilter instead of stops_event_propagation.
853 aura::Window* lock_container = CreateContainer( 846 aura::Window* lock_container = CreateContainer(
854 kShellWindowId_LockScreenContainer, 847 kShellWindowId_LockScreenContainer,
855 "LockScreenContainer", 848 "LockScreenContainer",
856 lock_screen_containers); 849 lock_screen_containers);
857 lock_container->SetLayoutManager( 850 lock_container->SetLayoutManager(
858 new BaseLayoutManager(root_window)); 851 new BaseLayoutManager(root_window));
859 SetUsesScreenCoordinates(lock_container); 852 SetUsesScreenCoordinates(lock_container);
860 // TODO(beng): stopsevents 853 // TODO(beng): stopsevents
861 854
862 aura::Window* lock_modal_container = CreateContainer( 855 aura::Window* lock_modal_container = CreateContainer(
863 kShellWindowId_LockSystemModalContainer, 856 kShellWindowId_LockSystemModalContainer,
864 "LockSystemModalContainer", 857 "LockSystemModalContainer",
865 lock_screen_containers); 858 lock_screen_containers);
866 lock_modal_container_handler_.reset(
867 new ToplevelWindowEventHandler(lock_modal_container));
868 lock_modal_container->SetLayoutManager( 859 lock_modal_container->SetLayoutManager(
869 new SystemModalContainerLayoutManager(lock_modal_container)); 860 new SystemModalContainerLayoutManager(lock_modal_container));
870 views::corewm::SetChildWindowVisibilityChangesAnimated(lock_modal_container); 861 views::corewm::SetChildWindowVisibilityChangesAnimated(lock_modal_container);
871 SetUsesScreenCoordinates(lock_modal_container); 862 SetUsesScreenCoordinates(lock_modal_container);
872 863
873 aura::Window* status_container = 864 aura::Window* status_container =
874 CreateContainer(kShellWindowId_StatusContainer, 865 CreateContainer(kShellWindowId_StatusContainer,
875 "StatusContainer", 866 "StatusContainer",
876 lock_screen_related_containers); 867 lock_screen_related_containers);
877 SetUsesScreenCoordinates(status_container); 868 SetUsesScreenCoordinates(status_container);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 DisableTouchHudProjection(); 924 DisableTouchHudProjection();
934 } 925 }
935 926
936 RootWindowController* GetRootWindowController( 927 RootWindowController* GetRootWindowController(
937 const aura::Window* root_window) { 928 const aura::Window* root_window) {
938 return root_window ? GetRootWindowSettings(root_window)->controller : NULL; 929 return root_window ? GetRootWindowSettings(root_window)->controller : NULL;
939 } 930 }
940 931
941 } // namespace internal 932 } // namespace internal
942 } // namespace ash 933 } // namespace ash
OLDNEW
« no previous file with comments | « ash/root_window_controller.h ('k') | ash/shell.h » ('j') | ash/shell.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698