| Index: cc/layers/render_surface_impl.cc
|
| diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc
|
| index f124602a28bd8fb12b017627b9259994a436d8d4..c844ba02734d022f78d1d465bcb0c5f7365d509a 100644
|
| --- a/cc/layers/render_surface_impl.cc
|
| +++ b/cc/layers/render_surface_impl.cc
|
| @@ -152,6 +152,10 @@ bool RenderSurfaceImpl::HasCopyRequest() const {
|
| return OwningEffectNode()->has_copy_request;
|
| }
|
|
|
| +bool RenderSurfaceImpl::CacheRenderSurface() const {
|
| + return OwningEffectNode()->cache_render_surface;
|
| +}
|
| +
|
| int RenderSurfaceImpl::TransformTreeIndex() const {
|
| return OwningEffectNode()->transform_id;
|
| }
|
| @@ -201,7 +205,7 @@ gfx::Rect RenderSurfaceImpl::CalculateExpandedClipForFilters(
|
| }
|
|
|
| gfx::Rect RenderSurfaceImpl::CalculateClippedAccumulatedContentRect() {
|
| - if (HasCopyRequest() || !is_clipped())
|
| + if (CacheRenderSurface() || HasCopyRequest() || !is_clipped())
|
| return accumulated_content_rect();
|
|
|
| if (accumulated_content_rect().IsEmpty())
|
| @@ -336,6 +340,10 @@ void RenderSurfaceImpl::NoteAncestorPropertyChanged() {
|
| ancestor_property_changed_ = true;
|
| }
|
|
|
| +bool RenderSurfaceImpl::HasDamageFromeContributingContent() const {
|
| + return damage_tracker_->has_damage_from_contributing_content();
|
| +}
|
| +
|
| gfx::Rect RenderSurfaceImpl::GetDamageRect() const {
|
| gfx::Rect damage_rect;
|
| bool is_valid_rect = damage_tracker_->GetDamageRectIfValid(&damage_rect);
|
| @@ -357,6 +365,9 @@ std::unique_ptr<RenderPass> RenderSurfaceImpl::CreateRenderPass() {
|
| draw_properties_.screen_space_transform);
|
| pass->filters = Filters();
|
| pass->background_filters = BackgroundFilters();
|
| + pass->cache_render_surface = CacheRenderSurface();
|
| + pass->has_damage_from_contributing_content =
|
| + HasDamageFromeContributingContent();
|
| return pass;
|
| }
|
|
|
|
|