Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index 04ac9ad59a79c3a74c35881d8e1e9a5ed4096ee6..6b39260e6281e190e474e9d642a9ba91fe011f47 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -413,11 +413,6 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, |
} |
bool PictureLayerImpl::UpdateTiles(bool resourceless_software_draw) { |
- if (!resourceless_software_draw) { |
- visible_rect_for_tile_priority_ = visible_layer_rect(); |
- screen_space_transform_for_tile_priority_ = ScreenSpaceTransform(); |
- } |
- |
if (!CanHaveTilings()) { |
ideal_page_scale_ = 0.f; |
ideal_device_scale_ = 0.f; |
@@ -435,6 +430,9 @@ bool PictureLayerImpl::UpdateTiles(bool resourceless_software_draw) { |
if (layer_tree_impl()->IsActiveTree()) |
CleanUpTilingsOnActiveLayer(last_append_quads_tilings_); |
+ if (resourceless_software_draw) |
+ return false; |
+ |
UpdateIdealScales(); |
if (!raster_contents_scale_ || ShouldAdjustRasterScale()) { |
@@ -494,17 +492,17 @@ bool PictureLayerImpl::UpdateTiles(bool resourceless_software_draw) { |
} |
void PictureLayerImpl::UpdateViewportRectForTilePriorityInContentSpace() { |
- // If visible_rect_for_tile_priority_ is empty or |
- // viewport_rect_for_tile_priority is set to be different from the device |
- // viewport, try to inverse project the viewport into layer space and use |
- // that. Otherwise just use visible_rect_for_tile_priority_ |
- gfx::Rect visible_rect_in_content_space = visible_rect_for_tile_priority_; |
+ // If visible_layer_rect() is empty or viewport_rect_for_tile_priority is |
+ // set to be different from the device viewport, try to inverse project the |
+ // viewport into layer space and use that. Otherwise just use |
+ // visible_layer_rect(). |
+ gfx::Rect visible_rect_in_content_space = visible_layer_rect(); |
gfx::Rect viewport_rect_for_tile_priority = |
layer_tree_impl()->ViewportRectForTilePriority(); |
if (visible_rect_in_content_space.IsEmpty() || |
layer_tree_impl()->DeviceViewport() != viewport_rect_for_tile_priority) { |
gfx::Transform view_to_layer(gfx::Transform::kSkipInitialization); |
- if (screen_space_transform_for_tile_priority_.GetInverse(&view_to_layer)) { |
+ if (ScreenSpaceTransform().GetInverse(&view_to_layer)) { |
// Transform from view space to content space. |
visible_rect_in_content_space = MathUtil::ProjectEnclosingClippedRect( |
view_to_layer, viewport_rect_for_tile_priority); |