| Index: cc/layers/render_surface_impl.cc
|
| diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc
|
| index e1330f14f8a4eeaad0c737c83bd5f0872296fff7..6a3c46c98c2ce2576bd8976de668bae2f3785fce 100644
|
| --- a/cc/layers/render_surface_impl.cc
|
| +++ b/cc/layers/render_surface_impl.cc
|
| @@ -153,6 +153,10 @@ bool RenderSurfaceImpl::HasCopyRequest() const {
|
| return OwningEffectNode()->has_copy_request;
|
| }
|
|
|
| +bool RenderSurfaceImpl::ForceRenderSurface() const {
|
| + return OwningEffectNode()->force_render_surface;
|
| +}
|
| +
|
| int RenderSurfaceImpl::TransformTreeIndex() const {
|
| return OwningEffectNode()->transform_id;
|
| }
|
| @@ -202,7 +206,7 @@ gfx::Rect RenderSurfaceImpl::CalculateExpandedClipForFilters(
|
| }
|
|
|
| gfx::Rect RenderSurfaceImpl::CalculateClippedAccumulatedContentRect() {
|
| - if (HasCopyRequest() || !is_clipped())
|
| + if (ForceRenderSurface() || HasCopyRequest() || !is_clipped())
|
| return accumulated_content_rect();
|
|
|
| if (accumulated_content_rect().IsEmpty())
|
| @@ -337,6 +341,10 @@ void RenderSurfaceImpl::NoteAncestorPropertyChanged() {
|
| ancestor_property_changed_ = true;
|
| }
|
|
|
| +bool RenderSurfaceImpl::ContributingRenderSurfacePropertyChanged() const {
|
| + return damage_tracker_->has_property_change_on_contributing_render_surface();
|
| +}
|
| +
|
| gfx::Rect RenderSurfaceImpl::GetDamageRect() const {
|
| gfx::Rect damage_rect;
|
| bool is_valid_rect = damage_tracker_->GetDamageRectIfValid(&damage_rect);
|
| @@ -362,6 +370,9 @@ std::unique_ptr<RenderPass> RenderSurfaceImpl::CreateRenderPass() {
|
| draw_properties_.screen_space_transform);
|
| pass->filters = Filters();
|
| pass->background_filters = BackgroundFilters();
|
| + pass->force_render_surface = ForceRenderSurface();
|
| + pass->has_property_change_on_contributing_render_surface =
|
| + ContributingRenderSurfacePropertyChanged();
|
| return pass;
|
| }
|
|
|
|
|