Chromium Code Reviews| Index: ui/compositor/layer.cc |
| diff --git a/ui/compositor/layer.cc b/ui/compositor/layer.cc |
| index 03c6301c4903bcc8bb8f18f21d97f9955d1a215d..892f3490eb486e4f67b0c42db321c57d1e6603f3 100644 |
| --- a/ui/compositor/layer.cc |
| +++ b/ui/compositor/layer.cc |
| @@ -181,14 +181,9 @@ std::unique_ptr<Layer> Layer::Clone() const { |
| clone->SetAlphaShape(base::MakeUnique<SkRegion>(*alpha_shape_)); |
| // cc::Layer state. |
| - if (surface_layer_ && surface_layer_->surface_id().is_valid()) { |
| - clone->SetShowSurface( |
| - surface_layer_->surface_id(), |
| - surface_layer_->satisfy_callback(), |
| - surface_layer_->require_callback(), |
| - surface_layer_->surface_size(), |
| - surface_layer_->surface_scale(), |
| - frame_size_in_dip_); |
| + if (surface_layer_ && surface_layer_->surface_info().id.is_valid()) { |
| + clone->SetShowSurface(surface_layer_->surface_info(), |
| + surface_layer_->ref_factory(), frame_size_in_dip_); |
|
Fady Samuel
2016/12/12 16:25:07
Being explicit seems useful here: surface_referenc
|
| } else if (type_ == LAYER_SOLID_COLOR) { |
| clone->SetColor(GetTargetColor()); |
| } |
| @@ -657,18 +652,14 @@ bool Layer::TextureFlipped() const { |
| return texture_layer_->flipped(); |
| } |
| -void Layer::SetShowSurface( |
| - const cc::SurfaceId& surface_id, |
| - const cc::SurfaceLayer::SatisfyCallback& satisfy_callback, |
| - const cc::SurfaceLayer::RequireCallback& require_callback, |
| - gfx::Size surface_size, |
| - float scale, |
| - gfx::Size frame_size_in_dip) { |
| +void Layer::SetShowSurface(const cc::SurfaceInfo& surface_info, |
| + cc::SurfaceEmbeddingPtr surface_ref, |
| + gfx::Size frame_size_in_dip) { |
| DCHECK(type_ == LAYER_TEXTURED || type_ == LAYER_SOLID_COLOR); |
| scoped_refptr<cc::SurfaceLayer> new_layer = |
| - cc::SurfaceLayer::Create(satisfy_callback, require_callback); |
| - new_layer->SetSurfaceId(surface_id, scale, surface_size); |
| + cc::SurfaceLayer::Create(surface_ref); |
| + new_layer->SetSurfaceInfo(surface_info); |
| SwitchToLayer(new_layer); |
| surface_layer_ = new_layer; |
| @@ -676,9 +667,8 @@ void Layer::SetShowSurface( |
| RecomputeDrawsContentAndUVRect(); |
| for (const auto& mirror : mirrors_) { |
| - mirror->dest()->SetShowSurface( |
| - surface_id, satisfy_callback, require_callback, |
| - surface_size, scale, frame_size_in_dip); |
| + mirror->dest()->SetShowSurface(surface_info, surface_ref, |
| + frame_size_in_dip); |
| } |
| } |