Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index 82eef41e66fb833e33d691cb51c73ff6a475629e..e6454b13e9f700449ba17e860b26b0160103b929 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -293,6 +293,9 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink, |
void PictureLayerImpl::UpdateTilePriorities() { |
DCHECK(!needs_post_commit_initialization_); |
+ if (!layer_tree_impl()->device_viewport_valid_for_tile_management()) |
enne (OOO)
2013/09/03 16:58:47
If you're going to early out here, can you also DC
aelias_OOO_until_Jul13
2013/09/03 19:52:09
Done.
|
+ return; |
+ |
if (!tilings_->num_tilings()) |
return; |
@@ -318,12 +321,13 @@ void PictureLayerImpl::UpdateTilePriorities() { |
gfx::Transform current_screen_space_transform = screen_space_transform(); |
+ gfx::Size device_viewport_size = layer_tree_impl()->DeviceViewport().size(); |
enne (OOO)
2013/09/03 16:58:47
Can you either use DeviceViewport() directly witho
aelias_OOO_until_Jul13
2013/09/03 19:52:09
This is a pretty subtle question but I've convince
enne (OOO)
2013/09/03 21:47:31
Aha! Thanks, I really appreciate the explanation
aelias_OOO_until_Jul13
2013/09/04 01:22:23
OK, I went with "DrawViewportSize" and "DeviceView
|
gfx::Rect viewport_in_content_space; |
gfx::Transform screen_to_layer(gfx::Transform::kSkipInitialization); |
if (screen_space_transform().GetInverse(&screen_to_layer)) { |
- gfx::Rect device_viewport(layer_tree_impl()->device_viewport_size()); |
- viewport_in_content_space = gfx::ToEnclosingRect( |
- MathUtil::ProjectClippedRect(screen_to_layer, device_viewport)); |
+ viewport_in_content_space = |
+ gfx::ToEnclosingRect(MathUtil::ProjectClippedRect( |
+ screen_to_layer, gfx::Rect(device_viewport_size))); |
} |
WhichTree tree = |
@@ -332,7 +336,7 @@ void PictureLayerImpl::UpdateTilePriorities() { |
layer_tree_impl()->settings().max_tiles_for_interest_area; |
tilings_->UpdateTilePriorities( |
tree, |
- layer_tree_impl()->device_viewport_size(), |
+ device_viewport_size, |
viewport_in_content_space, |
visible_content_rect(), |
last_bounds_, |