OLD | NEW |
| (Empty) |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "components/mus/ws/window_tree_factory.h" | |
6 | |
7 #include "base/memory/ptr_util.h" | |
8 #include "components/mus/ws/default_access_policy.h" | |
9 #include "components/mus/ws/window_server.h" | |
10 #include "components/mus/ws/window_tree.h" | |
11 #include "components/mus/ws/window_tree_binding.h" | |
12 | |
13 namespace mus { | |
14 namespace ws { | |
15 | |
16 WindowTreeFactory::WindowTreeFactory(WindowServer* window_server, | |
17 const UserId& user_id, | |
18 const std::string& client_name, | |
19 mojom::WindowTreeFactoryRequest request) | |
20 : window_server_(window_server), | |
21 user_id_(user_id), | |
22 client_name_(client_name), | |
23 binding_(this, std::move(request)) {} | |
24 | |
25 WindowTreeFactory::~WindowTreeFactory() {} | |
26 | |
27 void WindowTreeFactory::CreateWindowTree( | |
28 mojo::InterfaceRequest<mojom::WindowTree> tree_request, | |
29 mojom::WindowTreeClientPtr client) { | |
30 std::unique_ptr<ws::WindowTree> service( | |
31 new ws::WindowTree(window_server_, user_id_, nullptr, | |
32 base::WrapUnique(new DefaultAccessPolicy))); | |
33 std::unique_ptr<ws::DefaultWindowTreeBinding> binding( | |
34 new ws::DefaultWindowTreeBinding(service.get(), window_server_, | |
35 std::move(tree_request), | |
36 std::move(client))); | |
37 service->set_name(client_name_); | |
38 window_server_->AddTree(std::move(service), std::move(binding), nullptr); | |
39 } | |
40 | |
41 } // namespace ws | |
42 } // namespace mus | |
OLD | NEW |