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

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

Issue 2829733002: mus: Changes SetDisplayRoot() to create actual display (Closed)
Patch Set: screenmanagerforwarding only ozone 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 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 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_manager_window_tree_factory.h" 5 #include "services/ui/ws/window_manager_window_tree_factory.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "services/ui/ws/window_manager_window_tree_factory_set.h" 8 #include "services/ui/ws/window_manager_window_tree_factory_set.h"
9 #include "services/ui/ws/window_server.h" 9 #include "services/ui/ws/window_server.h"
10 #include "services/ui/ws/window_server_delegate.h"
10 #include "services/ui/ws/window_tree.h" 11 #include "services/ui/ws/window_tree.h"
11 12
12 namespace ui { 13 namespace ui {
13 namespace ws { 14 namespace ws {
14 15
15 WindowManagerWindowTreeFactory::WindowManagerWindowTreeFactory( 16 WindowManagerWindowTreeFactory::WindowManagerWindowTreeFactory(
16 WindowManagerWindowTreeFactorySet* window_manager_window_tree_factory_set, 17 WindowManagerWindowTreeFactorySet* window_manager_window_tree_factory_set,
17 const UserId& user_id, 18 const UserId& user_id,
18 mojo::InterfaceRequest<mojom::WindowManagerWindowTreeFactory> request) 19 mojo::InterfaceRequest<mojom::WindowManagerWindowTreeFactory> request)
19 : WindowManagerWindowTreeFactory(window_manager_window_tree_factory_set, 20 : WindowManagerWindowTreeFactory(window_manager_window_tree_factory_set,
(...skipping 11 matching lines...) Expand all
31 if (window_tree_) { 32 if (window_tree_) {
32 DVLOG(1) << "CreateWindowTree() called more than once."; 33 DVLOG(1) << "CreateWindowTree() called more than once.";
33 return; 34 return;
34 } 35 }
35 36
36 // CreateWindowTree() can only be called once, so there is no reason to keep 37 // CreateWindowTree() can only be called once, so there is no reason to keep
37 // the binding around. 38 // the binding around.
38 if (binding_.is_bound()) 39 if (binding_.is_bound())
39 binding_.Close(); 40 binding_.Close();
40 41
42 window_manager_window_tree_factory_set_->window_server()
43 ->delegate()
44 ->OnWillCreateTreeForWindowManager(automatically_create_display_roots);
kylechar 2017/04/19 18:06:08 Will this work with multiple connected WMs? I know
sky 2017/04/19 19:30:03 You are correct it would be problematic to have mu
kylechar 2017/04/19 19:47:09 Ah, right it ignores it. Gotcha.
45
41 SetWindowTree(GetWindowServer()->CreateTreeForWindowManager( 46 SetWindowTree(GetWindowServer()->CreateTreeForWindowManager(
42 user_id_, std::move(window_tree_request), std::move(window_tree_client), 47 user_id_, std::move(window_tree_request), std::move(window_tree_client),
43 automatically_create_display_roots)); 48 automatically_create_display_roots));
44 } 49 }
45 50
46 WindowManagerWindowTreeFactory::WindowManagerWindowTreeFactory( 51 WindowManagerWindowTreeFactory::WindowManagerWindowTreeFactory(
47 WindowManagerWindowTreeFactorySet* window_manager_window_tree_factory_set, 52 WindowManagerWindowTreeFactorySet* window_manager_window_tree_factory_set,
48 const UserId& user_id) 53 const UserId& user_id)
49 : window_manager_window_tree_factory_set_( 54 : window_manager_window_tree_factory_set_(
50 window_manager_window_tree_factory_set), 55 window_manager_window_tree_factory_set),
51 user_id_(user_id), 56 user_id_(user_id),
52 binding_(this) {} 57 binding_(this) {}
53 58
54 WindowServer* WindowManagerWindowTreeFactory::GetWindowServer() { 59 WindowServer* WindowManagerWindowTreeFactory::GetWindowServer() {
55 return window_manager_window_tree_factory_set_->window_server(); 60 return window_manager_window_tree_factory_set_->window_server();
56 } 61 }
57 62
58 void WindowManagerWindowTreeFactory::SetWindowTree(WindowTree* window_tree) { 63 void WindowManagerWindowTreeFactory::SetWindowTree(WindowTree* window_tree) {
59 DCHECK(!window_tree_); 64 DCHECK(!window_tree_);
60 window_tree_ = window_tree; 65 window_tree_ = window_tree;
61 66
62 window_manager_window_tree_factory_set_ 67 window_manager_window_tree_factory_set_
63 ->OnWindowManagerWindowTreeFactoryReady(this); 68 ->OnWindowManagerWindowTreeFactoryReady(this);
64 } 69 }
65 70
66 } // namespace ws 71 } // namespace ws
67 } // namespace ui 72 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698