Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 /** | |
| 6 * @fileoverview Minimal Closure externs for Web Animations. | |
| 7 * "Minimal" because the web-animations spec is in flux, Chromium's support is | |
| 8 * changing, and the intended consumer (MD Settings) is actually using the | |
| 9 * web-animations-js polyfill for the time being. | |
|
Dan Beam
2016/03/14 21:27:53
can you add @see <link> for this file and any part
michaelpg
2016/03/15 00:06:50
Done.
| |
| 10 */ | |
| 11 | |
| 12 /** | |
| 13 * @enum {number} | |
| 14 */ | |
|
Dan Beam
2016/03/14 21:27:53
nit: almost all of these short jsdoc comments can
michaelpg
2016/03/15 00:06:50
Done.
| |
| 15 var FillMode = { | |
| 16 'none': 0, | |
| 17 'forwards': 1, | |
| 18 'backwards': 2, | |
| 19 'both': 3, | |
| 20 'auto': 4 | |
| 21 }; | |
| 22 | |
| 23 /** | |
| 24 * @enum {number} | |
| 25 */ | |
| 26 var PlaybackDirection = { | |
| 27 'normal': 0, | |
| 28 'reverse': 1, | |
| 29 'alternate': 2, | |
| 30 'alternate-reverse': 3 | |
| 31 }; | |
| 32 | |
| 33 /** | |
| 34 * @constructor | |
| 35 * @param {!Event} event | |
| 36 */ | |
| 37 var EventHandlerNonNull = function(event) {}; | |
| 38 | |
| 39 /** | |
| 40 * @typedef {?EventHandlerNonNull} | |
| 41 */ | |
| 42 var EventHandler; | |
| 43 | |
| 44 /** | |
| 45 * @constructor | |
| 46 */ | |
| 47 var KeyframeAnimationOptions = function() {}; | |
| 48 | |
| 49 /** | |
| 50 * @constructor | |
| 51 */ | |
| 52 var KeyframeEffectOptions = function() {}; | |
| 53 | |
| 54 /** | |
| 55 * @type {number} | |
| 56 */ | |
| 57 KeyframeEffectOptions.prototype.delay = 0; | |
|
Dan Beam
2016/03/14 21:27:53
one advantage of the .prototype.* route is that yo
michaelpg
2016/03/15 00:06:50
Ok, but then why not extend this logic to function
Dan Beam
2016/03/16 00:23:14
suppose that's OK, too, as long as you can name an
michaelpg
2016/03/16 03:11:15
Yeah it seems to work just the same. I'll keep it
| |
| 58 | |
| 59 /** | |
| 60 * @type {number} | |
| 61 */ | |
| 62 KeyframeEffectOptions.prototype.endDelay = 0; | |
| 63 | |
| 64 /** | |
| 65 * @type {!FillMode} | |
| 66 */ | |
| 67 KeyframeEffectOptions.prototype.fill = FillMode.auto; | |
| 68 | |
| 69 /** | |
| 70 * @type {number} | |
| 71 */ | |
| 72 KeyframeEffectOptions.prototype.iterationStart = 0; | |
| 73 | |
| 74 /** | |
| 75 * @type {number} | |
| 76 */ | |
| 77 KeyframeEffectOptions.prototype.iterations = 1; | |
| 78 | |
| 79 /** | |
| 80 * @type {number|string} | |
| 81 */ | |
| 82 KeyframeEffectOptions.prototype.duration = 'auto'; | |
| 83 | |
| 84 /** | |
| 85 * @type {number} | |
| 86 */ | |
| 87 KeyframeEffectOptions.prototype.playbackRate = 1; | |
| 88 | |
| 89 /** | |
| 90 * @type {!PlaybackDirection} | |
| 91 */ | |
| 92 KeyframeEffectOptions.prototype.direction = PlaybackDirection.normal; | |
| 93 | |
| 94 /** | |
| 95 * @type {string} | |
| 96 */ | |
| 97 KeyframeEffectOptions.prototype.easing = 'linear'; | |
| 98 | |
| 99 /** | |
| 100 * @type {string} | |
| 101 */ | |
| 102 KeyframeEffectOptions.prototype.id = ''; | |
| 103 | |
| 104 /** | |
| 105 * @interface | |
| 106 * @extends {EventTarget} | |
| 107 */ | |
| 108 var Animation = function() {}; | |
| 109 | |
| 110 /** | |
| 111 * @type {string} | |
| 112 */ | |
| 113 Animation.prototype.id; | |
| 114 | |
| 115 /** | |
| 116 * @type {?number} | |
| 117 */ | |
| 118 Animation.prototype.startTime; | |
| 119 | |
| 120 /** | |
| 121 * @type {?number} | |
| 122 */ | |
| 123 Animation.prototype.currentTime; | |
| 124 | |
| 125 /** | |
| 126 * @type {number} | |
| 127 */ | |
| 128 Animation.prototype.playbackRate; | |
| 129 | |
| 130 Animation.prototype.finish = function() {}; | |
| 131 | |
| 132 Animation.prototype.play = function() {}; | |
| 133 | |
| 134 Animation.prototype.pause = function() {}; | |
| 135 | |
| 136 Animation.prototype.reverse = function() {}; | |
| 137 | |
| 138 Animation.prototype.cancel = function() {}; | |
| 139 | |
| 140 /** | |
| 141 * @param {boolean=} opt_useCapture | |
| 142 * @override | |
| 143 */ | |
| 144 Animation.prototype.addEventListener = function( | |
| 145 type, listener, opt_useCapture) {}; | |
| 146 | |
| 147 /** | |
| 148 * @type {EventHandler} | |
| 149 */ | |
| 150 Animation.prototype.onfinish; | |
| 151 | |
| 152 /** | |
| 153 * @type {EventHandler} | |
| 154 */ | |
| 155 Animation.prototype.oncancel; | |
| 156 | |
| 157 /** | |
| 158 * @interface | |
| 159 */ | |
| 160 function Animatable() {}; | |
|
Dan Beam
2016/03/14 21:27:53
no ;
michaelpg
2016/03/15 00:06:50
Done.
| |
| 161 | |
| 162 Animatable.prototype = /** @lends {Element.prototype} */({ | |
|
Dan Beam
2016/03/14 21:27:53
til: @lends is a thing
| |
| 163 /** | |
| 164 * @param {?Array<Object>|Object} effect | |
| 165 * @param {number|!KeyframeEffectOptions=} opt_timing | |
| 166 * @return {!Animation} | |
| 167 */ | |
| 168 animate: function(effect, opt_timing) {}, | |
| 169 }); | |
| OLD | NEW |