| Index: cc/trees/layer_tree_host_impl.cc
|
| diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
|
| index 17a3e6102ef677d8f9d6c6b16425fc630682d05a..c05b3983d518c0a50ade6b90f2449def4be6e971 100644
|
| --- a/cc/trees/layer_tree_host_impl.cc
|
| +++ b/cc/trees/layer_tree_host_impl.cc
|
| @@ -241,7 +241,8 @@ LayerTreeHostImpl::LayerTreeHostImpl(
|
| id_(id),
|
| requires_high_res_to_draw_(false),
|
| is_likely_to_require_a_draw_(false),
|
| - mutator_(nullptr) {
|
| + mutator_(nullptr),
|
| + has_fixed_raster_scale_blurry_content_(false) {
|
| animation_host_ = AnimationHost::Create(ThreadInstance::IMPL);
|
| animation_host_->SetMutatorHostClient(this);
|
| animation_host_->SetSupportsScrollAnimations(SupportsImplScrolling());
|
| @@ -354,6 +355,9 @@ void LayerTreeHostImpl::CommitComplete() {
|
| UpdateTreeResourcesForGpuRasterizationIfNeeded();
|
| sync_tree()->set_needs_update_draw_properties();
|
|
|
| + // Advance the attempted scale change history before updaring draw properties.
|
| + fixed_raster_scale_attempted_scale_change_history_ <<= 1;
|
| +
|
| // We need an update immediately post-commit to have the opportunity to create
|
| // tilings. Because invalidations may be coming from the main thread, it's
|
| // safe to do an update for lcd text at this point and see if lcd text needs
|
| @@ -3958,4 +3962,14 @@ bool LayerTreeHostImpl::CommitToActiveTree() const {
|
| return !task_runner_provider_->HasImplThread();
|
| }
|
|
|
| +bool LayerTreeHostImpl::HasFixedRasterScalePotentialPerformanceRegression()
|
| + const {
|
| + return fixed_raster_scale_attempted_scale_change_history_.count() >=
|
| + kFixedRasterScaleAttemptedScaleChangeThreshold;
|
| +}
|
| +
|
| +void LayerTreeHostImpl::SetFixedRasterScaleAttemptedToChangeScale() {
|
| + fixed_raster_scale_attempted_scale_change_history_.set(0);
|
| +}
|
| +
|
| } // namespace cc
|
|
|