| Index: cc/layers/picture_layer_impl.cc
|
| diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
|
| index 732b822aa8b78486622b95429e3d29e35c7b14cd..0849c516bab58e63b183c957eb877e748f85187a 100644
|
| --- a/cc/layers/picture_layer_impl.cc
|
| +++ b/cc/layers/picture_layer_impl.cc
|
| @@ -69,7 +69,6 @@ PictureLayerImpl::PictureLayerImpl(
|
| raster_source_scale_(0.f),
|
| raster_contents_scale_(0.f),
|
| low_res_raster_contents_scale_(0.f),
|
| - raster_source_scale_is_fixed_(false),
|
| was_screen_space_transform_animating_(false),
|
| only_used_low_res_last_append_quads_(false),
|
| is_mask_(is_mask),
|
| @@ -890,10 +889,8 @@ bool PictureLayerImpl::ShouldAdjustRasterScale() const {
|
| if (raster_device_scale_ != ideal_device_scale_)
|
| return true;
|
|
|
| - // When the source scale changes we want to match it, but not when animating
|
| - // or when we've fixed the scale in place.
|
| + // When the source scale changes we want to match it, but not when animating.
|
| if (!draw_properties().screen_space_transform_is_animating &&
|
| - !raster_source_scale_is_fixed_ &&
|
| raster_source_scale_ != ideal_source_scale_)
|
| return true;
|
|
|
| @@ -934,33 +931,14 @@ void PictureLayerImpl::AddLowResolutionTilingIfNeeded() {
|
| }
|
|
|
| void PictureLayerImpl::RecalculateRasterScales() {
|
| - float old_raster_contents_scale = raster_contents_scale_;
|
| - float old_raster_page_scale = raster_page_scale_;
|
| - float old_raster_source_scale = raster_source_scale_;
|
| + const float old_raster_contents_scale = raster_contents_scale_;
|
| + const float old_raster_page_scale = raster_page_scale_;
|
|
|
| raster_device_scale_ = ideal_device_scale_;
|
| raster_page_scale_ = ideal_page_scale_;
|
| raster_source_scale_ = ideal_source_scale_;
|
| raster_contents_scale_ = ideal_contents_scale_;
|
|
|
| - // If we're not animating, or leaving an animation, and the
|
| - // ideal_source_scale_ changes, then things are unpredictable, and we fix
|
| - // the raster_source_scale_ in place.
|
| - if (old_raster_source_scale &&
|
| - !draw_properties().screen_space_transform_is_animating &&
|
| - !was_screen_space_transform_animating_ &&
|
| - old_raster_source_scale != ideal_source_scale_)
|
| - raster_source_scale_is_fixed_ = true;
|
| -
|
| - // TODO(danakj): Adjust raster source scale closer to ideal source scale at
|
| - // a throttled rate. Possibly make use of invalidation_.IsEmpty() on pending
|
| - // tree. This will allow CSS scale changes to get re-rastered at an
|
| - // appropriate rate. (crbug.com/413636)
|
| - if (raster_source_scale_is_fixed_) {
|
| - raster_contents_scale_ /= raster_source_scale_;
|
| - raster_source_scale_ = 1.f;
|
| - }
|
| -
|
| // During pinch we completely ignore the current ideal scale, and just use
|
| // a multiple of the previous scale.
|
| bool is_pinching = layer_tree_impl()->PinchGestureActive();
|
| @@ -1129,7 +1107,6 @@ void PictureLayerImpl::ResetRasterScale() {
|
| raster_source_scale_ = 0.f;
|
| raster_contents_scale_ = 0.f;
|
| low_res_raster_contents_scale_ = 0.f;
|
| - raster_source_scale_is_fixed_ = false;
|
| }
|
|
|
| bool PictureLayerImpl::CanHaveTilings() const {
|
| @@ -1213,6 +1190,7 @@ void PictureLayerImpl::AsValueInto(
|
| base::trace_event::TracedValue* state) const {
|
| LayerImpl::AsValueInto(state);
|
| state->SetDouble("ideal_contents_scale", ideal_contents_scale_);
|
| + state->SetDouble("raster_contents_scale", raster_contents_scale_);
|
| state->SetDouble("geometry_contents_scale", MaximumTilingContentsScale());
|
| state->BeginArray("tilings");
|
| tilings_->AsValueInto(state);
|
|
|