rustenium_bidi_commands/input/
commands.rs1use serde::{Serialize, Deserialize};
4use crate::browsing_context::types::BrowsingContext;
5use crate::script::types::SharedReference;
6use crate::EmptyResult;
7use super::types::*;
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10#[serde(untagged)]
11pub enum InputCommand {
12 PerformActions(PerformActions),
13 ReleaseActions(ReleaseActions),
14 SetFiles(SetFiles),
15}
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
19pub enum InputPerformActionsMethod {
20 #[serde(rename = "input.performActions")]
21 InputPerformActions,
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
25pub enum InputReleaseActionsMethod {
26 #[serde(rename = "input.releaseActions")]
27 InputReleaseActions,
28}
29
30#[derive(Debug, Clone, Serialize, Deserialize)]
31pub enum InputSetFilesMethod {
32 #[serde(rename = "input.setFiles")]
33 InputSetFiles,
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
37pub struct PerformActionsParameters {
38 #[serde(rename = "context")]
39 pub context: BrowsingContext,
40 #[serde(rename = "actions")]
41 pub actions: Vec<SourceActions>,
42}
43
44#[derive(Debug, Clone, Serialize, Deserialize)]
45pub struct ReleaseActionsParameters {
46 #[serde(rename = "context")]
47 pub context: BrowsingContext,
48}
49
50#[derive(Debug, Clone, Serialize, Deserialize)]
51pub struct SetFilesParameters {
52 #[serde(rename = "context")]
53 pub context: BrowsingContext,
54 #[serde(rename = "element")]
55 pub element: SharedReference,
56 #[serde(rename = "files")]
57 pub files: Vec<String>,
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
61pub struct PerformActions {
62 #[serde(rename = "method")]
63 pub method: InputPerformActionsMethod,
64 #[serde(rename = "params")]
65 pub params: PerformActionsParameters,
66}
67
68#[derive(Debug, Clone, Serialize, Deserialize)]
69pub struct ReleaseActions {
70 #[serde(rename = "method")]
71 pub method: InputReleaseActionsMethod,
72 #[serde(rename = "params")]
73 pub params: ReleaseActionsParameters,
74}
75
76#[derive(Debug, Clone, Serialize, Deserialize)]
77pub struct SetFiles {
78 #[serde(rename = "method")]
79 pub method: InputSetFilesMethod,
80 #[serde(rename = "params")]
81 pub params: SetFilesParameters,
82}
83
84#[derive(Debug, Clone, Serialize, Deserialize)]
87#[serde(untagged)]
88pub enum InputResult {
89 PerformActionsResult(PerformActionsResult),
90 ReleaseActionsResult(ReleaseActionsResult),
91 SetFilesResult(SetFilesResult),
92}
93
94
95pub type PerformActionsResult = EmptyResult;
96
97
98pub type ReleaseActionsResult = EmptyResult;
99
100
101pub type SetFilesResult = EmptyResult;
102
103