зеркало из https://github.com/mozilla/gecko-dev.git
46d04e2219
In SMIL if a discrete calcMode is used, the keyTimes attribute may be used to specify the times at which the various animation values are used, overriding the regular 50% flip behavior (see nsSMILAnimationFunction::ScaleSimpleProgress). However, this behavior is only applied when the calcMode is known to be discrete. If the author specifies calcMode="linear" but attributeType="stroke-linecap" then SMIL should fall back to discrete calcMode including applying the special keyTimes behavior. For the Servo backend, Servo_AnimationValues_Interpolate does not return an error for discretely animated properties so SMIL does not recognize when we fall back to discrete calcMode. This patch adds a check before performing interpolation that tests if the property is a discretely interpolable one and, if it is, returns an error so that we run SMIL's special discrete calcMode handling. MozReview-Commit-ID: FOp8XcNbvdu --HG-- extra : rebase_source : 57ddb333855de111aa585fe894e99937681e5cd2 |
||
---|---|---|
.. | ||
crashtests | ||
test | ||
SMILBoolType.cpp | ||
SMILBoolType.h | ||
SMILEnumType.cpp | ||
SMILEnumType.h | ||
SMILIntegerType.cpp | ||
SMILIntegerType.h | ||
SMILStringType.cpp | ||
SMILStringType.h | ||
TimeEvent.cpp | ||
TimeEvent.h | ||
moz.build | ||
nsISMILAttr.h | ||
nsISMILType.h | ||
nsSMILAnimationController.cpp | ||
nsSMILAnimationController.h | ||
nsSMILAnimationFunction.cpp | ||
nsSMILAnimationFunction.h | ||
nsSMILCSSProperty.cpp | ||
nsSMILCSSProperty.h | ||
nsSMILCSSValueType.cpp | ||
nsSMILCSSValueType.h | ||
nsSMILCompositor.cpp | ||
nsSMILCompositor.h | ||
nsSMILCompositorTable.h | ||
nsSMILFloatType.cpp | ||
nsSMILFloatType.h | ||
nsSMILInstanceTime.cpp | ||
nsSMILInstanceTime.h | ||
nsSMILInterval.cpp | ||
nsSMILInterval.h | ||
nsSMILKeySpline.cpp | ||
nsSMILKeySpline.h | ||
nsSMILMilestone.h | ||
nsSMILNullType.cpp | ||
nsSMILNullType.h | ||
nsSMILParserUtils.cpp | ||
nsSMILParserUtils.h | ||
nsSMILRepeatCount.cpp | ||
nsSMILRepeatCount.h | ||
nsSMILSetAnimationFunction.cpp | ||
nsSMILSetAnimationFunction.h | ||
nsSMILTargetIdentifier.h | ||
nsSMILTimeContainer.cpp | ||
nsSMILTimeContainer.h | ||
nsSMILTimeValue.cpp | ||
nsSMILTimeValue.h | ||
nsSMILTimeValueSpec.cpp | ||
nsSMILTimeValueSpec.h | ||
nsSMILTimeValueSpecParams.h | ||
nsSMILTimedElement.cpp | ||
nsSMILTimedElement.h | ||
nsSMILTypes.h | ||
nsSMILValue.cpp | ||
nsSMILValue.h |