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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 #include "ash/wm/system_gesture_event_filter.h" | 51 #include "ash/wm/system_gesture_event_filter.h" |
52 #include "ash/wm/system_modal_container_event_filter.h" | 52 #include "ash/wm/system_modal_container_event_filter.h" |
53 #include "ash/wm/system_modal_container_layout_manager.h" | 53 #include "ash/wm/system_modal_container_layout_manager.h" |
54 #include "ash/wm/user_activity_detector.h" | 54 #include "ash/wm/user_activity_detector.h" |
55 #include "ash/wm/video_detector.h" | 55 #include "ash/wm/video_detector.h" |
56 #include "ash/wm/visibility_controller.h" | 56 #include "ash/wm/visibility_controller.h" |
57 #include "ash/wm/window_cycle_controller.h" | 57 #include "ash/wm/window_cycle_controller.h" |
58 #include "ash/wm/window_modality_controller.h" | 58 #include "ash/wm/window_modality_controller.h" |
59 #include "ash/wm/window_properties.h" | 59 #include "ash/wm/window_properties.h" |
60 #include "ash/wm/window_util.h" | 60 #include "ash/wm/window_util.h" |
61 #include "ash/wm/workspace/workspace_layout_manager.h" | |
62 #include "ash/wm/workspace_controller.h" | 61 #include "ash/wm/workspace_controller.h" |
63 #include "base/bind.h" | 62 #include "base/bind.h" |
64 #include "base/command_line.h" | 63 #include "base/command_line.h" |
65 #include "ui/aura/client/aura_constants.h" | 64 #include "ui/aura/client/aura_constants.h" |
66 #include "ui/aura/client/user_action_client.h" | 65 #include "ui/aura/client/user_action_client.h" |
67 #include "ui/aura/display_manager.h" | 66 #include "ui/aura/display_manager.h" |
68 #include "ui/aura/env.h" | 67 #include "ui/aura/env.h" |
69 #include "ui/aura/focus_manager.h" | 68 #include "ui/aura/focus_manager.h" |
70 #include "ui/aura/layout_manager.h" | 69 #include "ui/aura/layout_manager.h" |
71 #include "ui/aura/root_window.h" | 70 #include "ui/aura/root_window.h" |
(...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
732 if (user_action_client_.get()) | 731 if (user_action_client_.get()) |
733 aura::client::SetUserActionClient(root_window, user_action_client_.get()); | 732 aura::client::SetUserActionClient(root_window, user_action_client_.get()); |
734 | 733 |
735 root_window->SetCursor(ui::kCursorPointer); | 734 root_window->SetCursor(ui::kCursorPointer); |
736 controller->InitLayoutManagers(); | 735 controller->InitLayoutManagers(); |
737 | 736 |
738 // TODO(oshima): Move the instance to RootWindowController when | 737 // TODO(oshima): Move the instance to RootWindowController when |
739 // the extended desktop is enabled by default. | 738 // the extended desktop is enabled by default. |
740 internal::AlwaysOnTopController* always_on_top_controller = | 739 internal::AlwaysOnTopController* always_on_top_controller = |
741 new internal::AlwaysOnTopController; | 740 new internal::AlwaysOnTopController; |
742 always_on_top_controller->SetContainers( | 741 always_on_top_controller->SetAlwaysOnTopContainer( |
743 root_window->GetChildById(internal::kShellWindowId_DefaultContainer), | |
744 root_window->GetChildById(internal::kShellWindowId_AlwaysOnTopContainer)); | 742 root_window->GetChildById(internal::kShellWindowId_AlwaysOnTopContainer)); |
745 root_window->SetProperty(internal::kAlwaysOnTopControllerKey, | 743 root_window->SetProperty(internal::kAlwaysOnTopControllerKey, |
746 always_on_top_controller); | 744 always_on_top_controller); |
747 if (GetPrimaryRootWindowController()->GetSystemModalLayoutManager(NULL)-> | 745 if (GetPrimaryRootWindowController()->GetSystemModalLayoutManager(NULL)-> |
748 has_modal_background()) { | 746 has_modal_background()) { |
749 controller->GetSystemModalLayoutManager(NULL)->CreateModalBackground(); | 747 controller->GetSystemModalLayoutManager(NULL)->CreateModalBackground(); |
750 } | 748 } |
751 | 749 |
752 window_cycle_controller_->OnRootWindowAdded(root_window); | 750 window_cycle_controller_->OnRootWindowAdded(root_window); |
753 } | 751 } |
754 | 752 |
755 //////////////////////////////////////////////////////////////////////////////// | 753 //////////////////////////////////////////////////////////////////////////////// |
756 // Shell, private: | 754 // Shell, private: |
757 | 755 |
758 bool Shell::CanWindowReceiveEvents(aura::Window* window) { | 756 bool Shell::CanWindowReceiveEvents(aura::Window* window) { |
759 RootWindowControllerList controllers = GetAllRootWindowControllers(); | 757 RootWindowControllerList controllers = GetAllRootWindowControllers(); |
760 for (RootWindowControllerList::iterator iter = controllers.begin(); | 758 for (RootWindowControllerList::iterator iter = controllers.begin(); |
761 iter != controllers.end(); ++iter) { | 759 iter != controllers.end(); ++iter) { |
762 if ((*iter)->GetSystemModalLayoutManager(window)-> | 760 if ((*iter)->GetSystemModalLayoutManager(window)-> |
763 CanWindowReceiveEvents(window)) { | 761 CanWindowReceiveEvents(window)) { |
764 return true; | 762 return true; |
765 } | 763 } |
766 } | 764 } |
767 return false; | 765 return false; |
768 } | 766 } |
769 | 767 |
770 } // namespace ash | 768 } // namespace ash |
OLD | NEW |