Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(390)

Unified Diff: ui/compositor/layer.cc

Issue 2514033002: Introducing SurfaceReferenceFactory (Closed)
Patch Set: up Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/compositor/layer.cc
diff --git a/ui/compositor/layer.cc b/ui/compositor/layer.cc
index 03c6301c4903bcc8bb8f18f21d97f9955d1a215d..e567945779d87bbc4de022148444a55d4001c7b1 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_);
} else if (type_ == LAYER_SOLID_COLOR) {
clone->SetColor(GetTargetColor());
}
@@ -658,17 +653,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 +668,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);
}
}

Powered by Google App Engine
This is Rietveld 408576698