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

Side by Side Diff: services/ui/ws/window_server.cc

Issue 2804403002: Adds ability for WindowManager to create display roots (Closed)
Patch Set: cleanup Created 3 years, 8 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
« no previous file with comments | « services/ui/ws/window_server.h ('k') | services/ui/ws/window_tree.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 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 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 mojom::WindowTreePtr tree_ptr) { 126 mojom::WindowTreePtr tree_ptr) {
127 CHECK_EQ(0u, tree_map_.count(tree_impl_ptr->id())); 127 CHECK_EQ(0u, tree_map_.count(tree_impl_ptr->id()));
128 WindowTree* tree = tree_impl_ptr.get(); 128 WindowTree* tree = tree_impl_ptr.get();
129 tree_map_[tree->id()] = std::move(tree_impl_ptr); 129 tree_map_[tree->id()] = std::move(tree_impl_ptr);
130 tree->Init(std::move(binding), std::move(tree_ptr)); 130 tree->Init(std::move(binding), std::move(tree_ptr));
131 } 131 }
132 132
133 WindowTree* WindowServer::CreateTreeForWindowManager( 133 WindowTree* WindowServer::CreateTreeForWindowManager(
134 const UserId& user_id, 134 const UserId& user_id,
135 mojom::WindowTreeRequest window_tree_request, 135 mojom::WindowTreeRequest window_tree_request,
136 mojom::WindowTreeClientPtr window_tree_client) { 136 mojom::WindowTreeClientPtr window_tree_client,
137 bool automatically_create_display_roots) {
137 std::unique_ptr<WindowTree> window_tree(new WindowTree( 138 std::unique_ptr<WindowTree> window_tree(new WindowTree(
138 this, user_id, nullptr, base::WrapUnique(new WindowManagerAccessPolicy))); 139 this, user_id, nullptr, base::WrapUnique(new WindowManagerAccessPolicy)));
139 std::unique_ptr<WindowTreeBinding> window_tree_binding = 140 std::unique_ptr<WindowTreeBinding> window_tree_binding =
140 delegate_->CreateWindowTreeBinding( 141 delegate_->CreateWindowTreeBinding(
141 WindowServerDelegate::BindingType::WINDOW_MANAGER, this, 142 WindowServerDelegate::BindingType::WINDOW_MANAGER, this,
142 window_tree.get(), &window_tree_request, &window_tree_client); 143 window_tree.get(), &window_tree_request, &window_tree_client);
143 if (!window_tree_binding) { 144 if (!window_tree_binding) {
144 window_tree_binding = base::MakeUnique<DefaultWindowTreeBinding>( 145 window_tree_binding = base::MakeUnique<DefaultWindowTreeBinding>(
145 window_tree.get(), this, std::move(window_tree_request), 146 window_tree.get(), this, std::move(window_tree_request),
146 std::move(window_tree_client)); 147 std::move(window_tree_client));
147 } 148 }
148 WindowTree* window_tree_ptr = window_tree.get(); 149 WindowTree* window_tree_ptr = window_tree.get();
149 AddTree(std::move(window_tree), std::move(window_tree_binding), nullptr); 150 AddTree(std::move(window_tree), std::move(window_tree_binding), nullptr);
150 window_tree_ptr->ConfigureWindowManager(); 151 window_tree_ptr->ConfigureWindowManager(automatically_create_display_roots);
151 return window_tree_ptr; 152 return window_tree_ptr;
152 } 153 }
153 154
154 void WindowServer::DestroyTree(WindowTree* tree) { 155 void WindowServer::DestroyTree(WindowTree* tree) {
155 std::unique_ptr<WindowTree> tree_ptr; 156 std::unique_ptr<WindowTree> tree_ptr;
156 { 157 {
157 auto iter = tree_map_.find(tree->id()); 158 auto iter = tree_map_.find(tree->id());
158 DCHECK(iter != tree_map_.end()); 159 DCHECK(iter != tree_map_.end());
159 tree_ptr = std::move(iter->second); 160 tree_ptr = std::move(iter->second);
160 tree_map_.erase(iter); 161 tree_map_.erase(iter);
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 void WindowServer::OnUserIdAdded(const UserId& id) { 857 void WindowServer::OnUserIdAdded(const UserId& id) {
857 activity_monitor_map_[id] = base::MakeUnique<UserActivityMonitor>(nullptr); 858 activity_monitor_map_[id] = base::MakeUnique<UserActivityMonitor>(nullptr);
858 } 859 }
859 860
860 void WindowServer::OnUserIdRemoved(const UserId& id) { 861 void WindowServer::OnUserIdRemoved(const UserId& id) {
861 activity_monitor_map_.erase(id); 862 activity_monitor_map_.erase(id);
862 } 863 }
863 864
864 } // namespace ws 865 } // namespace ws
865 } // namespace ui 866 } // namespace ui
OLDNEW
« no previous file with comments | « services/ui/ws/window_server.h ('k') | services/ui/ws/window_tree.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698