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

Unified Diff: cc/layers/render_surface_impl.cc

Issue 2639613002: cc: Remove calls to owning_layer_->DrawTransform in RenderSurfaceImpl (Closed)
Patch Set: Rebase Created 3 years, 11 months 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
« no previous file with comments | « cc/layers/render_surface_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/render_surface_impl.cc
diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc
index cc1f28ee8a73ba950d48a185776e069e6069b30c..1a3845b6cb10e208584aeaac65c3e1931e7394d4 100644
--- a/cc/layers/render_surface_impl.cc
+++ b/cc/layers/render_surface_impl.cc
@@ -32,8 +32,7 @@
namespace cc {
RenderSurfaceImpl::RenderSurfaceImpl(LayerImpl* owning_layer)
- : owning_layer_(owning_layer),
- layer_tree_impl_(owning_layer->layer_tree_impl()),
+ : layer_tree_impl_(owning_layer->layer_tree_impl()),
stable_effect_id_(owning_layer->id()),
effect_tree_index_(EffectTree::kInvalidNodeId),
surface_property_changed_(false),
@@ -82,11 +81,8 @@ gfx::RectF RenderSurfaceImpl::DrawableContentRect() const {
gfx::Rect surface_content_rect = content_rect();
const FilterOperations& filters = Filters();
if (!filters.IsEmpty()) {
- const gfx::Transform& owning_layer_draw_transform =
- owning_layer_->DrawTransform();
- DCHECK(owning_layer_draw_transform.IsScale2d());
- surface_content_rect = filters.MapRect(
- surface_content_rect, owning_layer_draw_transform.matrix());
+ surface_content_rect =
+ filters.MapRect(surface_content_rect, FiltersTransform().matrix());
}
gfx::RectF drawable_content_rect = MathUtil::MapClippedRect(
draw_transform(), gfx::RectF(surface_content_rect));
@@ -140,7 +136,10 @@ gfx::PointF RenderSurfaceImpl::FiltersOrigin() const {
}
gfx::Transform RenderSurfaceImpl::FiltersTransform() const {
- return owning_layer_->DrawTransform();
+ gfx::Transform filters_transform;
+ filters_transform.Scale(OwningEffectNode()->surface_contents_scale.x(),
+ OwningEffectNode()->surface_contents_scale.y());
+ return filters_transform;
}
const FilterOperations& RenderSurfaceImpl::BackgroundFilters() const {
@@ -319,7 +318,6 @@ bool RenderSurfaceImpl::SurfacePropertyChanged() const {
// - all other property changes come from the surface's property tree nodes
// (or some ancestor node that propagates its change to one of these nodes).
//
- DCHECK(owning_layer_);
return surface_property_changed_ || AncestorPropertyChanged();
}
@@ -392,31 +390,24 @@ void RenderSurfaceImpl::AppendQuads(RenderPass* render_pass,
ResourceId mask_resource_id = 0;
gfx::Size mask_texture_size;
gfx::Vector2dF mask_uv_scale;
- gfx::Transform owning_layer_draw_transform = owning_layer_->DrawTransform();
+ gfx::Vector2dF surface_contents_scale =
+ OwningEffectNode()->surface_contents_scale;
LayerImpl* mask_layer = MaskLayer();
if (mask_layer && mask_layer->DrawsContent() &&
!mask_layer->bounds().IsEmpty()) {
mask_layer->GetContentsResourceId(&mask_resource_id, &mask_texture_size);
- gfx::Vector2dF owning_layer_draw_scale =
- MathUtil::ComputeTransform2dScaleComponents(owning_layer_draw_transform,
- 1.f);
gfx::SizeF unclipped_mask_target_size = gfx::ScaleSize(
gfx::SizeF(OwningEffectNode()->unscaled_mask_target_size),
- owning_layer_draw_scale.x(), owning_layer_draw_scale.y());
+ surface_contents_scale.x(), surface_contents_scale.y());
mask_uv_scale = gfx::Vector2dF(1.0f / unclipped_mask_target_size.width(),
1.0f / unclipped_mask_target_size.height());
}
- DCHECK(owning_layer_draw_transform.IsScale2d());
- gfx::Vector2dF owning_layer_to_target_scale =
- owning_layer_draw_transform.Scale2d();
-
RenderPassDrawQuad* quad =
render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
quad->SetNew(shared_quad_state, content_rect(), visible_layer_rect,
GetRenderPassId(), mask_resource_id, mask_uv_scale,
- mask_texture_size, owning_layer_to_target_scale,
- FiltersOrigin());
+ mask_texture_size, surface_contents_scale, FiltersOrigin());
}
} // namespace cc
« no previous file with comments | « cc/layers/render_surface_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698