Index: ui/compositor/layer.cc |
diff --git a/ui/compositor/layer.cc b/ui/compositor/layer.cc |
index 03c6301c4903bcc8bb8f18f21d97f9955d1a215d..9236ae5a530dab0edee020a1db34caf74aa8bb0f 100644 |
--- a/ui/compositor/layer.cc |
+++ b/ui/compositor/layer.cc |
@@ -181,14 +181,10 @@ 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_->surface_reference_factory(), |
+ frame_size_in_dip_); |
} else if (type_ == LAYER_SOLID_COLOR) { |
clone->SetColor(GetTargetColor()); |
} |
@@ -658,17 +654,14 @@ bool Layer::TextureFlipped() const { |
} |
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, |
+ const cc::SurfaceInfo& surface_info, |
+ scoped_refptr<cc::SurfaceReferenceFactory> ref_factory, |
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(ref_factory); |
+ new_layer->SetSurfaceInfo(surface_info); |
SwitchToLayer(new_layer); |
surface_layer_ = new_layer; |
@@ -676,9 +669,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, ref_factory, |
+ frame_size_in_dip); |
} |
} |