1#![warn(clippy::all)]
4#![allow(unused_parens, unused_mut, unused_imports, nonstandard_style)]
5
6use bitflags::bitflags;
7use fidl::encoding::{MessageBufFor, ProxyChannelBox, ResourceDialect};
8use futures::future::{self, MaybeDone, TryFutureExt};
9use zx_status;
10
11pub type CookieName = String;
12
13pub type NavigationId = u64;
16
17pub type Url = String;
18
19pub type UrlHostName = String;
20
21pub type UrlSchemeAndHostName = String;
22
23pub type UrlSchemeName = String;
24
25pub const MAX_HEADERS_COUNT: i32 = 4096;
26
27pub const MAX_HOST_LENGTH: i32 = 255;
28
29pub const MAX_RULE_COUNT: i32 = 4096;
30
31pub const MAX_SCHEME_AND_HOST_LENGTH: i32 = 513;
32
33pub const MAX_URL_LENGTH: i32 = 65536;
34
35pub const MAX_URL_SCHEME_NAME_LENGTH: i32 = 255;
36
37bitflags! {
38 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
42 pub struct ContextFeatureFlags: u64 {
43 const NETWORK = 1;
48 const AUDIO = 2;
53 const VULKAN = 4;
58 const HARDWARE_VIDEO_DECODER = 8;
63 const HARDWARE_VIDEO_DECODER_ONLY = 16;
68 const WIDEVINE_CDM = 32;
73 const HEADLESS = 64;
76 const LEGACYMETRICS = 128;
78 const KEYBOARD = 256;
81 const VIRTUAL_KEYBOARD = 512;
86 const DISABLE_DYNAMIC_CODE_GENERATION = 1024;
93 }
94}
95
96impl ContextFeatureFlags {}
97
98bitflags! {
99 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
101 pub struct InputTypes: u64 {
102 const KEY = 1;
104 const MOUSE_CLICK = 2;
106 const MOUSE_WHEEL = 4;
108 const MOUSE_MOVE = 8;
110 const GESTURE_TAP = 16;
112 const GESTURE_PINCH = 32;
114 const GESTURE_DRAG = 64;
116 const ALL = 9223372036854775808;
118 }
119}
120
121impl InputTypes {}
122
123bitflags! {
124 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
127 pub struct NavigationEventListenerFlags: u64 {
128 const FAVICON = 1;
130 }
131}
132
133impl NavigationEventListenerFlags {}
134
135bitflags! {
136 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
138 pub struct NavigationPhase: u32 {
139 const START = 1;
141 const REDIRECT = 2;
143 const PROCESS_RESPONSE = 4;
146 const FAIL = 8;
148 }
149}
150
151impl NavigationPhase {}
152
153#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
156#[repr(i32)]
157pub enum AllowInputState {
158 Allow = 1,
159 Deny = 2,
160}
161
162impl AllowInputState {
163 #[inline]
164 pub fn from_primitive(prim: i32) -> Option<Self> {
165 match prim {
166 1 => Some(Self::Allow),
167 2 => Some(Self::Deny),
168 _ => None,
169 }
170 }
171
172 #[inline]
173 pub const fn into_primitive(self) -> i32 {
174 self as i32
175 }
176}
177
178#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
180#[repr(i32)]
181pub enum AutoplayPolicy {
182 Allow = 1,
184 RequireUserActivation = 2,
187}
188
189impl AutoplayPolicy {
190 #[inline]
191 pub fn from_primitive(prim: i32) -> Option<Self> {
192 match prim {
193 1 => Some(Self::Allow),
194 2 => Some(Self::RequireUserActivation),
195 _ => None,
196 }
197 }
198
199 #[inline]
200 pub const fn into_primitive(self) -> i32 {
201 self as i32
202 }
203}
204
205#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
206#[repr(i32)]
207pub enum ConsoleLogLevel {
208 None = 100,
210 Debug = -1,
212 Info = 0,
214 Warn = 1,
216 Error = 2,
218}
219
220impl ConsoleLogLevel {
221 #[inline]
222 pub fn from_primitive(prim: i32) -> Option<Self> {
223 match prim {
224 100 => Some(Self::None),
225 -1 => Some(Self::Debug),
226 0 => Some(Self::Info),
227 1 => Some(Self::Warn),
228 2 => Some(Self::Error),
229 _ => None,
230 }
231 }
232
233 #[inline]
234 pub const fn into_primitive(self) -> i32 {
235 self as i32
236 }
237}
238
239#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
240#[repr(i32)]
241pub enum ContextError {
242 RemoteDebuggingPortNotOpened = 1,
244}
245
246impl ContextError {
247 #[inline]
248 pub fn from_primitive(prim: i32) -> Option<Self> {
249 match prim {
250 1 => Some(Self::RemoteDebuggingPortNotOpened),
251 _ => None,
252 }
253 }
254
255 #[inline]
256 pub const fn into_primitive(self) -> i32 {
257 self as i32
258 }
259}
260
261#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
263pub enum ErrorDetail {
264 LoadFailed,
266 ExplicitContentBlocked,
270 Crash,
272 #[doc(hidden)]
273 __SourceBreaking { unknown_ordinal: u32 },
274}
275
276#[macro_export]
278macro_rules! ErrorDetailUnknown {
279 () => {
280 _
281 };
282}
283
284impl ErrorDetail {
285 #[inline]
286 pub fn from_primitive(prim: u32) -> Option<Self> {
287 match prim {
288 0 => Some(Self::LoadFailed),
289 1 => Some(Self::ExplicitContentBlocked),
290 2 => Some(Self::Crash),
291 _ => None,
292 }
293 }
294
295 #[inline]
296 pub fn from_primitive_allow_unknown(prim: u32) -> Self {
297 match prim {
298 0 => Self::LoadFailed,
299 1 => Self::ExplicitContentBlocked,
300 2 => Self::Crash,
301 unknown_ordinal => Self::__SourceBreaking { unknown_ordinal },
302 }
303 }
304
305 #[inline]
306 pub fn unknown() -> Self {
307 Self::__SourceBreaking { unknown_ordinal: 0xffffffff }
308 }
309
310 #[inline]
311 pub const fn into_primitive(self) -> u32 {
312 match self {
313 Self::LoadFailed => 0,
314 Self::ExplicitContentBlocked => 1,
315 Self::Crash => 2,
316 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
317 }
318 }
319
320 #[inline]
321 pub fn is_unknown(&self) -> bool {
322 match self {
323 Self::__SourceBreaking { unknown_ordinal: _ } => true,
324 _ => false,
325 }
326 }
327}
328
329#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
331#[repr(i32)]
332pub enum FrameError {
333 InternalError = 1,
335 BufferNotUtf8 = 2,
337 InvalidOrigin = 3,
339 NoDataInMessage = 4,
341}
342
343impl FrameError {
344 #[inline]
345 pub fn from_primitive(prim: i32) -> Option<Self> {
346 match prim {
347 1 => Some(Self::InternalError),
348 2 => Some(Self::BufferNotUtf8),
349 3 => Some(Self::InvalidOrigin),
350 4 => Some(Self::NoDataInMessage),
351 _ => None,
352 }
353 }
354
355 #[inline]
356 pub const fn into_primitive(self) -> i32 {
357 self as i32
358 }
359}
360
361#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
363#[repr(u32)]
364pub enum LoadUrlReason {
365 Link = 0,
367 Typed = 1,
369}
370
371impl LoadUrlReason {
372 #[inline]
373 pub fn from_primitive(prim: u32) -> Option<Self> {
374 match prim {
375 0 => Some(Self::Link),
376 1 => Some(Self::Typed),
377 _ => None,
378 }
379 }
380
381 #[inline]
382 pub const fn into_primitive(self) -> u32 {
383 self as u32
384 }
385}
386
387#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
389#[repr(i32)]
390pub enum NavigationControllerError {
391 InvalidUrl = 1,
393 InvalidHeader = 2,
395}
396
397impl NavigationControllerError {
398 #[inline]
399 pub fn from_primitive(prim: i32) -> Option<Self> {
400 match prim {
401 1 => Some(Self::InvalidUrl),
402 2 => Some(Self::InvalidHeader),
403 _ => None,
404 }
405 }
406
407 #[inline]
408 pub const fn into_primitive(self) -> i32 {
409 self as i32
410 }
411}
412
413#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
415#[repr(u32)]
416pub enum PageType {
417 Normal = 0,
419 Error = 1,
421}
422
423impl PageType {
424 #[inline]
425 pub fn from_primitive(prim: u32) -> Option<Self> {
426 match prim {
427 0 => Some(Self::Normal),
428 1 => Some(Self::Error),
429 _ => None,
430 }
431 }
432
433 #[inline]
434 pub const fn into_primitive(self) -> u32 {
435 self as u32
436 }
437}
438
439#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
441#[repr(u8)]
442pub enum PermissionState {
443 Denied = 1,
445 Granted = 2,
447}
448
449impl PermissionState {
450 #[inline]
451 pub fn from_primitive(prim: u8) -> Option<Self> {
452 match prim {
453 1 => Some(Self::Denied),
454 2 => Some(Self::Granted),
455 _ => None,
456 }
457 }
458
459 #[inline]
460 pub const fn into_primitive(self) -> u8 {
461 self as u8
462 }
463}
464
465#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
467#[repr(u16)]
468pub enum PermissionType {
469 Microphone = 1,
471 Camera = 2,
473 ProtectedMediaIdentifier = 3,
475 PersistentStorage = 4,
477 Notifications = 5,
483}
484
485impl PermissionType {
486 #[inline]
487 pub fn from_primitive(prim: u16) -> Option<Self> {
488 match prim {
489 1 => Some(Self::Microphone),
490 2 => Some(Self::Camera),
491 3 => Some(Self::ProtectedMediaIdentifier),
492 4 => Some(Self::PersistentStorage),
493 5 => Some(Self::Notifications),
494 _ => None,
495 }
496 }
497
498 #[inline]
499 pub const fn into_primitive(self) -> u16 {
500 self as u16
501 }
502}
503
504#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
506#[repr(u32)]
507pub enum ReloadType {
508 PartialCache = 0,
510 NoCache = 1,
512}
513
514impl ReloadType {
515 #[inline]
516 pub fn from_primitive(prim: u32) -> Option<Self> {
517 match prim {
518 0 => Some(Self::PartialCache),
519 1 => Some(Self::NoCache),
520 _ => None,
521 }
522 }
523
524 #[inline]
525 pub const fn into_primitive(self) -> u32 {
526 self as u32
527 }
528}
529
530#[derive(Copy, Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash)]
531#[repr(i32)]
532pub enum UrlRequestAction {
533 Allow = 1,
535 Deny = 2,
537}
538
539impl UrlRequestAction {
540 #[inline]
541 pub fn from_primitive(prim: i32) -> Option<Self> {
542 match prim {
543 1 => Some(Self::Allow),
544 2 => Some(Self::Deny),
545 _ => None,
546 }
547 }
548
549 #[inline]
550 pub const fn into_primitive(self) -> i32 {
551 self as i32
552 }
553}
554
555#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
556#[repr(C)]
557pub struct ContextGetRemoteDebuggingPortResponse {
558 pub port: u16,
559}
560
561impl fidl::Persistable for ContextGetRemoteDebuggingPortResponse {}
562
563#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
564#[repr(C)]
565pub struct DevToolsPerContextListenerOnHttpPortOpenRequest {
566 pub port: u16,
567}
568
569impl fidl::Persistable for DevToolsPerContextListenerOnHttpPortOpenRequest {}
570
571#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
572pub struct FrameConfigureInputTypesRequest {
573 pub types: InputTypes,
574 pub allow: AllowInputState,
575}
576
577impl fidl::Persistable for FrameConfigureInputTypesRequest {}
578
579#[derive(Clone, Debug, PartialEq)]
580pub struct FrameForceContentDimensionsRequest {
581 pub web_dips: Option<Box<fidl_fuchsia_ui_gfx__common::Vec2>>,
582}
583
584impl fidl::Persistable for FrameForceContentDimensionsRequest {}
585
586#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
587#[repr(C)]
588pub struct FrameGetPrivateMemorySizeResponse {
589 pub size_bytes: u64,
590}
591
592impl fidl::Persistable for FrameGetPrivateMemorySizeResponse {}
593
594#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
595#[repr(C)]
596pub struct FrameRemoveBeforeLoadJavaScriptRequest {
597 pub id: u64,
598}
599
600impl fidl::Persistable for FrameRemoveBeforeLoadJavaScriptRequest {}
601
602#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
603pub struct FrameSetBlockMediaLoadingRequest {
604 pub blocked: bool,
605}
606
607impl fidl::Persistable for FrameSetBlockMediaLoadingRequest {}
608
609#[derive(Clone, Debug, PartialEq)]
610pub struct FrameSetContentAreaSettingsRequest {
611 pub settings: ContentAreaSettings,
612}
613
614impl fidl::Persistable for FrameSetContentAreaSettingsRequest {}
615
616#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
617pub struct FrameSetJavaScriptLogLevelRequest {
618 pub level: ConsoleLogLevel,
619}
620
621impl fidl::Persistable for FrameSetJavaScriptLogLevelRequest {}
622
623#[derive(Clone, Debug, PartialEq)]
624pub struct FrameSetMediaSettingsRequest {
625 pub settings: FrameMediaSettings,
626}
627
628impl fidl::Persistable for FrameSetMediaSettingsRequest {}
629
630#[derive(Clone, Debug, PartialEq)]
631pub struct FrameSetPermissionStateRequest {
632 pub permission: PermissionDescriptor,
633 pub web_origin: String,
634 pub state: PermissionState,
635}
636
637impl fidl::Persistable for FrameSetPermissionStateRequest {}
638
639#[derive(Clone, Debug, PartialEq)]
640pub struct FrameSetUrlRequestRewriteRulesRequest {
641 pub rules: Vec<UrlRequestRewriteRule>,
642}
643
644impl fidl::Persistable for FrameSetUrlRequestRewriteRulesRequest {}
645
646#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
647pub struct NavigationControllerReloadRequest {
648 pub type_: ReloadType,
649}
650
651impl fidl::Persistable for NavigationControllerReloadRequest {}
652
653#[derive(Clone, Debug, PartialEq)]
654pub struct NavigationPolicyProviderEvaluateRequestedNavigationRequest {
655 pub requested_navigation: RequestedNavigation,
656}
657
658impl fidl::Persistable for NavigationPolicyProviderEvaluateRequestedNavigationRequest {}
659
660#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
662pub struct NoArgumentsAction;
663
664impl fidl::Persistable for NoArgumentsAction {}
665
666#[derive(Clone, Debug, Default, PartialEq)]
669pub struct ContentAreaSettings {
670 pub hide_scrollbars: Option<bool>,
672 pub autoplay_policy: Option<AutoplayPolicy>,
675 pub theme: Option<fidl_fuchsia_settings__common::ThemeType>,
682 pub page_scale: Option<f32>,
695 #[doc(hidden)]
696 pub __source_breaking: fidl::marker::SourceBreaking,
697}
698
699impl fidl::Persistable for ContentAreaSettings {}
700
701#[derive(Clone, Debug, Default, PartialEq)]
702pub struct CookieId {
703 pub name: Option<String>,
705 pub domain: Option<String>,
708 pub path: Option<String>,
711 #[doc(hidden)]
712 pub __source_breaking: fidl::marker::SourceBreaking,
713}
714
715impl fidl::Persistable for CookieId {}
716
717#[derive(Clone, Debug, Default, PartialEq)]
718pub struct FrameCloseRequest {
719 pub timeout: Option<i64>,
721 #[doc(hidden)]
722 pub __source_breaking: fidl::marker::SourceBreaking,
723}
724
725impl fidl::Persistable for FrameCloseRequest {}
726
727#[derive(Clone, Debug, Default, PartialEq)]
728pub struct FrameMediaSettings {
729 pub renderer_usage: Option<fidl_fuchsia_media__common::AudioRenderUsage>,
733 pub audio_consumer_session_id: Option<u64>,
736 pub renderer_usage2: Option<fidl_fuchsia_media__common::AudioRenderUsage2>,
740 #[doc(hidden)]
741 pub __source_breaking: fidl::marker::SourceBreaking,
742}
743
744impl fidl::Persistable for FrameMediaSettings {}
745
746#[derive(Clone, Debug, Default, PartialEq)]
748pub struct NavigationPolicyProviderParams {
749 pub main_frame_phases: Option<NavigationPhase>,
751 pub subframe_phases: Option<NavigationPhase>,
753 #[doc(hidden)]
754 pub __source_breaking: fidl::marker::SourceBreaking,
755}
756
757impl fidl::Persistable for NavigationPolicyProviderParams {}
758
759#[derive(Clone, Debug, Default, PartialEq)]
761pub struct PermissionDescriptor {
762 pub type_: Option<PermissionType>,
763 #[doc(hidden)]
764 pub __source_breaking: fidl::marker::SourceBreaking,
765}
766
767impl fidl::Persistable for PermissionDescriptor {}
768
769#[derive(Clone, Debug, Default, PartialEq)]
770pub struct RequestedNavigation {
771 pub id: Option<u64>,
773 pub phase: Option<NavigationPhase>,
775 pub is_main_frame: Option<bool>,
777 pub is_same_document: Option<bool>,
779 pub is_http_post: Option<bool>,
781 pub url: Option<String>,
784 pub has_gesture: Option<bool>,
786 pub was_server_redirect: Option<bool>,
788 #[doc(hidden)]
789 pub __source_breaking: fidl::marker::SourceBreaking,
790}
791
792impl fidl::Persistable for RequestedNavigation {}
793
794#[derive(Clone, Debug, Default, PartialEq)]
800pub struct UrlRequestRewriteAddHeaders {
801 pub headers: Option<Vec<fidl_fuchsia_net_http__common::Header>>,
802 #[doc(hidden)]
803 pub __source_breaking: fidl::marker::SourceBreaking,
804}
805
806impl fidl::Persistable for UrlRequestRewriteAddHeaders {}
807
808#[derive(Clone, Debug, Default, PartialEq)]
813pub struct UrlRequestRewriteAppendToQuery {
814 pub query: Option<String>,
815 #[doc(hidden)]
816 pub __source_breaking: fidl::marker::SourceBreaking,
817}
818
819impl fidl::Persistable for UrlRequestRewriteAppendToQuery {}
820
821#[derive(Clone, Debug, Default, PartialEq)]
827pub struct UrlRequestRewriteRemoveHeader {
828 pub query_pattern: Option<String>,
829 pub header_name: Option<Vec<u8>>,
830 #[doc(hidden)]
831 pub __source_breaking: fidl::marker::SourceBreaking,
832}
833
834impl fidl::Persistable for UrlRequestRewriteRemoveHeader {}
835
836#[derive(Clone, Debug, Default, PartialEq)]
842pub struct UrlRequestRewriteReplaceUrl {
843 pub url_ends_with: Option<String>,
844 pub new_url: Option<String>,
845 #[doc(hidden)]
846 pub __source_breaking: fidl::marker::SourceBreaking,
847}
848
849impl fidl::Persistable for UrlRequestRewriteReplaceUrl {}
850
851#[derive(Clone, Debug, Default, PartialEq)]
852pub struct UrlRequestRewriteRule {
853 pub hosts_filter: Option<Vec<String>>,
856 pub schemes_filter: Option<Vec<String>>,
859 pub rewrites: Option<Vec<UrlRequestRewrite>>,
861 pub action: Option<UrlRequestAction>,
864 #[doc(hidden)]
865 pub __source_breaking: fidl::marker::SourceBreaking,
866}
867
868impl fidl::Persistable for UrlRequestRewriteRule {}
869
870#[derive(Clone, Debug, Default, PartialEq)]
875pub struct UrlRequestRewriteSubstituteQueryPattern {
876 pub pattern: Option<String>,
877 pub substitution: Option<String>,
878 #[doc(hidden)]
879 pub __source_breaking: fidl::marker::SourceBreaking,
880}
881
882impl fidl::Persistable for UrlRequestRewriteSubstituteQueryPattern {}
883
884#[derive(Clone, Debug)]
885pub enum UrlRequestRewrite {
886 AddHeaders(UrlRequestRewriteAddHeaders),
888 RemoveHeader(UrlRequestRewriteRemoveHeader),
890 SubstituteQueryPattern(UrlRequestRewriteSubstituteQueryPattern),
892 ReplaceUrl(UrlRequestRewriteReplaceUrl),
894 AppendToQuery(UrlRequestRewriteAppendToQuery),
896 #[doc(hidden)]
897 __SourceBreaking { unknown_ordinal: u64 },
898}
899
900#[macro_export]
902macro_rules! UrlRequestRewriteUnknown {
903 () => {
904 _
905 };
906}
907
908impl PartialEq for UrlRequestRewrite {
910 fn eq(&self, other: &Self) -> bool {
911 match (self, other) {
912 (Self::AddHeaders(x), Self::AddHeaders(y)) => *x == *y,
913 (Self::RemoveHeader(x), Self::RemoveHeader(y)) => *x == *y,
914 (Self::SubstituteQueryPattern(x), Self::SubstituteQueryPattern(y)) => *x == *y,
915 (Self::ReplaceUrl(x), Self::ReplaceUrl(y)) => *x == *y,
916 (Self::AppendToQuery(x), Self::AppendToQuery(y)) => *x == *y,
917 _ => false,
918 }
919 }
920}
921
922impl UrlRequestRewrite {
923 #[inline]
924 pub fn ordinal(&self) -> u64 {
925 match *self {
926 Self::AddHeaders(_) => 1,
927 Self::RemoveHeader(_) => 2,
928 Self::SubstituteQueryPattern(_) => 3,
929 Self::ReplaceUrl(_) => 4,
930 Self::AppendToQuery(_) => 5,
931 Self::__SourceBreaking { unknown_ordinal } => unknown_ordinal,
932 }
933 }
934
935 #[inline]
936 pub fn unknown_variant_for_testing() -> Self {
937 Self::__SourceBreaking { unknown_ordinal: 0 }
938 }
939
940 #[inline]
941 pub fn is_unknown(&self) -> bool {
942 match self {
943 Self::__SourceBreaking { .. } => true,
944 _ => false,
945 }
946 }
947}
948
949impl fidl::Persistable for UrlRequestRewrite {}
950
951pub mod context_ordinals {
952 pub const CREATE_FRAME: u64 = 0x5440a38db7cd7d8f;
953 pub const CREATE_FRAME_WITH_PARAMS: u64 = 0x2c968a330787be96;
954 pub const GET_COOKIE_MANAGER: u64 = 0x7396cda568e3fca;
955 pub const GET_REMOTE_DEBUGGING_PORT: u64 = 0x4ac6a26fe972f29;
956}
957
958pub mod context_provider_ordinals {
959 pub const CREATE: u64 = 0x6ee6fa35978eb98d;
960}
961
962pub mod cookie_manager_ordinals {
963 pub const OBSERVE_COOKIE_CHANGES: u64 = 0x49d8259726088b2;
964 pub const GET_COOKIE_LIST: u64 = 0x391d79f54044f334;
965}
966
967pub mod cookies_iterator_ordinals {
968 pub const GET_NEXT: u64 = 0x61b55ebf67ec457d;
969}
970
971pub mod debug_ordinals {
972 pub const ENABLE_DEV_TOOLS: u64 = 0x44b5e1f4e4c548e4;
973}
974
975pub mod dev_tools_listener_ordinals {
976 pub const ON_CONTEXT_DEV_TOOLS_AVAILABLE: u64 = 0x4b259fb4d7e49e87;
977}
978
979pub mod dev_tools_per_context_listener_ordinals {
980 pub const ON_HTTP_PORT_OPEN: u64 = 0x5e330939b035553b;
981}
982
983pub mod frame_ordinals {
984 pub const CREATE_VIEW: u64 = 0x6a27859439133264;
985 pub const CREATE_VIEW_WITH_VIEW_REF: u64 = 0x1eb17ab2442326ac;
986 pub const CREATE_VIEW2: u64 = 0x1be7e9512962eb37;
987 pub const ENABLE_HEADLESS_RENDERING: u64 = 0x72a81aaae7a80d2b;
988 pub const DISABLE_HEADLESS_RENDERING: u64 = 0x5ca38a3d1f7f543a;
989 pub const GET_MEDIA_PLAYER: u64 = 0xaafb639fc0b9eb9;
990 pub const GET_NAVIGATION_CONTROLLER: u64 = 0x4521cfe95217a688;
991 pub const EXECUTE_JAVA_SCRIPT: u64 = 0x79abdd4907000542;
992 pub const EXECUTE_JAVA_SCRIPT_NO_RESULT: u64 = 0x16b8491520cbcd63;
993 pub const ADD_BEFORE_LOAD_JAVA_SCRIPT: u64 = 0x540ac0da59d823e;
994 pub const REMOVE_BEFORE_LOAD_JAVA_SCRIPT: u64 = 0x17d92b855b61d23a;
995 pub const POST_MESSAGE: u64 = 0x751d686eb7caa341;
996 pub const SET_NAVIGATION_EVENT_LISTENER: u64 = 0x965ba0fa20e0a56;
997 pub const SET_NAVIGATION_EVENT_LISTENER2: u64 = 0x5f8b40607f1f578f;
998 pub const SET_JAVA_SCRIPT_LOG_LEVEL: u64 = 0x74824b11a71c4b5b;
999 pub const SET_CONSOLE_LOG_SINK: u64 = 0x18f5cbc19fa4687b;
1000 pub const CONFIGURE_INPUT_TYPES: u64 = 0x38e08fe763c6bef6;
1001 pub const SET_POPUP_FRAME_CREATION_LISTENER: u64 = 0x34ddec4e9f11e2aa;
1002 pub const SET_URL_REQUEST_REWRITE_RULES: u64 = 0x2e3f797350ab3281;
1003 pub const SET_MEDIA_SETTINGS: u64 = 0x7da879b6d284c143;
1004 pub const FORCE_CONTENT_DIMENSIONS: u64 = 0x8c7024c7149c901;
1005 pub const SET_PERMISSION_STATE: u64 = 0x19574e92a7033f4f;
1006 pub const SET_BLOCK_MEDIA_LOADING: u64 = 0x211071458fc9cf4f;
1007 pub const GET_PRIVATE_MEMORY_SIZE: u64 = 0x6ad4d43da6c129b0;
1008 pub const SET_NAVIGATION_POLICY_PROVIDER: u64 = 0x602ce35195d66654;
1009 pub const SET_CONTENT_AREA_SETTINGS: u64 = 0x851f4de50c3c27e;
1010 pub const RESET_CONTENT_AREA_SETTINGS: u64 = 0x6807e04f16f8ee5d;
1011 pub const CLOSE: u64 = 0x442e84138e65351;
1012}
1013
1014pub mod frame_host_ordinals {
1015 pub const CREATE_FRAME_WITH_PARAMS: u64 = 0x670186c3a1b3f28;
1016}
1017
1018pub mod message_port_ordinals {
1019 pub const POST_MESSAGE: u64 = 0x2bcf0a6ed30ffd1f;
1020 pub const RECEIVE_MESSAGE: u64 = 0x6c8a6051690be58d;
1021}
1022
1023pub mod navigation_controller_ordinals {
1024 pub const LOAD_URL: u64 = 0x78f2ab0a480d0182;
1025 pub const GO_BACK: u64 = 0x2accdd8d87d89c38;
1026 pub const GO_FORWARD: u64 = 0x39e4ac955ade2781;
1027 pub const STOP: u64 = 0x2383078ffbe6fea;
1028 pub const RELOAD: u64 = 0x33faedfe67d6f00;
1029}
1030
1031pub mod navigation_event_listener_ordinals {
1032 pub const ON_NAVIGATION_STATE_CHANGED: u64 = 0x453ac6bcbc82fbb6;
1033}
1034
1035pub mod navigation_policy_provider_ordinals {
1036 pub const EVALUATE_REQUESTED_NAVIGATION: u64 = 0x54446b50cf3512b6;
1037}
1038
1039pub mod popup_frame_creation_listener_ordinals {
1040 pub const ON_POPUP_FRAME_CREATED: u64 = 0x19b212672dc41d51;
1041}
1042
1043mod internal {
1044 use super::*;
1045 unsafe impl fidl::encoding::TypeMarker for ContextFeatureFlags {
1046 type Owned = Self;
1047
1048 #[inline(always)]
1049 fn inline_align(_context: fidl::encoding::Context) -> usize {
1050 8
1051 }
1052
1053 #[inline(always)]
1054 fn inline_size(_context: fidl::encoding::Context) -> usize {
1055 8
1056 }
1057 }
1058
1059 impl fidl::encoding::ValueTypeMarker for ContextFeatureFlags {
1060 type Borrowed<'a> = Self;
1061 #[inline(always)]
1062 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1063 *value
1064 }
1065 }
1066
1067 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1068 for ContextFeatureFlags
1069 {
1070 #[inline]
1071 unsafe fn encode(
1072 self,
1073 encoder: &mut fidl::encoding::Encoder<'_, D>,
1074 offset: usize,
1075 _depth: fidl::encoding::Depth,
1076 ) -> fidl::Result<()> {
1077 encoder.debug_check_bounds::<Self>(offset);
1078 if self.bits() & Self::all().bits() != self.bits() {
1079 return Err(fidl::Error::InvalidBitsValue);
1080 }
1081 encoder.write_num(self.bits(), offset);
1082 Ok(())
1083 }
1084 }
1085
1086 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ContextFeatureFlags {
1087 #[inline(always)]
1088 fn new_empty() -> Self {
1089 Self::empty()
1090 }
1091
1092 #[inline]
1093 unsafe fn decode(
1094 &mut self,
1095 decoder: &mut fidl::encoding::Decoder<'_, D>,
1096 offset: usize,
1097 _depth: fidl::encoding::Depth,
1098 ) -> fidl::Result<()> {
1099 decoder.debug_check_bounds::<Self>(offset);
1100 let prim = decoder.read_num::<u64>(offset);
1101 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
1102 Ok(())
1103 }
1104 }
1105 unsafe impl fidl::encoding::TypeMarker for InputTypes {
1106 type Owned = Self;
1107
1108 #[inline(always)]
1109 fn inline_align(_context: fidl::encoding::Context) -> usize {
1110 8
1111 }
1112
1113 #[inline(always)]
1114 fn inline_size(_context: fidl::encoding::Context) -> usize {
1115 8
1116 }
1117 }
1118
1119 impl fidl::encoding::ValueTypeMarker for InputTypes {
1120 type Borrowed<'a> = Self;
1121 #[inline(always)]
1122 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1123 *value
1124 }
1125 }
1126
1127 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for InputTypes {
1128 #[inline]
1129 unsafe fn encode(
1130 self,
1131 encoder: &mut fidl::encoding::Encoder<'_, D>,
1132 offset: usize,
1133 _depth: fidl::encoding::Depth,
1134 ) -> fidl::Result<()> {
1135 encoder.debug_check_bounds::<Self>(offset);
1136 if self.bits() & Self::all().bits() != self.bits() {
1137 return Err(fidl::Error::InvalidBitsValue);
1138 }
1139 encoder.write_num(self.bits(), offset);
1140 Ok(())
1141 }
1142 }
1143
1144 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for InputTypes {
1145 #[inline(always)]
1146 fn new_empty() -> Self {
1147 Self::empty()
1148 }
1149
1150 #[inline]
1151 unsafe fn decode(
1152 &mut self,
1153 decoder: &mut fidl::encoding::Decoder<'_, D>,
1154 offset: usize,
1155 _depth: fidl::encoding::Depth,
1156 ) -> fidl::Result<()> {
1157 decoder.debug_check_bounds::<Self>(offset);
1158 let prim = decoder.read_num::<u64>(offset);
1159 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
1160 Ok(())
1161 }
1162 }
1163 unsafe impl fidl::encoding::TypeMarker for NavigationEventListenerFlags {
1164 type Owned = Self;
1165
1166 #[inline(always)]
1167 fn inline_align(_context: fidl::encoding::Context) -> usize {
1168 8
1169 }
1170
1171 #[inline(always)]
1172 fn inline_size(_context: fidl::encoding::Context) -> usize {
1173 8
1174 }
1175 }
1176
1177 impl fidl::encoding::ValueTypeMarker for NavigationEventListenerFlags {
1178 type Borrowed<'a> = Self;
1179 #[inline(always)]
1180 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1181 *value
1182 }
1183 }
1184
1185 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1186 for NavigationEventListenerFlags
1187 {
1188 #[inline]
1189 unsafe fn encode(
1190 self,
1191 encoder: &mut fidl::encoding::Encoder<'_, D>,
1192 offset: usize,
1193 _depth: fidl::encoding::Depth,
1194 ) -> fidl::Result<()> {
1195 encoder.debug_check_bounds::<Self>(offset);
1196 if self.bits() & Self::all().bits() != self.bits() {
1197 return Err(fidl::Error::InvalidBitsValue);
1198 }
1199 encoder.write_num(self.bits(), offset);
1200 Ok(())
1201 }
1202 }
1203
1204 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1205 for NavigationEventListenerFlags
1206 {
1207 #[inline(always)]
1208 fn new_empty() -> Self {
1209 Self::empty()
1210 }
1211
1212 #[inline]
1213 unsafe fn decode(
1214 &mut self,
1215 decoder: &mut fidl::encoding::Decoder<'_, D>,
1216 offset: usize,
1217 _depth: fidl::encoding::Depth,
1218 ) -> fidl::Result<()> {
1219 decoder.debug_check_bounds::<Self>(offset);
1220 let prim = decoder.read_num::<u64>(offset);
1221 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
1222 Ok(())
1223 }
1224 }
1225 unsafe impl fidl::encoding::TypeMarker for NavigationPhase {
1226 type Owned = Self;
1227
1228 #[inline(always)]
1229 fn inline_align(_context: fidl::encoding::Context) -> usize {
1230 4
1231 }
1232
1233 #[inline(always)]
1234 fn inline_size(_context: fidl::encoding::Context) -> usize {
1235 4
1236 }
1237 }
1238
1239 impl fidl::encoding::ValueTypeMarker for NavigationPhase {
1240 type Borrowed<'a> = Self;
1241 #[inline(always)]
1242 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1243 *value
1244 }
1245 }
1246
1247 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1248 for NavigationPhase
1249 {
1250 #[inline]
1251 unsafe fn encode(
1252 self,
1253 encoder: &mut fidl::encoding::Encoder<'_, D>,
1254 offset: usize,
1255 _depth: fidl::encoding::Depth,
1256 ) -> fidl::Result<()> {
1257 encoder.debug_check_bounds::<Self>(offset);
1258 if self.bits() & Self::all().bits() != self.bits() {
1259 return Err(fidl::Error::InvalidBitsValue);
1260 }
1261 encoder.write_num(self.bits(), offset);
1262 Ok(())
1263 }
1264 }
1265
1266 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for NavigationPhase {
1267 #[inline(always)]
1268 fn new_empty() -> Self {
1269 Self::empty()
1270 }
1271
1272 #[inline]
1273 unsafe fn decode(
1274 &mut self,
1275 decoder: &mut fidl::encoding::Decoder<'_, D>,
1276 offset: usize,
1277 _depth: fidl::encoding::Depth,
1278 ) -> fidl::Result<()> {
1279 decoder.debug_check_bounds::<Self>(offset);
1280 let prim = decoder.read_num::<u32>(offset);
1281 *self = Self::from_bits(prim).ok_or(fidl::Error::InvalidBitsValue)?;
1282 Ok(())
1283 }
1284 }
1285 unsafe impl fidl::encoding::TypeMarker for AllowInputState {
1286 type Owned = Self;
1287
1288 #[inline(always)]
1289 fn inline_align(_context: fidl::encoding::Context) -> usize {
1290 std::mem::align_of::<i32>()
1291 }
1292
1293 #[inline(always)]
1294 fn inline_size(_context: fidl::encoding::Context) -> usize {
1295 std::mem::size_of::<i32>()
1296 }
1297
1298 #[inline(always)]
1299 fn encode_is_copy() -> bool {
1300 true
1301 }
1302
1303 #[inline(always)]
1304 fn decode_is_copy() -> bool {
1305 false
1306 }
1307 }
1308
1309 impl fidl::encoding::ValueTypeMarker for AllowInputState {
1310 type Borrowed<'a> = Self;
1311 #[inline(always)]
1312 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1313 *value
1314 }
1315 }
1316
1317 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1318 for AllowInputState
1319 {
1320 #[inline]
1321 unsafe fn encode(
1322 self,
1323 encoder: &mut fidl::encoding::Encoder<'_, D>,
1324 offset: usize,
1325 _depth: fidl::encoding::Depth,
1326 ) -> fidl::Result<()> {
1327 encoder.debug_check_bounds::<Self>(offset);
1328 encoder.write_num(self.into_primitive(), offset);
1329 Ok(())
1330 }
1331 }
1332
1333 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AllowInputState {
1334 #[inline(always)]
1335 fn new_empty() -> Self {
1336 Self::Allow
1337 }
1338
1339 #[inline]
1340 unsafe fn decode(
1341 &mut self,
1342 decoder: &mut fidl::encoding::Decoder<'_, D>,
1343 offset: usize,
1344 _depth: fidl::encoding::Depth,
1345 ) -> fidl::Result<()> {
1346 decoder.debug_check_bounds::<Self>(offset);
1347 let prim = decoder.read_num::<i32>(offset);
1348
1349 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1350 Ok(())
1351 }
1352 }
1353 unsafe impl fidl::encoding::TypeMarker for AutoplayPolicy {
1354 type Owned = Self;
1355
1356 #[inline(always)]
1357 fn inline_align(_context: fidl::encoding::Context) -> usize {
1358 std::mem::align_of::<i32>()
1359 }
1360
1361 #[inline(always)]
1362 fn inline_size(_context: fidl::encoding::Context) -> usize {
1363 std::mem::size_of::<i32>()
1364 }
1365
1366 #[inline(always)]
1367 fn encode_is_copy() -> bool {
1368 true
1369 }
1370
1371 #[inline(always)]
1372 fn decode_is_copy() -> bool {
1373 false
1374 }
1375 }
1376
1377 impl fidl::encoding::ValueTypeMarker for AutoplayPolicy {
1378 type Borrowed<'a> = Self;
1379 #[inline(always)]
1380 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1381 *value
1382 }
1383 }
1384
1385 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for AutoplayPolicy {
1386 #[inline]
1387 unsafe fn encode(
1388 self,
1389 encoder: &mut fidl::encoding::Encoder<'_, D>,
1390 offset: usize,
1391 _depth: fidl::encoding::Depth,
1392 ) -> fidl::Result<()> {
1393 encoder.debug_check_bounds::<Self>(offset);
1394 encoder.write_num(self.into_primitive(), offset);
1395 Ok(())
1396 }
1397 }
1398
1399 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for AutoplayPolicy {
1400 #[inline(always)]
1401 fn new_empty() -> Self {
1402 Self::Allow
1403 }
1404
1405 #[inline]
1406 unsafe fn decode(
1407 &mut self,
1408 decoder: &mut fidl::encoding::Decoder<'_, D>,
1409 offset: usize,
1410 _depth: fidl::encoding::Depth,
1411 ) -> fidl::Result<()> {
1412 decoder.debug_check_bounds::<Self>(offset);
1413 let prim = decoder.read_num::<i32>(offset);
1414
1415 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1416 Ok(())
1417 }
1418 }
1419 unsafe impl fidl::encoding::TypeMarker for ConsoleLogLevel {
1420 type Owned = Self;
1421
1422 #[inline(always)]
1423 fn inline_align(_context: fidl::encoding::Context) -> usize {
1424 std::mem::align_of::<i32>()
1425 }
1426
1427 #[inline(always)]
1428 fn inline_size(_context: fidl::encoding::Context) -> usize {
1429 std::mem::size_of::<i32>()
1430 }
1431
1432 #[inline(always)]
1433 fn encode_is_copy() -> bool {
1434 true
1435 }
1436
1437 #[inline(always)]
1438 fn decode_is_copy() -> bool {
1439 false
1440 }
1441 }
1442
1443 impl fidl::encoding::ValueTypeMarker for ConsoleLogLevel {
1444 type Borrowed<'a> = Self;
1445 #[inline(always)]
1446 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1447 *value
1448 }
1449 }
1450
1451 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1452 for ConsoleLogLevel
1453 {
1454 #[inline]
1455 unsafe fn encode(
1456 self,
1457 encoder: &mut fidl::encoding::Encoder<'_, D>,
1458 offset: usize,
1459 _depth: fidl::encoding::Depth,
1460 ) -> fidl::Result<()> {
1461 encoder.debug_check_bounds::<Self>(offset);
1462 encoder.write_num(self.into_primitive(), offset);
1463 Ok(())
1464 }
1465 }
1466
1467 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ConsoleLogLevel {
1468 #[inline(always)]
1469 fn new_empty() -> Self {
1470 Self::Debug
1471 }
1472
1473 #[inline]
1474 unsafe fn decode(
1475 &mut self,
1476 decoder: &mut fidl::encoding::Decoder<'_, D>,
1477 offset: usize,
1478 _depth: fidl::encoding::Depth,
1479 ) -> fidl::Result<()> {
1480 decoder.debug_check_bounds::<Self>(offset);
1481 let prim = decoder.read_num::<i32>(offset);
1482
1483 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1484 Ok(())
1485 }
1486 }
1487 unsafe impl fidl::encoding::TypeMarker for ContextError {
1488 type Owned = Self;
1489
1490 #[inline(always)]
1491 fn inline_align(_context: fidl::encoding::Context) -> usize {
1492 std::mem::align_of::<i32>()
1493 }
1494
1495 #[inline(always)]
1496 fn inline_size(_context: fidl::encoding::Context) -> usize {
1497 std::mem::size_of::<i32>()
1498 }
1499
1500 #[inline(always)]
1501 fn encode_is_copy() -> bool {
1502 true
1503 }
1504
1505 #[inline(always)]
1506 fn decode_is_copy() -> bool {
1507 false
1508 }
1509 }
1510
1511 impl fidl::encoding::ValueTypeMarker for ContextError {
1512 type Borrowed<'a> = Self;
1513 #[inline(always)]
1514 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1515 *value
1516 }
1517 }
1518
1519 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ContextError {
1520 #[inline]
1521 unsafe fn encode(
1522 self,
1523 encoder: &mut fidl::encoding::Encoder<'_, D>,
1524 offset: usize,
1525 _depth: fidl::encoding::Depth,
1526 ) -> fidl::Result<()> {
1527 encoder.debug_check_bounds::<Self>(offset);
1528 encoder.write_num(self.into_primitive(), offset);
1529 Ok(())
1530 }
1531 }
1532
1533 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ContextError {
1534 #[inline(always)]
1535 fn new_empty() -> Self {
1536 Self::RemoteDebuggingPortNotOpened
1537 }
1538
1539 #[inline]
1540 unsafe fn decode(
1541 &mut self,
1542 decoder: &mut fidl::encoding::Decoder<'_, D>,
1543 offset: usize,
1544 _depth: fidl::encoding::Depth,
1545 ) -> fidl::Result<()> {
1546 decoder.debug_check_bounds::<Self>(offset);
1547 let prim = decoder.read_num::<i32>(offset);
1548
1549 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1550 Ok(())
1551 }
1552 }
1553 unsafe impl fidl::encoding::TypeMarker for ErrorDetail {
1554 type Owned = Self;
1555
1556 #[inline(always)]
1557 fn inline_align(_context: fidl::encoding::Context) -> usize {
1558 std::mem::align_of::<u32>()
1559 }
1560
1561 #[inline(always)]
1562 fn inline_size(_context: fidl::encoding::Context) -> usize {
1563 std::mem::size_of::<u32>()
1564 }
1565
1566 #[inline(always)]
1567 fn encode_is_copy() -> bool {
1568 false
1569 }
1570
1571 #[inline(always)]
1572 fn decode_is_copy() -> bool {
1573 false
1574 }
1575 }
1576
1577 impl fidl::encoding::ValueTypeMarker for ErrorDetail {
1578 type Borrowed<'a> = Self;
1579 #[inline(always)]
1580 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1581 *value
1582 }
1583 }
1584
1585 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ErrorDetail {
1586 #[inline]
1587 unsafe fn encode(
1588 self,
1589 encoder: &mut fidl::encoding::Encoder<'_, D>,
1590 offset: usize,
1591 _depth: fidl::encoding::Depth,
1592 ) -> fidl::Result<()> {
1593 encoder.debug_check_bounds::<Self>(offset);
1594 encoder.write_num(self.into_primitive(), offset);
1595 Ok(())
1596 }
1597 }
1598
1599 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ErrorDetail {
1600 #[inline(always)]
1601 fn new_empty() -> Self {
1602 Self::unknown()
1603 }
1604
1605 #[inline]
1606 unsafe fn decode(
1607 &mut self,
1608 decoder: &mut fidl::encoding::Decoder<'_, D>,
1609 offset: usize,
1610 _depth: fidl::encoding::Depth,
1611 ) -> fidl::Result<()> {
1612 decoder.debug_check_bounds::<Self>(offset);
1613 let prim = decoder.read_num::<u32>(offset);
1614
1615 *self = Self::from_primitive_allow_unknown(prim);
1616 Ok(())
1617 }
1618 }
1619 unsafe impl fidl::encoding::TypeMarker for FrameError {
1620 type Owned = Self;
1621
1622 #[inline(always)]
1623 fn inline_align(_context: fidl::encoding::Context) -> usize {
1624 std::mem::align_of::<i32>()
1625 }
1626
1627 #[inline(always)]
1628 fn inline_size(_context: fidl::encoding::Context) -> usize {
1629 std::mem::size_of::<i32>()
1630 }
1631
1632 #[inline(always)]
1633 fn encode_is_copy() -> bool {
1634 true
1635 }
1636
1637 #[inline(always)]
1638 fn decode_is_copy() -> bool {
1639 false
1640 }
1641 }
1642
1643 impl fidl::encoding::ValueTypeMarker for FrameError {
1644 type Borrowed<'a> = Self;
1645 #[inline(always)]
1646 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1647 *value
1648 }
1649 }
1650
1651 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for FrameError {
1652 #[inline]
1653 unsafe fn encode(
1654 self,
1655 encoder: &mut fidl::encoding::Encoder<'_, D>,
1656 offset: usize,
1657 _depth: fidl::encoding::Depth,
1658 ) -> fidl::Result<()> {
1659 encoder.debug_check_bounds::<Self>(offset);
1660 encoder.write_num(self.into_primitive(), offset);
1661 Ok(())
1662 }
1663 }
1664
1665 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for FrameError {
1666 #[inline(always)]
1667 fn new_empty() -> Self {
1668 Self::InternalError
1669 }
1670
1671 #[inline]
1672 unsafe fn decode(
1673 &mut self,
1674 decoder: &mut fidl::encoding::Decoder<'_, D>,
1675 offset: usize,
1676 _depth: fidl::encoding::Depth,
1677 ) -> fidl::Result<()> {
1678 decoder.debug_check_bounds::<Self>(offset);
1679 let prim = decoder.read_num::<i32>(offset);
1680
1681 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1682 Ok(())
1683 }
1684 }
1685 unsafe impl fidl::encoding::TypeMarker for LoadUrlReason {
1686 type Owned = Self;
1687
1688 #[inline(always)]
1689 fn inline_align(_context: fidl::encoding::Context) -> usize {
1690 std::mem::align_of::<u32>()
1691 }
1692
1693 #[inline(always)]
1694 fn inline_size(_context: fidl::encoding::Context) -> usize {
1695 std::mem::size_of::<u32>()
1696 }
1697
1698 #[inline(always)]
1699 fn encode_is_copy() -> bool {
1700 true
1701 }
1702
1703 #[inline(always)]
1704 fn decode_is_copy() -> bool {
1705 false
1706 }
1707 }
1708
1709 impl fidl::encoding::ValueTypeMarker for LoadUrlReason {
1710 type Borrowed<'a> = Self;
1711 #[inline(always)]
1712 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1713 *value
1714 }
1715 }
1716
1717 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for LoadUrlReason {
1718 #[inline]
1719 unsafe fn encode(
1720 self,
1721 encoder: &mut fidl::encoding::Encoder<'_, D>,
1722 offset: usize,
1723 _depth: fidl::encoding::Depth,
1724 ) -> fidl::Result<()> {
1725 encoder.debug_check_bounds::<Self>(offset);
1726 encoder.write_num(self.into_primitive(), offset);
1727 Ok(())
1728 }
1729 }
1730
1731 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for LoadUrlReason {
1732 #[inline(always)]
1733 fn new_empty() -> Self {
1734 Self::Link
1735 }
1736
1737 #[inline]
1738 unsafe fn decode(
1739 &mut self,
1740 decoder: &mut fidl::encoding::Decoder<'_, D>,
1741 offset: usize,
1742 _depth: fidl::encoding::Depth,
1743 ) -> fidl::Result<()> {
1744 decoder.debug_check_bounds::<Self>(offset);
1745 let prim = decoder.read_num::<u32>(offset);
1746
1747 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1748 Ok(())
1749 }
1750 }
1751 unsafe impl fidl::encoding::TypeMarker for NavigationControllerError {
1752 type Owned = Self;
1753
1754 #[inline(always)]
1755 fn inline_align(_context: fidl::encoding::Context) -> usize {
1756 std::mem::align_of::<i32>()
1757 }
1758
1759 #[inline(always)]
1760 fn inline_size(_context: fidl::encoding::Context) -> usize {
1761 std::mem::size_of::<i32>()
1762 }
1763
1764 #[inline(always)]
1765 fn encode_is_copy() -> bool {
1766 true
1767 }
1768
1769 #[inline(always)]
1770 fn decode_is_copy() -> bool {
1771 false
1772 }
1773 }
1774
1775 impl fidl::encoding::ValueTypeMarker for NavigationControllerError {
1776 type Borrowed<'a> = Self;
1777 #[inline(always)]
1778 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1779 *value
1780 }
1781 }
1782
1783 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1784 for NavigationControllerError
1785 {
1786 #[inline]
1787 unsafe fn encode(
1788 self,
1789 encoder: &mut fidl::encoding::Encoder<'_, D>,
1790 offset: usize,
1791 _depth: fidl::encoding::Depth,
1792 ) -> fidl::Result<()> {
1793 encoder.debug_check_bounds::<Self>(offset);
1794 encoder.write_num(self.into_primitive(), offset);
1795 Ok(())
1796 }
1797 }
1798
1799 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
1800 for NavigationControllerError
1801 {
1802 #[inline(always)]
1803 fn new_empty() -> Self {
1804 Self::InvalidUrl
1805 }
1806
1807 #[inline]
1808 unsafe fn decode(
1809 &mut self,
1810 decoder: &mut fidl::encoding::Decoder<'_, D>,
1811 offset: usize,
1812 _depth: fidl::encoding::Depth,
1813 ) -> fidl::Result<()> {
1814 decoder.debug_check_bounds::<Self>(offset);
1815 let prim = decoder.read_num::<i32>(offset);
1816
1817 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1818 Ok(())
1819 }
1820 }
1821 unsafe impl fidl::encoding::TypeMarker for PageType {
1822 type Owned = Self;
1823
1824 #[inline(always)]
1825 fn inline_align(_context: fidl::encoding::Context) -> usize {
1826 std::mem::align_of::<u32>()
1827 }
1828
1829 #[inline(always)]
1830 fn inline_size(_context: fidl::encoding::Context) -> usize {
1831 std::mem::size_of::<u32>()
1832 }
1833
1834 #[inline(always)]
1835 fn encode_is_copy() -> bool {
1836 true
1837 }
1838
1839 #[inline(always)]
1840 fn decode_is_copy() -> bool {
1841 false
1842 }
1843 }
1844
1845 impl fidl::encoding::ValueTypeMarker for PageType {
1846 type Borrowed<'a> = Self;
1847 #[inline(always)]
1848 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1849 *value
1850 }
1851 }
1852
1853 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for PageType {
1854 #[inline]
1855 unsafe fn encode(
1856 self,
1857 encoder: &mut fidl::encoding::Encoder<'_, D>,
1858 offset: usize,
1859 _depth: fidl::encoding::Depth,
1860 ) -> fidl::Result<()> {
1861 encoder.debug_check_bounds::<Self>(offset);
1862 encoder.write_num(self.into_primitive(), offset);
1863 Ok(())
1864 }
1865 }
1866
1867 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PageType {
1868 #[inline(always)]
1869 fn new_empty() -> Self {
1870 Self::Normal
1871 }
1872
1873 #[inline]
1874 unsafe fn decode(
1875 &mut self,
1876 decoder: &mut fidl::encoding::Decoder<'_, D>,
1877 offset: usize,
1878 _depth: fidl::encoding::Depth,
1879 ) -> fidl::Result<()> {
1880 decoder.debug_check_bounds::<Self>(offset);
1881 let prim = decoder.read_num::<u32>(offset);
1882
1883 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1884 Ok(())
1885 }
1886 }
1887 unsafe impl fidl::encoding::TypeMarker for PermissionState {
1888 type Owned = Self;
1889
1890 #[inline(always)]
1891 fn inline_align(_context: fidl::encoding::Context) -> usize {
1892 std::mem::align_of::<u8>()
1893 }
1894
1895 #[inline(always)]
1896 fn inline_size(_context: fidl::encoding::Context) -> usize {
1897 std::mem::size_of::<u8>()
1898 }
1899
1900 #[inline(always)]
1901 fn encode_is_copy() -> bool {
1902 true
1903 }
1904
1905 #[inline(always)]
1906 fn decode_is_copy() -> bool {
1907 false
1908 }
1909 }
1910
1911 impl fidl::encoding::ValueTypeMarker for PermissionState {
1912 type Borrowed<'a> = Self;
1913 #[inline(always)]
1914 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1915 *value
1916 }
1917 }
1918
1919 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
1920 for PermissionState
1921 {
1922 #[inline]
1923 unsafe fn encode(
1924 self,
1925 encoder: &mut fidl::encoding::Encoder<'_, D>,
1926 offset: usize,
1927 _depth: fidl::encoding::Depth,
1928 ) -> fidl::Result<()> {
1929 encoder.debug_check_bounds::<Self>(offset);
1930 encoder.write_num(self.into_primitive(), offset);
1931 Ok(())
1932 }
1933 }
1934
1935 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PermissionState {
1936 #[inline(always)]
1937 fn new_empty() -> Self {
1938 Self::Denied
1939 }
1940
1941 #[inline]
1942 unsafe fn decode(
1943 &mut self,
1944 decoder: &mut fidl::encoding::Decoder<'_, D>,
1945 offset: usize,
1946 _depth: fidl::encoding::Depth,
1947 ) -> fidl::Result<()> {
1948 decoder.debug_check_bounds::<Self>(offset);
1949 let prim = decoder.read_num::<u8>(offset);
1950
1951 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
1952 Ok(())
1953 }
1954 }
1955 unsafe impl fidl::encoding::TypeMarker for PermissionType {
1956 type Owned = Self;
1957
1958 #[inline(always)]
1959 fn inline_align(_context: fidl::encoding::Context) -> usize {
1960 std::mem::align_of::<u16>()
1961 }
1962
1963 #[inline(always)]
1964 fn inline_size(_context: fidl::encoding::Context) -> usize {
1965 std::mem::size_of::<u16>()
1966 }
1967
1968 #[inline(always)]
1969 fn encode_is_copy() -> bool {
1970 true
1971 }
1972
1973 #[inline(always)]
1974 fn decode_is_copy() -> bool {
1975 false
1976 }
1977 }
1978
1979 impl fidl::encoding::ValueTypeMarker for PermissionType {
1980 type Borrowed<'a> = Self;
1981 #[inline(always)]
1982 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
1983 *value
1984 }
1985 }
1986
1987 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for PermissionType {
1988 #[inline]
1989 unsafe fn encode(
1990 self,
1991 encoder: &mut fidl::encoding::Encoder<'_, D>,
1992 offset: usize,
1993 _depth: fidl::encoding::Depth,
1994 ) -> fidl::Result<()> {
1995 encoder.debug_check_bounds::<Self>(offset);
1996 encoder.write_num(self.into_primitive(), offset);
1997 Ok(())
1998 }
1999 }
2000
2001 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PermissionType {
2002 #[inline(always)]
2003 fn new_empty() -> Self {
2004 Self::Microphone
2005 }
2006
2007 #[inline]
2008 unsafe fn decode(
2009 &mut self,
2010 decoder: &mut fidl::encoding::Decoder<'_, D>,
2011 offset: usize,
2012 _depth: fidl::encoding::Depth,
2013 ) -> fidl::Result<()> {
2014 decoder.debug_check_bounds::<Self>(offset);
2015 let prim = decoder.read_num::<u16>(offset);
2016
2017 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2018 Ok(())
2019 }
2020 }
2021 unsafe impl fidl::encoding::TypeMarker for ReloadType {
2022 type Owned = Self;
2023
2024 #[inline(always)]
2025 fn inline_align(_context: fidl::encoding::Context) -> usize {
2026 std::mem::align_of::<u32>()
2027 }
2028
2029 #[inline(always)]
2030 fn inline_size(_context: fidl::encoding::Context) -> usize {
2031 std::mem::size_of::<u32>()
2032 }
2033
2034 #[inline(always)]
2035 fn encode_is_copy() -> bool {
2036 true
2037 }
2038
2039 #[inline(always)]
2040 fn decode_is_copy() -> bool {
2041 false
2042 }
2043 }
2044
2045 impl fidl::encoding::ValueTypeMarker for ReloadType {
2046 type Borrowed<'a> = Self;
2047 #[inline(always)]
2048 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2049 *value
2050 }
2051 }
2052
2053 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D> for ReloadType {
2054 #[inline]
2055 unsafe fn encode(
2056 self,
2057 encoder: &mut fidl::encoding::Encoder<'_, D>,
2058 offset: usize,
2059 _depth: fidl::encoding::Depth,
2060 ) -> fidl::Result<()> {
2061 encoder.debug_check_bounds::<Self>(offset);
2062 encoder.write_num(self.into_primitive(), offset);
2063 Ok(())
2064 }
2065 }
2066
2067 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ReloadType {
2068 #[inline(always)]
2069 fn new_empty() -> Self {
2070 Self::PartialCache
2071 }
2072
2073 #[inline]
2074 unsafe fn decode(
2075 &mut self,
2076 decoder: &mut fidl::encoding::Decoder<'_, D>,
2077 offset: usize,
2078 _depth: fidl::encoding::Depth,
2079 ) -> fidl::Result<()> {
2080 decoder.debug_check_bounds::<Self>(offset);
2081 let prim = decoder.read_num::<u32>(offset);
2082
2083 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2084 Ok(())
2085 }
2086 }
2087 unsafe impl fidl::encoding::TypeMarker for UrlRequestAction {
2088 type Owned = Self;
2089
2090 #[inline(always)]
2091 fn inline_align(_context: fidl::encoding::Context) -> usize {
2092 std::mem::align_of::<i32>()
2093 }
2094
2095 #[inline(always)]
2096 fn inline_size(_context: fidl::encoding::Context) -> usize {
2097 std::mem::size_of::<i32>()
2098 }
2099
2100 #[inline(always)]
2101 fn encode_is_copy() -> bool {
2102 true
2103 }
2104
2105 #[inline(always)]
2106 fn decode_is_copy() -> bool {
2107 false
2108 }
2109 }
2110
2111 impl fidl::encoding::ValueTypeMarker for UrlRequestAction {
2112 type Borrowed<'a> = Self;
2113 #[inline(always)]
2114 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2115 *value
2116 }
2117 }
2118
2119 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<Self, D>
2120 for UrlRequestAction
2121 {
2122 #[inline]
2123 unsafe fn encode(
2124 self,
2125 encoder: &mut fidl::encoding::Encoder<'_, D>,
2126 offset: usize,
2127 _depth: fidl::encoding::Depth,
2128 ) -> fidl::Result<()> {
2129 encoder.debug_check_bounds::<Self>(offset);
2130 encoder.write_num(self.into_primitive(), offset);
2131 Ok(())
2132 }
2133 }
2134
2135 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for UrlRequestAction {
2136 #[inline(always)]
2137 fn new_empty() -> Self {
2138 Self::Allow
2139 }
2140
2141 #[inline]
2142 unsafe fn decode(
2143 &mut self,
2144 decoder: &mut fidl::encoding::Decoder<'_, D>,
2145 offset: usize,
2146 _depth: fidl::encoding::Depth,
2147 ) -> fidl::Result<()> {
2148 decoder.debug_check_bounds::<Self>(offset);
2149 let prim = decoder.read_num::<i32>(offset);
2150
2151 *self = Self::from_primitive(prim).ok_or(fidl::Error::InvalidEnumValue)?;
2152 Ok(())
2153 }
2154 }
2155
2156 impl fidl::encoding::ValueTypeMarker for ContextGetRemoteDebuggingPortResponse {
2157 type Borrowed<'a> = &'a Self;
2158 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2159 value
2160 }
2161 }
2162
2163 unsafe impl fidl::encoding::TypeMarker for ContextGetRemoteDebuggingPortResponse {
2164 type Owned = Self;
2165
2166 #[inline(always)]
2167 fn inline_align(_context: fidl::encoding::Context) -> usize {
2168 2
2169 }
2170
2171 #[inline(always)]
2172 fn inline_size(_context: fidl::encoding::Context) -> usize {
2173 2
2174 }
2175 #[inline(always)]
2176 fn encode_is_copy() -> bool {
2177 true
2178 }
2179
2180 #[inline(always)]
2181 fn decode_is_copy() -> bool {
2182 true
2183 }
2184 }
2185
2186 unsafe impl<D: fidl::encoding::ResourceDialect>
2187 fidl::encoding::Encode<ContextGetRemoteDebuggingPortResponse, D>
2188 for &ContextGetRemoteDebuggingPortResponse
2189 {
2190 #[inline]
2191 unsafe fn encode(
2192 self,
2193 encoder: &mut fidl::encoding::Encoder<'_, D>,
2194 offset: usize,
2195 _depth: fidl::encoding::Depth,
2196 ) -> fidl::Result<()> {
2197 encoder.debug_check_bounds::<ContextGetRemoteDebuggingPortResponse>(offset);
2198 unsafe {
2199 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2201 (buf_ptr as *mut ContextGetRemoteDebuggingPortResponse)
2202 .write_unaligned((self as *const ContextGetRemoteDebuggingPortResponse).read());
2203 }
2206 Ok(())
2207 }
2208 }
2209 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
2210 fidl::encoding::Encode<ContextGetRemoteDebuggingPortResponse, D> for (T0,)
2211 {
2212 #[inline]
2213 unsafe fn encode(
2214 self,
2215 encoder: &mut fidl::encoding::Encoder<'_, D>,
2216 offset: usize,
2217 depth: fidl::encoding::Depth,
2218 ) -> fidl::Result<()> {
2219 encoder.debug_check_bounds::<ContextGetRemoteDebuggingPortResponse>(offset);
2220 self.0.encode(encoder, offset + 0, depth)?;
2224 Ok(())
2225 }
2226 }
2227
2228 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2229 for ContextGetRemoteDebuggingPortResponse
2230 {
2231 #[inline(always)]
2232 fn new_empty() -> Self {
2233 Self { port: fidl::new_empty!(u16, D) }
2234 }
2235
2236 #[inline]
2237 unsafe fn decode(
2238 &mut self,
2239 decoder: &mut fidl::encoding::Decoder<'_, D>,
2240 offset: usize,
2241 _depth: fidl::encoding::Depth,
2242 ) -> fidl::Result<()> {
2243 decoder.debug_check_bounds::<Self>(offset);
2244 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2245 unsafe {
2248 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
2249 }
2250 Ok(())
2251 }
2252 }
2253
2254 impl fidl::encoding::ValueTypeMarker for DevToolsPerContextListenerOnHttpPortOpenRequest {
2255 type Borrowed<'a> = &'a Self;
2256 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2257 value
2258 }
2259 }
2260
2261 unsafe impl fidl::encoding::TypeMarker for DevToolsPerContextListenerOnHttpPortOpenRequest {
2262 type Owned = Self;
2263
2264 #[inline(always)]
2265 fn inline_align(_context: fidl::encoding::Context) -> usize {
2266 2
2267 }
2268
2269 #[inline(always)]
2270 fn inline_size(_context: fidl::encoding::Context) -> usize {
2271 2
2272 }
2273 #[inline(always)]
2274 fn encode_is_copy() -> bool {
2275 true
2276 }
2277
2278 #[inline(always)]
2279 fn decode_is_copy() -> bool {
2280 true
2281 }
2282 }
2283
2284 unsafe impl<D: fidl::encoding::ResourceDialect>
2285 fidl::encoding::Encode<DevToolsPerContextListenerOnHttpPortOpenRequest, D>
2286 for &DevToolsPerContextListenerOnHttpPortOpenRequest
2287 {
2288 #[inline]
2289 unsafe fn encode(
2290 self,
2291 encoder: &mut fidl::encoding::Encoder<'_, D>,
2292 offset: usize,
2293 _depth: fidl::encoding::Depth,
2294 ) -> fidl::Result<()> {
2295 encoder.debug_check_bounds::<DevToolsPerContextListenerOnHttpPortOpenRequest>(offset);
2296 unsafe {
2297 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2299 (buf_ptr as *mut DevToolsPerContextListenerOnHttpPortOpenRequest).write_unaligned(
2300 (self as *const DevToolsPerContextListenerOnHttpPortOpenRequest).read(),
2301 );
2302 }
2305 Ok(())
2306 }
2307 }
2308 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u16, D>>
2309 fidl::encoding::Encode<DevToolsPerContextListenerOnHttpPortOpenRequest, D> for (T0,)
2310 {
2311 #[inline]
2312 unsafe fn encode(
2313 self,
2314 encoder: &mut fidl::encoding::Encoder<'_, D>,
2315 offset: usize,
2316 depth: fidl::encoding::Depth,
2317 ) -> fidl::Result<()> {
2318 encoder.debug_check_bounds::<DevToolsPerContextListenerOnHttpPortOpenRequest>(offset);
2319 self.0.encode(encoder, offset + 0, depth)?;
2323 Ok(())
2324 }
2325 }
2326
2327 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2328 for DevToolsPerContextListenerOnHttpPortOpenRequest
2329 {
2330 #[inline(always)]
2331 fn new_empty() -> Self {
2332 Self { port: fidl::new_empty!(u16, D) }
2333 }
2334
2335 #[inline]
2336 unsafe fn decode(
2337 &mut self,
2338 decoder: &mut fidl::encoding::Decoder<'_, D>,
2339 offset: usize,
2340 _depth: fidl::encoding::Depth,
2341 ) -> fidl::Result<()> {
2342 decoder.debug_check_bounds::<Self>(offset);
2343 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2344 unsafe {
2347 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 2);
2348 }
2349 Ok(())
2350 }
2351 }
2352
2353 impl fidl::encoding::ValueTypeMarker for FrameConfigureInputTypesRequest {
2354 type Borrowed<'a> = &'a Self;
2355 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2356 value
2357 }
2358 }
2359
2360 unsafe impl fidl::encoding::TypeMarker for FrameConfigureInputTypesRequest {
2361 type Owned = Self;
2362
2363 #[inline(always)]
2364 fn inline_align(_context: fidl::encoding::Context) -> usize {
2365 8
2366 }
2367
2368 #[inline(always)]
2369 fn inline_size(_context: fidl::encoding::Context) -> usize {
2370 16
2371 }
2372 }
2373
2374 unsafe impl<D: fidl::encoding::ResourceDialect>
2375 fidl::encoding::Encode<FrameConfigureInputTypesRequest, D>
2376 for &FrameConfigureInputTypesRequest
2377 {
2378 #[inline]
2379 unsafe fn encode(
2380 self,
2381 encoder: &mut fidl::encoding::Encoder<'_, D>,
2382 offset: usize,
2383 _depth: fidl::encoding::Depth,
2384 ) -> fidl::Result<()> {
2385 encoder.debug_check_bounds::<FrameConfigureInputTypesRequest>(offset);
2386 fidl::encoding::Encode::<FrameConfigureInputTypesRequest, D>::encode(
2388 (
2389 <InputTypes as fidl::encoding::ValueTypeMarker>::borrow(&self.types),
2390 <AllowInputState as fidl::encoding::ValueTypeMarker>::borrow(&self.allow),
2391 ),
2392 encoder,
2393 offset,
2394 _depth,
2395 )
2396 }
2397 }
2398 unsafe impl<
2399 D: fidl::encoding::ResourceDialect,
2400 T0: fidl::encoding::Encode<InputTypes, D>,
2401 T1: fidl::encoding::Encode<AllowInputState, D>,
2402 > fidl::encoding::Encode<FrameConfigureInputTypesRequest, D> for (T0, T1)
2403 {
2404 #[inline]
2405 unsafe fn encode(
2406 self,
2407 encoder: &mut fidl::encoding::Encoder<'_, D>,
2408 offset: usize,
2409 depth: fidl::encoding::Depth,
2410 ) -> fidl::Result<()> {
2411 encoder.debug_check_bounds::<FrameConfigureInputTypesRequest>(offset);
2412 unsafe {
2415 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(8);
2416 (ptr as *mut u64).write_unaligned(0);
2417 }
2418 self.0.encode(encoder, offset + 0, depth)?;
2420 self.1.encode(encoder, offset + 8, depth)?;
2421 Ok(())
2422 }
2423 }
2424
2425 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2426 for FrameConfigureInputTypesRequest
2427 {
2428 #[inline(always)]
2429 fn new_empty() -> Self {
2430 Self {
2431 types: fidl::new_empty!(InputTypes, D),
2432 allow: fidl::new_empty!(AllowInputState, D),
2433 }
2434 }
2435
2436 #[inline]
2437 unsafe fn decode(
2438 &mut self,
2439 decoder: &mut fidl::encoding::Decoder<'_, D>,
2440 offset: usize,
2441 _depth: fidl::encoding::Depth,
2442 ) -> fidl::Result<()> {
2443 decoder.debug_check_bounds::<Self>(offset);
2444 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(8) };
2446 let padval = unsafe { (ptr as *const u64).read_unaligned() };
2447 let mask = 0xffffffff00000000u64;
2448 let maskedval = padval & mask;
2449 if maskedval != 0 {
2450 return Err(fidl::Error::NonZeroPadding {
2451 padding_start: offset + 8 + ((mask as u64).trailing_zeros() / 8) as usize,
2452 });
2453 }
2454 fidl::decode!(InputTypes, D, &mut self.types, decoder, offset + 0, _depth)?;
2455 fidl::decode!(AllowInputState, D, &mut self.allow, decoder, offset + 8, _depth)?;
2456 Ok(())
2457 }
2458 }
2459
2460 impl fidl::encoding::ValueTypeMarker for FrameForceContentDimensionsRequest {
2461 type Borrowed<'a> = &'a Self;
2462 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2463 value
2464 }
2465 }
2466
2467 unsafe impl fidl::encoding::TypeMarker for FrameForceContentDimensionsRequest {
2468 type Owned = Self;
2469
2470 #[inline(always)]
2471 fn inline_align(_context: fidl::encoding::Context) -> usize {
2472 8
2473 }
2474
2475 #[inline(always)]
2476 fn inline_size(_context: fidl::encoding::Context) -> usize {
2477 8
2478 }
2479 }
2480
2481 unsafe impl<D: fidl::encoding::ResourceDialect>
2482 fidl::encoding::Encode<FrameForceContentDimensionsRequest, D>
2483 for &FrameForceContentDimensionsRequest
2484 {
2485 #[inline]
2486 unsafe fn encode(
2487 self,
2488 encoder: &mut fidl::encoding::Encoder<'_, D>,
2489 offset: usize,
2490 _depth: fidl::encoding::Depth,
2491 ) -> fidl::Result<()> {
2492 encoder.debug_check_bounds::<FrameForceContentDimensionsRequest>(offset);
2493 fidl::encoding::Encode::<FrameForceContentDimensionsRequest, D>::encode(
2495 (
2496 <fidl::encoding::Boxed<fidl_fuchsia_ui_gfx__common::Vec2> as fidl::encoding::ValueTypeMarker>::borrow(&self.web_dips),
2497 ),
2498 encoder, offset, _depth
2499 )
2500 }
2501 }
2502 unsafe impl<
2503 D: fidl::encoding::ResourceDialect,
2504 T0: fidl::encoding::Encode<fidl::encoding::Boxed<fidl_fuchsia_ui_gfx__common::Vec2>, D>,
2505 > fidl::encoding::Encode<FrameForceContentDimensionsRequest, D> for (T0,)
2506 {
2507 #[inline]
2508 unsafe fn encode(
2509 self,
2510 encoder: &mut fidl::encoding::Encoder<'_, D>,
2511 offset: usize,
2512 depth: fidl::encoding::Depth,
2513 ) -> fidl::Result<()> {
2514 encoder.debug_check_bounds::<FrameForceContentDimensionsRequest>(offset);
2515 self.0.encode(encoder, offset + 0, depth)?;
2519 Ok(())
2520 }
2521 }
2522
2523 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2524 for FrameForceContentDimensionsRequest
2525 {
2526 #[inline(always)]
2527 fn new_empty() -> Self {
2528 Self {
2529 web_dips: fidl::new_empty!(
2530 fidl::encoding::Boxed<fidl_fuchsia_ui_gfx__common::Vec2>,
2531 D
2532 ),
2533 }
2534 }
2535
2536 #[inline]
2537 unsafe fn decode(
2538 &mut self,
2539 decoder: &mut fidl::encoding::Decoder<'_, D>,
2540 offset: usize,
2541 _depth: fidl::encoding::Depth,
2542 ) -> fidl::Result<()> {
2543 decoder.debug_check_bounds::<Self>(offset);
2544 fidl::decode!(
2546 fidl::encoding::Boxed<fidl_fuchsia_ui_gfx__common::Vec2>,
2547 D,
2548 &mut self.web_dips,
2549 decoder,
2550 offset + 0,
2551 _depth
2552 )?;
2553 Ok(())
2554 }
2555 }
2556
2557 impl fidl::encoding::ValueTypeMarker for FrameGetPrivateMemorySizeResponse {
2558 type Borrowed<'a> = &'a Self;
2559 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2560 value
2561 }
2562 }
2563
2564 unsafe impl fidl::encoding::TypeMarker for FrameGetPrivateMemorySizeResponse {
2565 type Owned = Self;
2566
2567 #[inline(always)]
2568 fn inline_align(_context: fidl::encoding::Context) -> usize {
2569 8
2570 }
2571
2572 #[inline(always)]
2573 fn inline_size(_context: fidl::encoding::Context) -> usize {
2574 8
2575 }
2576 #[inline(always)]
2577 fn encode_is_copy() -> bool {
2578 true
2579 }
2580
2581 #[inline(always)]
2582 fn decode_is_copy() -> bool {
2583 true
2584 }
2585 }
2586
2587 unsafe impl<D: fidl::encoding::ResourceDialect>
2588 fidl::encoding::Encode<FrameGetPrivateMemorySizeResponse, D>
2589 for &FrameGetPrivateMemorySizeResponse
2590 {
2591 #[inline]
2592 unsafe fn encode(
2593 self,
2594 encoder: &mut fidl::encoding::Encoder<'_, D>,
2595 offset: usize,
2596 _depth: fidl::encoding::Depth,
2597 ) -> fidl::Result<()> {
2598 encoder.debug_check_bounds::<FrameGetPrivateMemorySizeResponse>(offset);
2599 unsafe {
2600 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2602 (buf_ptr as *mut FrameGetPrivateMemorySizeResponse)
2603 .write_unaligned((self as *const FrameGetPrivateMemorySizeResponse).read());
2604 }
2607 Ok(())
2608 }
2609 }
2610 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
2611 fidl::encoding::Encode<FrameGetPrivateMemorySizeResponse, D> for (T0,)
2612 {
2613 #[inline]
2614 unsafe fn encode(
2615 self,
2616 encoder: &mut fidl::encoding::Encoder<'_, D>,
2617 offset: usize,
2618 depth: fidl::encoding::Depth,
2619 ) -> fidl::Result<()> {
2620 encoder.debug_check_bounds::<FrameGetPrivateMemorySizeResponse>(offset);
2621 self.0.encode(encoder, offset + 0, depth)?;
2625 Ok(())
2626 }
2627 }
2628
2629 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2630 for FrameGetPrivateMemorySizeResponse
2631 {
2632 #[inline(always)]
2633 fn new_empty() -> Self {
2634 Self { size_bytes: fidl::new_empty!(u64, D) }
2635 }
2636
2637 #[inline]
2638 unsafe fn decode(
2639 &mut self,
2640 decoder: &mut fidl::encoding::Decoder<'_, D>,
2641 offset: usize,
2642 _depth: fidl::encoding::Depth,
2643 ) -> fidl::Result<()> {
2644 decoder.debug_check_bounds::<Self>(offset);
2645 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2646 unsafe {
2649 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
2650 }
2651 Ok(())
2652 }
2653 }
2654
2655 impl fidl::encoding::ValueTypeMarker for FrameRemoveBeforeLoadJavaScriptRequest {
2656 type Borrowed<'a> = &'a Self;
2657 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2658 value
2659 }
2660 }
2661
2662 unsafe impl fidl::encoding::TypeMarker for FrameRemoveBeforeLoadJavaScriptRequest {
2663 type Owned = Self;
2664
2665 #[inline(always)]
2666 fn inline_align(_context: fidl::encoding::Context) -> usize {
2667 8
2668 }
2669
2670 #[inline(always)]
2671 fn inline_size(_context: fidl::encoding::Context) -> usize {
2672 8
2673 }
2674 #[inline(always)]
2675 fn encode_is_copy() -> bool {
2676 true
2677 }
2678
2679 #[inline(always)]
2680 fn decode_is_copy() -> bool {
2681 true
2682 }
2683 }
2684
2685 unsafe impl<D: fidl::encoding::ResourceDialect>
2686 fidl::encoding::Encode<FrameRemoveBeforeLoadJavaScriptRequest, D>
2687 for &FrameRemoveBeforeLoadJavaScriptRequest
2688 {
2689 #[inline]
2690 unsafe fn encode(
2691 self,
2692 encoder: &mut fidl::encoding::Encoder<'_, D>,
2693 offset: usize,
2694 _depth: fidl::encoding::Depth,
2695 ) -> fidl::Result<()> {
2696 encoder.debug_check_bounds::<FrameRemoveBeforeLoadJavaScriptRequest>(offset);
2697 unsafe {
2698 let buf_ptr = encoder.buf.as_mut_ptr().add(offset);
2700 (buf_ptr as *mut FrameRemoveBeforeLoadJavaScriptRequest).write_unaligned(
2701 (self as *const FrameRemoveBeforeLoadJavaScriptRequest).read(),
2702 );
2703 }
2706 Ok(())
2707 }
2708 }
2709 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<u64, D>>
2710 fidl::encoding::Encode<FrameRemoveBeforeLoadJavaScriptRequest, D> for (T0,)
2711 {
2712 #[inline]
2713 unsafe fn encode(
2714 self,
2715 encoder: &mut fidl::encoding::Encoder<'_, D>,
2716 offset: usize,
2717 depth: fidl::encoding::Depth,
2718 ) -> fidl::Result<()> {
2719 encoder.debug_check_bounds::<FrameRemoveBeforeLoadJavaScriptRequest>(offset);
2720 self.0.encode(encoder, offset + 0, depth)?;
2724 Ok(())
2725 }
2726 }
2727
2728 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2729 for FrameRemoveBeforeLoadJavaScriptRequest
2730 {
2731 #[inline(always)]
2732 fn new_empty() -> Self {
2733 Self { id: fidl::new_empty!(u64, D) }
2734 }
2735
2736 #[inline]
2737 unsafe fn decode(
2738 &mut self,
2739 decoder: &mut fidl::encoding::Decoder<'_, D>,
2740 offset: usize,
2741 _depth: fidl::encoding::Depth,
2742 ) -> fidl::Result<()> {
2743 decoder.debug_check_bounds::<Self>(offset);
2744 let buf_ptr = unsafe { decoder.buf.as_ptr().add(offset) };
2745 unsafe {
2748 std::ptr::copy_nonoverlapping(buf_ptr, self as *mut Self as *mut u8, 8);
2749 }
2750 Ok(())
2751 }
2752 }
2753
2754 impl fidl::encoding::ValueTypeMarker for FrameSetBlockMediaLoadingRequest {
2755 type Borrowed<'a> = &'a Self;
2756 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2757 value
2758 }
2759 }
2760
2761 unsafe impl fidl::encoding::TypeMarker for FrameSetBlockMediaLoadingRequest {
2762 type Owned = Self;
2763
2764 #[inline(always)]
2765 fn inline_align(_context: fidl::encoding::Context) -> usize {
2766 1
2767 }
2768
2769 #[inline(always)]
2770 fn inline_size(_context: fidl::encoding::Context) -> usize {
2771 1
2772 }
2773 }
2774
2775 unsafe impl<D: fidl::encoding::ResourceDialect>
2776 fidl::encoding::Encode<FrameSetBlockMediaLoadingRequest, D>
2777 for &FrameSetBlockMediaLoadingRequest
2778 {
2779 #[inline]
2780 unsafe fn encode(
2781 self,
2782 encoder: &mut fidl::encoding::Encoder<'_, D>,
2783 offset: usize,
2784 _depth: fidl::encoding::Depth,
2785 ) -> fidl::Result<()> {
2786 encoder.debug_check_bounds::<FrameSetBlockMediaLoadingRequest>(offset);
2787 fidl::encoding::Encode::<FrameSetBlockMediaLoadingRequest, D>::encode(
2789 (<bool as fidl::encoding::ValueTypeMarker>::borrow(&self.blocked),),
2790 encoder,
2791 offset,
2792 _depth,
2793 )
2794 }
2795 }
2796 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<bool, D>>
2797 fidl::encoding::Encode<FrameSetBlockMediaLoadingRequest, D> for (T0,)
2798 {
2799 #[inline]
2800 unsafe fn encode(
2801 self,
2802 encoder: &mut fidl::encoding::Encoder<'_, D>,
2803 offset: usize,
2804 depth: fidl::encoding::Depth,
2805 ) -> fidl::Result<()> {
2806 encoder.debug_check_bounds::<FrameSetBlockMediaLoadingRequest>(offset);
2807 self.0.encode(encoder, offset + 0, depth)?;
2811 Ok(())
2812 }
2813 }
2814
2815 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2816 for FrameSetBlockMediaLoadingRequest
2817 {
2818 #[inline(always)]
2819 fn new_empty() -> Self {
2820 Self { blocked: fidl::new_empty!(bool, D) }
2821 }
2822
2823 #[inline]
2824 unsafe fn decode(
2825 &mut self,
2826 decoder: &mut fidl::encoding::Decoder<'_, D>,
2827 offset: usize,
2828 _depth: fidl::encoding::Depth,
2829 ) -> fidl::Result<()> {
2830 decoder.debug_check_bounds::<Self>(offset);
2831 fidl::decode!(bool, D, &mut self.blocked, decoder, offset + 0, _depth)?;
2833 Ok(())
2834 }
2835 }
2836
2837 impl fidl::encoding::ValueTypeMarker for FrameSetContentAreaSettingsRequest {
2838 type Borrowed<'a> = &'a Self;
2839 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2840 value
2841 }
2842 }
2843
2844 unsafe impl fidl::encoding::TypeMarker for FrameSetContentAreaSettingsRequest {
2845 type Owned = Self;
2846
2847 #[inline(always)]
2848 fn inline_align(_context: fidl::encoding::Context) -> usize {
2849 8
2850 }
2851
2852 #[inline(always)]
2853 fn inline_size(_context: fidl::encoding::Context) -> usize {
2854 16
2855 }
2856 }
2857
2858 unsafe impl<D: fidl::encoding::ResourceDialect>
2859 fidl::encoding::Encode<FrameSetContentAreaSettingsRequest, D>
2860 for &FrameSetContentAreaSettingsRequest
2861 {
2862 #[inline]
2863 unsafe fn encode(
2864 self,
2865 encoder: &mut fidl::encoding::Encoder<'_, D>,
2866 offset: usize,
2867 _depth: fidl::encoding::Depth,
2868 ) -> fidl::Result<()> {
2869 encoder.debug_check_bounds::<FrameSetContentAreaSettingsRequest>(offset);
2870 fidl::encoding::Encode::<FrameSetContentAreaSettingsRequest, D>::encode(
2872 (<ContentAreaSettings as fidl::encoding::ValueTypeMarker>::borrow(&self.settings),),
2873 encoder,
2874 offset,
2875 _depth,
2876 )
2877 }
2878 }
2879 unsafe impl<
2880 D: fidl::encoding::ResourceDialect,
2881 T0: fidl::encoding::Encode<ContentAreaSettings, D>,
2882 > fidl::encoding::Encode<FrameSetContentAreaSettingsRequest, D> for (T0,)
2883 {
2884 #[inline]
2885 unsafe fn encode(
2886 self,
2887 encoder: &mut fidl::encoding::Encoder<'_, D>,
2888 offset: usize,
2889 depth: fidl::encoding::Depth,
2890 ) -> fidl::Result<()> {
2891 encoder.debug_check_bounds::<FrameSetContentAreaSettingsRequest>(offset);
2892 self.0.encode(encoder, offset + 0, depth)?;
2896 Ok(())
2897 }
2898 }
2899
2900 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2901 for FrameSetContentAreaSettingsRequest
2902 {
2903 #[inline(always)]
2904 fn new_empty() -> Self {
2905 Self { settings: fidl::new_empty!(ContentAreaSettings, D) }
2906 }
2907
2908 #[inline]
2909 unsafe fn decode(
2910 &mut self,
2911 decoder: &mut fidl::encoding::Decoder<'_, D>,
2912 offset: usize,
2913 _depth: fidl::encoding::Depth,
2914 ) -> fidl::Result<()> {
2915 decoder.debug_check_bounds::<Self>(offset);
2916 fidl::decode!(ContentAreaSettings, D, &mut self.settings, decoder, offset + 0, _depth)?;
2918 Ok(())
2919 }
2920 }
2921
2922 impl fidl::encoding::ValueTypeMarker for FrameSetJavaScriptLogLevelRequest {
2923 type Borrowed<'a> = &'a Self;
2924 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
2925 value
2926 }
2927 }
2928
2929 unsafe impl fidl::encoding::TypeMarker for FrameSetJavaScriptLogLevelRequest {
2930 type Owned = Self;
2931
2932 #[inline(always)]
2933 fn inline_align(_context: fidl::encoding::Context) -> usize {
2934 4
2935 }
2936
2937 #[inline(always)]
2938 fn inline_size(_context: fidl::encoding::Context) -> usize {
2939 4
2940 }
2941 }
2942
2943 unsafe impl<D: fidl::encoding::ResourceDialect>
2944 fidl::encoding::Encode<FrameSetJavaScriptLogLevelRequest, D>
2945 for &FrameSetJavaScriptLogLevelRequest
2946 {
2947 #[inline]
2948 unsafe fn encode(
2949 self,
2950 encoder: &mut fidl::encoding::Encoder<'_, D>,
2951 offset: usize,
2952 _depth: fidl::encoding::Depth,
2953 ) -> fidl::Result<()> {
2954 encoder.debug_check_bounds::<FrameSetJavaScriptLogLevelRequest>(offset);
2955 fidl::encoding::Encode::<FrameSetJavaScriptLogLevelRequest, D>::encode(
2957 (<ConsoleLogLevel as fidl::encoding::ValueTypeMarker>::borrow(&self.level),),
2958 encoder,
2959 offset,
2960 _depth,
2961 )
2962 }
2963 }
2964 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ConsoleLogLevel, D>>
2965 fidl::encoding::Encode<FrameSetJavaScriptLogLevelRequest, D> for (T0,)
2966 {
2967 #[inline]
2968 unsafe fn encode(
2969 self,
2970 encoder: &mut fidl::encoding::Encoder<'_, D>,
2971 offset: usize,
2972 depth: fidl::encoding::Depth,
2973 ) -> fidl::Result<()> {
2974 encoder.debug_check_bounds::<FrameSetJavaScriptLogLevelRequest>(offset);
2975 self.0.encode(encoder, offset + 0, depth)?;
2979 Ok(())
2980 }
2981 }
2982
2983 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
2984 for FrameSetJavaScriptLogLevelRequest
2985 {
2986 #[inline(always)]
2987 fn new_empty() -> Self {
2988 Self { level: fidl::new_empty!(ConsoleLogLevel, D) }
2989 }
2990
2991 #[inline]
2992 unsafe fn decode(
2993 &mut self,
2994 decoder: &mut fidl::encoding::Decoder<'_, D>,
2995 offset: usize,
2996 _depth: fidl::encoding::Depth,
2997 ) -> fidl::Result<()> {
2998 decoder.debug_check_bounds::<Self>(offset);
2999 fidl::decode!(ConsoleLogLevel, D, &mut self.level, decoder, offset + 0, _depth)?;
3001 Ok(())
3002 }
3003 }
3004
3005 impl fidl::encoding::ValueTypeMarker for FrameSetMediaSettingsRequest {
3006 type Borrowed<'a> = &'a Self;
3007 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3008 value
3009 }
3010 }
3011
3012 unsafe impl fidl::encoding::TypeMarker for FrameSetMediaSettingsRequest {
3013 type Owned = Self;
3014
3015 #[inline(always)]
3016 fn inline_align(_context: fidl::encoding::Context) -> usize {
3017 8
3018 }
3019
3020 #[inline(always)]
3021 fn inline_size(_context: fidl::encoding::Context) -> usize {
3022 16
3023 }
3024 }
3025
3026 unsafe impl<D: fidl::encoding::ResourceDialect>
3027 fidl::encoding::Encode<FrameSetMediaSettingsRequest, D> for &FrameSetMediaSettingsRequest
3028 {
3029 #[inline]
3030 unsafe fn encode(
3031 self,
3032 encoder: &mut fidl::encoding::Encoder<'_, D>,
3033 offset: usize,
3034 _depth: fidl::encoding::Depth,
3035 ) -> fidl::Result<()> {
3036 encoder.debug_check_bounds::<FrameSetMediaSettingsRequest>(offset);
3037 fidl::encoding::Encode::<FrameSetMediaSettingsRequest, D>::encode(
3039 (<FrameMediaSettings as fidl::encoding::ValueTypeMarker>::borrow(&self.settings),),
3040 encoder,
3041 offset,
3042 _depth,
3043 )
3044 }
3045 }
3046 unsafe impl<
3047 D: fidl::encoding::ResourceDialect,
3048 T0: fidl::encoding::Encode<FrameMediaSettings, D>,
3049 > fidl::encoding::Encode<FrameSetMediaSettingsRequest, D> for (T0,)
3050 {
3051 #[inline]
3052 unsafe fn encode(
3053 self,
3054 encoder: &mut fidl::encoding::Encoder<'_, D>,
3055 offset: usize,
3056 depth: fidl::encoding::Depth,
3057 ) -> fidl::Result<()> {
3058 encoder.debug_check_bounds::<FrameSetMediaSettingsRequest>(offset);
3059 self.0.encode(encoder, offset + 0, depth)?;
3063 Ok(())
3064 }
3065 }
3066
3067 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3068 for FrameSetMediaSettingsRequest
3069 {
3070 #[inline(always)]
3071 fn new_empty() -> Self {
3072 Self { settings: fidl::new_empty!(FrameMediaSettings, D) }
3073 }
3074
3075 #[inline]
3076 unsafe fn decode(
3077 &mut self,
3078 decoder: &mut fidl::encoding::Decoder<'_, D>,
3079 offset: usize,
3080 _depth: fidl::encoding::Depth,
3081 ) -> fidl::Result<()> {
3082 decoder.debug_check_bounds::<Self>(offset);
3083 fidl::decode!(FrameMediaSettings, D, &mut self.settings, decoder, offset + 0, _depth)?;
3085 Ok(())
3086 }
3087 }
3088
3089 impl fidl::encoding::ValueTypeMarker for FrameSetPermissionStateRequest {
3090 type Borrowed<'a> = &'a Self;
3091 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3092 value
3093 }
3094 }
3095
3096 unsafe impl fidl::encoding::TypeMarker for FrameSetPermissionStateRequest {
3097 type Owned = Self;
3098
3099 #[inline(always)]
3100 fn inline_align(_context: fidl::encoding::Context) -> usize {
3101 8
3102 }
3103
3104 #[inline(always)]
3105 fn inline_size(_context: fidl::encoding::Context) -> usize {
3106 40
3107 }
3108 }
3109
3110 unsafe impl<D: fidl::encoding::ResourceDialect>
3111 fidl::encoding::Encode<FrameSetPermissionStateRequest, D>
3112 for &FrameSetPermissionStateRequest
3113 {
3114 #[inline]
3115 unsafe fn encode(
3116 self,
3117 encoder: &mut fidl::encoding::Encoder<'_, D>,
3118 offset: usize,
3119 _depth: fidl::encoding::Depth,
3120 ) -> fidl::Result<()> {
3121 encoder.debug_check_bounds::<FrameSetPermissionStateRequest>(offset);
3122 fidl::encoding::Encode::<FrameSetPermissionStateRequest, D>::encode(
3124 (
3125 <PermissionDescriptor as fidl::encoding::ValueTypeMarker>::borrow(&self.permission),
3126 <fidl::encoding::BoundedString<65536> as fidl::encoding::ValueTypeMarker>::borrow(&self.web_origin),
3127 <PermissionState as fidl::encoding::ValueTypeMarker>::borrow(&self.state),
3128 ),
3129 encoder, offset, _depth
3130 )
3131 }
3132 }
3133 unsafe impl<
3134 D: fidl::encoding::ResourceDialect,
3135 T0: fidl::encoding::Encode<PermissionDescriptor, D>,
3136 T1: fidl::encoding::Encode<fidl::encoding::BoundedString<65536>, D>,
3137 T2: fidl::encoding::Encode<PermissionState, D>,
3138 > fidl::encoding::Encode<FrameSetPermissionStateRequest, D> for (T0, T1, T2)
3139 {
3140 #[inline]
3141 unsafe fn encode(
3142 self,
3143 encoder: &mut fidl::encoding::Encoder<'_, D>,
3144 offset: usize,
3145 depth: fidl::encoding::Depth,
3146 ) -> fidl::Result<()> {
3147 encoder.debug_check_bounds::<FrameSetPermissionStateRequest>(offset);
3148 unsafe {
3151 let ptr = encoder.buf.as_mut_ptr().add(offset).offset(32);
3152 (ptr as *mut u64).write_unaligned(0);
3153 }
3154 self.0.encode(encoder, offset + 0, depth)?;
3156 self.1.encode(encoder, offset + 16, depth)?;
3157 self.2.encode(encoder, offset + 32, depth)?;
3158 Ok(())
3159 }
3160 }
3161
3162 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3163 for FrameSetPermissionStateRequest
3164 {
3165 #[inline(always)]
3166 fn new_empty() -> Self {
3167 Self {
3168 permission: fidl::new_empty!(PermissionDescriptor, D),
3169 web_origin: fidl::new_empty!(fidl::encoding::BoundedString<65536>, D),
3170 state: fidl::new_empty!(PermissionState, D),
3171 }
3172 }
3173
3174 #[inline]
3175 unsafe fn decode(
3176 &mut self,
3177 decoder: &mut fidl::encoding::Decoder<'_, D>,
3178 offset: usize,
3179 _depth: fidl::encoding::Depth,
3180 ) -> fidl::Result<()> {
3181 decoder.debug_check_bounds::<Self>(offset);
3182 let ptr = unsafe { decoder.buf.as_ptr().add(offset).offset(32) };
3184 let padval = unsafe { (ptr as *const u64).read_unaligned() };
3185 let mask = 0xffffffffffffff00u64;
3186 let maskedval = padval & mask;
3187 if maskedval != 0 {
3188 return Err(fidl::Error::NonZeroPadding {
3189 padding_start: offset + 32 + ((mask as u64).trailing_zeros() / 8) as usize,
3190 });
3191 }
3192 fidl::decode!(
3193 PermissionDescriptor,
3194 D,
3195 &mut self.permission,
3196 decoder,
3197 offset + 0,
3198 _depth
3199 )?;
3200 fidl::decode!(
3201 fidl::encoding::BoundedString<65536>,
3202 D,
3203 &mut self.web_origin,
3204 decoder,
3205 offset + 16,
3206 _depth
3207 )?;
3208 fidl::decode!(PermissionState, D, &mut self.state, decoder, offset + 32, _depth)?;
3209 Ok(())
3210 }
3211 }
3212
3213 impl fidl::encoding::ValueTypeMarker for FrameSetUrlRequestRewriteRulesRequest {
3214 type Borrowed<'a> = &'a Self;
3215 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3216 value
3217 }
3218 }
3219
3220 unsafe impl fidl::encoding::TypeMarker for FrameSetUrlRequestRewriteRulesRequest {
3221 type Owned = Self;
3222
3223 #[inline(always)]
3224 fn inline_align(_context: fidl::encoding::Context) -> usize {
3225 8
3226 }
3227
3228 #[inline(always)]
3229 fn inline_size(_context: fidl::encoding::Context) -> usize {
3230 16
3231 }
3232 }
3233
3234 unsafe impl<D: fidl::encoding::ResourceDialect>
3235 fidl::encoding::Encode<FrameSetUrlRequestRewriteRulesRequest, D>
3236 for &FrameSetUrlRequestRewriteRulesRequest
3237 {
3238 #[inline]
3239 unsafe fn encode(
3240 self,
3241 encoder: &mut fidl::encoding::Encoder<'_, D>,
3242 offset: usize,
3243 _depth: fidl::encoding::Depth,
3244 ) -> fidl::Result<()> {
3245 encoder.debug_check_bounds::<FrameSetUrlRequestRewriteRulesRequest>(offset);
3246 fidl::encoding::Encode::<FrameSetUrlRequestRewriteRulesRequest, D>::encode(
3248 (
3249 <fidl::encoding::Vector<UrlRequestRewriteRule, 4096> as fidl::encoding::ValueTypeMarker>::borrow(&self.rules),
3250 ),
3251 encoder, offset, _depth
3252 )
3253 }
3254 }
3255 unsafe impl<
3256 D: fidl::encoding::ResourceDialect,
3257 T0: fidl::encoding::Encode<fidl::encoding::Vector<UrlRequestRewriteRule, 4096>, D>,
3258 > fidl::encoding::Encode<FrameSetUrlRequestRewriteRulesRequest, D> for (T0,)
3259 {
3260 #[inline]
3261 unsafe fn encode(
3262 self,
3263 encoder: &mut fidl::encoding::Encoder<'_, D>,
3264 offset: usize,
3265 depth: fidl::encoding::Depth,
3266 ) -> fidl::Result<()> {
3267 encoder.debug_check_bounds::<FrameSetUrlRequestRewriteRulesRequest>(offset);
3268 self.0.encode(encoder, offset + 0, depth)?;
3272 Ok(())
3273 }
3274 }
3275
3276 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3277 for FrameSetUrlRequestRewriteRulesRequest
3278 {
3279 #[inline(always)]
3280 fn new_empty() -> Self {
3281 Self { rules: fidl::new_empty!(fidl::encoding::Vector<UrlRequestRewriteRule, 4096>, D) }
3282 }
3283
3284 #[inline]
3285 unsafe fn decode(
3286 &mut self,
3287 decoder: &mut fidl::encoding::Decoder<'_, D>,
3288 offset: usize,
3289 _depth: fidl::encoding::Depth,
3290 ) -> fidl::Result<()> {
3291 decoder.debug_check_bounds::<Self>(offset);
3292 fidl::decode!(fidl::encoding::Vector<UrlRequestRewriteRule, 4096>, D, &mut self.rules, decoder, offset + 0, _depth)?;
3294 Ok(())
3295 }
3296 }
3297
3298 impl fidl::encoding::ValueTypeMarker for NavigationControllerReloadRequest {
3299 type Borrowed<'a> = &'a Self;
3300 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3301 value
3302 }
3303 }
3304
3305 unsafe impl fidl::encoding::TypeMarker for NavigationControllerReloadRequest {
3306 type Owned = Self;
3307
3308 #[inline(always)]
3309 fn inline_align(_context: fidl::encoding::Context) -> usize {
3310 4
3311 }
3312
3313 #[inline(always)]
3314 fn inline_size(_context: fidl::encoding::Context) -> usize {
3315 4
3316 }
3317 }
3318
3319 unsafe impl<D: fidl::encoding::ResourceDialect>
3320 fidl::encoding::Encode<NavigationControllerReloadRequest, D>
3321 for &NavigationControllerReloadRequest
3322 {
3323 #[inline]
3324 unsafe fn encode(
3325 self,
3326 encoder: &mut fidl::encoding::Encoder<'_, D>,
3327 offset: usize,
3328 _depth: fidl::encoding::Depth,
3329 ) -> fidl::Result<()> {
3330 encoder.debug_check_bounds::<NavigationControllerReloadRequest>(offset);
3331 fidl::encoding::Encode::<NavigationControllerReloadRequest, D>::encode(
3333 (<ReloadType as fidl::encoding::ValueTypeMarker>::borrow(&self.type_),),
3334 encoder,
3335 offset,
3336 _depth,
3337 )
3338 }
3339 }
3340 unsafe impl<D: fidl::encoding::ResourceDialect, T0: fidl::encoding::Encode<ReloadType, D>>
3341 fidl::encoding::Encode<NavigationControllerReloadRequest, D> for (T0,)
3342 {
3343 #[inline]
3344 unsafe fn encode(
3345 self,
3346 encoder: &mut fidl::encoding::Encoder<'_, D>,
3347 offset: usize,
3348 depth: fidl::encoding::Depth,
3349 ) -> fidl::Result<()> {
3350 encoder.debug_check_bounds::<NavigationControllerReloadRequest>(offset);
3351 self.0.encode(encoder, offset + 0, depth)?;
3355 Ok(())
3356 }
3357 }
3358
3359 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3360 for NavigationControllerReloadRequest
3361 {
3362 #[inline(always)]
3363 fn new_empty() -> Self {
3364 Self { type_: fidl::new_empty!(ReloadType, D) }
3365 }
3366
3367 #[inline]
3368 unsafe fn decode(
3369 &mut self,
3370 decoder: &mut fidl::encoding::Decoder<'_, D>,
3371 offset: usize,
3372 _depth: fidl::encoding::Depth,
3373 ) -> fidl::Result<()> {
3374 decoder.debug_check_bounds::<Self>(offset);
3375 fidl::decode!(ReloadType, D, &mut self.type_, decoder, offset + 0, _depth)?;
3377 Ok(())
3378 }
3379 }
3380
3381 impl fidl::encoding::ValueTypeMarker
3382 for NavigationPolicyProviderEvaluateRequestedNavigationRequest
3383 {
3384 type Borrowed<'a> = &'a Self;
3385 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3386 value
3387 }
3388 }
3389
3390 unsafe impl fidl::encoding::TypeMarker
3391 for NavigationPolicyProviderEvaluateRequestedNavigationRequest
3392 {
3393 type Owned = Self;
3394
3395 #[inline(always)]
3396 fn inline_align(_context: fidl::encoding::Context) -> usize {
3397 8
3398 }
3399
3400 #[inline(always)]
3401 fn inline_size(_context: fidl::encoding::Context) -> usize {
3402 16
3403 }
3404 }
3405
3406 unsafe impl<D: fidl::encoding::ResourceDialect>
3407 fidl::encoding::Encode<NavigationPolicyProviderEvaluateRequestedNavigationRequest, D>
3408 for &NavigationPolicyProviderEvaluateRequestedNavigationRequest
3409 {
3410 #[inline]
3411 unsafe fn encode(
3412 self,
3413 encoder: &mut fidl::encoding::Encoder<'_, D>,
3414 offset: usize,
3415 _depth: fidl::encoding::Depth,
3416 ) -> fidl::Result<()> {
3417 encoder
3418 .debug_check_bounds::<NavigationPolicyProviderEvaluateRequestedNavigationRequest>(
3419 offset,
3420 );
3421 fidl::encoding::Encode::<NavigationPolicyProviderEvaluateRequestedNavigationRequest, D>::encode(
3423 (
3424 <RequestedNavigation as fidl::encoding::ValueTypeMarker>::borrow(&self.requested_navigation),
3425 ),
3426 encoder, offset, _depth
3427 )
3428 }
3429 }
3430 unsafe impl<
3431 D: fidl::encoding::ResourceDialect,
3432 T0: fidl::encoding::Encode<RequestedNavigation, D>,
3433 > fidl::encoding::Encode<NavigationPolicyProviderEvaluateRequestedNavigationRequest, D>
3434 for (T0,)
3435 {
3436 #[inline]
3437 unsafe fn encode(
3438 self,
3439 encoder: &mut fidl::encoding::Encoder<'_, D>,
3440 offset: usize,
3441 depth: fidl::encoding::Depth,
3442 ) -> fidl::Result<()> {
3443 encoder
3444 .debug_check_bounds::<NavigationPolicyProviderEvaluateRequestedNavigationRequest>(
3445 offset,
3446 );
3447 self.0.encode(encoder, offset + 0, depth)?;
3451 Ok(())
3452 }
3453 }
3454
3455 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
3456 for NavigationPolicyProviderEvaluateRequestedNavigationRequest
3457 {
3458 #[inline(always)]
3459 fn new_empty() -> Self {
3460 Self { requested_navigation: fidl::new_empty!(RequestedNavigation, D) }
3461 }
3462
3463 #[inline]
3464 unsafe fn decode(
3465 &mut self,
3466 decoder: &mut fidl::encoding::Decoder<'_, D>,
3467 offset: usize,
3468 _depth: fidl::encoding::Depth,
3469 ) -> fidl::Result<()> {
3470 decoder.debug_check_bounds::<Self>(offset);
3471 fidl::decode!(
3473 RequestedNavigation,
3474 D,
3475 &mut self.requested_navigation,
3476 decoder,
3477 offset + 0,
3478 _depth
3479 )?;
3480 Ok(())
3481 }
3482 }
3483
3484 impl fidl::encoding::ValueTypeMarker for NoArgumentsAction {
3485 type Borrowed<'a> = &'a Self;
3486 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3487 value
3488 }
3489 }
3490
3491 unsafe impl fidl::encoding::TypeMarker for NoArgumentsAction {
3492 type Owned = Self;
3493
3494 #[inline(always)]
3495 fn inline_align(_context: fidl::encoding::Context) -> usize {
3496 1
3497 }
3498
3499 #[inline(always)]
3500 fn inline_size(_context: fidl::encoding::Context) -> usize {
3501 1
3502 }
3503 }
3504
3505 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<NoArgumentsAction, D>
3506 for &NoArgumentsAction
3507 {
3508 #[inline]
3509 unsafe fn encode(
3510 self,
3511 encoder: &mut fidl::encoding::Encoder<'_, D>,
3512 offset: usize,
3513 _depth: fidl::encoding::Depth,
3514 ) -> fidl::Result<()> {
3515 encoder.debug_check_bounds::<NoArgumentsAction>(offset);
3516 encoder.write_num(0u8, offset);
3517 Ok(())
3518 }
3519 }
3520
3521 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for NoArgumentsAction {
3522 #[inline(always)]
3523 fn new_empty() -> Self {
3524 Self
3525 }
3526
3527 #[inline]
3528 unsafe fn decode(
3529 &mut self,
3530 decoder: &mut fidl::encoding::Decoder<'_, D>,
3531 offset: usize,
3532 _depth: fidl::encoding::Depth,
3533 ) -> fidl::Result<()> {
3534 decoder.debug_check_bounds::<Self>(offset);
3535 match decoder.read_num::<u8>(offset) {
3536 0 => Ok(()),
3537 _ => Err(fidl::Error::Invalid),
3538 }
3539 }
3540 }
3541
3542 impl ContentAreaSettings {
3543 #[inline(always)]
3544 fn max_ordinal_present(&self) -> u64 {
3545 if let Some(_) = self.page_scale {
3546 return 4;
3547 }
3548 if let Some(_) = self.theme {
3549 return 3;
3550 }
3551 if let Some(_) = self.autoplay_policy {
3552 return 2;
3553 }
3554 if let Some(_) = self.hide_scrollbars {
3555 return 1;
3556 }
3557 0
3558 }
3559 }
3560
3561 impl fidl::encoding::ValueTypeMarker for ContentAreaSettings {
3562 type Borrowed<'a> = &'a Self;
3563 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3564 value
3565 }
3566 }
3567
3568 unsafe impl fidl::encoding::TypeMarker for ContentAreaSettings {
3569 type Owned = Self;
3570
3571 #[inline(always)]
3572 fn inline_align(_context: fidl::encoding::Context) -> usize {
3573 8
3574 }
3575
3576 #[inline(always)]
3577 fn inline_size(_context: fidl::encoding::Context) -> usize {
3578 16
3579 }
3580 }
3581
3582 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<ContentAreaSettings, D>
3583 for &ContentAreaSettings
3584 {
3585 unsafe fn encode(
3586 self,
3587 encoder: &mut fidl::encoding::Encoder<'_, D>,
3588 offset: usize,
3589 mut depth: fidl::encoding::Depth,
3590 ) -> fidl::Result<()> {
3591 encoder.debug_check_bounds::<ContentAreaSettings>(offset);
3592 let max_ordinal: u64 = self.max_ordinal_present();
3594 encoder.write_num(max_ordinal, offset);
3595 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3596 if max_ordinal == 0 {
3598 return Ok(());
3599 }
3600 depth.increment()?;
3601 let envelope_size = 8;
3602 let bytes_len = max_ordinal as usize * envelope_size;
3603 #[allow(unused_variables)]
3604 let offset = encoder.out_of_line_offset(bytes_len);
3605 let mut _prev_end_offset: usize = 0;
3606 if 1 > max_ordinal {
3607 return Ok(());
3608 }
3609
3610 let cur_offset: usize = (1 - 1) * envelope_size;
3613
3614 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3616
3617 fidl::encoding::encode_in_envelope_optional::<bool, D>(
3622 self.hide_scrollbars
3623 .as_ref()
3624 .map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
3625 encoder,
3626 offset + cur_offset,
3627 depth,
3628 )?;
3629
3630 _prev_end_offset = cur_offset + envelope_size;
3631 if 2 > max_ordinal {
3632 return Ok(());
3633 }
3634
3635 let cur_offset: usize = (2 - 1) * envelope_size;
3638
3639 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3641
3642 fidl::encoding::encode_in_envelope_optional::<AutoplayPolicy, D>(
3647 self.autoplay_policy
3648 .as_ref()
3649 .map(<AutoplayPolicy as fidl::encoding::ValueTypeMarker>::borrow),
3650 encoder,
3651 offset + cur_offset,
3652 depth,
3653 )?;
3654
3655 _prev_end_offset = cur_offset + envelope_size;
3656 if 3 > max_ordinal {
3657 return Ok(());
3658 }
3659
3660 let cur_offset: usize = (3 - 1) * envelope_size;
3663
3664 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3666
3667 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_settings__common::ThemeType, D>(
3672 self.theme.as_ref().map(<fidl_fuchsia_settings__common::ThemeType as fidl::encoding::ValueTypeMarker>::borrow),
3673 encoder, offset + cur_offset, depth
3674 )?;
3675
3676 _prev_end_offset = cur_offset + envelope_size;
3677 if 4 > max_ordinal {
3678 return Ok(());
3679 }
3680
3681 let cur_offset: usize = (4 - 1) * envelope_size;
3684
3685 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3687
3688 fidl::encoding::encode_in_envelope_optional::<f32, D>(
3693 self.page_scale.as_ref().map(<f32 as fidl::encoding::ValueTypeMarker>::borrow),
3694 encoder,
3695 offset + cur_offset,
3696 depth,
3697 )?;
3698
3699 _prev_end_offset = cur_offset + envelope_size;
3700
3701 Ok(())
3702 }
3703 }
3704
3705 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for ContentAreaSettings {
3706 #[inline(always)]
3707 fn new_empty() -> Self {
3708 Self::default()
3709 }
3710
3711 unsafe fn decode(
3712 &mut self,
3713 decoder: &mut fidl::encoding::Decoder<'_, D>,
3714 offset: usize,
3715 mut depth: fidl::encoding::Depth,
3716 ) -> fidl::Result<()> {
3717 decoder.debug_check_bounds::<Self>(offset);
3718 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
3719 None => return Err(fidl::Error::NotNullable),
3720 Some(len) => len,
3721 };
3722 if len == 0 {
3724 return Ok(());
3725 };
3726 depth.increment()?;
3727 let envelope_size = 8;
3728 let bytes_len = len * envelope_size;
3729 let offset = decoder.out_of_line_offset(bytes_len)?;
3730 let mut _next_ordinal_to_read = 0;
3732 let mut next_offset = offset;
3733 let end_offset = offset + bytes_len;
3734 _next_ordinal_to_read += 1;
3735 if next_offset >= end_offset {
3736 return Ok(());
3737 }
3738
3739 while _next_ordinal_to_read < 1 {
3741 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3742 _next_ordinal_to_read += 1;
3743 next_offset += envelope_size;
3744 }
3745
3746 let next_out_of_line = decoder.next_out_of_line();
3747 let handles_before = decoder.remaining_handles();
3748 if let Some((inlined, num_bytes, num_handles)) =
3749 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3750 {
3751 let member_inline_size =
3752 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3753 if inlined != (member_inline_size <= 4) {
3754 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3755 }
3756 let inner_offset;
3757 let mut inner_depth = depth.clone();
3758 if inlined {
3759 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3760 inner_offset = next_offset;
3761 } else {
3762 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3763 inner_depth.increment()?;
3764 }
3765 let val_ref = self.hide_scrollbars.get_or_insert_with(|| fidl::new_empty!(bool, D));
3766 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
3767 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3768 {
3769 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3770 }
3771 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3772 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3773 }
3774 }
3775
3776 next_offset += envelope_size;
3777 _next_ordinal_to_read += 1;
3778 if next_offset >= end_offset {
3779 return Ok(());
3780 }
3781
3782 while _next_ordinal_to_read < 2 {
3784 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3785 _next_ordinal_to_read += 1;
3786 next_offset += envelope_size;
3787 }
3788
3789 let next_out_of_line = decoder.next_out_of_line();
3790 let handles_before = decoder.remaining_handles();
3791 if let Some((inlined, num_bytes, num_handles)) =
3792 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3793 {
3794 let member_inline_size =
3795 <AutoplayPolicy as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3796 if inlined != (member_inline_size <= 4) {
3797 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3798 }
3799 let inner_offset;
3800 let mut inner_depth = depth.clone();
3801 if inlined {
3802 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3803 inner_offset = next_offset;
3804 } else {
3805 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3806 inner_depth.increment()?;
3807 }
3808 let val_ref =
3809 self.autoplay_policy.get_or_insert_with(|| fidl::new_empty!(AutoplayPolicy, D));
3810 fidl::decode!(AutoplayPolicy, D, val_ref, decoder, inner_offset, inner_depth)?;
3811 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3812 {
3813 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3814 }
3815 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3816 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3817 }
3818 }
3819
3820 next_offset += envelope_size;
3821 _next_ordinal_to_read += 1;
3822 if next_offset >= end_offset {
3823 return Ok(());
3824 }
3825
3826 while _next_ordinal_to_read < 3 {
3828 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3829 _next_ordinal_to_read += 1;
3830 next_offset += envelope_size;
3831 }
3832
3833 let next_out_of_line = decoder.next_out_of_line();
3834 let handles_before = decoder.remaining_handles();
3835 if let Some((inlined, num_bytes, num_handles)) =
3836 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3837 {
3838 let member_inline_size = <fidl_fuchsia_settings__common::ThemeType as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3839 if inlined != (member_inline_size <= 4) {
3840 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3841 }
3842 let inner_offset;
3843 let mut inner_depth = depth.clone();
3844 if inlined {
3845 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3846 inner_offset = next_offset;
3847 } else {
3848 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3849 inner_depth.increment()?;
3850 }
3851 let val_ref = self.theme.get_or_insert_with(|| {
3852 fidl::new_empty!(fidl_fuchsia_settings__common::ThemeType, D)
3853 });
3854 fidl::decode!(
3855 fidl_fuchsia_settings__common::ThemeType,
3856 D,
3857 val_ref,
3858 decoder,
3859 inner_offset,
3860 inner_depth
3861 )?;
3862 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3863 {
3864 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3865 }
3866 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3867 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3868 }
3869 }
3870
3871 next_offset += envelope_size;
3872 _next_ordinal_to_read += 1;
3873 if next_offset >= end_offset {
3874 return Ok(());
3875 }
3876
3877 while _next_ordinal_to_read < 4 {
3879 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3880 _next_ordinal_to_read += 1;
3881 next_offset += envelope_size;
3882 }
3883
3884 let next_out_of_line = decoder.next_out_of_line();
3885 let handles_before = decoder.remaining_handles();
3886 if let Some((inlined, num_bytes, num_handles)) =
3887 fidl::encoding::decode_envelope_header(decoder, next_offset)?
3888 {
3889 let member_inline_size =
3890 <f32 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
3891 if inlined != (member_inline_size <= 4) {
3892 return Err(fidl::Error::InvalidInlineBitInEnvelope);
3893 }
3894 let inner_offset;
3895 let mut inner_depth = depth.clone();
3896 if inlined {
3897 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
3898 inner_offset = next_offset;
3899 } else {
3900 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
3901 inner_depth.increment()?;
3902 }
3903 let val_ref = self.page_scale.get_or_insert_with(|| fidl::new_empty!(f32, D));
3904 fidl::decode!(f32, D, val_ref, decoder, inner_offset, inner_depth)?;
3905 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
3906 {
3907 return Err(fidl::Error::InvalidNumBytesInEnvelope);
3908 }
3909 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
3910 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
3911 }
3912 }
3913
3914 next_offset += envelope_size;
3915
3916 while next_offset < end_offset {
3918 _next_ordinal_to_read += 1;
3919 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
3920 next_offset += envelope_size;
3921 }
3922
3923 Ok(())
3924 }
3925 }
3926
3927 impl CookieId {
3928 #[inline(always)]
3929 fn max_ordinal_present(&self) -> u64 {
3930 if let Some(_) = self.path {
3931 return 3;
3932 }
3933 if let Some(_) = self.domain {
3934 return 2;
3935 }
3936 if let Some(_) = self.name {
3937 return 1;
3938 }
3939 0
3940 }
3941 }
3942
3943 impl fidl::encoding::ValueTypeMarker for CookieId {
3944 type Borrowed<'a> = &'a Self;
3945 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
3946 value
3947 }
3948 }
3949
3950 unsafe impl fidl::encoding::TypeMarker for CookieId {
3951 type Owned = Self;
3952
3953 #[inline(always)]
3954 fn inline_align(_context: fidl::encoding::Context) -> usize {
3955 8
3956 }
3957
3958 #[inline(always)]
3959 fn inline_size(_context: fidl::encoding::Context) -> usize {
3960 16
3961 }
3962 }
3963
3964 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<CookieId, D> for &CookieId {
3965 unsafe fn encode(
3966 self,
3967 encoder: &mut fidl::encoding::Encoder<'_, D>,
3968 offset: usize,
3969 mut depth: fidl::encoding::Depth,
3970 ) -> fidl::Result<()> {
3971 encoder.debug_check_bounds::<CookieId>(offset);
3972 let max_ordinal: u64 = self.max_ordinal_present();
3974 encoder.write_num(max_ordinal, offset);
3975 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
3976 if max_ordinal == 0 {
3978 return Ok(());
3979 }
3980 depth.increment()?;
3981 let envelope_size = 8;
3982 let bytes_len = max_ordinal as usize * envelope_size;
3983 #[allow(unused_variables)]
3984 let offset = encoder.out_of_line_offset(bytes_len);
3985 let mut _prev_end_offset: usize = 0;
3986 if 1 > max_ordinal {
3987 return Ok(());
3988 }
3989
3990 let cur_offset: usize = (1 - 1) * envelope_size;
3993
3994 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
3996
3997 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedString, D>(
4002 self.name.as_ref().map(
4003 <fidl::encoding::UnboundedString as fidl::encoding::ValueTypeMarker>::borrow,
4004 ),
4005 encoder,
4006 offset + cur_offset,
4007 depth,
4008 )?;
4009
4010 _prev_end_offset = cur_offset + envelope_size;
4011 if 2 > max_ordinal {
4012 return Ok(());
4013 }
4014
4015 let cur_offset: usize = (2 - 1) * envelope_size;
4018
4019 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4021
4022 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<255>, D>(
4027 self.domain.as_ref().map(
4028 <fidl::encoding::BoundedString<255> as fidl::encoding::ValueTypeMarker>::borrow,
4029 ),
4030 encoder,
4031 offset + cur_offset,
4032 depth,
4033 )?;
4034
4035 _prev_end_offset = cur_offset + envelope_size;
4036 if 3 > max_ordinal {
4037 return Ok(());
4038 }
4039
4040 let cur_offset: usize = (3 - 1) * envelope_size;
4043
4044 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4046
4047 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<65536>, D>(
4052 self.path.as_ref().map(<fidl::encoding::BoundedString<65536> as fidl::encoding::ValueTypeMarker>::borrow),
4053 encoder, offset + cur_offset, depth
4054 )?;
4055
4056 _prev_end_offset = cur_offset + envelope_size;
4057
4058 Ok(())
4059 }
4060 }
4061
4062 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for CookieId {
4063 #[inline(always)]
4064 fn new_empty() -> Self {
4065 Self::default()
4066 }
4067
4068 unsafe fn decode(
4069 &mut self,
4070 decoder: &mut fidl::encoding::Decoder<'_, D>,
4071 offset: usize,
4072 mut depth: fidl::encoding::Depth,
4073 ) -> fidl::Result<()> {
4074 decoder.debug_check_bounds::<Self>(offset);
4075 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4076 None => return Err(fidl::Error::NotNullable),
4077 Some(len) => len,
4078 };
4079 if len == 0 {
4081 return Ok(());
4082 };
4083 depth.increment()?;
4084 let envelope_size = 8;
4085 let bytes_len = len * envelope_size;
4086 let offset = decoder.out_of_line_offset(bytes_len)?;
4087 let mut _next_ordinal_to_read = 0;
4089 let mut next_offset = offset;
4090 let end_offset = offset + bytes_len;
4091 _next_ordinal_to_read += 1;
4092 if next_offset >= end_offset {
4093 return Ok(());
4094 }
4095
4096 while _next_ordinal_to_read < 1 {
4098 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4099 _next_ordinal_to_read += 1;
4100 next_offset += envelope_size;
4101 }
4102
4103 let next_out_of_line = decoder.next_out_of_line();
4104 let handles_before = decoder.remaining_handles();
4105 if let Some((inlined, num_bytes, num_handles)) =
4106 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4107 {
4108 let member_inline_size =
4109 <fidl::encoding::UnboundedString as fidl::encoding::TypeMarker>::inline_size(
4110 decoder.context,
4111 );
4112 if inlined != (member_inline_size <= 4) {
4113 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4114 }
4115 let inner_offset;
4116 let mut inner_depth = depth.clone();
4117 if inlined {
4118 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4119 inner_offset = next_offset;
4120 } else {
4121 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4122 inner_depth.increment()?;
4123 }
4124 let val_ref = self
4125 .name
4126 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::UnboundedString, D));
4127 fidl::decode!(
4128 fidl::encoding::UnboundedString,
4129 D,
4130 val_ref,
4131 decoder,
4132 inner_offset,
4133 inner_depth
4134 )?;
4135 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4136 {
4137 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4138 }
4139 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4140 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4141 }
4142 }
4143
4144 next_offset += envelope_size;
4145 _next_ordinal_to_read += 1;
4146 if next_offset >= end_offset {
4147 return Ok(());
4148 }
4149
4150 while _next_ordinal_to_read < 2 {
4152 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4153 _next_ordinal_to_read += 1;
4154 next_offset += envelope_size;
4155 }
4156
4157 let next_out_of_line = decoder.next_out_of_line();
4158 let handles_before = decoder.remaining_handles();
4159 if let Some((inlined, num_bytes, num_handles)) =
4160 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4161 {
4162 let member_inline_size =
4163 <fidl::encoding::BoundedString<255> as fidl::encoding::TypeMarker>::inline_size(
4164 decoder.context,
4165 );
4166 if inlined != (member_inline_size <= 4) {
4167 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4168 }
4169 let inner_offset;
4170 let mut inner_depth = depth.clone();
4171 if inlined {
4172 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4173 inner_offset = next_offset;
4174 } else {
4175 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4176 inner_depth.increment()?;
4177 }
4178 let val_ref = self
4179 .domain
4180 .get_or_insert_with(|| fidl::new_empty!(fidl::encoding::BoundedString<255>, D));
4181 fidl::decode!(
4182 fidl::encoding::BoundedString<255>,
4183 D,
4184 val_ref,
4185 decoder,
4186 inner_offset,
4187 inner_depth
4188 )?;
4189 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4190 {
4191 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4192 }
4193 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4194 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4195 }
4196 }
4197
4198 next_offset += envelope_size;
4199 _next_ordinal_to_read += 1;
4200 if next_offset >= end_offset {
4201 return Ok(());
4202 }
4203
4204 while _next_ordinal_to_read < 3 {
4206 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4207 _next_ordinal_to_read += 1;
4208 next_offset += envelope_size;
4209 }
4210
4211 let next_out_of_line = decoder.next_out_of_line();
4212 let handles_before = decoder.remaining_handles();
4213 if let Some((inlined, num_bytes, num_handles)) =
4214 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4215 {
4216 let member_inline_size = <fidl::encoding::BoundedString<65536> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4217 if inlined != (member_inline_size <= 4) {
4218 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4219 }
4220 let inner_offset;
4221 let mut inner_depth = depth.clone();
4222 if inlined {
4223 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4224 inner_offset = next_offset;
4225 } else {
4226 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4227 inner_depth.increment()?;
4228 }
4229 let val_ref = self.path.get_or_insert_with(|| {
4230 fidl::new_empty!(fidl::encoding::BoundedString<65536>, D)
4231 });
4232 fidl::decode!(
4233 fidl::encoding::BoundedString<65536>,
4234 D,
4235 val_ref,
4236 decoder,
4237 inner_offset,
4238 inner_depth
4239 )?;
4240 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4241 {
4242 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4243 }
4244 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4245 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4246 }
4247 }
4248
4249 next_offset += envelope_size;
4250
4251 while next_offset < end_offset {
4253 _next_ordinal_to_read += 1;
4254 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4255 next_offset += envelope_size;
4256 }
4257
4258 Ok(())
4259 }
4260 }
4261
4262 impl FrameCloseRequest {
4263 #[inline(always)]
4264 fn max_ordinal_present(&self) -> u64 {
4265 if let Some(_) = self.timeout {
4266 return 1;
4267 }
4268 0
4269 }
4270 }
4271
4272 impl fidl::encoding::ValueTypeMarker for FrameCloseRequest {
4273 type Borrowed<'a> = &'a Self;
4274 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4275 value
4276 }
4277 }
4278
4279 unsafe impl fidl::encoding::TypeMarker for FrameCloseRequest {
4280 type Owned = Self;
4281
4282 #[inline(always)]
4283 fn inline_align(_context: fidl::encoding::Context) -> usize {
4284 8
4285 }
4286
4287 #[inline(always)]
4288 fn inline_size(_context: fidl::encoding::Context) -> usize {
4289 16
4290 }
4291 }
4292
4293 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<FrameCloseRequest, D>
4294 for &FrameCloseRequest
4295 {
4296 unsafe fn encode(
4297 self,
4298 encoder: &mut fidl::encoding::Encoder<'_, D>,
4299 offset: usize,
4300 mut depth: fidl::encoding::Depth,
4301 ) -> fidl::Result<()> {
4302 encoder.debug_check_bounds::<FrameCloseRequest>(offset);
4303 let max_ordinal: u64 = self.max_ordinal_present();
4305 encoder.write_num(max_ordinal, offset);
4306 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4307 if max_ordinal == 0 {
4309 return Ok(());
4310 }
4311 depth.increment()?;
4312 let envelope_size = 8;
4313 let bytes_len = max_ordinal as usize * envelope_size;
4314 #[allow(unused_variables)]
4315 let offset = encoder.out_of_line_offset(bytes_len);
4316 let mut _prev_end_offset: usize = 0;
4317 if 1 > max_ordinal {
4318 return Ok(());
4319 }
4320
4321 let cur_offset: usize = (1 - 1) * envelope_size;
4324
4325 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4327
4328 fidl::encoding::encode_in_envelope_optional::<i64, D>(
4333 self.timeout.as_ref().map(<i64 as fidl::encoding::ValueTypeMarker>::borrow),
4334 encoder,
4335 offset + cur_offset,
4336 depth,
4337 )?;
4338
4339 _prev_end_offset = cur_offset + envelope_size;
4340
4341 Ok(())
4342 }
4343 }
4344
4345 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for FrameCloseRequest {
4346 #[inline(always)]
4347 fn new_empty() -> Self {
4348 Self::default()
4349 }
4350
4351 unsafe fn decode(
4352 &mut self,
4353 decoder: &mut fidl::encoding::Decoder<'_, D>,
4354 offset: usize,
4355 mut depth: fidl::encoding::Depth,
4356 ) -> fidl::Result<()> {
4357 decoder.debug_check_bounds::<Self>(offset);
4358 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4359 None => return Err(fidl::Error::NotNullable),
4360 Some(len) => len,
4361 };
4362 if len == 0 {
4364 return Ok(());
4365 };
4366 depth.increment()?;
4367 let envelope_size = 8;
4368 let bytes_len = len * envelope_size;
4369 let offset = decoder.out_of_line_offset(bytes_len)?;
4370 let mut _next_ordinal_to_read = 0;
4372 let mut next_offset = offset;
4373 let end_offset = offset + bytes_len;
4374 _next_ordinal_to_read += 1;
4375 if next_offset >= end_offset {
4376 return Ok(());
4377 }
4378
4379 while _next_ordinal_to_read < 1 {
4381 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4382 _next_ordinal_to_read += 1;
4383 next_offset += envelope_size;
4384 }
4385
4386 let next_out_of_line = decoder.next_out_of_line();
4387 let handles_before = decoder.remaining_handles();
4388 if let Some((inlined, num_bytes, num_handles)) =
4389 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4390 {
4391 let member_inline_size =
4392 <i64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4393 if inlined != (member_inline_size <= 4) {
4394 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4395 }
4396 let inner_offset;
4397 let mut inner_depth = depth.clone();
4398 if inlined {
4399 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4400 inner_offset = next_offset;
4401 } else {
4402 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4403 inner_depth.increment()?;
4404 }
4405 let val_ref = self.timeout.get_or_insert_with(|| fidl::new_empty!(i64, D));
4406 fidl::decode!(i64, D, val_ref, decoder, inner_offset, inner_depth)?;
4407 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4408 {
4409 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4410 }
4411 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4412 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4413 }
4414 }
4415
4416 next_offset += envelope_size;
4417
4418 while next_offset < end_offset {
4420 _next_ordinal_to_read += 1;
4421 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4422 next_offset += envelope_size;
4423 }
4424
4425 Ok(())
4426 }
4427 }
4428
4429 impl FrameMediaSettings {
4430 #[inline(always)]
4431 fn max_ordinal_present(&self) -> u64 {
4432 if let Some(_) = self.renderer_usage2 {
4433 return 3;
4434 }
4435 if let Some(_) = self.audio_consumer_session_id {
4436 return 2;
4437 }
4438 if let Some(_) = self.renderer_usage {
4439 return 1;
4440 }
4441 0
4442 }
4443 }
4444
4445 impl fidl::encoding::ValueTypeMarker for FrameMediaSettings {
4446 type Borrowed<'a> = &'a Self;
4447 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4448 value
4449 }
4450 }
4451
4452 unsafe impl fidl::encoding::TypeMarker for FrameMediaSettings {
4453 type Owned = Self;
4454
4455 #[inline(always)]
4456 fn inline_align(_context: fidl::encoding::Context) -> usize {
4457 8
4458 }
4459
4460 #[inline(always)]
4461 fn inline_size(_context: fidl::encoding::Context) -> usize {
4462 16
4463 }
4464 }
4465
4466 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<FrameMediaSettings, D>
4467 for &FrameMediaSettings
4468 {
4469 unsafe fn encode(
4470 self,
4471 encoder: &mut fidl::encoding::Encoder<'_, D>,
4472 offset: usize,
4473 mut depth: fidl::encoding::Depth,
4474 ) -> fidl::Result<()> {
4475 encoder.debug_check_bounds::<FrameMediaSettings>(offset);
4476 let max_ordinal: u64 = self.max_ordinal_present();
4478 encoder.write_num(max_ordinal, offset);
4479 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4480 if max_ordinal == 0 {
4482 return Ok(());
4483 }
4484 depth.increment()?;
4485 let envelope_size = 8;
4486 let bytes_len = max_ordinal as usize * envelope_size;
4487 #[allow(unused_variables)]
4488 let offset = encoder.out_of_line_offset(bytes_len);
4489 let mut _prev_end_offset: usize = 0;
4490 if 1 > max_ordinal {
4491 return Ok(());
4492 }
4493
4494 let cur_offset: usize = (1 - 1) * envelope_size;
4497
4498 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4500
4501 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_media__common::AudioRenderUsage, D>(
4506 self.renderer_usage.as_ref().map(<fidl_fuchsia_media__common::AudioRenderUsage as fidl::encoding::ValueTypeMarker>::borrow),
4507 encoder, offset + cur_offset, depth
4508 )?;
4509
4510 _prev_end_offset = cur_offset + envelope_size;
4511 if 2 > max_ordinal {
4512 return Ok(());
4513 }
4514
4515 let cur_offset: usize = (2 - 1) * envelope_size;
4518
4519 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4521
4522 fidl::encoding::encode_in_envelope_optional::<u64, D>(
4527 self.audio_consumer_session_id
4528 .as_ref()
4529 .map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
4530 encoder,
4531 offset + cur_offset,
4532 depth,
4533 )?;
4534
4535 _prev_end_offset = cur_offset + envelope_size;
4536 if 3 > max_ordinal {
4537 return Ok(());
4538 }
4539
4540 let cur_offset: usize = (3 - 1) * envelope_size;
4543
4544 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4546
4547 fidl::encoding::encode_in_envelope_optional::<fidl_fuchsia_media__common::AudioRenderUsage2, D>(
4552 self.renderer_usage2.as_ref().map(<fidl_fuchsia_media__common::AudioRenderUsage2 as fidl::encoding::ValueTypeMarker>::borrow),
4553 encoder, offset + cur_offset, depth
4554 )?;
4555
4556 _prev_end_offset = cur_offset + envelope_size;
4557
4558 Ok(())
4559 }
4560 }
4561
4562 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for FrameMediaSettings {
4563 #[inline(always)]
4564 fn new_empty() -> Self {
4565 Self::default()
4566 }
4567
4568 unsafe fn decode(
4569 &mut self,
4570 decoder: &mut fidl::encoding::Decoder<'_, D>,
4571 offset: usize,
4572 mut depth: fidl::encoding::Depth,
4573 ) -> fidl::Result<()> {
4574 decoder.debug_check_bounds::<Self>(offset);
4575 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4576 None => return Err(fidl::Error::NotNullable),
4577 Some(len) => len,
4578 };
4579 if len == 0 {
4581 return Ok(());
4582 };
4583 depth.increment()?;
4584 let envelope_size = 8;
4585 let bytes_len = len * envelope_size;
4586 let offset = decoder.out_of_line_offset(bytes_len)?;
4587 let mut _next_ordinal_to_read = 0;
4589 let mut next_offset = offset;
4590 let end_offset = offset + bytes_len;
4591 _next_ordinal_to_read += 1;
4592 if next_offset >= end_offset {
4593 return Ok(());
4594 }
4595
4596 while _next_ordinal_to_read < 1 {
4598 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4599 _next_ordinal_to_read += 1;
4600 next_offset += envelope_size;
4601 }
4602
4603 let next_out_of_line = decoder.next_out_of_line();
4604 let handles_before = decoder.remaining_handles();
4605 if let Some((inlined, num_bytes, num_handles)) =
4606 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4607 {
4608 let member_inline_size = <fidl_fuchsia_media__common::AudioRenderUsage as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4609 if inlined != (member_inline_size <= 4) {
4610 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4611 }
4612 let inner_offset;
4613 let mut inner_depth = depth.clone();
4614 if inlined {
4615 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4616 inner_offset = next_offset;
4617 } else {
4618 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4619 inner_depth.increment()?;
4620 }
4621 let val_ref = self.renderer_usage.get_or_insert_with(|| {
4622 fidl::new_empty!(fidl_fuchsia_media__common::AudioRenderUsage, D)
4623 });
4624 fidl::decode!(
4625 fidl_fuchsia_media__common::AudioRenderUsage,
4626 D,
4627 val_ref,
4628 decoder,
4629 inner_offset,
4630 inner_depth
4631 )?;
4632 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4633 {
4634 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4635 }
4636 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4637 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4638 }
4639 }
4640
4641 next_offset += envelope_size;
4642 _next_ordinal_to_read += 1;
4643 if next_offset >= end_offset {
4644 return Ok(());
4645 }
4646
4647 while _next_ordinal_to_read < 2 {
4649 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4650 _next_ordinal_to_read += 1;
4651 next_offset += envelope_size;
4652 }
4653
4654 let next_out_of_line = decoder.next_out_of_line();
4655 let handles_before = decoder.remaining_handles();
4656 if let Some((inlined, num_bytes, num_handles)) =
4657 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4658 {
4659 let member_inline_size =
4660 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4661 if inlined != (member_inline_size <= 4) {
4662 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4663 }
4664 let inner_offset;
4665 let mut inner_depth = depth.clone();
4666 if inlined {
4667 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4668 inner_offset = next_offset;
4669 } else {
4670 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4671 inner_depth.increment()?;
4672 }
4673 let val_ref =
4674 self.audio_consumer_session_id.get_or_insert_with(|| fidl::new_empty!(u64, D));
4675 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
4676 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4677 {
4678 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4679 }
4680 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4681 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4682 }
4683 }
4684
4685 next_offset += envelope_size;
4686 _next_ordinal_to_read += 1;
4687 if next_offset >= end_offset {
4688 return Ok(());
4689 }
4690
4691 while _next_ordinal_to_read < 3 {
4693 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4694 _next_ordinal_to_read += 1;
4695 next_offset += envelope_size;
4696 }
4697
4698 let next_out_of_line = decoder.next_out_of_line();
4699 let handles_before = decoder.remaining_handles();
4700 if let Some((inlined, num_bytes, num_handles)) =
4701 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4702 {
4703 let member_inline_size = <fidl_fuchsia_media__common::AudioRenderUsage2 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4704 if inlined != (member_inline_size <= 4) {
4705 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4706 }
4707 let inner_offset;
4708 let mut inner_depth = depth.clone();
4709 if inlined {
4710 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4711 inner_offset = next_offset;
4712 } else {
4713 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4714 inner_depth.increment()?;
4715 }
4716 let val_ref = self.renderer_usage2.get_or_insert_with(|| {
4717 fidl::new_empty!(fidl_fuchsia_media__common::AudioRenderUsage2, D)
4718 });
4719 fidl::decode!(
4720 fidl_fuchsia_media__common::AudioRenderUsage2,
4721 D,
4722 val_ref,
4723 decoder,
4724 inner_offset,
4725 inner_depth
4726 )?;
4727 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4728 {
4729 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4730 }
4731 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4732 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4733 }
4734 }
4735
4736 next_offset += envelope_size;
4737
4738 while next_offset < end_offset {
4740 _next_ordinal_to_read += 1;
4741 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4742 next_offset += envelope_size;
4743 }
4744
4745 Ok(())
4746 }
4747 }
4748
4749 impl NavigationPolicyProviderParams {
4750 #[inline(always)]
4751 fn max_ordinal_present(&self) -> u64 {
4752 if let Some(_) = self.subframe_phases {
4753 return 2;
4754 }
4755 if let Some(_) = self.main_frame_phases {
4756 return 1;
4757 }
4758 0
4759 }
4760 }
4761
4762 impl fidl::encoding::ValueTypeMarker for NavigationPolicyProviderParams {
4763 type Borrowed<'a> = &'a Self;
4764 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
4765 value
4766 }
4767 }
4768
4769 unsafe impl fidl::encoding::TypeMarker for NavigationPolicyProviderParams {
4770 type Owned = Self;
4771
4772 #[inline(always)]
4773 fn inline_align(_context: fidl::encoding::Context) -> usize {
4774 8
4775 }
4776
4777 #[inline(always)]
4778 fn inline_size(_context: fidl::encoding::Context) -> usize {
4779 16
4780 }
4781 }
4782
4783 unsafe impl<D: fidl::encoding::ResourceDialect>
4784 fidl::encoding::Encode<NavigationPolicyProviderParams, D>
4785 for &NavigationPolicyProviderParams
4786 {
4787 unsafe fn encode(
4788 self,
4789 encoder: &mut fidl::encoding::Encoder<'_, D>,
4790 offset: usize,
4791 mut depth: fidl::encoding::Depth,
4792 ) -> fidl::Result<()> {
4793 encoder.debug_check_bounds::<NavigationPolicyProviderParams>(offset);
4794 let max_ordinal: u64 = self.max_ordinal_present();
4796 encoder.write_num(max_ordinal, offset);
4797 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
4798 if max_ordinal == 0 {
4800 return Ok(());
4801 }
4802 depth.increment()?;
4803 let envelope_size = 8;
4804 let bytes_len = max_ordinal as usize * envelope_size;
4805 #[allow(unused_variables)]
4806 let offset = encoder.out_of_line_offset(bytes_len);
4807 let mut _prev_end_offset: usize = 0;
4808 if 1 > max_ordinal {
4809 return Ok(());
4810 }
4811
4812 let cur_offset: usize = (1 - 1) * envelope_size;
4815
4816 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4818
4819 fidl::encoding::encode_in_envelope_optional::<NavigationPhase, D>(
4824 self.main_frame_phases
4825 .as_ref()
4826 .map(<NavigationPhase as fidl::encoding::ValueTypeMarker>::borrow),
4827 encoder,
4828 offset + cur_offset,
4829 depth,
4830 )?;
4831
4832 _prev_end_offset = cur_offset + envelope_size;
4833 if 2 > max_ordinal {
4834 return Ok(());
4835 }
4836
4837 let cur_offset: usize = (2 - 1) * envelope_size;
4840
4841 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
4843
4844 fidl::encoding::encode_in_envelope_optional::<NavigationPhase, D>(
4849 self.subframe_phases
4850 .as_ref()
4851 .map(<NavigationPhase as fidl::encoding::ValueTypeMarker>::borrow),
4852 encoder,
4853 offset + cur_offset,
4854 depth,
4855 )?;
4856
4857 _prev_end_offset = cur_offset + envelope_size;
4858
4859 Ok(())
4860 }
4861 }
4862
4863 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
4864 for NavigationPolicyProviderParams
4865 {
4866 #[inline(always)]
4867 fn new_empty() -> Self {
4868 Self::default()
4869 }
4870
4871 unsafe fn decode(
4872 &mut self,
4873 decoder: &mut fidl::encoding::Decoder<'_, D>,
4874 offset: usize,
4875 mut depth: fidl::encoding::Depth,
4876 ) -> fidl::Result<()> {
4877 decoder.debug_check_bounds::<Self>(offset);
4878 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
4879 None => return Err(fidl::Error::NotNullable),
4880 Some(len) => len,
4881 };
4882 if len == 0 {
4884 return Ok(());
4885 };
4886 depth.increment()?;
4887 let envelope_size = 8;
4888 let bytes_len = len * envelope_size;
4889 let offset = decoder.out_of_line_offset(bytes_len)?;
4890 let mut _next_ordinal_to_read = 0;
4892 let mut next_offset = offset;
4893 let end_offset = offset + bytes_len;
4894 _next_ordinal_to_read += 1;
4895 if next_offset >= end_offset {
4896 return Ok(());
4897 }
4898
4899 while _next_ordinal_to_read < 1 {
4901 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4902 _next_ordinal_to_read += 1;
4903 next_offset += envelope_size;
4904 }
4905
4906 let next_out_of_line = decoder.next_out_of_line();
4907 let handles_before = decoder.remaining_handles();
4908 if let Some((inlined, num_bytes, num_handles)) =
4909 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4910 {
4911 let member_inline_size =
4912 <NavigationPhase as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4913 if inlined != (member_inline_size <= 4) {
4914 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4915 }
4916 let inner_offset;
4917 let mut inner_depth = depth.clone();
4918 if inlined {
4919 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4920 inner_offset = next_offset;
4921 } else {
4922 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4923 inner_depth.increment()?;
4924 }
4925 let val_ref = self
4926 .main_frame_phases
4927 .get_or_insert_with(|| fidl::new_empty!(NavigationPhase, D));
4928 fidl::decode!(NavigationPhase, D, val_ref, decoder, inner_offset, inner_depth)?;
4929 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4930 {
4931 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4932 }
4933 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4934 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4935 }
4936 }
4937
4938 next_offset += envelope_size;
4939 _next_ordinal_to_read += 1;
4940 if next_offset >= end_offset {
4941 return Ok(());
4942 }
4943
4944 while _next_ordinal_to_read < 2 {
4946 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4947 _next_ordinal_to_read += 1;
4948 next_offset += envelope_size;
4949 }
4950
4951 let next_out_of_line = decoder.next_out_of_line();
4952 let handles_before = decoder.remaining_handles();
4953 if let Some((inlined, num_bytes, num_handles)) =
4954 fidl::encoding::decode_envelope_header(decoder, next_offset)?
4955 {
4956 let member_inline_size =
4957 <NavigationPhase as fidl::encoding::TypeMarker>::inline_size(decoder.context);
4958 if inlined != (member_inline_size <= 4) {
4959 return Err(fidl::Error::InvalidInlineBitInEnvelope);
4960 }
4961 let inner_offset;
4962 let mut inner_depth = depth.clone();
4963 if inlined {
4964 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
4965 inner_offset = next_offset;
4966 } else {
4967 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
4968 inner_depth.increment()?;
4969 }
4970 let val_ref = self
4971 .subframe_phases
4972 .get_or_insert_with(|| fidl::new_empty!(NavigationPhase, D));
4973 fidl::decode!(NavigationPhase, D, val_ref, decoder, inner_offset, inner_depth)?;
4974 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
4975 {
4976 return Err(fidl::Error::InvalidNumBytesInEnvelope);
4977 }
4978 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
4979 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
4980 }
4981 }
4982
4983 next_offset += envelope_size;
4984
4985 while next_offset < end_offset {
4987 _next_ordinal_to_read += 1;
4988 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
4989 next_offset += envelope_size;
4990 }
4991
4992 Ok(())
4993 }
4994 }
4995
4996 impl PermissionDescriptor {
4997 #[inline(always)]
4998 fn max_ordinal_present(&self) -> u64 {
4999 if let Some(_) = self.type_ {
5000 return 1;
5001 }
5002 0
5003 }
5004 }
5005
5006 impl fidl::encoding::ValueTypeMarker for PermissionDescriptor {
5007 type Borrowed<'a> = &'a Self;
5008 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5009 value
5010 }
5011 }
5012
5013 unsafe impl fidl::encoding::TypeMarker for PermissionDescriptor {
5014 type Owned = Self;
5015
5016 #[inline(always)]
5017 fn inline_align(_context: fidl::encoding::Context) -> usize {
5018 8
5019 }
5020
5021 #[inline(always)]
5022 fn inline_size(_context: fidl::encoding::Context) -> usize {
5023 16
5024 }
5025 }
5026
5027 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<PermissionDescriptor, D>
5028 for &PermissionDescriptor
5029 {
5030 unsafe fn encode(
5031 self,
5032 encoder: &mut fidl::encoding::Encoder<'_, D>,
5033 offset: usize,
5034 mut depth: fidl::encoding::Depth,
5035 ) -> fidl::Result<()> {
5036 encoder.debug_check_bounds::<PermissionDescriptor>(offset);
5037 let max_ordinal: u64 = self.max_ordinal_present();
5039 encoder.write_num(max_ordinal, offset);
5040 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5041 if max_ordinal == 0 {
5043 return Ok(());
5044 }
5045 depth.increment()?;
5046 let envelope_size = 8;
5047 let bytes_len = max_ordinal as usize * envelope_size;
5048 #[allow(unused_variables)]
5049 let offset = encoder.out_of_line_offset(bytes_len);
5050 let mut _prev_end_offset: usize = 0;
5051 if 1 > max_ordinal {
5052 return Ok(());
5053 }
5054
5055 let cur_offset: usize = (1 - 1) * envelope_size;
5058
5059 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5061
5062 fidl::encoding::encode_in_envelope_optional::<PermissionType, D>(
5067 self.type_
5068 .as_ref()
5069 .map(<PermissionType as fidl::encoding::ValueTypeMarker>::borrow),
5070 encoder,
5071 offset + cur_offset,
5072 depth,
5073 )?;
5074
5075 _prev_end_offset = cur_offset + envelope_size;
5076
5077 Ok(())
5078 }
5079 }
5080
5081 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for PermissionDescriptor {
5082 #[inline(always)]
5083 fn new_empty() -> Self {
5084 Self::default()
5085 }
5086
5087 unsafe fn decode(
5088 &mut self,
5089 decoder: &mut fidl::encoding::Decoder<'_, D>,
5090 offset: usize,
5091 mut depth: fidl::encoding::Depth,
5092 ) -> fidl::Result<()> {
5093 decoder.debug_check_bounds::<Self>(offset);
5094 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5095 None => return Err(fidl::Error::NotNullable),
5096 Some(len) => len,
5097 };
5098 if len == 0 {
5100 return Ok(());
5101 };
5102 depth.increment()?;
5103 let envelope_size = 8;
5104 let bytes_len = len * envelope_size;
5105 let offset = decoder.out_of_line_offset(bytes_len)?;
5106 let mut _next_ordinal_to_read = 0;
5108 let mut next_offset = offset;
5109 let end_offset = offset + bytes_len;
5110 _next_ordinal_to_read += 1;
5111 if next_offset >= end_offset {
5112 return Ok(());
5113 }
5114
5115 while _next_ordinal_to_read < 1 {
5117 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5118 _next_ordinal_to_read += 1;
5119 next_offset += envelope_size;
5120 }
5121
5122 let next_out_of_line = decoder.next_out_of_line();
5123 let handles_before = decoder.remaining_handles();
5124 if let Some((inlined, num_bytes, num_handles)) =
5125 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5126 {
5127 let member_inline_size =
5128 <PermissionType as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5129 if inlined != (member_inline_size <= 4) {
5130 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5131 }
5132 let inner_offset;
5133 let mut inner_depth = depth.clone();
5134 if inlined {
5135 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5136 inner_offset = next_offset;
5137 } else {
5138 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5139 inner_depth.increment()?;
5140 }
5141 let val_ref = self.type_.get_or_insert_with(|| fidl::new_empty!(PermissionType, D));
5142 fidl::decode!(PermissionType, D, val_ref, decoder, inner_offset, inner_depth)?;
5143 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5144 {
5145 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5146 }
5147 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5148 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5149 }
5150 }
5151
5152 next_offset += envelope_size;
5153
5154 while next_offset < end_offset {
5156 _next_ordinal_to_read += 1;
5157 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5158 next_offset += envelope_size;
5159 }
5160
5161 Ok(())
5162 }
5163 }
5164
5165 impl RequestedNavigation {
5166 #[inline(always)]
5167 fn max_ordinal_present(&self) -> u64 {
5168 if let Some(_) = self.was_server_redirect {
5169 return 8;
5170 }
5171 if let Some(_) = self.has_gesture {
5172 return 7;
5173 }
5174 if let Some(_) = self.url {
5175 return 6;
5176 }
5177 if let Some(_) = self.is_http_post {
5178 return 5;
5179 }
5180 if let Some(_) = self.is_same_document {
5181 return 4;
5182 }
5183 if let Some(_) = self.is_main_frame {
5184 return 3;
5185 }
5186 if let Some(_) = self.phase {
5187 return 2;
5188 }
5189 if let Some(_) = self.id {
5190 return 1;
5191 }
5192 0
5193 }
5194 }
5195
5196 impl fidl::encoding::ValueTypeMarker for RequestedNavigation {
5197 type Borrowed<'a> = &'a Self;
5198 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5199 value
5200 }
5201 }
5202
5203 unsafe impl fidl::encoding::TypeMarker for RequestedNavigation {
5204 type Owned = Self;
5205
5206 #[inline(always)]
5207 fn inline_align(_context: fidl::encoding::Context) -> usize {
5208 8
5209 }
5210
5211 #[inline(always)]
5212 fn inline_size(_context: fidl::encoding::Context) -> usize {
5213 16
5214 }
5215 }
5216
5217 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<RequestedNavigation, D>
5218 for &RequestedNavigation
5219 {
5220 unsafe fn encode(
5221 self,
5222 encoder: &mut fidl::encoding::Encoder<'_, D>,
5223 offset: usize,
5224 mut depth: fidl::encoding::Depth,
5225 ) -> fidl::Result<()> {
5226 encoder.debug_check_bounds::<RequestedNavigation>(offset);
5227 let max_ordinal: u64 = self.max_ordinal_present();
5229 encoder.write_num(max_ordinal, offset);
5230 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5231 if max_ordinal == 0 {
5233 return Ok(());
5234 }
5235 depth.increment()?;
5236 let envelope_size = 8;
5237 let bytes_len = max_ordinal as usize * envelope_size;
5238 #[allow(unused_variables)]
5239 let offset = encoder.out_of_line_offset(bytes_len);
5240 let mut _prev_end_offset: usize = 0;
5241 if 1 > max_ordinal {
5242 return Ok(());
5243 }
5244
5245 let cur_offset: usize = (1 - 1) * envelope_size;
5248
5249 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5251
5252 fidl::encoding::encode_in_envelope_optional::<u64, D>(
5257 self.id.as_ref().map(<u64 as fidl::encoding::ValueTypeMarker>::borrow),
5258 encoder,
5259 offset + cur_offset,
5260 depth,
5261 )?;
5262
5263 _prev_end_offset = cur_offset + envelope_size;
5264 if 2 > max_ordinal {
5265 return Ok(());
5266 }
5267
5268 let cur_offset: usize = (2 - 1) * envelope_size;
5271
5272 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5274
5275 fidl::encoding::encode_in_envelope_optional::<NavigationPhase, D>(
5280 self.phase
5281 .as_ref()
5282 .map(<NavigationPhase as fidl::encoding::ValueTypeMarker>::borrow),
5283 encoder,
5284 offset + cur_offset,
5285 depth,
5286 )?;
5287
5288 _prev_end_offset = cur_offset + envelope_size;
5289 if 3 > max_ordinal {
5290 return Ok(());
5291 }
5292
5293 let cur_offset: usize = (3 - 1) * envelope_size;
5296
5297 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5299
5300 fidl::encoding::encode_in_envelope_optional::<bool, D>(
5305 self.is_main_frame.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
5306 encoder,
5307 offset + cur_offset,
5308 depth,
5309 )?;
5310
5311 _prev_end_offset = cur_offset + envelope_size;
5312 if 4 > max_ordinal {
5313 return Ok(());
5314 }
5315
5316 let cur_offset: usize = (4 - 1) * envelope_size;
5319
5320 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5322
5323 fidl::encoding::encode_in_envelope_optional::<bool, D>(
5328 self.is_same_document
5329 .as_ref()
5330 .map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
5331 encoder,
5332 offset + cur_offset,
5333 depth,
5334 )?;
5335
5336 _prev_end_offset = cur_offset + envelope_size;
5337 if 5 > max_ordinal {
5338 return Ok(());
5339 }
5340
5341 let cur_offset: usize = (5 - 1) * envelope_size;
5344
5345 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5347
5348 fidl::encoding::encode_in_envelope_optional::<bool, D>(
5353 self.is_http_post.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
5354 encoder,
5355 offset + cur_offset,
5356 depth,
5357 )?;
5358
5359 _prev_end_offset = cur_offset + envelope_size;
5360 if 6 > max_ordinal {
5361 return Ok(());
5362 }
5363
5364 let cur_offset: usize = (6 - 1) * envelope_size;
5367
5368 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5370
5371 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<65536>, D>(
5376 self.url.as_ref().map(<fidl::encoding::BoundedString<65536> as fidl::encoding::ValueTypeMarker>::borrow),
5377 encoder, offset + cur_offset, depth
5378 )?;
5379
5380 _prev_end_offset = cur_offset + envelope_size;
5381 if 7 > max_ordinal {
5382 return Ok(());
5383 }
5384
5385 let cur_offset: usize = (7 - 1) * envelope_size;
5388
5389 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5391
5392 fidl::encoding::encode_in_envelope_optional::<bool, D>(
5397 self.has_gesture.as_ref().map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
5398 encoder,
5399 offset + cur_offset,
5400 depth,
5401 )?;
5402
5403 _prev_end_offset = cur_offset + envelope_size;
5404 if 8 > max_ordinal {
5405 return Ok(());
5406 }
5407
5408 let cur_offset: usize = (8 - 1) * envelope_size;
5411
5412 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5414
5415 fidl::encoding::encode_in_envelope_optional::<bool, D>(
5420 self.was_server_redirect
5421 .as_ref()
5422 .map(<bool as fidl::encoding::ValueTypeMarker>::borrow),
5423 encoder,
5424 offset + cur_offset,
5425 depth,
5426 )?;
5427
5428 _prev_end_offset = cur_offset + envelope_size;
5429
5430 Ok(())
5431 }
5432 }
5433
5434 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for RequestedNavigation {
5435 #[inline(always)]
5436 fn new_empty() -> Self {
5437 Self::default()
5438 }
5439
5440 unsafe fn decode(
5441 &mut self,
5442 decoder: &mut fidl::encoding::Decoder<'_, D>,
5443 offset: usize,
5444 mut depth: fidl::encoding::Depth,
5445 ) -> fidl::Result<()> {
5446 decoder.debug_check_bounds::<Self>(offset);
5447 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5448 None => return Err(fidl::Error::NotNullable),
5449 Some(len) => len,
5450 };
5451 if len == 0 {
5453 return Ok(());
5454 };
5455 depth.increment()?;
5456 let envelope_size = 8;
5457 let bytes_len = len * envelope_size;
5458 let offset = decoder.out_of_line_offset(bytes_len)?;
5459 let mut _next_ordinal_to_read = 0;
5461 let mut next_offset = offset;
5462 let end_offset = offset + bytes_len;
5463 _next_ordinal_to_read += 1;
5464 if next_offset >= end_offset {
5465 return Ok(());
5466 }
5467
5468 while _next_ordinal_to_read < 1 {
5470 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5471 _next_ordinal_to_read += 1;
5472 next_offset += envelope_size;
5473 }
5474
5475 let next_out_of_line = decoder.next_out_of_line();
5476 let handles_before = decoder.remaining_handles();
5477 if let Some((inlined, num_bytes, num_handles)) =
5478 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5479 {
5480 let member_inline_size =
5481 <u64 as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5482 if inlined != (member_inline_size <= 4) {
5483 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5484 }
5485 let inner_offset;
5486 let mut inner_depth = depth.clone();
5487 if inlined {
5488 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5489 inner_offset = next_offset;
5490 } else {
5491 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5492 inner_depth.increment()?;
5493 }
5494 let val_ref = self.id.get_or_insert_with(|| fidl::new_empty!(u64, D));
5495 fidl::decode!(u64, D, val_ref, decoder, inner_offset, inner_depth)?;
5496 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5497 {
5498 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5499 }
5500 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5501 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5502 }
5503 }
5504
5505 next_offset += envelope_size;
5506 _next_ordinal_to_read += 1;
5507 if next_offset >= end_offset {
5508 return Ok(());
5509 }
5510
5511 while _next_ordinal_to_read < 2 {
5513 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5514 _next_ordinal_to_read += 1;
5515 next_offset += envelope_size;
5516 }
5517
5518 let next_out_of_line = decoder.next_out_of_line();
5519 let handles_before = decoder.remaining_handles();
5520 if let Some((inlined, num_bytes, num_handles)) =
5521 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5522 {
5523 let member_inline_size =
5524 <NavigationPhase as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5525 if inlined != (member_inline_size <= 4) {
5526 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5527 }
5528 let inner_offset;
5529 let mut inner_depth = depth.clone();
5530 if inlined {
5531 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5532 inner_offset = next_offset;
5533 } else {
5534 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5535 inner_depth.increment()?;
5536 }
5537 let val_ref =
5538 self.phase.get_or_insert_with(|| fidl::new_empty!(NavigationPhase, D));
5539 fidl::decode!(NavigationPhase, D, val_ref, decoder, inner_offset, inner_depth)?;
5540 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5541 {
5542 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5543 }
5544 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5545 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5546 }
5547 }
5548
5549 next_offset += envelope_size;
5550 _next_ordinal_to_read += 1;
5551 if next_offset >= end_offset {
5552 return Ok(());
5553 }
5554
5555 while _next_ordinal_to_read < 3 {
5557 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5558 _next_ordinal_to_read += 1;
5559 next_offset += envelope_size;
5560 }
5561
5562 let next_out_of_line = decoder.next_out_of_line();
5563 let handles_before = decoder.remaining_handles();
5564 if let Some((inlined, num_bytes, num_handles)) =
5565 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5566 {
5567 let member_inline_size =
5568 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5569 if inlined != (member_inline_size <= 4) {
5570 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5571 }
5572 let inner_offset;
5573 let mut inner_depth = depth.clone();
5574 if inlined {
5575 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5576 inner_offset = next_offset;
5577 } else {
5578 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5579 inner_depth.increment()?;
5580 }
5581 let val_ref = self.is_main_frame.get_or_insert_with(|| fidl::new_empty!(bool, D));
5582 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
5583 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5584 {
5585 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5586 }
5587 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5588 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5589 }
5590 }
5591
5592 next_offset += envelope_size;
5593 _next_ordinal_to_read += 1;
5594 if next_offset >= end_offset {
5595 return Ok(());
5596 }
5597
5598 while _next_ordinal_to_read < 4 {
5600 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5601 _next_ordinal_to_read += 1;
5602 next_offset += envelope_size;
5603 }
5604
5605 let next_out_of_line = decoder.next_out_of_line();
5606 let handles_before = decoder.remaining_handles();
5607 if let Some((inlined, num_bytes, num_handles)) =
5608 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5609 {
5610 let member_inline_size =
5611 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5612 if inlined != (member_inline_size <= 4) {
5613 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5614 }
5615 let inner_offset;
5616 let mut inner_depth = depth.clone();
5617 if inlined {
5618 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5619 inner_offset = next_offset;
5620 } else {
5621 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5622 inner_depth.increment()?;
5623 }
5624 let val_ref =
5625 self.is_same_document.get_or_insert_with(|| fidl::new_empty!(bool, D));
5626 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
5627 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5628 {
5629 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5630 }
5631 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5632 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5633 }
5634 }
5635
5636 next_offset += envelope_size;
5637 _next_ordinal_to_read += 1;
5638 if next_offset >= end_offset {
5639 return Ok(());
5640 }
5641
5642 while _next_ordinal_to_read < 5 {
5644 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5645 _next_ordinal_to_read += 1;
5646 next_offset += envelope_size;
5647 }
5648
5649 let next_out_of_line = decoder.next_out_of_line();
5650 let handles_before = decoder.remaining_handles();
5651 if let Some((inlined, num_bytes, num_handles)) =
5652 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5653 {
5654 let member_inline_size =
5655 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5656 if inlined != (member_inline_size <= 4) {
5657 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5658 }
5659 let inner_offset;
5660 let mut inner_depth = depth.clone();
5661 if inlined {
5662 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5663 inner_offset = next_offset;
5664 } else {
5665 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5666 inner_depth.increment()?;
5667 }
5668 let val_ref = self.is_http_post.get_or_insert_with(|| fidl::new_empty!(bool, D));
5669 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
5670 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5671 {
5672 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5673 }
5674 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5675 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5676 }
5677 }
5678
5679 next_offset += envelope_size;
5680 _next_ordinal_to_read += 1;
5681 if next_offset >= end_offset {
5682 return Ok(());
5683 }
5684
5685 while _next_ordinal_to_read < 6 {
5687 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5688 _next_ordinal_to_read += 1;
5689 next_offset += envelope_size;
5690 }
5691
5692 let next_out_of_line = decoder.next_out_of_line();
5693 let handles_before = decoder.remaining_handles();
5694 if let Some((inlined, num_bytes, num_handles)) =
5695 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5696 {
5697 let member_inline_size = <fidl::encoding::BoundedString<65536> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5698 if inlined != (member_inline_size <= 4) {
5699 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5700 }
5701 let inner_offset;
5702 let mut inner_depth = depth.clone();
5703 if inlined {
5704 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5705 inner_offset = next_offset;
5706 } else {
5707 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5708 inner_depth.increment()?;
5709 }
5710 let val_ref = self.url.get_or_insert_with(|| {
5711 fidl::new_empty!(fidl::encoding::BoundedString<65536>, D)
5712 });
5713 fidl::decode!(
5714 fidl::encoding::BoundedString<65536>,
5715 D,
5716 val_ref,
5717 decoder,
5718 inner_offset,
5719 inner_depth
5720 )?;
5721 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5722 {
5723 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5724 }
5725 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5726 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5727 }
5728 }
5729
5730 next_offset += envelope_size;
5731 _next_ordinal_to_read += 1;
5732 if next_offset >= end_offset {
5733 return Ok(());
5734 }
5735
5736 while _next_ordinal_to_read < 7 {
5738 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5739 _next_ordinal_to_read += 1;
5740 next_offset += envelope_size;
5741 }
5742
5743 let next_out_of_line = decoder.next_out_of_line();
5744 let handles_before = decoder.remaining_handles();
5745 if let Some((inlined, num_bytes, num_handles)) =
5746 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5747 {
5748 let member_inline_size =
5749 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5750 if inlined != (member_inline_size <= 4) {
5751 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5752 }
5753 let inner_offset;
5754 let mut inner_depth = depth.clone();
5755 if inlined {
5756 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5757 inner_offset = next_offset;
5758 } else {
5759 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5760 inner_depth.increment()?;
5761 }
5762 let val_ref = self.has_gesture.get_or_insert_with(|| fidl::new_empty!(bool, D));
5763 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
5764 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5765 {
5766 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5767 }
5768 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5769 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5770 }
5771 }
5772
5773 next_offset += envelope_size;
5774 _next_ordinal_to_read += 1;
5775 if next_offset >= end_offset {
5776 return Ok(());
5777 }
5778
5779 while _next_ordinal_to_read < 8 {
5781 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5782 _next_ordinal_to_read += 1;
5783 next_offset += envelope_size;
5784 }
5785
5786 let next_out_of_line = decoder.next_out_of_line();
5787 let handles_before = decoder.remaining_handles();
5788 if let Some((inlined, num_bytes, num_handles)) =
5789 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5790 {
5791 let member_inline_size =
5792 <bool as fidl::encoding::TypeMarker>::inline_size(decoder.context);
5793 if inlined != (member_inline_size <= 4) {
5794 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5795 }
5796 let inner_offset;
5797 let mut inner_depth = depth.clone();
5798 if inlined {
5799 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5800 inner_offset = next_offset;
5801 } else {
5802 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5803 inner_depth.increment()?;
5804 }
5805 let val_ref =
5806 self.was_server_redirect.get_or_insert_with(|| fidl::new_empty!(bool, D));
5807 fidl::decode!(bool, D, val_ref, decoder, inner_offset, inner_depth)?;
5808 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5809 {
5810 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5811 }
5812 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5813 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5814 }
5815 }
5816
5817 next_offset += envelope_size;
5818
5819 while next_offset < end_offset {
5821 _next_ordinal_to_read += 1;
5822 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5823 next_offset += envelope_size;
5824 }
5825
5826 Ok(())
5827 }
5828 }
5829
5830 impl UrlRequestRewriteAddHeaders {
5831 #[inline(always)]
5832 fn max_ordinal_present(&self) -> u64 {
5833 if let Some(_) = self.headers {
5834 return 1;
5835 }
5836 0
5837 }
5838 }
5839
5840 impl fidl::encoding::ValueTypeMarker for UrlRequestRewriteAddHeaders {
5841 type Borrowed<'a> = &'a Self;
5842 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
5843 value
5844 }
5845 }
5846
5847 unsafe impl fidl::encoding::TypeMarker for UrlRequestRewriteAddHeaders {
5848 type Owned = Self;
5849
5850 #[inline(always)]
5851 fn inline_align(_context: fidl::encoding::Context) -> usize {
5852 8
5853 }
5854
5855 #[inline(always)]
5856 fn inline_size(_context: fidl::encoding::Context) -> usize {
5857 16
5858 }
5859 }
5860
5861 unsafe impl<D: fidl::encoding::ResourceDialect>
5862 fidl::encoding::Encode<UrlRequestRewriteAddHeaders, D> for &UrlRequestRewriteAddHeaders
5863 {
5864 unsafe fn encode(
5865 self,
5866 encoder: &mut fidl::encoding::Encoder<'_, D>,
5867 offset: usize,
5868 mut depth: fidl::encoding::Depth,
5869 ) -> fidl::Result<()> {
5870 encoder.debug_check_bounds::<UrlRequestRewriteAddHeaders>(offset);
5871 let max_ordinal: u64 = self.max_ordinal_present();
5873 encoder.write_num(max_ordinal, offset);
5874 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
5875 if max_ordinal == 0 {
5877 return Ok(());
5878 }
5879 depth.increment()?;
5880 let envelope_size = 8;
5881 let bytes_len = max_ordinal as usize * envelope_size;
5882 #[allow(unused_variables)]
5883 let offset = encoder.out_of_line_offset(bytes_len);
5884 let mut _prev_end_offset: usize = 0;
5885 if 1 > max_ordinal {
5886 return Ok(());
5887 }
5888
5889 let cur_offset: usize = (1 - 1) * envelope_size;
5892
5893 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
5895
5896 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<fidl_fuchsia_net_http__common::Header, 4096>, D>(
5901 self.headers.as_ref().map(<fidl::encoding::Vector<fidl_fuchsia_net_http__common::Header, 4096> as fidl::encoding::ValueTypeMarker>::borrow),
5902 encoder, offset + cur_offset, depth
5903 )?;
5904
5905 _prev_end_offset = cur_offset + envelope_size;
5906
5907 Ok(())
5908 }
5909 }
5910
5911 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
5912 for UrlRequestRewriteAddHeaders
5913 {
5914 #[inline(always)]
5915 fn new_empty() -> Self {
5916 Self::default()
5917 }
5918
5919 unsafe fn decode(
5920 &mut self,
5921 decoder: &mut fidl::encoding::Decoder<'_, D>,
5922 offset: usize,
5923 mut depth: fidl::encoding::Depth,
5924 ) -> fidl::Result<()> {
5925 decoder.debug_check_bounds::<Self>(offset);
5926 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
5927 None => return Err(fidl::Error::NotNullable),
5928 Some(len) => len,
5929 };
5930 if len == 0 {
5932 return Ok(());
5933 };
5934 depth.increment()?;
5935 let envelope_size = 8;
5936 let bytes_len = len * envelope_size;
5937 let offset = decoder.out_of_line_offset(bytes_len)?;
5938 let mut _next_ordinal_to_read = 0;
5940 let mut next_offset = offset;
5941 let end_offset = offset + bytes_len;
5942 _next_ordinal_to_read += 1;
5943 if next_offset >= end_offset {
5944 return Ok(());
5945 }
5946
5947 while _next_ordinal_to_read < 1 {
5949 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5950 _next_ordinal_to_read += 1;
5951 next_offset += envelope_size;
5952 }
5953
5954 let next_out_of_line = decoder.next_out_of_line();
5955 let handles_before = decoder.remaining_handles();
5956 if let Some((inlined, num_bytes, num_handles)) =
5957 fidl::encoding::decode_envelope_header(decoder, next_offset)?
5958 {
5959 let member_inline_size = <fidl::encoding::Vector<
5960 fidl_fuchsia_net_http__common::Header,
5961 4096,
5962 > as fidl::encoding::TypeMarker>::inline_size(
5963 decoder.context
5964 );
5965 if inlined != (member_inline_size <= 4) {
5966 return Err(fidl::Error::InvalidInlineBitInEnvelope);
5967 }
5968 let inner_offset;
5969 let mut inner_depth = depth.clone();
5970 if inlined {
5971 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
5972 inner_offset = next_offset;
5973 } else {
5974 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
5975 inner_depth.increment()?;
5976 }
5977 let val_ref =
5978 self.headers.get_or_insert_with(|| fidl::new_empty!(fidl::encoding::Vector<fidl_fuchsia_net_http__common::Header, 4096>, D));
5979 fidl::decode!(fidl::encoding::Vector<fidl_fuchsia_net_http__common::Header, 4096>, D, val_ref, decoder, inner_offset, inner_depth)?;
5980 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
5981 {
5982 return Err(fidl::Error::InvalidNumBytesInEnvelope);
5983 }
5984 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
5985 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
5986 }
5987 }
5988
5989 next_offset += envelope_size;
5990
5991 while next_offset < end_offset {
5993 _next_ordinal_to_read += 1;
5994 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
5995 next_offset += envelope_size;
5996 }
5997
5998 Ok(())
5999 }
6000 }
6001
6002 impl UrlRequestRewriteAppendToQuery {
6003 #[inline(always)]
6004 fn max_ordinal_present(&self) -> u64 {
6005 if let Some(_) = self.query {
6006 return 1;
6007 }
6008 0
6009 }
6010 }
6011
6012 impl fidl::encoding::ValueTypeMarker for UrlRequestRewriteAppendToQuery {
6013 type Borrowed<'a> = &'a Self;
6014 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6015 value
6016 }
6017 }
6018
6019 unsafe impl fidl::encoding::TypeMarker for UrlRequestRewriteAppendToQuery {
6020 type Owned = Self;
6021
6022 #[inline(always)]
6023 fn inline_align(_context: fidl::encoding::Context) -> usize {
6024 8
6025 }
6026
6027 #[inline(always)]
6028 fn inline_size(_context: fidl::encoding::Context) -> usize {
6029 16
6030 }
6031 }
6032
6033 unsafe impl<D: fidl::encoding::ResourceDialect>
6034 fidl::encoding::Encode<UrlRequestRewriteAppendToQuery, D>
6035 for &UrlRequestRewriteAppendToQuery
6036 {
6037 unsafe fn encode(
6038 self,
6039 encoder: &mut fidl::encoding::Encoder<'_, D>,
6040 offset: usize,
6041 mut depth: fidl::encoding::Depth,
6042 ) -> fidl::Result<()> {
6043 encoder.debug_check_bounds::<UrlRequestRewriteAppendToQuery>(offset);
6044 let max_ordinal: u64 = self.max_ordinal_present();
6046 encoder.write_num(max_ordinal, offset);
6047 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6048 if max_ordinal == 0 {
6050 return Ok(());
6051 }
6052 depth.increment()?;
6053 let envelope_size = 8;
6054 let bytes_len = max_ordinal as usize * envelope_size;
6055 #[allow(unused_variables)]
6056 let offset = encoder.out_of_line_offset(bytes_len);
6057 let mut _prev_end_offset: usize = 0;
6058 if 1 > max_ordinal {
6059 return Ok(());
6060 }
6061
6062 let cur_offset: usize = (1 - 1) * envelope_size;
6065
6066 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6068
6069 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<65536>, D>(
6074 self.query.as_ref().map(<fidl::encoding::BoundedString<65536> as fidl::encoding::ValueTypeMarker>::borrow),
6075 encoder, offset + cur_offset, depth
6076 )?;
6077
6078 _prev_end_offset = cur_offset + envelope_size;
6079
6080 Ok(())
6081 }
6082 }
6083
6084 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6085 for UrlRequestRewriteAppendToQuery
6086 {
6087 #[inline(always)]
6088 fn new_empty() -> Self {
6089 Self::default()
6090 }
6091
6092 unsafe fn decode(
6093 &mut self,
6094 decoder: &mut fidl::encoding::Decoder<'_, D>,
6095 offset: usize,
6096 mut depth: fidl::encoding::Depth,
6097 ) -> fidl::Result<()> {
6098 decoder.debug_check_bounds::<Self>(offset);
6099 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6100 None => return Err(fidl::Error::NotNullable),
6101 Some(len) => len,
6102 };
6103 if len == 0 {
6105 return Ok(());
6106 };
6107 depth.increment()?;
6108 let envelope_size = 8;
6109 let bytes_len = len * envelope_size;
6110 let offset = decoder.out_of_line_offset(bytes_len)?;
6111 let mut _next_ordinal_to_read = 0;
6113 let mut next_offset = offset;
6114 let end_offset = offset + bytes_len;
6115 _next_ordinal_to_read += 1;
6116 if next_offset >= end_offset {
6117 return Ok(());
6118 }
6119
6120 while _next_ordinal_to_read < 1 {
6122 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6123 _next_ordinal_to_read += 1;
6124 next_offset += envelope_size;
6125 }
6126
6127 let next_out_of_line = decoder.next_out_of_line();
6128 let handles_before = decoder.remaining_handles();
6129 if let Some((inlined, num_bytes, num_handles)) =
6130 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6131 {
6132 let member_inline_size = <fidl::encoding::BoundedString<65536> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6133 if inlined != (member_inline_size <= 4) {
6134 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6135 }
6136 let inner_offset;
6137 let mut inner_depth = depth.clone();
6138 if inlined {
6139 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6140 inner_offset = next_offset;
6141 } else {
6142 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6143 inner_depth.increment()?;
6144 }
6145 let val_ref = self.query.get_or_insert_with(|| {
6146 fidl::new_empty!(fidl::encoding::BoundedString<65536>, D)
6147 });
6148 fidl::decode!(
6149 fidl::encoding::BoundedString<65536>,
6150 D,
6151 val_ref,
6152 decoder,
6153 inner_offset,
6154 inner_depth
6155 )?;
6156 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6157 {
6158 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6159 }
6160 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6161 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6162 }
6163 }
6164
6165 next_offset += envelope_size;
6166
6167 while next_offset < end_offset {
6169 _next_ordinal_to_read += 1;
6170 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6171 next_offset += envelope_size;
6172 }
6173
6174 Ok(())
6175 }
6176 }
6177
6178 impl UrlRequestRewriteRemoveHeader {
6179 #[inline(always)]
6180 fn max_ordinal_present(&self) -> u64 {
6181 if let Some(_) = self.header_name {
6182 return 2;
6183 }
6184 if let Some(_) = self.query_pattern {
6185 return 1;
6186 }
6187 0
6188 }
6189 }
6190
6191 impl fidl::encoding::ValueTypeMarker for UrlRequestRewriteRemoveHeader {
6192 type Borrowed<'a> = &'a Self;
6193 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6194 value
6195 }
6196 }
6197
6198 unsafe impl fidl::encoding::TypeMarker for UrlRequestRewriteRemoveHeader {
6199 type Owned = Self;
6200
6201 #[inline(always)]
6202 fn inline_align(_context: fidl::encoding::Context) -> usize {
6203 8
6204 }
6205
6206 #[inline(always)]
6207 fn inline_size(_context: fidl::encoding::Context) -> usize {
6208 16
6209 }
6210 }
6211
6212 unsafe impl<D: fidl::encoding::ResourceDialect>
6213 fidl::encoding::Encode<UrlRequestRewriteRemoveHeader, D>
6214 for &UrlRequestRewriteRemoveHeader
6215 {
6216 unsafe fn encode(
6217 self,
6218 encoder: &mut fidl::encoding::Encoder<'_, D>,
6219 offset: usize,
6220 mut depth: fidl::encoding::Depth,
6221 ) -> fidl::Result<()> {
6222 encoder.debug_check_bounds::<UrlRequestRewriteRemoveHeader>(offset);
6223 let max_ordinal: u64 = self.max_ordinal_present();
6225 encoder.write_num(max_ordinal, offset);
6226 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6227 if max_ordinal == 0 {
6229 return Ok(());
6230 }
6231 depth.increment()?;
6232 let envelope_size = 8;
6233 let bytes_len = max_ordinal as usize * envelope_size;
6234 #[allow(unused_variables)]
6235 let offset = encoder.out_of_line_offset(bytes_len);
6236 let mut _prev_end_offset: usize = 0;
6237 if 1 > max_ordinal {
6238 return Ok(());
6239 }
6240
6241 let cur_offset: usize = (1 - 1) * envelope_size;
6244
6245 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6247
6248 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<65536>, D>(
6253 self.query_pattern.as_ref().map(<fidl::encoding::BoundedString<65536> as fidl::encoding::ValueTypeMarker>::borrow),
6254 encoder, offset + cur_offset, depth
6255 )?;
6256
6257 _prev_end_offset = cur_offset + envelope_size;
6258 if 2 > max_ordinal {
6259 return Ok(());
6260 }
6261
6262 let cur_offset: usize = (2 - 1) * envelope_size;
6265
6266 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6268
6269 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::UnboundedVector<u8>, D>(
6274 self.header_name.as_ref().map(<fidl::encoding::UnboundedVector<u8> as fidl::encoding::ValueTypeMarker>::borrow),
6275 encoder, offset + cur_offset, depth
6276 )?;
6277
6278 _prev_end_offset = cur_offset + envelope_size;
6279
6280 Ok(())
6281 }
6282 }
6283
6284 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6285 for UrlRequestRewriteRemoveHeader
6286 {
6287 #[inline(always)]
6288 fn new_empty() -> Self {
6289 Self::default()
6290 }
6291
6292 unsafe fn decode(
6293 &mut self,
6294 decoder: &mut fidl::encoding::Decoder<'_, D>,
6295 offset: usize,
6296 mut depth: fidl::encoding::Depth,
6297 ) -> fidl::Result<()> {
6298 decoder.debug_check_bounds::<Self>(offset);
6299 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6300 None => return Err(fidl::Error::NotNullable),
6301 Some(len) => len,
6302 };
6303 if len == 0 {
6305 return Ok(());
6306 };
6307 depth.increment()?;
6308 let envelope_size = 8;
6309 let bytes_len = len * envelope_size;
6310 let offset = decoder.out_of_line_offset(bytes_len)?;
6311 let mut _next_ordinal_to_read = 0;
6313 let mut next_offset = offset;
6314 let end_offset = offset + bytes_len;
6315 _next_ordinal_to_read += 1;
6316 if next_offset >= end_offset {
6317 return Ok(());
6318 }
6319
6320 while _next_ordinal_to_read < 1 {
6322 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6323 _next_ordinal_to_read += 1;
6324 next_offset += envelope_size;
6325 }
6326
6327 let next_out_of_line = decoder.next_out_of_line();
6328 let handles_before = decoder.remaining_handles();
6329 if let Some((inlined, num_bytes, num_handles)) =
6330 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6331 {
6332 let member_inline_size = <fidl::encoding::BoundedString<65536> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6333 if inlined != (member_inline_size <= 4) {
6334 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6335 }
6336 let inner_offset;
6337 let mut inner_depth = depth.clone();
6338 if inlined {
6339 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6340 inner_offset = next_offset;
6341 } else {
6342 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6343 inner_depth.increment()?;
6344 }
6345 let val_ref = self.query_pattern.get_or_insert_with(|| {
6346 fidl::new_empty!(fidl::encoding::BoundedString<65536>, D)
6347 });
6348 fidl::decode!(
6349 fidl::encoding::BoundedString<65536>,
6350 D,
6351 val_ref,
6352 decoder,
6353 inner_offset,
6354 inner_depth
6355 )?;
6356 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6357 {
6358 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6359 }
6360 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6361 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6362 }
6363 }
6364
6365 next_offset += envelope_size;
6366 _next_ordinal_to_read += 1;
6367 if next_offset >= end_offset {
6368 return Ok(());
6369 }
6370
6371 while _next_ordinal_to_read < 2 {
6373 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6374 _next_ordinal_to_read += 1;
6375 next_offset += envelope_size;
6376 }
6377
6378 let next_out_of_line = decoder.next_out_of_line();
6379 let handles_before = decoder.remaining_handles();
6380 if let Some((inlined, num_bytes, num_handles)) =
6381 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6382 {
6383 let member_inline_size = <fidl::encoding::UnboundedVector<u8> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6384 if inlined != (member_inline_size <= 4) {
6385 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6386 }
6387 let inner_offset;
6388 let mut inner_depth = depth.clone();
6389 if inlined {
6390 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6391 inner_offset = next_offset;
6392 } else {
6393 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6394 inner_depth.increment()?;
6395 }
6396 let val_ref = self.header_name.get_or_insert_with(|| {
6397 fidl::new_empty!(fidl::encoding::UnboundedVector<u8>, D)
6398 });
6399 fidl::decode!(
6400 fidl::encoding::UnboundedVector<u8>,
6401 D,
6402 val_ref,
6403 decoder,
6404 inner_offset,
6405 inner_depth
6406 )?;
6407 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6408 {
6409 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6410 }
6411 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6412 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6413 }
6414 }
6415
6416 next_offset += envelope_size;
6417
6418 while next_offset < end_offset {
6420 _next_ordinal_to_read += 1;
6421 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6422 next_offset += envelope_size;
6423 }
6424
6425 Ok(())
6426 }
6427 }
6428
6429 impl UrlRequestRewriteReplaceUrl {
6430 #[inline(always)]
6431 fn max_ordinal_present(&self) -> u64 {
6432 if let Some(_) = self.new_url {
6433 return 2;
6434 }
6435 if let Some(_) = self.url_ends_with {
6436 return 1;
6437 }
6438 0
6439 }
6440 }
6441
6442 impl fidl::encoding::ValueTypeMarker for UrlRequestRewriteReplaceUrl {
6443 type Borrowed<'a> = &'a Self;
6444 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6445 value
6446 }
6447 }
6448
6449 unsafe impl fidl::encoding::TypeMarker for UrlRequestRewriteReplaceUrl {
6450 type Owned = Self;
6451
6452 #[inline(always)]
6453 fn inline_align(_context: fidl::encoding::Context) -> usize {
6454 8
6455 }
6456
6457 #[inline(always)]
6458 fn inline_size(_context: fidl::encoding::Context) -> usize {
6459 16
6460 }
6461 }
6462
6463 unsafe impl<D: fidl::encoding::ResourceDialect>
6464 fidl::encoding::Encode<UrlRequestRewriteReplaceUrl, D> for &UrlRequestRewriteReplaceUrl
6465 {
6466 unsafe fn encode(
6467 self,
6468 encoder: &mut fidl::encoding::Encoder<'_, D>,
6469 offset: usize,
6470 mut depth: fidl::encoding::Depth,
6471 ) -> fidl::Result<()> {
6472 encoder.debug_check_bounds::<UrlRequestRewriteReplaceUrl>(offset);
6473 let max_ordinal: u64 = self.max_ordinal_present();
6475 encoder.write_num(max_ordinal, offset);
6476 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6477 if max_ordinal == 0 {
6479 return Ok(());
6480 }
6481 depth.increment()?;
6482 let envelope_size = 8;
6483 let bytes_len = max_ordinal as usize * envelope_size;
6484 #[allow(unused_variables)]
6485 let offset = encoder.out_of_line_offset(bytes_len);
6486 let mut _prev_end_offset: usize = 0;
6487 if 1 > max_ordinal {
6488 return Ok(());
6489 }
6490
6491 let cur_offset: usize = (1 - 1) * envelope_size;
6494
6495 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6497
6498 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<65536>, D>(
6503 self.url_ends_with.as_ref().map(<fidl::encoding::BoundedString<65536> as fidl::encoding::ValueTypeMarker>::borrow),
6504 encoder, offset + cur_offset, depth
6505 )?;
6506
6507 _prev_end_offset = cur_offset + envelope_size;
6508 if 2 > max_ordinal {
6509 return Ok(());
6510 }
6511
6512 let cur_offset: usize = (2 - 1) * envelope_size;
6515
6516 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6518
6519 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<65536>, D>(
6524 self.new_url.as_ref().map(<fidl::encoding::BoundedString<65536> as fidl::encoding::ValueTypeMarker>::borrow),
6525 encoder, offset + cur_offset, depth
6526 )?;
6527
6528 _prev_end_offset = cur_offset + envelope_size;
6529
6530 Ok(())
6531 }
6532 }
6533
6534 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
6535 for UrlRequestRewriteReplaceUrl
6536 {
6537 #[inline(always)]
6538 fn new_empty() -> Self {
6539 Self::default()
6540 }
6541
6542 unsafe fn decode(
6543 &mut self,
6544 decoder: &mut fidl::encoding::Decoder<'_, D>,
6545 offset: usize,
6546 mut depth: fidl::encoding::Depth,
6547 ) -> fidl::Result<()> {
6548 decoder.debug_check_bounds::<Self>(offset);
6549 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6550 None => return Err(fidl::Error::NotNullable),
6551 Some(len) => len,
6552 };
6553 if len == 0 {
6555 return Ok(());
6556 };
6557 depth.increment()?;
6558 let envelope_size = 8;
6559 let bytes_len = len * envelope_size;
6560 let offset = decoder.out_of_line_offset(bytes_len)?;
6561 let mut _next_ordinal_to_read = 0;
6563 let mut next_offset = offset;
6564 let end_offset = offset + bytes_len;
6565 _next_ordinal_to_read += 1;
6566 if next_offset >= end_offset {
6567 return Ok(());
6568 }
6569
6570 while _next_ordinal_to_read < 1 {
6572 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6573 _next_ordinal_to_read += 1;
6574 next_offset += envelope_size;
6575 }
6576
6577 let next_out_of_line = decoder.next_out_of_line();
6578 let handles_before = decoder.remaining_handles();
6579 if let Some((inlined, num_bytes, num_handles)) =
6580 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6581 {
6582 let member_inline_size = <fidl::encoding::BoundedString<65536> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6583 if inlined != (member_inline_size <= 4) {
6584 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6585 }
6586 let inner_offset;
6587 let mut inner_depth = depth.clone();
6588 if inlined {
6589 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6590 inner_offset = next_offset;
6591 } else {
6592 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6593 inner_depth.increment()?;
6594 }
6595 let val_ref = self.url_ends_with.get_or_insert_with(|| {
6596 fidl::new_empty!(fidl::encoding::BoundedString<65536>, D)
6597 });
6598 fidl::decode!(
6599 fidl::encoding::BoundedString<65536>,
6600 D,
6601 val_ref,
6602 decoder,
6603 inner_offset,
6604 inner_depth
6605 )?;
6606 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6607 {
6608 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6609 }
6610 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6611 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6612 }
6613 }
6614
6615 next_offset += envelope_size;
6616 _next_ordinal_to_read += 1;
6617 if next_offset >= end_offset {
6618 return Ok(());
6619 }
6620
6621 while _next_ordinal_to_read < 2 {
6623 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6624 _next_ordinal_to_read += 1;
6625 next_offset += envelope_size;
6626 }
6627
6628 let next_out_of_line = decoder.next_out_of_line();
6629 let handles_before = decoder.remaining_handles();
6630 if let Some((inlined, num_bytes, num_handles)) =
6631 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6632 {
6633 let member_inline_size = <fidl::encoding::BoundedString<65536> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
6634 if inlined != (member_inline_size <= 4) {
6635 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6636 }
6637 let inner_offset;
6638 let mut inner_depth = depth.clone();
6639 if inlined {
6640 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6641 inner_offset = next_offset;
6642 } else {
6643 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6644 inner_depth.increment()?;
6645 }
6646 let val_ref = self.new_url.get_or_insert_with(|| {
6647 fidl::new_empty!(fidl::encoding::BoundedString<65536>, D)
6648 });
6649 fidl::decode!(
6650 fidl::encoding::BoundedString<65536>,
6651 D,
6652 val_ref,
6653 decoder,
6654 inner_offset,
6655 inner_depth
6656 )?;
6657 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6658 {
6659 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6660 }
6661 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6662 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6663 }
6664 }
6665
6666 next_offset += envelope_size;
6667
6668 while next_offset < end_offset {
6670 _next_ordinal_to_read += 1;
6671 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6672 next_offset += envelope_size;
6673 }
6674
6675 Ok(())
6676 }
6677 }
6678
6679 impl UrlRequestRewriteRule {
6680 #[inline(always)]
6681 fn max_ordinal_present(&self) -> u64 {
6682 if let Some(_) = self.action {
6683 return 4;
6684 }
6685 if let Some(_) = self.rewrites {
6686 return 3;
6687 }
6688 if let Some(_) = self.schemes_filter {
6689 return 2;
6690 }
6691 if let Some(_) = self.hosts_filter {
6692 return 1;
6693 }
6694 0
6695 }
6696 }
6697
6698 impl fidl::encoding::ValueTypeMarker for UrlRequestRewriteRule {
6699 type Borrowed<'a> = &'a Self;
6700 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
6701 value
6702 }
6703 }
6704
6705 unsafe impl fidl::encoding::TypeMarker for UrlRequestRewriteRule {
6706 type Owned = Self;
6707
6708 #[inline(always)]
6709 fn inline_align(_context: fidl::encoding::Context) -> usize {
6710 8
6711 }
6712
6713 #[inline(always)]
6714 fn inline_size(_context: fidl::encoding::Context) -> usize {
6715 16
6716 }
6717 }
6718
6719 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<UrlRequestRewriteRule, D>
6720 for &UrlRequestRewriteRule
6721 {
6722 unsafe fn encode(
6723 self,
6724 encoder: &mut fidl::encoding::Encoder<'_, D>,
6725 offset: usize,
6726 mut depth: fidl::encoding::Depth,
6727 ) -> fidl::Result<()> {
6728 encoder.debug_check_bounds::<UrlRequestRewriteRule>(offset);
6729 let max_ordinal: u64 = self.max_ordinal_present();
6731 encoder.write_num(max_ordinal, offset);
6732 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
6733 if max_ordinal == 0 {
6735 return Ok(());
6736 }
6737 depth.increment()?;
6738 let envelope_size = 8;
6739 let bytes_len = max_ordinal as usize * envelope_size;
6740 #[allow(unused_variables)]
6741 let offset = encoder.out_of_line_offset(bytes_len);
6742 let mut _prev_end_offset: usize = 0;
6743 if 1 > max_ordinal {
6744 return Ok(());
6745 }
6746
6747 let cur_offset: usize = (1 - 1) * envelope_size;
6750
6751 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6753
6754 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<fidl::encoding::BoundedString<255>, 4096>, D>(
6759 self.hosts_filter.as_ref().map(<fidl::encoding::Vector<fidl::encoding::BoundedString<255>, 4096> as fidl::encoding::ValueTypeMarker>::borrow),
6760 encoder, offset + cur_offset, depth
6761 )?;
6762
6763 _prev_end_offset = cur_offset + envelope_size;
6764 if 2 > max_ordinal {
6765 return Ok(());
6766 }
6767
6768 let cur_offset: usize = (2 - 1) * envelope_size;
6771
6772 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6774
6775 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<fidl::encoding::BoundedString<255>, 4096>, D>(
6780 self.schemes_filter.as_ref().map(<fidl::encoding::Vector<fidl::encoding::BoundedString<255>, 4096> as fidl::encoding::ValueTypeMarker>::borrow),
6781 encoder, offset + cur_offset, depth
6782 )?;
6783
6784 _prev_end_offset = cur_offset + envelope_size;
6785 if 3 > max_ordinal {
6786 return Ok(());
6787 }
6788
6789 let cur_offset: usize = (3 - 1) * envelope_size;
6792
6793 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6795
6796 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::Vector<UrlRequestRewrite, 4096>, D>(
6801 self.rewrites.as_ref().map(<fidl::encoding::Vector<UrlRequestRewrite, 4096> as fidl::encoding::ValueTypeMarker>::borrow),
6802 encoder, offset + cur_offset, depth
6803 )?;
6804
6805 _prev_end_offset = cur_offset + envelope_size;
6806 if 4 > max_ordinal {
6807 return Ok(());
6808 }
6809
6810 let cur_offset: usize = (4 - 1) * envelope_size;
6813
6814 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
6816
6817 fidl::encoding::encode_in_envelope_optional::<UrlRequestAction, D>(
6822 self.action
6823 .as_ref()
6824 .map(<UrlRequestAction as fidl::encoding::ValueTypeMarker>::borrow),
6825 encoder,
6826 offset + cur_offset,
6827 depth,
6828 )?;
6829
6830 _prev_end_offset = cur_offset + envelope_size;
6831
6832 Ok(())
6833 }
6834 }
6835
6836 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for UrlRequestRewriteRule {
6837 #[inline(always)]
6838 fn new_empty() -> Self {
6839 Self::default()
6840 }
6841
6842 unsafe fn decode(
6843 &mut self,
6844 decoder: &mut fidl::encoding::Decoder<'_, D>,
6845 offset: usize,
6846 mut depth: fidl::encoding::Depth,
6847 ) -> fidl::Result<()> {
6848 decoder.debug_check_bounds::<Self>(offset);
6849 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
6850 None => return Err(fidl::Error::NotNullable),
6851 Some(len) => len,
6852 };
6853 if len == 0 {
6855 return Ok(());
6856 };
6857 depth.increment()?;
6858 let envelope_size = 8;
6859 let bytes_len = len * envelope_size;
6860 let offset = decoder.out_of_line_offset(bytes_len)?;
6861 let mut _next_ordinal_to_read = 0;
6863 let mut next_offset = offset;
6864 let end_offset = offset + bytes_len;
6865 _next_ordinal_to_read += 1;
6866 if next_offset >= end_offset {
6867 return Ok(());
6868 }
6869
6870 while _next_ordinal_to_read < 1 {
6872 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6873 _next_ordinal_to_read += 1;
6874 next_offset += envelope_size;
6875 }
6876
6877 let next_out_of_line = decoder.next_out_of_line();
6878 let handles_before = decoder.remaining_handles();
6879 if let Some((inlined, num_bytes, num_handles)) =
6880 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6881 {
6882 let member_inline_size = <fidl::encoding::Vector<
6883 fidl::encoding::BoundedString<255>,
6884 4096,
6885 > as fidl::encoding::TypeMarker>::inline_size(
6886 decoder.context
6887 );
6888 if inlined != (member_inline_size <= 4) {
6889 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6890 }
6891 let inner_offset;
6892 let mut inner_depth = depth.clone();
6893 if inlined {
6894 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6895 inner_offset = next_offset;
6896 } else {
6897 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6898 inner_depth.increment()?;
6899 }
6900 let val_ref = self.hosts_filter.get_or_insert_with(|| {
6901 fidl::new_empty!(
6902 fidl::encoding::Vector<fidl::encoding::BoundedString<255>, 4096>,
6903 D
6904 )
6905 });
6906 fidl::decode!(
6907 fidl::encoding::Vector<fidl::encoding::BoundedString<255>, 4096>,
6908 D,
6909 val_ref,
6910 decoder,
6911 inner_offset,
6912 inner_depth
6913 )?;
6914 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6915 {
6916 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6917 }
6918 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6919 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6920 }
6921 }
6922
6923 next_offset += envelope_size;
6924 _next_ordinal_to_read += 1;
6925 if next_offset >= end_offset {
6926 return Ok(());
6927 }
6928
6929 while _next_ordinal_to_read < 2 {
6931 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6932 _next_ordinal_to_read += 1;
6933 next_offset += envelope_size;
6934 }
6935
6936 let next_out_of_line = decoder.next_out_of_line();
6937 let handles_before = decoder.remaining_handles();
6938 if let Some((inlined, num_bytes, num_handles)) =
6939 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6940 {
6941 let member_inline_size = <fidl::encoding::Vector<
6942 fidl::encoding::BoundedString<255>,
6943 4096,
6944 > as fidl::encoding::TypeMarker>::inline_size(
6945 decoder.context
6946 );
6947 if inlined != (member_inline_size <= 4) {
6948 return Err(fidl::Error::InvalidInlineBitInEnvelope);
6949 }
6950 let inner_offset;
6951 let mut inner_depth = depth.clone();
6952 if inlined {
6953 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
6954 inner_offset = next_offset;
6955 } else {
6956 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
6957 inner_depth.increment()?;
6958 }
6959 let val_ref = self.schemes_filter.get_or_insert_with(|| {
6960 fidl::new_empty!(
6961 fidl::encoding::Vector<fidl::encoding::BoundedString<255>, 4096>,
6962 D
6963 )
6964 });
6965 fidl::decode!(
6966 fidl::encoding::Vector<fidl::encoding::BoundedString<255>, 4096>,
6967 D,
6968 val_ref,
6969 decoder,
6970 inner_offset,
6971 inner_depth
6972 )?;
6973 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
6974 {
6975 return Err(fidl::Error::InvalidNumBytesInEnvelope);
6976 }
6977 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
6978 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
6979 }
6980 }
6981
6982 next_offset += envelope_size;
6983 _next_ordinal_to_read += 1;
6984 if next_offset >= end_offset {
6985 return Ok(());
6986 }
6987
6988 while _next_ordinal_to_read < 3 {
6990 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
6991 _next_ordinal_to_read += 1;
6992 next_offset += envelope_size;
6993 }
6994
6995 let next_out_of_line = decoder.next_out_of_line();
6996 let handles_before = decoder.remaining_handles();
6997 if let Some((inlined, num_bytes, num_handles)) =
6998 fidl::encoding::decode_envelope_header(decoder, next_offset)?
6999 {
7000 let member_inline_size = <fidl::encoding::Vector<UrlRequestRewrite, 4096> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7001 if inlined != (member_inline_size <= 4) {
7002 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7003 }
7004 let inner_offset;
7005 let mut inner_depth = depth.clone();
7006 if inlined {
7007 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7008 inner_offset = next_offset;
7009 } else {
7010 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7011 inner_depth.increment()?;
7012 }
7013 let val_ref = self.rewrites.get_or_insert_with(
7014 || fidl::new_empty!(fidl::encoding::Vector<UrlRequestRewrite, 4096>, D),
7015 );
7016 fidl::decode!(fidl::encoding::Vector<UrlRequestRewrite, 4096>, D, val_ref, decoder, inner_offset, inner_depth)?;
7017 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7018 {
7019 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7020 }
7021 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7022 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7023 }
7024 }
7025
7026 next_offset += envelope_size;
7027 _next_ordinal_to_read += 1;
7028 if next_offset >= end_offset {
7029 return Ok(());
7030 }
7031
7032 while _next_ordinal_to_read < 4 {
7034 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7035 _next_ordinal_to_read += 1;
7036 next_offset += envelope_size;
7037 }
7038
7039 let next_out_of_line = decoder.next_out_of_line();
7040 let handles_before = decoder.remaining_handles();
7041 if let Some((inlined, num_bytes, num_handles)) =
7042 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7043 {
7044 let member_inline_size =
7045 <UrlRequestAction as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7046 if inlined != (member_inline_size <= 4) {
7047 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7048 }
7049 let inner_offset;
7050 let mut inner_depth = depth.clone();
7051 if inlined {
7052 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7053 inner_offset = next_offset;
7054 } else {
7055 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7056 inner_depth.increment()?;
7057 }
7058 let val_ref =
7059 self.action.get_or_insert_with(|| fidl::new_empty!(UrlRequestAction, D));
7060 fidl::decode!(UrlRequestAction, D, val_ref, decoder, inner_offset, inner_depth)?;
7061 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7062 {
7063 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7064 }
7065 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7066 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7067 }
7068 }
7069
7070 next_offset += envelope_size;
7071
7072 while next_offset < end_offset {
7074 _next_ordinal_to_read += 1;
7075 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7076 next_offset += envelope_size;
7077 }
7078
7079 Ok(())
7080 }
7081 }
7082
7083 impl UrlRequestRewriteSubstituteQueryPattern {
7084 #[inline(always)]
7085 fn max_ordinal_present(&self) -> u64 {
7086 if let Some(_) = self.substitution {
7087 return 2;
7088 }
7089 if let Some(_) = self.pattern {
7090 return 1;
7091 }
7092 0
7093 }
7094 }
7095
7096 impl fidl::encoding::ValueTypeMarker for UrlRequestRewriteSubstituteQueryPattern {
7097 type Borrowed<'a> = &'a Self;
7098 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7099 value
7100 }
7101 }
7102
7103 unsafe impl fidl::encoding::TypeMarker for UrlRequestRewriteSubstituteQueryPattern {
7104 type Owned = Self;
7105
7106 #[inline(always)]
7107 fn inline_align(_context: fidl::encoding::Context) -> usize {
7108 8
7109 }
7110
7111 #[inline(always)]
7112 fn inline_size(_context: fidl::encoding::Context) -> usize {
7113 16
7114 }
7115 }
7116
7117 unsafe impl<D: fidl::encoding::ResourceDialect>
7118 fidl::encoding::Encode<UrlRequestRewriteSubstituteQueryPattern, D>
7119 for &UrlRequestRewriteSubstituteQueryPattern
7120 {
7121 unsafe fn encode(
7122 self,
7123 encoder: &mut fidl::encoding::Encoder<'_, D>,
7124 offset: usize,
7125 mut depth: fidl::encoding::Depth,
7126 ) -> fidl::Result<()> {
7127 encoder.debug_check_bounds::<UrlRequestRewriteSubstituteQueryPattern>(offset);
7128 let max_ordinal: u64 = self.max_ordinal_present();
7130 encoder.write_num(max_ordinal, offset);
7131 encoder.write_num(fidl::encoding::ALLOC_PRESENT_U64, offset + 8);
7132 if max_ordinal == 0 {
7134 return Ok(());
7135 }
7136 depth.increment()?;
7137 let envelope_size = 8;
7138 let bytes_len = max_ordinal as usize * envelope_size;
7139 #[allow(unused_variables)]
7140 let offset = encoder.out_of_line_offset(bytes_len);
7141 let mut _prev_end_offset: usize = 0;
7142 if 1 > max_ordinal {
7143 return Ok(());
7144 }
7145
7146 let cur_offset: usize = (1 - 1) * envelope_size;
7149
7150 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7152
7153 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<65536>, D>(
7158 self.pattern.as_ref().map(<fidl::encoding::BoundedString<65536> as fidl::encoding::ValueTypeMarker>::borrow),
7159 encoder, offset + cur_offset, depth
7160 )?;
7161
7162 _prev_end_offset = cur_offset + envelope_size;
7163 if 2 > max_ordinal {
7164 return Ok(());
7165 }
7166
7167 let cur_offset: usize = (2 - 1) * envelope_size;
7170
7171 encoder.padding(offset + _prev_end_offset, cur_offset - _prev_end_offset);
7173
7174 fidl::encoding::encode_in_envelope_optional::<fidl::encoding::BoundedString<65536>, D>(
7179 self.substitution.as_ref().map(<fidl::encoding::BoundedString<65536> as fidl::encoding::ValueTypeMarker>::borrow),
7180 encoder, offset + cur_offset, depth
7181 )?;
7182
7183 _prev_end_offset = cur_offset + envelope_size;
7184
7185 Ok(())
7186 }
7187 }
7188
7189 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D>
7190 for UrlRequestRewriteSubstituteQueryPattern
7191 {
7192 #[inline(always)]
7193 fn new_empty() -> Self {
7194 Self::default()
7195 }
7196
7197 unsafe fn decode(
7198 &mut self,
7199 decoder: &mut fidl::encoding::Decoder<'_, D>,
7200 offset: usize,
7201 mut depth: fidl::encoding::Depth,
7202 ) -> fidl::Result<()> {
7203 decoder.debug_check_bounds::<Self>(offset);
7204 let len = match fidl::encoding::decode_vector_header(decoder, offset)? {
7205 None => return Err(fidl::Error::NotNullable),
7206 Some(len) => len,
7207 };
7208 if len == 0 {
7210 return Ok(());
7211 };
7212 depth.increment()?;
7213 let envelope_size = 8;
7214 let bytes_len = len * envelope_size;
7215 let offset = decoder.out_of_line_offset(bytes_len)?;
7216 let mut _next_ordinal_to_read = 0;
7218 let mut next_offset = offset;
7219 let end_offset = offset + bytes_len;
7220 _next_ordinal_to_read += 1;
7221 if next_offset >= end_offset {
7222 return Ok(());
7223 }
7224
7225 while _next_ordinal_to_read < 1 {
7227 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7228 _next_ordinal_to_read += 1;
7229 next_offset += envelope_size;
7230 }
7231
7232 let next_out_of_line = decoder.next_out_of_line();
7233 let handles_before = decoder.remaining_handles();
7234 if let Some((inlined, num_bytes, num_handles)) =
7235 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7236 {
7237 let member_inline_size = <fidl::encoding::BoundedString<65536> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7238 if inlined != (member_inline_size <= 4) {
7239 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7240 }
7241 let inner_offset;
7242 let mut inner_depth = depth.clone();
7243 if inlined {
7244 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7245 inner_offset = next_offset;
7246 } else {
7247 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7248 inner_depth.increment()?;
7249 }
7250 let val_ref = self.pattern.get_or_insert_with(|| {
7251 fidl::new_empty!(fidl::encoding::BoundedString<65536>, D)
7252 });
7253 fidl::decode!(
7254 fidl::encoding::BoundedString<65536>,
7255 D,
7256 val_ref,
7257 decoder,
7258 inner_offset,
7259 inner_depth
7260 )?;
7261 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7262 {
7263 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7264 }
7265 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7266 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7267 }
7268 }
7269
7270 next_offset += envelope_size;
7271 _next_ordinal_to_read += 1;
7272 if next_offset >= end_offset {
7273 return Ok(());
7274 }
7275
7276 while _next_ordinal_to_read < 2 {
7278 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7279 _next_ordinal_to_read += 1;
7280 next_offset += envelope_size;
7281 }
7282
7283 let next_out_of_line = decoder.next_out_of_line();
7284 let handles_before = decoder.remaining_handles();
7285 if let Some((inlined, num_bytes, num_handles)) =
7286 fidl::encoding::decode_envelope_header(decoder, next_offset)?
7287 {
7288 let member_inline_size = <fidl::encoding::BoundedString<65536> as fidl::encoding::TypeMarker>::inline_size(decoder.context);
7289 if inlined != (member_inline_size <= 4) {
7290 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7291 }
7292 let inner_offset;
7293 let mut inner_depth = depth.clone();
7294 if inlined {
7295 decoder.check_inline_envelope_padding(next_offset, member_inline_size)?;
7296 inner_offset = next_offset;
7297 } else {
7298 inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7299 inner_depth.increment()?;
7300 }
7301 let val_ref = self.substitution.get_or_insert_with(|| {
7302 fidl::new_empty!(fidl::encoding::BoundedString<65536>, D)
7303 });
7304 fidl::decode!(
7305 fidl::encoding::BoundedString<65536>,
7306 D,
7307 val_ref,
7308 decoder,
7309 inner_offset,
7310 inner_depth
7311 )?;
7312 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize)
7313 {
7314 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7315 }
7316 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7317 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7318 }
7319 }
7320
7321 next_offset += envelope_size;
7322
7323 while next_offset < end_offset {
7325 _next_ordinal_to_read += 1;
7326 fidl::encoding::decode_unknown_envelope(decoder, next_offset, depth)?;
7327 next_offset += envelope_size;
7328 }
7329
7330 Ok(())
7331 }
7332 }
7333
7334 impl fidl::encoding::ValueTypeMarker for UrlRequestRewrite {
7335 type Borrowed<'a> = &'a Self;
7336 fn borrow(value: &<Self as fidl::encoding::TypeMarker>::Owned) -> Self::Borrowed<'_> {
7337 value
7338 }
7339 }
7340
7341 unsafe impl fidl::encoding::TypeMarker for UrlRequestRewrite {
7342 type Owned = Self;
7343
7344 #[inline(always)]
7345 fn inline_align(_context: fidl::encoding::Context) -> usize {
7346 8
7347 }
7348
7349 #[inline(always)]
7350 fn inline_size(_context: fidl::encoding::Context) -> usize {
7351 16
7352 }
7353 }
7354
7355 unsafe impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Encode<UrlRequestRewrite, D>
7356 for &UrlRequestRewrite
7357 {
7358 #[inline]
7359 unsafe fn encode(
7360 self,
7361 encoder: &mut fidl::encoding::Encoder<'_, D>,
7362 offset: usize,
7363 _depth: fidl::encoding::Depth,
7364 ) -> fidl::Result<()> {
7365 encoder.debug_check_bounds::<UrlRequestRewrite>(offset);
7366 encoder.write_num::<u64>(self.ordinal(), offset);
7367 match self {
7368 UrlRequestRewrite::AddHeaders(ref val) => {
7369 fidl::encoding::encode_in_envelope::<UrlRequestRewriteAddHeaders, D>(
7370 <UrlRequestRewriteAddHeaders as fidl::encoding::ValueTypeMarker>::borrow(val),
7371 encoder, offset + 8, _depth
7372 )
7373 }
7374 UrlRequestRewrite::RemoveHeader(ref val) => {
7375 fidl::encoding::encode_in_envelope::<UrlRequestRewriteRemoveHeader, D>(
7376 <UrlRequestRewriteRemoveHeader as fidl::encoding::ValueTypeMarker>::borrow(val),
7377 encoder, offset + 8, _depth
7378 )
7379 }
7380 UrlRequestRewrite::SubstituteQueryPattern(ref val) => {
7381 fidl::encoding::encode_in_envelope::<UrlRequestRewriteSubstituteQueryPattern, D>(
7382 <UrlRequestRewriteSubstituteQueryPattern as fidl::encoding::ValueTypeMarker>::borrow(val),
7383 encoder, offset + 8, _depth
7384 )
7385 }
7386 UrlRequestRewrite::ReplaceUrl(ref val) => {
7387 fidl::encoding::encode_in_envelope::<UrlRequestRewriteReplaceUrl, D>(
7388 <UrlRequestRewriteReplaceUrl as fidl::encoding::ValueTypeMarker>::borrow(val),
7389 encoder, offset + 8, _depth
7390 )
7391 }
7392 UrlRequestRewrite::AppendToQuery(ref val) => {
7393 fidl::encoding::encode_in_envelope::<UrlRequestRewriteAppendToQuery, D>(
7394 <UrlRequestRewriteAppendToQuery as fidl::encoding::ValueTypeMarker>::borrow(val),
7395 encoder, offset + 8, _depth
7396 )
7397 }
7398 UrlRequestRewrite::__SourceBreaking { .. } => Err(fidl::Error::UnknownUnionTag),
7399 }
7400 }
7401 }
7402
7403 impl<D: fidl::encoding::ResourceDialect> fidl::encoding::Decode<Self, D> for UrlRequestRewrite {
7404 #[inline(always)]
7405 fn new_empty() -> Self {
7406 Self::__SourceBreaking { unknown_ordinal: 0 }
7407 }
7408
7409 #[inline]
7410 unsafe fn decode(
7411 &mut self,
7412 decoder: &mut fidl::encoding::Decoder<'_, D>,
7413 offset: usize,
7414 mut depth: fidl::encoding::Depth,
7415 ) -> fidl::Result<()> {
7416 decoder.debug_check_bounds::<Self>(offset);
7417 #[allow(unused_variables)]
7418 let next_out_of_line = decoder.next_out_of_line();
7419 let handles_before = decoder.remaining_handles();
7420 let (ordinal, inlined, num_bytes, num_handles) =
7421 fidl::encoding::decode_union_inline_portion(decoder, offset)?;
7422
7423 let member_inline_size = match ordinal {
7424 1 => <UrlRequestRewriteAddHeaders as fidl::encoding::TypeMarker>::inline_size(decoder.context),
7425 2 => <UrlRequestRewriteRemoveHeader as fidl::encoding::TypeMarker>::inline_size(decoder.context),
7426 3 => <UrlRequestRewriteSubstituteQueryPattern as fidl::encoding::TypeMarker>::inline_size(decoder.context),
7427 4 => <UrlRequestRewriteReplaceUrl as fidl::encoding::TypeMarker>::inline_size(decoder.context),
7428 5 => <UrlRequestRewriteAppendToQuery as fidl::encoding::TypeMarker>::inline_size(decoder.context),
7429 0 => return Err(fidl::Error::UnknownUnionTag),
7430 _ => num_bytes as usize,
7431 };
7432
7433 if inlined != (member_inline_size <= 4) {
7434 return Err(fidl::Error::InvalidInlineBitInEnvelope);
7435 }
7436 let _inner_offset;
7437 if inlined {
7438 decoder.check_inline_envelope_padding(offset + 8, member_inline_size)?;
7439 _inner_offset = offset + 8;
7440 } else {
7441 depth.increment()?;
7442 _inner_offset = decoder.out_of_line_offset(member_inline_size)?;
7443 }
7444 match ordinal {
7445 1 => {
7446 #[allow(irrefutable_let_patterns)]
7447 if let UrlRequestRewrite::AddHeaders(_) = self {
7448 } else {
7450 *self = UrlRequestRewrite::AddHeaders(fidl::new_empty!(
7452 UrlRequestRewriteAddHeaders,
7453 D
7454 ));
7455 }
7456 #[allow(irrefutable_let_patterns)]
7457 if let UrlRequestRewrite::AddHeaders(ref mut val) = self {
7458 fidl::decode!(
7459 UrlRequestRewriteAddHeaders,
7460 D,
7461 val,
7462 decoder,
7463 _inner_offset,
7464 depth
7465 )?;
7466 } else {
7467 unreachable!()
7468 }
7469 }
7470 2 => {
7471 #[allow(irrefutable_let_patterns)]
7472 if let UrlRequestRewrite::RemoveHeader(_) = self {
7473 } else {
7475 *self = UrlRequestRewrite::RemoveHeader(fidl::new_empty!(
7477 UrlRequestRewriteRemoveHeader,
7478 D
7479 ));
7480 }
7481 #[allow(irrefutable_let_patterns)]
7482 if let UrlRequestRewrite::RemoveHeader(ref mut val) = self {
7483 fidl::decode!(
7484 UrlRequestRewriteRemoveHeader,
7485 D,
7486 val,
7487 decoder,
7488 _inner_offset,
7489 depth
7490 )?;
7491 } else {
7492 unreachable!()
7493 }
7494 }
7495 3 => {
7496 #[allow(irrefutable_let_patterns)]
7497 if let UrlRequestRewrite::SubstituteQueryPattern(_) = self {
7498 } else {
7500 *self = UrlRequestRewrite::SubstituteQueryPattern(fidl::new_empty!(
7502 UrlRequestRewriteSubstituteQueryPattern,
7503 D
7504 ));
7505 }
7506 #[allow(irrefutable_let_patterns)]
7507 if let UrlRequestRewrite::SubstituteQueryPattern(ref mut val) = self {
7508 fidl::decode!(
7509 UrlRequestRewriteSubstituteQueryPattern,
7510 D,
7511 val,
7512 decoder,
7513 _inner_offset,
7514 depth
7515 )?;
7516 } else {
7517 unreachable!()
7518 }
7519 }
7520 4 => {
7521 #[allow(irrefutable_let_patterns)]
7522 if let UrlRequestRewrite::ReplaceUrl(_) = self {
7523 } else {
7525 *self = UrlRequestRewrite::ReplaceUrl(fidl::new_empty!(
7527 UrlRequestRewriteReplaceUrl,
7528 D
7529 ));
7530 }
7531 #[allow(irrefutable_let_patterns)]
7532 if let UrlRequestRewrite::ReplaceUrl(ref mut val) = self {
7533 fidl::decode!(
7534 UrlRequestRewriteReplaceUrl,
7535 D,
7536 val,
7537 decoder,
7538 _inner_offset,
7539 depth
7540 )?;
7541 } else {
7542 unreachable!()
7543 }
7544 }
7545 5 => {
7546 #[allow(irrefutable_let_patterns)]
7547 if let UrlRequestRewrite::AppendToQuery(_) = self {
7548 } else {
7550 *self = UrlRequestRewrite::AppendToQuery(fidl::new_empty!(
7552 UrlRequestRewriteAppendToQuery,
7553 D
7554 ));
7555 }
7556 #[allow(irrefutable_let_patterns)]
7557 if let UrlRequestRewrite::AppendToQuery(ref mut val) = self {
7558 fidl::decode!(
7559 UrlRequestRewriteAppendToQuery,
7560 D,
7561 val,
7562 decoder,
7563 _inner_offset,
7564 depth
7565 )?;
7566 } else {
7567 unreachable!()
7568 }
7569 }
7570 #[allow(deprecated)]
7571 ordinal => {
7572 for _ in 0..num_handles {
7573 decoder.drop_next_handle()?;
7574 }
7575 *self = UrlRequestRewrite::__SourceBreaking { unknown_ordinal: ordinal };
7576 }
7577 }
7578 if !inlined && decoder.next_out_of_line() != next_out_of_line + (num_bytes as usize) {
7579 return Err(fidl::Error::InvalidNumBytesInEnvelope);
7580 }
7581 if handles_before != decoder.remaining_handles() + (num_handles as usize) {
7582 return Err(fidl::Error::InvalidNumHandlesInEnvelope);
7583 }
7584 Ok(())
7585 }
7586 }
7587}