Changeset 263481 in webkit


Ignore:
Timestamp:
Jun 24, 2020 4:04:43 PM (4 years ago)
Author:
Jason_Lawrence
Message:

Unreviewed, reverting r263466.

This commit caused 50+ crashes on multiple queues internally.

Reverted changeset:

"REGRESSION (r260360): easing curves are broken on JS-
originated animations"
https://bugs.webkit.org/show_bug.cgi?id=213495
https://trac.webkit.org/changeset/263466

Location:
trunk
Files:
2 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r263480 r263481  
     12020-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
    1142020-06-24  Wenson Hsieh  <wenson_hsieh@apple.com>
    215
  • trunk/Source/WebCore/ChangeLog

    r263480 r263481  
     12020-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
    1142020-06-24  Wenson Hsieh  <wenson_hsieh@apple.com>
    215
  • trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp

    r263466 r263481  
    4242#include "Region.h"
    4343#include "RotateTransformOperation.h"
    44 #include "RuntimeEnabledFeatures.h"
    4544#include "ScaleTransformOperation.h"
    4645#include "TiledBacking.h"
     
    30753074}
    30763075
    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 
    30843076bool GraphicsLayerCA::createAnimationFromKeyframes(const KeyframeValueList& valueList, const Animation* animation, const String& animationName, Seconds timeOffset)
    30853077{
    30863078    ASSERT(valueList.property() != AnimatedPropertyTransform && (!supportsAcceleratedFilterAnimations() || valueList.property() != AnimatedPropertyFilter));
    30873079
     3080    bool isKeyframe = valueList.size() > 2;
    30883081    bool valuesOK;
    30893082   
     
    30933086    RefPtr<PlatformCAAnimation> caAnimation;
    30943087
    3095     if (isKeyframe(valueList)) {
     3088    if (isKeyframe) {
    30963089        caAnimation = createKeyframeAnimation(animation, propertyIdToString(valueList.property()), additive);
    30973090        valuesOK = setAnimationKeyframes(valueList, animation, caAnimation.get());
     
    31213114    bool additive = animationIndex < numAnimations - 1;
    31223115#endif
     3116    bool isKeyframe = valueList.size() > 2;
    31233117
    31243118    RefPtr<PlatformCAAnimation> caAnimation;
    31253119    bool validMatrices = true;
    3126     if (isKeyframe(valueList)) {
     3120    if (isKeyframe) {
    31273121        caAnimation = createKeyframeAnimation(animation, propertyIdToString(valueList.property()), additive);
    31283122        validMatrices = setTransformAnimationKeyframes(valueList, animation, caAnimation.get(), animationIndex, transformOp, isMatrixAnimation, boxSize);
     
    31733167bool GraphicsLayerCA::appendToUncommittedAnimations(const KeyframeValueList& valueList, const FilterOperation* operation, const Animation* animation, const String& animationName, int animationIndex, Seconds timeOffset)
    31743168{
     3169    bool isKeyframe = valueList.size() > 2;
     3170   
    31753171    FilterOperation::OperationType filterOp = operation->type();
    31763172    int numAnimatedProperties = PlatformCAFilters::numAnimatedFilterProperties(filterOp);
     
    31883184        String keyPath = makeString("filters.filter_", animationIndex, '.', PlatformCAFilters::animatedFilterPropertyName(filterOp, internalFilterPropertyIndex));
    31893185       
    3190         if (isKeyframe(valueList)) {
     3186        if (isKeyframe) {
    31913187            caAnimation = createKeyframeAnimation(animation, keyPath, false);
    31923188            valuesOK = setFilterAnimationKeyframes(valueList, animation, caAnimation.get(), animationIndex, internalFilterPropertyIndex, filterOp);
     
    33293325    propertyAnim->setAdditive(additive);
    33303326    propertyAnim->setFillMode(fillMode);
    3331 
    3332     if (RuntimeEnabledFeatures::sharedFeatures().webAnimationsCSSIntegrationEnabled())
    3333         propertyAnim->setTimingFunction(anim->timingFunction());
    33343327}
    33353328
    33363329const TimingFunction& GraphicsLayerCA::timingFunctionForAnimationValue(const AnimationValue& animValue, const Animation& anim)
    33373330{
    3338     if (RuntimeEnabledFeatures::sharedFeatures().webAnimationsCSSIntegrationEnabled()) {
    3339         if (animValue.timingFunction())
    3340             return *animValue.timingFunction();
    3341         return LinearTimingFunction::create();
    3342     }
    3343 
    33443331    if (animValue.timingFunction())
    33453332        return *animValue.timingFunction();
     
    33693356    // This codepath is used for 2-keyframe animations, so we still need to look in the start
    33703357    // 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);
    33733359
    33743360    return true;
     
    34633449    // This codepath is used for 2-keyframe animations, so we still need to look in the start
    34643450    // 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);
    34673452
    34683453    auto valueFunction = getValueFunctionNameForTransformOperation(transformOpType);
     
    35743559    // This codepath is used for 2-keyframe animations, so we still need to look in the start
    35753560    // 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);
    35783562
    35793563    return true;
Note: See TracChangeset for help on using the changeset viewer.