Files
tubestation/dom/webidl/Animation.webidl
canalun acb55c58a8 Bug 1958528 - Add use counters for commitStyles to check web-compatibility. r=birtles,webidl,saschanaz
In bug 1947061, we introduced a pref to change the behavior of commitStyles to be endpoint-inclusive.
Since we have to determine this change is web-compatible in order to finalize the spec, we would like to add two probes.
One is to track when commitStyles is called.
The other is to track when the result of commitStyles differs depending on the endpoint-inclusive pref value.

Differential Revision: https://phabricator.services.mozilla.com/D245763
2025-04-21 03:28:46 +00:00

67 lines
2.2 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* https://drafts.csswg.org/web-animations/#animation
*
* Copyright © 2015 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
* liability, trademark and document use rules apply.
*/
enum AnimationPlayState { "idle", "running", "paused", "finished" };
enum AnimationReplaceState { "active", "removed", "persisted" };
[Exposed=Window]
interface Animation : EventTarget {
[Throws]
constructor(optional AnimationEffect? effect = null,
optional AnimationTimeline? timeline);
attribute DOMString id;
[Pure]
attribute AnimationEffect? effect;
// Bug 1676794. Drop BinaryName once we support ScrollTimeline interface.
[BinaryName="timelineFromJS"]
attribute AnimationTimeline? timeline;
[BinaryName="startTimeAsDouble"]
attribute double? startTime;
[SetterThrows, BinaryName="currentTimeAsDouble"]
attribute double? currentTime;
attribute double playbackRate;
[BinaryName="playStateFromJS"]
readonly attribute AnimationPlayState playState;
[BinaryName="pendingFromJS"]
readonly attribute boolean pending;
readonly attribute AnimationReplaceState replaceState;
[Throws]
readonly attribute Promise<Animation> ready;
[Throws]
readonly attribute Promise<Animation> finished;
attribute EventHandler onfinish;
attribute EventHandler oncancel;
attribute EventHandler onremove;
undefined cancel();
[Throws]
undefined finish();
[Throws, BinaryName="playFromJS"]
undefined play();
[Throws, BinaryName="pauseFromJS"]
undefined pause();
undefined updatePlaybackRate (double playbackRate);
[Throws]
undefined reverse();
undefined persist();
[CEReactions, Throws, UseCounter]
undefined commitStyles();
};
// Non-standard extensions
partial interface Animation {
[ChromeOnly] readonly attribute boolean isRunningOnCompositor;
};