| Index: sdk/lib/html/dart2js/html_dart2js.dart
|
| diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart
|
| index 8e2976493468388a1121fe8aad378c759d571485..abc74dfc210fb3993c0bf457e5647dec88fe9ae7 100644
|
| --- a/sdk/lib/html/dart2js/html_dart2js.dart
|
| +++ b/sdk/lib/html/dart2js/html_dart2js.dart
|
| @@ -385,6 +385,9 @@ class AnimationPlayer extends EventTarget {
|
| // To suppress missing implicit constructor warnings.
|
| factory AnimationPlayer._() { throw new UnsupportedError("Not supported"); }
|
|
|
| + /// Checks if this type is supported on the current platform.
|
| + static bool get supported => JS('bool', '!!(document.body.animate)');
|
| +
|
| @DomName('AnimationPlayer.currentTime')
|
| @DocsEditable()
|
| @Experimental() // untriaged
|
| @@ -11198,6 +11201,55 @@ abstract class Element extends Node implements GlobalEventHandlers, ParentNode,
|
| void leftView() {}
|
|
|
| /**
|
| + * Creates a new AnimationEffect object whose target element is the object
|
| + * on which the method is called, and calls the play() method of the
|
| + * AnimationTimeline object of the document timeline of the node document
|
| + * of the element, passing the newly created AnimationEffect as the argument
|
| + * to the method. Returns an AnimationPlayer for the effect.
|
| + *
|
| + * Examples
|
| + *
|
| + * var animation = elem.animate([{"opacity": 75}, {"opacity": 0}], 200);
|
| + *
|
| + * var animation = elem.animate([
|
| + * {"transform": "translate(100px, -100%)"},
|
| + * {"transform" : "translate(400px, 500px)"}
|
| + * ], 1500);
|
| + *
|
| + * The [frames] parameter is an Iterable<Map>, where the
|
| + * map entries specify CSS animation effects. The
|
| + * [timing] paramter can be a double, representing the number of milliseconds
|
| + * for the transition, or a Map with fields corresponding to those
|
| + * of the [Timing] object.
|
| + *
|
| + * This is not yet supported in Dartium.
|
| + **/
|
| +// TODO(alanknight): Correct above comment once it works in Dartium.
|
| + @Experimental
|
| + @SupportedBrowser(SupportedBrowser.CHROME, '36')
|
| + AnimationPlayer animate(Iterable<Map<String, dynamic>> frames, [timing]) {
|
| + if (frames is! Iterable || !(frames.every((x) => x is Map))) {
|
| + throw new ArgumentError("The frames parameter should be a List of Maps "
|
| + "with frame information");
|
| + }
|
| + var convertedFrames = frames;
|
| + if (convertedFrames is Iterable) {
|
| + convertedFrames = frames.map(convertDartToNative_Dictionary).toList();
|
| + }
|
| + var convertedTiming = timing;
|
| + if (convertedTiming is Map) {
|
| + convertedTiming = convertDartToNative_Dictionary(convertedTiming);
|
| + }
|
| + return convertedTiming == null
|
| + ? _animate(convertedFrames)
|
| + : _animate(convertedFrames, convertedTiming);
|
| + }
|
| +
|
| + @DomName('Element.animate')
|
| + @JSName('animate')
|
| + @Experimental() // untriaged
|
| + AnimationPlayer _animate(Object effect, [timing]) native;
|
| + /**
|
| * Called by the DOM whenever an attribute on this has been changed.
|
| */
|
| void attributeChanged(String name, String oldValue, String newValue) {}
|
| @@ -12673,11 +12725,6 @@ abstract class Element extends Node implements GlobalEventHandlers, ParentNode,
|
| @DocsEditable()
|
| final String tagName;
|
|
|
| - @DomName('Element.animate')
|
| - @DocsEditable()
|
| - @Experimental() // untriaged
|
| - AnimationPlayer animate(Object effect, [Object timing]) native;
|
| -
|
| @DomName('Element.blur')
|
| @DocsEditable()
|
| void blur() native;
|
|
|