Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Side by Side Diff: Source/core/animation/css/CSSAnimations.cpp

Issue 1213063004: Rename animatable to interpolable in CSSProperties.in (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/animation/css/CSSAnimations.h ('k') | Source/core/css/CSSProperties.in » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 RefPtr<TimingFunction> timingFunction; 93 RefPtr<TimingFunction> timingFunction;
94 if (value->isInheritedValue() && parentStyle->animations()) { 94 if (value->isInheritedValue() && parentStyle->animations()) {
95 timingFunction = parentStyle->animations()->timingFunctionLi st()[0]; 95 timingFunction = parentStyle->animations()->timingFunctionLi st()[0];
96 } else if (value->isValueList()) { 96 } else if (value->isValueList()) {
97 timingFunction = CSSToStyleMap::mapAnimationTimingFunction(t oCSSValueList(value)->item(0)); 97 timingFunction = CSSToStyleMap::mapAnimationTimingFunction(t oCSSValueList(value)->item(0));
98 } else { 98 } else {
99 ASSERT(value->isCSSWideKeyword()); 99 ASSERT(value->isCSSWideKeyword());
100 timingFunction = CSSTimingData::initialTimingFunction(); 100 timingFunction = CSSTimingData::initialTimingFunction();
101 } 101 }
102 keyframe->setEasing(timingFunction.release()); 102 keyframe->setEasing(timingFunction.release());
103 } else if (CSSPropertyMetadata::isAnimatableProperty(property)) { 103 } else if (CSSPropertyMetadata::isInterpolableProperty(property)) {
104 // TODO(alancutter): We should allow animation of non-interpolab le properties as well.
105 // https://lists.w3.org/Archives/Public/www-style/2012Nov/0261.h tml
104 keyframe->setPropertyValue(property, properties.propertyAt(j).va lue()); 106 keyframe->setPropertyValue(property, properties.propertyAt(j).va lue());
105 } 107 }
106 } 108 }
107 keyframes.append(keyframe); 109 keyframes.append(keyframe);
108 // The last keyframe specified at a given offset is used. 110 // The last keyframe specified at a given offset is used.
109 for (size_t j = 1; j < offsets.size(); ++j) { 111 for (size_t j = 1; j < offsets.size(); ++j) {
110 keyframes.append(toStringKeyframe(keyframe->cloneWithOffset(offsets[ j]).get())); 112 keyframes.append(toStringKeyframe(keyframe->cloneWithOffset(offsets[ j]).get()));
111 } 113 }
112 } 114 }
113 115
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 bool animateAll = mode == CSSTransitionData::TransitionAll; 546 bool animateAll = mode == CSSTransitionData::TransitionAll;
545 ASSERT(animateAll || mode == CSSTransitionData::TransitionSingleProp erty); 547 ASSERT(animateAll || mode == CSSTransitionData::TransitionSingleProp erty);
546 if (animateAll) 548 if (animateAll)
547 anyTransitionHadTransitionAll = true; 549 anyTransitionHadTransitionAll = true;
548 const StylePropertyShorthand& propertyList = animateAll ? CSSAnimati ons::propertiesForTransitionAll() : shorthandForProperty(property); 550 const StylePropertyShorthand& propertyList = animateAll ? CSSAnimati ons::propertiesForTransitionAll() : shorthandForProperty(property);
549 // If not a shorthand we only execute one iteration of this loop, an d refer to the property directly. 551 // If not a shorthand we only execute one iteration of this loop, an d refer to the property directly.
550 for (unsigned j = 0; !j || j < propertyList.length(); ++j) { 552 for (unsigned j = 0; !j || j < propertyList.length(); ++j) {
551 CSSPropertyID id = propertyList.length() ? propertyList.properti es()[j] : property; 553 CSSPropertyID id = propertyList.length() ? propertyList.properti es()[j] : property;
552 554
553 if (!animateAll) { 555 if (!animateAll) {
554 if (CSSPropertyMetadata::isAnimatableProperty(id)) 556 if (CSSPropertyMetadata::isInterpolableProperty(id))
555 listedProperties.set(id); 557 listedProperties.set(id);
556 else 558 else
557 continue; 559 continue;
558 } 560 }
559 561
560 // FIXME: We should transition if an !important property changes even when an animation is running, 562 // FIXME: We should transition if an !important property changes even when an animation is running,
561 // but this is a bit hard to do with the current applyMatchedPro perties system. 563 // but this is a bit hard to do with the current applyMatchedPro perties system.
562 PropertyHandle property = PropertyHandle(id); 564 PropertyHandle property = PropertyHandle(id);
563 if (!update->activeInterpolationsForAnimations().contains(proper ty) 565 if (!update->activeInterpolationsForAnimations().contains(proper ty)
564 && (!elementAnimations || !elementAnimations->cssAnimations( ).m_previousActiveInterpolationsForAnimations.contains(property))) { 566 && (!elementAnimations || !elementAnimations->cssAnimations( ).m_previousActiveInterpolationsForAnimations.contains(property))) {
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
744 if (properties.isEmpty()) { 746 if (properties.isEmpty()) {
745 for (int i = firstCSSProperty; i < lastCSSProperty; ++i) { 747 for (int i = firstCSSProperty; i < lastCSSProperty; ++i) {
746 CSSPropertyID id = convertToCSSPropertyID(i); 748 CSSPropertyID id = convertToCSSPropertyID(i);
747 // Avoid creating overlapping transitions with perspective-origin an d transition-origin. 749 // Avoid creating overlapping transitions with perspective-origin an d transition-origin.
748 if (id == CSSPropertyWebkitPerspectiveOriginX 750 if (id == CSSPropertyWebkitPerspectiveOriginX
749 || id == CSSPropertyWebkitPerspectiveOriginY 751 || id == CSSPropertyWebkitPerspectiveOriginY
750 || id == CSSPropertyWebkitTransformOriginX 752 || id == CSSPropertyWebkitTransformOriginX
751 || id == CSSPropertyWebkitTransformOriginY 753 || id == CSSPropertyWebkitTransformOriginY
752 || id == CSSPropertyWebkitTransformOriginZ) 754 || id == CSSPropertyWebkitTransformOriginZ)
753 continue; 755 continue;
754 if (CSSPropertyMetadata::isAnimatableProperty(id)) 756 if (CSSPropertyMetadata::isInterpolableProperty(id))
755 properties.append(id); 757 properties.append(id);
756 } 758 }
757 propertyShorthand = StylePropertyShorthand(CSSPropertyInvalid, propertie s.begin(), properties.size()); 759 propertyShorthand = StylePropertyShorthand(CSSPropertyInvalid, propertie s.begin(), properties.size());
758 } 760 }
759 return propertyShorthand; 761 return propertyShorthand;
760 } 762 }
761 763
762 // KeyframeEffect properties are not allowed to be affected by Web Animations. 764 // Properties that affect animations are not allowed to be affected by animation s.
763 // http://dev.w3.org/fxtf/web-animations/#not-animatable 765 // http://w3c.github.io/web-animations/#not-animatable-section
764 bool CSSAnimations::isAllowedAnimation(CSSPropertyID property) 766 bool CSSAnimations::isAnimatableProperty(CSSPropertyID property)
765 { 767 {
766 switch (property) { 768 switch (property) {
767 case CSSPropertyAnimation: 769 case CSSPropertyAnimation:
768 case CSSPropertyAnimationDelay: 770 case CSSPropertyAnimationDelay:
769 case CSSPropertyAnimationDirection: 771 case CSSPropertyAnimationDirection:
770 case CSSPropertyAnimationDuration: 772 case CSSPropertyAnimationDuration:
771 case CSSPropertyAnimationFillMode: 773 case CSSPropertyAnimationFillMode:
772 case CSSPropertyAnimationIterationCount: 774 case CSSPropertyAnimationIterationCount:
773 case CSSPropertyAnimationName: 775 case CSSPropertyAnimationName:
774 case CSSPropertyAnimationPlayState: 776 case CSSPropertyAnimationPlayState:
(...skipping 27 matching lines...) Expand all
802 visitor->trace(m_activeInterpolationsForAnimations); 804 visitor->trace(m_activeInterpolationsForAnimations);
803 visitor->trace(m_activeInterpolationsForTransitions); 805 visitor->trace(m_activeInterpolationsForTransitions);
804 visitor->trace(m_newAnimations); 806 visitor->trace(m_newAnimations);
805 visitor->trace(m_suppressedAnimations); 807 visitor->trace(m_suppressedAnimations);
806 visitor->trace(m_animationsWithUpdates); 808 visitor->trace(m_animationsWithUpdates);
807 visitor->trace(m_animationsWithStyleUpdates); 809 visitor->trace(m_animationsWithStyleUpdates);
808 #endif 810 #endif
809 } 811 }
810 812
811 } // namespace blink 813 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/animation/css/CSSAnimations.h ('k') | Source/core/css/CSSProperties.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698