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

Unified Diff: ui/compositor/layer.cc

Issue 2514033002: Introducing SurfaceReferenceFactory (Closed)
Patch Set: fix 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..94b067bd9d095e24708a336f2da3c8e331c8f317 100644
--- a/ui/compositor/layer.cc
+++ b/ui/compositor/layer.cc
@@ -182,13 +182,8 @@ std::unique_ptr<Layer> Layer::Clone() const {
// 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_);
+ clone->SetShowSurface(surface_layer_->surface_ref()->Clone(),
+ frame_size_in_dip_);
} else if (type_ == LAYER_SOLID_COLOR) {
clone->SetColor(GetTargetColor());
}
@@ -657,18 +652,12 @@ 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(cc::SurfaceRefPtr 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);
+ scoped_refptr<cc::SurfaceLayer> new_layer = cc::SurfaceLayer::Create();
+ new_layer->SetSurfaceRef(surface_ref->Clone());
SwitchToLayer(new_layer);
surface_layer_ = new_layer;
@@ -676,9 +665,7 @@ 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_ref->Clone(), frame_size_in_dip);
}
}

Powered by Google App Engine
This is Rietveld 408576698