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

Side by Side Diff: components/view_manager/public/cpp/lib/view_tree_client_impl.cc

Issue 1281663002: Mandoline: Allow submitting CompositorFrames directly to mojo::Views (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased + added uip::Surface Created 5 years, 3 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 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/view_manager/public/cpp/lib/view_tree_client_impl.h" 5 #include "components/view_manager/public/cpp/lib/view_tree_client_impl.h"
6 6
7 #include "components/view_manager/public/cpp/lib/view_private.h" 7 #include "components/view_manager/public/cpp/lib/view_private.h"
8 #include "components/view_manager/public/cpp/util.h" 8 #include "components/view_manager/public/cpp/util.h"
9 #include "components/view_manager/public/cpp/view_observer.h" 9 #include "components/view_manager/public/cpp/view_observer.h"
10 #include "components/view_manager/public/cpp/view_tree_connection.h" 10 #include "components/view_manager/public/cpp/view_tree_connection.h"
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 139
140 bool ViewTreeClientImpl::OwnsView(Id id) const { 140 bool ViewTreeClientImpl::OwnsView(Id id) const {
141 return HiWord(id) == connection_id_; 141 return HiWord(id) == connection_id_;
142 } 142 }
143 143
144 void ViewTreeClientImpl::SetBounds(Id view_id, const Rect& bounds) { 144 void ViewTreeClientImpl::SetBounds(Id view_id, const Rect& bounds) {
145 DCHECK(tree_); 145 DCHECK(tree_);
146 tree_->SetViewBounds(view_id, bounds.Clone(), ActionCompletedCallback()); 146 tree_->SetViewBounds(view_id, bounds.Clone(), ActionCompletedCallback());
147 } 147 }
148 148
149 void ViewTreeClientImpl::SetSurfaceId(Id view_id, SurfaceIdPtr surface_id) {
150 DCHECK(tree_);
151 if (surface_id.is_null())
152 return;
153 tree_->SetViewSurfaceId(
154 view_id, surface_id.Pass(), ActionCompletedCallback());
155 }
156
157 void ViewTreeClientImpl::SetFocus(Id view_id) { 149 void ViewTreeClientImpl::SetFocus(Id view_id) {
158 // In order for us to get here we had to have exposed a view, which implies we 150 // In order for us to get here we had to have exposed a view, which implies we
159 // got a connection. 151 // got a connection.
160 DCHECK(tree_); 152 DCHECK(tree_);
161 tree_->SetFocus(view_id, ActionCompletedCallback()); 153 tree_->SetFocus(view_id, ActionCompletedCallback());
162 } 154 }
163 155
164 void ViewTreeClientImpl::SetVisible(Id view_id, bool visible) { 156 void ViewTreeClientImpl::SetVisible(Id view_id, bool visible) {
165 DCHECK(tree_); 157 DCHECK(tree_);
166 tree_->SetViewVisibility(view_id, visible, ActionCompletedCallback()); 158 tree_->SetViewVisibility(view_id, visible, ActionCompletedCallback());
(...skipping 28 matching lines...) Expand all
195 tree_->Embed(view_id, client.Pass(), ActionCompletedCallback()); 187 tree_->Embed(view_id, client.Pass(), ActionCompletedCallback());
196 } 188 }
197 189
198 void ViewTreeClientImpl::EmbedAllowingReembed(mojo::URLRequestPtr request, 190 void ViewTreeClientImpl::EmbedAllowingReembed(mojo::URLRequestPtr request,
199 Id view_id) { 191 Id view_id) {
200 DCHECK(tree_); 192 DCHECK(tree_);
201 tree_->EmbedAllowingReembed(view_id, request.Pass(), 193 tree_->EmbedAllowingReembed(view_id, request.Pass(),
202 ActionCompletedCallback()); 194 ActionCompletedCallback());
203 } 195 }
204 196
197 void ViewTreeClientImpl::RequestSurface(Id view_id,
198 InterfaceRequest<Surface> surface,
199 SurfaceClientPtr client) {
200 DCHECK(tree_);
201 tree_->RequestSurface(view_id, surface.Pass(), client.Pass());
202 }
203
205 void ViewTreeClientImpl::AddView(View* view) { 204 void ViewTreeClientImpl::AddView(View* view) {
206 DCHECK(views_.find(view->id()) == views_.end()); 205 DCHECK(views_.find(view->id()) == views_.end());
207 views_[view->id()] = view; 206 views_[view->id()] = view;
208 } 207 }
209 208
210 void ViewTreeClientImpl::RemoveView(Id view_id) { 209 void ViewTreeClientImpl::RemoveView(Id view_id) {
211 if (focused_view_ && focused_view_->id() == view_id) 210 if (focused_view_ && focused_view_->id() == view_id)
212 OnViewFocused(0); 211 OnViewFocused(0);
213 212
214 IdToViewMap::iterator it = views_.find(view_id); 213 IdToViewMap::iterator it = views_.find(view_id);
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 void ViewTreeClientImpl::OnActionCompleted(bool success) { 441 void ViewTreeClientImpl::OnActionCompleted(bool success) {
443 if (!change_acked_callback_.is_null()) 442 if (!change_acked_callback_.is_null())
444 change_acked_callback_.Run(); 443 change_acked_callback_.Run();
445 } 444 }
446 445
447 Callback<void(bool)> ViewTreeClientImpl::ActionCompletedCallback() { 446 Callback<void(bool)> ViewTreeClientImpl::ActionCompletedCallback() {
448 return [this](bool success) { OnActionCompleted(success); }; 447 return [this](bool success) { OnActionCompleted(success); };
449 } 448 }
450 449
451 } // namespace mojo 450 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698