1// Copyright 2014 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    RuntimeEnabled=WebAnimationsAPI,
7    ImplementedAs=AnimationNodeTiming,
8    WillBeGarbageCollected,
9] interface Timing {
10    attribute double delay;
11    attribute double endDelay;
12    attribute DOMString fill;
13    attribute double iterationStart;
14    attribute double iterations;
15
16    // FIXME: This uses a NamedPropertyGetter to implement the 'duration' attribute
17    // because duration has a union type (which is tricky to do with an attribute).
18    // Fix will be in a follow-up patch if there is a better solution.
19    [NotEnumerable, ImplementedAs=getDuration] getter (double or DOMString) (DOMString name);
20
21    // FIXME: If the user calls animation.specified.duration = "" (empty string) then duration
22    // gets set to 0 (This is correct behavior for IDL). Correct result is for duration to
23    // be set to 'auto'.
24    [TypeChecking=Interface, ImplementedAs=setDuration] setter double (DOMString name, double duration);
25
26    attribute double playbackRate;
27    attribute DOMString direction;
28    attribute DOMString easing;
29};
30