Index: ui/compositor/layer.cc |
diff --git a/ui/compositor/layer.cc b/ui/compositor/layer.cc |
index ad04a6441759dfa7c3461e19a3b9967d16528cc3..eb8096256d26df29e595fdce9d89518582f64785 100644 |
--- a/ui/compositor/layer.cc |
+++ b/ui/compositor/layer.cc |
@@ -182,11 +182,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()); |
+ if (surface_layer_ && surface_layer_->surface_info().id().is_valid()) { |
+ clone->SetShowSurface(surface_layer_->surface_info(), |
+ surface_layer_->surface_reference_factory()); |
} else if (type_ == LAYER_SOLID_COLOR) { |
clone->SetColor(GetTargetColor()); |
} |
@@ -656,27 +654,23 @@ bool Layer::TextureFlipped() const { |
} |
void Layer::SetShowSurface( |
- const cc::SurfaceId& surface_id, |
- const cc::SurfaceLayer::SatisfyCallback& satisfy_callback, |
- const cc::SurfaceLayer::RequireCallback& require_callback, |
- const gfx::Size& surface_size_in_pixels, |
- float scale) { |
+ const cc::SurfaceInfo& surface_info, |
+ scoped_refptr<cc::SurfaceReferenceFactory> ref_factory) { |
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_in_pixels, |
- false /* stretch_content_to_fill_bounds */); |
+ cc::SurfaceLayer::Create(ref_factory); |
+ new_layer->SetSurfaceInfo(surface_info, |
+ false /* stretch_content_to_fill_bounds */); |
SwitchToLayer(new_layer); |
surface_layer_ = new_layer; |
- frame_size_in_dip_ = gfx::ConvertSizeToDIP(scale, surface_size_in_pixels); |
+ frame_size_in_dip_ = gfx::ConvertSizeToDIP(surface_info.device_scale_factor(), |
+ surface_info.size_in_pixels()); |
RecomputeDrawsContentAndUVRect(); |
for (const auto& mirror : mirrors_) { |
- mirror->dest()->SetShowSurface(surface_id, satisfy_callback, |
- require_callback, surface_size_in_pixels, |
- scale); |
+ mirror->dest()->SetShowSurface(surface_info, ref_factory); |
} |
} |