Index: components/view_manager/server_view.cc |
diff --git a/components/view_manager/server_view.cc b/components/view_manager/server_view.cc |
index 411e0f90add0b237aef8ffe83ae66c9afa03322b..6e029da21ae7f055456b0d2dabc875f2d9eb54b6 100644 |
--- a/components/view_manager/server_view.cc |
+++ b/components/view_manager/server_view.cc |
@@ -9,6 +9,7 @@ |
#include "base/strings/stringprintf.h" |
#include "components/view_manager/server_view_delegate.h" |
#include "components/view_manager/server_view_observer.h" |
+#include "mojo/converters/geometry/geometry_type_converters.h" |
namespace view_manager { |
@@ -22,7 +23,8 @@ ServerView::ServerView(ServerViewDelegate* delegate, const ViewId& id) |
// Don't notify newly added observers during notification. This causes |
// problems for code that adds an observer as part of an observer |
// notification (such as ServerViewDrawTracker). |
- observers_(base::ObserverList<ServerViewObserver>::NOTIFY_EXISTING_ONLY) { |
+ observers_(base::ObserverList<ServerViewObserver>::NOTIFY_EXISTING_ONLY), |
+ binding_(this) { |
DCHECK(delegate); // Must provide a delegate. |
} |
@@ -47,6 +49,10 @@ void ServerView::RemoveObserver(ServerViewObserver* observer) { |
observers_.RemoveObserver(observer); |
} |
+void ServerView::Bind(mojo::InterfaceRequest<CompositorFrameReceiver> request) { |
+ binding_.Bind(request.Pass()); |
+} |
+ |
void ServerView::Add(ServerView* child) { |
// We assume validation checks happened already. |
DCHECK(child); |
@@ -217,6 +223,14 @@ void ServerView::SetSurfaceId(cc::SurfaceId surface_id) { |
delegate_->OnScheduleViewPaint(this); |
} |
+void ServerView::SubmitCompositorFrame( |
+ mojo::CompositorFramePtr frame, |
+ const SubmitCompositorFrameCallback& callback) { |
+ gfx::Size frame_size = frame->passes[0]->output_rect.To<gfx::Rect>().size(); |
+ delegate_->SubmitCompositorFrame(this, frame.Pass(), callback); |
+ last_submitted_frame_size_ = frame_size; |
+} |
+ |
#if !defined(NDEBUG) |
std::string ServerView::GetDebugWindowHierarchy() const { |
std::string result; |