| OLD | NEW | 
|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "core/animation/LengthInterpolationFunctions.h" | 5 #include "core/animation/LengthInterpolationFunctions.h" | 
| 6 | 6 | 
| 7 #include "core/css/CSSPrimitiveValue.h" | 7 #include "core/css/CSSPrimitiveValue.h" | 
| 8 #include "core/css/CSSToLengthConversionData.h" | 8 #include "core/css/CSSToLengthConversionData.h" | 
| 9 #include "platform/CalculationValue.h" | 9 #include "platform/CalculationValue.h" | 
| 10 | 10 | 
| 11 namespace blink { | 11 namespace blink { | 
| 12 | 12 | 
| 13 // This class is implemented as a singleton whose instance represents the presen
     ce of percentages being used in a Length value | 13 // This class is implemented as a singleton whose instance represents the | 
| 14 // while nullptr represents the absence of any percentages. | 14 // presence of percentages being used in a Length value while nullptr represents | 
|  | 15 // the absence of any percentages. | 
| 15 class CSSLengthNonInterpolableValue : public NonInterpolableValue { | 16 class CSSLengthNonInterpolableValue : public NonInterpolableValue { | 
| 16  public: | 17  public: | 
| 17   ~CSSLengthNonInterpolableValue() final { NOTREACHED(); } | 18   ~CSSLengthNonInterpolableValue() final { NOTREACHED(); } | 
| 18   static PassRefPtr<CSSLengthNonInterpolableValue> create(bool hasPercentage) { | 19   static PassRefPtr<CSSLengthNonInterpolableValue> create(bool hasPercentage) { | 
| 19     DEFINE_STATIC_REF(CSSLengthNonInterpolableValue, singleton, | 20     DEFINE_STATIC_REF(CSSLengthNonInterpolableValue, singleton, | 
| 20                       adoptRef(new CSSLengthNonInterpolableValue())); | 21                       adoptRef(new CSSLengthNonInterpolableValue())); | 
| 21     DCHECK(singleton); | 22     DCHECK(singleton); | 
| 22     return hasPercentage ? singleton : nullptr; | 23     return hasPercentage ? singleton : nullptr; | 
| 23   } | 24   } | 
| 24   static PassRefPtr<CSSLengthNonInterpolableValue> merge( | 25   static PassRefPtr<CSSLengthNonInterpolableValue> merge( | 
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 189     return Length( | 190     return Length( | 
| 190         CalculationValue::create(PixelsAndPercent(pixels, percentage), range)); | 191         CalculationValue::create(PixelsAndPercent(pixels, percentage), range)); | 
| 191   if (hasPercentage) | 192   if (hasPercentage) | 
| 192     return Length(clampToRange(percentage, range), Percent); | 193     return Length(clampToRange(percentage, range), Percent); | 
| 193   return Length( | 194   return Length( | 
| 194       CSSPrimitiveValue::clampToCSSLengthRange(clampToRange(pixels, range)), | 195       CSSPrimitiveValue::clampToCSSLengthRange(clampToRange(pixels, range)), | 
| 195       Fixed); | 196       Fixed); | 
| 196 } | 197 } | 
| 197 | 198 | 
| 198 }  // namespace blink | 199 }  // namespace blink | 
| OLD | NEW | 
|---|