Chromium Code Reviews| Index: third_party/closure_compiler/externs/web_animations.js |
| diff --git a/third_party/closure_compiler/externs/web_animations.js b/third_party/closure_compiler/externs/web_animations.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..7d65e0bd6eb378144160b88e5dc2ddf44049a440 |
| --- /dev/null |
| +++ b/third_party/closure_compiler/externs/web_animations.js |
| @@ -0,0 +1,142 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +/** |
| + * @fileoverview Minimal Closure externs for Web Animations. |
| + * "Minimal" because the web-animations spec is in flux, Chromium's support is |
| + * changing, and the intended consumer (MD Settings) is actually using the |
| + * web-animations-js polyfill for the time being. |
| + * @see https://w3c.github.io/web-animations/#programming-interface |
| + */ |
| + |
| +/** |
| + * @enum {number} |
| + * @see https://w3c.github.io/web-animations/#enumdef-fillmode |
| + */ |
| +var FillMode = { |
| + 'none': 0, |
| + 'forwards': 1, |
| + 'backwards': 2, |
| + 'both': 3, |
| + 'auto': 4 |
| +}; |
| + |
| +/** |
| + * @enum {number} |
| + * @see https://w3c.github.io/web-animations/#enumdef-playbackdirection |
| + */ |
| +var PlaybackDirection = { |
| + 'normal': 0, |
| + 'reverse': 1, |
| + 'alternate': 2, |
| + 'alternate-reverse': 3 |
| +}; |
| + |
| +/** |
| + * @constructor |
| + * @param {!Event} event |
| + */ |
| +var EventHandlerNonNull = function(event) {}; |
| + |
| +/** @typedef {?EventHandlerNonNull} */ |
| +var EventHandler; |
| + |
| +/** |
| + * @constructor |
| + * @see https://w3c.github.io/web-animations/#dictdef-keyframeanimationoptions |
| + */ |
| +var KeyframeAnimationOptions = function() {}; |
| + |
| +/** |
| + * @constructor |
| + * @see https://w3c.github.io/web-animations/#dictdef-keyframeeffectoptions |
| + */ |
| +var KeyframeEffectOptions = function() {}; |
| + |
| +/** @type {number} */ |
| +KeyframeEffectOptions.prototype.delay; |
| + |
| +/** @type {number} */ |
| +KeyframeEffectOptions.prototype.endDelay; |
| + |
| +/** @type {!FillMode} */ |
| +KeyframeEffectOptions.prototype.fill; |
| + |
| +/** @type {number} */ |
| +KeyframeEffectOptions.prototype.iterationStart; |
| + |
| +/** @type {number} */ |
| +KeyframeEffectOptions.prototype.iterations; |
| + |
| +/** @type {number|string} */ |
| +KeyframeEffectOptions.prototype.duration; |
| + |
| +/** @type {number} */ |
| +KeyframeEffectOptions.prototype.playbackRate; |
| + |
| +/** @type {!PlaybackDirection} */ |
| +KeyframeEffectOptions.prototype.direction; |
| + |
| +/** @type {string} */ |
| +KeyframeEffectOptions.prototype.easing; |
| + |
| +/** @type {string} */ |
| +KeyframeEffectOptions.prototype.id; |
| + |
| +/** |
| + * @interface |
| + * @extends {EventTarget} |
| + * @see https://w3c.github.io/web-animations/#animation |
| + */ |
| +var Animation = function() {}; |
| + |
| +/** @type {string} */ |
| +Animation.prototype.id; |
| + |
| +/** @type {?number} */ |
| +Animation.prototype.startTime; |
| + |
| +/** @type {?number} */ |
| +Animation.prototype.currentTime; |
| + |
| +/** @type {number} */ |
| +Animation.prototype.playbackRate; |
| + |
| +Animation.prototype.finish = function() {}; |
| + |
| +Animation.prototype.play = function() {}; |
| + |
| +Animation.prototype.pause = function() {}; |
| + |
| +Animation.prototype.reverse = function() {}; |
| + |
| +Animation.prototype.cancel = function() {}; |
| + |
| +/** |
| + * @param {boolean=} opt_useCapture |
| + * @override |
| + */ |
| +Animation.prototype.addEventListener = function( |
| + type, listener, opt_useCapture) {}; |
| + |
| +/** @type {EventHandler} */ |
| +Animation.prototype.onfinish; |
| + |
| +/** @type {EventHandler} */ |
| +Animation.prototype.oncancel; |
| + |
| +/** |
| + * @interface |
| + * @see https://w3c.github.io/web-animations/#animatable |
| + */ |
| +function Animatable() {} |
|
Dan Beam
2016/03/16 00:23:14
out of curiosity, why not var Animatable = functio
michaelpg
2016/03/16 03:11:15
dunno, switched it to that.
|
| + |
| +Animatable.prototype = /** @lends {Element.prototype} */({ |
| + /** |
| + * @param {?Array<Object>|Object} effect |
| + * @param {number|!KeyframeEffectOptions=} opt_timing |
| + * @return {!Animation} |
| + */ |
| + animate: function(effect, opt_timing) {}, |
| +}); |