Chromium Code Reviews| Index: cc/layers/surface_layer.h |
| diff --git a/cc/layers/surface_layer.h b/cc/layers/surface_layer.h |
| index a66257d1bd94f6096dee8d9a9a614f70ad0777c8..b320afe7fabe60405c9193018aa5df9fd299ca94 100644 |
| --- a/cc/layers/surface_layer.h |
| +++ b/cc/layers/surface_layer.h |
| @@ -8,6 +8,7 @@ |
| #include "base/macros.h" |
| #include "cc/base/cc_export.h" |
| #include "cc/layers/layer.h" |
| +#include "cc/surfaces/surface_embedding_base.h" |
| #include "cc/surfaces/surface_id.h" |
| #include "cc/surfaces/surface_sequence.h" |
| #include "ui/gfx/geometry/size.h" |
| @@ -18,52 +19,29 @@ namespace cc { |
| // instance or client. |
| class CC_EXPORT SurfaceLayer : public Layer { |
| public: |
| - // This callback is run when a SurfaceSequence needs to be satisfied, but |
| - // the parent compositor is unable to. It can be called on either the main |
| - // or impl threads. |
| - using SatisfyCallback = base::Callback<void(const SurfaceSequence&)>; |
| - |
| - // This callback is run to require that a specific SurfaceSequence is |
| - // received before a SurfaceId is destroyed. |
| - using RequireCallback = |
| - base::Callback<void(const SurfaceId&, const SurfaceSequence&)>; |
| - |
| - static scoped_refptr<SurfaceLayer> Create( |
| - const SatisfyCallback& satisfy_callback, |
| - const RequireCallback& require_callback); |
| - |
| - void SetSurfaceId(const SurfaceId& surface_id, |
| - float scale, |
| - const gfx::Size& size); |
| + static scoped_refptr<SurfaceLayer> Create(SurfaceEmbeddingPtr); |
|
Fady Samuel
2016/12/12 16:11:59
nit: scoped_refptr<SurfaceEmbedding> surface_embed
|
| + void SetSurfaceInfo(const SurfaceId& id, float scale, const gfx::Size& size); |
|
Fady Samuel
2016/12/12 16:11:59
I'd rather have just one way to set surface info.
|
| + void SetSurfaceInfo(const SurfaceInfo& surface_info); |
| // Layer overrides. |
| std::unique_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) override; |
| void SetLayerTreeHost(LayerTreeHost* host) override; |
| void PushPropertiesTo(LayerImpl* layer) override; |
| - SurfaceId surface_id() const { return surface_id_; } |
| - const gfx::Size& surface_size() const { return surface_size_; } |
| - float surface_scale() const { return surface_scale_; } |
| - |
| - const SatisfyCallback& satisfy_callback() const { return satisfy_callback_; } |
| - const RequireCallback& require_callback() const { return require_callback_; } |
| + const SurfaceEmbeddingPtr& ref_factory() const { return ref_factory_; } |
| + const SurfaceInfo& surface_info() const { return surface_info_; } |
| protected: |
| - SurfaceLayer(const SatisfyCallback& satisfy_callback, |
| - const RequireCallback& require_callback); |
| + explicit SurfaceLayer(SurfaceEmbeddingPtr); |
| bool HasDrawableContent() const override; |
| private: |
| ~SurfaceLayer() override; |
| - void CreateNewDestroySequence(); |
| - void SatisfyDestroySequence(); |
| + void RemoveCurrentReference(); |
| - SurfaceId surface_id_; |
| - gfx::Size surface_size_; |
| - float surface_scale_; |
| - SurfaceSequence destroy_sequence_; |
| - SatisfyCallback satisfy_callback_; |
| - RequireCallback require_callback_; |
| + SurfaceInfo surface_info_; |
| + SurfaceEmbeddingPtr ref_factory_; |
| + SurfaceRefPtr current_ref_; |
| DISALLOW_COPY_AND_ASSIGN(SurfaceLayer); |
| }; |