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

Side by Side Diff: cc/debug/debug_rect_history.cc

Issue 2632463005: cc: Ensure that large damage doesn't register as "frame has no damage" (Closed)
Patch Set: update 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 unified diff | Download patch
« no previous file with comments | « no previous file | cc/layers/render_surface_impl.cc » ('j') | cc/trees/damage_tracker.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/debug/debug_rect_history.h" 5 #include "cc/debug/debug_rect_history.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "cc/base/math_util.h" 10 #include "cc/base/math_util.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 } 118 }
119 119
120 void DebugRectHistory::SaveSurfaceDamageRects( 120 void DebugRectHistory::SaveSurfaceDamageRects(
121 const LayerImplList& render_surface_layer_list) { 121 const LayerImplList& render_surface_layer_list) {
122 for (size_t i = 0; i < render_surface_layer_list.size(); ++i) { 122 for (size_t i = 0; i < render_surface_layer_list.size(); ++i) {
123 size_t surface_index = render_surface_layer_list.size() - 1 - i; 123 size_t surface_index = render_surface_layer_list.size() - 1 - i;
124 LayerImpl* render_surface_layer = render_surface_layer_list[surface_index]; 124 LayerImpl* render_surface_layer = render_surface_layer_list[surface_index];
125 RenderSurfaceImpl* render_surface = render_surface_layer->render_surface(); 125 RenderSurfaceImpl* render_surface = render_surface_layer->render_surface();
126 DCHECK(render_surface); 126 DCHECK(render_surface);
127 127
128 debug_rects_.push_back(DebugRect( 128 gfx::Rect damage_rect;
129 SURFACE_DAMAGE_RECT_TYPE, 129 bool is_valid_rect =
130 MathUtil::MapEnclosingClippedRect( 130 render_surface->damage_tracker()->GetDamageRectIfValid(&damage_rect);
enne (OOO) 2017/01/19 23:23:39 Maybe encapsulate this conditional block in a Rend
danakj 2017/01/20 17:03:04 My one thot on this is that then you have 2 ways t
vmpstr 2017/01/20 21:38:18 I think it still makes sense, since the two access
vmpstr 2017/01/20 21:38:18 Done.
131 render_surface->screen_space_transform(), 131 if (!is_valid_rect)
132 render_surface->damage_tracker()->current_damage_rect()))); 132 damage_rect = render_surface->content_rect();
133 debug_rects_.push_back(
134 DebugRect(SURFACE_DAMAGE_RECT_TYPE,
135 MathUtil::MapEnclosingClippedRect(
136 render_surface->screen_space_transform(), damage_rect)));
133 } 137 }
134 } 138 }
135 139
136 void DebugRectHistory::SaveScreenSpaceRects( 140 void DebugRectHistory::SaveScreenSpaceRects(
137 const LayerImplList& render_surface_layer_list) { 141 const LayerImplList& render_surface_layer_list) {
138 for (size_t i = 0; i < render_surface_layer_list.size(); ++i) { 142 for (size_t i = 0; i < render_surface_layer_list.size(); ++i) {
139 size_t surface_index = render_surface_layer_list.size() - 1 - i; 143 size_t surface_index = render_surface_layer_list.size() - 1 - i;
140 LayerImpl* render_surface_layer = render_surface_layer_list[surface_index]; 144 LayerImpl* render_surface_layer = render_surface_layer_list[surface_index];
141 RenderSurfaceImpl* render_surface = render_surface_layer->render_surface(); 145 RenderSurfaceImpl* render_surface = render_surface_layer->render_surface();
142 DCHECK(render_surface); 146 DCHECK(render_surface);
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 debug_rects_.push_back( 239 debug_rects_.push_back(
236 DebugRect(ANIMATION_BOUNDS_RECT_TYPE, 240 DebugRect(ANIMATION_BOUNDS_RECT_TYPE,
237 gfx::ToEnclosingRect(gfx::RectF(inflated_bounds.x(), 241 gfx::ToEnclosingRect(gfx::RectF(inflated_bounds.x(),
238 inflated_bounds.y(), 242 inflated_bounds.y(),
239 inflated_bounds.width(), 243 inflated_bounds.width(),
240 inflated_bounds.height())))); 244 inflated_bounds.height()))));
241 } 245 }
242 } 246 }
243 247
244 } // namespace cc 248 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/layers/render_surface_impl.cc » ('j') | cc/trees/damage_tracker.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698