Chromium Code Reviews| Index: cc/layers/picture_layer_impl.cc |
| diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
| index eabfdc69b844f609b90de612f2c735facf69f134..55f4c39dddb9395856977b948ec83ee3a35332d8 100644 |
| --- a/cc/layers/picture_layer_impl.cc |
| +++ b/cc/layers/picture_layer_impl.cc |
| @@ -390,14 +390,6 @@ void PictureLayerImpl::UpdateTilePriorities() { |
| TRACE_EVENT0("cc", "PictureLayerImpl::UpdateTilePriorities"); |
| DoPostCommitInitializationIfNeeded(); |
| - UpdateIdealScales(); |
| - // TODO(sohanjg): Avoid needlessly update priorities when syncing to a |
| - // non-updated tree which will then be updated immediately afterwards. |
| - should_update_tile_priorities_ = true; |
| - if (CanHaveTilings()) { |
| - ManageTilings(draw_properties().screen_space_transform_is_animating, |
| - draw_properties().maximum_animation_contents_scale); |
| - } |
| if (layer_tree_impl()->device_viewport_valid_for_tile_management()) { |
| visible_rect_for_tile_priority_ = visible_content_rect(); |
| @@ -405,6 +397,23 @@ void PictureLayerImpl::UpdateTilePriorities() { |
| screen_space_transform_for_tile_priority_ = screen_space_transform(); |
| } |
| + if (!CanHaveTilings()) { |
| + ideal_page_scale_ = 0.f; |
| + ideal_device_scale_ = 0.f; |
| + ideal_contents_scale_ = 0.f; |
| + ideal_source_scale_ = 0.f; |
| + SanityCheckTilingState(); |
| + return; |
| + } |
| + |
| + // TODO(sohanjg): Avoid needlessly update priorities when syncing to a |
| + // non-updated tree which will then be updated immediately afterwards. |
| + should_update_tile_priorities_ = true; |
| + |
| + UpdateIdealScales(); |
| + ManageTilings(draw_properties().screen_space_transform_is_animating, |
| + draw_properties().maximum_animation_contents_scale); |
| + |
| if (!tilings_->num_tilings()) |
| return; |
| @@ -1165,7 +1174,7 @@ void PictureLayerImpl::CleanUpTilingsOnActiveLayer( |
| float twin_low_res_scale = 0.f; |
| PictureLayerImpl* twin = twin_layer_; |
| - if (twin) { |
| + if (twin && twin->CanHaveTilings()) { |
| min_acceptable_high_res_scale = std::min( |
| min_acceptable_high_res_scale, |
| std::min(twin->raster_contents_scale_, twin->ideal_contents_scale_)); |
| @@ -1288,15 +1297,6 @@ float PictureLayerImpl::MaximumTilingContentsScale() const { |
| } |
| void PictureLayerImpl::UpdateIdealScales() { |
| - if (!CanHaveTilings()) { |
|
enne (OOO)
2014/06/18 23:08:02
I kind of liked this code being in UpdateIdealScal
danakj
2014/06/19 01:03:52
ok, i can leave it there. I liked the idea of movi
|
| - ideal_page_scale_ = draw_properties().page_scale_factor; |
| - ideal_device_scale_ = draw_properties().device_scale_factor; |
| - ideal_contents_scale_ = draw_properties().ideal_contents_scale; |
| - ideal_source_scale_ = |
| - ideal_contents_scale_ / ideal_page_scale_ / ideal_device_scale_; |
| - return; |
| - } |
| - |
| float min_contents_scale = MinimumContentsScale(); |
| DCHECK_GT(min_contents_scale, 0.f); |
| float min_page_scale = layer_tree_impl()->min_page_scale_factor(); |