Chromium Code Reviews| Index: mojo/services/native_viewport/native_viewport_impl.h |
| diff --git a/mojo/services/native_viewport/native_viewport_impl.h b/mojo/services/native_viewport/native_viewport_impl.h |
| index b57c36a4946cf28bfdb6ca240246c69a43a4ddf9..829973ab3d6f95fca90020271789d103f83938ec 100644 |
| --- a/mojo/services/native_viewport/native_viewport_impl.h |
| +++ b/mojo/services/native_viewport/native_viewport_impl.h |
| @@ -6,8 +6,13 @@ |
| #define MOJO_SERVICES_NATIVE_VIEWPORT_IMPL_H_ |
| #include "base/memory/weak_ptr.h" |
| +#include "cc/surfaces/surface_id_allocator.h" |
| #include "mojo/services/native_viewport/platform_viewport.h" |
| +#include "mojo/services/public/interfaces/gpu/gpu.mojom.h" |
| #include "mojo/services/public/interfaces/native_viewport/native_viewport.mojom.h" |
| +#include "mojo/services/public/interfaces/surfaces/surfaces.mojom.h" |
| +#include "mojo/services/public/interfaces/surfaces/surfaces_service.mojom.h" |
| +#include "ui/gfx/geometry/rect.h" |
| namespace ui { |
| class Event; |
| @@ -16,9 +21,10 @@ class Event; |
| namespace mojo { |
| class NativeViewportImpl : public InterfaceImpl<NativeViewport>, |
| - public PlatformViewport::Delegate { |
| + public PlatformViewport::Delegate, |
| + public SurfaceClient { |
| public: |
| - NativeViewportImpl(); |
| + NativeViewportImpl(SurfacesServicePtr surfaces_service, GpuPtr gpu_service); |
| virtual ~NativeViewportImpl(); |
| // InterfaceImpl<NativeViewport> implementation. |
| @@ -27,6 +33,7 @@ class NativeViewportImpl : public InterfaceImpl<NativeViewport>, |
| virtual void Hide() OVERRIDE; |
| virtual void Close() OVERRIDE; |
| virtual void SetBounds(RectPtr bounds) OVERRIDE; |
| + virtual void SubmittedFrame(SurfaceIdPtr surface_id) OVERRIDE; |
| // PlatformViewport::Delegate implementation. |
| virtual void OnBoundsChanged(const gfx::Rect& bounds) OVERRIDE; |
| @@ -38,9 +45,22 @@ class NativeViewportImpl : public InterfaceImpl<NativeViewport>, |
| void AckEvent(); |
| private: |
| + // SurfaceClient implementation. |
| + virtual void ReturnResources(Array<ReturnedResourcePtr> resources) OVERRIDE; |
| + |
| + void OnSurfaceConnectionCreated(SurfacePtr surface, uint32_t id_namespace); |
| + void CreateViewportBoundSurface(); |
| + void SubmitFrame(); |
| - gfx::AcceleratedWidget widget_; |
| scoped_ptr<PlatformViewport> platform_viewport_; |
| + SurfacesServicePtr surfaces_service_; |
|
jamesr
2014/08/26 23:05:50
might be worth splitting all this crap out into a
sky
2014/08/26 23:16:32
Sure.
|
| + SurfacePtr surface_; |
| + GpuPtr gpu_service_; |
| + gfx::Rect bounds_; |
| + uint64_t widget_id_; |
| + scoped_ptr<cc::SurfaceIdAllocator> surface_id_allocator_; |
| + cc::SurfaceId surface_id_; |
| + cc::SurfaceId child_surface_id_; |
| bool waiting_for_event_ack_; |
| base::WeakPtrFactory<NativeViewportImpl> weak_factory_; |
| }; |