| 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/PropertyInterpolationTypesMapping.h" | 5 #include "core/animation/PropertyInterpolationTypesMapping.h" |
| 6 | 6 |
| 7 #include "core/HTMLNames.h" | 7 #include "core/HTMLNames.h" |
| 8 #include "core/animation/CSSBasicShapeInterpolationType.h" | 8 #include "core/animation/CSSBasicShapeInterpolationType.h" |
| 9 #include "core/animation/CSSBorderImageLengthBoxInterpolationType.h" | 9 #include "core/animation/CSSBorderImageLengthBoxInterpolationType.h" |
| 10 #include "core/animation/CSSClipInterpolationType.h" | 10 #include "core/animation/CSSClipInterpolationType.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 if (entry != applicableTypesMap.end()) | 63 if (entry != applicableTypesMap.end()) |
| 64 return *entry->value.get(); | 64 return *entry->value.get(); |
| 65 | 65 |
| 66 std::unique_ptr<InterpolationTypes> applicableTypes = | 66 std::unique_ptr<InterpolationTypes> applicableTypes = |
| 67 wrapUnique(new InterpolationTypes()); | 67 wrapUnique(new InterpolationTypes()); |
| 68 | 68 |
| 69 if (property.isCSSProperty() || property.isPresentationAttribute()) { | 69 if (property.isCSSProperty() || property.isPresentationAttribute()) { |
| 70 CSSPropertyID cssProperty = property.isCSSProperty() | 70 CSSPropertyID cssProperty = property.isCSSProperty() |
| 71 ? property.cssProperty() | 71 ? property.cssProperty() |
| 72 : property.presentationAttribute(); | 72 : property.presentationAttribute(); |
| 73 // We treat presentation attributes identically to their CSS property equiva
lents when interpolating. | 73 // We treat presentation attributes identically to their CSS property |
| 74 // equivalents when interpolating. |
| 74 PropertyHandle usedProperty = | 75 PropertyHandle usedProperty = |
| 75 property.isCSSProperty() ? property : PropertyHandle(cssProperty); | 76 property.isCSSProperty() ? property : PropertyHandle(cssProperty); |
| 76 switch (cssProperty) { | 77 switch (cssProperty) { |
| 77 case CSSPropertyBaselineShift: | 78 case CSSPropertyBaselineShift: |
| 78 case CSSPropertyBorderBottomWidth: | 79 case CSSPropertyBorderBottomWidth: |
| 79 case CSSPropertyBorderLeftWidth: | 80 case CSSPropertyBorderLeftWidth: |
| 80 case CSSPropertyBorderRightWidth: | 81 case CSSPropertyBorderRightWidth: |
| 81 case CSSPropertyBorderTopWidth: | 82 case CSSPropertyBorderTopWidth: |
| 82 case CSSPropertyBottom: | 83 case CSSPropertyBottom: |
| 83 case CSSPropertyCx: | 84 case CSSPropertyCx: |
| (...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 420 | 421 |
| 421 applicableTypes->append( | 422 applicableTypes->append( |
| 422 wrapUnique(new SVGValueInterpolationType(attribute))); | 423 wrapUnique(new SVGValueInterpolationType(attribute))); |
| 423 } | 424 } |
| 424 | 425 |
| 425 auto addResult = applicableTypesMap.add(property, std::move(applicableTypes)); | 426 auto addResult = applicableTypesMap.add(property, std::move(applicableTypes)); |
| 426 return *addResult.storedValue->value.get(); | 427 return *addResult.storedValue->value.get(); |
| 427 } | 428 } |
| 428 | 429 |
| 429 } // namespace blink | 430 } // namespace blink |
| OLD | NEW |