diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/animation/interpolable_length.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/animation/interpolable_length.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/chromium/third_party/blink/renderer/core/animation/interpolable_length.cc b/chromium/third_party/blink/renderer/core/animation/interpolable_length.cc index 08e6cc60d5a..4e958c4de06 100644 --- a/chromium/third_party/blink/renderer/core/animation/interpolable_length.cc +++ b/chromium/third_party/blink/renderer/core/animation/interpolable_length.cc @@ -204,8 +204,11 @@ static UnitType IndexToUnitType(wtf_size_t index) { Length InterpolableLength::CreateLength( const CSSToLengthConversionData& conversion_data, ValueRange range) const { + // Passing true for ToCalcValue is a dirty hack to ensure that we don't create + // a degenerate value when animating 'background-position', while we know it + // may cause some minor animation glitches for the other properties. if (IsExpression()) - return Length(expression_->ToCalcValue(conversion_data, range)); + return Length(expression_->ToCalcValue(conversion_data, range, true)); bool has_percentage = HasPercentage(); double pixels = 0; |