Index: polymer_0.5.0/bower_components/web-animations-js/src/group-constructors.js |
diff --git a/polymer_0.5.0/bower_components/web-animations-js/src/group-constructors.js b/polymer_0.5.0/bower_components/web-animations-js/src/group-constructors.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bc7076ba286498f6e36774fbb79b0a8c87fd365a |
--- /dev/null |
+++ b/polymer_0.5.0/bower_components/web-animations-js/src/group-constructors.js |
@@ -0,0 +1,81 @@ |
+// 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 constructor(children, timingInput) { |
+ this.children = children || []; |
+ this._timing = shared.normalizeTimingInput(timingInput, true); |
+ this.timing = shared.makeTiming(timingInput, true); |
+ |
+ if (this._timing.duration === 'auto') |
+ this._timing.duration = this.activeDuration; |
+ } |
+ |
+ window.AnimationSequence = function() { |
+ constructor.apply(this, arguments); |
+ }; |
+ |
+ window.AnimationGroup = function() { |
+ constructor.apply(this, arguments); |
+ }; |
+ |
+ window.AnimationSequence.prototype = { |
+ get activeDuration() { |
+ var total = 0; |
+ this.children.forEach(function(child) { |
+ total += scope.groupChildDuration(child); |
+ }); |
+ return Math.max(total, 0); |
+ } |
+ }; |
+ |
+ window.AnimationGroup.prototype = { |
+ get activeDuration() { |
+ var max = 0; |
+ this.children.forEach(function(child) { |
+ max = Math.max(max, scope.groupChildDuration(child)); |
+ }); |
+ return max; |
+ } |
+ }; |
+ |
+ scope.newUnderlyingPlayerForGroup = function(group) { |
+ var underlyingPlayer; |
+ var ticker = function(tf) { |
+ var player = underlyingPlayer._wrapper; |
+ if (!player.source) |
+ return; |
+ if (tf == null) { |
+ player._removePlayers(); |
+ return; |
+ } |
+ if (player.startTime === null) |
+ return; |
+ |
+ player._updateChildren(); |
+ }; |
+ |
+ underlyingPlayer = scope.timeline.play(new scope.Animation(null, ticker, group._timing)); |
+ return underlyingPlayer; |
+ }; |
+ |
+ scope.bindPlayerForGroup = function(player) { |
+ player._player._wrapper = player; |
+ player._isGroup = true; |
+ scope.awaitStartTime(player); |
+ }; |
+ |
+ |
+})(webAnimationsShared, webAnimationsMaxifill, webAnimationsTesting); |