OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "services/ui/ws/window_server.h" | 5 #include "services/ui/ws/window_server.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 if (flags & mojom::kEmbedFlagEmbedderInterceptsEvents) | 101 if (flags & mojom::kEmbedFlagEmbedderInterceptsEvents) |
102 tree->set_embedder_intercepts_events(); | 102 tree->set_embedder_intercepts_events(); |
103 | 103 |
104 mojom::WindowTreePtr window_tree_ptr; | 104 mojom::WindowTreePtr window_tree_ptr; |
105 mojom::WindowTreeRequest window_tree_request = GetProxy(&window_tree_ptr); | 105 mojom::WindowTreeRequest window_tree_request = GetProxy(&window_tree_ptr); |
106 std::unique_ptr<WindowTreeBinding> binding = | 106 std::unique_ptr<WindowTreeBinding> binding = |
107 delegate_->CreateWindowTreeBinding( | 107 delegate_->CreateWindowTreeBinding( |
108 WindowServerDelegate::BindingType::EMBED, this, tree, | 108 WindowServerDelegate::BindingType::EMBED, this, tree, |
109 &window_tree_request, &client); | 109 &window_tree_request, &client); |
110 if (!binding) { | 110 if (!binding) { |
111 binding.reset(new ws::DefaultWindowTreeBinding( | 111 binding = base::MakeUnique<ws::DefaultWindowTreeBinding>( |
112 tree, this, std::move(window_tree_request), std::move(client))); | 112 tree, this, std::move(window_tree_request), std::move(client)); |
113 } | 113 } |
114 | 114 |
115 AddTree(std::move(tree_ptr), std::move(binding), std::move(window_tree_ptr)); | 115 AddTree(std::move(tree_ptr), std::move(binding), std::move(window_tree_ptr)); |
116 OnTreeMessagedClient(tree->id()); | 116 OnTreeMessagedClient(tree->id()); |
117 return tree; | 117 return tree; |
118 } | 118 } |
119 | 119 |
120 void WindowServer::AddTree(std::unique_ptr<WindowTree> tree_impl_ptr, | 120 void WindowServer::AddTree(std::unique_ptr<WindowTree> tree_impl_ptr, |
121 std::unique_ptr<WindowTreeBinding> binding, | 121 std::unique_ptr<WindowTreeBinding> binding, |
122 mojom::WindowTreePtr tree_ptr) { | 122 mojom::WindowTreePtr tree_ptr) { |
123 CHECK_EQ(0u, tree_map_.count(tree_impl_ptr->id())); | 123 CHECK_EQ(0u, tree_map_.count(tree_impl_ptr->id())); |
124 WindowTree* tree = tree_impl_ptr.get(); | 124 WindowTree* tree = tree_impl_ptr.get(); |
125 tree_map_[tree->id()] = std::move(tree_impl_ptr); | 125 tree_map_[tree->id()] = std::move(tree_impl_ptr); |
126 tree->Init(std::move(binding), std::move(tree_ptr)); | 126 tree->Init(std::move(binding), std::move(tree_ptr)); |
127 } | 127 } |
128 | 128 |
129 WindowTree* WindowServer::CreateTreeForWindowManager( | 129 WindowTree* WindowServer::CreateTreeForWindowManager( |
130 const UserId& user_id, | 130 const UserId& user_id, |
131 mojom::WindowTreeRequest window_tree_request, | 131 mojom::WindowTreeRequest window_tree_request, |
132 mojom::WindowTreeClientPtr window_tree_client) { | 132 mojom::WindowTreeClientPtr window_tree_client) { |
133 std::unique_ptr<WindowTree> window_tree(new WindowTree( | 133 std::unique_ptr<WindowTree> window_tree(new WindowTree( |
134 this, user_id, nullptr, base::WrapUnique(new WindowManagerAccessPolicy))); | 134 this, user_id, nullptr, base::WrapUnique(new WindowManagerAccessPolicy))); |
135 std::unique_ptr<WindowTreeBinding> window_tree_binding = | 135 std::unique_ptr<WindowTreeBinding> window_tree_binding = |
136 delegate_->CreateWindowTreeBinding( | 136 delegate_->CreateWindowTreeBinding( |
137 WindowServerDelegate::BindingType::WINDOW_MANAGER, this, | 137 WindowServerDelegate::BindingType::WINDOW_MANAGER, this, |
138 window_tree.get(), &window_tree_request, &window_tree_client); | 138 window_tree.get(), &window_tree_request, &window_tree_client); |
139 if (!window_tree_binding) { | 139 if (!window_tree_binding) { |
140 window_tree_binding.reset(new DefaultWindowTreeBinding( | 140 window_tree_binding = base::MakeUnique<DefaultWindowTreeBinding>( |
141 window_tree.get(), this, std::move(window_tree_request), | 141 window_tree.get(), this, std::move(window_tree_request), |
142 std::move(window_tree_client))); | 142 std::move(window_tree_client)); |
143 } | 143 } |
144 WindowTree* window_tree_ptr = window_tree.get(); | 144 WindowTree* window_tree_ptr = window_tree.get(); |
145 AddTree(std::move(window_tree), std::move(window_tree_binding), nullptr); | 145 AddTree(std::move(window_tree), std::move(window_tree_binding), nullptr); |
146 window_tree_ptr->ConfigureWindowManager(); | 146 window_tree_ptr->ConfigureWindowManager(); |
147 return window_tree_ptr; | 147 return window_tree_ptr; |
148 } | 148 } |
149 | 149 |
150 void WindowServer::DestroyTree(WindowTree* tree) { | 150 void WindowServer::DestroyTree(WindowTree* tree) { |
151 std::unique_ptr<WindowTree> tree_ptr; | 151 std::unique_ptr<WindowTree> tree_ptr; |
152 { | 152 { |
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
833 void WindowServer::OnUserIdAdded(const UserId& id) { | 833 void WindowServer::OnUserIdAdded(const UserId& id) { |
834 activity_monitor_map_[id] = base::MakeUnique<UserActivityMonitor>(nullptr); | 834 activity_monitor_map_[id] = base::MakeUnique<UserActivityMonitor>(nullptr); |
835 } | 835 } |
836 | 836 |
837 void WindowServer::OnUserIdRemoved(const UserId& id) { | 837 void WindowServer::OnUserIdRemoved(const UserId& id) { |
838 activity_monitor_map_.erase(id); | 838 activity_monitor_map_.erase(id); |
839 } | 839 } |
840 | 840 |
841 } // namespace ws | 841 } // namespace ws |
842 } // namespace ui | 842 } // namespace ui |
OLD | NEW |