| Index: cc/layers/surface_layer.h
|
| diff --git a/cc/layers/surface_layer.h b/cc/layers/surface_layer.h
|
| index a66257d1bd94f6096dee8d9a9a614f70ad0777c8..90e17f252265d8a75c6f32ce69002cfd60a1bab5 100644
|
| --- a/cc/layers/surface_layer.h
|
| +++ b/cc/layers/surface_layer.h
|
| @@ -9,6 +9,7 @@
|
| #include "cc/base/cc_export.h"
|
| #include "cc/layers/layer.h"
|
| #include "cc/surfaces/surface_id.h"
|
| +#include "cc/surfaces/surface_ref_base.h"
|
| #include "cc/surfaces/surface_sequence.h"
|
| #include "ui/gfx/geometry/size.h"
|
|
|
| @@ -18,52 +19,31 @@ 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&)>;
|
| + static scoped_refptr<SurfaceLayer> Create();
|
| + static scoped_refptr<SurfaceLayer> Create(SurfaceRefPtr);
|
|
|
| - // 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);
|
| + void SetSurfaceRef(SurfaceRefPtr surface_ref);
|
|
|
| // 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 SurfaceRefPtr& surface_ref() const { return surface_ref_; }
|
| + SurfaceId surface_id() const { return surface_ref_->id(); }
|
| + const gfx::Size& surface_size() const { return surface_ref_->size(); }
|
| + float surface_scale() const { return surface_ref_->scale(); }
|
|
|
| protected:
|
| - SurfaceLayer(const SatisfyCallback& satisfy_callback,
|
| - const RequireCallback& require_callback);
|
| + SurfaceLayer();
|
| + explicit SurfaceLayer(SurfaceRefPtr);
|
| bool HasDrawableContent() const override;
|
|
|
| private:
|
| ~SurfaceLayer() override;
|
| - void CreateNewDestroySequence();
|
| - void SatisfyDestroySequence();
|
| + void RemoveReference();
|
|
|
| - SurfaceId surface_id_;
|
| - gfx::Size surface_size_;
|
| - float surface_scale_;
|
| - SurfaceSequence destroy_sequence_;
|
| - SatisfyCallback satisfy_callback_;
|
| - RequireCallback require_callback_;
|
| + SurfaceRefPtr surface_ref_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(SurfaceLayer);
|
| };
|
|
|