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

Unified Diff: cc/delegated_renderer_layer_impl.cc

Issue 12310179: cc: Without valid frame, delegated renderer layer is not drawable (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: morecleanup Created 7 years, 10 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/delegated_renderer_layer.cc ('k') | cc/layer_tree_host_unittest_delegated.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/delegated_renderer_layer_impl.cc
diff --git a/cc/delegated_renderer_layer_impl.cc b/cc/delegated_renderer_layer_impl.cc
index a8cdd549d1fbbe70d8165d28aa903c8e479606e9..db32adbad188358dea051d037b989e5c1216bc56 100644
--- a/cc/delegated_renderer_layer_impl.cc
+++ b/cc/delegated_renderer_layer_impl.cc
@@ -44,25 +44,14 @@ void DelegatedRendererLayerImpl::SetFrameData(
// Display size is already set so we can compute what the damage rect
// will be in layer space.
- RenderPass* new_root_pass = frame_data->render_pass_list.empty() ?
- NULL : frame_data->render_pass_list.back();
- bool new_frame_is_empty = !new_root_pass;
-
- RenderPass* old_root_pass = render_passes_in_draw_order_.empty() ?
- NULL : render_passes_in_draw_order_.back();
- bool old_frame_is_empty = !old_root_pass;
-
- gfx::RectF damage_in_layer;
- if (new_frame_is_empty) {
- if (!old_frame_is_empty)
- damage_in_layer = gfx::Rect(bounds());
- } else {
+ if (!frame_data->render_pass_list.empty()) {
+ RenderPass* new_root_pass = frame_data->render_pass_list.back();
DCHECK(!new_root_pass->output_rect.IsEmpty());
- damage_in_layer = MathUtil::mapClippedRect(
+ gfx::RectF damage_in_layer = MathUtil::mapClippedRect(
DelegatedFrameToLayerSpaceTransform(new_root_pass->output_rect.size()),
damage_in_frame);
+ setUpdateRect(gfx::UnionRects(updateRect(), damage_in_layer));
}
- setUpdateRect(gfx::UnionRects(updateRect(), damage_in_layer));
// TODO(danakj): Convert the resource ids the render passes and return data
// for a frame ack.
« no previous file with comments | « cc/delegated_renderer_layer.cc ('k') | cc/layer_tree_host_unittest_delegated.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698