Index: components/view_manager/surfaces/top_level_display_client.h |
diff --git a/components/view_manager/surfaces/display_impl.h b/components/view_manager/surfaces/top_level_display_client.h |
similarity index 51% |
rename from components/view_manager/surfaces/display_impl.h |
rename to components/view_manager/surfaces/top_level_display_client.h |
index f6db02a5131ec9c9639b00771c8f244ad799cdf8..2bf3f114c6c3c4959092bce97e435b641982145d 100644 |
--- a/components/view_manager/surfaces/display_impl.h |
+++ b/components/view_manager/surfaces/top_level_display_client.h |
@@ -9,46 +9,45 @@ |
#include "cc/surfaces/display_client.h" |
#include "cc/surfaces/surface_factory.h" |
#include "cc/surfaces/surface_factory_client.h" |
-#include "components/view_manager/public/interfaces/display.mojom.h" |
+#include "components/view_manager/public/interfaces/surfaces.mojom.h" |
+#include "components/view_manager/surfaces/surfaces_context_provider.h" |
#include "third_party/mojo/src/mojo/public/cpp/bindings/strong_binding.h" |
+#include "ui/gfx/native_widget_types.h" |
namespace cc { |
class Display; |
class SurfaceFactory; |
} |
+namespace gles2 { |
+class GpuState; |
+} |
+ |
namespace surfaces { |
class SurfacesScheduler; |
-class SurfacesServiceApplication; |
+class SurfacesState; |
-class DisplayImpl : public mojo::Display, |
- public mojo::ViewportParameterListener, |
- public cc::DisplayClient, |
- public cc::SurfaceFactoryClient { |
+class TopLevelDisplayClient |
rjkroege
2015/08/06 00:16:22
class comment?
Fady Samuel
2015/08/06 16:48:24
Done.
|
+ : public cc::DisplayClient, |
+ public cc::SurfaceFactoryClient, |
+ public surfaces::SurfacesContextProvider::Delegate { |
public: |
- DisplayImpl(SurfacesServiceApplication* application, |
- cc::SurfaceManager* manager, |
- cc::SurfaceId cc_id, |
- SurfacesScheduler* scheduler, |
- mojo::ContextProviderPtr context_provider, |
- mojo::ResourceReturnerPtr returner, |
- mojo::InterfaceRequest<mojo::Display> display_request); |
- ~DisplayImpl() override; |
- |
- private: |
- void OnContextCreated(mojo::CommandBufferPtr gles2_client); |
+ TopLevelDisplayClient(gfx::AcceleratedWidget widget, |
+ const scoped_refptr<gles2::GpuState>& gpu_state, |
+ const scoped_refptr<SurfacesState>& surfaces_state); |
+ ~TopLevelDisplayClient() override; |
- // mojo::Display implementation: |
- void SubmitFrame(mojo::FramePtr frame, |
- const SubmitFrameCallback& callback) override; |
+ void SubmitFrame(mojo::FramePtr frame, const base::Closure& callback); |
+ private: |
// DisplayClient implementation. |
void CommitVSyncParameters(base::TimeTicks timebase, |
base::TimeDelta interval) override; |
void OutputSurfaceLost() override; |
void SetMemoryPolicy(const cc::ManagedMemoryPolicy& policy) override; |
- // ViewportParameterListener |
+ // SurfacesContextProvider::Delegate: |
+ void OnContextCreated(); |
void OnVSyncParametersUpdated(int64_t timebase, int64_t interval) override; |
// SurfaceFactoryClient implementation. |
@@ -56,24 +55,18 @@ class DisplayImpl : public mojo::Display, |
void Draw(); |
- SurfacesServiceApplication* application_; |
- cc::SurfaceManager* manager_; |
+ scoped_refptr<gles2::GpuState> gpu_state_; |
+ scoped_refptr<SurfacesState> surfaces_state_; |
cc::SurfaceFactory factory_; |
cc::SurfaceId cc_id_; |
- SurfacesScheduler* scheduler_; |
- mojo::ContextProviderPtr context_provider_; |
- mojo::ResourceReturnerPtr returner_; |
gfx::Size last_submitted_frame_size_; |
mojo::FramePtr pending_frame_; |
- SubmitFrameCallback pending_callback_; |
+ base::Closure pending_callback_; |
scoped_ptr<cc::Display> display_; |
- mojo::Binding<mojo::ViewportParameterListener> viewport_param_binding_; |
- mojo::StrongBinding<mojo::Display> display_binding_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DisplayImpl); |
+ DISALLOW_COPY_AND_ASSIGN(TopLevelDisplayClient); |
}; |
} // namespace surfaces |