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); |
} |
} |