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 "components/mus/public/cpp/lib/window_tree_client_impl.h" | 5 #include "components/mus/public/cpp/lib/window_tree_client_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 window_manager_delegate_(window_manager_delegate), | 116 window_manager_delegate_(window_manager_delegate), |
117 focused_window_(nullptr), | 117 focused_window_(nullptr), |
118 binding_(this), | 118 binding_(this), |
119 tree_(nullptr), | 119 tree_(nullptr), |
120 is_embed_root_(false), | 120 is_embed_root_(false), |
121 delete_on_no_roots_(true), | 121 delete_on_no_roots_(true), |
122 in_destructor_(false) { | 122 in_destructor_(false) { |
123 // Allow for a null request in tests. | 123 // Allow for a null request in tests. |
124 if (request.is_pending()) | 124 if (request.is_pending()) |
125 binding_.Bind(std::move(request)); | 125 binding_.Bind(std::move(request)); |
| 126 if (window_manager_delegate) |
| 127 window_manager_delegate->SetWindowManagerClient(this); |
126 } | 128 } |
127 | 129 |
128 WindowTreeClientImpl::~WindowTreeClientImpl() { | 130 WindowTreeClientImpl::~WindowTreeClientImpl() { |
129 in_destructor_ = true; | 131 in_destructor_ = true; |
130 | 132 |
131 std::vector<Window*> non_owned; | 133 std::vector<Window*> non_owned; |
132 WindowTracker tracker; | 134 WindowTracker tracker; |
133 while (!windows_.empty()) { | 135 while (!windows_.empty()) { |
134 IdToWindowMap::iterator it = windows_.begin(); | 136 IdToWindowMap::iterator it = windows_.begin(); |
135 if (OwnsWindow(it->second)) { | 137 if (OwnsWindow(it->second)) { |
(...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
855 uint32_t change_id, | 857 uint32_t change_id, |
856 mojo::Map<mojo::String, mojo::Array<uint8_t>> transport_properties) { | 858 mojo::Map<mojo::String, mojo::Array<uint8_t>> transport_properties) { |
857 std::map<std::string, std::vector<uint8_t>> properties = | 859 std::map<std::string, std::vector<uint8_t>> properties = |
858 transport_properties.To<std::map<std::string, std::vector<uint8_t>>>(); | 860 transport_properties.To<std::map<std::string, std::vector<uint8_t>>>(); |
859 Window* window = | 861 Window* window = |
860 window_manager_delegate_->OnWmCreateTopLevelWindow(&properties); | 862 window_manager_delegate_->OnWmCreateTopLevelWindow(&properties); |
861 window_manager_internal_client_->OnWmCreatedTopLevelWindow(change_id, | 863 window_manager_internal_client_->OnWmCreatedTopLevelWindow(change_id, |
862 window->id()); | 864 window->id()); |
863 } | 865 } |
864 | 866 |
| 867 void WindowTreeClientImpl::SetFrameDecorationValues( |
| 868 mojom::FrameDecorationValuesPtr values) { |
| 869 window_manager_internal_client_->WmSetFrameDecorationValues( |
| 870 std::move(values)); |
| 871 } |
| 872 |
865 } // namespace mus | 873 } // namespace mus |
OLD | NEW |