| 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/view_tree_client_impl.h" | 5 #include "components/mus/public/cpp/lib/view_tree_client_impl.h" |
| 6 | 6 |
| 7 #include "components/mus/public/cpp/lib/view_private.h" | 7 #include "components/mus/public/cpp/lib/view_private.h" |
| 8 #include "components/mus/public/cpp/util.h" | 8 #include "components/mus/public/cpp/util.h" |
| 9 #include "components/mus/public/cpp/view_observer.h" | 9 #include "components/mus/public/cpp/view_observer.h" |
| 10 #include "components/mus/public/cpp/view_tree_connection.h" | 10 #include "components/mus/public/cpp/view_tree_connection.h" |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 | 137 |
| 138 bool ViewTreeClientImpl::OwnsView(Id id) const { | 138 bool ViewTreeClientImpl::OwnsView(Id id) const { |
| 139 return HiWord(id) == connection_id_; | 139 return HiWord(id) == connection_id_; |
| 140 } | 140 } |
| 141 | 141 |
| 142 void ViewTreeClientImpl::SetBounds(Id view_id, const mojo::Rect& bounds) { | 142 void ViewTreeClientImpl::SetBounds(Id view_id, const mojo::Rect& bounds) { |
| 143 DCHECK(tree_); | 143 DCHECK(tree_); |
| 144 tree_->SetViewBounds(view_id, bounds.Clone(), ActionCompletedCallback()); | 144 tree_->SetViewBounds(view_id, bounds.Clone(), ActionCompletedCallback()); |
| 145 } | 145 } |
| 146 | 146 |
| 147 void ViewTreeClientImpl::SetCapture(Id view_id) { |
| 148 // In order for us to get here we had to have exposed a view, which implies we |
| 149 // got a connection. |
| 150 DCHECK(tree_); |
| 151 tree_->SetCapture(view_id, ActionCompletedCallback()); |
| 152 } |
| 153 |
| 147 void ViewTreeClientImpl::SetFocus(Id view_id) { | 154 void ViewTreeClientImpl::SetFocus(Id view_id) { |
| 148 // In order for us to get here we had to have exposed a view, which implies we | 155 // In order for us to get here we had to have exposed a view, which implies we |
| 149 // got a connection. | 156 // got a connection. |
| 150 DCHECK(tree_); | 157 DCHECK(tree_); |
| 151 tree_->SetFocus(view_id); | 158 tree_->SetFocus(view_id); |
| 152 } | 159 } |
| 153 | 160 |
| 154 void ViewTreeClientImpl::SetVisible(Id view_id, bool visible) { | 161 void ViewTreeClientImpl::SetVisible(Id view_id, bool visible) { |
| 155 DCHECK(tree_); | 162 DCHECK(tree_); |
| 156 tree_->SetViewVisibility(view_id, visible, ActionCompletedCallback()); | 163 tree_->SetViewVisibility(view_id, visible, ActionCompletedCallback()); |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 OnViewEmbeddedAppDisconnected(view)); | 295 OnViewEmbeddedAppDisconnected(view)); |
| 289 } | 296 } |
| 290 } | 297 } |
| 291 | 298 |
| 292 void ViewTreeClientImpl::OnUnembed() { | 299 void ViewTreeClientImpl::OnUnembed() { |
| 293 delegate_->OnUnembed(); | 300 delegate_->OnUnembed(); |
| 294 // This will send out the various notifications. | 301 // This will send out the various notifications. |
| 295 delete this; | 302 delete this; |
| 296 } | 303 } |
| 297 | 304 |
| 305 void ViewTreeClientImpl::OnLostCapture(Id view_id) { |
| 306 View* view = GetViewById(view_id); |
| 307 if (view) { |
| 308 FOR_EACH_OBSERVER(ViewObserver, *ViewPrivate(view).observers(), |
| 309 OnViewLostCapture(view)); |
| 310 } |
| 311 } |
| 312 |
| 298 void ViewTreeClientImpl::OnViewBoundsChanged(Id view_id, | 313 void ViewTreeClientImpl::OnViewBoundsChanged(Id view_id, |
| 299 mojo::RectPtr old_bounds, | 314 mojo::RectPtr old_bounds, |
| 300 mojo::RectPtr new_bounds) { | 315 mojo::RectPtr new_bounds) { |
| 301 View* view = GetViewById(view_id); | 316 View* view = GetViewById(view_id); |
| 302 ViewPrivate(view).LocalSetBounds(*old_bounds, *new_bounds); | 317 ViewPrivate(view).LocalSetBounds(*old_bounds, *new_bounds); |
| 303 } | 318 } |
| 304 | 319 |
| 305 namespace { | 320 namespace { |
| 306 | 321 |
| 307 void SetViewportMetricsOnDecendants(View* root, | 322 void SetViewportMetricsOnDecendants(View* root, |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 void ViewTreeClientImpl::OnActionCompleted(bool success) { | 444 void ViewTreeClientImpl::OnActionCompleted(bool success) { |
| 430 if (!change_acked_callback_.is_null()) | 445 if (!change_acked_callback_.is_null()) |
| 431 change_acked_callback_.Run(); | 446 change_acked_callback_.Run(); |
| 432 } | 447 } |
| 433 | 448 |
| 434 mojo::Callback<void(bool)> ViewTreeClientImpl::ActionCompletedCallback() { | 449 mojo::Callback<void(bool)> ViewTreeClientImpl::ActionCompletedCallback() { |
| 435 return [this](bool success) { OnActionCompleted(success); }; | 450 return [this](bool success) { OnActionCompleted(success); }; |
| 436 } | 451 } |
| 437 | 452 |
| 438 } // namespace mus | 453 } // namespace mus |
| OLD | NEW |