Index: cc/layers/render_surface_impl.cc |
diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc |
index a2d128ca1f0d480810720c2d85c48c7bed3fec72..dbd7569dd34f1f67e02c665ed15aa369617f4687 100644 |
--- a/cc/layers/render_surface_impl.cc |
+++ b/cc/layers/render_surface_impl.cc |
@@ -76,11 +76,12 @@ gfx::RectF RenderSurfaceImpl::DrawableContentRect() const { |
return gfx::RectF(); |
gfx::Rect surface_content_rect = content_rect(); |
- if (!owning_layer_->filters().IsEmpty()) { |
+ 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 = owning_layer_->filters().MapRect( |
+ surface_content_rect = filters.MapRect( |
surface_content_rect, owning_layer_draw_transform.matrix()); |
} |
gfx::RectF drawable_content_rect = MathUtil::MapClippedRect( |
@@ -88,7 +89,7 @@ gfx::RectF RenderSurfaceImpl::DrawableContentRect() const { |
if (HasReplica()) { |
drawable_content_rect.Union(MathUtil::MapClippedRect( |
replica_draw_transform(), gfx::RectF(surface_content_rect))); |
- } else if (!owning_layer_->filters().IsEmpty() && is_clipped()) { |
+ } else if (!filters.IsEmpty() && is_clipped()) { |
// Filter could move pixels around, but still need to be clipped. |
drawable_content_rect.Intersect(gfx::RectF(clip_rect())); |
} |
@@ -157,6 +158,10 @@ bool RenderSurfaceImpl::HasReplicaMask() const { |
return OwningEffectNode()->replica_mask_layer_id != -1; |
} |
+const FilterOperations& RenderSurfaceImpl::Filters() const { |
+ return OwningEffectNode()->filters; |
+} |
+ |
const FilterOperations& RenderSurfaceImpl::BackgroundFilters() const { |
return OwningEffectNode()->background_filters; |
} |
@@ -396,8 +401,8 @@ void RenderSurfaceImpl::AppendQuads(RenderPass* render_pass, |
render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>(); |
quad->SetNew(shared_quad_state, content_rect(), visible_layer_rect, |
render_pass_id, mask_resource_id, mask_uv_scale, |
- mask_texture_size, owning_layer_->filters(), |
- owning_layer_to_target_scale, BackgroundFilters()); |
+ mask_texture_size, Filters(), owning_layer_to_target_scale, |
+ BackgroundFilters()); |
} |
} // namespace cc |