browser_protocol/animation/
mod.rs1use serde::{Serialize, Deserialize};
2use serde_json::Value as JsonValue;
3
4#[derive(Debug, Clone, Serialize, Deserialize, Default)]
7#[serde(rename_all = "camelCase")]
8pub struct Animation {
9 pub id: String,
12 pub name: String,
15 pub pausedState: bool,
18 pub playState: String,
21 pub playbackRate: f64,
24 pub startTime: f64,
30 pub currentTime: f64,
33 #[serde(rename = "type")]
36 pub type_: String,
37 #[serde(skip_serializing_if = "Option::is_none")]
40 pub source: Option<AnimationEffect>,
41 #[serde(skip_serializing_if = "Option::is_none")]
45 pub cssId: Option<String>,
46 #[serde(skip_serializing_if = "Option::is_none")]
49 pub viewOrScrollTimeline: Option<ViewOrScrollTimeline>,
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize, Default)]
55#[serde(rename_all = "camelCase")]
56pub struct ViewOrScrollTimeline {
57 #[serde(skip_serializing_if = "Option::is_none")]
60 pub sourceNodeId: Option<crate::dom::BackendNodeId>,
61 #[serde(skip_serializing_if = "Option::is_none")]
65 pub startOffset: Option<f64>,
66 #[serde(skip_serializing_if = "Option::is_none")]
70 pub endOffset: Option<f64>,
71 #[serde(skip_serializing_if = "Option::is_none")]
76 pub subjectNodeId: Option<crate::dom::BackendNodeId>,
77 pub axis: crate::dom::ScrollOrientation,
80}
81
82#[derive(Debug, Clone, Serialize, Deserialize, Default)]
85#[serde(rename_all = "camelCase")]
86pub struct AnimationEffect {
87 pub delay: f64,
90 pub endDelay: f64,
93 pub iterationStart: f64,
96 #[serde(skip_serializing_if = "Option::is_none")]
99 pub iterations: Option<f64>,
100 pub duration: f64,
106 pub direction: String,
109 pub fill: String,
112 #[serde(skip_serializing_if = "Option::is_none")]
115 pub backendNodeId: Option<crate::dom::BackendNodeId>,
116 #[serde(skip_serializing_if = "Option::is_none")]
119 pub keyframesRule: Option<KeyframesRule>,
120 pub easing: String,
123}
124
125#[derive(Debug, Clone, Serialize, Deserialize, Default)]
128#[serde(rename_all = "camelCase")]
129pub struct KeyframesRule {
130 #[serde(skip_serializing_if = "Option::is_none")]
133 pub name: Option<String>,
134 pub keyframes: Vec<KeyframeStyle>,
137}
138
139#[derive(Debug, Clone, Serialize, Deserialize, Default)]
142#[serde(rename_all = "camelCase")]
143pub struct KeyframeStyle {
144 pub offset: String,
147 pub easing: String,
150}
151
152#[derive(Debug, Clone, Serialize, Deserialize, Default)]
153pub struct DisableParams {}
154
155impl DisableParams { pub const METHOD: &'static str = "Animation.disable"; }
156
157impl crate::CdpCommand for DisableParams {
158 const METHOD: &'static str = "Animation.disable";
159 type Response = crate::EmptyReturns;
160}
161
162#[derive(Debug, Clone, Serialize, Deserialize, Default)]
163pub struct EnableParams {}
164
165impl EnableParams { pub const METHOD: &'static str = "Animation.enable"; }
166
167impl crate::CdpCommand for EnableParams {
168 const METHOD: &'static str = "Animation.enable";
169 type Response = crate::EmptyReturns;
170}
171
172#[derive(Debug, Clone, Serialize, Deserialize, Default)]
175#[serde(rename_all = "camelCase")]
176pub struct GetCurrentTimeParams {
177 pub id: String,
180}
181
182#[derive(Debug, Clone, Serialize, Deserialize, Default)]
185#[serde(rename_all = "camelCase")]
186pub struct GetCurrentTimeReturns {
187 pub currentTime: f64,
190}
191
192impl GetCurrentTimeParams { pub const METHOD: &'static str = "Animation.getCurrentTime"; }
193
194impl crate::CdpCommand for GetCurrentTimeParams {
195 const METHOD: &'static str = "Animation.getCurrentTime";
196 type Response = GetCurrentTimeReturns;
197}
198
199#[derive(Debug, Clone, Serialize, Deserialize, Default)]
202#[serde(rename_all = "camelCase")]
203pub struct GetPlaybackRateReturns {
204 pub playbackRate: f64,
207}
208
209#[derive(Debug, Clone, Serialize, Deserialize, Default)]
210pub struct GetPlaybackRateParams {}
211
212impl GetPlaybackRateParams { pub const METHOD: &'static str = "Animation.getPlaybackRate"; }
213
214impl crate::CdpCommand for GetPlaybackRateParams {
215 const METHOD: &'static str = "Animation.getPlaybackRate";
216 type Response = GetPlaybackRateReturns;
217}
218
219#[derive(Debug, Clone, Serialize, Deserialize, Default)]
222#[serde(rename_all = "camelCase")]
223pub struct ReleaseAnimationsParams {
224 pub animations: Vec<String>,
227}
228
229impl ReleaseAnimationsParams { pub const METHOD: &'static str = "Animation.releaseAnimations"; }
230
231impl crate::CdpCommand for ReleaseAnimationsParams {
232 const METHOD: &'static str = "Animation.releaseAnimations";
233 type Response = crate::EmptyReturns;
234}
235
236#[derive(Debug, Clone, Serialize, Deserialize, Default)]
239#[serde(rename_all = "camelCase")]
240pub struct ResolveAnimationParams {
241 pub animationId: String,
244}
245
246#[derive(Debug, Clone, Serialize, Deserialize, Default)]
249#[serde(rename_all = "camelCase")]
250pub struct ResolveAnimationReturns {
251 pub remoteObject: crate::runtime::RemoteObject,
254}
255
256impl ResolveAnimationParams { pub const METHOD: &'static str = "Animation.resolveAnimation"; }
257
258impl crate::CdpCommand for ResolveAnimationParams {
259 const METHOD: &'static str = "Animation.resolveAnimation";
260 type Response = ResolveAnimationReturns;
261}
262
263#[derive(Debug, Clone, Serialize, Deserialize, Default)]
266#[serde(rename_all = "camelCase")]
267pub struct SeekAnimationsParams {
268 pub animations: Vec<String>,
271 pub currentTime: f64,
274}
275
276impl SeekAnimationsParams { pub const METHOD: &'static str = "Animation.seekAnimations"; }
277
278impl crate::CdpCommand for SeekAnimationsParams {
279 const METHOD: &'static str = "Animation.seekAnimations";
280 type Response = crate::EmptyReturns;
281}
282
283#[derive(Debug, Clone, Serialize, Deserialize, Default)]
286#[serde(rename_all = "camelCase")]
287pub struct SetPausedParams {
288 pub animations: Vec<String>,
291 pub paused: bool,
294}
295
296impl SetPausedParams { pub const METHOD: &'static str = "Animation.setPaused"; }
297
298impl crate::CdpCommand for SetPausedParams {
299 const METHOD: &'static str = "Animation.setPaused";
300 type Response = crate::EmptyReturns;
301}
302
303#[derive(Debug, Clone, Serialize, Deserialize, Default)]
306#[serde(rename_all = "camelCase")]
307pub struct SetPlaybackRateParams {
308 pub playbackRate: f64,
311}
312
313impl SetPlaybackRateParams { pub const METHOD: &'static str = "Animation.setPlaybackRate"; }
314
315impl crate::CdpCommand for SetPlaybackRateParams {
316 const METHOD: &'static str = "Animation.setPlaybackRate";
317 type Response = crate::EmptyReturns;
318}
319
320#[derive(Debug, Clone, Serialize, Deserialize, Default)]
323#[serde(rename_all = "camelCase")]
324pub struct SetTimingParams {
325 pub animationId: String,
328 pub duration: f64,
331 pub delay: f64,
334}
335
336impl SetTimingParams { pub const METHOD: &'static str = "Animation.setTiming"; }
337
338impl crate::CdpCommand for SetTimingParams {
339 const METHOD: &'static str = "Animation.setTiming";
340 type Response = crate::EmptyReturns;
341}