Changeset 263481 in webkit
- Timestamp:
- Jun 24, 2020 4:04:43 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r263480 r263481 1 2020-06-24 Jason Lawrence <lawrence.j@apple.com> 2 3 Unreviewed, reverting r263466. 4 5 This commit caused 50+ crashes on multiple queues internally. 6 7 Reverted changeset: 8 9 "REGRESSION (r260360): easing curves are broken on JS- 10 originated animations" 11 https://bugs.webkit.org/show_bug.cgi?id=213495 12 https://trac.webkit.org/changeset/263466 13 1 14 2020-06-24 Wenson Hsieh <wenson_hsieh@apple.com> 2 15 -
trunk/Source/WebCore/ChangeLog
r263480 r263481 1 2020-06-24 Jason Lawrence <lawrence.j@apple.com> 2 3 Unreviewed, reverting r263466. 4 5 This commit caused 50+ crashes on multiple queues internally. 6 7 Reverted changeset: 8 9 "REGRESSION (r260360): easing curves are broken on JS- 10 originated animations" 11 https://bugs.webkit.org/show_bug.cgi?id=213495 12 https://trac.webkit.org/changeset/263466 13 1 14 2020-06-24 Wenson Hsieh <wenson_hsieh@apple.com> 2 15 -
trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
r263466 r263481 42 42 #include "Region.h" 43 43 #include "RotateTransformOperation.h" 44 #include "RuntimeEnabledFeatures.h"45 44 #include "ScaleTransformOperation.h" 46 45 #include "TiledBacking.h" … … 3075 3074 } 3076 3075 3077 static bool isKeyframe(const KeyframeValueList& list)3078 {3079 if (RuntimeEnabledFeatures::sharedFeatures().webAnimationsCSSIntegrationEnabled())3080 return list.size() > 1;3081 return list.size() > 2;3082 }3083 3084 3076 bool GraphicsLayerCA::createAnimationFromKeyframes(const KeyframeValueList& valueList, const Animation* animation, const String& animationName, Seconds timeOffset) 3085 3077 { 3086 3078 ASSERT(valueList.property() != AnimatedPropertyTransform && (!supportsAcceleratedFilterAnimations() || valueList.property() != AnimatedPropertyFilter)); 3087 3079 3080 bool isKeyframe = valueList.size() > 2; 3088 3081 bool valuesOK; 3089 3082 … … 3093 3086 RefPtr<PlatformCAAnimation> caAnimation; 3094 3087 3095 if (isKeyframe (valueList)) {3088 if (isKeyframe) { 3096 3089 caAnimation = createKeyframeAnimation(animation, propertyIdToString(valueList.property()), additive); 3097 3090 valuesOK = setAnimationKeyframes(valueList, animation, caAnimation.get()); … … 3121 3114 bool additive = animationIndex < numAnimations - 1; 3122 3115 #endif 3116 bool isKeyframe = valueList.size() > 2; 3123 3117 3124 3118 RefPtr<PlatformCAAnimation> caAnimation; 3125 3119 bool validMatrices = true; 3126 if (isKeyframe (valueList)) {3120 if (isKeyframe) { 3127 3121 caAnimation = createKeyframeAnimation(animation, propertyIdToString(valueList.property()), additive); 3128 3122 validMatrices = setTransformAnimationKeyframes(valueList, animation, caAnimation.get(), animationIndex, transformOp, isMatrixAnimation, boxSize); … … 3173 3167 bool GraphicsLayerCA::appendToUncommittedAnimations(const KeyframeValueList& valueList, const FilterOperation* operation, const Animation* animation, const String& animationName, int animationIndex, Seconds timeOffset) 3174 3168 { 3169 bool isKeyframe = valueList.size() > 2; 3170 3175 3171 FilterOperation::OperationType filterOp = operation->type(); 3176 3172 int numAnimatedProperties = PlatformCAFilters::numAnimatedFilterProperties(filterOp); … … 3188 3184 String keyPath = makeString("filters.filter_", animationIndex, '.', PlatformCAFilters::animatedFilterPropertyName(filterOp, internalFilterPropertyIndex)); 3189 3185 3190 if (isKeyframe (valueList)) {3186 if (isKeyframe) { 3191 3187 caAnimation = createKeyframeAnimation(animation, keyPath, false); 3192 3188 valuesOK = setFilterAnimationKeyframes(valueList, animation, caAnimation.get(), animationIndex, internalFilterPropertyIndex, filterOp); … … 3329 3325 propertyAnim->setAdditive(additive); 3330 3326 propertyAnim->setFillMode(fillMode); 3331 3332 if (RuntimeEnabledFeatures::sharedFeatures().webAnimationsCSSIntegrationEnabled())3333 propertyAnim->setTimingFunction(anim->timingFunction());3334 3327 } 3335 3328 3336 3329 const TimingFunction& GraphicsLayerCA::timingFunctionForAnimationValue(const AnimationValue& animValue, const Animation& anim) 3337 3330 { 3338 if (RuntimeEnabledFeatures::sharedFeatures().webAnimationsCSSIntegrationEnabled()) {3339 if (animValue.timingFunction())3340 return *animValue.timingFunction();3341 return LinearTimingFunction::create();3342 }3343 3344 3331 if (animValue.timingFunction()) 3345 3332 return *animValue.timingFunction(); … … 3369 3356 // This codepath is used for 2-keyframe animations, so we still need to look in the start 3370 3357 // for a timing function. Even in the reversing animation case, the first keyframe provides the timing function. 3371 if (!RuntimeEnabledFeatures::sharedFeatures().webAnimationsCSSIntegrationEnabled()) 3372 basicAnim->setTimingFunction(&timingFunctionForAnimationValue(valueList.at(0), *animation), !forwards); 3358 basicAnim->setTimingFunction(&timingFunctionForAnimationValue(valueList.at(0), *animation), !forwards); 3373 3359 3374 3360 return true; … … 3463 3449 // This codepath is used for 2-keyframe animations, so we still need to look in the start 3464 3450 // for a timing function. Even in the reversing animation case, the first keyframe provides the timing function. 3465 if (!RuntimeEnabledFeatures::sharedFeatures().webAnimationsCSSIntegrationEnabled()) 3466 basicAnim->setTimingFunction(&timingFunctionForAnimationValue(valueList.at(0), *animation), !forwards); 3451 basicAnim->setTimingFunction(&timingFunctionForAnimationValue(valueList.at(0), *animation), !forwards); 3467 3452 3468 3453 auto valueFunction = getValueFunctionNameForTransformOperation(transformOpType); … … 3574 3559 // This codepath is used for 2-keyframe animations, so we still need to look in the start 3575 3560 // for a timing function. Even in the reversing animation case, the first keyframe provides the timing function. 3576 if (!RuntimeEnabledFeatures::sharedFeatures().webAnimationsCSSIntegrationEnabled()) 3577 basicAnim->setTimingFunction(&timingFunctionForAnimationValue(valueList.at(0), *animation), !forwards); 3561 basicAnim->setTimingFunction(&timingFunctionForAnimationValue(valueList.at(0), *animation), !forwards); 3578 3562 3579 3563 return true;
Note: See TracChangeset
for help on using the changeset viewer.