diff options
Diffstat (limited to 'systrace/catapult/third_party/polymer/components/web-animations-js/src/effect-callback.js')
-rw-r--r-- | systrace/catapult/third_party/polymer/components/web-animations-js/src/effect-callback.js | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/systrace/catapult/third_party/polymer/components/web-animations-js/src/effect-callback.js b/systrace/catapult/third_party/polymer/components/web-animations-js/src/effect-callback.js deleted file mode 100644 index 3051a59..0000000 --- a/systrace/catapult/third_party/polymer/components/web-animations-js/src/effect-callback.js +++ /dev/null @@ -1,98 +0,0 @@ -// 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) { - - var nullTarget = document.createElementNS('http://www.w3.org/1999/xhtml', 'div'); - - var sequenceNumber = 0; - scope.bindAnimationForCustomEffect = function(animation) { - var target = animation.effect.target; - var effectFunction; - var isKeyframeEffect = typeof animation.effect.getFrames() == 'function'; - if (isKeyframeEffect) { - effectFunction = animation.effect.getFrames(); - } else { - effectFunction = animation.effect._onsample; - } - var timing = animation.effect.timing; - var last = null; - timing = shared.normalizeTimingInput(timing); - var callback = function() { - var t = callback._animation ? callback._animation.currentTime : null; - if (t !== null) { - t = shared.calculateIterationProgress(shared.calculateActiveDuration(timing), t, timing); - if (isNaN(t)) - t = null; - } - // FIXME: There are actually more conditions under which the effectFunction - // should be called. - if (t !== last) { - if (isKeyframeEffect) { - effectFunction(t, target, animation.effect); - } else { - effectFunction(t, animation.effect, animation.effect._animation); - } - } - last = t; - }; - - callback._animation = animation; - callback._registered = false; - callback._sequenceNumber = sequenceNumber++; - animation._callback = callback; - register(callback); - }; - - var callbacks = []; - var ticking = false; - function register(callback) { - if (callback._registered) - return; - callback._registered = true; - callbacks.push(callback); - if (!ticking) { - ticking = true; - requestAnimationFrame(tick); - } - } - - function tick(t) { - var updating = callbacks; - callbacks = []; - updating.sort(function(left, right) { - return left._sequenceNumber - right._sequenceNumber; - }); - updating = updating.filter(function(callback) { - callback(); - var playState = callback._animation ? callback._animation.playState : 'idle'; - if (playState != 'running' && playState != 'pending') - callback._registered = false; - return callback._registered; - }); - callbacks.push.apply(callbacks, updating); - - if (callbacks.length) { - ticking = true; - requestAnimationFrame(tick); - } else { - ticking = false; - } - } - - scope.Animation.prototype._register = function() { - if (this._callback) - register(this._callback); - }; - -})(webAnimationsShared, webAnimationsNext, webAnimationsTesting); |