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 |