cdp_protocol/
css.rs

1// Auto-generated from Chrome at version 143.0.7499.110 domain: CSS
2use super::dom;
3use super::page;
4#[allow(unused_imports)]
5use super::types::*;
6#[allow(unused_imports)]
7use serde::{Deserialize, Serialize};
8#[allow(unused_imports)]
9use serde_json::Value as Json;
10pub type StyleSheetId = String;
11#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
12pub enum StyleSheetOrigin {
13    #[serde(rename = "injected")]
14    Injected,
15    #[serde(rename = "user-agent")]
16    UserAgent,
17    #[serde(rename = "inspector")]
18    Inspector,
19    #[serde(rename = "regular")]
20    Regular,
21}
22#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
23pub enum CssRuleType {
24    #[serde(rename = "MediaRule")]
25    MediaRule,
26    #[serde(rename = "SupportsRule")]
27    SupportsRule,
28    #[serde(rename = "ContainerRule")]
29    ContainerRule,
30    #[serde(rename = "LayerRule")]
31    LayerRule,
32    #[serde(rename = "ScopeRule")]
33    ScopeRule,
34    #[serde(rename = "StyleRule")]
35    StyleRule,
36    #[serde(rename = "StartingStyleRule")]
37    StartingStyleRule,
38}
39#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
40pub enum CssMediaSource {
41    #[serde(rename = "mediaRule")]
42    MediaRule,
43    #[serde(rename = "importRule")]
44    ImportRule,
45    #[serde(rename = "linkedSheet")]
46    LinkedSheet,
47    #[serde(rename = "inlineSheet")]
48    InlineSheet,
49}
50#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
51pub struct PseudoElementMatches {
52    #[serde(rename = "pseudoType")]
53    pub pseudo_type: dom::PseudoType,
54    #[serde(skip_serializing_if = "Option::is_none")]
55    #[serde(default)]
56    #[serde(rename = "pseudoIdentifier")]
57    pub pseudo_identifier: Option<String>,
58    #[serde(rename = "matches")]
59    pub matches: Vec<RuleMatch>,
60}
61#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
62pub struct CssAnimationStyle {
63    #[serde(skip_serializing_if = "Option::is_none")]
64    #[serde(default)]
65    #[serde(rename = "name")]
66    pub name: Option<String>,
67    #[serde(rename = "style")]
68    pub style: CssStyle,
69}
70#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
71pub struct InheritedStyleEntry {
72    #[serde(skip_serializing_if = "Option::is_none")]
73    #[serde(rename = "inlineStyle")]
74    pub inline_style: Option<CssStyle>,
75    #[serde(rename = "matchedCSSRules")]
76    pub matched_css_rules: Vec<RuleMatch>,
77}
78#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
79pub struct InheritedAnimatedStyleEntry {
80    #[serde(skip_serializing_if = "Option::is_none")]
81    #[serde(rename = "animationStyles")]
82    pub animation_styles: Option<Vec<CssAnimationStyle>>,
83    #[serde(skip_serializing_if = "Option::is_none")]
84    #[serde(rename = "transitionsStyle")]
85    pub transitions_style: Option<CssStyle>,
86}
87#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
88pub struct InheritedPseudoElementMatches {
89    #[serde(rename = "pseudoElements")]
90    pub pseudo_elements: Vec<PseudoElementMatches>,
91}
92#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
93pub struct RuleMatch {
94    #[serde(rename = "rule")]
95    pub rule: CssRule,
96    #[serde(default)]
97    #[serde(rename = "matchingSelectors")]
98    pub matching_selectors: Vec<JsUInt>,
99}
100#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
101pub struct Value {
102    #[serde(default)]
103    #[serde(rename = "text")]
104    pub text: String,
105    #[serde(skip_serializing_if = "Option::is_none")]
106    #[serde(rename = "range")]
107    pub range: Option<SourceRange>,
108    #[serde(skip_serializing_if = "Option::is_none")]
109    #[serde(rename = "specificity")]
110    pub specificity: Option<Specificity>,
111}
112#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
113pub struct Specificity {
114    #[serde(default)]
115    #[serde(rename = "a")]
116    pub a: JsUInt,
117    #[serde(default)]
118    #[serde(rename = "b")]
119    pub b: JsUInt,
120    #[serde(default)]
121    #[serde(rename = "c")]
122    pub c: JsUInt,
123}
124#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
125pub struct SelectorList {
126    #[serde(rename = "selectors")]
127    pub selectors: Vec<Value>,
128    #[serde(default)]
129    #[serde(rename = "text")]
130    pub text: String,
131}
132#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
133pub struct CssStyleSheetHeader {
134    #[serde(rename = "styleSheetId")]
135    pub style_sheet_id: StyleSheetId,
136    #[serde(rename = "frameId")]
137    pub frame_id: page::FrameId,
138    #[serde(default)]
139    #[serde(rename = "sourceURL")]
140    pub source_url: String,
141    #[serde(skip_serializing_if = "Option::is_none")]
142    #[serde(default)]
143    #[serde(rename = "sourceMapURL")]
144    pub source_map_url: Option<String>,
145    #[serde(rename = "origin")]
146    pub origin: StyleSheetOrigin,
147    #[serde(default)]
148    #[serde(rename = "title")]
149    pub title: String,
150    #[serde(skip_serializing_if = "Option::is_none")]
151    #[serde(rename = "ownerNode")]
152    pub owner_node: Option<dom::BackendNodeId>,
153    #[serde(default)]
154    #[serde(rename = "disabled")]
155    pub disabled: bool,
156    #[serde(skip_serializing_if = "Option::is_none")]
157    #[serde(default)]
158    #[serde(rename = "hasSourceURL")]
159    pub has_source_url: Option<bool>,
160    #[serde(default)]
161    #[serde(rename = "isInline")]
162    pub is_inline: bool,
163    #[serde(default)]
164    #[serde(rename = "isMutable")]
165    pub is_mutable: bool,
166    #[serde(default)]
167    #[serde(rename = "isConstructed")]
168    pub is_constructed: bool,
169    #[serde(default)]
170    #[serde(rename = "startLine")]
171    pub start_line: JsFloat,
172    #[serde(default)]
173    #[serde(rename = "startColumn")]
174    pub start_column: JsFloat,
175    #[serde(default)]
176    #[serde(rename = "length")]
177    pub length: JsFloat,
178    #[serde(default)]
179    #[serde(rename = "endLine")]
180    pub end_line: JsFloat,
181    #[serde(default)]
182    #[serde(rename = "endColumn")]
183    pub end_column: JsFloat,
184    #[serde(skip_serializing_if = "Option::is_none")]
185    #[serde(default)]
186    #[serde(rename = "loadingFailed")]
187    pub loading_failed: Option<bool>,
188}
189#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
190pub struct CssRule {
191    #[serde(skip_serializing_if = "Option::is_none")]
192    #[serde(rename = "styleSheetId")]
193    pub style_sheet_id: Option<StyleSheetId>,
194    #[serde(rename = "selectorList")]
195    pub selector_list: SelectorList,
196    #[serde(skip_serializing_if = "Option::is_none")]
197    #[serde(default)]
198    #[serde(rename = "nestingSelectors")]
199    pub nesting_selectors: Option<Vec<String>>,
200    #[serde(rename = "origin")]
201    pub origin: StyleSheetOrigin,
202    #[serde(rename = "style")]
203    pub style: CssStyle,
204    #[serde(skip_serializing_if = "Option::is_none")]
205    #[serde(rename = "originTreeScopeNodeId")]
206    pub origin_tree_scope_node_id: Option<dom::BackendNodeId>,
207    #[serde(skip_serializing_if = "Option::is_none")]
208    #[serde(rename = "media")]
209    pub media: Option<Vec<CssMedia>>,
210    #[serde(skip_serializing_if = "Option::is_none")]
211    #[serde(rename = "containerQueries")]
212    pub container_queries: Option<Vec<CssContainerQuery>>,
213    #[serde(skip_serializing_if = "Option::is_none")]
214    #[serde(rename = "supports")]
215    pub supports: Option<Vec<CssSupports>>,
216    #[serde(skip_serializing_if = "Option::is_none")]
217    #[serde(rename = "layers")]
218    pub layers: Option<Vec<CssLayer>>,
219    #[serde(skip_serializing_if = "Option::is_none")]
220    #[serde(rename = "scopes")]
221    pub scopes: Option<Vec<CssScope>>,
222    #[serde(skip_serializing_if = "Option::is_none")]
223    #[serde(rename = "ruleTypes")]
224    pub rule_types: Option<Vec<CssRuleType>>,
225    #[serde(skip_serializing_if = "Option::is_none")]
226    #[serde(rename = "startingStyles")]
227    pub starting_styles: Option<Vec<CssStartingStyle>>,
228}
229#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
230pub struct RuleUsage {
231    #[serde(rename = "styleSheetId")]
232    pub style_sheet_id: StyleSheetId,
233    #[serde(default)]
234    #[serde(rename = "startOffset")]
235    pub start_offset: JsFloat,
236    #[serde(default)]
237    #[serde(rename = "endOffset")]
238    pub end_offset: JsFloat,
239    #[serde(default)]
240    #[serde(rename = "used")]
241    pub used: bool,
242}
243#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
244pub struct SourceRange {
245    #[serde(default)]
246    #[serde(rename = "startLine")]
247    pub start_line: JsUInt,
248    #[serde(default)]
249    #[serde(rename = "startColumn")]
250    pub start_column: JsUInt,
251    #[serde(default)]
252    #[serde(rename = "endLine")]
253    pub end_line: JsUInt,
254    #[serde(default)]
255    #[serde(rename = "endColumn")]
256    pub end_column: JsUInt,
257}
258#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
259pub struct ShorthandEntry {
260    #[serde(default)]
261    #[serde(rename = "name")]
262    pub name: String,
263    #[serde(default)]
264    #[serde(rename = "value")]
265    pub value: String,
266    #[serde(skip_serializing_if = "Option::is_none")]
267    #[serde(default)]
268    #[serde(rename = "important")]
269    pub important: Option<bool>,
270}
271#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
272pub struct CssComputedStyleProperty {
273    #[serde(default)]
274    #[serde(rename = "name")]
275    pub name: String,
276    #[serde(default)]
277    #[serde(rename = "value")]
278    pub value: String,
279}
280#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
281pub struct ComputedStyleExtraFields {
282    #[serde(default)]
283    #[serde(rename = "isAppearanceBase")]
284    pub is_appearance_base: bool,
285}
286#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
287pub struct CssStyle {
288    #[serde(skip_serializing_if = "Option::is_none")]
289    #[serde(rename = "styleSheetId")]
290    pub style_sheet_id: Option<StyleSheetId>,
291    #[serde(rename = "cssProperties")]
292    pub css_properties: Vec<CssProperty>,
293    #[serde(rename = "shorthandEntries")]
294    pub shorthand_entries: Vec<ShorthandEntry>,
295    #[serde(skip_serializing_if = "Option::is_none")]
296    #[serde(default)]
297    #[serde(rename = "cssText")]
298    pub css_text: Option<String>,
299    #[serde(skip_serializing_if = "Option::is_none")]
300    #[serde(rename = "range")]
301    pub range: Option<SourceRange>,
302}
303#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
304pub struct CssProperty {
305    #[serde(default)]
306    #[serde(rename = "name")]
307    pub name: String,
308    #[serde(default)]
309    #[serde(rename = "value")]
310    pub value: String,
311    #[serde(skip_serializing_if = "Option::is_none")]
312    #[serde(default)]
313    #[serde(rename = "important")]
314    pub important: Option<bool>,
315    #[serde(skip_serializing_if = "Option::is_none")]
316    #[serde(default)]
317    #[serde(rename = "implicit")]
318    pub implicit: Option<bool>,
319    #[serde(skip_serializing_if = "Option::is_none")]
320    #[serde(default)]
321    #[serde(rename = "text")]
322    pub text: Option<String>,
323    #[serde(skip_serializing_if = "Option::is_none")]
324    #[serde(default)]
325    #[serde(rename = "parsedOk")]
326    pub parsed_ok: Option<bool>,
327    #[serde(skip_serializing_if = "Option::is_none")]
328    #[serde(default)]
329    #[serde(rename = "disabled")]
330    pub disabled: Option<bool>,
331    #[serde(skip_serializing_if = "Option::is_none")]
332    #[serde(rename = "range")]
333    pub range: Option<SourceRange>,
334    #[serde(skip_serializing_if = "Option::is_none")]
335    #[serde(rename = "longhandProperties")]
336    pub longhand_properties: Option<Vec<CssProperty>>,
337}
338#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
339pub struct CssMedia {
340    #[serde(default)]
341    #[serde(rename = "text")]
342    pub text: String,
343    #[serde(rename = "source")]
344    pub source: CssMediaSource,
345    #[serde(skip_serializing_if = "Option::is_none")]
346    #[serde(default)]
347    #[serde(rename = "sourceURL")]
348    pub source_url: Option<String>,
349    #[serde(skip_serializing_if = "Option::is_none")]
350    #[serde(rename = "range")]
351    pub range: Option<SourceRange>,
352    #[serde(skip_serializing_if = "Option::is_none")]
353    #[serde(rename = "styleSheetId")]
354    pub style_sheet_id: Option<StyleSheetId>,
355    #[serde(skip_serializing_if = "Option::is_none")]
356    #[serde(rename = "mediaList")]
357    pub media_list: Option<Vec<MediaQuery>>,
358}
359#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
360pub struct MediaQuery {
361    #[serde(rename = "expressions")]
362    pub expressions: Vec<MediaQueryExpression>,
363    #[serde(default)]
364    #[serde(rename = "active")]
365    pub active: bool,
366}
367#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
368pub struct MediaQueryExpression {
369    #[serde(default)]
370    #[serde(rename = "value")]
371    pub value: JsFloat,
372    #[serde(default)]
373    #[serde(rename = "unit")]
374    pub unit: String,
375    #[serde(default)]
376    #[serde(rename = "feature")]
377    pub feature: String,
378    #[serde(skip_serializing_if = "Option::is_none")]
379    #[serde(rename = "valueRange")]
380    pub value_range: Option<SourceRange>,
381    #[serde(skip_serializing_if = "Option::is_none")]
382    #[serde(default)]
383    #[serde(rename = "computedLength")]
384    pub computed_length: Option<JsFloat>,
385}
386#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
387pub struct CssContainerQuery {
388    #[serde(default)]
389    #[serde(rename = "text")]
390    pub text: String,
391    #[serde(skip_serializing_if = "Option::is_none")]
392    #[serde(rename = "range")]
393    pub range: Option<SourceRange>,
394    #[serde(skip_serializing_if = "Option::is_none")]
395    #[serde(rename = "styleSheetId")]
396    pub style_sheet_id: Option<StyleSheetId>,
397    #[serde(skip_serializing_if = "Option::is_none")]
398    #[serde(default)]
399    #[serde(rename = "name")]
400    pub name: Option<String>,
401    #[serde(skip_serializing_if = "Option::is_none")]
402    #[serde(rename = "physicalAxes")]
403    pub physical_axes: Option<dom::PhysicalAxes>,
404    #[serde(skip_serializing_if = "Option::is_none")]
405    #[serde(rename = "logicalAxes")]
406    pub logical_axes: Option<dom::LogicalAxes>,
407    #[serde(skip_serializing_if = "Option::is_none")]
408    #[serde(default)]
409    #[serde(rename = "queriesScrollState")]
410    pub queries_scroll_state: Option<bool>,
411    #[serde(skip_serializing_if = "Option::is_none")]
412    #[serde(default)]
413    #[serde(rename = "queriesAnchored")]
414    pub queries_anchored: Option<bool>,
415}
416#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
417pub struct CssSupports {
418    #[serde(default)]
419    #[serde(rename = "text")]
420    pub text: String,
421    #[serde(default)]
422    #[serde(rename = "active")]
423    pub active: bool,
424    #[serde(skip_serializing_if = "Option::is_none")]
425    #[serde(rename = "range")]
426    pub range: Option<SourceRange>,
427    #[serde(skip_serializing_if = "Option::is_none")]
428    #[serde(rename = "styleSheetId")]
429    pub style_sheet_id: Option<StyleSheetId>,
430}
431#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
432pub struct CssScope {
433    #[serde(default)]
434    #[serde(rename = "text")]
435    pub text: String,
436    #[serde(skip_serializing_if = "Option::is_none")]
437    #[serde(rename = "range")]
438    pub range: Option<SourceRange>,
439    #[serde(skip_serializing_if = "Option::is_none")]
440    #[serde(rename = "styleSheetId")]
441    pub style_sheet_id: Option<StyleSheetId>,
442}
443#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
444pub struct CssLayer {
445    #[serde(default)]
446    #[serde(rename = "text")]
447    pub text: String,
448    #[serde(skip_serializing_if = "Option::is_none")]
449    #[serde(rename = "range")]
450    pub range: Option<SourceRange>,
451    #[serde(skip_serializing_if = "Option::is_none")]
452    #[serde(rename = "styleSheetId")]
453    pub style_sheet_id: Option<StyleSheetId>,
454}
455#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
456pub struct CssStartingStyle {
457    #[serde(skip_serializing_if = "Option::is_none")]
458    #[serde(rename = "range")]
459    pub range: Option<SourceRange>,
460    #[serde(skip_serializing_if = "Option::is_none")]
461    #[serde(rename = "styleSheetId")]
462    pub style_sheet_id: Option<StyleSheetId>,
463}
464#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
465pub struct CssLayerData {
466    #[serde(default)]
467    #[serde(rename = "name")]
468    pub name: String,
469    #[serde(skip_serializing_if = "Option::is_none")]
470    #[serde(rename = "subLayers")]
471    pub sub_layers: Option<Vec<CssLayerData>>,
472    #[serde(default)]
473    #[serde(rename = "order")]
474    pub order: JsFloat,
475}
476#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
477pub struct PlatformFontUsage {
478    #[serde(default)]
479    #[serde(rename = "familyName")]
480    pub family_name: String,
481    #[serde(default)]
482    #[serde(rename = "postScriptName")]
483    pub post_script_name: String,
484    #[serde(default)]
485    #[serde(rename = "isCustomFont")]
486    pub is_custom_font: bool,
487    #[serde(default)]
488    #[serde(rename = "glyphCount")]
489    pub glyph_count: JsFloat,
490}
491#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
492pub struct FontVariationAxis {
493    #[serde(default)]
494    #[serde(rename = "tag")]
495    pub tag: String,
496    #[serde(default)]
497    #[serde(rename = "name")]
498    pub name: String,
499    #[serde(default)]
500    #[serde(rename = "minValue")]
501    pub min_value: JsFloat,
502    #[serde(default)]
503    #[serde(rename = "maxValue")]
504    pub max_value: JsFloat,
505    #[serde(default)]
506    #[serde(rename = "defaultValue")]
507    pub default_value: JsFloat,
508}
509#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
510pub struct FontFace {
511    #[serde(default)]
512    #[serde(rename = "fontFamily")]
513    pub font_family: String,
514    #[serde(default)]
515    #[serde(rename = "fontStyle")]
516    pub font_style: String,
517    #[serde(default)]
518    #[serde(rename = "fontVariant")]
519    pub font_variant: String,
520    #[serde(default)]
521    #[serde(rename = "fontWeight")]
522    pub font_weight: String,
523    #[serde(default)]
524    #[serde(rename = "fontStretch")]
525    pub font_stretch: String,
526    #[serde(default)]
527    #[serde(rename = "fontDisplay")]
528    pub font_display: String,
529    #[serde(default)]
530    #[serde(rename = "unicodeRange")]
531    pub unicode_range: String,
532    #[serde(default)]
533    #[serde(rename = "src")]
534    pub src: String,
535    #[serde(default)]
536    #[serde(rename = "platformFontFamily")]
537    pub platform_font_family: String,
538    #[serde(skip_serializing_if = "Option::is_none")]
539    #[serde(rename = "fontVariationAxes")]
540    pub font_variation_axes: Option<Vec<FontVariationAxis>>,
541}
542#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
543pub struct CssTryRule {
544    #[serde(skip_serializing_if = "Option::is_none")]
545    #[serde(rename = "styleSheetId")]
546    pub style_sheet_id: Option<StyleSheetId>,
547    #[serde(rename = "origin")]
548    pub origin: StyleSheetOrigin,
549    #[serde(rename = "style")]
550    pub style: CssStyle,
551}
552#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
553pub struct CssPositionTryRule {
554    #[serde(rename = "name")]
555    pub name: Value,
556    #[serde(skip_serializing_if = "Option::is_none")]
557    #[serde(rename = "styleSheetId")]
558    pub style_sheet_id: Option<StyleSheetId>,
559    #[serde(rename = "origin")]
560    pub origin: StyleSheetOrigin,
561    #[serde(rename = "style")]
562    pub style: CssStyle,
563    #[serde(default)]
564    #[serde(rename = "active")]
565    pub active: bool,
566}
567#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
568pub struct CssKeyframesRule {
569    #[serde(rename = "animationName")]
570    pub animation_name: Value,
571    #[serde(rename = "keyframes")]
572    pub keyframes: Vec<CssKeyframeRule>,
573}
574#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
575pub struct CssPropertyRegistration {
576    #[serde(default)]
577    #[serde(rename = "propertyName")]
578    pub property_name: String,
579    #[serde(skip_serializing_if = "Option::is_none")]
580    #[serde(rename = "initialValue")]
581    pub initial_value: Option<Value>,
582    #[serde(default)]
583    #[serde(rename = "inherits")]
584    pub inherits: bool,
585    #[serde(default)]
586    #[serde(rename = "syntax")]
587    pub syntax: String,
588}
589#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
590pub struct CssFontPaletteValuesRule {
591    #[serde(skip_serializing_if = "Option::is_none")]
592    #[serde(rename = "styleSheetId")]
593    pub style_sheet_id: Option<StyleSheetId>,
594    #[serde(rename = "origin")]
595    pub origin: StyleSheetOrigin,
596    #[serde(rename = "fontPaletteName")]
597    pub font_palette_name: Value,
598    #[serde(rename = "style")]
599    pub style: CssStyle,
600}
601#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
602pub struct CssPropertyRule {
603    #[serde(skip_serializing_if = "Option::is_none")]
604    #[serde(rename = "styleSheetId")]
605    pub style_sheet_id: Option<StyleSheetId>,
606    #[serde(rename = "origin")]
607    pub origin: StyleSheetOrigin,
608    #[serde(rename = "propertyName")]
609    pub property_name: Value,
610    #[serde(rename = "style")]
611    pub style: CssStyle,
612}
613#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
614pub struct CssFunctionParameter {
615    #[serde(default)]
616    #[serde(rename = "name")]
617    pub name: String,
618    #[serde(default)]
619    #[serde(rename = "type")]
620    pub r#type: String,
621}
622#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
623pub struct CssFunctionConditionNode {
624    #[serde(skip_serializing_if = "Option::is_none")]
625    #[serde(rename = "media")]
626    pub media: Option<CssMedia>,
627    #[serde(skip_serializing_if = "Option::is_none")]
628    #[serde(rename = "containerQueries")]
629    pub container_queries: Option<CssContainerQuery>,
630    #[serde(skip_serializing_if = "Option::is_none")]
631    #[serde(rename = "supports")]
632    pub supports: Option<CssSupports>,
633    #[serde(rename = "children")]
634    pub children: Vec<CssFunctionNode>,
635    #[serde(default)]
636    #[serde(rename = "conditionText")]
637    pub condition_text: String,
638}
639#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
640pub struct CssFunctionNode {
641    #[serde(skip_serializing_if = "Option::is_none")]
642    #[serde(rename = "condition")]
643    pub condition: Option<CssFunctionConditionNode>,
644    #[serde(skip_serializing_if = "Option::is_none")]
645    #[serde(rename = "style")]
646    pub style: Option<CssStyle>,
647}
648#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
649pub struct CssFunctionRule {
650    #[serde(rename = "name")]
651    pub name: Value,
652    #[serde(skip_serializing_if = "Option::is_none")]
653    #[serde(rename = "styleSheetId")]
654    pub style_sheet_id: Option<StyleSheetId>,
655    #[serde(rename = "origin")]
656    pub origin: StyleSheetOrigin,
657    #[serde(rename = "parameters")]
658    pub parameters: Vec<CssFunctionParameter>,
659    #[serde(rename = "children")]
660    pub children: Vec<CssFunctionNode>,
661}
662#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
663pub struct CssKeyframeRule {
664    #[serde(skip_serializing_if = "Option::is_none")]
665    #[serde(rename = "styleSheetId")]
666    pub style_sheet_id: Option<StyleSheetId>,
667    #[serde(rename = "origin")]
668    pub origin: StyleSheetOrigin,
669    #[serde(rename = "keyText")]
670    pub key_text: Value,
671    #[serde(rename = "style")]
672    pub style: CssStyle,
673}
674#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
675pub struct StyleDeclarationEdit {
676    #[serde(rename = "styleSheetId")]
677    pub style_sheet_id: StyleSheetId,
678    #[serde(rename = "range")]
679    pub range: SourceRange,
680    #[serde(default)]
681    #[serde(rename = "text")]
682    pub text: String,
683}
684#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
685pub struct AddRule {
686    #[serde(rename = "styleSheetId")]
687    pub style_sheet_id: StyleSheetId,
688    #[serde(default)]
689    #[serde(rename = "ruleText")]
690    pub rule_text: String,
691    #[serde(rename = "location")]
692    pub location: SourceRange,
693    #[serde(skip_serializing_if = "Option::is_none")]
694    #[serde(rename = "nodeForPropertySyntaxValidation")]
695    pub node_for_property_syntax_validation: Option<dom::NodeId>,
696}
697#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
698pub struct CollectClassNames {
699    #[serde(rename = "styleSheetId")]
700    pub style_sheet_id: StyleSheetId,
701}
702#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
703pub struct CreateStyleSheet {
704    #[serde(rename = "frameId")]
705    pub frame_id: page::FrameId,
706    #[serde(skip_serializing_if = "Option::is_none")]
707    #[serde(default)]
708    #[serde(rename = "force")]
709    pub force: Option<bool>,
710}
711#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
712#[serde(rename_all = "camelCase")]
713pub struct Disable(pub Option<serde_json::Value>);
714#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
715#[serde(rename_all = "camelCase")]
716pub struct Enable(pub Option<serde_json::Value>);
717#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
718pub struct ForcePseudoState {
719    #[serde(rename = "nodeId")]
720    pub node_id: dom::NodeId,
721    #[serde(default)]
722    #[serde(rename = "forcedPseudoClasses")]
723    pub forced_pseudo_classes: Vec<String>,
724}
725#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
726pub struct ForceStartingStyle {
727    #[serde(rename = "nodeId")]
728    pub node_id: dom::NodeId,
729    #[serde(default)]
730    #[serde(rename = "forced")]
731    pub forced: bool,
732}
733#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
734pub struct GetBackgroundColors {
735    #[serde(rename = "nodeId")]
736    pub node_id: dom::NodeId,
737}
738#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
739pub struct GetComputedStyleForNode {
740    #[serde(rename = "nodeId")]
741    pub node_id: dom::NodeId,
742}
743#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
744pub struct ResolveValues {
745    #[serde(default)]
746    #[serde(rename = "values")]
747    pub values: Vec<String>,
748    #[serde(rename = "nodeId")]
749    pub node_id: dom::NodeId,
750    #[serde(skip_serializing_if = "Option::is_none")]
751    #[serde(default)]
752    #[serde(rename = "propertyName")]
753    pub property_name: Option<String>,
754    #[serde(skip_serializing_if = "Option::is_none")]
755    #[serde(rename = "pseudoType")]
756    pub pseudo_type: Option<dom::PseudoType>,
757    #[serde(skip_serializing_if = "Option::is_none")]
758    #[serde(default)]
759    #[serde(rename = "pseudoIdentifier")]
760    pub pseudo_identifier: Option<String>,
761}
762#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
763pub struct GetLonghandProperties {
764    #[serde(default)]
765    #[serde(rename = "shorthandName")]
766    pub shorthand_name: String,
767    #[serde(default)]
768    #[serde(rename = "value")]
769    pub value: String,
770}
771#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
772pub struct GetInlineStylesForNode {
773    #[serde(rename = "nodeId")]
774    pub node_id: dom::NodeId,
775}
776#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
777pub struct GetAnimatedStylesForNode {
778    #[serde(rename = "nodeId")]
779    pub node_id: dom::NodeId,
780}
781#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
782pub struct GetMatchedStylesForNode {
783    #[serde(rename = "nodeId")]
784    pub node_id: dom::NodeId,
785}
786#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
787#[serde(rename_all = "camelCase")]
788pub struct GetEnvironmentVariables(pub Option<serde_json::Value>);
789#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
790#[serde(rename_all = "camelCase")]
791pub struct GetMediaQueries(pub Option<serde_json::Value>);
792#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
793pub struct GetPlatformFontsForNode {
794    #[serde(rename = "nodeId")]
795    pub node_id: dom::NodeId,
796}
797#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
798pub struct GetStyleSheetText {
799    #[serde(rename = "styleSheetId")]
800    pub style_sheet_id: StyleSheetId,
801}
802#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
803pub struct GetLayersForNode {
804    #[serde(rename = "nodeId")]
805    pub node_id: dom::NodeId,
806}
807#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
808pub struct GetLocationForSelector {
809    #[serde(rename = "styleSheetId")]
810    pub style_sheet_id: StyleSheetId,
811    #[serde(default)]
812    #[serde(rename = "selectorText")]
813    pub selector_text: String,
814}
815#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
816pub struct TrackComputedStyleUpdatesForNode {
817    #[serde(skip_serializing_if = "Option::is_none")]
818    #[serde(rename = "nodeId")]
819    pub node_id: Option<dom::NodeId>,
820}
821#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
822pub struct TrackComputedStyleUpdates {
823    #[serde(rename = "propertiesToTrack")]
824    pub properties_to_track: Vec<CssComputedStyleProperty>,
825}
826#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
827#[serde(rename_all = "camelCase")]
828pub struct TakeComputedStyleUpdates(pub Option<serde_json::Value>);
829#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
830pub struct SetEffectivePropertyValueForNode {
831    #[serde(rename = "nodeId")]
832    pub node_id: dom::NodeId,
833    #[serde(default)]
834    #[serde(rename = "propertyName")]
835    pub property_name: String,
836    #[serde(default)]
837    #[serde(rename = "value")]
838    pub value: String,
839}
840#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
841pub struct SetPropertyRulePropertyName {
842    #[serde(rename = "styleSheetId")]
843    pub style_sheet_id: StyleSheetId,
844    #[serde(rename = "range")]
845    pub range: SourceRange,
846    #[serde(default)]
847    #[serde(rename = "propertyName")]
848    pub property_name: String,
849}
850#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
851pub struct SetKeyframeKey {
852    #[serde(rename = "styleSheetId")]
853    pub style_sheet_id: StyleSheetId,
854    #[serde(rename = "range")]
855    pub range: SourceRange,
856    #[serde(default)]
857    #[serde(rename = "keyText")]
858    pub key_text: String,
859}
860#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
861pub struct SetMediaText {
862    #[serde(rename = "styleSheetId")]
863    pub style_sheet_id: StyleSheetId,
864    #[serde(rename = "range")]
865    pub range: SourceRange,
866    #[serde(default)]
867    #[serde(rename = "text")]
868    pub text: String,
869}
870#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
871pub struct SetContainerQueryText {
872    #[serde(rename = "styleSheetId")]
873    pub style_sheet_id: StyleSheetId,
874    #[serde(rename = "range")]
875    pub range: SourceRange,
876    #[serde(default)]
877    #[serde(rename = "text")]
878    pub text: String,
879}
880#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
881pub struct SetSupportsText {
882    #[serde(rename = "styleSheetId")]
883    pub style_sheet_id: StyleSheetId,
884    #[serde(rename = "range")]
885    pub range: SourceRange,
886    #[serde(default)]
887    #[serde(rename = "text")]
888    pub text: String,
889}
890#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
891pub struct SetScopeText {
892    #[serde(rename = "styleSheetId")]
893    pub style_sheet_id: StyleSheetId,
894    #[serde(rename = "range")]
895    pub range: SourceRange,
896    #[serde(default)]
897    #[serde(rename = "text")]
898    pub text: String,
899}
900#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
901pub struct SetRuleSelector {
902    #[serde(rename = "styleSheetId")]
903    pub style_sheet_id: StyleSheetId,
904    #[serde(rename = "range")]
905    pub range: SourceRange,
906    #[serde(default)]
907    #[serde(rename = "selector")]
908    pub selector: String,
909}
910#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
911pub struct SetStyleSheetText {
912    #[serde(rename = "styleSheetId")]
913    pub style_sheet_id: StyleSheetId,
914    #[serde(default)]
915    #[serde(rename = "text")]
916    pub text: String,
917}
918#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
919pub struct SetStyleTexts {
920    #[serde(rename = "edits")]
921    pub edits: Vec<StyleDeclarationEdit>,
922    #[serde(skip_serializing_if = "Option::is_none")]
923    #[serde(rename = "nodeForPropertySyntaxValidation")]
924    pub node_for_property_syntax_validation: Option<dom::NodeId>,
925}
926#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
927#[serde(rename_all = "camelCase")]
928pub struct StartRuleUsageTracking(pub Option<serde_json::Value>);
929#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
930#[serde(rename_all = "camelCase")]
931pub struct StopRuleUsageTracking(pub Option<serde_json::Value>);
932#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
933#[serde(rename_all = "camelCase")]
934pub struct TakeCoverageDelta(pub Option<serde_json::Value>);
935#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
936pub struct SetLocalFontsEnabled {
937    #[serde(default)]
938    #[serde(rename = "enabled")]
939    pub enabled: bool,
940}
941#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
942pub struct AddRuleReturnObject {
943    #[serde(rename = "rule")]
944    pub rule: CssRule,
945}
946#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
947pub struct CollectClassNamesReturnObject {
948    #[serde(rename = "classNames")]
949    pub class_names: Vec<String>,
950}
951#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
952pub struct CreateStyleSheetReturnObject {
953    #[serde(rename = "styleSheetId")]
954    pub style_sheet_id: StyleSheetId,
955}
956#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
957#[serde(rename_all = "camelCase")]
958pub struct DisableReturnObject {}
959#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
960#[serde(rename_all = "camelCase")]
961pub struct EnableReturnObject {}
962#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
963#[serde(rename_all = "camelCase")]
964pub struct ForcePseudoStateReturnObject {}
965#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
966#[serde(rename_all = "camelCase")]
967pub struct ForceStartingStyleReturnObject {}
968#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
969pub struct GetBackgroundColorsReturnObject {
970    #[serde(skip_serializing_if = "Option::is_none")]
971    #[serde(rename = "backgroundColors")]
972    pub background_colors: Option<Vec<String>>,
973    #[serde(skip_serializing_if = "Option::is_none")]
974    #[serde(default)]
975    #[serde(rename = "computedFontSize")]
976    pub computed_font_size: Option<String>,
977    #[serde(skip_serializing_if = "Option::is_none")]
978    #[serde(default)]
979    #[serde(rename = "computedFontWeight")]
980    pub computed_font_weight: Option<String>,
981}
982#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
983pub struct GetComputedStyleForNodeReturnObject {
984    #[serde(rename = "computedStyle")]
985    pub computed_style: Vec<CssComputedStyleProperty>,
986    #[serde(rename = "extraFields")]
987    pub extra_fields: ComputedStyleExtraFields,
988}
989#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
990pub struct ResolveValuesReturnObject {
991    #[serde(rename = "results")]
992    pub results: Vec<String>,
993}
994#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
995pub struct GetLonghandPropertiesReturnObject {
996    #[serde(rename = "longhandProperties")]
997    pub longhand_properties: Vec<CssProperty>,
998}
999#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1000pub struct GetInlineStylesForNodeReturnObject {
1001    #[serde(skip_serializing_if = "Option::is_none")]
1002    #[serde(rename = "inlineStyle")]
1003    pub inline_style: Option<CssStyle>,
1004    #[serde(skip_serializing_if = "Option::is_none")]
1005    #[serde(rename = "attributesStyle")]
1006    pub attributes_style: Option<CssStyle>,
1007}
1008#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1009pub struct GetAnimatedStylesForNodeReturnObject {
1010    #[serde(skip_serializing_if = "Option::is_none")]
1011    #[serde(rename = "animationStyles")]
1012    pub animation_styles: Option<Vec<CssAnimationStyle>>,
1013    #[serde(skip_serializing_if = "Option::is_none")]
1014    #[serde(rename = "transitionsStyle")]
1015    pub transitions_style: Option<CssStyle>,
1016    #[serde(skip_serializing_if = "Option::is_none")]
1017    #[serde(rename = "inherited")]
1018    pub inherited: Option<Vec<InheritedAnimatedStyleEntry>>,
1019}
1020#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1021pub struct GetMatchedStylesForNodeReturnObject {
1022    #[serde(skip_serializing_if = "Option::is_none")]
1023    #[serde(rename = "inlineStyle")]
1024    pub inline_style: Option<CssStyle>,
1025    #[serde(skip_serializing_if = "Option::is_none")]
1026    #[serde(rename = "attributesStyle")]
1027    pub attributes_style: Option<CssStyle>,
1028    #[serde(skip_serializing_if = "Option::is_none")]
1029    #[serde(rename = "matchedCSSRules")]
1030    pub matched_css_rules: Option<Vec<RuleMatch>>,
1031    #[serde(skip_serializing_if = "Option::is_none")]
1032    #[serde(rename = "pseudoElements")]
1033    pub pseudo_elements: Option<Vec<PseudoElementMatches>>,
1034    #[serde(skip_serializing_if = "Option::is_none")]
1035    #[serde(rename = "inherited")]
1036    pub inherited: Option<Vec<InheritedStyleEntry>>,
1037    #[serde(skip_serializing_if = "Option::is_none")]
1038    #[serde(rename = "inheritedPseudoElements")]
1039    pub inherited_pseudo_elements: Option<Vec<InheritedPseudoElementMatches>>,
1040    #[serde(skip_serializing_if = "Option::is_none")]
1041    #[serde(rename = "cssKeyframesRules")]
1042    pub css_keyframes_rules: Option<Vec<CssKeyframesRule>>,
1043    #[serde(skip_serializing_if = "Option::is_none")]
1044    #[serde(rename = "cssPositionTryRules")]
1045    pub css_position_try_rules: Option<Vec<CssPositionTryRule>>,
1046    #[serde(skip_serializing_if = "Option::is_none")]
1047    #[serde(default)]
1048    #[serde(rename = "activePositionFallbackIndex")]
1049    pub active_position_fallback_index: Option<JsUInt>,
1050    #[serde(skip_serializing_if = "Option::is_none")]
1051    #[serde(rename = "cssPropertyRules")]
1052    pub css_property_rules: Option<Vec<CssPropertyRule>>,
1053    #[serde(skip_serializing_if = "Option::is_none")]
1054    #[serde(rename = "cssPropertyRegistrations")]
1055    pub css_property_registrations: Option<Vec<CssPropertyRegistration>>,
1056    #[serde(skip_serializing_if = "Option::is_none")]
1057    #[serde(rename = "cssFontPaletteValuesRule")]
1058    pub css_font_palette_values_rule: Option<CssFontPaletteValuesRule>,
1059    #[serde(skip_serializing_if = "Option::is_none")]
1060    #[serde(rename = "parentLayoutNodeId")]
1061    pub parent_layout_node_id: Option<dom::NodeId>,
1062    #[serde(skip_serializing_if = "Option::is_none")]
1063    #[serde(rename = "cssFunctionRules")]
1064    pub css_function_rules: Option<Vec<CssFunctionRule>>,
1065}
1066#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1067pub struct GetEnvironmentVariablesReturnObject {}
1068#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1069pub struct GetMediaQueriesReturnObject {
1070    #[serde(rename = "medias")]
1071    pub medias: Vec<CssMedia>,
1072}
1073#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1074pub struct GetPlatformFontsForNodeReturnObject {
1075    #[serde(rename = "fonts")]
1076    pub fonts: Vec<PlatformFontUsage>,
1077}
1078#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1079pub struct GetStyleSheetTextReturnObject {
1080    #[serde(default)]
1081    #[serde(rename = "text")]
1082    pub text: String,
1083}
1084#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1085pub struct GetLayersForNodeReturnObject {
1086    #[serde(rename = "rootLayer")]
1087    pub root_layer: CssLayerData,
1088}
1089#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1090pub struct GetLocationForSelectorReturnObject {
1091    #[serde(rename = "ranges")]
1092    pub ranges: Vec<SourceRange>,
1093}
1094#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1095#[serde(rename_all = "camelCase")]
1096pub struct TrackComputedStyleUpdatesForNodeReturnObject {}
1097#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1098#[serde(rename_all = "camelCase")]
1099pub struct TrackComputedStyleUpdatesReturnObject {}
1100#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1101pub struct TakeComputedStyleUpdatesReturnObject {
1102    #[serde(rename = "nodeIds")]
1103    pub node_ids: dom::NodeId,
1104}
1105#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1106#[serde(rename_all = "camelCase")]
1107pub struct SetEffectivePropertyValueForNodeReturnObject {}
1108#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1109pub struct SetPropertyRulePropertyNameReturnObject {
1110    #[serde(rename = "propertyName")]
1111    pub property_name: Value,
1112}
1113#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1114pub struct SetKeyframeKeyReturnObject {
1115    #[serde(rename = "keyText")]
1116    pub key_text: Value,
1117}
1118#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1119pub struct SetMediaTextReturnObject {
1120    #[serde(rename = "media")]
1121    pub media: CssMedia,
1122}
1123#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1124pub struct SetContainerQueryTextReturnObject {
1125    #[serde(rename = "containerQuery")]
1126    pub container_query: CssContainerQuery,
1127}
1128#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1129pub struct SetSupportsTextReturnObject {
1130    #[serde(rename = "supports")]
1131    pub supports: CssSupports,
1132}
1133#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1134pub struct SetScopeTextReturnObject {
1135    #[serde(rename = "scope")]
1136    pub scope: CssScope,
1137}
1138#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1139pub struct SetRuleSelectorReturnObject {
1140    #[serde(rename = "selectorList")]
1141    pub selector_list: SelectorList,
1142}
1143#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1144pub struct SetStyleSheetTextReturnObject {
1145    #[serde(skip_serializing_if = "Option::is_none")]
1146    #[serde(default)]
1147    #[serde(rename = "sourceMapURL")]
1148    pub source_map_url: Option<String>,
1149}
1150#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1151pub struct SetStyleTextsReturnObject {
1152    #[serde(rename = "styles")]
1153    pub styles: Vec<CssStyle>,
1154}
1155#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1156#[serde(rename_all = "camelCase")]
1157pub struct StartRuleUsageTrackingReturnObject {}
1158#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1159pub struct StopRuleUsageTrackingReturnObject {
1160    #[serde(rename = "ruleUsage")]
1161    pub rule_usage: Vec<RuleUsage>,
1162}
1163#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1164pub struct TakeCoverageDeltaReturnObject {
1165    #[serde(rename = "coverage")]
1166    pub coverage: Vec<RuleUsage>,
1167    #[serde(default)]
1168    #[serde(rename = "timestamp")]
1169    pub timestamp: JsFloat,
1170}
1171#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1172#[serde(rename_all = "camelCase")]
1173pub struct SetLocalFontsEnabledReturnObject {}
1174impl Method for AddRule {
1175    const NAME: &'static str = "CSS.addRule";
1176    type ReturnObject = AddRuleReturnObject;
1177}
1178impl Method for CollectClassNames {
1179    const NAME: &'static str = "CSS.collectClassNames";
1180    type ReturnObject = CollectClassNamesReturnObject;
1181}
1182impl Method for CreateStyleSheet {
1183    const NAME: &'static str = "CSS.createStyleSheet";
1184    type ReturnObject = CreateStyleSheetReturnObject;
1185}
1186impl Method for Disable {
1187    const NAME: &'static str = "CSS.disable";
1188    type ReturnObject = DisableReturnObject;
1189}
1190impl Method for Enable {
1191    const NAME: &'static str = "CSS.enable";
1192    type ReturnObject = EnableReturnObject;
1193}
1194impl Method for ForcePseudoState {
1195    const NAME: &'static str = "CSS.forcePseudoState";
1196    type ReturnObject = ForcePseudoStateReturnObject;
1197}
1198impl Method for ForceStartingStyle {
1199    const NAME: &'static str = "CSS.forceStartingStyle";
1200    type ReturnObject = ForceStartingStyleReturnObject;
1201}
1202impl Method for GetBackgroundColors {
1203    const NAME: &'static str = "CSS.getBackgroundColors";
1204    type ReturnObject = GetBackgroundColorsReturnObject;
1205}
1206impl Method for GetComputedStyleForNode {
1207    const NAME: &'static str = "CSS.getComputedStyleForNode";
1208    type ReturnObject = GetComputedStyleForNodeReturnObject;
1209}
1210impl Method for ResolveValues {
1211    const NAME: &'static str = "CSS.resolveValues";
1212    type ReturnObject = ResolveValuesReturnObject;
1213}
1214impl Method for GetLonghandProperties {
1215    const NAME: &'static str = "CSS.getLonghandProperties";
1216    type ReturnObject = GetLonghandPropertiesReturnObject;
1217}
1218impl Method for GetInlineStylesForNode {
1219    const NAME: &'static str = "CSS.getInlineStylesForNode";
1220    type ReturnObject = GetInlineStylesForNodeReturnObject;
1221}
1222impl Method for GetAnimatedStylesForNode {
1223    const NAME: &'static str = "CSS.getAnimatedStylesForNode";
1224    type ReturnObject = GetAnimatedStylesForNodeReturnObject;
1225}
1226impl Method for GetMatchedStylesForNode {
1227    const NAME: &'static str = "CSS.getMatchedStylesForNode";
1228    type ReturnObject = GetMatchedStylesForNodeReturnObject;
1229}
1230impl Method for GetEnvironmentVariables {
1231    const NAME: &'static str = "CSS.getEnvironmentVariables";
1232    type ReturnObject = GetEnvironmentVariablesReturnObject;
1233}
1234impl Method for GetMediaQueries {
1235    const NAME: &'static str = "CSS.getMediaQueries";
1236    type ReturnObject = GetMediaQueriesReturnObject;
1237}
1238impl Method for GetPlatformFontsForNode {
1239    const NAME: &'static str = "CSS.getPlatformFontsForNode";
1240    type ReturnObject = GetPlatformFontsForNodeReturnObject;
1241}
1242impl Method for GetStyleSheetText {
1243    const NAME: &'static str = "CSS.getStyleSheetText";
1244    type ReturnObject = GetStyleSheetTextReturnObject;
1245}
1246impl Method for GetLayersForNode {
1247    const NAME: &'static str = "CSS.getLayersForNode";
1248    type ReturnObject = GetLayersForNodeReturnObject;
1249}
1250impl Method for GetLocationForSelector {
1251    const NAME: &'static str = "CSS.getLocationForSelector";
1252    type ReturnObject = GetLocationForSelectorReturnObject;
1253}
1254impl Method for TrackComputedStyleUpdatesForNode {
1255    const NAME: &'static str = "CSS.trackComputedStyleUpdatesForNode";
1256    type ReturnObject = TrackComputedStyleUpdatesForNodeReturnObject;
1257}
1258impl Method for TrackComputedStyleUpdates {
1259    const NAME: &'static str = "CSS.trackComputedStyleUpdates";
1260    type ReturnObject = TrackComputedStyleUpdatesReturnObject;
1261}
1262impl Method for TakeComputedStyleUpdates {
1263    const NAME: &'static str = "CSS.takeComputedStyleUpdates";
1264    type ReturnObject = TakeComputedStyleUpdatesReturnObject;
1265}
1266impl Method for SetEffectivePropertyValueForNode {
1267    const NAME: &'static str = "CSS.setEffectivePropertyValueForNode";
1268    type ReturnObject = SetEffectivePropertyValueForNodeReturnObject;
1269}
1270impl Method for SetPropertyRulePropertyName {
1271    const NAME: &'static str = "CSS.setPropertyRulePropertyName";
1272    type ReturnObject = SetPropertyRulePropertyNameReturnObject;
1273}
1274impl Method for SetKeyframeKey {
1275    const NAME: &'static str = "CSS.setKeyframeKey";
1276    type ReturnObject = SetKeyframeKeyReturnObject;
1277}
1278impl Method for SetMediaText {
1279    const NAME: &'static str = "CSS.setMediaText";
1280    type ReturnObject = SetMediaTextReturnObject;
1281}
1282impl Method for SetContainerQueryText {
1283    const NAME: &'static str = "CSS.setContainerQueryText";
1284    type ReturnObject = SetContainerQueryTextReturnObject;
1285}
1286impl Method for SetSupportsText {
1287    const NAME: &'static str = "CSS.setSupportsText";
1288    type ReturnObject = SetSupportsTextReturnObject;
1289}
1290impl Method for SetScopeText {
1291    const NAME: &'static str = "CSS.setScopeText";
1292    type ReturnObject = SetScopeTextReturnObject;
1293}
1294impl Method for SetRuleSelector {
1295    const NAME: &'static str = "CSS.setRuleSelector";
1296    type ReturnObject = SetRuleSelectorReturnObject;
1297}
1298impl Method for SetStyleSheetText {
1299    const NAME: &'static str = "CSS.setStyleSheetText";
1300    type ReturnObject = SetStyleSheetTextReturnObject;
1301}
1302impl Method for SetStyleTexts {
1303    const NAME: &'static str = "CSS.setStyleTexts";
1304    type ReturnObject = SetStyleTextsReturnObject;
1305}
1306impl Method for StartRuleUsageTracking {
1307    const NAME: &'static str = "CSS.startRuleUsageTracking";
1308    type ReturnObject = StartRuleUsageTrackingReturnObject;
1309}
1310impl Method for StopRuleUsageTracking {
1311    const NAME: &'static str = "CSS.stopRuleUsageTracking";
1312    type ReturnObject = StopRuleUsageTrackingReturnObject;
1313}
1314impl Method for TakeCoverageDelta {
1315    const NAME: &'static str = "CSS.takeCoverageDelta";
1316    type ReturnObject = TakeCoverageDeltaReturnObject;
1317}
1318impl Method for SetLocalFontsEnabled {
1319    const NAME: &'static str = "CSS.setLocalFontsEnabled";
1320    type ReturnObject = SetLocalFontsEnabledReturnObject;
1321}
1322pub mod events {
1323    #[allow(unused_imports)]
1324    use super::super::types::*;
1325    #[allow(unused_imports)]
1326    use serde::{Deserialize, Serialize};
1327    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1328    pub struct FontsUpdatedEvent {
1329        pub params: FontsUpdatedEventParams,
1330    }
1331    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1332    pub struct FontsUpdatedEventParams {
1333        #[serde(skip_serializing_if = "Option::is_none")]
1334        #[serde(rename = "font")]
1335        pub font: Option<super::FontFace>,
1336    }
1337    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1338    #[serde(rename_all = "camelCase")]
1339    pub struct MediaQueryResultChangedEvent(pub Option<serde_json::Value>);
1340    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1341    pub struct StyleSheetAddedEvent {
1342        pub params: StyleSheetAddedEventParams,
1343    }
1344    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1345    pub struct StyleSheetAddedEventParams {
1346        #[serde(rename = "header")]
1347        pub header: super::CssStyleSheetHeader,
1348    }
1349    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1350    pub struct StyleSheetChangedEvent {
1351        pub params: StyleSheetChangedEventParams,
1352    }
1353    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1354    pub struct StyleSheetChangedEventParams {
1355        #[serde(rename = "styleSheetId")]
1356        pub style_sheet_id: super::StyleSheetId,
1357    }
1358    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1359    pub struct StyleSheetRemovedEvent {
1360        pub params: StyleSheetRemovedEventParams,
1361    }
1362    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1363    pub struct StyleSheetRemovedEventParams {
1364        #[serde(rename = "styleSheetId")]
1365        pub style_sheet_id: super::StyleSheetId,
1366    }
1367    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1368    pub struct ComputedStyleUpdatedEvent {
1369        pub params: ComputedStyleUpdatedEventParams,
1370    }
1371    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
1372    pub struct ComputedStyleUpdatedEventParams {
1373        #[serde(rename = "nodeId")]
1374        pub node_id: super::super::dom::NodeId,
1375    }
1376}