Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index 3a9bdd9af3e651b105e589c058bda8d530a96d50..8d44b419c7e78fa2bde85bb0d31b11ebc3fd903c 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -483,14 +483,15 @@ void PictureLayerImpl::UpdateTilePriorities( |
if (!tiling_needs_update) |
return; |
- gfx::Rect visible_layer_rect = GetViewportForTilePriorityInContentSpace(); |
+ gfx::Rect viewport_rect_in_layer_space = |
+ GetViewportForTilePriorityInContentSpace(); |
WhichTree tree = |
layer_tree_impl()->IsActiveTree() ? ACTIVE_TREE : PENDING_TREE; |
for (size_t i = 0; i < tilings_->num_tilings(); ++i) { |
// Pass |occlusion_in_content_space| for |occlusion_in_layer_space| since |
// they are the same space in picture lbayer, as contents scale is always 1. |
tilings_->tiling_at(i)->UpdateTilePriorities(tree, |
- visible_layer_rect, |
+ viewport_rect_in_layer_space, |
ideal_contents_scale_, |
current_frame_time_in_seconds, |
occlusion_in_content_space); |
@@ -516,12 +517,8 @@ gfx::Rect PictureLayerImpl::GetViewportForTilePriorityInContentSpace() const { |
visible_rect_in_content_space = |
gfx::ToEnclosingRect(MathUtil::ProjectClippedRect( |
view_to_layer, viewport_rect_for_tile_priority_)); |
- |
- visible_rect_in_content_space.Intersect(gfx::Rect(content_bounds())); |
} |
} |
- |
- visible_rect_in_content_space.Intersect(visible_content_rect()); |
return visible_rect_in_content_space; |
} |
@@ -790,6 +787,7 @@ void PictureLayerImpl::MarkVisibleResourcesAsRequired() const { |
// can be independently overridden by embedders like Android WebView with |
// SetExternalDrawConstraints. |
gfx::Rect rect = GetViewportForTilePriorityInContentSpace(); |
+ rect.Intersect(visible_content_rect()); |
float min_acceptable_scale = |
std::min(raster_contents_scale_, ideal_contents_scale_); |