1use serde::{Serialize, Deserialize};
4use serde_json::Value as JsonValue;
5
6#[derive(Debug, Clone, Serialize, Deserialize, Default)]
9#[serde(rename_all = "camelCase")]
10pub struct SourceOrderConfig {
11 pub parentOutlineColor: crate::dom::RGBA,
14 pub childOutlineColor: crate::dom::RGBA,
17}
18
19#[derive(Debug, Clone, Serialize, Deserialize, Default)]
22#[serde(rename_all = "camelCase")]
23pub struct GridHighlightConfig {
24 #[serde(skip_serializing_if = "Option::is_none")]
27 pub showGridExtensionLines: Option<bool>,
28 #[serde(skip_serializing_if = "Option::is_none")]
31 pub showPositiveLineNumbers: Option<bool>,
32 #[serde(skip_serializing_if = "Option::is_none")]
35 pub showNegativeLineNumbers: Option<bool>,
36 #[serde(skip_serializing_if = "Option::is_none")]
39 pub showAreaNames: Option<bool>,
40 #[serde(skip_serializing_if = "Option::is_none")]
43 pub showLineNames: Option<bool>,
44 #[serde(skip_serializing_if = "Option::is_none")]
47 pub showTrackSizes: Option<bool>,
48 #[serde(skip_serializing_if = "Option::is_none")]
51 pub gridBorderColor: Option<crate::dom::RGBA>,
52 #[serde(skip_serializing_if = "Option::is_none")]
55 pub cellBorderColor: Option<crate::dom::RGBA>,
56 #[serde(skip_serializing_if = "Option::is_none")]
59 pub rowLineColor: Option<crate::dom::RGBA>,
60 #[serde(skip_serializing_if = "Option::is_none")]
63 pub columnLineColor: Option<crate::dom::RGBA>,
64 #[serde(skip_serializing_if = "Option::is_none")]
67 pub gridBorderDash: Option<bool>,
68 #[serde(skip_serializing_if = "Option::is_none")]
71 pub cellBorderDash: Option<bool>,
72 #[serde(skip_serializing_if = "Option::is_none")]
75 pub rowLineDash: Option<bool>,
76 #[serde(skip_serializing_if = "Option::is_none")]
79 pub columnLineDash: Option<bool>,
80 #[serde(skip_serializing_if = "Option::is_none")]
83 pub rowGapColor: Option<crate::dom::RGBA>,
84 #[serde(skip_serializing_if = "Option::is_none")]
87 pub rowHatchColor: Option<crate::dom::RGBA>,
88 #[serde(skip_serializing_if = "Option::is_none")]
91 pub columnGapColor: Option<crate::dom::RGBA>,
92 #[serde(skip_serializing_if = "Option::is_none")]
95 pub columnHatchColor: Option<crate::dom::RGBA>,
96 #[serde(skip_serializing_if = "Option::is_none")]
99 pub areaBorderColor: Option<crate::dom::RGBA>,
100 #[serde(skip_serializing_if = "Option::is_none")]
103 pub gridBackgroundColor: Option<crate::dom::RGBA>,
104}
105
106#[derive(Debug, Clone, Serialize, Deserialize, Default)]
109#[serde(rename_all = "camelCase")]
110pub struct FlexContainerHighlightConfig {
111 #[serde(skip_serializing_if = "Option::is_none")]
114 pub containerBorder: Option<LineStyle>,
115 #[serde(skip_serializing_if = "Option::is_none")]
118 pub lineSeparator: Option<LineStyle>,
119 #[serde(skip_serializing_if = "Option::is_none")]
122 pub itemSeparator: Option<LineStyle>,
123 #[serde(skip_serializing_if = "Option::is_none")]
126 pub mainDistributedSpace: Option<BoxStyle>,
127 #[serde(skip_serializing_if = "Option::is_none")]
130 pub crossDistributedSpace: Option<BoxStyle>,
131 #[serde(skip_serializing_if = "Option::is_none")]
134 pub rowGapSpace: Option<BoxStyle>,
135 #[serde(skip_serializing_if = "Option::is_none")]
138 pub columnGapSpace: Option<BoxStyle>,
139 #[serde(skip_serializing_if = "Option::is_none")]
142 pub crossAlignment: Option<LineStyle>,
143}
144
145#[derive(Debug, Clone, Serialize, Deserialize, Default)]
148#[serde(rename_all = "camelCase")]
149pub struct FlexItemHighlightConfig {
150 #[serde(skip_serializing_if = "Option::is_none")]
153 pub baseSizeBox: Option<BoxStyle>,
154 #[serde(skip_serializing_if = "Option::is_none")]
157 pub baseSizeBorder: Option<LineStyle>,
158 #[serde(skip_serializing_if = "Option::is_none")]
161 pub flexibilityArrow: Option<LineStyle>,
162}
163
164#[derive(Debug, Clone, Serialize, Deserialize, Default)]
167#[serde(rename_all = "camelCase")]
168pub struct LineStyle {
169 #[serde(skip_serializing_if = "Option::is_none")]
172 pub color: Option<crate::dom::RGBA>,
173 #[serde(skip_serializing_if = "Option::is_none")]
176 pub pattern: Option<String>,
177}
178
179#[derive(Debug, Clone, Serialize, Deserialize, Default)]
182#[serde(rename_all = "camelCase")]
183pub struct BoxStyle {
184 #[serde(skip_serializing_if = "Option::is_none")]
187 pub fillColor: Option<crate::dom::RGBA>,
188 #[serde(skip_serializing_if = "Option::is_none")]
191 pub hatchColor: Option<crate::dom::RGBA>,
192}
193
194
195#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
196pub enum ContrastAlgorithm {
197 #[default]
198 Aa,
199 Aaa,
200 Apca,
201}
202
203#[derive(Debug, Clone, Serialize, Deserialize, Default)]
206#[serde(rename_all = "camelCase")]
207pub struct HighlightConfig {
208 #[serde(skip_serializing_if = "Option::is_none")]
211 pub showInfo: Option<bool>,
212 #[serde(skip_serializing_if = "Option::is_none")]
215 pub showStyles: Option<bool>,
216 #[serde(skip_serializing_if = "Option::is_none")]
219 pub showRulers: Option<bool>,
220 #[serde(skip_serializing_if = "Option::is_none")]
223 pub showAccessibilityInfo: Option<bool>,
224 #[serde(skip_serializing_if = "Option::is_none")]
227 pub showExtensionLines: Option<bool>,
228 #[serde(skip_serializing_if = "Option::is_none")]
231 pub contentColor: Option<crate::dom::RGBA>,
232 #[serde(skip_serializing_if = "Option::is_none")]
235 pub paddingColor: Option<crate::dom::RGBA>,
236 #[serde(skip_serializing_if = "Option::is_none")]
239 pub borderColor: Option<crate::dom::RGBA>,
240 #[serde(skip_serializing_if = "Option::is_none")]
243 pub marginColor: Option<crate::dom::RGBA>,
244 #[serde(skip_serializing_if = "Option::is_none")]
247 pub eventTargetColor: Option<crate::dom::RGBA>,
248 #[serde(skip_serializing_if = "Option::is_none")]
251 pub shapeColor: Option<crate::dom::RGBA>,
252 #[serde(skip_serializing_if = "Option::is_none")]
255 pub shapeMarginColor: Option<crate::dom::RGBA>,
256 #[serde(skip_serializing_if = "Option::is_none")]
259 pub cssGridColor: Option<crate::dom::RGBA>,
260 #[serde(skip_serializing_if = "Option::is_none")]
263 pub colorFormat: Option<ColorFormat>,
264 #[serde(skip_serializing_if = "Option::is_none")]
267 pub gridHighlightConfig: Option<GridHighlightConfig>,
268 #[serde(skip_serializing_if = "Option::is_none")]
271 pub flexContainerHighlightConfig: Option<FlexContainerHighlightConfig>,
272 #[serde(skip_serializing_if = "Option::is_none")]
275 pub flexItemHighlightConfig: Option<FlexItemHighlightConfig>,
276 #[serde(skip_serializing_if = "Option::is_none")]
279 pub contrastAlgorithm: Option<ContrastAlgorithm>,
280 #[serde(skip_serializing_if = "Option::is_none")]
283 pub containerQueryContainerHighlightConfig: Option<ContainerQueryContainerHighlightConfig>,
284}
285
286
287#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
288pub enum ColorFormat {
289 #[default]
290 Rgb,
291 Hsl,
292 Hwb,
293 Hex,
294}
295
296#[derive(Debug, Clone, Serialize, Deserialize, Default)]
299#[serde(rename_all = "camelCase")]
300pub struct GridNodeHighlightConfig {
301 pub gridHighlightConfig: GridHighlightConfig,
304 pub nodeId: crate::dom::NodeId,
307}
308
309
310#[derive(Debug, Clone, Serialize, Deserialize, Default)]
311#[serde(rename_all = "camelCase")]
312pub struct FlexNodeHighlightConfig {
313 pub flexContainerHighlightConfig: FlexContainerHighlightConfig,
316 pub nodeId: crate::dom::NodeId,
319}
320
321
322#[derive(Debug, Clone, Serialize, Deserialize, Default)]
323#[serde(rename_all = "camelCase")]
324pub struct ScrollSnapContainerHighlightConfig {
325 #[serde(skip_serializing_if = "Option::is_none")]
328 pub snapportBorder: Option<LineStyle>,
329 #[serde(skip_serializing_if = "Option::is_none")]
332 pub snapAreaBorder: Option<LineStyle>,
333 #[serde(skip_serializing_if = "Option::is_none")]
336 pub scrollMarginColor: Option<crate::dom::RGBA>,
337 #[serde(skip_serializing_if = "Option::is_none")]
340 pub scrollPaddingColor: Option<crate::dom::RGBA>,
341}
342
343
344#[derive(Debug, Clone, Serialize, Deserialize, Default)]
345#[serde(rename_all = "camelCase")]
346pub struct ScrollSnapHighlightConfig {
347 pub scrollSnapContainerHighlightConfig: ScrollSnapContainerHighlightConfig,
350 pub nodeId: crate::dom::NodeId,
353}
354
355#[derive(Debug, Clone, Serialize, Deserialize, Default)]
358#[serde(rename_all = "camelCase")]
359pub struct HingeConfig {
360 pub rect: crate::dom::Rect,
363 #[serde(skip_serializing_if = "Option::is_none")]
366 pub contentColor: Option<crate::dom::RGBA>,
367 #[serde(skip_serializing_if = "Option::is_none")]
370 pub outlineColor: Option<crate::dom::RGBA>,
371}
372
373#[derive(Debug, Clone, Serialize, Deserialize, Default)]
376#[serde(rename_all = "camelCase")]
377pub struct WindowControlsOverlayConfig {
378 pub showCSS: bool,
381 pub selectedPlatform: String,
384 pub themeColor: String,
387}
388
389
390#[derive(Debug, Clone, Serialize, Deserialize, Default)]
391#[serde(rename_all = "camelCase")]
392pub struct ContainerQueryHighlightConfig {
393 pub containerQueryContainerHighlightConfig: ContainerQueryContainerHighlightConfig,
396 pub nodeId: crate::dom::NodeId,
399}
400
401
402#[derive(Debug, Clone, Serialize, Deserialize, Default)]
403#[serde(rename_all = "camelCase")]
404pub struct ContainerQueryContainerHighlightConfig {
405 #[serde(skip_serializing_if = "Option::is_none")]
408 pub containerBorder: Option<LineStyle>,
409 #[serde(skip_serializing_if = "Option::is_none")]
412 pub descendantBorder: Option<LineStyle>,
413}
414
415
416#[derive(Debug, Clone, Serialize, Deserialize, Default)]
417#[serde(rename_all = "camelCase")]
418pub struct IsolatedElementHighlightConfig {
419 pub isolationModeHighlightConfig: IsolationModeHighlightConfig,
422 pub nodeId: crate::dom::NodeId,
425}
426
427
428#[derive(Debug, Clone, Serialize, Deserialize, Default)]
429#[serde(rename_all = "camelCase")]
430pub struct IsolationModeHighlightConfig {
431 #[serde(skip_serializing_if = "Option::is_none")]
434 pub resizerColor: Option<crate::dom::RGBA>,
435 #[serde(skip_serializing_if = "Option::is_none")]
438 pub resizerHandleColor: Option<crate::dom::RGBA>,
439 #[serde(skip_serializing_if = "Option::is_none")]
442 pub maskColor: Option<crate::dom::RGBA>,
443}
444
445
446#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
447pub enum InspectMode {
448 #[default]
449 SearchForNode,
450 SearchForUAShadowDOM,
451 CaptureAreaScreenshot,
452 None,
453}
454
455
456#[derive(Debug, Clone, Serialize, Deserialize, Default)]
457#[serde(rename_all = "camelCase")]
458pub struct InspectedElementAnchorConfig {
459 #[serde(skip_serializing_if = "Option::is_none")]
462 pub nodeId: Option<crate::dom::NodeId>,
463 #[serde(skip_serializing_if = "Option::is_none")]
466 pub backendNodeId: Option<crate::dom::BackendNodeId>,
467}
468
469#[derive(Debug, Clone, Serialize, Deserialize, Default)]
472#[serde(rename_all = "camelCase")]
473pub struct GetHighlightObjectForTestParams {
474 pub nodeId: crate::dom::NodeId,
477 #[serde(skip_serializing_if = "Option::is_none")]
480 pub includeDistance: Option<bool>,
481 #[serde(skip_serializing_if = "Option::is_none")]
484 pub includeStyle: Option<bool>,
485 #[serde(skip_serializing_if = "Option::is_none")]
488 pub colorFormat: Option<ColorFormat>,
489 #[serde(skip_serializing_if = "Option::is_none")]
492 pub showAccessibilityInfo: Option<bool>,
493}
494
495#[derive(Debug, Clone, Serialize, Deserialize, Default)]
498#[serde(rename_all = "camelCase")]
499pub struct GetHighlightObjectForTestReturns {
500 pub highlight: serde_json::Map<String, JsonValue>,
503}
504
505#[derive(Debug, Clone, Serialize, Deserialize, Default)]
508#[serde(rename_all = "camelCase")]
509pub struct GetGridHighlightObjectsForTestParams {
510 pub nodeIds: Vec<crate::dom::NodeId>,
513}
514
515#[derive(Debug, Clone, Serialize, Deserialize, Default)]
518#[serde(rename_all = "camelCase")]
519pub struct GetGridHighlightObjectsForTestReturns {
520 pub highlights: serde_json::Map<String, JsonValue>,
523}
524
525#[derive(Debug, Clone, Serialize, Deserialize, Default)]
528#[serde(rename_all = "camelCase")]
529pub struct GetSourceOrderHighlightObjectForTestParams {
530 pub nodeId: crate::dom::NodeId,
533}
534
535#[derive(Debug, Clone, Serialize, Deserialize, Default)]
538#[serde(rename_all = "camelCase")]
539pub struct GetSourceOrderHighlightObjectForTestReturns {
540 pub highlight: serde_json::Map<String, JsonValue>,
543}
544
545#[derive(Debug, Clone, Serialize, Deserialize, Default)]
551#[serde(rename_all = "camelCase")]
552pub struct HighlightFrameParams {
553 pub frameId: crate::page::FrameId,
556 #[serde(skip_serializing_if = "Option::is_none")]
559 pub contentColor: Option<crate::dom::RGBA>,
560 #[serde(skip_serializing_if = "Option::is_none")]
563 pub contentOutlineColor: Option<crate::dom::RGBA>,
564}
565
566#[derive(Debug, Clone, Serialize, Deserialize, Default)]
570#[serde(rename_all = "camelCase")]
571pub struct HighlightNodeParams {
572 pub highlightConfig: HighlightConfig,
575 #[serde(skip_serializing_if = "Option::is_none")]
578 pub nodeId: Option<crate::dom::NodeId>,
579 #[serde(skip_serializing_if = "Option::is_none")]
582 pub backendNodeId: Option<crate::dom::BackendNodeId>,
583 #[serde(skip_serializing_if = "Option::is_none")]
586 pub objectId: Option<crate::runtime::RemoteObjectId>,
587 #[serde(skip_serializing_if = "Option::is_none")]
590 pub selector: Option<String>,
591}
592
593#[derive(Debug, Clone, Serialize, Deserialize, Default)]
596#[serde(rename_all = "camelCase")]
597pub struct HighlightQuadParams {
598 pub quad: crate::dom::Quad,
601 #[serde(skip_serializing_if = "Option::is_none")]
604 pub color: Option<crate::dom::RGBA>,
605 #[serde(skip_serializing_if = "Option::is_none")]
608 pub outlineColor: Option<crate::dom::RGBA>,
609}
610
611#[derive(Debug, Clone, Serialize, Deserialize, Default)]
617#[serde(rename_all = "camelCase")]
618pub struct HighlightRectParams {
619 pub x: i32,
622 pub y: i32,
625 pub width: u64,
628 pub height: i64,
631 #[serde(skip_serializing_if = "Option::is_none")]
634 pub color: Option<crate::dom::RGBA>,
635 #[serde(skip_serializing_if = "Option::is_none")]
638 pub outlineColor: Option<crate::dom::RGBA>,
639}
640
641#[derive(Debug, Clone, Serialize, Deserialize, Default)]
645#[serde(rename_all = "camelCase")]
646pub struct HighlightSourceOrderParams {
647 pub sourceOrderConfig: SourceOrderConfig,
650 #[serde(skip_serializing_if = "Option::is_none")]
653 pub nodeId: Option<crate::dom::NodeId>,
654 #[serde(skip_serializing_if = "Option::is_none")]
657 pub backendNodeId: Option<crate::dom::BackendNodeId>,
658 #[serde(skip_serializing_if = "Option::is_none")]
661 pub objectId: Option<crate::runtime::RemoteObjectId>,
662}
663
664#[derive(Debug, Clone, Serialize, Deserialize, Default)]
668#[serde(rename_all = "camelCase")]
669pub struct SetInspectModeParams {
670 pub mode: InspectMode,
673 #[serde(skip_serializing_if = "Option::is_none")]
677 pub highlightConfig: Option<HighlightConfig>,
678}
679
680#[derive(Debug, Clone, Serialize, Deserialize, Default)]
683#[serde(rename_all = "camelCase")]
684pub struct SetShowAdHighlightsParams {
685 pub show: bool,
688}
689
690
691#[derive(Debug, Clone, Serialize, Deserialize, Default)]
692#[serde(rename_all = "camelCase")]
693pub struct SetPausedInDebuggerMessageParams {
694 #[serde(skip_serializing_if = "Option::is_none")]
697 pub message: Option<String>,
698}
699
700#[derive(Debug, Clone, Serialize, Deserialize, Default)]
703#[serde(rename_all = "camelCase")]
704pub struct SetShowDebugBordersParams {
705 pub show: bool,
708}
709
710#[derive(Debug, Clone, Serialize, Deserialize, Default)]
713#[serde(rename_all = "camelCase")]
714pub struct SetShowFPSCounterParams {
715 pub show: bool,
718}
719
720#[derive(Debug, Clone, Serialize, Deserialize, Default)]
723#[serde(rename_all = "camelCase")]
724pub struct SetShowGridOverlaysParams {
725 pub gridNodeHighlightConfigs: Vec<GridNodeHighlightConfig>,
728}
729
730
731#[derive(Debug, Clone, Serialize, Deserialize, Default)]
732#[serde(rename_all = "camelCase")]
733pub struct SetShowFlexOverlaysParams {
734 pub flexNodeHighlightConfigs: Vec<FlexNodeHighlightConfig>,
737}
738
739
740#[derive(Debug, Clone, Serialize, Deserialize, Default)]
741#[serde(rename_all = "camelCase")]
742pub struct SetShowScrollSnapOverlaysParams {
743 pub scrollSnapHighlightConfigs: Vec<ScrollSnapHighlightConfig>,
746}
747
748
749#[derive(Debug, Clone, Serialize, Deserialize, Default)]
750#[serde(rename_all = "camelCase")]
751pub struct SetShowContainerQueryOverlaysParams {
752 pub containerQueryHighlightConfigs: Vec<ContainerQueryHighlightConfig>,
755}
756
757
758#[derive(Debug, Clone, Serialize, Deserialize, Default)]
759#[serde(rename_all = "camelCase")]
760pub struct SetShowInspectedElementAnchorParams {
761 pub inspectedElementAnchorConfig: InspectedElementAnchorConfig,
764}
765
766#[derive(Debug, Clone, Serialize, Deserialize, Default)]
769#[serde(rename_all = "camelCase")]
770pub struct SetShowPaintRectsParams {
771 pub result: bool,
774}
775
776#[derive(Debug, Clone, Serialize, Deserialize, Default)]
779#[serde(rename_all = "camelCase")]
780pub struct SetShowLayoutShiftRegionsParams {
781 pub result: bool,
784}
785
786#[derive(Debug, Clone, Serialize, Deserialize, Default)]
789#[serde(rename_all = "camelCase")]
790pub struct SetShowScrollBottleneckRectsParams {
791 pub show: bool,
794}
795
796#[derive(Debug, Clone, Serialize, Deserialize, Default)]
799#[serde(rename_all = "camelCase")]
800pub struct SetShowHitTestBordersParams {
801 pub show: bool,
804}
805
806#[derive(Debug, Clone, Serialize, Deserialize, Default)]
809#[serde(rename_all = "camelCase")]
810pub struct SetShowWebVitalsParams {
811
812 pub show: bool,
813}
814
815#[derive(Debug, Clone, Serialize, Deserialize, Default)]
818#[serde(rename_all = "camelCase")]
819pub struct SetShowViewportSizeOnResizeParams {
820 pub show: bool,
823}
824
825#[derive(Debug, Clone, Serialize, Deserialize, Default)]
828#[serde(rename_all = "camelCase")]
829pub struct SetShowHingeParams {
830 #[serde(skip_serializing_if = "Option::is_none")]
833 pub hingeConfig: Option<HingeConfig>,
834}
835
836#[derive(Debug, Clone, Serialize, Deserialize, Default)]
839#[serde(rename_all = "camelCase")]
840pub struct SetShowIsolatedElementsParams {
841 pub isolatedElementHighlightConfigs: Vec<IsolatedElementHighlightConfig>,
844}
845
846#[derive(Debug, Clone, Serialize, Deserialize, Default)]
849#[serde(rename_all = "camelCase")]
850pub struct SetShowWindowControlsOverlayParams {
851 #[serde(skip_serializing_if = "Option::is_none")]
854 pub windowControlsOverlayConfig: Option<WindowControlsOverlayConfig>,
855}