mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
454197c42c
In forthcoming patches we will encapsulate AnimationPlayer::mStartTime so we can ensure that related state is updated appropriately. We would like to expose mStartTime via GetStartTime() but currently a method of that name returns the start time as a double. This patch applies the pattern used for currentTime to startTime; specifically, GetCurrentTime() returns the TimeDuration (since that's what C++ callers should use) while GetCurrentTimeAsDouble() returns a double. At the same time, this patch also removes the [Pure] extended attribute from startTime in the WebIDL definition since subsequent patches either in this bug or in bug 927349 will mean that startTime can be updated out-of-band. Specifically, we will implement deferred playback of animation such that the startTime remains null until we've finished rendering the first frame of the animation.
50 lines
1.5 KiB
Plaintext
50 lines
1.5 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
|
|
* http://dev.w3.org/fxtf/web-animations/#idl-def-AnimationPlayer
|
|
*
|
|
* Copyright © 2014 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
|
|
* liability, trademark and document use rules apply.
|
|
*/
|
|
|
|
enum AnimationPlayState { "idle", "pending", "running", "paused", "finished" };
|
|
|
|
[Pref="dom.animations-api.core.enabled"]
|
|
interface AnimationPlayer {
|
|
// Bug 1049975
|
|
// attribute AnimationNode? source;
|
|
[Pure]
|
|
readonly attribute Animation? source;
|
|
readonly attribute AnimationTimeline timeline;
|
|
[BinaryName="startTimeAsDouble"]
|
|
readonly attribute double? startTime;
|
|
[BinaryName="currentTimeAsDouble"]
|
|
readonly attribute double? currentTime;
|
|
|
|
/* Not yet implemented
|
|
attribute double playbackRate; */
|
|
[BinaryName="playStateFromJS"]
|
|
readonly attribute AnimationPlayState playState;
|
|
/*
|
|
readonly attribute Promise ready;
|
|
readonly attribute Promise finished;
|
|
void cancel ();
|
|
void finish ();
|
|
*/
|
|
[BinaryName="playFromJS"]
|
|
void play ();
|
|
[BinaryName="pauseFromJS"]
|
|
void pause ();
|
|
/*
|
|
void reverse ();
|
|
*/
|
|
};
|
|
|
|
// Non-standard extensions
|
|
partial interface AnimationPlayer {
|
|
[ChromeOnly] readonly attribute boolean isRunningOnCompositor;
|
|
};
|