// Copyright 2014 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.

// https://w3c.github.io/web-animations/#the-animationeffecttiming-interface

[
    RuntimeEnabled=WebAnimationsAPI
] interface AnimationEffectTiming : AnimationEffectTimingReadOnly {
    attribute double delay;
    attribute double endDelay;
    attribute DOMString fill;
    [RaisesException=Setter] attribute double iterationStart;
    [RaisesException=Setter] attribute unrestricted double iterations;
    [RaisesException=Setter] attribute (unrestricted double or DOMString) duration;
    attribute PlaybackDirection direction;
    [RaisesException=Setter] attribute DOMString easing;
};
