| Index: third_party/polymer/components/web-animations-js/src/keyframe-effect.js
|
| diff --git a/third_party/polymer/components/web-animations-js/src/keyframe-effect.js b/third_party/polymer/components/web-animations-js/src/keyframe-effect.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7775d5852b973d7abe223bf42a3a33cc4d5f86b7
|
| --- /dev/null
|
| +++ b/third_party/polymer/components/web-animations-js/src/keyframe-effect.js
|
| @@ -0,0 +1,57 @@
|
| +// Copyright 2014 Google Inc. All rights reserved.
|
| +//
|
| +// Licensed under the Apache License, Version 2.0 (the "License");
|
| +// you may not use this file except in compliance with the License.
|
| +// You may obtain a copy of the License at
|
| +//
|
| +// http://www.apache.org/licenses/LICENSE-2.0
|
| +//
|
| +// Unless required by applicable law or agreed to in writing, software
|
| +// distributed under the License is distributed on an "AS IS" BASIS,
|
| +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| +// See the License for the specific language governing permissions and
|
| +// limitations under the License.
|
| +
|
| +(function(shared, scope, testing) {
|
| +
|
| + function EffectTime(timing) {
|
| + var timeFraction = 0;
|
| + var activeDuration = shared.calculateActiveDuration(timing);
|
| + var effectTime = function(localTime) {
|
| + return shared.calculateIterationProgress(activeDuration, localTime, timing);
|
| + };
|
| + effectTime._totalDuration = timing.delay + activeDuration + timing.endDelay;
|
| + return effectTime;
|
| + }
|
| +
|
| + scope.KeyframeEffect = function(target, effectInput, timingInput, id) {
|
| + var effectTime = EffectTime(shared.normalizeTimingInput(timingInput));
|
| + var interpolations = scope.convertEffectInput(effectInput);
|
| + var timeFraction;
|
| + var keyframeEffect = function() {
|
| + WEB_ANIMATIONS_TESTING && console.assert(typeof timeFraction !== 'undefined');
|
| + interpolations(target, timeFraction);
|
| + };
|
| + // Returns whether the keyframeEffect is in effect or not after the timing update.
|
| + keyframeEffect._update = function(localTime) {
|
| + timeFraction = effectTime(localTime);
|
| + return timeFraction !== null;
|
| + };
|
| + keyframeEffect._clear = function() {
|
| + interpolations(target, null);
|
| + };
|
| + keyframeEffect._hasSameTarget = function(otherTarget) {
|
| + return target === otherTarget;
|
| + };
|
| + keyframeEffect._target = target;
|
| + keyframeEffect._totalDuration = effectTime._totalDuration;
|
| + keyframeEffect._id = id;
|
| + return keyframeEffect;
|
| + };
|
| +
|
| + if (WEB_ANIMATIONS_TESTING) {
|
| + testing.webAnimations1KeyframeEffect = scope.KeyframeEffect;
|
| + testing.effectTime = EffectTime;
|
| + }
|
| +
|
| +})(webAnimationsShared, webAnimations1, webAnimationsTesting);
|
|
|