author | Emilio Cobos Álvarez <emilio@crisal.io> |
Thu, 22 Mar 2018 13:48:24 -0400 | |
changeset 409591 | f424cb5c00bc809c2bfe94c1aaad65d2f839ac5f |
parent 409590 | e63bed3691637c8d0cb05dcbefdde067bdaf07fe |
child 409592 | b683bb3f22a1aef672332aa3ee9d2c7a77149913 |
push id | 101247 |
push user | nerli@mozilla.com |
push date | Thu, 22 Mar 2018 23:00:51 +0000 |
treeherder | mozilla-inbound@02e384bdf97d [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | jwatt |
milestone | 61.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/servo/components/style/gecko/arc_types.rs +++ b/servo/components/style/gecko/arc_types.rs @@ -111,29 +111,29 @@ pub unsafe extern "C" fn Servo_RuleNode_ } #[no_mangle] pub unsafe extern "C" fn Servo_RuleNode_Release(obj: &RawServoRuleNode) { let ptr = StrongRuleNode::from_ffi(&obj); ptr::read(ptr as *const StrongRuleNode); } -// ServoStyleContext is not an opaque type on any side of FFI. +// ComputedStyle is not an opaque type on any side of FFI. // This means that doing the HasArcFFI type trick is actually unsound, -// since it gives us a way to construct an Arc<ServoStyleContext> from -// an &ServoStyleContext, which in general is not allowed. So we +// since it gives us a way to construct an Arc<ComputedStyle> from +// an &ComputedStyle, which in general is not allowed. So we // implement the restricted set of arc type functionality we need. #[no_mangle] -pub unsafe extern "C" fn Servo_StyleContext_AddRef(obj: &ComputedValues) { +pub unsafe extern "C" fn Servo_ComputedStyle_AddRef(obj: &ComputedValues) { mem::forget(ArcBorrow::from_ref(obj).clone_arc()); } #[no_mangle] -pub unsafe extern "C" fn Servo_StyleContext_Release(obj: &ComputedValues) { +pub unsafe extern "C" fn Servo_ComputedStyle_Release(obj: &ComputedValues) { ArcBorrow::from_ref(obj).with_arc(|a: &Arc<ComputedValues>| { let _: Arc<ComputedValues> = ptr::read(a); }); } impl From<Arc<ComputedValues>> for Strong<ComputedValues> { fn from(arc: Arc<ComputedValues>) -> Self {
--- a/servo/components/style/gecko/generated/atom_macro.rs +++ b/servo/components/style/gecko/generated/atom_macro.rs @@ -975,18 +975,16 @@ cfg_if! { #[link_name = "_ZN9nsGkAtoms16graphicsDocumentE"] pub static nsGkAtoms_graphicsDocument: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms14graphicsObjectE"] pub static nsGkAtoms_graphicsObject: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms14graphicsSymbolE"] pub static nsGkAtoms_graphicsSymbol: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms4gridE"] pub static nsGkAtoms_grid: *mut nsStaticAtom; - #[link_name = "_ZN9nsGkAtoms6grippyE"] - pub static nsGkAtoms_grippy: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms5groupE"] pub static nsGkAtoms_group: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms8groupboxE"] pub static nsGkAtoms_groupbox: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms17groupingSeparatorE"] pub static nsGkAtoms_groupingSeparator: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms12groupingSizeE"] pub static nsGkAtoms_groupingSize: *mut nsStaticAtom; @@ -3281,20 +3279,24 @@ cfg_if! { #[link_name = "_ZN9nsGkAtoms2rxE"] pub static nsGkAtoms_rx: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms2ryE"] pub static nsGkAtoms_ry: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms8saturateE"] pub static nsGkAtoms_saturate: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms10saturationE"] pub static nsGkAtoms_saturation: *mut nsStaticAtom; + #[link_name = "_ZN9nsGkAtoms3setE"] + pub static nsGkAtoms_set: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms4seedE"] pub static nsGkAtoms_seed: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms15shape_renderingE"] pub static nsGkAtoms_shape_rendering: *mut nsStaticAtom; + #[link_name = "_ZN9nsGkAtoms16simpleScopeChainE"] + pub static nsGkAtoms_simpleScopeChain: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms5skewXE"] pub static nsGkAtoms_skewX: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms5skewYE"] pub static nsGkAtoms_skewY: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms5slopeE"] pub static nsGkAtoms_slope: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms4slotE"] pub static nsGkAtoms_slot: *mut nsStaticAtom; @@ -3929,18 +3931,16 @@ cfg_if! { #[link_name = "_ZN9nsGkAtoms10separator_E"] pub static nsGkAtoms_separator_: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms11separators_E"] pub static nsGkAtoms_separators_: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms4sep_E"] pub static nsGkAtoms_sep_: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms8setdiff_E"] pub static nsGkAtoms_setdiff_: *mut nsStaticAtom; - #[link_name = "_ZN9nsGkAtoms4set_E"] - pub static nsGkAtoms_set_: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms6share_E"] pub static nsGkAtoms_share_: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms6shift_E"] pub static nsGkAtoms_shift_: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms5side_E"] pub static nsGkAtoms_side_: *mut nsStaticAtom; #[link_name = "_ZN9nsGkAtoms5sinh_E"] pub static nsGkAtoms_sinh_: *mut nsStaticAtom; @@ -6200,18 +6200,16 @@ cfg_if! { #[link_name = "?graphicsDocument@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_graphicsDocument: *mut nsStaticAtom; #[link_name = "?graphicsObject@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_graphicsObject: *mut nsStaticAtom; #[link_name = "?graphicsSymbol@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_graphicsSymbol: *mut nsStaticAtom; #[link_name = "?grid@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_grid: *mut nsStaticAtom; - #[link_name = "?grippy@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] - pub static nsGkAtoms_grippy: *mut nsStaticAtom; #[link_name = "?group@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_group: *mut nsStaticAtom; #[link_name = "?groupbox@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_groupbox: *mut nsStaticAtom; #[link_name = "?groupingSeparator@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_groupingSeparator: *mut nsStaticAtom; #[link_name = "?groupingSize@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_groupingSize: *mut nsStaticAtom; @@ -8506,20 +8504,24 @@ cfg_if! { #[link_name = "?rx@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_rx: *mut nsStaticAtom; #[link_name = "?ry@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_ry: *mut nsStaticAtom; #[link_name = "?saturate@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_saturate: *mut nsStaticAtom; #[link_name = "?saturation@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_saturation: *mut nsStaticAtom; + #[link_name = "?set@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] + pub static nsGkAtoms_set: *mut nsStaticAtom; #[link_name = "?seed@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_seed: *mut nsStaticAtom; #[link_name = "?shape_rendering@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_shape_rendering: *mut nsStaticAtom; + #[link_name = "?simpleScopeChain@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] + pub static nsGkAtoms_simpleScopeChain: *mut nsStaticAtom; #[link_name = "?skewX@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_skewX: *mut nsStaticAtom; #[link_name = "?skewY@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_skewY: *mut nsStaticAtom; #[link_name = "?slope@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_slope: *mut nsStaticAtom; #[link_name = "?slot@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_slot: *mut nsStaticAtom; @@ -9154,18 +9156,16 @@ cfg_if! { #[link_name = "?separator_@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_separator_: *mut nsStaticAtom; #[link_name = "?separators_@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_separators_: *mut nsStaticAtom; #[link_name = "?sep_@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_sep_: *mut nsStaticAtom; #[link_name = "?setdiff_@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_setdiff_: *mut nsStaticAtom; - #[link_name = "?set_@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] - pub static nsGkAtoms_set_: *mut nsStaticAtom; #[link_name = "?share_@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_share_: *mut nsStaticAtom; #[link_name = "?shift_@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_shift_: *mut nsStaticAtom; #[link_name = "?side_@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_side_: *mut nsStaticAtom; #[link_name = "?sinh_@nsGkAtoms@@2PEAVnsStaticAtom@@EA"] pub static nsGkAtoms_sinh_: *mut nsStaticAtom; @@ -11425,18 +11425,16 @@ cfg_if! { #[link_name = "\x01?graphicsDocument@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_graphicsDocument: *mut nsStaticAtom; #[link_name = "\x01?graphicsObject@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_graphicsObject: *mut nsStaticAtom; #[link_name = "\x01?graphicsSymbol@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_graphicsSymbol: *mut nsStaticAtom; #[link_name = "\x01?grid@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_grid: *mut nsStaticAtom; - #[link_name = "\x01?grippy@nsGkAtoms@@2PAVnsStaticAtom@@A"] - pub static nsGkAtoms_grippy: *mut nsStaticAtom; #[link_name = "\x01?group@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_group: *mut nsStaticAtom; #[link_name = "\x01?groupbox@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_groupbox: *mut nsStaticAtom; #[link_name = "\x01?groupingSeparator@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_groupingSeparator: *mut nsStaticAtom; #[link_name = "\x01?groupingSize@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_groupingSize: *mut nsStaticAtom; @@ -13731,20 +13729,24 @@ cfg_if! { #[link_name = "\x01?rx@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_rx: *mut nsStaticAtom; #[link_name = "\x01?ry@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_ry: *mut nsStaticAtom; #[link_name = "\x01?saturate@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_saturate: *mut nsStaticAtom; #[link_name = "\x01?saturation@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_saturation: *mut nsStaticAtom; + #[link_name = "\x01?set@nsGkAtoms@@2PAVnsStaticAtom@@A"] + pub static nsGkAtoms_set: *mut nsStaticAtom; #[link_name = "\x01?seed@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_seed: *mut nsStaticAtom; #[link_name = "\x01?shape_rendering@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_shape_rendering: *mut nsStaticAtom; + #[link_name = "\x01?simpleScopeChain@nsGkAtoms@@2PAVnsStaticAtom@@A"] + pub static nsGkAtoms_simpleScopeChain: *mut nsStaticAtom; #[link_name = "\x01?skewX@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_skewX: *mut nsStaticAtom; #[link_name = "\x01?skewY@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_skewY: *mut nsStaticAtom; #[link_name = "\x01?slope@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_slope: *mut nsStaticAtom; #[link_name = "\x01?slot@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_slot: *mut nsStaticAtom; @@ -14379,18 +14381,16 @@ cfg_if! { #[link_name = "\x01?separator_@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_separator_: *mut nsStaticAtom; #[link_name = "\x01?separators_@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_separators_: *mut nsStaticAtom; #[link_name = "\x01?sep_@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_sep_: *mut nsStaticAtom; #[link_name = "\x01?setdiff_@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_setdiff_: *mut nsStaticAtom; - #[link_name = "\x01?set_@nsGkAtoms@@2PAVnsStaticAtom@@A"] - pub static nsGkAtoms_set_: *mut nsStaticAtom; #[link_name = "\x01?share_@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_share_: *mut nsStaticAtom; #[link_name = "\x01?shift_@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_shift_: *mut nsStaticAtom; #[link_name = "\x01?side_@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_side_: *mut nsStaticAtom; #[link_name = "\x01?sinh_@nsGkAtoms@@2PAVnsStaticAtom@@A"] pub static nsGkAtoms_sinh_: *mut nsStaticAtom; @@ -16653,18 +16653,16 @@ macro_rules! atom { ("graphics-document") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_graphicsDocument as *mut _) } }}; ("graphics-object") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_graphicsObject as *mut _) } }}; ("graphics-symbol") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_graphicsSymbol as *mut _) } }}; ("grid") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_grid as *mut _) } }}; -("grippy") => - {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_grippy as *mut _) } }}; ("group") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_group as *mut _) } }}; ("groupbox") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_groupbox as *mut _) } }}; ("grouping-separator") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_groupingSeparator as *mut _) } }}; ("grouping-size") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_groupingSize as *mut _) } }}; @@ -18959,20 +18957,24 @@ macro_rules! atom { ("rx") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_rx as *mut _) } }}; ("ry") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_ry as *mut _) } }}; ("saturate") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_saturate as *mut _) } }}; ("saturation") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_saturation as *mut _) } }}; +("set") => + {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_set as *mut _) } }}; ("seed") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_seed as *mut _) } }}; ("shape-rendering") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_shape_rendering as *mut _) } }}; +("simpleScopeChain") => + {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_simpleScopeChain as *mut _) } }}; ("skewX") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_skewX as *mut _) } }}; ("skewY") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_skewY as *mut _) } }}; ("slope") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_slope as *mut _) } }}; ("slot") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_slot as *mut _) } }}; @@ -19607,18 +19609,16 @@ macro_rules! atom { ("separator") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_separator_ as *mut _) } }}; ("separators") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_separators_ as *mut _) } }}; ("sep") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_sep_ as *mut _) } }}; ("setdiff") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_setdiff_ as *mut _) } }}; -("set") => - {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_set_ as *mut _) } }}; ("share") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_share_ as *mut _) } }}; ("shift") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_shift_ as *mut _) } }}; ("side") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_side_ as *mut _) } }}; ("sinh") => {{ #[allow(unsafe_code)] #[allow(unused_unsafe)]unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_sinh_ as *mut _) } }};
--- a/servo/components/style/gecko/generated/bindings.rs +++ b/servo/components/style/gecko/generated/bindings.rs @@ -1,17 +1,17 @@ /* automatically generated by rust-bindgen */ pub use nsstring::{nsACString, nsAString, nsString, nsStringRepr}; use gecko_bindings::structs::nsStyleTransformMatrix; use gecko_bindings::structs::nsTArray; type nsACString_internal = nsACString; type nsAString_internal = nsAString; -pub type ServoStyleContextBorrowed<'a> = &'a ::properties::ComputedValues; -pub type ServoStyleContextBorrowedOrNull<'a> = Option<&'a ::properties::ComputedValues>; +pub type ComputedStyleBorrowed<'a> = &'a ::properties::ComputedValues; +pub type ComputedStyleBorrowedOrNull<'a> = Option<&'a ::properties::ComputedValues>; pub type ServoComputedDataBorrowed<'a> = &'a ServoComputedData; pub type RawServoAnimationValueTableBorrowed<'a> = &'a (); use gecko_bindings::structs::mozilla::css::GridTemplateAreasValue; use gecko_bindings::structs::mozilla::css::ErrorReporter; use gecko_bindings::structs::mozilla::css::ImageValue; use gecko_bindings::structs::mozilla::css::URLValue; use gecko_bindings::structs::mozilla::css::URLValueData; use gecko_bindings::structs::mozilla::dom::CallerType; @@ -113,19 +113,17 @@ use gecko_bindings::structs::nsStyleCont unsafe impl Send for nsStyleContentData {} unsafe impl Sync for nsStyleContentData {} use gecko_bindings::structs::nsStyleContentData_CounterFunction; unsafe impl Send for nsStyleContentData_CounterFunction {} unsafe impl Sync for nsStyleContentData_CounterFunction {} use gecko_bindings::structs::nsStyleContentType; unsafe impl Send for nsStyleContentType {} unsafe impl Sync for nsStyleContentType {} -use gecko_bindings::structs::nsStyleContext; -unsafe impl Send for nsStyleContext {} -unsafe impl Sync for nsStyleContext {} +use gecko_bindings::structs::ComputedStyle; use gecko_bindings::structs::nsStyleCoord; unsafe impl Send for nsStyleCoord {} unsafe impl Sync for nsStyleCoord {} use gecko_bindings::structs::nsStyleCoord_Calc; unsafe impl Send for nsStyleCoord_Calc {} unsafe impl Sync for nsStyleCoord_Calc {} use gecko_bindings::structs::nsStyleCoord_CalcValue; unsafe impl Send for nsStyleCoord_CalcValue {} @@ -233,18 +231,17 @@ use gecko_bindings::structs::nsTimingFun use gecko_bindings::structs::nscolor; use gecko_bindings::structs::nscoord; use gecko_bindings::structs::nsresult; use gecko_bindings::structs::Loader; use gecko_bindings::structs::LoaderReusableStyleSheets; use gecko_bindings::structs::SheetLoadData; use gecko_bindings::structs::ServoStyleSheet; use gecko_bindings::structs::ServoComputedData; -use gecko_bindings::structs::ServoStyleContext; -use gecko_bindings::structs::ServoStyleContextStrong; +use gecko_bindings::structs::ComputedStyleStrong; use gecko_bindings::structs::EffectCompositor_CascadeLevel; use gecko_bindings::structs::UpdateAnimationsTasks; use gecko_bindings::structs::ParsingMode; use gecko_bindings::structs::InheritTarget; use gecko_bindings::structs::URLMatchingFunction; use gecko_bindings::structs::StyleAnimation; use gecko_bindings::structs::StyleRuleInclusion; use gecko_bindings::structs::nsStyleTransformMatrix::MatrixTransformOperator; @@ -581,27 +578,27 @@ extern "C" { pub fn Gecko_GetAnonymousContentForElement( element: RawGeckoElementBorrowed, ) -> *mut nsTArray<*mut nsIContent>; } extern "C" { pub fn Gecko_DestroyAnonymousContentList(anon_content: *mut nsTArray<*mut nsIContent>); } extern "C" { - pub fn Gecko_ServoStyleContext_Init( - context: *mut ServoStyleContext, - parent_context: ServoStyleContextBorrowedOrNull, + pub fn Gecko_ComputedStyle_Init( + context: *mut ComputedStyle, + parent_context: ComputedStyleBorrowedOrNull, pres_context: RawGeckoPresContextBorrowed, values: ServoComputedDataBorrowed, pseudo_type: CSSPseudoElementType, pseudo_tag: *mut nsAtom, ); } extern "C" { - pub fn Gecko_ServoStyleContext_Destroy(context: *mut ServoStyleContext); + pub fn Gecko_ComputedStyle_Destroy(context: *mut ComputedStyle); } extern "C" { pub fn Gecko_ConstructStyleChildrenIterator( aElement: RawGeckoElementBorrowed, aIterator: RawGeckoStyleChildrenIteratorBorrowedMut, ); } extern "C" { @@ -874,18 +871,18 @@ extern "C" { ); } extern "C" { pub fn Gecko_SetAnimationName(aStyleAnimation: *mut StyleAnimation, aAtom: *mut nsAtom); } extern "C" { pub fn Gecko_UpdateAnimations( aElementOrPseudo: RawGeckoElementBorrowed, - aOldComputedValues: ServoStyleContextBorrowedOrNull, - aComputedValues: ServoStyleContextBorrowedOrNull, + aOldComputedValues: ComputedStyleBorrowedOrNull, + aComputedValues: ComputedStyleBorrowedOrNull, aTasks: UpdateAnimationsTasks, ); } extern "C" { pub fn Gecko_ElementHasAnimations(aElementOrPseudo: RawGeckoElementBorrowed) -> bool; } extern "C" { pub fn Gecko_ElementHasCSSAnimations(aElementOrPseudo: RawGeckoElementBorrowed) -> bool; @@ -1168,18 +1165,18 @@ extern "C" { name: *mut nsAtom, ) -> bool; } extern "C" { pub fn Gecko_GetImplementedPseudo(element: RawGeckoElementBorrowed) -> CSSPseudoElementType; } extern "C" { pub fn Gecko_CalcStyleDifference( - old_style: ServoStyleContextBorrowed, - new_style: ServoStyleContextBorrowed, + old_style: ComputedStyleBorrowed, + new_style: ComputedStyleBorrowed, any_style_changed: *mut bool, reset_only_changed: *mut bool, ) -> u32; } extern "C" { pub fn Gecko_GetElementSnapshot( table: *const ServoElementSnapshotTable, element: RawGeckoElementBorrowed, @@ -1984,29 +1981,29 @@ extern "C" { ) -> usize; } extern "C" { pub fn Servo_Element_HasPrimaryComputedValues(node: RawGeckoElementBorrowed) -> bool; } extern "C" { pub fn Servo_Element_GetPrimaryComputedValues( node: RawGeckoElementBorrowed, - ) -> ServoStyleContextStrong; + ) -> ComputedStyleStrong; } extern "C" { pub fn Servo_Element_HasPseudoComputedValues( node: RawGeckoElementBorrowed, index: usize, ) -> bool; } extern "C" { pub fn Servo_Element_GetPseudoComputedValues( node: RawGeckoElementBorrowed, index: usize, - ) -> ServoStyleContextStrong; + ) -> ComputedStyleStrong; } extern "C" { pub fn Servo_Element_IsDisplayNone(element: RawGeckoElementBorrowed) -> bool; } extern "C" { pub fn Servo_Element_IsPrimaryStyleReusedViaRuleNode(element: RawGeckoElementBorrowed) -> bool; } extern "C" { @@ -2155,19 +2152,19 @@ extern "C" { extern "C" { pub fn Servo_StyleSet_BuildFontFeatureValueSet( set: RawServoStyleSetBorrowed, ) -> *mut gfxFontFeatureValueSet; } extern "C" { pub fn Servo_StyleSet_ResolveForDeclarations( set: RawServoStyleSetBorrowed, - parent_style: ServoStyleContextBorrowedOrNull, + parent_style: ComputedStyleBorrowedOrNull, declarations: RawServoDeclarationBlockBorrowed, - ) -> ServoStyleContextStrong; + ) -> ComputedStyleStrong; } extern "C" { pub fn Servo_SelectorList_Parse(selector_list: *const nsACString) -> *mut RawServoSelectorList; } extern "C" { pub fn Servo_SourceSizeList_Parse(value: *const nsACString) -> *mut RawServoSourceSizeList; } extern "C" { @@ -2252,20 +2249,20 @@ extern "C" { extern "C" { pub fn Servo_AuthorStyles_SizeOfIncludingThis( malloc_size_of: MallocSizeOf, malloc_enclosing_size_of: MallocSizeOf, self_: RawServoAuthorStylesBorrowed, ) -> usize; } extern "C" { - pub fn Servo_StyleContext_AddRef(ctx: ServoStyleContextBorrowed); -} -extern "C" { - pub fn Servo_StyleContext_Release(ctx: ServoStyleContextBorrowed); + pub fn Servo_ComputedStyle_AddRef(ctx: ComputedStyleBorrowed); +} +extern "C" { + pub fn Servo_ComputedStyle_Release(ctx: ComputedStyleBorrowed); } extern "C" { pub fn Servo_StyleSet_MightHaveAttributeDependency( set: RawServoStyleSetBorrowed, element: RawGeckoElementBorrowed, local_name: *mut nsAtom, ) -> bool; } @@ -2632,30 +2629,30 @@ extern "C" { data: *mut RawGeckoURLExtraData, output: nsTimingFunctionBorrowedMut, ) -> bool; } extern "C" { pub fn Servo_GetComputedKeyframeValues( keyframes: RawGeckoKeyframeListBorrowed, element: RawGeckoElementBorrowed, - style: ServoStyleContextBorrowed, + style: ComputedStyleBorrowed, set: RawServoStyleSetBorrowed, result: RawGeckoComputedKeyframeValuesListBorrowedMut, ); } extern "C" { pub fn Servo_ComputedValues_ExtractAnimationValue( - computed_values: ServoStyleContextBorrowed, + computed_values: ComputedStyleBorrowed, property: nsCSSPropertyID, ) -> RawServoAnimationValueStrong; } extern "C" { pub fn Servo_ComputedValues_SpecifiesAnimationsOrTransitions( - computed_values: ServoStyleContextBorrowed, + computed_values: ComputedStyleBorrowed, ) -> bool; } extern "C" { pub fn Servo_Property_IsAnimatable(property: nsCSSPropertyID) -> bool; } extern "C" { pub fn Servo_Property_IsTransitionable(property: nsCSSPropertyID) -> bool; } @@ -2677,17 +2674,17 @@ extern "C" { progress: f64, result: *mut RawGeckoGfxMatrix4x4, ); } extern "C" { pub fn Servo_GetAnimationValues( declarations: RawServoDeclarationBlockBorrowed, element: RawGeckoElementBorrowed, - style: ServoStyleContextBorrowed, + style: ComputedStyleBorrowed, style_set: RawServoStyleSetBorrowed, animation_values: RawGeckoServoAnimationValueListBorrowedMut, ); } extern "C" { pub fn Servo_AnimationValues_Interpolate( from: RawServoAnimationValueBorrowed, to: RawServoAnimationValueBorrowed, @@ -2765,17 +2762,17 @@ extern "C" { pub fn Servo_AnimationValue_Uncompute( value: RawServoAnimationValueBorrowed, ) -> RawServoDeclarationBlockStrong; } extern "C" { pub fn Servo_AnimationValue_Compute( element: RawGeckoElementBorrowed, declarations: RawServoDeclarationBlockBorrowed, - style: ServoStyleContextBorrowed, + style: ComputedStyleBorrowed, raw_data: RawServoStyleSetBorrowed, ) -> RawServoAnimationValueStrong; } extern "C" { pub fn Servo_ParseStyleAttribute( data: *const nsACString, extra_data: *mut RawGeckoURLExtraData, quirks_mode: nsCompatibility, @@ -2802,17 +2799,17 @@ extern "C" { result: *mut nsAString, ); } extern "C" { pub fn Servo_DeclarationBlock_SerializeOneValue( declarations: RawServoDeclarationBlockBorrowed, property: nsCSSPropertyID, buffer: *mut nsAString, - computed_values: ServoStyleContextBorrowedOrNull, + computed_values: ComputedStyleBorrowedOrNull, custom_properties: RawServoDeclarationBlockBorrowedOrNull, ); } extern "C" { pub fn Servo_DeclarationBlock_Count(declarations: RawServoDeclarationBlockBorrowed) -> u32; } extern "C" { pub fn Servo_DeclarationBlock_GetNthProperty( @@ -3044,41 +3041,41 @@ extern "C" { extern "C" { pub fn Servo_CSSSupports2(name: *const nsACString, value: *const nsACString) -> bool; } extern "C" { pub fn Servo_CSSSupports(cond: *const nsACString) -> bool; } extern "C" { pub fn Servo_ComputedValues_GetForAnonymousBox( - parent_style_or_null: ServoStyleContextBorrowedOrNull, + parent_style_or_null: ComputedStyleBorrowedOrNull, pseudo_tag: *mut nsAtom, set: RawServoStyleSetBorrowed, - ) -> ServoStyleContextStrong; + ) -> ComputedStyleStrong; } extern "C" { pub fn Servo_ComputedValues_Inherit( set: RawServoStyleSetBorrowed, pseudo_tag: *mut nsAtom, - parent_style: ServoStyleContextBorrowedOrNull, + parent_style: ComputedStyleBorrowedOrNull, target: InheritTarget, - ) -> ServoStyleContextStrong; -} -extern "C" { - pub fn Servo_ComputedValues_GetStyleBits(values: ServoStyleContextBorrowed) -> u64; + ) -> ComputedStyleStrong; +} +extern "C" { + pub fn Servo_ComputedValues_GetStyleBits(values: ComputedStyleBorrowed) -> u64; } extern "C" { pub fn Servo_ComputedValues_EqualCustomProperties( first: ServoComputedDataBorrowed, second: ServoComputedDataBorrowed, ) -> bool; } extern "C" { pub fn Servo_ComputedValues_GetStyleRuleList( - values: ServoStyleContextBorrowed, + values: ComputedStyleBorrowed, rules: RawGeckoServoStyleRuleListBorrowedMut, ); } extern "C" { pub fn Servo_Initialize(dummy_url_data: *mut RawGeckoURLExtraData); } extern "C" { pub fn Servo_InitializeCooperativeThread(); @@ -3095,69 +3092,69 @@ extern "C" { } extern "C" { pub fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed, was_restyled: *mut bool) -> u32; } extern "C" { pub fn Servo_ResolveStyle( element: RawGeckoElementBorrowed, set: RawServoStyleSetBorrowed, - ) -> ServoStyleContextStrong; + ) -> ComputedStyleStrong; } extern "C" { pub fn Servo_ResolvePseudoStyle( element: RawGeckoElementBorrowed, pseudo_type: CSSPseudoElementType, is_probe: bool, - inherited_style: ServoStyleContextBorrowedOrNull, + inherited_style: ComputedStyleBorrowedOrNull, set: RawServoStyleSetBorrowed, - ) -> ServoStyleContextStrong; + ) -> ComputedStyleStrong; } extern "C" { pub fn Servo_ComputedValues_ResolveXULTreePseudoStyle( element: RawGeckoElementBorrowed, pseudo_tag: *mut nsAtom, - inherited_style: ServoStyleContextBorrowed, + inherited_style: ComputedStyleBorrowed, input_word: *const AtomArray, set: RawServoStyleSetBorrowed, - ) -> ServoStyleContextStrong; + ) -> ComputedStyleStrong; } extern "C" { pub fn Servo_SetExplicitStyle( element: RawGeckoElementBorrowed, - primary_style: ServoStyleContextBorrowed, + primary_style: ComputedStyleBorrowed, ); } extern "C" { pub fn Servo_HasAuthorSpecifiedRules( - style: ServoStyleContextBorrowed, + style: ComputedStyleBorrowed, element: RawGeckoElementBorrowed, pseudo_type: CSSPseudoElementType, rule_type_mask: u32, author_colors_allowed: bool, ) -> bool; } extern "C" { pub fn Servo_ResolveStyleLazily( element: RawGeckoElementBorrowed, pseudo_type: CSSPseudoElementType, rule_inclusion: StyleRuleInclusion, snapshots: *const ServoElementSnapshotTable, set: RawServoStyleSetBorrowed, - ) -> ServoStyleContextStrong; + ) -> ComputedStyleStrong; } extern "C" { pub fn Servo_ReparentStyle( - style_to_reparent: ServoStyleContextBorrowed, - parent_style: ServoStyleContextBorrowed, - parent_style_ignoring_first_line: ServoStyleContextBorrowed, - layout_parent_style: ServoStyleContextBorrowed, + style_to_reparent: ComputedStyleBorrowed, + parent_style: ComputedStyleBorrowed, + parent_style_ignoring_first_line: ComputedStyleBorrowed, + layout_parent_style: ComputedStyleBorrowed, element: RawGeckoElementBorrowedOrNull, set: RawServoStyleSetBorrowed, - ) -> ServoStyleContextStrong; + ) -> ComputedStyleStrong; } extern "C" { pub fn Servo_TraverseSubtree( root: RawGeckoElementBorrowed, set: RawServoStyleSetBorrowed, snapshots: *const ServoElementSnapshotTable, flags: ServoTraversalFlags, ) -> bool; @@ -3170,48 +3167,48 @@ extern "C" { } extern "C" { pub fn Servo_MaybeGCRuleTree(set: RawServoStyleSetBorrowed); } extern "C" { pub fn Servo_StyleSet_GetBaseComputedValuesForElement( set: RawServoStyleSetBorrowed, element: RawGeckoElementBorrowed, - existing_style: ServoStyleContextBorrowed, + existing_style: ComputedStyleBorrowed, snapshots: *const ServoElementSnapshotTable, - ) -> ServoStyleContextStrong; + ) -> ComputedStyleStrong; } extern "C" { pub fn Servo_StyleSet_GetComputedValuesByAddingAnimation( set: RawServoStyleSetBorrowed, element: RawGeckoElementBorrowed, - existing_style: ServoStyleContextBorrowed, + existing_style: ComputedStyleBorrowed, snapshots: *const ServoElementSnapshotTable, animation: RawServoAnimationValueBorrowed, - ) -> ServoStyleContextStrong; + ) -> ComputedStyleStrong; } extern "C" { pub fn Servo_SerializeFontValueForCanvas( declarations: RawServoDeclarationBlockBorrowed, buffer: *mut nsAString, ); } extern "C" { pub fn Servo_GetCustomPropertyValue( - computed_values: ServoStyleContextBorrowed, + computed_values: ComputedStyleBorrowed, name: *const nsAString, value: *mut nsAString, ) -> bool; } extern "C" { - pub fn Servo_GetCustomPropertiesCount(computed_values: ServoStyleContextBorrowed) -> u32; + pub fn Servo_GetCustomPropertiesCount(computed_values: ComputedStyleBorrowed) -> u32; } extern "C" { pub fn Servo_GetCustomPropertyNameAt( - arg1: ServoStyleContextBorrowed, + arg1: ComputedStyleBorrowed, index: u32, name: *mut nsAString, ) -> bool; } extern "C" { pub fn Servo_ProcessInvalidations( set: RawServoStyleSetBorrowed, element: RawGeckoElementBorrowed, @@ -3283,16 +3280,19 @@ extern "C" { data: *mut RawGeckoURLExtraData, family: *mut RefPtr<SharedFontList>, style: nsCSSValueBorrowedMut, stretch: nsCSSValueBorrowedMut, weight: nsCSSValueBorrowedMut, ) -> bool; } extern "C" { + pub fn Servo_Property_IsShorthand(name: *const nsACString, found: *mut bool) -> bool; +} +extern "C" { pub fn Gecko_CreateCSSErrorReporter( sheet: *mut ServoStyleSheet, loader: *mut Loader, uri: *mut nsIURI, ) -> *mut ErrorReporter; } extern "C" { pub fn Gecko_DestroyCSSErrorReporter(reporter: *mut ErrorReporter);
--- a/servo/components/style/gecko/generated/structs.rs +++ b/servo/components/style/gecko/generated/structs.rs @@ -10,17 +10,17 @@ pub type ServoUnsafeCell<T> = ::std::cel pub type ServoCell<T> = ::std::cell::Cell<T>; pub type ServoNodeData = AtomicRefCell<ElementData>; pub type ServoWritingMode = ::logical_geometry::WritingMode; pub type ServoCustomPropertiesMap = Option<::servo_arc::Arc<::custom_properties::CustomPropertiesMap>>; pub type ServoRuleNode = Option<::rule_tree::StrongRuleNode>; pub type ServoVisitedStyle = Option<::servo_arc::RawOffsetArc<::properties::ComputedValues>>; pub type ServoComputedValueFlags = ::properties::computed_value_flags::ComputedValueFlags; pub type ServoRawOffsetArc<T> = ::servo_arc::RawOffsetArc<T>; -pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<::properties::ComputedValues>; +pub type ComputedStyleStrong = ::gecko_bindings::sugar::ownership::Strong<::properties::ComputedValues>; #[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] pub struct __BindgenBitfieldUnit<Storage, Align> where Storage: AsRef<[u8]> + AsMut<[u8]>, @@ -898,16 +898,18 @@ pub mod root { pub struct pair<_T1, _T2> { pub first: _T1, pub second: _T2, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<_T1>>, pub _phantom_1: ::std::marker::PhantomData<::std::cell::UnsafeCell<_T2>>, } pub type pair_first_type<_T1> = _T1; pub type pair_second_type<_T2> = _T2; + pub type pair__PCCP = u8; + pub type pair__PCCFP = u8; #[repr(C)] #[derive(Debug, Copy)] pub struct input_iterator_tag { pub _address: u8, } #[test] fn bindgen_test_layout_input_iterator_tag() { assert_eq!( @@ -936,35 +938,38 @@ pub mod root { pub type iterator_difference_type<_Distance> = _Distance; pub type iterator_pointer<_Pointer> = _Pointer; pub type iterator_reference<_Reference> = _Reference; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atomic { pub _address: u8, } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct function { - pub _address: u8, - } pub type _Base_bitset__WordT = ::std::os::raw::c_ulong; pub type bitset__Base = u8; pub type bitset__WordT = ::std::os::raw::c_ulong; #[repr(C)] #[derive(Debug)] pub struct bitset_reference { pub _M_wp: *mut root::std::bitset__WordT, pub _M_bpos: usize, } } pub mod __gnu_cxx { #[allow(unused_imports)] use self::super::super::root; } + pub type __int8_t = ::std::os::raw::c_schar; + pub type __uint8_t = ::std::os::raw::c_uchar; + pub type __int16_t = ::std::os::raw::c_short; + pub type __uint16_t = ::std::os::raw::c_ushort; + pub type __int32_t = ::std::os::raw::c_int; + pub type __uint32_t = ::std::os::raw::c_uint; + pub type __int64_t = ::std::os::raw::c_long; + pub type __uint64_t = ::std::os::raw::c_ulong; pub mod mozilla { #[allow(unused_imports)] use self::super::super::root; pub type fallible_t = root::std::nothrow_t; pub type IntegralConstant_ValueType<T> = T; pub type IntegralConstant_Type = u8; /// Convenient aliases. pub type TrueType = u8; @@ -1124,33 +1129,39 @@ pub mod root { stringify!(ConditionVariableImpl), "::", stringify!(platformData_) ) ); } } pub type Conditional_Type<A> = A; - pub const ArenaObjectID_eArenaObjectID_DummyBeforeFirstObjectID : root :: mozilla :: ArenaObjectID = 171 ; - pub const ArenaObjectID_eArenaObjectID_GeckoStyleContext: root::mozilla::ArenaObjectID = + pub const ArenaObjectID_eArenaObjectID_DummyBeforeFirstObjectID: + root::mozilla::ArenaObjectID = 171; + pub const ArenaObjectID_eArenaObjectID_GeckoComputedStyle: root::mozilla::ArenaObjectID = 172; pub const ArenaObjectID_eArenaObjectID_nsLineBox: root::mozilla::ArenaObjectID = 173; pub const ArenaObjectID_eArenaObjectID_nsRuleNode: root::mozilla::ArenaObjectID = 174; pub const ArenaObjectID_eArenaObjectID_DisplayItemData: root::mozilla::ArenaObjectID = 175; pub const ArenaObjectID_eArenaObjectID_nsInheritedStyleData: root::mozilla::ArenaObjectID = 176; pub const ArenaObjectID_eArenaObjectID_nsResetStyleData: root::mozilla::ArenaObjectID = 177; - pub const ArenaObjectID_eArenaObjectID_nsConditionalResetStyleData : root :: mozilla :: ArenaObjectID = 178 ; - pub const ArenaObjectID_eArenaObjectID_nsConditionalResetStyleDataEntry : root :: mozilla :: ArenaObjectID = 179 ; + pub const ArenaObjectID_eArenaObjectID_nsConditionalResetStyleData: + root::mozilla::ArenaObjectID = 178; + pub const ArenaObjectID_eArenaObjectID_nsConditionalResetStyleDataEntry: + root::mozilla::ArenaObjectID = 179; pub const ArenaObjectID_eArenaObjectID_nsFrameList: root::mozilla::ArenaObjectID = 180; pub const ArenaObjectID_eArenaObjectID_CustomCounterStyle: root::mozilla::ArenaObjectID = 181; - pub const ArenaObjectID_eArenaObjectID_DependentBuiltinCounterStyle : root :: mozilla :: ArenaObjectID = 182 ; - pub const ArenaObjectID_eArenaObjectID_nsCallbackEventRequest : root :: mozilla :: ArenaObjectID = 183 ; - pub const ArenaObjectID_eArenaObjectID_nsIntervalSet_Interval : root :: mozilla :: ArenaObjectID = 184 ; + pub const ArenaObjectID_eArenaObjectID_DependentBuiltinCounterStyle: + root::mozilla::ArenaObjectID = 182; + pub const ArenaObjectID_eArenaObjectID_nsCallbackEventRequest: + root::mozilla::ArenaObjectID = 183; + pub const ArenaObjectID_eArenaObjectID_nsIntervalSet_Interval: + root::mozilla::ArenaObjectID = 184; pub const ArenaObjectID_eArenaObjectID_CellData: root::mozilla::ArenaObjectID = 185; pub const ArenaObjectID_eArenaObjectID_BCCellData: root::mozilla::ArenaObjectID = 186; pub const ArenaObjectID_eArenaObjectID_nsStyleFont: root::mozilla::ArenaObjectID = 187; pub const ArenaObjectID_eArenaObjectID_nsStyleColor: root::mozilla::ArenaObjectID = 188; pub const ArenaObjectID_eArenaObjectID_nsStyleList: root::mozilla::ArenaObjectID = 189; pub const ArenaObjectID_eArenaObjectID_nsStyleText: root::mozilla::ArenaObjectID = 190; pub const ArenaObjectID_eArenaObjectID_nsStyleVisibility: root::mozilla::ArenaObjectID = 191; @@ -1173,44 +1184,4201 @@ pub mod root { pub const ArenaObjectID_eArenaObjectID_nsStyleBorder: root::mozilla::ArenaObjectID = 205; pub const ArenaObjectID_eArenaObjectID_nsStyleOutline: root::mozilla::ArenaObjectID = 206; pub const ArenaObjectID_eArenaObjectID_nsStyleXUL: root::mozilla::ArenaObjectID = 207; pub const ArenaObjectID_eArenaObjectID_nsStyleSVGReset: root::mozilla::ArenaObjectID = 208; pub const ArenaObjectID_eArenaObjectID_nsStyleColumn: root::mozilla::ArenaObjectID = 209; pub const ArenaObjectID_eArenaObjectID_nsStyleEffects: root::mozilla::ArenaObjectID = 210; pub const ArenaObjectID_eArenaObjectID_COUNT: root::mozilla::ArenaObjectID = 211; pub type ArenaObjectID = u32; + /// This class is designed to cause crashes when various kinds of memory + /// corruption are observed. For instance, let's say we have a class C where we + /// suspect out-of-bounds writes to some members. We can insert a member of type + /// Poison near the members we suspect are being corrupted by out-of-bounds + /// writes. Or perhaps we have a class K we suspect is subject to use-after-free + /// violations, in which case it doesn't particularly matter where in the class + /// we add the member of type Poison. + /// + /// In either case, we then insert calls to Check() throughout the code. Doing + /// so enables us to narrow down the location where the corruption is occurring. + /// A pleasant side-effect of these additional Check() calls is that crash + /// signatures may become more regular, as crashes will ideally occur + /// consolidated at the point of a Check(), rather than scattered about at + /// various uses of the corrupted memory. + #[repr(C)] + #[derive(Debug)] + pub struct CorruptionCanary { + pub mValue: usize, + } + pub const CorruptionCanary_kCanarySet: usize = 252382987; + #[test] + fn bindgen_test_layout_CorruptionCanary() { + assert_eq!( + ::std::mem::size_of::<CorruptionCanary>(), + 8usize, + concat!("Size of: ", stringify!(CorruptionCanary)) + ); + assert_eq!( + ::std::mem::align_of::<CorruptionCanary>(), + 8usize, + concat!("Alignment of ", stringify!(CorruptionCanary)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<CorruptionCanary>())).mValue as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CorruptionCanary), + "::", + stringify!(mValue) + ) + ); + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct Maybe { + pub _address: u8, + } + pub type Maybe_ValueType<T> = T; + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum SheetType { + Agent = 0, + User = 1, + PresHint = 2, + Doc = 3, + StyleAttr = 4, + Override = 5, + Animation = 6, + Transition = 7, + Count = 8, + Unknown = 255, + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct StaticRefPtr<T> { + pub mRawPtr: *mut T, + pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>, + } + /// This struct represents a combined color from a numeric color and + /// the current foreground color (currentcolor keyword). + /// Conceptually, the formula is "color * (1 - p) + currentcolor * p" + /// where p is mForegroundRatio. See mozilla::LinearBlendColors for + /// the actual algorithm. + #[repr(C)] + #[derive(Debug, Copy)] + pub struct StyleComplexColor { + pub mColor: root::nscolor, + pub mForegroundRatio: u8, + pub mIsAuto: bool, + } + #[test] + fn bindgen_test_layout_StyleComplexColor() { + assert_eq!( + ::std::mem::size_of::<StyleComplexColor>(), + 8usize, + concat!("Size of: ", stringify!(StyleComplexColor)) + ); + assert_eq!( + ::std::mem::align_of::<StyleComplexColor>(), + 4usize, + concat!("Alignment of ", stringify!(StyleComplexColor)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<StyleComplexColor>())).mColor as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(StyleComplexColor), + "::", + stringify!(mColor) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<StyleComplexColor>())).mForegroundRatio as *const _ + as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(StyleComplexColor), + "::", + stringify!(mForegroundRatio) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<StyleComplexColor>())).mIsAuto as *const _ as usize + }, + 5usize, + concat!( + "Offset of field: ", + stringify!(StyleComplexColor), + "::", + stringify!(mIsAuto) + ) + ); + } + impl Clone for StyleComplexColor { + fn clone(&self) -> Self { + *self + } + } /// A default deletion policy using plain old operator delete. /// /// Note that this type can be specialized, but authors should beware of the risk /// that the specialization may at some point cease to match (either because it /// gets moved to a different compilation unit or the signature changes). If the /// non-specialized (|delete|-based) version compiles for that type but does the /// wrong thing, bad things could happen. /// /// This is a non-issue for types which are always incomplete (i.e. opaque handle /// types), since |delete|-ing such a type will always trigger a compilation /// error. #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct DefaultDelete { pub _address: u8, } + pub mod gfx { + #[allow(unused_imports)] + use self::super::super::super::root; + pub type Float = f32; + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct IntPointTyped { + pub _address: u8, + } + pub type IntPointTyped_ToInt = u32; + pub type IntPointTyped_Coord = u8; + pub type IntPointTyped_Super = u8; + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct SizeTyped { + pub _address: u8, + } + pub type SizeTyped_Super = u8; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct FontVariation { + pub mTag: u32, + pub mValue: f32, + } + #[test] + fn bindgen_test_layout_FontVariation() { + assert_eq!( + ::std::mem::size_of::<FontVariation>(), + 8usize, + concat!("Size of: ", stringify!(FontVariation)) + ); + assert_eq!( + ::std::mem::align_of::<FontVariation>(), + 4usize, + concat!("Alignment of ", stringify!(FontVariation)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<FontVariation>())).mTag as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FontVariation), + "::", + stringify!(mTag) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FontVariation>())).mValue as *const _ as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(FontVariation), + "::", + stringify!(mValue) + ) + ); + } + impl Clone for FontVariation { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct ScaleFactor { + pub _address: u8, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct UserData { + pub _bindgen_opaque_blob: [u64; 2usize], + } + pub type UserData_destroyFunc = u64; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct UserData_Entry { + pub _bindgen_opaque_blob: [u64; 3usize], + } + #[test] + fn bindgen_test_layout_UserData_Entry() { + assert_eq!( + ::std::mem::size_of::<UserData_Entry>(), + 24usize, + concat!("Size of: ", stringify!(UserData_Entry)) + ); + assert_eq!( + ::std::mem::align_of::<UserData_Entry>(), + 8usize, + concat!("Alignment of ", stringify!(UserData_Entry)) + ); + } + impl Clone for UserData_Entry { + fn clone(&self) -> Self { + *self + } + } + #[test] + fn bindgen_test_layout_UserData() { + assert_eq!( + ::std::mem::size_of::<UserData>(), + 16usize, + concat!("Size of: ", stringify!(UserData)) + ); + assert_eq!( + ::std::mem::align_of::<UserData>(), + 8usize, + concat!("Alignment of ", stringify!(UserData)) + ); + } + impl Clone for UserData { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + pub struct SourceSurface__bindgen_vtable(::std::os::raw::c_void); + /// This is the base class for source surfaces. These objects are surfaces + /// which may be used as a source in a SurfacePattern or a DrawSurface call. + /// They cannot be drawn to directly. + /// + /// Although SourceSurface has thread-safe refcount, some SourceSurface cannot + /// be used on random threads at the same time. Only DataSourceSurface can be + /// used on random threads now. This will be fixed in the future. Eventually + /// all SourceSurface should be thread-safe. + #[repr(C)] + #[derive(Debug)] + pub struct SourceSurface { + pub vtable_: *const SourceSurface__bindgen_vtable, + pub _base: u64, + pub mUserData: root::mozilla::gfx::UserData, + } + #[test] + fn bindgen_test_layout_SourceSurface() { + assert_eq!( + ::std::mem::size_of::<SourceSurface>(), + 32usize, + concat!("Size of: ", stringify!(SourceSurface)) + ); + assert_eq!( + ::std::mem::align_of::<SourceSurface>(), + 8usize, + concat!("Alignment of ", stringify!(SourceSurface)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<SourceSurface>())).mUserData as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(SourceSurface), + "::", + stringify!(mUserData) + ) + ); + } + } + #[repr(u32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum Side { + eSideTop = 0, + eSideRight = 1, + eSideBottom = 2, + eSideLeft = 3, + } + #[repr(u32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum HalfCorner { + eCornerTopLeftX = 0, + eCornerTopLeftY = 1, + eCornerTopRightX = 2, + eCornerTopRightY = 3, + eCornerBottomRightX = 4, + eCornerBottomRightY = 5, + eCornerBottomLeftX = 6, + eCornerBottomLeftY = 7, + } pub type MallocSizeOf = ::std::option::Option<unsafe extern "C" fn(p: *const ::std::os::raw::c_void) -> usize>; #[repr(C)] + #[derive(Debug)] + pub struct ThreadSafeAutoRefCnt { + pub mValue: u64, + } + pub const ThreadSafeAutoRefCnt_isThreadSafe: bool = true; + #[test] + fn bindgen_test_layout_ThreadSafeAutoRefCnt() { + assert_eq!( + ::std::mem::size_of::<ThreadSafeAutoRefCnt>(), + 8usize, + concat!("Size of: ", stringify!(ThreadSafeAutoRefCnt)) + ); + assert_eq!( + ::std::mem::align_of::<ThreadSafeAutoRefCnt>(), + 8usize, + concat!("Alignment of ", stringify!(ThreadSafeAutoRefCnt)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ThreadSafeAutoRefCnt>())).mValue as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ThreadSafeAutoRefCnt), + "::", + stringify!(mValue) + ) + ); + } + #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct ReverseIterator<IteratorT> { pub mCurrent: IteratorT, pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<IteratorT>>, } pub type Array_iterator<T> = *mut T; pub type Array_const_iterator<T> = *mut T; pub type Array_reverse_iterator<T> = root::mozilla::ReverseIterator<T>; pub type Array_const_reverse_iterator<T> = root::mozilla::ReverseIterator<T>; + pub type EnumeratedArray_ArrayType = u8; + pub type EnumeratedArray_iterator = root::mozilla::EnumeratedArray_ArrayType; + pub type EnumeratedArray_const_iterator = root::mozilla::EnumeratedArray_ArrayType; + pub type EnumeratedArray_reverse_iterator = root::mozilla::EnumeratedArray_ArrayType; + pub type EnumeratedArray_const_reverse_iterator = root::mozilla::EnumeratedArray_ArrayType; + #[repr(C)] + #[derive(Debug)] + pub struct LinkedListElement { + pub mNext: *mut root::mozilla::LinkedListElement, + pub mPrev: *mut root::mozilla::LinkedListElement, + pub mIsSentinel: bool, + } + pub type LinkedListElement_Traits = root::mozilla::detail::LinkedListElementTraits; + pub type LinkedListElement_RawType = root::mozilla::LinkedListElement_Traits; + pub type LinkedListElement_ConstRawType = root::mozilla::LinkedListElement_Traits; + pub type LinkedListElement_ClientType = root::mozilla::LinkedListElement_Traits; + pub type LinkedListElement_ConstClientType = root::mozilla::LinkedListElement_Traits; + pub const LinkedListElement_NodeKind_Normal: root::mozilla::LinkedListElement_NodeKind = 0; + pub const LinkedListElement_NodeKind_Sentinel: root::mozilla::LinkedListElement_NodeKind = + 0; + pub type LinkedListElement_NodeKind = i32; + #[repr(C)] + #[derive(Debug)] + pub struct LinkedList { + pub sentinel: root::mozilla::LinkedListElement, + } + pub type LinkedList_Traits = root::mozilla::detail::LinkedListElementTraits; + pub type LinkedList_RawType = root::mozilla::LinkedList_Traits; + pub type LinkedList_ConstRawType = root::mozilla::LinkedList_Traits; + pub type LinkedList_ClientType = root::mozilla::LinkedList_Traits; + pub type LinkedList_ConstClientType = root::mozilla::LinkedList_Traits; + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct LinkedList_Iterator { + pub mCurrent: root::mozilla::LinkedList_RawType, + } + /// # mozilla::Variant + /// + /// A variant / tagged union / heterogenous disjoint union / sum-type template + /// class. Similar in concept to (but not derived from) `boost::variant`. + /// + /// Sometimes, you may wish to use a C union with non-POD types. However, this is + /// forbidden in C++ because it is not clear which type in the union should have + /// its constructor and destructor run on creation and deletion + /// respectively. This is the problem that `mozilla::Variant` solves. + /// + /// ## Usage + /// + /// A `mozilla::Variant` instance is constructed (via move or copy) from one of + /// its variant types (ignoring const and references). It does *not* support + /// construction from subclasses of variant types or types that coerce to one of + /// the variant types. + /// + /// Variant<char, uint32_t> v1('a'); + /// Variant<UniquePtr<A>, B, C> v2(MakeUnique<A>()); + /// Variant<bool, char> v3(VariantType<char>, 0); // disambiguation needed + /// Variant<int, int> v4(VariantIndex<1>, 0); // 2nd int + /// + /// Because specifying the full type of a Variant value is often verbose, + /// there are two easier ways to construct values: + /// + /// A. AsVariant() can be used to construct a Variant value using type inference + /// in contexts such as expressions or when returning values from functions. + /// Because AsVariant() must copy or move the value into a temporary and this + /// cannot necessarily be elided by the compiler, it's mostly appropriate only + /// for use with primitive or very small types. + /// + /// Variant<char, uint32_t> Foo() { return AsVariant('x'); } + /// // ... + /// Variant<char, uint32_t> v1 = Foo(); // v1 holds char('x'). + /// + /// B. Brace-construction with VariantType or VariantIndex; this also allows + /// in-place construction with any number of arguments. + /// + /// struct AB { AB(int, int){...} }; + /// static Variant<AB, bool> foo() + /// { + /// return {VariantIndex<0>{}, 1, 2}; + /// } + /// // ... + /// Variant<AB, bool> v0 = Foo(); // v0 holds AB(1,2). + /// + /// All access to the contained value goes through type-safe accessors. + /// Either the stored type, or the type index may be provided. + /// + /// void + /// Foo(Variant<A, B, C> v) + /// { + /// if (v.is<A>()) { + /// A& ref = v.as<A>(); + /// ... + /// } else (v.is<1>()) { // Instead of v.is<B>. + /// ... + /// } else { + /// ... + /// } + /// } + /// + /// In some situation, a Variant may be constructed from templated types, in + /// which case it is possible that the same type could be given multiple times by + /// an external developer. Or seemingly-different types could be aliases. + /// In this case, repeated types can only be accessed through their index, to + /// prevent ambiguous access by type. + /// + /// // Bad! + /// template <typename T> + /// struct ResultOrError + /// { + /// Variant<T, int> m; + /// ResultOrError() : m(int(0)) {} // Error '0' by default + /// ResultOrError(const T& r) : m(r) {} + /// bool IsResult() const { return m.is<T>(); } + /// bool IsError() const { return m.is<int>(); } + /// }; + /// // Now instantiante with the result being an int too: + /// ResultOrError<int> myResult(123); // Fail! + /// // In Variant<int, int>, which 'int' are we refering to, from inside + /// // ResultOrError functions? + /// + /// // Good! + /// template <typename T> + /// struct ResultOrError + /// { + /// Variant<T, int> m; + /// ResultOrError() : m(VariantIndex<1>{}, 0) {} // Error '0' by default + /// ResultOrError(const T& r) : m(VariantIndex<0>{}, r) {} + /// bool IsResult() const { return m.is<0>(); } // 0 -> T + /// bool IsError() const { return m.is<1>(); } // 1 -> int + /// }; + /// // Now instantiante with the result being an int too: + /// ResultOrError<int> myResult(123); // It now works! + /// + /// Attempting to use the contained value as type `T1` when the `Variant` + /// instance contains a value of type `T2` causes an assertion failure. + /// + /// A a; + /// Variant<A, B, C> v(a); + /// v.as<B>(); // <--- Assertion failure! + /// + /// Trying to use a `Variant<Ts...>` instance as some type `U` that is not a + /// member of the set of `Ts...` is a compiler error. + /// + /// A a; + /// Variant<A, B, C> v(a); + /// v.as<SomeRandomType>(); // <--- Compiler error! + /// + /// Additionally, you can turn a `Variant` that `is<T>` into a `T` by moving it + /// out of the containing `Variant` instance with the `extract<T>` method: + /// + /// Variant<UniquePtr<A>, B, C> v(MakeUnique<A>()); + /// auto ptr = v.extract<UniquePtr<A>>(); + /// + /// Finally, you can exhaustively match on the contained variant and branch into + /// different code paths depending on which type is contained. This is preferred + /// to manually checking every variant type T with is<T>() because it provides + /// compile-time checking that you handled every type, rather than runtime + /// assertion failures. + /// + /// // Bad! + /// char* foo(Variant<A, B, C, D>& v) { + /// if (v.is<A>()) { + /// return ...; + /// } else if (v.is<B>()) { + /// return ...; + /// } else { + /// return doSomething(v.as<C>()); // Forgot about case D! + /// } + /// } + /// + /// // Good! + /// struct FooMatcher + /// { + /// // The return type of all matchers must be identical. + /// char* match(A& a) { ... } + /// char* match(B& b) { ... } + /// char* match(C& c) { ... } + /// char* match(D& d) { ... } // Compile-time error to forget D! + /// } + /// char* foo(Variant<A, B, C, D>& v) { + /// return v.match(FooMatcher()); + /// } + /// + /// ## Examples + /// + /// A tree is either an empty leaf, or a node with a value and two children: + /// + /// struct Leaf { }; + /// + /// template<typename T> + /// struct Node + /// { + /// T value; + /// Tree<T>* left; + /// Tree<T>* right; + /// }; + /// + /// template<typename T> + /// using Tree = Variant<Leaf, Node<T>>; + /// + /// A copy-on-write string is either a non-owning reference to some existing + /// string, or an owning reference to our copy: + /// + /// class CopyOnWriteString + /// { + /// Variant<const char*, UniquePtr<char[]>> string; + /// + /// ... + /// }; + /// + /// Because Variant must be aligned suitable to hold any value stored within it, + /// and because |alignas| requirements don't affect platform ABI with respect to + /// how parameters are laid out in memory, Variant can't be used as the type of a + /// function parameter. Pass Variant to functions by pointer or reference + /// instead. + #[repr(C)] + #[derive(Debug)] + pub struct Variant { + pub rawData: *mut ::std::os::raw::c_uchar, + pub tag: root::mozilla::Variant_Tag, + } + pub type Variant_Tag = root::mozilla::detail::VariantTag; + pub type Variant_Impl = u8; + pub mod layers { + #[allow(unused_imports)] + use self::super::super::super::root; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct LayerManager { + _unused: [u8; 0], + } + impl Clone for LayerManager { + fn clone(&self) -> Self { + *self + } + } + } + pub mod dom { + #[allow(unused_imports)] + use self::super::super::super::root; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct AllOwningUnionBase { + pub _address: u8, + } + #[test] + fn bindgen_test_layout_AllOwningUnionBase() { + assert_eq!( + ::std::mem::size_of::<AllOwningUnionBase>(), + 1usize, + concat!("Size of: ", stringify!(AllOwningUnionBase)) + ); + assert_eq!( + ::std::mem::align_of::<AllOwningUnionBase>(), + 1usize, + concat!("Alignment of ", stringify!(AllOwningUnionBase)) + ); + } + impl Clone for AllOwningUnionBase { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug)] + pub struct GlobalObject { + pub mGlobalJSObject: [u64; 3usize], + pub mCx: *mut root::JSContext, + pub mGlobalObject: *mut root::nsISupports, + } + #[test] + fn bindgen_test_layout_GlobalObject() { + assert_eq!( + ::std::mem::size_of::<GlobalObject>(), + 40usize, + concat!("Size of: ", stringify!(GlobalObject)) + ); + assert_eq!( + ::std::mem::align_of::<GlobalObject>(), + 8usize, + concat!("Alignment of ", stringify!(GlobalObject)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<GlobalObject>())).mGlobalJSObject as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(GlobalObject), + "::", + stringify!(mGlobalJSObject) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<GlobalObject>())).mCx as *const _ as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(GlobalObject), + "::", + stringify!(mCx) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<GlobalObject>())).mGlobalObject as *const _ as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(GlobalObject), + "::", + stringify!(mGlobalObject) + ) + ); + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct Sequence { + pub _address: u8, + } + #[repr(u32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum CallerType { + System = 0, + NonSystem = 1, + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct Nullable { + pub _address: u8, + } + pub mod prototypes { + #[allow(unused_imports)] + use self::super::super::super::super::root; + } + pub mod constructors { + #[allow(unused_imports)] + use self::super::super::super::super::root; + } + pub mod namedpropertiesobjects { + #[allow(unused_imports)] + use self::super::super::super::super::root; + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct Promise { + _unused: [u8; 0], + } + impl Clone for Promise { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct ClientSource { + _unused: [u8; 0], + } + impl Clone for ClientSource { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct CSSImportRule { + _unused: [u8; 0], + } + impl Clone for CSSImportRule { + fn clone(&self) -> Self { + *self + } + } + /// Struct that stores info on an attribute. The name and value must either both + /// be null or both be non-null. + /// + /// Note that, just as the pointers returned by GetAttrNameAt, the pointers that + /// this struct hold are only valid until the element or its attributes are + /// mutated (directly or via script). + #[repr(C)] + #[derive(Debug, Copy)] + pub struct BorrowedAttrInfo { + pub mName: *const root::nsAttrName, + pub mValue: *const root::nsAttrValue, + } + #[test] + fn bindgen_test_layout_BorrowedAttrInfo() { + assert_eq!( + ::std::mem::size_of::<BorrowedAttrInfo>(), + 16usize, + concat!("Size of: ", stringify!(BorrowedAttrInfo)) + ); + assert_eq!( + ::std::mem::align_of::<BorrowedAttrInfo>(), + 8usize, + concat!("Alignment of ", stringify!(BorrowedAttrInfo)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<BorrowedAttrInfo>())).mName as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BorrowedAttrInfo), + "::", + stringify!(mName) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<BorrowedAttrInfo>())).mValue as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(BorrowedAttrInfo), + "::", + stringify!(mValue) + ) + ); + } + impl Clone for BorrowedAttrInfo { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + pub struct NodeInfo { + pub mRefCnt: root::nsCycleCollectingAutoRefCnt, + pub mDocument: *mut root::nsIDocument, + pub mInner: root::mozilla::dom::NodeInfo_NodeInfoInner, + pub mOwnerManager: root::RefPtr<root::nsNodeInfoManager>, + pub mQualifiedName: ::nsstring::nsStringRepr, + pub mNodeName: ::nsstring::nsStringRepr, + pub mLocalName: ::nsstring::nsStringRepr, + } + pub type NodeInfo_HasThreadSafeRefCnt = root::mozilla::FalseType; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct NodeInfo_cycleCollection { + pub _base: root::nsCycleCollectionParticipant, + } + #[test] + fn bindgen_test_layout_NodeInfo_cycleCollection() { + assert_eq!( + ::std::mem::size_of::<NodeInfo_cycleCollection>(), + 16usize, + concat!("Size of: ", stringify!(NodeInfo_cycleCollection)) + ); + assert_eq!( + ::std::mem::align_of::<NodeInfo_cycleCollection>(), + 8usize, + concat!("Alignment of ", stringify!(NodeInfo_cycleCollection)) + ); + } + impl Clone for NodeInfo_cycleCollection { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug)] + pub struct NodeInfo_NodeInfoInner { + pub mName: *const root::nsAtom, + pub mPrefix: *mut root::nsAtom, + pub mNamespaceID: i32, + pub mNodeType: u16, + pub mNameString: *const root::nsAString, + pub mExtraName: *mut root::nsAtom, + pub mHash: [u32; 2usize], + } + #[test] + fn bindgen_test_layout_NodeInfo_NodeInfoInner() { + assert_eq!( + ::std::mem::size_of::<NodeInfo_NodeInfoInner>(), + 48usize, + concat!("Size of: ", stringify!(NodeInfo_NodeInfoInner)) + ); + assert_eq!( + ::std::mem::align_of::<NodeInfo_NodeInfoInner>(), + 8usize, + concat!("Alignment of ", stringify!(NodeInfo_NodeInfoInner)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mName as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo_NodeInfoInner), + "::", + stringify!(mName) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mPrefix as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo_NodeInfoInner), + "::", + stringify!(mPrefix) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mNamespaceID as *const _ + as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo_NodeInfoInner), + "::", + stringify!(mNamespaceID) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mNodeType as *const _ + as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo_NodeInfoInner), + "::", + stringify!(mNodeType) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mNameString as *const _ + as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo_NodeInfoInner), + "::", + stringify!(mNameString) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mExtraName as *const _ + as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo_NodeInfoInner), + "::", + stringify!(mExtraName) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mHash as *const _ + as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo_NodeInfoInner), + "::", + stringify!(mHash) + ) + ); + } + extern "C" { + #[link_name = "\u{1}_ZN7mozilla3dom8NodeInfo21_cycleCollectorGlobalE"] + pub static mut NodeInfo__cycleCollectorGlobal: + root::mozilla::dom::NodeInfo_cycleCollection; + } + #[test] + fn bindgen_test_layout_NodeInfo() { + assert_eq!( + ::std::mem::size_of::<NodeInfo>(), + 120usize, + concat!("Size of: ", stringify!(NodeInfo)) + ); + assert_eq!( + ::std::mem::align_of::<NodeInfo>(), + 8usize, + concat!("Alignment of ", stringify!(NodeInfo)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<NodeInfo>())).mRefCnt as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo), + "::", + stringify!(mRefCnt) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<NodeInfo>())).mDocument as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo), + "::", + stringify!(mDocument) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<NodeInfo>())).mInner as *const _ as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo), + "::", + stringify!(mInner) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<NodeInfo>())).mOwnerManager as *const _ as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo), + "::", + stringify!(mOwnerManager) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<NodeInfo>())).mQualifiedName as *const _ as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo), + "::", + stringify!(mQualifiedName) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<NodeInfo>())).mNodeName as *const _ as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo), + "::", + stringify!(mNodeName) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<NodeInfo>())).mLocalName as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(NodeInfo), + "::", + stringify!(mLocalName) + ) + ); + } + #[repr(C)] + #[derive(Debug)] + pub struct EventTarget { + pub _base: root::nsIDOMEventTarget, + pub _base_1: root::nsWrapperCache, + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct EventTarget_COMTypeInfo { + pub _address: u8, + } + #[test] + fn bindgen_test_layout_EventTarget() { + assert_eq!( + ::std::mem::size_of::<EventTarget>(), + 32usize, + concat!("Size of: ", stringify!(EventTarget)) + ); + assert_eq!( + ::std::mem::align_of::<EventTarget>(), + 8usize, + concat!("Alignment of ", stringify!(EventTarget)) + ); + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct BoxQuadOptions { + _unused: [u8; 0], + } + impl Clone for BoxQuadOptions { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct ConvertCoordinateOptions { + _unused: [u8; 0], + } + impl Clone for ConvertCoordinateOptions { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct DocGroup { + _unused: [u8; 0], + } + impl Clone for DocGroup { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct DOMPoint { + _unused: [u8; 0], + } + impl Clone for DOMPoint { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct DOMQuad { + _unused: [u8; 0], + } + impl Clone for DOMQuad { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct TextOrElementOrDocument { + _unused: [u8; 0], + } + impl Clone for TextOrElementOrDocument { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct DOMPointInit { + _unused: [u8; 0], + } + impl Clone for DOMPointInit { + fn clone(&self) -> Self { + *self + } + } + pub const VisibilityState_Hidden: root::mozilla::dom::VisibilityState = 0; + pub const VisibilityState_Visible: root::mozilla::dom::VisibilityState = 1; + pub const VisibilityState_EndGuard_: root::mozilla::dom::VisibilityState = 2; + pub type VisibilityState = u8; + pub const FlashClassification_Unclassified: root::mozilla::dom::FlashClassification = 0; + pub const FlashClassification_Unknown: root::mozilla::dom::FlashClassification = 1; + pub const FlashClassification_Allowed: root::mozilla::dom::FlashClassification = 2; + pub const FlashClassification_Denied: root::mozilla::dom::FlashClassification = 3; + pub const FlashClassification_EndGuard_: root::mozilla::dom::FlashClassification = 4; + pub type FlashClassification = u8; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct IPCClientInfo { + _unused: [u8; 0], + } + impl Clone for IPCClientInfo { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct TabGroup { + _unused: [u8; 0], + } + impl Clone for TabGroup { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + pub struct DispatcherTrait__bindgen_vtable(::std::os::raw::c_void); + #[repr(C)] + #[derive(Debug, Copy)] + pub struct DispatcherTrait { + pub vtable_: *const DispatcherTrait__bindgen_vtable, + } + #[test] + fn bindgen_test_layout_DispatcherTrait() { + assert_eq!( + ::std::mem::size_of::<DispatcherTrait>(), + 8usize, + concat!("Size of: ", stringify!(DispatcherTrait)) + ); + assert_eq!( + ::std::mem::align_of::<DispatcherTrait>(), + 8usize, + concat!("Alignment of ", stringify!(DispatcherTrait)) + ); + } + impl Clone for DispatcherTrait { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct IPCServiceWorkerDescriptor { + _unused: [u8; 0], + } + impl Clone for IPCServiceWorkerDescriptor { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct AudioContext { + _unused: [u8; 0], + } + impl Clone for AudioContext { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct Navigator { + _unused: [u8; 0], + } + impl Clone for Navigator { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct Performance { + _unused: [u8; 0], + } + impl Clone for Performance { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct TimeoutManager { + _unused: [u8; 0], + } + impl Clone for TimeoutManager { + fn clone(&self) -> Self { + *self + } + } + pub const LargeAllocStatus_NONE: root::mozilla::dom::LargeAllocStatus = 0; + pub const LargeAllocStatus_SUCCESS: root::mozilla::dom::LargeAllocStatus = 1; + pub const LargeAllocStatus_NON_GET: root::mozilla::dom::LargeAllocStatus = 2; + pub const LargeAllocStatus_NON_E10S: root::mozilla::dom::LargeAllocStatus = 3; + pub const LargeAllocStatus_NOT_ONLY_TOPLEVEL_IN_TABGROUP: + root::mozilla::dom::LargeAllocStatus = 4; + pub const LargeAllocStatus_NON_WIN32: root::mozilla::dom::LargeAllocStatus = 5; + pub type LargeAllocStatus = u8; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct StyleSheetList { + _unused: [u8; 0], + } + impl Clone for StyleSheetList { + fn clone(&self) -> Self { + *self + } + } + /// A class meant to be shared by ShadowRoot and Document, that holds a list of + /// stylesheets. + /// + /// TODO(emilio, bug 1418159): In the future this should hold most of the + /// relevant style state, this should allow us to fix bug 548397. + #[repr(C)] + pub struct DocumentOrShadowRoot { + pub mStyleSheets: root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>, + pub mDOMStyleSheets: root::RefPtr<root::mozilla::dom::StyleSheetList>, + pub mIdentifierMap: [u64; 4usize], + pub mAsNode: *mut root::nsINode, + pub mKind: root::mozilla::dom::DocumentOrShadowRoot_Kind, + } + pub const DocumentOrShadowRoot_Kind_Document: + root::mozilla::dom::DocumentOrShadowRoot_Kind = 0; + pub const DocumentOrShadowRoot_Kind_ShadowRoot: + root::mozilla::dom::DocumentOrShadowRoot_Kind = 1; + pub type DocumentOrShadowRoot_Kind = i32; + pub const DocumentOrShadowRoot_ElementsFromPointFlags_IGNORE_ROOT_SCROLL_FRAME: + root::mozilla::dom::DocumentOrShadowRoot_ElementsFromPointFlags = 1; + pub const DocumentOrShadowRoot_ElementsFromPointFlags_FLUSH_LAYOUT: + root::mozilla::dom::DocumentOrShadowRoot_ElementsFromPointFlags = 2; + pub const DocumentOrShadowRoot_ElementsFromPointFlags_IS_ELEMENT_FROM_POINT: + root::mozilla::dom::DocumentOrShadowRoot_ElementsFromPointFlags = 4; + pub type DocumentOrShadowRoot_ElementsFromPointFlags = u32; + #[test] + fn bindgen_test_layout_DocumentOrShadowRoot() { + assert_eq!( + ::std::mem::size_of::<DocumentOrShadowRoot>(), + 64usize, + concat!("Size of: ", stringify!(DocumentOrShadowRoot)) + ); + assert_eq!( + ::std::mem::align_of::<DocumentOrShadowRoot>(), + 8usize, + concat!("Alignment of ", stringify!(DocumentOrShadowRoot)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mStyleSheets as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DocumentOrShadowRoot), + "::", + stringify!(mStyleSheets) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mDOMStyleSheets as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DocumentOrShadowRoot), + "::", + stringify!(mDOMStyleSheets) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mIdentifierMap as *const _ + as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DocumentOrShadowRoot), + "::", + stringify!(mIdentifierMap) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mAsNode as *const _ + as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(DocumentOrShadowRoot), + "::", + stringify!(mAsNode) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mKind as *const _ as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(DocumentOrShadowRoot), + "::", + stringify!(mKind) + ) + ); + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct AboutCapabilities { + _unused: [u8; 0], + } + impl Clone for AboutCapabilities { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct AnonymousContent { + _unused: [u8; 0], + } + impl Clone for AnonymousContent { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct BoxObject { + _unused: [u8; 0], + } + impl Clone for BoxObject { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct DocumentTimeline { + _unused: [u8; 0], + } + impl Clone for DocumentTimeline { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct DOMImplementation { + _unused: [u8; 0], + } + impl Clone for DOMImplementation { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct FontFaceSet { + _unused: [u8; 0], + } + impl Clone for FontFaceSet { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct FullscreenRequest { + _unused: [u8; 0], + } + impl Clone for FullscreenRequest { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct ImageTracker { + _unused: [u8; 0], + } + impl Clone for ImageTracker { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct HTMLImageElement { + _unused: [u8; 0], + } + impl Clone for HTMLImageElement { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct Link { + _unused: [u8; 0], + } + impl Clone for Link { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct MediaQueryList { + _unused: [u8; 0], + } + impl Clone for MediaQueryList { + fn clone(&self) -> Self { + *self + } + } + pub type OrientationType = u8; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct ScriptLoader { + _unused: [u8; 0], + } + impl Clone for ScriptLoader { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct XPathEvaluator { + _unused: [u8; 0], + } + impl Clone for XPathEvaluator { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct FrameRequestCallback { + pub _bindgen_opaque_blob: [u64; 6usize], + } + #[test] + fn bindgen_test_layout_FrameRequestCallback() { + assert_eq!( + ::std::mem::size_of::<FrameRequestCallback>(), + 48usize, + concat!("Size of: ", stringify!(FrameRequestCallback)) + ); + assert_eq!( + ::std::mem::align_of::<FrameRequestCallback>(), + 8usize, + concat!("Alignment of ", stringify!(FrameRequestCallback)) + ); + } + impl Clone for FrameRequestCallback { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + pub struct URLParams { + pub mParams: root::nsTArray<root::mozilla::dom::URLParams_Param>, + } + #[repr(C)] + pub struct URLParams_ForEachIterator__bindgen_vtable(::std::os::raw::c_void); + #[repr(C)] + #[derive(Debug, Copy)] + pub struct URLParams_ForEachIterator { + pub vtable_: *const URLParams_ForEachIterator__bindgen_vtable, + } + #[test] + fn bindgen_test_layout_URLParams_ForEachIterator() { + assert_eq!( + ::std::mem::size_of::<URLParams_ForEachIterator>(), + 8usize, + concat!("Size of: ", stringify!(URLParams_ForEachIterator)) + ); + assert_eq!( + ::std::mem::align_of::<URLParams_ForEachIterator>(), + 8usize, + concat!("Alignment of ", stringify!(URLParams_ForEachIterator)) + ); + } + impl Clone for URLParams_ForEachIterator { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + pub struct URLParams_Param { + pub mKey: ::nsstring::nsStringRepr, + pub mValue: ::nsstring::nsStringRepr, + } + #[test] + fn bindgen_test_layout_URLParams_Param() { + assert_eq!( + ::std::mem::size_of::<URLParams_Param>(), + 32usize, + concat!("Size of: ", stringify!(URLParams_Param)) + ); + assert_eq!( + ::std::mem::align_of::<URLParams_Param>(), + 8usize, + concat!("Alignment of ", stringify!(URLParams_Param)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<URLParams_Param>())).mKey as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(URLParams_Param), + "::", + stringify!(mKey) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<URLParams_Param>())).mValue as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(URLParams_Param), + "::", + stringify!(mValue) + ) + ); + } + #[test] + fn bindgen_test_layout_URLParams() { + assert_eq!( + ::std::mem::size_of::<URLParams>(), + 8usize, + concat!("Size of: ", stringify!(URLParams)) + ); + assert_eq!( + ::std::mem::align_of::<URLParams>(), + 8usize, + concat!("Alignment of ", stringify!(URLParams)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<URLParams>())).mParams as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(URLParams), + "::", + stringify!(mParams) + ) + ); + } + #[repr(C)] + pub struct SRIMetadata { + pub mHashes: root::nsTArray<root::nsCString>, + pub mIntegrityString: ::nsstring::nsStringRepr, + pub mAlgorithm: root::nsCString, + pub mAlgorithmType: i8, + pub mEmpty: bool, + } + pub const SRIMetadata_MAX_ALTERNATE_HASHES: u32 = 256; + pub const SRIMetadata_UNKNOWN_ALGORITHM: i8 = -1; + #[test] + fn bindgen_test_layout_SRIMetadata() { + assert_eq!( + ::std::mem::size_of::<SRIMetadata>(), + 48usize, + concat!("Size of: ", stringify!(SRIMetadata)) + ); + assert_eq!( + ::std::mem::align_of::<SRIMetadata>(), + 8usize, + concat!("Alignment of ", stringify!(SRIMetadata)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<SRIMetadata>())).mHashes as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SRIMetadata), + "::", + stringify!(mHashes) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<SRIMetadata>())).mIntegrityString as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SRIMetadata), + "::", + stringify!(mIntegrityString) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<SRIMetadata>())).mAlgorithm as *const _ as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(SRIMetadata), + "::", + stringify!(mAlgorithm) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<SRIMetadata>())).mAlgorithmType as *const _ as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(SRIMetadata), + "::", + stringify!(mAlgorithmType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<SRIMetadata>())).mEmpty as *const _ as usize }, + 41usize, + concat!( + "Offset of field: ", + stringify!(SRIMetadata), + "::", + stringify!(mEmpty) + ) + ); + } + #[repr(C)] + #[derive(Debug)] + pub struct OwningNodeOrString { + pub mType: root::mozilla::dom::OwningNodeOrString_Type, + pub mValue: root::mozilla::dom::OwningNodeOrString_Value, + } + pub const OwningNodeOrString_Type_eUninitialized: + root::mozilla::dom::OwningNodeOrString_Type = 0; + pub const OwningNodeOrString_Type_eNode: root::mozilla::dom::OwningNodeOrString_Type = + 1; + pub const OwningNodeOrString_Type_eString: root::mozilla::dom::OwningNodeOrString_Type = + 2; + pub type OwningNodeOrString_Type = u32; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct OwningNodeOrString_Value { + pub _bindgen_opaque_blob: [u64; 2usize], + } + #[test] + fn bindgen_test_layout_OwningNodeOrString_Value() { + assert_eq!( + ::std::mem::size_of::<OwningNodeOrString_Value>(), + 16usize, + concat!("Size of: ", stringify!(OwningNodeOrString_Value)) + ); + assert_eq!( + ::std::mem::align_of::<OwningNodeOrString_Value>(), + 8usize, + concat!("Alignment of ", stringify!(OwningNodeOrString_Value)) + ); + } + impl Clone for OwningNodeOrString_Value { + fn clone(&self) -> Self { + *self + } + } + #[test] + fn bindgen_test_layout_OwningNodeOrString() { + assert_eq!( + ::std::mem::size_of::<OwningNodeOrString>(), + 24usize, + concat!("Size of: ", stringify!(OwningNodeOrString)) + ); + assert_eq!( + ::std::mem::align_of::<OwningNodeOrString>(), + 8usize, + concat!("Alignment of ", stringify!(OwningNodeOrString)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<OwningNodeOrString>())).mType as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OwningNodeOrString), + "::", + stringify!(mType) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<OwningNodeOrString>())).mValue as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OwningNodeOrString), + "::", + stringify!(mValue) + ) + ); + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum FillMode { + None = 0, + Forwards = 1, + Backwards = 2, + Both = 3, + Auto = 4, + EndGuard_ = 5, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum PlaybackDirection { + Normal = 0, + Reverse = 1, + Alternate = 2, + Alternate_reverse = 3, + EndGuard_ = 4, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct XBLChildrenElement { + _unused: [u8; 0], + } + impl Clone for XBLChildrenElement { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct CustomElementData { + _unused: [u8; 0], + } + impl Clone for CustomElementData { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + pub struct FragmentOrElement { + pub _base: root::nsIContent, + pub mRefCnt: root::nsCycleCollectingAutoRefCnt, + /// Array containing all attributes and children for this element + pub mAttrsAndChildren: root::nsAttrAndChildArray, + } + pub type FragmentOrElement_HasThreadSafeRefCnt = root::mozilla::FalseType; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct FragmentOrElement_cycleCollection { + pub _base: root::nsXPCOMCycleCollectionParticipant, + } + #[test] + fn bindgen_test_layout_FragmentOrElement_cycleCollection() { + assert_eq!( + ::std::mem::size_of::<FragmentOrElement_cycleCollection>(), + 16usize, + concat!("Size of: ", stringify!(FragmentOrElement_cycleCollection)) + ); + assert_eq!( + ::std::mem::align_of::<FragmentOrElement_cycleCollection>(), + 8usize, + concat!( + "Alignment of ", + stringify!(FragmentOrElement_cycleCollection) + ) + ); + } + impl Clone for FragmentOrElement_cycleCollection { + fn clone(&self) -> Self { + *self + } + } + /// There are a set of DOM- and scripting-specific instance variables + /// that may only be instantiated when a content object is accessed + /// through the DOM. Rather than burn actual slots in the content + /// objects for each of these instance variables, we put them off + /// in a side structure that's only allocated when the content is + /// accessed through the DOM. + #[repr(C)] + pub struct FragmentOrElement_nsExtendedDOMSlots { + pub _base: root::nsIContent_nsExtendedContentSlots, + /// SMIL Overridde style rules (for SMIL animation of CSS properties) + /// @see Element::GetSMILOverrideStyle + pub mSMILOverrideStyle: root::RefPtr<root::nsDOMCSSAttributeDeclaration>, + /// Holds any SMIL override style declaration for this element. + pub mSMILOverrideStyleDeclaration: root::RefPtr<root::mozilla::DeclarationBlock>, + /// The controllers of the XUL Element. + pub mControllers: root::nsCOMPtr, + /// An object implementing the .labels property for this element. + pub mLabelsList: root::RefPtr<root::nsLabelsNodeList>, + /// ShadowRoot bound to the element. + pub mShadowRoot: root::RefPtr<root::mozilla::dom::ShadowRoot>, + /// XBL binding installed on the element. + pub mXBLBinding: root::RefPtr<root::nsXBLBinding>, + /// Web components custom element data. + pub mCustomElementData: root::RefPtr<root::mozilla::dom::CustomElementData>, + /// For XUL to hold either frameloader or opener. + pub mFrameLoaderOrOpener: root::nsCOMPtr, + } + #[test] + fn bindgen_test_layout_FragmentOrElement_nsExtendedDOMSlots() { + assert_eq!( + ::std::mem::size_of::<FragmentOrElement_nsExtendedDOMSlots>(), + 104usize, + concat!( + "Size of: ", + stringify!(FragmentOrElement_nsExtendedDOMSlots) + ) + ); + assert_eq!( + ::std::mem::align_of::<FragmentOrElement_nsExtendedDOMSlots>(), + 8usize, + concat!( + "Alignment of ", + stringify!(FragmentOrElement_nsExtendedDOMSlots) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())) + .mSMILOverrideStyle as *const _ as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsExtendedDOMSlots), + "::", + stringify!(mSMILOverrideStyle) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())) + .mSMILOverrideStyleDeclaration as *const _ + as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsExtendedDOMSlots), + "::", + stringify!(mSMILOverrideStyleDeclaration) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())) + .mControllers as *const _ as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsExtendedDOMSlots), + "::", + stringify!(mControllers) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())).mLabelsList + as *const _ as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsExtendedDOMSlots), + "::", + stringify!(mLabelsList) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())).mShadowRoot + as *const _ as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsExtendedDOMSlots), + "::", + stringify!(mShadowRoot) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())).mXBLBinding + as *const _ as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsExtendedDOMSlots), + "::", + stringify!(mXBLBinding) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())) + .mCustomElementData as *const _ as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsExtendedDOMSlots), + "::", + stringify!(mCustomElementData) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())) + .mFrameLoaderOrOpener as *const _ as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsExtendedDOMSlots), + "::", + stringify!(mFrameLoaderOrOpener) + ) + ); + } + #[repr(C)] + pub struct FragmentOrElement_nsDOMSlots { + pub _base: root::nsIContent_nsContentSlots, + /// The .style attribute (an interface that forwards to the actual + /// style rules) + /// @see nsGenericHTMLElement::GetStyle + pub mStyle: root::nsCOMPtr, + /// The .dataset attribute. + /// @see nsGenericHTMLElement::GetDataset + pub mDataset: *mut root::nsDOMStringMap, + /// @see Element::Attributes + pub mAttributeMap: root::RefPtr<root::nsDOMAttributeMap>, + /// An object implementing the .children property for this element. + pub mChildrenList: root::RefPtr<root::nsContentList>, + /// An object implementing the .classList property for this element. + pub mClassList: root::RefPtr<root::nsDOMTokenList>, + } + #[test] + fn bindgen_test_layout_FragmentOrElement_nsDOMSlots() { + assert_eq!( + ::std::mem::size_of::<FragmentOrElement_nsDOMSlots>(), + 120usize, + concat!("Size of: ", stringify!(FragmentOrElement_nsDOMSlots)) + ); + assert_eq!( + ::std::mem::align_of::<FragmentOrElement_nsDOMSlots>(), + 8usize, + concat!("Alignment of ", stringify!(FragmentOrElement_nsDOMSlots)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mStyle as *const _ + as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsDOMSlots), + "::", + stringify!(mStyle) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mDataset + as *const _ as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsDOMSlots), + "::", + stringify!(mDataset) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mAttributeMap + as *const _ as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsDOMSlots), + "::", + stringify!(mAttributeMap) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mChildrenList + as *const _ as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsDOMSlots), + "::", + stringify!(mChildrenList) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mClassList + as *const _ as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement_nsDOMSlots), + "::", + stringify!(mClassList) + ) + ); + } + extern "C" { + #[link_name = "\u{1}_ZN7mozilla3dom17FragmentOrElement21_cycleCollectorGlobalE"] + pub static mut FragmentOrElement__cycleCollectorGlobal: + root::mozilla::dom::FragmentOrElement_cycleCollection; + } + #[test] + fn bindgen_test_layout_FragmentOrElement() { + assert_eq!( + ::std::mem::size_of::<FragmentOrElement>(), + 104usize, + concat!("Size of: ", stringify!(FragmentOrElement)) + ); + assert_eq!( + ::std::mem::align_of::<FragmentOrElement>(), + 8usize, + concat!("Alignment of ", stringify!(FragmentOrElement)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement>())).mRefCnt as *const _ as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement), + "::", + stringify!(mRefCnt) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FragmentOrElement>())).mAttrsAndChildren as *const _ + as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(FragmentOrElement), + "::", + stringify!(mAttrsAndChildren) + ) + ); + } + #[repr(C)] + pub struct Attr { + pub _base: root::nsIAttribute, + pub _base_1: root::nsIDOMNode, + pub mRefCnt: root::nsCycleCollectingAutoRefCnt, + pub mValue: ::nsstring::nsStringRepr, + } + pub type Attr_HasThreadSafeRefCnt = root::mozilla::FalseType; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct Attr_cycleCollection { + pub _base: root::nsXPCOMCycleCollectionParticipant, + } + #[test] + fn bindgen_test_layout_Attr_cycleCollection() { + assert_eq!( + ::std::mem::size_of::<Attr_cycleCollection>(), + 16usize, + concat!("Size of: ", stringify!(Attr_cycleCollection)) + ); + assert_eq!( + ::std::mem::align_of::<Attr_cycleCollection>(), + 8usize, + concat!("Alignment of ", stringify!(Attr_cycleCollection)) + ); + } + impl Clone for Attr_cycleCollection { + fn clone(&self) -> Self { + *self + } + } + extern "C" { + #[link_name = "\u{1}_ZN7mozilla3dom4Attr21_cycleCollectorGlobalE"] + pub static mut Attr__cycleCollectorGlobal: root::mozilla::dom::Attr_cycleCollection; + } + extern "C" { + #[link_name = "\u{1}_ZN7mozilla3dom4Attr12sInitializedE"] + pub static mut Attr_sInitialized: bool; + } + #[test] + fn bindgen_test_layout_Attr() { + assert_eq!( + ::std::mem::size_of::<Attr>(), + 128usize, + concat!("Size of: ", stringify!(Attr)) + ); + assert_eq!( + ::std::mem::align_of::<Attr>(), + 8usize, + concat!("Alignment of ", stringify!(Attr)) + ); + } + #[repr(C)] + #[derive(Debug)] + pub struct DOMRectReadOnly { + pub _base: root::nsISupports, + pub _base_1: root::nsWrapperCache, + pub mRefCnt: root::nsCycleCollectingAutoRefCnt, + pub mParent: root::nsCOMPtr, + } + pub type DOMRectReadOnly_HasThreadSafeRefCnt = root::mozilla::FalseType; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct DOMRectReadOnly_cycleCollection { + pub _base: root::nsXPCOMCycleCollectionParticipant, + } + #[test] + fn bindgen_test_layout_DOMRectReadOnly_cycleCollection() { + assert_eq!( + ::std::mem::size_of::<DOMRectReadOnly_cycleCollection>(), + 16usize, + concat!("Size of: ", stringify!(DOMRectReadOnly_cycleCollection)) + ); + assert_eq!( + ::std::mem::align_of::<DOMRectReadOnly_cycleCollection>(), + 8usize, + concat!("Alignment of ", stringify!(DOMRectReadOnly_cycleCollection)) + ); + } + impl Clone for DOMRectReadOnly_cycleCollection { + fn clone(&self) -> Self { + *self + } + } + extern "C" { + #[link_name = "\u{1}_ZN7mozilla3dom15DOMRectReadOnly21_cycleCollectorGlobalE"] + pub static mut DOMRectReadOnly__cycleCollectorGlobal: + root::mozilla::dom::DOMRectReadOnly_cycleCollection; + } + #[test] + fn bindgen_test_layout_DOMRectReadOnly() { + assert_eq!( + ::std::mem::size_of::<DOMRectReadOnly>(), + 48usize, + concat!("Size of: ", stringify!(DOMRectReadOnly)) + ); + assert_eq!( + ::std::mem::align_of::<DOMRectReadOnly>(), + 8usize, + concat!("Alignment of ", stringify!(DOMRectReadOnly)) + ); + } + #[repr(C)] + #[derive(Debug)] + pub struct DOMRect { + pub _base: root::mozilla::dom::DOMRectReadOnly, + pub mX: f64, + pub mY: f64, + pub mWidth: f64, + pub mHeight: f64, + } + #[test] + fn bindgen_test_layout_DOMRect() { + assert_eq!( + ::std::mem::size_of::<DOMRect>(), + 80usize, + concat!("Size of: ", stringify!(DOMRect)) + ); + assert_eq!( + ::std::mem::align_of::<DOMRect>(), + 8usize, + concat!("Alignment of ", stringify!(DOMRect)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<DOMRect>())).mX as *const _ as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(DOMRect), + "::", + stringify!(mX) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<DOMRect>())).mY as *const _ as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(DOMRect), + "::", + stringify!(mY) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<DOMRect>())).mWidth as *const _ as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(DOMRect), + "::", + stringify!(mWidth) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<DOMRect>())).mHeight as *const _ as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(DOMRect), + "::", + stringify!(mHeight) + ) + ); + } + pub const ShadowRootMode_Open: root::mozilla::dom::ShadowRootMode = 0; + pub const ShadowRootMode_Closed: root::mozilla::dom::ShadowRootMode = 1; + pub const ShadowRootMode_EndGuard_: root::mozilla::dom::ShadowRootMode = 2; + pub type ShadowRootMode = u8; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct IntersectionCallback { + pub _bindgen_opaque_blob: [u64; 6usize], + } + #[test] + fn bindgen_test_layout_IntersectionCallback() { + assert_eq!( + ::std::mem::size_of::<IntersectionCallback>(), + 48usize, + concat!("Size of: ", stringify!(IntersectionCallback)) + ); + assert_eq!( + ::std::mem::align_of::<IntersectionCallback>(), + 8usize, + concat!("Alignment of ", stringify!(IntersectionCallback)) + ); + } + impl Clone for IntersectionCallback { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + pub struct DOMIntersectionObserverEntry { + pub _base: root::nsISupports, + pub _base_1: root::nsWrapperCache, + pub mRefCnt: root::nsCycleCollectingAutoRefCnt, + pub mOwner: root::nsCOMPtr, + pub mTime: root::DOMHighResTimeStamp, + pub mRootBounds: root::RefPtr<root::mozilla::dom::DOMRect>, + pub mBoundingClientRect: root::RefPtr<root::mozilla::dom::DOMRect>, + pub mIntersectionRect: root::RefPtr<root::mozilla::dom::DOMRect>, + pub mIsIntersecting: bool, + pub mTarget: root::RefPtr<root::mozilla::dom::Element>, + pub mIntersectionRatio: f64, + } + pub type DOMIntersectionObserverEntry_HasThreadSafeRefCnt = root::mozilla::FalseType; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct DOMIntersectionObserverEntry_cycleCollection { + pub _base: root::nsXPCOMCycleCollectionParticipant, + } + #[test] + fn bindgen_test_layout_DOMIntersectionObserverEntry_cycleCollection() { + assert_eq!( + ::std::mem::size_of::<DOMIntersectionObserverEntry_cycleCollection>(), + 16usize, + concat!( + "Size of: ", + stringify!(DOMIntersectionObserverEntry_cycleCollection) + ) + ); + assert_eq!( + ::std::mem::align_of::<DOMIntersectionObserverEntry_cycleCollection>(), + 8usize, + concat!( + "Alignment of ", + stringify!(DOMIntersectionObserverEntry_cycleCollection) + ) + ); + } + impl Clone for DOMIntersectionObserverEntry_cycleCollection { + fn clone(&self) -> Self { + *self + } + } + extern "C" { + # [ link_name = "\u{1}_ZN7mozilla3dom28DOMIntersectionObserverEntry21_cycleCollectorGlobalE" ] pub static mut DOMIntersectionObserverEntry__cycleCollectorGlobal : root :: mozilla :: dom :: DOMIntersectionObserverEntry_cycleCollection ; + } + #[test] + fn bindgen_test_layout_DOMIntersectionObserverEntry() { + assert_eq!( + ::std::mem::size_of::<DOMIntersectionObserverEntry>(), + 104usize, + concat!("Size of: ", stringify!(DOMIntersectionObserverEntry)) + ); + assert_eq!( + ::std::mem::align_of::<DOMIntersectionObserverEntry>(), + 8usize, + concat!("Alignment of ", stringify!(DOMIntersectionObserverEntry)) + ); + } + #[repr(C)] + pub struct DOMIntersectionObserver { + pub _base: root::nsISupports, + pub _base_1: root::nsWrapperCache, + pub mRefCnt: root::nsCycleCollectingAutoRefCnt, + pub mOwner: root::nsCOMPtr, + pub mDocument: root::RefPtr<root::nsIDocument>, + pub mCallback: root::RefPtr<root::mozilla::dom::IntersectionCallback>, + pub mRoot: root::RefPtr<root::mozilla::dom::Element>, + pub mRootMargin: root::nsCSSRect, + pub mThresholds: root::nsTArray<f64>, + pub mObservationTargets: root::nsTArray<*mut root::mozilla::dom::Element>, + pub mQueuedEntries: + root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>, + pub mConnected: bool, + } + pub type DOMIntersectionObserver_HasThreadSafeRefCnt = root::mozilla::FalseType; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct DOMIntersectionObserver_cycleCollection { + pub _base: root::nsXPCOMCycleCollectionParticipant, + } + #[test] + fn bindgen_test_layout_DOMIntersectionObserver_cycleCollection() { + assert_eq!( + ::std::mem::size_of::<DOMIntersectionObserver_cycleCollection>(), + 16usize, + concat!( + "Size of: ", + stringify!(DOMIntersectionObserver_cycleCollection) + ) + ); + assert_eq!( + ::std::mem::align_of::<DOMIntersectionObserver_cycleCollection>(), + 8usize, + concat!( + "Alignment of ", + stringify!(DOMIntersectionObserver_cycleCollection) + ) + ); + } + impl Clone for DOMIntersectionObserver_cycleCollection { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct DOMIntersectionObserver_COMTypeInfo { + pub _address: u8, + } + extern "C" { + # [ link_name = "\u{1}_ZN7mozilla3dom23DOMIntersectionObserver21_cycleCollectorGlobalE" ] pub static mut DOMIntersectionObserver__cycleCollectorGlobal : root :: mozilla :: dom :: DOMIntersectionObserver_cycleCollection ; + } + #[test] + fn bindgen_test_layout_DOMIntersectionObserver() { + assert_eq!( + ::std::mem::size_of::<DOMIntersectionObserver>(), + 168usize, + concat!("Size of: ", stringify!(DOMIntersectionObserver)) + ); + assert_eq!( + ::std::mem::align_of::<DOMIntersectionObserver>(), + 8usize, + concat!("Alignment of ", stringify!(DOMIntersectionObserver)) + ); + } + #[repr(C)] + pub struct Element { + pub _base: root::mozilla::dom::FragmentOrElement, + pub mState: root::mozilla::EventStates, + pub mServoData: ::gecko_bindings::structs::ServoCell<*mut ::gecko_bindings::structs::ServoNodeData>, + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct Element_COMTypeInfo { + pub _address: u8, + } + /// StyleStateLocks is used to specify which event states should be locked, + /// and whether they should be locked to on or off. + #[repr(C)] + #[derive(Debug, Copy)] + pub struct Element_StyleStateLocks { + pub mLocks: root::mozilla::EventStates, + pub mValues: root::mozilla::EventStates, + } + #[test] + fn bindgen_test_layout_Element_StyleStateLocks() { + assert_eq!( + ::std::mem::size_of::<Element_StyleStateLocks>(), + 16usize, + concat!("Size of: ", stringify!(Element_StyleStateLocks)) + ); + assert_eq!( + ::std::mem::align_of::<Element_StyleStateLocks>(), + 8usize, + concat!("Alignment of ", stringify!(Element_StyleStateLocks)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<Element_StyleStateLocks>())).mLocks as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Element_StyleStateLocks), + "::", + stringify!(mLocks) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<Element_StyleStateLocks>())).mValues as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(Element_StyleStateLocks), + "::", + stringify!(mValues) + ) + ); + } + impl Clone for Element_StyleStateLocks { + fn clone(&self) -> Self { + *self + } + } + pub const Element_ATTR_MISSING: root::mozilla::dom::Element__bindgen_ty_1 = -1; + pub const Element_ATTR_VALUE_NO_MATCH: root::mozilla::dom::Element__bindgen_ty_1 = -2; + pub type Element__bindgen_ty_1 = i32; + /// Check whether this Element's given attribute has one of a given list of + /// values. If there is a match, we return the index in the list of the first + /// matching value. If there was no attribute at all, then we return + /// ATTR_MISSING. If there was an attribute but it didn't match, we return + /// ATTR_VALUE_NO_MATCH. A non-negative result always indicates a match. + /// + /// @param aNameSpaceID The namespace ID of the attribute. Must not + /// be kNameSpaceID_Unknown. + /// @param aName The name atom of the attribute. Must not be null. + /// @param aValues a nullptr-terminated array of pointers to atom values to test + /// against. + /// @param aCaseSensitive Whether to do a case-sensitive compare on the values. + /// @return ATTR_MISSING, ATTR_VALUE_NO_MATCH or the non-negative index + /// indicating the first value of aValues that matched + pub type Element_AttrValuesArray = *const *const root::nsStaticAtom; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct Element_MappedAttributeEntry { + pub attribute: *mut *mut root::nsStaticAtom, + } + #[test] + fn bindgen_test_layout_Element_MappedAttributeEntry() { + assert_eq!( + ::std::mem::size_of::<Element_MappedAttributeEntry>(), + 8usize, + concat!("Size of: ", stringify!(Element_MappedAttributeEntry)) + ); + assert_eq!( + ::std::mem::align_of::<Element_MappedAttributeEntry>(), + 8usize, + concat!("Alignment of ", stringify!(Element_MappedAttributeEntry)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<Element_MappedAttributeEntry>())).attribute + as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(Element_MappedAttributeEntry), + "::", + stringify!(attribute) + ) + ); + } + impl Clone for Element_MappedAttributeEntry { + fn clone(&self) -> Self { + *self + } + } + /// Define a general matching function that can be passed to + /// GetElementsByMatching(). Each Element being considered is + /// passed in. + pub type Element_nsElementMatchFunc = ::std::option::Option< + unsafe extern "C" fn(aElement: *mut root::mozilla::dom::Element) -> bool, + >; + pub const Element_kAllServoDescendantBits: u32 = 12648448; + pub const Element_kFireMutationEvent: bool = true; + pub const Element_kDontFireMutationEvent: bool = false; + pub const Element_kNotifyDocumentObservers: bool = true; + pub const Element_kDontNotifyDocumentObservers: bool = false; + pub const Element_kCallAfterSetAttr: bool = true; + pub const Element_kDontCallAfterSetAttr: bool = false; + #[test] + fn bindgen_test_layout_Element() { + assert_eq!( + ::std::mem::size_of::<Element>(), + 120usize, + concat!("Size of: ", stringify!(Element)) + ); + assert_eq!( + ::std::mem::align_of::<Element>(), + 8usize, + concat!("Alignment of ", stringify!(Element)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<Element>())).mState as *const _ as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(Element), + "::", + stringify!(mState) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<Element>())).mServoData as *const _ as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(Element), + "::", + stringify!(mServoData) + ) + ); + } + #[repr(C)] + pub struct HTMLSlotElement { + pub _base: root::nsGenericHTMLElement, + pub mAssignedNodes: root::nsTArray<root::RefPtr<root::nsINode>>, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct HTMLSlotElement_cycleCollection { + pub _base: root::mozilla::dom::FragmentOrElement_cycleCollection, + } + #[test] + fn bindgen_test_layout_HTMLSlotElement_cycleCollection() { + assert_eq!( + ::std::mem::size_of::<HTMLSlotElement_cycleCollection>(), + 16usize, + concat!("Size of: ", stringify!(HTMLSlotElement_cycleCollection)) + ); + assert_eq!( + ::std::mem::align_of::<HTMLSlotElement_cycleCollection>(), + 8usize, + concat!("Alignment of ", stringify!(HTMLSlotElement_cycleCollection)) + ); + } + impl Clone for HTMLSlotElement_cycleCollection { + fn clone(&self) -> Self { + *self + } + } + extern "C" { + #[link_name = "\u{1}_ZN7mozilla3dom15HTMLSlotElement21_cycleCollectorGlobalE"] + pub static mut HTMLSlotElement__cycleCollectorGlobal: + root::mozilla::dom::HTMLSlotElement_cycleCollection; + } + #[test] + fn bindgen_test_layout_HTMLSlotElement() { + assert_eq!( + ::std::mem::size_of::<HTMLSlotElement>(), + 136usize, + concat!("Size of: ", stringify!(HTMLSlotElement)) + ); + assert_eq!( + ::std::mem::align_of::<HTMLSlotElement>(), + 8usize, + concat!("Alignment of ", stringify!(HTMLSlotElement)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<HTMLSlotElement>())).mAssignedNodes as *const _ + as usize + }, + 128usize, + concat!( + "Offset of field: ", + stringify!(HTMLSlotElement), + "::", + stringify!(mAssignedNodes) + ) + ); + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum CompositeOperation { + Replace = 0, + Add = 1, + Accumulate = 2, + EndGuard_ = 3, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum IterationCompositeOperation { + Replace = 0, + Accumulate = 1, + EndGuard_ = 2, + } + #[repr(C)] + pub struct DocumentFragment { + pub _base: root::mozilla::dom::FragmentOrElement, + pub _base_1: root::nsIDOMDocumentFragment, + pub mHost: root::RefPtr<root::mozilla::dom::Element>, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct DocumentFragment_cycleCollection { + pub _base: root::mozilla::dom::FragmentOrElement_cycleCollection, + } + #[test] + fn bindgen_test_layout_DocumentFragment_cycleCollection() { + assert_eq!( + ::std::mem::size_of::<DocumentFragment_cycleCollection>(), + 16usize, + concat!("Size of: ", stringify!(DocumentFragment_cycleCollection)) + ); + assert_eq!( + ::std::mem::align_of::<DocumentFragment_cycleCollection>(), + 8usize, + concat!( + "Alignment of ", + stringify!(DocumentFragment_cycleCollection) + ) + ); + } + impl Clone for DocumentFragment_cycleCollection { + fn clone(&self) -> Self { + *self + } + } + extern "C" { + #[link_name = "\u{1}_ZN7mozilla3dom16DocumentFragment21_cycleCollectorGlobalE"] + pub static mut DocumentFragment__cycleCollectorGlobal: + root::mozilla::dom::DocumentFragment_cycleCollection; + } + #[test] + fn bindgen_test_layout_DocumentFragment() { + assert_eq!( + ::std::mem::size_of::<DocumentFragment>(), + 120usize, + concat!("Size of: ", stringify!(DocumentFragment)) + ); + assert_eq!( + ::std::mem::align_of::<DocumentFragment>(), + 8usize, + concat!("Alignment of ", stringify!(DocumentFragment)) + ); + } + #[repr(C)] + pub struct ShadowRoot { + pub _base: root::mozilla::dom::DocumentFragment, + pub _base_1: root::mozilla::dom::DocumentOrShadowRoot, + pub _base_2: root::nsStubMutationObserver, + pub mMode: root::mozilla::dom::ShadowRootMode, + pub mServoStyles: root::mozilla::UniquePtr<root::RawServoAuthorStyles>, + pub mStyleRuleMap: root::mozilla::UniquePtr<root::mozilla::ServoStyleRuleMap>, + pub mSlotMap: [u64; 4usize], + pub mIsComposedDocParticipant: bool, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct ShadowRoot_cycleCollection { + pub _base: root::mozilla::dom::DocumentFragment_cycleCollection, + } + #[test] + fn bindgen_test_layout_ShadowRoot_cycleCollection() { + assert_eq!( + ::std::mem::size_of::<ShadowRoot_cycleCollection>(), + 16usize, + concat!("Size of: ", stringify!(ShadowRoot_cycleCollection)) + ); + assert_eq!( + ::std::mem::align_of::<ShadowRoot_cycleCollection>(), + 8usize, + concat!("Alignment of ", stringify!(ShadowRoot_cycleCollection)) + ); + } + impl Clone for ShadowRoot_cycleCollection { + fn clone(&self) -> Self { + *self + } + } + /// Represents the insertion point in a slot for a given node. + #[repr(C)] + #[derive(Debug)] + pub struct ShadowRoot_SlotAssignment { + pub mSlot: *mut root::mozilla::dom::HTMLSlotElement, + pub mIndex: [u32; 2usize], + } + #[test] + fn bindgen_test_layout_ShadowRoot_SlotAssignment() { + assert_eq!( + ::std::mem::size_of::<ShadowRoot_SlotAssignment>(), + 16usize, + concat!("Size of: ", stringify!(ShadowRoot_SlotAssignment)) + ); + assert_eq!( + ::std::mem::align_of::<ShadowRoot_SlotAssignment>(), + 8usize, + concat!("Alignment of ", stringify!(ShadowRoot_SlotAssignment)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ShadowRoot_SlotAssignment>())).mSlot as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ShadowRoot_SlotAssignment), + "::", + stringify!(mSlot) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ShadowRoot_SlotAssignment>())).mIndex as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ShadowRoot_SlotAssignment), + "::", + stringify!(mIndex) + ) + ); + } + pub type ShadowRoot_SlotArray = u8; + extern "C" { + #[link_name = "\u{1}_ZN7mozilla3dom10ShadowRoot21_cycleCollectorGlobalE"] + pub static mut ShadowRoot__cycleCollectorGlobal: + root::mozilla::dom::ShadowRoot_cycleCollection; + } + #[test] + fn bindgen_test_layout_ShadowRoot() { + assert_eq!( + ::std::mem::size_of::<ShadowRoot>(), + 256usize, + concat!("Size of: ", stringify!(ShadowRoot)) + ); + assert_eq!( + ::std::mem::align_of::<ShadowRoot>(), + 8usize, + concat!("Alignment of ", stringify!(ShadowRoot)) + ); + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct ExplicitChildIterator { + pub mParent: *const root::nsIContent, + pub mParentAsSlot: *const root::mozilla::dom::HTMLSlotElement, + pub mChild: *mut root::nsIContent, + pub mDefaultChild: *mut root::nsIContent, + pub mIsFirst: bool, + pub mIndexInInserted: u32, + } + #[test] + fn bindgen_test_layout_ExplicitChildIterator() { + assert_eq!( + ::std::mem::size_of::<ExplicitChildIterator>(), + 40usize, + concat!("Size of: ", stringify!(ExplicitChildIterator)) + ); + assert_eq!( + ::std::mem::align_of::<ExplicitChildIterator>(), + 8usize, + concat!("Alignment of ", stringify!(ExplicitChildIterator)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ExplicitChildIterator>())).mParent as *const _ + as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ExplicitChildIterator), + "::", + stringify!(mParent) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ExplicitChildIterator>())).mParentAsSlot as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ExplicitChildIterator), + "::", + stringify!(mParentAsSlot) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ExplicitChildIterator>())).mChild as *const _ + as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ExplicitChildIterator), + "::", + stringify!(mChild) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ExplicitChildIterator>())).mDefaultChild as *const _ + as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ExplicitChildIterator), + "::", + stringify!(mDefaultChild) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ExplicitChildIterator>())).mIsFirst as *const _ + as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ExplicitChildIterator), + "::", + stringify!(mIsFirst) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ExplicitChildIterator>())).mIndexInInserted + as *const _ as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(ExplicitChildIterator), + "::", + stringify!(mIndexInInserted) + ) + ); + } + impl Clone for ExplicitChildIterator { + fn clone(&self) -> Self { + *self + } + } + #[repr(C)] + #[derive(Debug)] + pub struct FlattenedChildIterator { + pub _base: root::mozilla::dom::ExplicitChildIterator, + pub mOriginalContent: *const root::nsIContent, + pub mXBLInvolved: [u8; 2usize], + } + #[test] + fn bindgen_test_layout_FlattenedChildIterator() { + assert_eq!( + ::std::mem::size_of::<FlattenedChildIterator>(), + 56usize, + concat!("Size of: ", stringify!(FlattenedChildIterator)) + ); + assert_eq!( + ::std::mem::align_of::<FlattenedChildIterator>(), + 8usize, + concat!("Alignment of ", stringify!(FlattenedChildIterator)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FlattenedChildIterator>())).mOriginalContent + as *const _ as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(FlattenedChildIterator), + "::", + stringify!(mOriginalContent) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FlattenedChildIterator>())).mXBLInvolved as *const _ + as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(FlattenedChildIterator), + "::", + stringify!(mXBLInvolved) + ) + ); + } + /// AllChildrenIterator traverses the children of an element including before / + /// after content and optionally XBL children. The iterator can be initialized + /// to start at the end by providing false for aStartAtBeginning in order to + /// start iterating in reverse from the last child. + /// + /// Note: it assumes that no mutation of the DOM or frame tree takes place during + /// iteration, and will break horribly if that is not true. + #[repr(C)] + #[derive(Debug)] + pub struct AllChildrenIterator { + pub _base: root::mozilla::dom::FlattenedChildIterator, + pub mAnonKids: root::nsTArray<*mut root::nsIContent>, + pub mAnonKidsIdx: u32, + pub mFlags: u32, + pub mPhase: root::mozilla::dom::AllChildrenIterator_IteratorPhase, + } + pub const AllChildrenIterator_IteratorPhase_eAtBegin: + root::mozilla::dom::AllChildrenIterator_IteratorPhase = 0; + pub const AllChildrenIterator_IteratorPhase_eAtBeforeKid: + root::mozilla::dom::AllChildrenIterator_IteratorPhase = 1; + pub const AllChildrenIterator_IteratorPhase_eAtExplicitKids: + root::mozilla::dom::AllChildrenIterator_IteratorPhase = 2; + pub const AllChildrenIterator_IteratorPhase_eAtAnonKids: + root::mozilla::dom::AllChildrenIterator_IteratorPhase = 3; + pub const AllChildrenIterator_IteratorPhase_eAtAfterKid: + root::mozilla::dom::AllChildrenIterator_IteratorPhase = 4; + pub const AllChildrenIterator_IteratorPhase_eAtEnd: + root::mozilla::dom::AllChildrenIterator_IteratorPhase = 5; + pub type AllChildrenIterator_IteratorPhase = u32; + #[test] + fn bindgen_test_layout_AllChildrenIterator() { + assert_eq!( + ::std::mem::size_of::<AllChildrenIterator>(), + 80usize, + concat!("Size of: ", stringify!(AllChildrenIterator)) + ); + assert_eq!( + ::std::mem::align_of::<AllChildrenIterator>(), + 8usize, + concat!("Alignment of ", stringify!(AllChildrenIterator)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<AllChildrenIterator>())).mAnonKids as *const _ + as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(AllChildrenIterator), + "::", + stringify!(mAnonKids) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<AllChildrenIterator>())).mAnonKidsIdx as *const _ + as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(AllChildrenIterator), + "::", + stringify!(mAnonKidsIdx) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<AllChildrenIterator>())).mFlags as *const _ as usize + }, + 68usize, + concat!( + "Offset of field: ", + stringify!(AllChildrenIterator), + "::", + stringify!(mFlags) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<AllChildrenIterator>())).mPhase as *const _ as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(AllChildrenIterator), + "::", + stringify!(mPhase) + ) + ); + } + /// StyleChildrenIterator traverses the children of the element from the + /// perspective of the style system, particularly the children we need to + /// traverse during restyle. + /// + /// At present, this is identical to AllChildrenIterator with + /// (eAllChildren | eSkipDocumentLevelNativeAnonymousContent). We used to have + /// detect and skip any native anonymous children that are used to implement some + /// special magic in here that went away, but we keep the separate class so + /// we can reintroduce special magic back if needed. + /// + /// Note: it assumes that no mutation of the DOM or frame tree takes place during + /// iteration, and will break horribly if that is not true. + /// + /// We require this to be memmovable since Rust code can create and move + /// StyleChildrenIterators. + #[repr(C)] + #[derive(Debug)] + pub struct StyleChildrenIterator { + pub _base: root::mozilla::dom::AllChildrenIterator, + } + #[test] + fn bindgen_test_layout_StyleChildrenIterator() { + assert_eq!( + ::std::mem::size_of::<StyleChildrenIterator>(), + 80usize, + concat!("Size of: ", stringify!(StyleChildrenIterator)) + ); + assert_eq!( + ::std::mem::align_of::<StyleChildrenIterator>(), + 8usize, + concat!("Alignment of ", stringify!(StyleChildrenIterator)) + ); + } + #[repr(C)] + #[derive(Debug)] + pub struct MediaList { + pub _base: root::nsISupports, + pub _base_1: root::nsWrapperCache, + pub mRefCnt: root::nsCycleCollectingAutoRefCnt, + pub mStyleSheet: *mut root::mozilla::StyleSheet, + } + pub type MediaList_HasThreadSafeRefCnt = root::mozilla::FalseType; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct MediaList_cycleCollection { + pub _base: root::nsXPCOMCycleCollectionParticipant, + } + #[test] + fn bindgen_test_layout_MediaList_cycleCollection() { + assert_eq!( + ::std::mem::size_of::<MediaList_cycleCollection>(), + 16usize, + concat!("Size of: ", stringify!(MediaList_cycleCollection)) + ); + assert_eq!( + ::std::mem::align_of::<MediaList_cycleCollection>(), + 8usize, + concat!("Alignment of ", stringify!(MediaList_cycleCollection)) + ); + } + impl Clone for MediaList_cycleCollection { + fn clone(&self) -> Self { + *self + } + } + extern "C" { + #[link_name = "\u{1}_ZN7mozilla3dom9MediaList21_cycleCollectorGlobalE"] + pub static mut MediaList__cycleCollectorGlobal: + root::mozilla::dom::MediaList_cycleCollection; + } + #[test] + fn bindgen_test_layout_MediaList() { + assert_eq!( + ::std::mem::size_of::<MediaList>(), + 48usize, + concat!("Size of: ", stringify!(MediaList)) + ); + assert_eq!( + ::std::mem::align_of::<MediaList>(), + 8usize, + concat!("Alignment of ", stringify!(MediaList)) + ); + } + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct NotNull<T> { + pub mBasePtr: T, + pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>, + } + pub const FontFamilyType_eFamily_generic_first: root::mozilla::FontFamilyType = + FontFamilyType::eFamily_serif; + pub const FontFamilyType_eFamily_generic_last: root::mozilla::FontFamilyType = + FontFamilyType::eFamily_fantasy; + pub const FontFamilyType_eFamily_generic_count: root::mozilla::FontFamilyType = + FontFamilyType::eFamily_monospace; + #[repr(u32)] + /// type of font family name, either a name (e.g. Helvetica) or a + /// generic (e.g. serif, sans-serif), with the ability to distinguish + /// between unquoted and quoted names for serializaiton + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum FontFamilyType { + eFamily_none = 0, + eFamily_named = 1, + eFamily_named_quoted = 2, + eFamily_serif = 3, + eFamily_sans_serif = 4, + eFamily_monospace = 5, + eFamily_cursive = 6, + eFamily_fantasy = 7, + eFamily_moz_variable = 8, + eFamily_moz_fixed = 9, + eFamily_moz_emoji = 10, + } + /// font family name, a string for the name if not a generic and + /// a font type indicated named family or which generic family + #[repr(C)] + pub struct FontFamilyName { + pub mType: root::mozilla::FontFamilyType, + pub mName: ::nsstring::nsStringRepr, + } + #[test] + fn bindgen_test_layout_FontFamilyName() { + assert_eq!( + ::std::mem::size_of::<FontFamilyName>(), + 24usize, + concat!("Size of: ", stringify!(FontFamilyName)) + ); + assert_eq!( + ::std::mem::align_of::<FontFamilyName>(), + 8usize, + concat!("Alignment of ", stringify!(FontFamilyName)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<FontFamilyName>())).mType as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FontFamilyName), + "::", + stringify!(mType) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<FontFamilyName>())).mName as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(FontFamilyName), + "::", + stringify!(mName) + ) + ); + } + /// A refcounted array of FontFamilyNames. We use this to store the specified + /// value (in Servo) and the computed value (in both Gecko and Servo) of the + /// font-family property. + #[repr(C)] + pub struct SharedFontList { + pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt, + pub mNames: root::nsTArray<root::mozilla::FontFamilyName>, + } + pub type SharedFontList_HasThreadSafeRefCnt = root::mozilla::TrueType; + extern "C" { + #[link_name = "\u{1}_ZN7mozilla14SharedFontList6sEmptyE"] + pub static mut SharedFontList_sEmpty: + root::mozilla::StaticRefPtr<root::mozilla::SharedFontList>; + } + #[test] + fn bindgen_test_layout_SharedFontList() { + assert_eq!( + ::std::mem::size_of::<SharedFontList>(), + 16usize, + concat!("Size of: ", stringify!(SharedFontList)) + ); + assert_eq!( + ::std::mem::align_of::<SharedFontList>(), + 8usize, + concat!("Alignment of ", stringify!(SharedFontList)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<SharedFontList>())).mRefCnt as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SharedFontList), + "::", + stringify!(mRefCnt) + ) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<SharedFontList>())).mNames as *const _ as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SharedFontList), + "::", + stringify!(mNames) + ) + ); + } + #[test] + fn __bindgen_test_layout_StaticRefPtr_open0_SharedFontList_close0_instantiation() { + assert_eq!( + ::std::mem::size_of::<root::mozilla::StaticRefPtr<root::mozilla::SharedFontList>>(), + 8usize, + concat!( + "Size of template specialization: ", + stringify!(root::mozilla::StaticRefPtr<root::mozilla::SharedFontList>) + ) + ); + assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > ) ) ); + } + /// font family list, array of font families and a default font type. + /// font family names are either named strings or generics. the default + /// font type is used to preserve the variable font fallback behavior + #[repr(C)] + pub struct FontFamilyList { + pub mFontlist: root::mozilla::NotNull<root::RefPtr<root::mozilla::SharedFontList>>, + pub mDefaultFontType: root::mozilla::FontFamilyType, + } + #[test] + fn bindgen_test_layout_FontFamilyList() { + assert_eq!( + ::std::mem::size_of::<FontFamilyList>(), + 16usize, + concat!("Size of: ", stringify!(FontFamilyList)) + ); + assert_eq!( + ::std::mem::align_of::<FontFamilyList>(), + 8usize, + concat!("Alignment of ", stringify!(FontFamilyList)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FontFamilyList>())).mFontlist as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FontFamilyList), + "::", + stringify!(mFontlist) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<FontFamilyList>())).mDefaultFontType as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(FontFamilyList), + "::", + stringify!(mDefaultFontType) + ) + ); + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleBasicShapeType { + Polygon = 0, + Circle = 1, + Ellipse = 2, + Inset = 3, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleBoxAlign { + Stretch = 0, + Start = 1, + Center = 2, + Baseline = 3, + End = 4, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleBoxDecorationBreak { + Slice = 0, + Clone = 1, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleBoxDirection { + Normal = 0, + Reverse = 1, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleBoxOrient { + Horizontal = 0, + Vertical = 1, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleBoxPack { + Start = 0, + Center = 1, + End = 2, + Justify = 3, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleBoxSizing { + Content = 0, + Border = 1, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleClear { + None = 0, + Left = 1, + Right = 2, + InlineStart = 3, + InlineEnd = 4, + Both = 5, + Line = 8, + Max = 13, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleGeometryBox { + ContentBox = 0, + PaddingBox = 1, + BorderBox = 2, + MarginBox = 3, + FillBox = 4, + StrokeBox = 5, + ViewBox = 6, + NoClip = 7, + Text = 8, + NoBox = 9, + MozAlmostPadding = 127, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleFillRule { + Nonzero = 0, + Evenodd = 1, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleFloat { + None = 0, + Left = 1, + Right = 2, + InlineStart = 3, + InlineEnd = 4, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleFloatEdge { + ContentBox = 0, + MarginBox = 1, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleHyphens { + None = 0, + Manual = 1, + Auto = 2, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleShapeRadius { + ClosestSide = 0, + FarthestSide = 1, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleShapeSourceType { + None = 0, + URL = 1, + Image = 2, + Shape = 3, + Box = 4, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleStackSizing { + Ignore = 0, + StretchToFit = 1, + IgnoreHorizontal = 2, + IgnoreVertical = 3, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleTextJustify { + None = 0, + Auto = 1, + InterWord = 2, + InterCharacter = 3, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleUserFocus { + None = 0, + Ignore = 1, + Normal = 2, + SelectAll = 3, + SelectBefore = 4, + SelectAfter = 5, + SelectSame = 6, + SelectMenu = 7, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleUserSelect { + None = 0, + Text = 1, + Element = 2, + Elements = 3, + All = 4, + Toggle = 5, + TriState = 6, + Auto = 7, + MozAll = 8, + MozText = 9, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleUserInput { + None = 0, + Auto = 1, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleUserModify { + ReadOnly = 0, + ReadWrite = 1, + WriteOnly = 2, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleWindowDragging { + Default = 0, + Drag = 1, + NoDrag = 2, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleOrient { + Inline = 0, + Block = 1, + Horizontal = 2, + Vertical = 3, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleImageLayerRepeat { + NoRepeat = 0, + RepeatX = 1, + RepeatY = 2, + Repeat = 3, + Space = 4, + Round = 5, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleBorderImageRepeat { + Stretch = 0, + Repeat = 1, + Round = 2, + Space = 3, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleDisplay { + None = 0, + Block = 1, + FlowRoot = 2, + Inline = 3, + InlineBlock = 4, + ListItem = 5, + Table = 6, + InlineTable = 7, + TableRowGroup = 8, + TableColumn = 9, + TableColumnGroup = 10, + TableHeaderGroup = 11, + TableFooterGroup = 12, + TableRow = 13, + TableCell = 14, + TableCaption = 15, + Flex = 16, + InlineFlex = 17, + Grid = 18, + InlineGrid = 19, + Ruby = 20, + RubyBase = 21, + RubyBaseContainer = 22, + RubyText = 23, + RubyTextContainer = 24, + Contents = 25, + WebkitBox = 26, + WebkitInlineBox = 27, + MozBox = 28, + MozInlineBox = 29, + MozGrid = 30, + MozInlineGrid = 31, + MozGridGroup = 32, + MozGridLine = 33, + MozStack = 34, + MozInlineStack = 35, + MozDeck = 36, + MozGroupbox = 37, + MozPopup = 38, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleGridTrackBreadth { + MaxContent = 1, + MinContent = 2, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleWhiteSpace { + Normal = 0, + Pre = 1, + Nowrap = 2, + PreWrap = 3, + PreLine = 4, + PreSpace = 5, + } + #[repr(u8)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleOverscrollBehavior { + Auto = 0, + Contain = 1, + None = 2, + } + pub const MediaFeatureChangeReason_ViewportChange: root::mozilla::MediaFeatureChangeReason = + 1; + pub const MediaFeatureChangeReason_ZoomChange: root::mozilla::MediaFeatureChangeReason = 2; + pub const MediaFeatureChangeReason_MinFontSizeChange: + root::mozilla::MediaFeatureChangeReason = 4; + pub const MediaFeatureChangeReason_ResolutionChange: + root::mozilla::MediaFeatureChangeReason = 8; + pub const MediaFeatureChangeReason_MediumChange: root::mozilla::MediaFeatureChangeReason = + 16; + pub const MediaFeatureChangeReason_SizeModeChange: root::mozilla::MediaFeatureChangeReason = + 32; + pub const MediaFeatureChangeReason_SystemMetricsChange: + root::mozilla::MediaFeatureChangeReason = 64; + pub const MediaFeatureChangeReason_DeviceSizeIsPageSizeChange: + root::mozilla::MediaFeatureChangeReason = 128; + pub const MediaFeatureChangeReason_DisplayModeChange: + root::mozilla::MediaFeatureChangeReason = 256; + pub type MediaFeatureChangeReason = i32; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct MediaFeatureChange { + pub mRestyleHint: root::nsRestyleHint, + pub mChangeHint: root::nsChangeHint, + pub mReason: root::mozilla::MediaFeatureChangeReason, + } + #[test] + fn bindgen_test_layout_MediaFeatureChange() { + assert_eq!( + ::std::mem::size_of::<MediaFeatureChange>(), + 12usize, + concat!("Size of: ", stringify!(MediaFeatureChange)) + ); + assert_eq!( + ::std::mem::align_of::<MediaFeatureChange>(), + 4usize, + concat!("Alignment of ", stringify!(MediaFeatureChange)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<MediaFeatureChange>())).mRestyleHint as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MediaFeatureChange), + "::", + stringify!(mRestyleHint) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<MediaFeatureChange>())).mChangeHint as *const _ as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(MediaFeatureChange), + "::", + stringify!(mChangeHint) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<MediaFeatureChange>())).mReason as *const _ as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MediaFeatureChange), + "::", + stringify!(mReason) + ) + ); + } + impl Clone for MediaFeatureChange { + fn clone(&self) -> Self { + *self + } + } + pub mod external { + #[allow(unused_imports)] + use self::super::super::super::root; + /// AtomicRefCounted<T> is like RefCounted<T>, with an atomically updated + /// reference counter. + /// + /// NOTE: Please do not use this class, use NS_INLINE_DECL_THREADSAFE_REFCOUNTING + /// instead. + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct AtomicRefCounted { + pub _address: u8, + } + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct SupportsWeakPtr { + pub _address: u8, + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct WeakPtr { + pub _address: u8, + } + pub type WeakPtr_WeakReference = u8; + /// Event messages + pub type EventMessageType = u16; + pub const EventMessage_eVoidEvent: root::mozilla::EventMessage = 0; + pub const EventMessage_eAllEvents: root::mozilla::EventMessage = 1; + pub const EventMessage_eWindowClose: root::mozilla::EventMessage = 2; + pub const EventMessage_eKeyPress: root::mozilla::EventMessage = 3; + pub const EventMessage_eKeyUp: root::mozilla::EventMessage = 4; + pub const EventMessage_eKeyDown: root::mozilla::EventMessage = 5; + pub const EventMessage_eKeyDownOnPlugin: root::mozilla::EventMessage = 6; + pub const EventMessage_eKeyUpOnPlugin: root::mozilla::EventMessage = 7; + pub const EventMessage_eAccessKeyNotFound: root::mozilla::EventMessage = 8; + pub const EventMessage_eResize: root::mozilla::EventMessage = 9; + pub const EventMessage_eScroll: root::mozilla::EventMessage = 10; + pub const EventMessage_eInstall: root::mozilla::EventMessage = 11; + pub const EventMessage_eAppInstalled: root::mozilla::EventMessage = 12; + pub const EventMessage_ePluginActivate: root::mozilla::EventMessage = 13; + pub const EventMessage_ePluginFocus: root::mozilla::EventMessage = 14; + pub const EventMessage_eOffline: root::mozilla::EventMessage = 15; + pub const EventMessage_eOnline: root::mozilla::EventMessage = 16; + pub const EventMessage_eLanguageChange: root::mozilla::EventMessage = 17; + pub const EventMessage_eMouseMove: root::mozilla::EventMessage = 18; + pub const EventMessage_eMouseUp: root::mozilla::EventMessage = 19; + pub const EventMessage_eMouseDown: root::mozilla::EventMessage = 20; + pub const EventMessage_eMouseEnterIntoWidget: root::mozilla::EventMessage = 21; + pub const EventMessage_eMouseExitFromWidget: root::mozilla::EventMessage = 22; + pub const EventMessage_eMouseDoubleClick: root::mozilla::EventMessage = 23; + pub const EventMessage_eMouseClick: root::mozilla::EventMessage = 24; + pub const EventMessage_eMouseAuxClick: root::mozilla::EventMessage = 25; + pub const EventMessage_eMouseActivate: root::mozilla::EventMessage = 26; + pub const EventMessage_eMouseOver: root::mozilla::EventMessage = 27; + pub const EventMessage_eMouseOut: root::mozilla::EventMessage = 28; + pub const EventMessage_eMouseHitTest: root::mozilla::EventMessage = 29; + pub const EventMessage_eMouseEnter: root::mozilla::EventMessage = 30; + pub const EventMessage_eMouseLeave: root::mozilla::EventMessage = 31; + pub const EventMessage_eMouseTouchDrag: root::mozilla::EventMessage = 32; + pub const EventMessage_eMouseLongTap: root::mozilla::EventMessage = 33; + pub const EventMessage_eMouseEventFirst: root::mozilla::EventMessage = 18; + pub const EventMessage_eMouseEventLast: root::mozilla::EventMessage = 33; + pub const EventMessage_ePointerMove: root::mozilla::EventMessage = 34; + pub const EventMessage_ePointerUp: root::mozilla::EventMessage = 35; + pub const EventMessage_ePointerDown: root::mozilla::EventMessage = 36; + pub const EventMessage_ePointerOver: root::mozilla::EventMessage = 37; + pub const EventMessage_ePointerOut: root::mozilla::EventMessage = 38; + pub const EventMessage_ePointerEnter: root::mozilla::EventMessage = 39; + pub const EventMessage_ePointerLeave: root::mozilla::EventMessage = 40; + pub const EventMessage_ePointerCancel: root::mozilla::EventMessage = 41; + pub const EventMessage_ePointerGotCapture: root::mozilla::EventMessage = 42; + pub const EventMessage_ePointerLostCapture: root::mozilla::EventMessage = 43; + pub const EventMessage_ePointerEventFirst: root::mozilla::EventMessage = 34; + pub const EventMessage_ePointerEventLast: root::mozilla::EventMessage = 43; + pub const EventMessage_eContextMenu: root::mozilla::EventMessage = 44; + pub const EventMessage_eLoad: root::mozilla::EventMessage = 45; + pub const EventMessage_eUnload: root::mozilla::EventMessage = 46; + pub const EventMessage_eHashChange: root::mozilla::EventMessage = 47; + pub const EventMessage_eImageAbort: root::mozilla::EventMessage = 48; + pub const EventMessage_eLoadError: root::mozilla::EventMessage = 49; + pub const EventMessage_eLoadEnd: root::mozilla::EventMessage = 50; + pub const EventMessage_ePopState: root::mozilla::EventMessage = 51; + pub const EventMessage_eStorage: root::mozilla::EventMessage = 52; + pub const EventMessage_eBeforeUnload: root::mozilla::EventMessage = 53; + pub const EventMessage_eReadyStateChange: root::mozilla::EventMessage = 54; + pub const EventMessage_eFormSubmit: root::mozilla::EventMessage = 55; + pub const EventMessage_eFormReset: root::mozilla::EventMessage = 56; + pub const EventMessage_eFormChange: root::mozilla::EventMessage = 57; + pub const EventMessage_eFormSelect: root::mozilla::EventMessage = 58; + pub const EventMessage_eFormInvalid: root::mozilla::EventMessage = 59; + pub const EventMessage_eFormCheckboxStateChange: root::mozilla::EventMessage = 60; + pub const EventMessage_eFormRadioStateChange: root::mozilla::EventMessage = 61; + pub const EventMessage_eFocus: root::mozilla::EventMessage = 62; + pub const EventMessage_eBlur: root::mozilla::EventMessage = 63; + pub const EventMessage_eFocusIn: root::mozilla::EventMessage = 64; + pub const EventMessage_eFocusOut: root::mozilla::EventMessage = 65; + pub const EventMessage_eDragEnter: root::mozilla::EventMessage = 66; + pub const EventMessage_eDragOver: root::mozilla::EventMessage = 67; + pub const EventMessage_eDragExit: root::mozilla::EventMessage = 68; + pub const EventMessage_eDrag: root::mozilla::EventMessage = 69; + pub const EventMessage_eDragEnd: root::mozilla::EventMessage = 70; + pub const EventMessage_eDragStart: root::mozilla::EventMessage = 71; + pub const EventMessage_eDrop: root::mozilla::EventMessage = 72; + pub const EventMessage_eDragLeave: root::mozilla::EventMessage = 73; + pub const EventMessage_eDragDropEventFirst: root::mozilla::EventMessage = 66; + pub const EventMessage_eDragDropEventLast: root::mozilla::EventMessage = 73; + pub const EventMessage_eXULPopupShowing: root::mozilla::EventMessage = 74; + pub const EventMessage_eXULPopupShown: root::mozilla::EventMessage = 75; + pub const EventMessage_eXULPopupPositioned: root::mozilla::EventMessage = 76; + pub const EventMessage_eXULPopupHiding: root::mozilla::EventMessage = 77; + pub const EventMessage_eXULPopupHidden: root::mozilla::EventMessage = 78; + pub const EventMessage_eXULBroadcast: root::mozilla::EventMessage = 79; + pub const EventMessage_eXULCommandUpdate: root::mozilla::EventMessage = 80; + pub const EventMessage_eLegacyMouseLineOrPageScroll: root::mozilla::EventMessage = 81; + pub const EventMessage_eLegacyMousePixelScroll: root::mozilla::EventMessage = 82; + pub const EventMessage_eScrollPortUnderflow: root::mozilla::EventMessage = 83; + pub const EventMessage_eScrollPortOverflow: root::mozilla::EventMessage = 84; + pub const EventMessage_eLegacySubtreeModified: root::mozilla::EventMessage = 85; + pub const EventMessage_eLegacyNodeInserted: root::mozilla::EventMessage = 86; + pub const EventMessage_eLegacyNodeRemoved: root::mozilla::EventMessage = 87; + pub const EventMessage_eLegacyNodeRemovedFromDocument: root::mozilla::EventMessage = 88; + pub const EventMessage_eLegacyNodeInsertedIntoDocument: root::mozilla::EventMessage = 89; + pub const EventMessage_eLegacyAttrModified: root::mozilla::EventMessage = 90; + pub const EventMessage_eLegacyCharacterDataModified: root::mozilla::EventMessage = 91; + pub const EventMessage_eLegacyMutationEventFirst: root::mozilla::EventMessage = 85; + pub const EventMessage_eLegacyMutationEventLast: root::mozilla::EventMessage = 91; + pub const EventMessage_eUnidentifiedEvent: root::mozilla::EventMessage = 92; + pub const EventMessage_eCompositionStart: root::mozilla::EventMessage = 93; + pub const EventMessage_eCompositionEnd: root::mozilla::EventMessage = 94; + pub const EventMessage_eCompositionUpdate: root::mozilla::EventMessage = 95; + pub const EventMessage_eCompositionChange: root::mozilla::EventMessage = 96; + pub const EventMessage_eCompositionCommitAsIs: root::mozilla::EventMessage = 97; + pub const EventMessage_eCompositionCommit: root::mozilla::EventMessage = 98; + pub const EventMessage_eCompositionCommitRequestHandled: root::mozilla::EventMessage = 99; + pub const EventMessage_eLegacyDOMActivate: root::mozilla::EventMessage = 100; + pub const EventMessage_eLegacyDOMFocusIn: root::mozilla::EventMessage = 101; + pub const EventMessage_eLegacyDOMFocusOut: root::mozilla::EventMessage = 102; + pub const EventMessage_ePageShow: root::mozilla::EventMessage = 103; + pub const EventMessage_ePageHide: root::mozilla::EventMessage = 104; + pub const EventMessage_eSVGLoad: root::mozilla::EventMessage = 105; + pub const EventMessage_eSVGUnload: root::mozilla::EventMessage = 106; + pub const EventMessage_eSVGResize: root::mozilla::EventMessage = 107; + pub const EventMessage_eSVGScroll: root::mozilla::EventMessage = 108; + pub const EventMessage_eSVGZoom: root::mozilla::EventMessage = 109; + pub const EventMessage_eXULCommand: root::mozilla::EventMessage = 110; + pub const EventMessage_eCopy: root::mozilla::EventMessage = 111; + pub const EventMessage_eCut: root::mozilla::EventMessage = 112; + pub const EventMessage_ePaste: root::mozilla::EventMessage = 113; + pub const EventMessage_ePasteNoFormatting: root::mozilla::EventMessage = 114; + pub const EventMessage_eQuerySelectedText: root::mozilla::EventMessage = 115; + pub const EventMessage_eQueryTextContent: root::mozilla::EventMessage = 116; + pub const EventMessage_eQueryCaretRect: root::mozilla::EventMessage = 117; + pub const EventMessage_eQueryTextRect: root::mozilla::EventMessage = 118; + pub const EventMessage_eQueryTextRectArray: root::mozilla::EventMessage = 119; + pub const EventMessage_eQueryEditorRect: root::mozilla::EventMessage = 120; + pub const EventMessage_eQueryContentState: root::mozilla::EventMessage = 121; + pub const EventMessage_eQuerySelectionAsTransferable: root::mozilla::EventMessage = 122; + pub const EventMessage_eQueryCharacterAtPoint: root::mozilla::EventMessage = 123; + pub const EventMessage_eQueryDOMWidgetHittest: root::mozilla::EventMessage = 124; + pub const EventMessage_eLoadStart: root::mozilla::EventMessage = 125; + pub const EventMessage_eProgress: root::mozilla::EventMessage = 126; + pub const EventMessage_eSuspend: root::mozilla::EventMessage = 127; + pub const EventMessage_eEmptied: root::mozilla::EventMessage = 128; + pub const EventMessage_eStalled: root::mozilla::EventMessage = 129; + pub const EventMessage_ePlay: root::mozilla::EventMessage = 130; + pub const EventMessage_ePause: root::mozilla::EventMessage = 131; + pub const EventMessage_eLoadedMetaData: root::mozilla::EventMessage = 132; + pub const EventMessage_eLoadedData: root::mozilla::EventMessage = 133; + pub const EventMessage_eWaiting: root::mozilla::EventMessage = 134; + pub const EventMessage_ePlaying: root::mozilla::EventMessage = 135; + pub const EventMessage_eCanPlay: root::mozilla::EventMessage = 136; + pub const EventMessage_eCanPlayThrough: root::mozilla::EventMessage = 137; + pub const EventMessage_eSeeking: root::mozilla::EventMessage = 138; + pub const EventMessage_eSeeked: root::mozilla::EventMessage = 139; + pub const EventMessage_eTimeUpdate: root::mozilla::EventMessage = 140; + pub const EventMessage_eEnded: root::mozilla::EventMessage = 141; + pub const EventMessage_eRateChange: root::mozilla::EventMessage = 142; + pub const EventMessage_eDurationChange: root::mozilla::EventMessage = 143; + pub const EventMessage_eVolumeChange: root::mozilla::EventMessage = 144; + pub const EventMessage_eAfterPaint: root::mozilla::EventMessage = 145; + pub const EventMessage_eSwipeGestureMayStart: root::mozilla::EventMessage = 146; + pub const EventMessage_eSwipeGestureStart: root::mozilla::EventMessage = 147; + pub const EventMessage_eSwipeGestureUpdate: root::mozilla::EventMessage = 148; + pub const EventMessage_eSwipeGestureEnd: root::mozilla::EventMessage = 149; + pub const EventMessage_eSwipeGesture: root::mozilla::EventMessage = 150; + pub const EventMessage_eMagnifyGestureStart: root::mozilla::EventMessage = 151; + pub const EventMessage_eMagnifyGestureUpdate: root::mozilla::EventMessage = 152; + pub const EventMessage_eMagnifyGesture: root::mozilla::EventMessage = 153; + pub const EventMessage_eRotateGestureStart: root::mozilla::EventMessage = 154; + pub const EventMessage_eRotateGestureUpdate: root::mozilla::EventMessage = 155; + pub const EventMessage_eRotateGesture: root::mozilla::EventMessage = 156; + pub const EventMessage_eTapGesture: root::mozilla::EventMessage = 157; + pub const EventMessage_ePressTapGesture: root::mozilla::EventMessage = 158; + pub const EventMessage_eEdgeUIStarted: root::mozilla::EventMessage = 159; + pub const EventMessage_eEdgeUICanceled: root::mozilla::EventMessage = 160; + pub const EventMessage_eEdgeUICompleted: root::mozilla::EventMessage = 161; + pub const EventMessage_ePluginInputEvent: root::mozilla::EventMessage = 162; + pub const EventMessage_eSetSelection: root::mozilla::EventMessage = 163; + pub const EventMessage_eContentCommandCut: root::mozilla::EventMessage = 164; + pub const EventMessage_eContentCommandCopy: root::mozilla::EventMessage = 165; + pub const EventMessage_eContentCommandPaste: root::mozilla::EventMessage = 166; + pub const EventMessage_eContentCommandDelete: root::mozilla::EventMessage = 167; + pub const EventMessage_eContentCommandUndo: root::mozilla::EventMessage = 168; + pub const EventMessage_eContentCommandRedo: root::mozilla::EventMessage = 169; + pub const EventMessage_eContentCommandPasteTransferable: root::mozilla::EventMessage = 170; + pub const EventMessage_eContentCommandLookUpDictionary: root::mozilla::EventMessage = 171; + pub const EventMessage_eContentCommandScroll: root::mozilla::EventMessage = 172; + pub const EventMessage_eGestureNotify: root::mozilla::EventMessage = 173; + pub const EventMessage_eScrolledAreaChanged: root::mozilla::EventMessage = 174; + pub const EventMessage_eTransitionStart: root::mozilla::EventMessage = 175; + pub const EventMessage_eTransitionRun: root::mozilla::EventMessage = 176; + pub const EventMessage_eTransitionEnd: root::mozilla::EventMessage = 177; + pub const EventMessage_eTransitionCancel: root::mozilla::EventMessage = 178; + pub const EventMessage_eAnimationStart: root::mozilla::EventMessage = 179; + pub const EventMessage_eAnimationEnd: root::mozilla::EventMessage = 180; + pub const EventMessage_eAnimationIteration: root::mozilla::EventMessage = 181; + pub const EventMessage_eAnimationCancel: root::mozilla::EventMessage = 182; + pub const EventMessage_eWebkitTransitionEnd: root::mozilla::EventMessage = 183; + pub const EventMessage_eWebkitAnimationStart: root::mozilla::EventMessage = 184; + pub const EventMessage_eWebkitAnimationEnd: root::mozilla::EventMessage = 185; + pub const EventMessage_eWebkitAnimationIteration: root::mozilla::EventMessage = 186; + pub const EventMessage_eSMILBeginEvent: root::mozilla::EventMessage = 187; + pub const EventMessage_eSMILEndEvent: root::mozilla::EventMessage = 188; + pub const EventMessage_eSMILRepeatEvent: root::mozilla::EventMessage = 189; + pub const EventMessage_eAudioProcess: root::mozilla::EventMessage = 190; + pub const EventMessage_eAudioComplete: root::mozilla::EventMessage = 191; + pub const EventMessage_eBeforeScriptExecute: root::mozilla::EventMessage = 192; + pub const EventMessage_eAfterScriptExecute: root::mozilla::EventMessage = 193; + pub const EventMessage_eBeforePrint: root::mozilla::EventMessage = 194; + pub const EventMessage_eAfterPrint: root::mozilla::EventMessage = 195; + pub const EventMessage_eMessage: root::mozilla::EventMessage = 196; + pub const EventMessage_eMessageError: root::mozilla::EventMessage = 197; + pub const EventMessage_eOpen: root::mozilla::EventMessage = 198; + pub const EventMessage_eDeviceOrientation: root::mozilla::EventMessage = 199; + pub const EventMessage_eAbsoluteDeviceOrientation: root::mozilla::EventMessage = 200; + pub const EventMessage_eDeviceMotion: root::mozilla::EventMessage = 201; + pub const EventMessage_eDeviceProximity: root::mozilla::EventMessage = 202; + pub const EventMessage_eUserProximity: root::mozilla::EventMessage = 203; + pub const EventMessage_eDeviceLight: root::mozilla::EventMessage = 204; + pub const EventMessage_eVRDisplayActivate: root::mozilla::EventMessage = 205; + pub const EventMessage_eVRDisplayDeactivate: root::mozilla::EventMessage = 206; + pub const EventMessage_eVRDisplayConnect: root::mozilla::EventMessage = 207; + pub const EventMessage_eVRDisplayDisconnect: root::mozilla::EventMessage = 208; + pub const EventMessage_eVRDisplayPresentChange: root::mozilla::EventMessage = 209; + pub const EventMessage_eShow: root::mozilla::EventMessage = 210; + pub const EventMessage_eFullscreenChange: root::mozilla::EventMessage = 211; + pub const EventMessage_eFullscreenError: root::mozilla::EventMessage = 212; + pub const EventMessage_eMozFullscreenChange: root::mozilla::EventMessage = 213; + pub const EventMessage_eMozFullscreenError: root::mozilla::EventMessage = 214; + pub const EventMessage_eTouchStart: root::mozilla::EventMessage = 215; + pub const EventMessage_eTouchMove: root::mozilla::EventMessage = 216; + pub const EventMessage_eTouchEnd: root::mozilla::EventMessage = 217; + pub const EventMessage_eTouchCancel: root::mozilla::EventMessage = 218; + pub const EventMessage_eTouchPointerCancel: root::mozilla::EventMessage = 219; + pub const EventMessage_ePointerLockChange: root::mozilla::EventMessage = 220; + pub const EventMessage_ePointerLockError: root::mozilla::EventMessage = 221; + pub const EventMessage_eMozPointerLockChange: root::mozilla::EventMessage = 222; + pub const EventMessage_eMozPointerLockError: root::mozilla::EventMessage = 223; + pub const EventMessage_eWheel: root::mozilla::EventMessage = 224; + pub const EventMessage_eWheelOperationStart: root::mozilla::EventMessage = 225; + pub const EventMessage_eWheelOperationEnd: root::mozilla::EventMessage = 226; + pub const EventMessage_eTimeChange: root::mozilla::EventMessage = 227; + pub const EventMessage_eNetworkUpload: root::mozilla::EventMessage = 228; + pub const EventMessage_eNetworkDownload: root::mozilla::EventMessage = 229; + pub const EventMessage_eMediaRecorderDataAvailable: root::mozilla::EventMessage = 230; + pub const EventMessage_eMediaRecorderWarning: root::mozilla::EventMessage = 231; + pub const EventMessage_eMediaRecorderStop: root::mozilla::EventMessage = 232; + pub const EventMessage_eGamepadButtonDown: root::mozilla::EventMessage = 233; + pub const EventMessage_eGamepadButtonUp: root::mozilla::EventMessage = 234; + pub const EventMessage_eGamepadAxisMove: root::mozilla::EventMessage = 235; + pub const EventMessage_eGamepadConnected: root::mozilla::EventMessage = 236; + pub const EventMessage_eGamepadDisconnected: root::mozilla::EventMessage = 237; + pub const EventMessage_eGamepadEventFirst: root::mozilla::EventMessage = 233; + pub const EventMessage_eGamepadEventLast: root::mozilla::EventMessage = 237; + pub const EventMessage_eEditorInput: root::mozilla::EventMessage = 238; + pub const EventMessage_eSelectStart: root::mozilla::EventMessage = 239; + pub const EventMessage_eSelectionChange: root::mozilla::EventMessage = 240; + pub const EventMessage_eVisibilityChange: root::mozilla::EventMessage = 241; + pub const EventMessage_eToggle: root::mozilla::EventMessage = 242; + pub const EventMessage_eClose: root::mozilla::EventMessage = 243; + pub const EventMessage_eEventMessage_MaxValue: root::mozilla::EventMessage = 244; + pub type EventMessage = u16; + /// Event class IDs + pub type EventClassIDType = u8; + pub const EventClassID_eBasicEventClass: root::mozilla::EventClassID = 0; + pub const EventClassID_eGUIEventClass: root::mozilla::EventClassID = 1; + pub const EventClassID_eInputEventClass: root::mozilla::EventClassID = 2; + pub const EventClassID_eUIEventClass: root::mozilla::EventClassID = 3; + pub const EventClassID_eKeyboardEventClass: root::mozilla::EventClassID = 4; + pub const EventClassID_eCompositionEventClass: root::mozilla::EventClassID = 5; + pub const EventClassID_eQueryContentEventClass: root::mozilla::EventClassID = 6; + pub const EventClassID_eSelectionEventClass: root::mozilla::EventClassID = 7; + pub const EventClassID_eEditorInputEventClass: root::mozilla::EventClassID = 8; + pub const EventClassID_eMouseEventBaseClass: root::mozilla::EventClassID = 9; + pub const EventClassID_eMouseEventClass: root::mozilla::EventClassID = 10; + pub const EventClassID_eDragEventClass: root::mozilla::EventClassID = 11; + pub const EventClassID_eMouseScrollEventClass: root::mozilla::EventClassID = 12; + pub const EventClassID_eWheelEventClass: root::mozilla::EventClassID = 13; + pub const EventClassID_ePointerEventClass: root::mozilla::EventClassID = 14; + pub const EventClassID_eGestureNotifyEventClass: root::mozilla::EventClassID = 15; + pub const EventClassID_eSimpleGestureEventClass: root::mozilla::EventClassID = 16; + pub const EventClassID_eTouchEventClass: root::mozilla::EventClassID = 17; + pub const EventClassID_eScrollPortEventClass: root::mozilla::EventClassID = 18; + pub const EventClassID_eScrollAreaEventClass: root::mozilla::EventClassID = 19; + pub const EventClassID_eFormEventClass: root::mozilla::EventClassID = 20; + pub const EventClassID_eClipboardEventClass: root::mozilla::EventClassID = 21; + pub const EventClassID_eFocusEventClass: root::mozilla::EventClassID = 22; + pub const EventClassID_eTransitionEventClass: root::mozilla::EventClassID = 23; + pub const EventClassID_eAnimationEventClass: root::mozilla::EventClassID = 24; + pub const EventClassID_eSMILTimeEventClass: root::mozilla::EventClassID = 25; + pub const EventClassID_eCommandEventClass: root::mozilla::EventClassID = 26; + pub const EventClassID_eContentCommandEventClass: root::mozilla::EventClassID = 27; + pub const EventClassID_ePluginEventClass: root::mozilla::EventClassID = 28; + pub const EventClassID_eMutationEventClass: root::mozilla::EventClassID = 29; + pub type EventClassID = u8; + pub type AtomArray = root::nsTArray<root::RefPtr<root::nsAtom>>; + /// EventStates is the class used to represent the event states of nsIContent + /// instances. These states are calculated by IntrinsicState() and + /// ContentStatesChanged() has to be called when one of them changes thus + /// informing the layout/style engine of the change. + /// Event states are associated with pseudo-classes. + #[repr(C)] + #[derive(Debug, Copy)] + pub struct EventStates { + pub mStates: root::mozilla::EventStates_InternalType, + } + pub type EventStates_InternalType = u64; + pub type EventStates_ServoType = u64; + #[test] + fn bindgen_test_layout_EventStates() { + assert_eq!( + ::std::mem::size_of::<EventStates>(), + 8usize, + concat!("Size of: ", stringify!(EventStates)) + ); + assert_eq!( + ::std::mem::align_of::<EventStates>(), + 8usize, + concat!("Alignment of ", stringify!(EventStates)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<EventStates>())).mStates as *const _ as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(EventStates), + "::", + stringify!(mStates) + ) + ); + } + impl Clone for EventStates { + fn clone(&self) -> Self { + *self + } + } + pub const ServoTraversalFlags_Empty: root::mozilla::ServoTraversalFlags = 0; + pub const ServoTraversalFlags_AnimationOnly: root::mozilla::ServoTraversalFlags = 1; + pub const ServoTraversalFlags_ForCSSRuleChanges: root::mozilla::ServoTraversalFlags = 2; + pub const ServoTraversalFlags_Forgetful: root::mozilla::ServoTraversalFlags = 8; + pub const ServoTraversalFlags_ClearDirtyBits: root::mozilla::ServoTraversalFlags = 32; + pub const ServoTraversalFlags_ClearAnimationOnlyDirtyDescendants: + root::mozilla::ServoTraversalFlags = 64; + pub const ServoTraversalFlags_ParallelTraversal: root::mozilla::ServoTraversalFlags = 128; + pub const ServoTraversalFlags_FlushThrottledAnimations: root::mozilla::ServoTraversalFlags = + 256; + pub type ServoTraversalFlags = u32; + #[repr(i32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StyleRuleInclusion { + All = 0, + DefaultOnly = 1, + } + pub const UpdateAnimationsTasks_CSSAnimations: root::mozilla::UpdateAnimationsTasks = 1; + pub const UpdateAnimationsTasks_CSSTransitions: root::mozilla::UpdateAnimationsTasks = 2; + pub const UpdateAnimationsTasks_EffectProperties: root::mozilla::UpdateAnimationsTasks = 4; + pub const UpdateAnimationsTasks_CascadeResults: root::mozilla::UpdateAnimationsTasks = 8; + pub const UpdateAnimationsTasks_DisplayChangedFromNone: + root::mozilla::UpdateAnimationsTasks = 16; + pub type UpdateAnimationsTasks = u8; + pub const ParsingMode_Default: root::mozilla::ParsingMode = 0; + pub const ParsingMode_AllowUnitlessLength: root::mozilla::ParsingMode = 1; + pub const ParsingMode_AllowAllNumericValues: root::mozilla::ParsingMode = 2; + pub type ParsingMode = u8; + #[repr(i32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum InheritTarget { + Text = 0, + FirstLetterContinuation = 1, + PlaceholderFrame = 2, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct ServoStyleSetSizes { + pub mRuleTree: usize, + pub mPrecomputedPseudos: usize, + pub mElementAndPseudosMaps: usize, + pub mInvalidationMap: usize, + pub mRevalidationSelectors: usize, + pub mOther: usize, + } + #[test] + fn bindgen_test_layout_ServoStyleSetSizes() { + assert_eq!( + ::std::mem::size_of::<ServoStyleSetSizes>(), + 48usize, + concat!("Size of: ", stringify!(ServoStyleSetSizes)) + ); + assert_eq!( + ::std::mem::align_of::<ServoStyleSetSizes>(), + 8usize, + concat!("Alignment of ", stringify!(ServoStyleSetSizes)) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ServoStyleSetSizes>())).mRuleTree as *const _ as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ServoStyleSetSizes), + "::", + stringify!(mRuleTree) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ServoStyleSetSizes>())).mPrecomputedPseudos as *const _ + as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ServoStyleSetSizes), + "::", + stringify!(mPrecomputedPseudos) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ServoStyleSetSizes>())).mElementAndPseudosMaps + as *const _ as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ServoStyleSetSizes), + "::", + stringify!(mElementAndPseudosMaps) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ServoStyleSetSizes>())).mInvalidationMap as *const _ + as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ServoStyleSetSizes), + "::", + stringify!(mInvalidationMap) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ServoStyleSetSizes>())).mRevalidationSelectors + as *const _ as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ServoStyleSetSizes), + "::", + stringify!(mRevalidationSelectors) + ) + ); + assert_eq!( + unsafe { + &(*(::std::ptr::null::<ServoStyleSetSizes>())).mOther as *const _ as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ServoStyleSetSizes), + "::", + stringify!(mOther) + ) + ); + } + impl Clone for ServoStyleSetSizes { + fn clone(&self) -> Self { + *self + } + } + pub const StyleBackendType_None: root::mozilla::StyleBackendType = 0; + pub const StyleBackendType_Gecko: root::mozilla::StyleBackendType = 1; + pub const StyleBackendType_Servo: root::mozilla::StyleBackendType = 2; + /// Enumeration that represents one of the two supported style system backends. + pub type StyleBackendType = u8; pub mod css { #[allow(unused_imports)] use self::super::super::super::root; #[repr(u8)] /// Enum defining the mode in which a sheet is to be parsed. This is /// usually, but not always, the same as the cascade level at which the /// sheet will apply (see nsStyleSet.h). Most of the Loader APIs only /// support loading of author sheets. @@ -2561,4231 +6729,16 @@ pub mod root { #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum URLMatchingFunction { eURL = 0, eURLPrefix = 1, eDomain = 2, eRegExp = 3, } } - #[repr(C)] - #[derive(Debug)] - pub struct ThreadSafeAutoRefCnt { - pub mValue: u64, - } - pub const ThreadSafeAutoRefCnt_isThreadSafe: bool = true; - #[test] - fn bindgen_test_layout_ThreadSafeAutoRefCnt() { - assert_eq!( - ::std::mem::size_of::<ThreadSafeAutoRefCnt>(), - 8usize, - concat!("Size of: ", stringify!(ThreadSafeAutoRefCnt)) - ); - assert_eq!( - ::std::mem::align_of::<ThreadSafeAutoRefCnt>(), - 8usize, - concat!("Alignment of ", stringify!(ThreadSafeAutoRefCnt)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<ThreadSafeAutoRefCnt>())).mValue as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ThreadSafeAutoRefCnt), - "::", - stringify!(mValue) - ) - ); - } - pub type EnumeratedArray_ArrayType = u8; - pub type EnumeratedArray_iterator = root::mozilla::EnumeratedArray_ArrayType; - pub type EnumeratedArray_const_iterator = root::mozilla::EnumeratedArray_ArrayType; - pub type EnumeratedArray_reverse_iterator = root::mozilla::EnumeratedArray_ArrayType; - pub type EnumeratedArray_const_reverse_iterator = root::mozilla::EnumeratedArray_ArrayType; - #[repr(C)] - #[derive(Debug)] - pub struct LinkedListElement { - pub mNext: *mut root::mozilla::LinkedListElement, - pub mPrev: *mut root::mozilla::LinkedListElement, - pub mIsSentinel: bool, - } - pub type LinkedListElement_Traits = root::mozilla::detail::LinkedListElementTraits; - pub type LinkedListElement_RawType = root::mozilla::LinkedListElement_Traits; - pub type LinkedListElement_ConstRawType = root::mozilla::LinkedListElement_Traits; - pub type LinkedListElement_ClientType = root::mozilla::LinkedListElement_Traits; - pub type LinkedListElement_ConstClientType = root::mozilla::LinkedListElement_Traits; - pub const LinkedListElement_NodeKind_Normal: root::mozilla::LinkedListElement_NodeKind = 0; - pub const LinkedListElement_NodeKind_Sentinel: root::mozilla::LinkedListElement_NodeKind = - 0; - pub type LinkedListElement_NodeKind = i32; - #[repr(C)] - #[derive(Debug)] - pub struct LinkedList { - pub sentinel: root::mozilla::LinkedListElement, - } - pub type LinkedList_Traits = root::mozilla::detail::LinkedListElementTraits; - pub type LinkedList_RawType = root::mozilla::LinkedList_Traits; - pub type LinkedList_ConstRawType = root::mozilla::LinkedList_Traits; - pub type LinkedList_ClientType = root::mozilla::LinkedList_Traits; - pub type LinkedList_ConstClientType = root::mozilla::LinkedList_Traits; - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct LinkedList_Iterator { - pub mCurrent: root::mozilla::LinkedList_RawType, - } - /// # mozilla::Variant - /// - /// A variant / tagged union / heterogenous disjoint union / sum-type template - /// class. Similar in concept to (but not derived from) `boost::variant`. - /// - /// Sometimes, you may wish to use a C union with non-POD types. However, this is - /// forbidden in C++ because it is not clear which type in the union should have - /// its constructor and destructor run on creation and deletion - /// respectively. This is the problem that `mozilla::Variant` solves. - /// - /// ## Usage - /// - /// A `mozilla::Variant` instance is constructed (via move or copy) from one of - /// its variant types (ignoring const and references). It does *not* support - /// construction from subclasses of variant types or types that coerce to one of - /// the variant types. - /// - /// Variant<char, uint32_t> v1('a'); - /// Variant<UniquePtr<A>, B, C> v2(MakeUnique<A>()); - /// Variant<bool, char> v3(VariantType<char>, 0); // disambiguation needed - /// Variant<int, int> v4(VariantIndex<1>, 0); // 2nd int - /// - /// Because specifying the full type of a Variant value is often verbose, - /// there are two easier ways to construct values: - /// - /// A. AsVariant() can be used to construct a Variant value using type inference - /// in contexts such as expressions or when returning values from functions. - /// Because AsVariant() must copy or move the value into a temporary and this - /// cannot necessarily be elided by the compiler, it's mostly appropriate only - /// for use with primitive or very small types. - /// - /// Variant<char, uint32_t> Foo() { return AsVariant('x'); } - /// // ... - /// Variant<char, uint32_t> v1 = Foo(); // v1 holds char('x'). - /// - /// B. Brace-construction with VariantType or VariantIndex; this also allows - /// in-place construction with any number of arguments. - /// - /// struct AB { AB(int, int){...} }; - /// static Variant<AB, bool> foo() - /// { - /// return {VariantIndex<0>{}, 1, 2}; - /// } - /// // ... - /// Variant<AB, bool> v0 = Foo(); // v0 holds AB(1,2). - /// - /// All access to the contained value goes through type-safe accessors. - /// Either the stored type, or the type index may be provided. - /// - /// void - /// Foo(Variant<A, B, C> v) - /// { - /// if (v.is<A>()) { - /// A& ref = v.as<A>(); - /// ... - /// } else (v.is<1>()) { // Instead of v.is<B>. - /// ... - /// } else { - /// ... - /// } - /// } - /// - /// In some situation, a Variant may be constructed from templated types, in - /// which case it is possible that the same type could be given multiple times by - /// an external developer. Or seemingly-different types could be aliases. - /// In this case, repeated types can only be accessed through their index, to - /// prevent ambiguous access by type. - /// - /// // Bad! - /// template <typename T> - /// struct ResultOrError - /// { - /// Variant<T, int> m; - /// ResultOrError() : m(int(0)) {} // Error '0' by default - /// ResultOrError(const T& r) : m(r) {} - /// bool IsResult() const { return m.is<T>(); } - /// bool IsError() const { return m.is<int>(); } - /// }; - /// // Now instantiante with the result being an int too: - /// ResultOrError<int> myResult(123); // Fail! - /// // In Variant<int, int>, which 'int' are we refering to, from inside - /// // ResultOrError functions? - /// - /// // Good! - /// template <typename T> - /// struct ResultOrError - /// { - /// Variant<T, int> m; - /// ResultOrError() : m(VariantIndex<1>{}, 0) {} // Error '0' by default - /// ResultOrError(const T& r) : m(VariantIndex<0>{}, r) {} - /// bool IsResult() const { return m.is<0>(); } // 0 -> T - /// bool IsError() const { return m.is<1>(); } // 1 -> int - /// }; - /// // Now instantiante with the result being an int too: - /// ResultOrError<int> myResult(123); // It now works! - /// - /// Attempting to use the contained value as type `T1` when the `Variant` - /// instance contains a value of type `T2` causes an assertion failure. - /// - /// A a; - /// Variant<A, B, C> v(a); - /// v.as<B>(); // <--- Assertion failure! - /// - /// Trying to use a `Variant<Ts...>` instance as some type `U` that is not a - /// member of the set of `Ts...` is a compiler error. - /// - /// A a; - /// Variant<A, B, C> v(a); - /// v.as<SomeRandomType>(); // <--- Compiler error! - /// - /// Additionally, you can turn a `Variant` that `is<T>` into a `T` by moving it - /// out of the containing `Variant` instance with the `extract<T>` method: - /// - /// Variant<UniquePtr<A>, B, C> v(MakeUnique<A>()); - /// auto ptr = v.extract<UniquePtr<A>>(); - /// - /// Finally, you can exhaustively match on the contained variant and branch into - /// different code paths depending on which type is contained. This is preferred - /// to manually checking every variant type T with is<T>() because it provides - /// compile-time checking that you handled every type, rather than runtime - /// assertion failures. - /// - /// // Bad! - /// char* foo(Variant<A, B, C, D>& v) { - /// if (v.is<A>()) { - /// return ...; - /// } else if (v.is<B>()) { - /// return ...; - /// } else { - /// return doSomething(v.as<C>()); // Forgot about case D! - /// } - /// } - /// - /// // Good! - /// struct FooMatcher - /// { - /// // The return type of all matchers must be identical. - /// char* match(A& a) { ... } - /// char* match(B& b) { ... } - /// char* match(C& c) { ... } - /// char* match(D& d) { ... } // Compile-time error to forget D! - /// } - /// char* foo(Variant<A, B, C, D>& v) { - /// return v.match(FooMatcher()); - /// } - /// - /// ## Examples - /// - /// A tree is either an empty leaf, or a node with a value and two children: - /// - /// struct Leaf { }; - /// - /// template<typename T> - /// struct Node - /// { - /// T value; - /// Tree<T>* left; - /// Tree<T>* right; - /// }; - /// - /// template<typename T> - /// using Tree = Variant<Leaf, Node<T>>; - /// - /// A copy-on-write string is either a non-owning reference to some existing - /// string, or an owning reference to our copy: - /// - /// class CopyOnWriteString - /// { - /// Variant<const char*, UniquePtr<char[]>> string; - /// - /// ... - /// }; - /// - /// Because Variant must be aligned suitable to hold any value stored within it, - /// and because |alignas| requirements don't affect platform ABI with respect to - /// how parameters are laid out in memory, Variant can't be used as the type of a - /// function parameter. Pass Variant to functions by pointer or reference - /// instead. - #[repr(C)] - #[derive(Debug)] - pub struct Variant { - pub rawData: *mut ::std::os::raw::c_uchar, - pub tag: root::mozilla::Variant_Tag, - } - pub type Variant_Tag = root::mozilla::detail::VariantTag; - pub type Variant_Impl = u8; - /// This class is designed to cause crashes when various kinds of memory - /// corruption are observed. For instance, let's say we have a class C where we - /// suspect out-of-bounds writes to some members. We can insert a member of type - /// Poison near the members we suspect are being corrupted by out-of-bounds - /// writes. Or perhaps we have a class K we suspect is subject to use-after-free - /// violations, in which case it doesn't particularly matter where in the class - /// we add the member of type Poison. - /// - /// In either case, we then insert calls to Check() throughout the code. Doing - /// so enables us to narrow down the location where the corruption is occurring. - /// A pleasant side-effect of these additional Check() calls is that crash - /// signatures may become more regular, as crashes will ideally occur - /// consolidated at the point of a Check(), rather than scattered about at - /// various uses of the corrupted memory. - #[repr(C)] - #[derive(Debug)] - pub struct CorruptionCanary { - pub mValue: usize, - } - pub const CorruptionCanary_kCanarySet: usize = 252382987; - #[test] - fn bindgen_test_layout_CorruptionCanary() { - assert_eq!( - ::std::mem::size_of::<CorruptionCanary>(), - 8usize, - concat!("Size of: ", stringify!(CorruptionCanary)) - ); - assert_eq!( - ::std::mem::align_of::<CorruptionCanary>(), - 8usize, - concat!("Alignment of ", stringify!(CorruptionCanary)) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<CorruptionCanary>())).mValue as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(CorruptionCanary), - "::", - stringify!(mValue) - ) - ); - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct Maybe { - pub _address: u8, - } - pub type Maybe_ValueType<T> = T; - pub mod gfx { - #[allow(unused_imports)] - use self::super::super::super::root; - pub type Float = f32; - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct IntPointTyped { - pub _address: u8, - } - pub type IntPointTyped_ToInt = u32; - pub type IntPointTyped_Coord = u8; - pub type IntPointTyped_Super = u8; - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct SizeTyped { - pub _address: u8, - } - pub type SizeTyped_Super = u8; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct FontVariation { - pub mTag: u32, - pub mValue: f32, - } - #[test] - fn bindgen_test_layout_FontVariation() { - assert_eq!( - ::std::mem::size_of::<FontVariation>(), - 8usize, - concat!("Size of: ", stringify!(FontVariation)) - ); - assert_eq!( - ::std::mem::align_of::<FontVariation>(), - 4usize, - concat!("Alignment of ", stringify!(FontVariation)) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<FontVariation>())).mTag as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(FontVariation), - "::", - stringify!(mTag) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FontVariation>())).mValue as *const _ as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(FontVariation), - "::", - stringify!(mValue) - ) - ); - } - impl Clone for FontVariation { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct ScaleFactor { - pub _address: u8, - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct UserData { - pub _bindgen_opaque_blob: [u64; 2usize], - } - pub type UserData_destroyFunc = u64; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct UserData_Entry { - pub _bindgen_opaque_blob: [u64; 3usize], - } - #[test] - fn bindgen_test_layout_UserData_Entry() { - assert_eq!( - ::std::mem::size_of::<UserData_Entry>(), - 24usize, - concat!("Size of: ", stringify!(UserData_Entry)) - ); - assert_eq!( - ::std::mem::align_of::<UserData_Entry>(), - 8usize, - concat!("Alignment of ", stringify!(UserData_Entry)) - ); - } - impl Clone for UserData_Entry { - fn clone(&self) -> Self { - *self - } - } - #[test] - fn bindgen_test_layout_UserData() { - assert_eq!( - ::std::mem::size_of::<UserData>(), - 16usize, - concat!("Size of: ", stringify!(UserData)) - ); - assert_eq!( - ::std::mem::align_of::<UserData>(), - 8usize, - concat!("Alignment of ", stringify!(UserData)) - ); - } - impl Clone for UserData { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - pub struct SourceSurface__bindgen_vtable(::std::os::raw::c_void); - /// This is the base class for source surfaces. These objects are surfaces - /// which may be used as a source in a SurfacePattern or a DrawSurface call. - /// They cannot be drawn to directly. - /// - /// Although SourceSurface has thread-safe refcount, some SourceSurface cannot - /// be used on random threads at the same time. Only DataSourceSurface can be - /// used on random threads now. This will be fixed in the future. Eventually - /// all SourceSurface should be thread-safe. - #[repr(C)] - #[derive(Debug)] - pub struct SourceSurface { - pub vtable_: *const SourceSurface__bindgen_vtable, - pub _base: u64, - pub mUserData: root::mozilla::gfx::UserData, - } - #[test] - fn bindgen_test_layout_SourceSurface() { - assert_eq!( - ::std::mem::size_of::<SourceSurface>(), - 32usize, - concat!("Size of: ", stringify!(SourceSurface)) - ); - assert_eq!( - ::std::mem::align_of::<SourceSurface>(), - 8usize, - concat!("Alignment of ", stringify!(SourceSurface)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<SourceSurface>())).mUserData as *const _ as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(SourceSurface), - "::", - stringify!(mUserData) - ) - ); - } - } - pub mod layers { - #[allow(unused_imports)] - use self::super::super::super::root; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct LayerManager { - _unused: [u8; 0], - } - impl Clone for LayerManager { - fn clone(&self) -> Self { - *self - } - } - } - pub mod dom { - #[allow(unused_imports)] - use self::super::super::super::root; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct AllOwningUnionBase { - pub _address: u8, - } - #[test] - fn bindgen_test_layout_AllOwningUnionBase() { - assert_eq!( - ::std::mem::size_of::<AllOwningUnionBase>(), - 1usize, - concat!("Size of: ", stringify!(AllOwningUnionBase)) - ); - assert_eq!( - ::std::mem::align_of::<AllOwningUnionBase>(), - 1usize, - concat!("Alignment of ", stringify!(AllOwningUnionBase)) - ); - } - impl Clone for AllOwningUnionBase { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug)] - pub struct GlobalObject { - pub mGlobalJSObject: [u64; 3usize], - pub mCx: *mut root::JSContext, - pub mGlobalObject: *mut root::nsISupports, - } - #[test] - fn bindgen_test_layout_GlobalObject() { - assert_eq!( - ::std::mem::size_of::<GlobalObject>(), - 40usize, - concat!("Size of: ", stringify!(GlobalObject)) - ); - assert_eq!( - ::std::mem::align_of::<GlobalObject>(), - 8usize, - concat!("Alignment of ", stringify!(GlobalObject)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<GlobalObject>())).mGlobalJSObject as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(GlobalObject), - "::", - stringify!(mGlobalJSObject) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<GlobalObject>())).mCx as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(GlobalObject), - "::", - stringify!(mCx) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<GlobalObject>())).mGlobalObject as *const _ as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(GlobalObject), - "::", - stringify!(mGlobalObject) - ) - ); - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct Sequence { - pub _address: u8, - } - #[repr(u32)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum CallerType { - System = 0, - NonSystem = 1, - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct Nullable { - pub _address: u8, - } - pub mod prototypes { - #[allow(unused_imports)] - use self::super::super::super::super::root; - } - pub mod constructors { - #[allow(unused_imports)] - use self::super::super::super::super::root; - } - pub mod namedpropertiesobjects { - #[allow(unused_imports)] - use self::super::super::super::super::root; - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct Promise { - _unused: [u8; 0], - } - impl Clone for Promise { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct ClientSource { - _unused: [u8; 0], - } - impl Clone for ClientSource { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct CSSImportRule { - _unused: [u8; 0], - } - impl Clone for CSSImportRule { - fn clone(&self) -> Self { - *self - } - } - /// Struct that stores info on an attribute. The name and value must either both - /// be null or both be non-null. - /// - /// Note that, just as the pointers returned by GetAttrNameAt, the pointers that - /// this struct hold are only valid until the element or its attributes are - /// mutated (directly or via script). - #[repr(C)] - #[derive(Debug, Copy)] - pub struct BorrowedAttrInfo { - pub mName: *const root::nsAttrName, - pub mValue: *const root::nsAttrValue, - } - #[test] - fn bindgen_test_layout_BorrowedAttrInfo() { - assert_eq!( - ::std::mem::size_of::<BorrowedAttrInfo>(), - 16usize, - concat!("Size of: ", stringify!(BorrowedAttrInfo)) - ); - assert_eq!( - ::std::mem::align_of::<BorrowedAttrInfo>(), - 8usize, - concat!("Alignment of ", stringify!(BorrowedAttrInfo)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<BorrowedAttrInfo>())).mName as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(BorrowedAttrInfo), - "::", - stringify!(mName) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<BorrowedAttrInfo>())).mValue as *const _ as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(BorrowedAttrInfo), - "::", - stringify!(mValue) - ) - ); - } - impl Clone for BorrowedAttrInfo { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - pub struct NodeInfo { - pub mRefCnt: root::nsCycleCollectingAutoRefCnt, - pub mDocument: *mut root::nsIDocument, - pub mInner: root::mozilla::dom::NodeInfo_NodeInfoInner, - pub mOwnerManager: root::RefPtr<root::nsNodeInfoManager>, - pub mQualifiedName: ::nsstring::nsStringRepr, - pub mNodeName: ::nsstring::nsStringRepr, - pub mLocalName: ::nsstring::nsStringRepr, - } - pub type NodeInfo_HasThreadSafeRefCnt = root::mozilla::FalseType; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct NodeInfo_cycleCollection { - pub _base: root::nsCycleCollectionParticipant, - } - #[test] - fn bindgen_test_layout_NodeInfo_cycleCollection() { - assert_eq!( - ::std::mem::size_of::<NodeInfo_cycleCollection>(), - 16usize, - concat!("Size of: ", stringify!(NodeInfo_cycleCollection)) - ); - assert_eq!( - ::std::mem::align_of::<NodeInfo_cycleCollection>(), - 8usize, - concat!("Alignment of ", stringify!(NodeInfo_cycleCollection)) - ); - } - impl Clone for NodeInfo_cycleCollection { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug)] - pub struct NodeInfo_NodeInfoInner { - pub mName: *const root::nsAtom, - pub mPrefix: *mut root::nsAtom, - pub mNamespaceID: i32, - pub mNodeType: u16, - pub mNameString: *const root::nsAString, - pub mExtraName: *mut root::nsAtom, - pub mHash: [u32; 2usize], - } - #[test] - fn bindgen_test_layout_NodeInfo_NodeInfoInner() { - assert_eq!( - ::std::mem::size_of::<NodeInfo_NodeInfoInner>(), - 48usize, - concat!("Size of: ", stringify!(NodeInfo_NodeInfoInner)) - ); - assert_eq!( - ::std::mem::align_of::<NodeInfo_NodeInfoInner>(), - 8usize, - concat!("Alignment of ", stringify!(NodeInfo_NodeInfoInner)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mName as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo_NodeInfoInner), - "::", - stringify!(mName) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mPrefix as *const _ - as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo_NodeInfoInner), - "::", - stringify!(mPrefix) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mNamespaceID as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo_NodeInfoInner), - "::", - stringify!(mNamespaceID) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mNodeType as *const _ - as usize - }, - 20usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo_NodeInfoInner), - "::", - stringify!(mNodeType) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mNameString as *const _ - as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo_NodeInfoInner), - "::", - stringify!(mNameString) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mExtraName as *const _ - as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo_NodeInfoInner), - "::", - stringify!(mExtraName) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mHash as *const _ - as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo_NodeInfoInner), - "::", - stringify!(mHash) - ) - ); - } - extern "C" { - #[link_name = "\u{1}_ZN7mozilla3dom8NodeInfo21_cycleCollectorGlobalE"] - pub static mut NodeInfo__cycleCollectorGlobal: - root::mozilla::dom::NodeInfo_cycleCollection; - } - #[test] - fn bindgen_test_layout_NodeInfo() { - assert_eq!( - ::std::mem::size_of::<NodeInfo>(), - 120usize, - concat!("Size of: ", stringify!(NodeInfo)) - ); - assert_eq!( - ::std::mem::align_of::<NodeInfo>(), - 8usize, - concat!("Alignment of ", stringify!(NodeInfo)) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<NodeInfo>())).mRefCnt as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo), - "::", - stringify!(mRefCnt) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<NodeInfo>())).mDocument as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo), - "::", - stringify!(mDocument) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<NodeInfo>())).mInner as *const _ as usize }, - 16usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo), - "::", - stringify!(mInner) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<NodeInfo>())).mOwnerManager as *const _ as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo), - "::", - stringify!(mOwnerManager) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<NodeInfo>())).mQualifiedName as *const _ as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo), - "::", - stringify!(mQualifiedName) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<NodeInfo>())).mNodeName as *const _ as usize }, - 88usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo), - "::", - stringify!(mNodeName) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<NodeInfo>())).mLocalName as *const _ as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(NodeInfo), - "::", - stringify!(mLocalName) - ) - ); - } - #[repr(C)] - #[derive(Debug)] - pub struct EventTarget { - pub _base: root::nsIDOMEventTarget, - pub _base_1: root::nsWrapperCache, - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct EventTarget_COMTypeInfo { - pub _address: u8, - } - #[test] - fn bindgen_test_layout_EventTarget() { - assert_eq!( - ::std::mem::size_of::<EventTarget>(), - 32usize, - concat!("Size of: ", stringify!(EventTarget)) - ); - assert_eq!( - ::std::mem::align_of::<EventTarget>(), - 8usize, - concat!("Alignment of ", stringify!(EventTarget)) - ); - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct BoxQuadOptions { - _unused: [u8; 0], - } - impl Clone for BoxQuadOptions { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct ConvertCoordinateOptions { - _unused: [u8; 0], - } - impl Clone for ConvertCoordinateOptions { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct DocGroup { - _unused: [u8; 0], - } - impl Clone for DocGroup { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct DOMPoint { - _unused: [u8; 0], - } - impl Clone for DOMPoint { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct DOMQuad { - _unused: [u8; 0], - } - impl Clone for DOMQuad { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct TextOrElementOrDocument { - _unused: [u8; 0], - } - impl Clone for TextOrElementOrDocument { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct DOMPointInit { - _unused: [u8; 0], - } - impl Clone for DOMPointInit { - fn clone(&self) -> Self { - *self - } - } - pub const VisibilityState_Hidden: root::mozilla::dom::VisibilityState = 0; - pub const VisibilityState_Visible: root::mozilla::dom::VisibilityState = 1; - pub const VisibilityState_EndGuard_: root::mozilla::dom::VisibilityState = 2; - pub type VisibilityState = u8; - pub const FlashClassification_Unclassified: root::mozilla::dom::FlashClassification = 0; - pub const FlashClassification_Unknown: root::mozilla::dom::FlashClassification = 1; - pub const FlashClassification_Allowed: root::mozilla::dom::FlashClassification = 2; - pub const FlashClassification_Denied: root::mozilla::dom::FlashClassification = 3; - pub const FlashClassification_EndGuard_: root::mozilla::dom::FlashClassification = 4; - pub type FlashClassification = u8; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct IPCClientInfo { - _unused: [u8; 0], - } - impl Clone for IPCClientInfo { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct TabGroup { - _unused: [u8; 0], - } - impl Clone for TabGroup { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - pub struct DispatcherTrait__bindgen_vtable(::std::os::raw::c_void); - #[repr(C)] - #[derive(Debug, Copy)] - pub struct DispatcherTrait { - pub vtable_: *const DispatcherTrait__bindgen_vtable, - } - #[test] - fn bindgen_test_layout_DispatcherTrait() { - assert_eq!( - ::std::mem::size_of::<DispatcherTrait>(), - 8usize, - concat!("Size of: ", stringify!(DispatcherTrait)) - ); - assert_eq!( - ::std::mem::align_of::<DispatcherTrait>(), - 8usize, - concat!("Alignment of ", stringify!(DispatcherTrait)) - ); - } - impl Clone for DispatcherTrait { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct IPCServiceWorkerDescriptor { - _unused: [u8; 0], - } - impl Clone for IPCServiceWorkerDescriptor { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct AudioContext { - _unused: [u8; 0], - } - impl Clone for AudioContext { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct Navigator { - _unused: [u8; 0], - } - impl Clone for Navigator { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct Performance { - _unused: [u8; 0], - } - impl Clone for Performance { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct TimeoutManager { - _unused: [u8; 0], - } - impl Clone for TimeoutManager { - fn clone(&self) -> Self { - *self - } - } - pub const LargeAllocStatus_NONE: root::mozilla::dom::LargeAllocStatus = 0; - pub const LargeAllocStatus_SUCCESS: root::mozilla::dom::LargeAllocStatus = 1; - pub const LargeAllocStatus_NON_GET: root::mozilla::dom::LargeAllocStatus = 2; - pub const LargeAllocStatus_NON_E10S: root::mozilla::dom::LargeAllocStatus = 3; - pub const LargeAllocStatus_NOT_ONLY_TOPLEVEL_IN_TABGROUP : root :: mozilla :: dom :: LargeAllocStatus = 4 ; - pub const LargeAllocStatus_NON_WIN32: root::mozilla::dom::LargeAllocStatus = 5; - pub type LargeAllocStatus = u8; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct StyleSheetList { - _unused: [u8; 0], - } - impl Clone for StyleSheetList { - fn clone(&self) -> Self { - *self - } - } - /// A class meant to be shared by ShadowRoot and Document, that holds a list of - /// stylesheets. - /// - /// TODO(emilio, bug 1418159): In the future this should hold most of the - /// relevant style state, this should allow us to fix bug 548397. - #[repr(C)] - pub struct DocumentOrShadowRoot { - pub mStyleSheets: root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>, - pub mDOMStyleSheets: root::RefPtr<root::mozilla::dom::StyleSheetList>, - pub mIdentifierMap: [u64; 4usize], - pub mAsNode: *mut root::nsINode, - pub mKind: root::mozilla::dom::DocumentOrShadowRoot_Kind, - } - pub const DocumentOrShadowRoot_Kind_Document : root :: mozilla :: dom :: DocumentOrShadowRoot_Kind = 0 ; - pub const DocumentOrShadowRoot_Kind_ShadowRoot : root :: mozilla :: dom :: DocumentOrShadowRoot_Kind = 1 ; - pub type DocumentOrShadowRoot_Kind = i32; - pub const DocumentOrShadowRoot_ElementsFromPointFlags_IGNORE_ROOT_SCROLL_FRAME : root :: mozilla :: dom :: DocumentOrShadowRoot_ElementsFromPointFlags = 1 ; - pub const DocumentOrShadowRoot_ElementsFromPointFlags_FLUSH_LAYOUT : root :: mozilla :: dom :: DocumentOrShadowRoot_ElementsFromPointFlags = 2 ; - pub const DocumentOrShadowRoot_ElementsFromPointFlags_IS_ELEMENT_FROM_POINT : root :: mozilla :: dom :: DocumentOrShadowRoot_ElementsFromPointFlags = 4 ; - pub type DocumentOrShadowRoot_ElementsFromPointFlags = u32; - #[test] - fn bindgen_test_layout_DocumentOrShadowRoot() { - assert_eq!( - ::std::mem::size_of::<DocumentOrShadowRoot>(), - 64usize, - concat!("Size of: ", stringify!(DocumentOrShadowRoot)) - ); - assert_eq!( - ::std::mem::align_of::<DocumentOrShadowRoot>(), - 8usize, - concat!("Alignment of ", stringify!(DocumentOrShadowRoot)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mStyleSheets as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(DocumentOrShadowRoot), - "::", - stringify!(mStyleSheets) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mDOMStyleSheets as *const _ - as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(DocumentOrShadowRoot), - "::", - stringify!(mDOMStyleSheets) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mIdentifierMap as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(DocumentOrShadowRoot), - "::", - stringify!(mIdentifierMap) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mAsNode as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(DocumentOrShadowRoot), - "::", - stringify!(mAsNode) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mKind as *const _ as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(DocumentOrShadowRoot), - "::", - stringify!(mKind) - ) - ); - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct AboutCapabilities { - _unused: [u8; 0], - } - impl Clone for AboutCapabilities { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct AnonymousContent { - _unused: [u8; 0], - } - impl Clone for AnonymousContent { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct BoxObject { - _unused: [u8; 0], - } - impl Clone for BoxObject { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct DocumentTimeline { - _unused: [u8; 0], - } - impl Clone for DocumentTimeline { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct DOMImplementation { - _unused: [u8; 0], - } - impl Clone for DOMImplementation { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct FontFaceSet { - _unused: [u8; 0], - } - impl Clone for FontFaceSet { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct FullscreenRequest { - _unused: [u8; 0], - } - impl Clone for FullscreenRequest { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct ImageTracker { - _unused: [u8; 0], - } - impl Clone for ImageTracker { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct HTMLImageElement { - _unused: [u8; 0], - } - impl Clone for HTMLImageElement { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct Link { - _unused: [u8; 0], - } - impl Clone for Link { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct MediaQueryList { - _unused: [u8; 0], - } - impl Clone for MediaQueryList { - fn clone(&self) -> Self { - *self - } - } - pub type OrientationType = u8; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct ScriptLoader { - _unused: [u8; 0], - } - impl Clone for ScriptLoader { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct XPathEvaluator { - _unused: [u8; 0], - } - impl Clone for XPathEvaluator { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct FrameRequestCallback { - pub _bindgen_opaque_blob: [u64; 6usize], - } - #[test] - fn bindgen_test_layout_FrameRequestCallback() { - assert_eq!( - ::std::mem::size_of::<FrameRequestCallback>(), - 48usize, - concat!("Size of: ", stringify!(FrameRequestCallback)) - ); - assert_eq!( - ::std::mem::align_of::<FrameRequestCallback>(), - 8usize, - concat!("Alignment of ", stringify!(FrameRequestCallback)) - ); - } - impl Clone for FrameRequestCallback { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - pub struct URLParams { - pub mParams: root::nsTArray<root::mozilla::dom::URLParams_Param>, - } - #[repr(C)] - pub struct URLParams_ForEachIterator__bindgen_vtable(::std::os::raw::c_void); - #[repr(C)] - #[derive(Debug, Copy)] - pub struct URLParams_ForEachIterator { - pub vtable_: *const URLParams_ForEachIterator__bindgen_vtable, - } - #[test] - fn bindgen_test_layout_URLParams_ForEachIterator() { - assert_eq!( - ::std::mem::size_of::<URLParams_ForEachIterator>(), - 8usize, - concat!("Size of: ", stringify!(URLParams_ForEachIterator)) - ); - assert_eq!( - ::std::mem::align_of::<URLParams_ForEachIterator>(), - 8usize, - concat!("Alignment of ", stringify!(URLParams_ForEachIterator)) - ); - } - impl Clone for URLParams_ForEachIterator { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - pub struct URLParams_Param { - pub mKey: ::nsstring::nsStringRepr, - pub mValue: ::nsstring::nsStringRepr, - } - #[test] - fn bindgen_test_layout_URLParams_Param() { - assert_eq!( - ::std::mem::size_of::<URLParams_Param>(), - 32usize, - concat!("Size of: ", stringify!(URLParams_Param)) - ); - assert_eq!( - ::std::mem::align_of::<URLParams_Param>(), - 8usize, - concat!("Alignment of ", stringify!(URLParams_Param)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<URLParams_Param>())).mKey as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(URLParams_Param), - "::", - stringify!(mKey) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<URLParams_Param>())).mValue as *const _ as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(URLParams_Param), - "::", - stringify!(mValue) - ) - ); - } - #[test] - fn bindgen_test_layout_URLParams() { - assert_eq!( - ::std::mem::size_of::<URLParams>(), - 8usize, - concat!("Size of: ", stringify!(URLParams)) - ); - assert_eq!( - ::std::mem::align_of::<URLParams>(), - 8usize, - concat!("Alignment of ", stringify!(URLParams)) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<URLParams>())).mParams as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(URLParams), - "::", - stringify!(mParams) - ) - ); - } - #[repr(C)] - pub struct SRIMetadata { - pub mHashes: root::nsTArray<root::nsCString>, - pub mIntegrityString: ::nsstring::nsStringRepr, - pub mAlgorithm: root::nsCString, - pub mAlgorithmType: i8, - pub mEmpty: bool, - } - pub const SRIMetadata_MAX_ALTERNATE_HASHES: u32 = 256; - pub const SRIMetadata_UNKNOWN_ALGORITHM: i8 = -1; - #[test] - fn bindgen_test_layout_SRIMetadata() { - assert_eq!( - ::std::mem::size_of::<SRIMetadata>(), - 48usize, - concat!("Size of: ", stringify!(SRIMetadata)) - ); - assert_eq!( - ::std::mem::align_of::<SRIMetadata>(), - 8usize, - concat!("Alignment of ", stringify!(SRIMetadata)) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<SRIMetadata>())).mHashes as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(SRIMetadata), - "::", - stringify!(mHashes) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<SRIMetadata>())).mIntegrityString as *const _ - as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(SRIMetadata), - "::", - stringify!(mIntegrityString) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<SRIMetadata>())).mAlgorithm as *const _ as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(SRIMetadata), - "::", - stringify!(mAlgorithm) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<SRIMetadata>())).mAlgorithmType as *const _ as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(SRIMetadata), - "::", - stringify!(mAlgorithmType) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<SRIMetadata>())).mEmpty as *const _ as usize }, - 41usize, - concat!( - "Offset of field: ", - stringify!(SRIMetadata), - "::", - stringify!(mEmpty) - ) - ); - } - #[repr(C)] - #[derive(Debug)] - pub struct OwningNodeOrString { - pub mType: root::mozilla::dom::OwningNodeOrString_Type, - pub mValue: root::mozilla::dom::OwningNodeOrString_Value, - } - pub const OwningNodeOrString_Type_eUninitialized : root :: mozilla :: dom :: OwningNodeOrString_Type = 0 ; - pub const OwningNodeOrString_Type_eNode: root::mozilla::dom::OwningNodeOrString_Type = - 1; - pub const OwningNodeOrString_Type_eString: root::mozilla::dom::OwningNodeOrString_Type = - 2; - pub type OwningNodeOrString_Type = u32; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct OwningNodeOrString_Value { - pub _bindgen_opaque_blob: [u64; 2usize], - } - #[test] - fn bindgen_test_layout_OwningNodeOrString_Value() { - assert_eq!( - ::std::mem::size_of::<OwningNodeOrString_Value>(), - 16usize, - concat!("Size of: ", stringify!(OwningNodeOrString_Value)) - ); - assert_eq!( - ::std::mem::align_of::<OwningNodeOrString_Value>(), - 8usize, - concat!("Alignment of ", stringify!(OwningNodeOrString_Value)) - ); - } - impl Clone for OwningNodeOrString_Value { - fn clone(&self) -> Self { - *self - } - } - #[test] - fn bindgen_test_layout_OwningNodeOrString() { - assert_eq!( - ::std::mem::size_of::<OwningNodeOrString>(), - 24usize, - concat!("Size of: ", stringify!(OwningNodeOrString)) - ); - assert_eq!( - ::std::mem::align_of::<OwningNodeOrString>(), - 8usize, - concat!("Alignment of ", stringify!(OwningNodeOrString)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<OwningNodeOrString>())).mType as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(OwningNodeOrString), - "::", - stringify!(mType) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<OwningNodeOrString>())).mValue as *const _ as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(OwningNodeOrString), - "::", - stringify!(mValue) - ) - ); - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum FillMode { - None = 0, - Forwards = 1, - Backwards = 2, - Both = 3, - Auto = 4, - EndGuard_ = 5, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum PlaybackDirection { - Normal = 0, - Reverse = 1, - Alternate = 2, - Alternate_reverse = 3, - EndGuard_ = 4, - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct XBLChildrenElement { - _unused: [u8; 0], - } - impl Clone for XBLChildrenElement { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct CustomElementData { - _unused: [u8; 0], - } - impl Clone for CustomElementData { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - pub struct FragmentOrElement { - pub _base: root::nsIContent, - pub mRefCnt: root::nsCycleCollectingAutoRefCnt, - /// Array containing all attributes and children for this element - pub mAttrsAndChildren: root::nsAttrAndChildArray, - } - pub type FragmentOrElement_HasThreadSafeRefCnt = root::mozilla::FalseType; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct FragmentOrElement_cycleCollection { - pub _base: root::nsXPCOMCycleCollectionParticipant, - } - #[test] - fn bindgen_test_layout_FragmentOrElement_cycleCollection() { - assert_eq!( - ::std::mem::size_of::<FragmentOrElement_cycleCollection>(), - 16usize, - concat!("Size of: ", stringify!(FragmentOrElement_cycleCollection)) - ); - assert_eq!( - ::std::mem::align_of::<FragmentOrElement_cycleCollection>(), - 8usize, - concat!( - "Alignment of ", - stringify!(FragmentOrElement_cycleCollection) - ) - ); - } - impl Clone for FragmentOrElement_cycleCollection { - fn clone(&self) -> Self { - *self - } - } - /// There are a set of DOM- and scripting-specific instance variables - /// that may only be instantiated when a content object is accessed - /// through the DOM. Rather than burn actual slots in the content - /// objects for each of these instance variables, we put them off - /// in a side structure that's only allocated when the content is - /// accessed through the DOM. - #[repr(C)] - pub struct FragmentOrElement_nsExtendedDOMSlots { - pub _base: root::nsIContent_nsExtendedContentSlots, - /// SMIL Overridde style rules (for SMIL animation of CSS properties) - /// @see Element::GetSMILOverrideStyle - pub mSMILOverrideStyle: root::RefPtr<root::nsDOMCSSAttributeDeclaration>, - /// Holds any SMIL override style declaration for this element. - pub mSMILOverrideStyleDeclaration: root::RefPtr<root::mozilla::DeclarationBlock>, - /// The controllers of the XUL Element. - pub mControllers: root::nsCOMPtr, - /// An object implementing the .labels property for this element. - pub mLabelsList: root::RefPtr<root::nsLabelsNodeList>, - /// ShadowRoot bound to the element. - pub mShadowRoot: root::RefPtr<root::mozilla::dom::ShadowRoot>, - /// XBL binding installed on the element. - pub mXBLBinding: root::RefPtr<root::nsXBLBinding>, - /// Web components custom element data. - pub mCustomElementData: root::RefPtr<root::mozilla::dom::CustomElementData>, - /// For XUL to hold either frameloader or opener. - pub mFrameLoaderOrOpener: root::nsCOMPtr, - } - #[test] - fn bindgen_test_layout_FragmentOrElement_nsExtendedDOMSlots() { - assert_eq!( - ::std::mem::size_of::<FragmentOrElement_nsExtendedDOMSlots>(), - 104usize, - concat!( - "Size of: ", - stringify!(FragmentOrElement_nsExtendedDOMSlots) - ) - ); - assert_eq!( - ::std::mem::align_of::<FragmentOrElement_nsExtendedDOMSlots>(), - 8usize, - concat!( - "Alignment of ", - stringify!(FragmentOrElement_nsExtendedDOMSlots) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())) - .mSMILOverrideStyle as *const _ as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsExtendedDOMSlots), - "::", - stringify!(mSMILOverrideStyle) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())) - .mSMILOverrideStyleDeclaration as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsExtendedDOMSlots), - "::", - stringify!(mSMILOverrideStyleDeclaration) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())) - .mControllers as *const _ as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsExtendedDOMSlots), - "::", - stringify!(mControllers) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())).mLabelsList - as *const _ as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsExtendedDOMSlots), - "::", - stringify!(mLabelsList) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())).mShadowRoot - as *const _ as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsExtendedDOMSlots), - "::", - stringify!(mShadowRoot) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())).mXBLBinding - as *const _ as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsExtendedDOMSlots), - "::", - stringify!(mXBLBinding) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())) - .mCustomElementData as *const _ as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsExtendedDOMSlots), - "::", - stringify!(mCustomElementData) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())) - .mFrameLoaderOrOpener as *const _ as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsExtendedDOMSlots), - "::", - stringify!(mFrameLoaderOrOpener) - ) - ); - } - #[repr(C)] - pub struct FragmentOrElement_nsDOMSlots { - pub _base: root::nsIContent_nsContentSlots, - /// The .style attribute (an interface that forwards to the actual - /// style rules) - /// @see nsGenericHTMLElement::GetStyle - pub mStyle: root::nsCOMPtr, - /// The .dataset attribute. - /// @see nsGenericHTMLElement::GetDataset - pub mDataset: *mut root::nsDOMStringMap, - /// @see Element::Attributes - pub mAttributeMap: root::RefPtr<root::nsDOMAttributeMap>, - /// An object implementing the .children property for this element. - pub mChildrenList: root::RefPtr<root::nsContentList>, - /// An object implementing the .classList property for this element. - pub mClassList: root::RefPtr<root::nsDOMTokenList>, - } - #[test] - fn bindgen_test_layout_FragmentOrElement_nsDOMSlots() { - assert_eq!( - ::std::mem::size_of::<FragmentOrElement_nsDOMSlots>(), - 120usize, - concat!("Size of: ", stringify!(FragmentOrElement_nsDOMSlots)) - ); - assert_eq!( - ::std::mem::align_of::<FragmentOrElement_nsDOMSlots>(), - 8usize, - concat!("Alignment of ", stringify!(FragmentOrElement_nsDOMSlots)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mStyle as *const _ - as usize - }, - 80usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsDOMSlots), - "::", - stringify!(mStyle) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mDataset - as *const _ as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsDOMSlots), - "::", - stringify!(mDataset) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mAttributeMap - as *const _ as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsDOMSlots), - "::", - stringify!(mAttributeMap) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mChildrenList - as *const _ as usize - }, - 104usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsDOMSlots), - "::", - stringify!(mChildrenList) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mClassList - as *const _ as usize - }, - 112usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement_nsDOMSlots), - "::", - stringify!(mClassList) - ) - ); - } - extern "C" { - #[link_name = "\u{1}_ZN7mozilla3dom17FragmentOrElement21_cycleCollectorGlobalE"] - pub static mut FragmentOrElement__cycleCollectorGlobal: - root::mozilla::dom::FragmentOrElement_cycleCollection; - } - #[test] - fn bindgen_test_layout_FragmentOrElement() { - assert_eq!( - ::std::mem::size_of::<FragmentOrElement>(), - 104usize, - concat!("Size of: ", stringify!(FragmentOrElement)) - ); - assert_eq!( - ::std::mem::align_of::<FragmentOrElement>(), - 8usize, - concat!("Alignment of ", stringify!(FragmentOrElement)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement>())).mRefCnt as *const _ as usize - }, - 88usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement), - "::", - stringify!(mRefCnt) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FragmentOrElement>())).mAttrsAndChildren as *const _ - as usize - }, - 96usize, - concat!( - "Offset of field: ", - stringify!(FragmentOrElement), - "::", - stringify!(mAttrsAndChildren) - ) - ); - } - #[repr(C)] - pub struct Attr { - pub _base: root::nsIAttribute, - pub _base_1: root::nsIDOMNode, - pub mRefCnt: root::nsCycleCollectingAutoRefCnt, - pub mValue: ::nsstring::nsStringRepr, - } - pub type Attr_HasThreadSafeRefCnt = root::mozilla::FalseType; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct Attr_cycleCollection { - pub _base: root::nsXPCOMCycleCollectionParticipant, - } - #[test] - fn bindgen_test_layout_Attr_cycleCollection() { - assert_eq!( - ::std::mem::size_of::<Attr_cycleCollection>(), - 16usize, - concat!("Size of: ", stringify!(Attr_cycleCollection)) - ); - assert_eq!( - ::std::mem::align_of::<Attr_cycleCollection>(), - 8usize, - concat!("Alignment of ", stringify!(Attr_cycleCollection)) - ); - } - impl Clone for Attr_cycleCollection { - fn clone(&self) -> Self { - *self - } - } - extern "C" { - #[link_name = "\u{1}_ZN7mozilla3dom4Attr21_cycleCollectorGlobalE"] - pub static mut Attr__cycleCollectorGlobal: root::mozilla::dom::Attr_cycleCollection; - } - extern "C" { - #[link_name = "\u{1}_ZN7mozilla3dom4Attr12sInitializedE"] - pub static mut Attr_sInitialized: bool; - } - #[test] - fn bindgen_test_layout_Attr() { - assert_eq!( - ::std::mem::size_of::<Attr>(), - 128usize, - concat!("Size of: ", stringify!(Attr)) - ); - assert_eq!( - ::std::mem::align_of::<Attr>(), - 8usize, - concat!("Alignment of ", stringify!(Attr)) - ); - } - #[repr(C)] - #[derive(Debug)] - pub struct DOMRectReadOnly { - pub _base: root::nsISupports, - pub _base_1: root::nsWrapperCache, - pub mRefCnt: root::nsCycleCollectingAutoRefCnt, - pub mParent: root::nsCOMPtr, - } - pub type DOMRectReadOnly_HasThreadSafeRefCnt = root::mozilla::FalseType; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct DOMRectReadOnly_cycleCollection { - pub _base: root::nsXPCOMCycleCollectionParticipant, - } - #[test] - fn bindgen_test_layout_DOMRectReadOnly_cycleCollection() { - assert_eq!( - ::std::mem::size_of::<DOMRectReadOnly_cycleCollection>(), - 16usize, - concat!("Size of: ", stringify!(DOMRectReadOnly_cycleCollection)) - ); - assert_eq!( - ::std::mem::align_of::<DOMRectReadOnly_cycleCollection>(), - 8usize, - concat!("Alignment of ", stringify!(DOMRectReadOnly_cycleCollection)) - ); - } - impl Clone for DOMRectReadOnly_cycleCollection { - fn clone(&self) -> Self { - *self - } - } - extern "C" { - #[link_name = "\u{1}_ZN7mozilla3dom15DOMRectReadOnly21_cycleCollectorGlobalE"] - pub static mut DOMRectReadOnly__cycleCollectorGlobal: - root::mozilla::dom::DOMRectReadOnly_cycleCollection; - } - #[test] - fn bindgen_test_layout_DOMRectReadOnly() { - assert_eq!( - ::std::mem::size_of::<DOMRectReadOnly>(), - 48usize, - concat!("Size of: ", stringify!(DOMRectReadOnly)) - ); - assert_eq!( - ::std::mem::align_of::<DOMRectReadOnly>(), - 8usize, - concat!("Alignment of ", stringify!(DOMRectReadOnly)) - ); - } - #[repr(C)] - #[derive(Debug)] - pub struct DOMRect { - pub _base: root::mozilla::dom::DOMRectReadOnly, - pub _base_1: root::nsIDOMClientRect, - pub mX: f64, - pub mY: f64, - pub mWidth: f64, - pub mHeight: f64, - } - #[test] - fn bindgen_test_layout_DOMRect() { - assert_eq!( - ::std::mem::size_of::<DOMRect>(), - 88usize, - concat!("Size of: ", stringify!(DOMRect)) - ); - assert_eq!( - ::std::mem::align_of::<DOMRect>(), - 8usize, - concat!("Alignment of ", stringify!(DOMRect)) - ); - } - pub const ShadowRootMode_Open: root::mozilla::dom::ShadowRootMode = 0; - pub const ShadowRootMode_Closed: root::mozilla::dom::ShadowRootMode = 1; - pub const ShadowRootMode_EndGuard_: root::mozilla::dom::ShadowRootMode = 2; - pub type ShadowRootMode = u8; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct IntersectionCallback { - pub _bindgen_opaque_blob: [u64; 6usize], - } - #[test] - fn bindgen_test_layout_IntersectionCallback() { - assert_eq!( - ::std::mem::size_of::<IntersectionCallback>(), - 48usize, - concat!("Size of: ", stringify!(IntersectionCallback)) - ); - assert_eq!( - ::std::mem::align_of::<IntersectionCallback>(), - 8usize, - concat!("Alignment of ", stringify!(IntersectionCallback)) - ); - } - impl Clone for IntersectionCallback { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - pub struct DOMIntersectionObserverEntry { - pub _base: root::nsISupports, - pub _base_1: root::nsWrapperCache, - pub mRefCnt: root::nsCycleCollectingAutoRefCnt, - pub mOwner: root::nsCOMPtr, - pub mTime: root::DOMHighResTimeStamp, - pub mRootBounds: root::RefPtr<root::mozilla::dom::DOMRect>, - pub mBoundingClientRect: root::RefPtr<root::mozilla::dom::DOMRect>, - pub mIntersectionRect: root::RefPtr<root::mozilla::dom::DOMRect>, - pub mIsIntersecting: bool, - pub mTarget: root::RefPtr<root::mozilla::dom::Element>, - pub mIntersectionRatio: f64, - } - pub type DOMIntersectionObserverEntry_HasThreadSafeRefCnt = root::mozilla::FalseType; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct DOMIntersectionObserverEntry_cycleCollection { - pub _base: root::nsXPCOMCycleCollectionParticipant, - } - #[test] - fn bindgen_test_layout_DOMIntersectionObserverEntry_cycleCollection() { - assert_eq!( - ::std::mem::size_of::<DOMIntersectionObserverEntry_cycleCollection>(), - 16usize, - concat!( - "Size of: ", - stringify!(DOMIntersectionObserverEntry_cycleCollection) - ) - ); - assert_eq!( - ::std::mem::align_of::<DOMIntersectionObserverEntry_cycleCollection>(), - 8usize, - concat!( - "Alignment of ", - stringify!(DOMIntersectionObserverEntry_cycleCollection) - ) - ); - } - impl Clone for DOMIntersectionObserverEntry_cycleCollection { - fn clone(&self) -> Self { - *self - } - } - extern "C" { - # [ link_name = "\u{1}_ZN7mozilla3dom28DOMIntersectionObserverEntry21_cycleCollectorGlobalE" ] pub static mut DOMIntersectionObserverEntry__cycleCollectorGlobal : root :: mozilla :: dom :: DOMIntersectionObserverEntry_cycleCollection ; - } - #[test] - fn bindgen_test_layout_DOMIntersectionObserverEntry() { - assert_eq!( - ::std::mem::size_of::<DOMIntersectionObserverEntry>(), - 104usize, - concat!("Size of: ", stringify!(DOMIntersectionObserverEntry)) - ); - assert_eq!( - ::std::mem::align_of::<DOMIntersectionObserverEntry>(), - 8usize, - concat!("Alignment of ", stringify!(DOMIntersectionObserverEntry)) - ); - } - #[repr(C)] - pub struct DOMIntersectionObserver { - pub _base: root::nsISupports, - pub _base_1: root::nsWrapperCache, - pub mRefCnt: root::nsCycleCollectingAutoRefCnt, - pub mOwner: root::nsCOMPtr, - pub mDocument: root::RefPtr<root::nsIDocument>, - pub mCallback: root::RefPtr<root::mozilla::dom::IntersectionCallback>, - pub mRoot: root::RefPtr<root::mozilla::dom::Element>, - pub mRootMargin: root::nsCSSRect, - pub mThresholds: root::nsTArray<f64>, - pub mObservationTargets: root::nsTArray<*mut root::mozilla::dom::Element>, - pub mQueuedEntries: - root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>, - pub mConnected: bool, - } - pub type DOMIntersectionObserver_HasThreadSafeRefCnt = root::mozilla::FalseType; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct DOMIntersectionObserver_cycleCollection { - pub _base: root::nsXPCOMCycleCollectionParticipant, - } - #[test] - fn bindgen_test_layout_DOMIntersectionObserver_cycleCollection() { - assert_eq!( - ::std::mem::size_of::<DOMIntersectionObserver_cycleCollection>(), - 16usize, - concat!( - "Size of: ", - stringify!(DOMIntersectionObserver_cycleCollection) - ) - ); - assert_eq!( - ::std::mem::align_of::<DOMIntersectionObserver_cycleCollection>(), - 8usize, - concat!( - "Alignment of ", - stringify!(DOMIntersectionObserver_cycleCollection) - ) - ); - } - impl Clone for DOMIntersectionObserver_cycleCollection { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct DOMIntersectionObserver_COMTypeInfo { - pub _address: u8, - } - extern "C" { - # [ link_name = "\u{1}_ZN7mozilla3dom23DOMIntersectionObserver21_cycleCollectorGlobalE" ] pub static mut DOMIntersectionObserver__cycleCollectorGlobal : root :: mozilla :: dom :: DOMIntersectionObserver_cycleCollection ; - } - #[test] - fn bindgen_test_layout_DOMIntersectionObserver() { - assert_eq!( - ::std::mem::size_of::<DOMIntersectionObserver>(), - 168usize, - concat!("Size of: ", stringify!(DOMIntersectionObserver)) - ); - assert_eq!( - ::std::mem::align_of::<DOMIntersectionObserver>(), - 8usize, - concat!("Alignment of ", stringify!(DOMIntersectionObserver)) - ); - } - #[repr(C)] - pub struct Element { - pub _base: root::mozilla::dom::FragmentOrElement, - pub mState: root::mozilla::EventStates, - pub mServoData: ::gecko_bindings::structs::ServoCell<*mut ::gecko_bindings::structs::ServoNodeData>, - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct Element_COMTypeInfo { - pub _address: u8, - } - /// StyleStateLocks is used to specify which event states should be locked, - /// and whether they should be locked to on or off. - #[repr(C)] - #[derive(Debug, Copy)] - pub struct Element_StyleStateLocks { - pub mLocks: root::mozilla::EventStates, - pub mValues: root::mozilla::EventStates, - } - #[test] - fn bindgen_test_layout_Element_StyleStateLocks() { - assert_eq!( - ::std::mem::size_of::<Element_StyleStateLocks>(), - 16usize, - concat!("Size of: ", stringify!(Element_StyleStateLocks)) - ); - assert_eq!( - ::std::mem::align_of::<Element_StyleStateLocks>(), - 8usize, - concat!("Alignment of ", stringify!(Element_StyleStateLocks)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<Element_StyleStateLocks>())).mLocks as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Element_StyleStateLocks), - "::", - stringify!(mLocks) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<Element_StyleStateLocks>())).mValues as *const _ - as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(Element_StyleStateLocks), - "::", - stringify!(mValues) - ) - ); - } - impl Clone for Element_StyleStateLocks { - fn clone(&self) -> Self { - *self - } - } - pub const Element_ATTR_MISSING: root::mozilla::dom::Element__bindgen_ty_1 = -1; - pub const Element_ATTR_VALUE_NO_MATCH: root::mozilla::dom::Element__bindgen_ty_1 = -2; - pub type Element__bindgen_ty_1 = i32; - /// Check whether this Element's given attribute has one of a given list of - /// values. If there is a match, we return the index in the list of the first - /// matching value. If there was no attribute at all, then we return - /// ATTR_MISSING. If there was an attribute but it didn't match, we return - /// ATTR_VALUE_NO_MATCH. A non-negative result always indicates a match. - /// - /// @param aNameSpaceID The namespace ID of the attribute. Must not - /// be kNameSpaceID_Unknown. - /// @param aName The name atom of the attribute. Must not be null. - /// @param aValues a nullptr-terminated array of pointers to atom values to test - /// against. - /// @param aCaseSensitive Whether to do a case-sensitive compare on the values. - /// @return ATTR_MISSING, ATTR_VALUE_NO_MATCH or the non-negative index - /// indicating the first value of aValues that matched - pub type Element_AttrValuesArray = *const *const root::nsStaticAtom; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct Element_MappedAttributeEntry { - pub attribute: *mut *mut root::nsStaticAtom, - } - #[test] - fn bindgen_test_layout_Element_MappedAttributeEntry() { - assert_eq!( - ::std::mem::size_of::<Element_MappedAttributeEntry>(), - 8usize, - concat!("Size of: ", stringify!(Element_MappedAttributeEntry)) - ); - assert_eq!( - ::std::mem::align_of::<Element_MappedAttributeEntry>(), - 8usize, - concat!("Alignment of ", stringify!(Element_MappedAttributeEntry)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<Element_MappedAttributeEntry>())).attribute - as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(Element_MappedAttributeEntry), - "::", - stringify!(attribute) - ) - ); - } - impl Clone for Element_MappedAttributeEntry { - fn clone(&self) -> Self { - *self - } - } - /// Define a general matching function that can be passed to - /// GetElementsByMatching(). Each Element being considered is - /// passed in. - pub type Element_nsElementMatchFunc = ::std::option::Option< - unsafe extern "C" fn(aElement: *mut root::mozilla::dom::Element) -> bool, - >; - pub const Element_kAllServoDescendantBits: u32 = 12648448; - pub const Element_kFireMutationEvent: bool = true; - pub const Element_kDontFireMutationEvent: bool = false; - pub const Element_kNotifyDocumentObservers: bool = true; - pub const Element_kDontNotifyDocumentObservers: bool = false; - pub const Element_kCallAfterSetAttr: bool = true; - pub const Element_kDontCallAfterSetAttr: bool = false; - #[test] - fn bindgen_test_layout_Element() { - assert_eq!( - ::std::mem::size_of::<Element>(), - 120usize, - concat!("Size of: ", stringify!(Element)) - ); - assert_eq!( - ::std::mem::align_of::<Element>(), - 8usize, - concat!("Alignment of ", stringify!(Element)) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<Element>())).mState as *const _ as usize }, - 104usize, - concat!( - "Offset of field: ", - stringify!(Element), - "::", - stringify!(mState) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<Element>())).mServoData as *const _ as usize }, - 112usize, - concat!( - "Offset of field: ", - stringify!(Element), - "::", - stringify!(mServoData) - ) - ); - } - #[repr(C)] - pub struct HTMLSlotElement { - pub _base: root::nsGenericHTMLElement, - pub mAssignedNodes: root::nsTArray<root::RefPtr<root::nsINode>>, - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct HTMLSlotElement_cycleCollection { - pub _base: root::mozilla::dom::FragmentOrElement_cycleCollection, - } - #[test] - fn bindgen_test_layout_HTMLSlotElement_cycleCollection() { - assert_eq!( - ::std::mem::size_of::<HTMLSlotElement_cycleCollection>(), - 16usize, - concat!("Size of: ", stringify!(HTMLSlotElement_cycleCollection)) - ); - assert_eq!( - ::std::mem::align_of::<HTMLSlotElement_cycleCollection>(), - 8usize, - concat!("Alignment of ", stringify!(HTMLSlotElement_cycleCollection)) - ); - } - impl Clone for HTMLSlotElement_cycleCollection { - fn clone(&self) -> Self { - *self - } - } - extern "C" { - #[link_name = "\u{1}_ZN7mozilla3dom15HTMLSlotElement21_cycleCollectorGlobalE"] - pub static mut HTMLSlotElement__cycleCollectorGlobal: - root::mozilla::dom::HTMLSlotElement_cycleCollection; - } - #[test] - fn bindgen_test_layout_HTMLSlotElement() { - assert_eq!( - ::std::mem::size_of::<HTMLSlotElement>(), - 136usize, - concat!("Size of: ", stringify!(HTMLSlotElement)) - ); - assert_eq!( - ::std::mem::align_of::<HTMLSlotElement>(), - 8usize, - concat!("Alignment of ", stringify!(HTMLSlotElement)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<HTMLSlotElement>())).mAssignedNodes as *const _ - as usize - }, - 128usize, - concat!( - "Offset of field: ", - stringify!(HTMLSlotElement), - "::", - stringify!(mAssignedNodes) - ) - ); - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum CompositeOperation { - Replace = 0, - Add = 1, - Accumulate = 2, - EndGuard_ = 3, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum IterationCompositeOperation { - Replace = 0, - Accumulate = 1, - EndGuard_ = 2, - } - #[repr(C)] - pub struct DocumentFragment { - pub _base: root::mozilla::dom::FragmentOrElement, - pub _base_1: root::nsIDOMDocumentFragment, - pub mHost: root::RefPtr<root::mozilla::dom::Element>, - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct DocumentFragment_cycleCollection { - pub _base: root::mozilla::dom::FragmentOrElement_cycleCollection, - } - #[test] - fn bindgen_test_layout_DocumentFragment_cycleCollection() { - assert_eq!( - ::std::mem::size_of::<DocumentFragment_cycleCollection>(), - 16usize, - concat!("Size of: ", stringify!(DocumentFragment_cycleCollection)) - ); - assert_eq!( - ::std::mem::align_of::<DocumentFragment_cycleCollection>(), - 8usize, - concat!( - "Alignment of ", - stringify!(DocumentFragment_cycleCollection) - ) - ); - } - impl Clone for DocumentFragment_cycleCollection { - fn clone(&self) -> Self { - *self - } - } - extern "C" { - #[link_name = "\u{1}_ZN7mozilla3dom16DocumentFragment21_cycleCollectorGlobalE"] - pub static mut DocumentFragment__cycleCollectorGlobal: - root::mozilla::dom::DocumentFragment_cycleCollection; - } - #[test] - fn bindgen_test_layout_DocumentFragment() { - assert_eq!( - ::std::mem::size_of::<DocumentFragment>(), - 120usize, - concat!("Size of: ", stringify!(DocumentFragment)) - ); - assert_eq!( - ::std::mem::align_of::<DocumentFragment>(), - 8usize, - concat!("Alignment of ", stringify!(DocumentFragment)) - ); - } - #[repr(C)] - pub struct ShadowRoot { - pub _base: root::mozilla::dom::DocumentFragment, - pub _base_1: root::mozilla::dom::DocumentOrShadowRoot, - pub _base_2: root::nsStubMutationObserver, - pub mMode: root::mozilla::dom::ShadowRootMode, - pub mServoStyles: root::mozilla::UniquePtr<root::RawServoAuthorStyles>, - pub mStyleRuleMap: root::mozilla::UniquePtr<root::mozilla::ServoStyleRuleMap>, - pub mSlotMap: [u64; 4usize], - pub mIsComposedDocParticipant: bool, - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct ShadowRoot_cycleCollection { - pub _base: root::mozilla::dom::DocumentFragment_cycleCollection, - } - #[test] - fn bindgen_test_layout_ShadowRoot_cycleCollection() { - assert_eq!( - ::std::mem::size_of::<ShadowRoot_cycleCollection>(), - 16usize, - concat!("Size of: ", stringify!(ShadowRoot_cycleCollection)) - ); - assert_eq!( - ::std::mem::align_of::<ShadowRoot_cycleCollection>(), - 8usize, - concat!("Alignment of ", stringify!(ShadowRoot_cycleCollection)) - ); - } - impl Clone for ShadowRoot_cycleCollection { - fn clone(&self) -> Self { - *self - } - } - /// Represents the insertion point in a slot for a given node. - #[repr(C)] - #[derive(Debug)] - pub struct ShadowRoot_SlotAssignment { - pub mSlot: *mut root::mozilla::dom::HTMLSlotElement, - pub mIndex: [u32; 2usize], - } - #[test] - fn bindgen_test_layout_ShadowRoot_SlotAssignment() { - assert_eq!( - ::std::mem::size_of::<ShadowRoot_SlotAssignment>(), - 16usize, - concat!("Size of: ", stringify!(ShadowRoot_SlotAssignment)) - ); - assert_eq!( - ::std::mem::align_of::<ShadowRoot_SlotAssignment>(), - 8usize, - concat!("Alignment of ", stringify!(ShadowRoot_SlotAssignment)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<ShadowRoot_SlotAssignment>())).mSlot as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ShadowRoot_SlotAssignment), - "::", - stringify!(mSlot) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<ShadowRoot_SlotAssignment>())).mIndex as *const _ - as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ShadowRoot_SlotAssignment), - "::", - stringify!(mIndex) - ) - ); - } - pub type ShadowRoot_SlotArray = u8; - extern "C" { - #[link_name = "\u{1}_ZN7mozilla3dom10ShadowRoot21_cycleCollectorGlobalE"] - pub static mut ShadowRoot__cycleCollectorGlobal: - root::mozilla::dom::ShadowRoot_cycleCollection; - } - #[test] - fn bindgen_test_layout_ShadowRoot() { - assert_eq!( - ::std::mem::size_of::<ShadowRoot>(), - 256usize, - concat!("Size of: ", stringify!(ShadowRoot)) - ); - assert_eq!( - ::std::mem::align_of::<ShadowRoot>(), - 8usize, - concat!("Alignment of ", stringify!(ShadowRoot)) - ); - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct ExplicitChildIterator { - pub mParent: *const root::nsIContent, - pub mParentAsSlot: *const root::mozilla::dom::HTMLSlotElement, - pub mChild: *mut root::nsIContent, - pub mDefaultChild: *mut root::nsIContent, - pub mIsFirst: bool, - pub mIndexInInserted: u32, - } - #[test] - fn bindgen_test_layout_ExplicitChildIterator() { - assert_eq!( - ::std::mem::size_of::<ExplicitChildIterator>(), - 40usize, - concat!("Size of: ", stringify!(ExplicitChildIterator)) - ); - assert_eq!( - ::std::mem::align_of::<ExplicitChildIterator>(), - 8usize, - concat!("Alignment of ", stringify!(ExplicitChildIterator)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<ExplicitChildIterator>())).mParent as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(ExplicitChildIterator), - "::", - stringify!(mParent) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<ExplicitChildIterator>())).mParentAsSlot as *const _ - as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(ExplicitChildIterator), - "::", - stringify!(mParentAsSlot) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<ExplicitChildIterator>())).mChild as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(ExplicitChildIterator), - "::", - stringify!(mChild) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<ExplicitChildIterator>())).mDefaultChild as *const _ - as usize - }, - 24usize, - concat!( - "Offset of field: ", - stringify!(ExplicitChildIterator), - "::", - stringify!(mDefaultChild) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<ExplicitChildIterator>())).mIsFirst as *const _ - as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(ExplicitChildIterator), - "::", - stringify!(mIsFirst) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<ExplicitChildIterator>())).mIndexInInserted - as *const _ as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(ExplicitChildIterator), - "::", - stringify!(mIndexInInserted) - ) - ); - } - impl Clone for ExplicitChildIterator { - fn clone(&self) -> Self { - *self - } - } - #[repr(C)] - #[derive(Debug)] - pub struct FlattenedChildIterator { - pub _base: root::mozilla::dom::ExplicitChildIterator, - pub mOriginalContent: *const root::nsIContent, - pub mXBLInvolved: [u8; 2usize], - } - #[test] - fn bindgen_test_layout_FlattenedChildIterator() { - assert_eq!( - ::std::mem::size_of::<FlattenedChildIterator>(), - 56usize, - concat!("Size of: ", stringify!(FlattenedChildIterator)) - ); - assert_eq!( - ::std::mem::align_of::<FlattenedChildIterator>(), - 8usize, - concat!("Alignment of ", stringify!(FlattenedChildIterator)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FlattenedChildIterator>())).mOriginalContent - as *const _ as usize - }, - 40usize, - concat!( - "Offset of field: ", - stringify!(FlattenedChildIterator), - "::", - stringify!(mOriginalContent) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FlattenedChildIterator>())).mXBLInvolved as *const _ - as usize - }, - 48usize, - concat!( - "Offset of field: ", - stringify!(FlattenedChildIterator), - "::", - stringify!(mXBLInvolved) - ) - ); - } - /// AllChildrenIterator traverses the children of an element including before / - /// after content and optionally XBL children. The iterator can be initialized - /// to start at the end by providing false for aStartAtBeginning in order to - /// start iterating in reverse from the last child. - /// - /// Note: it assumes that no mutation of the DOM or frame tree takes place during - /// iteration, and will break horribly if that is not true. - #[repr(C)] - #[derive(Debug)] - pub struct AllChildrenIterator { - pub _base: root::mozilla::dom::FlattenedChildIterator, - pub mAnonKids: root::nsTArray<*mut root::nsIContent>, - pub mAnonKidsIdx: u32, - pub mFlags: u32, - pub mPhase: root::mozilla::dom::AllChildrenIterator_IteratorPhase, - } - pub const AllChildrenIterator_IteratorPhase_eAtBegin : root :: mozilla :: dom :: AllChildrenIterator_IteratorPhase = 0 ; - pub const AllChildrenIterator_IteratorPhase_eAtBeforeKid : root :: mozilla :: dom :: AllChildrenIterator_IteratorPhase = 1 ; - pub const AllChildrenIterator_IteratorPhase_eAtExplicitKids : root :: mozilla :: dom :: AllChildrenIterator_IteratorPhase = 2 ; - pub const AllChildrenIterator_IteratorPhase_eAtAnonKids : root :: mozilla :: dom :: AllChildrenIterator_IteratorPhase = 3 ; - pub const AllChildrenIterator_IteratorPhase_eAtAfterKid : root :: mozilla :: dom :: AllChildrenIterator_IteratorPhase = 4 ; - pub const AllChildrenIterator_IteratorPhase_eAtEnd : root :: mozilla :: dom :: AllChildrenIterator_IteratorPhase = 5 ; - pub type AllChildrenIterator_IteratorPhase = u32; - #[test] - fn bindgen_test_layout_AllChildrenIterator() { - assert_eq!( - ::std::mem::size_of::<AllChildrenIterator>(), - 80usize, - concat!("Size of: ", stringify!(AllChildrenIterator)) - ); - assert_eq!( - ::std::mem::align_of::<AllChildrenIterator>(), - 8usize, - concat!("Alignment of ", stringify!(AllChildrenIterator)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<AllChildrenIterator>())).mAnonKids as *const _ - as usize - }, - 56usize, - concat!( - "Offset of field: ", - stringify!(AllChildrenIterator), - "::", - stringify!(mAnonKids) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<AllChildrenIterator>())).mAnonKidsIdx as *const _ - as usize - }, - 64usize, - concat!( - "Offset of field: ", - stringify!(AllChildrenIterator), - "::", - stringify!(mAnonKidsIdx) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<AllChildrenIterator>())).mFlags as *const _ as usize - }, - 68usize, - concat!( - "Offset of field: ", - stringify!(AllChildrenIterator), - "::", - stringify!(mFlags) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<AllChildrenIterator>())).mPhase as *const _ as usize - }, - 72usize, - concat!( - "Offset of field: ", - stringify!(AllChildrenIterator), - "::", - stringify!(mPhase) - ) - ); - } - /// StyleChildrenIterator traverses the children of the element from the - /// perspective of the style system, particularly the children we need to - /// traverse during restyle. - /// - /// At present, this is identical to AllChildrenIterator with - /// (eAllChildren | eSkipDocumentLevelNativeAnonymousContent). We used to have - /// detect and skip any native anonymous children that are used to implement some - /// special magic in here that went away, but we keep the separate class so - /// we can reintroduce special magic back if needed. - /// - /// Note: it assumes that no mutation of the DOM or frame tree takes place during - /// iteration, and will break horribly if that is not true. - /// - /// We require this to be memmovable since Rust code can create and move - /// StyleChildrenIterators. - #[repr(C)] - #[derive(Debug)] - pub struct StyleChildrenIterator { - pub _base: root::mozilla::dom::AllChildrenIterator, - } - #[test] - fn bindgen_test_layout_StyleChildrenIterator() { - assert_eq!( - ::std::mem::size_of::<StyleChildrenIterator>(), - 80usize, - concat!("Size of: ", stringify!(StyleChildrenIterator)) - ); - assert_eq!( - ::std::mem::align_of::<StyleChildrenIterator>(), - 8usize, - concat!("Alignment of ", stringify!(StyleChildrenIterator)) - ); - } - #[repr(C)] - #[derive(Debug)] - pub struct MediaList { - pub _base: root::nsISupports, - pub _base_1: root::nsWrapperCache, - pub mRefCnt: root::nsCycleCollectingAutoRefCnt, - pub mStyleSheet: *mut root::mozilla::StyleSheet, - } - pub type MediaList_HasThreadSafeRefCnt = root::mozilla::FalseType; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct MediaList_cycleCollection { - pub _base: root::nsXPCOMCycleCollectionParticipant, - } - #[test] - fn bindgen_test_layout_MediaList_cycleCollection() { - assert_eq!( - ::std::mem::size_of::<MediaList_cycleCollection>(), - 16usize, - concat!("Size of: ", stringify!(MediaList_cycleCollection)) - ); - assert_eq!( - ::std::mem::align_of::<MediaList_cycleCollection>(), - 8usize, - concat!("Alignment of ", stringify!(MediaList_cycleCollection)) - ); - } - impl Clone for MediaList_cycleCollection { - fn clone(&self) -> Self { - *self - } - } - extern "C" { - #[link_name = "\u{1}_ZN7mozilla3dom9MediaList21_cycleCollectorGlobalE"] - pub static mut MediaList__cycleCollectorGlobal: - root::mozilla::dom::MediaList_cycleCollection; - } - #[test] - fn bindgen_test_layout_MediaList() { - assert_eq!( - ::std::mem::size_of::<MediaList>(), - 48usize, - concat!("Size of: ", stringify!(MediaList)) - ); - assert_eq!( - ::std::mem::align_of::<MediaList>(), - 8usize, - concat!("Alignment of ", stringify!(MediaList)) - ); - } - } - #[repr(C)] - pub struct CSSVariableValues { - /// Map of variable names to IDs. Variable IDs are indexes into - /// mVariables. - pub mVariableIDs: [u64; 4usize], - /// Array of variables, indexed by variable ID. - pub mVariables: root::nsTArray<root::mozilla::CSSVariableValues_Variable>, - } - #[repr(C)] - pub struct CSSVariableValues_Variable { - pub mVariableName: ::nsstring::nsStringRepr, - pub mValue: ::nsstring::nsStringRepr, - pub mFirstToken: root::nsCSSTokenSerializationType, - pub mLastToken: root::nsCSSTokenSerializationType, - } - #[test] - fn bindgen_test_layout_CSSVariableValues_Variable() { - assert_eq!( - ::std::mem::size_of::<CSSVariableValues_Variable>(), - 40usize, - concat!("Size of: ", stringify!(CSSVariableValues_Variable)) - ); - assert_eq!( - ::std::mem::align_of::<CSSVariableValues_Variable>(), - 8usize, - concat!("Alignment of ", stringify!(CSSVariableValues_Variable)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<CSSVariableValues_Variable>())).mVariableName as *const _ - as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(CSSVariableValues_Variable), - "::", - stringify!(mVariableName) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<CSSVariableValues_Variable>())).mValue as *const _ - as usize - }, - 16usize, - concat!( - "Offset of field: ", - stringify!(CSSVariableValues_Variable), - "::", - stringify!(mValue) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<CSSVariableValues_Variable>())).mFirstToken as *const _ - as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(CSSVariableValues_Variable), - "::", - stringify!(mFirstToken) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<CSSVariableValues_Variable>())).mLastToken as *const _ - as usize - }, - 36usize, - concat!( - "Offset of field: ", - stringify!(CSSVariableValues_Variable), - "::", - stringify!(mLastToken) - ) - ); - } - #[test] - fn bindgen_test_layout_CSSVariableValues() { - assert_eq!( - ::std::mem::size_of::<CSSVariableValues>(), - 40usize, - concat!("Size of: ", stringify!(CSSVariableValues)) - ); - assert_eq!( - ::std::mem::align_of::<CSSVariableValues>(), - 8usize, - concat!("Alignment of ", stringify!(CSSVariableValues)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<CSSVariableValues>())).mVariableIDs as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(CSSVariableValues), - "::", - stringify!(mVariableIDs) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<CSSVariableValues>())).mVariables as *const _ as usize - }, - 32usize, - concat!( - "Offset of field: ", - stringify!(CSSVariableValues), - "::", - stringify!(mVariables) - ) - ); - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum SheetType { - Agent = 0, - User = 1, - PresHint = 2, - Doc = 3, - StyleAttr = 4, - Override = 5, - Animation = 6, - Transition = 7, - Count = 8, - Unknown = 255, - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct StaticRefPtr<T> { - pub mRawPtr: *mut T, - pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>, - } - /// This struct represents a combined color from a numeric color and - /// the current foreground color (currentcolor keyword). - /// Conceptually, the formula is "color * (1 - p) + currentcolor * p" - /// where p is mForegroundRatio. See mozilla::LinearBlendColors for - /// the actual algorithm. - #[repr(C)] - #[derive(Debug, Copy)] - pub struct StyleComplexColor { - pub mColor: root::nscolor, - pub mForegroundRatio: u8, - pub mIsAuto: bool, - } - #[test] - fn bindgen_test_layout_StyleComplexColor() { - assert_eq!( - ::std::mem::size_of::<StyleComplexColor>(), - 8usize, - concat!("Size of: ", stringify!(StyleComplexColor)) - ); - assert_eq!( - ::std::mem::align_of::<StyleComplexColor>(), - 4usize, - concat!("Alignment of ", stringify!(StyleComplexColor)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<StyleComplexColor>())).mColor as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(StyleComplexColor), - "::", - stringify!(mColor) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<StyleComplexColor>())).mForegroundRatio as *const _ - as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(StyleComplexColor), - "::", - stringify!(mForegroundRatio) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<StyleComplexColor>())).mIsAuto as *const _ as usize - }, - 5usize, - concat!( - "Offset of field: ", - stringify!(StyleComplexColor), - "::", - stringify!(mIsAuto) - ) - ); - } - impl Clone for StyleComplexColor { - fn clone(&self) -> Self { - *self - } - } - #[repr(u32)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum Side { - eSideTop = 0, - eSideRight = 1, - eSideBottom = 2, - eSideLeft = 3, - } - #[repr(u32)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum HalfCorner { - eCornerTopLeftX = 0, - eCornerTopLeftY = 1, - eCornerTopRightX = 2, - eCornerTopRightY = 3, - eCornerBottomRightX = 4, - eCornerBottomRightY = 5, - eCornerBottomLeftX = 6, - eCornerBottomLeftY = 7, - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct NotNull<T> { - pub mBasePtr: T, - pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>, - } - pub const FontFamilyType_eFamily_generic_first: root::mozilla::FontFamilyType = - FontFamilyType::eFamily_serif; - pub const FontFamilyType_eFamily_generic_last: root::mozilla::FontFamilyType = - FontFamilyType::eFamily_fantasy; - pub const FontFamilyType_eFamily_generic_count: root::mozilla::FontFamilyType = - FontFamilyType::eFamily_monospace; - #[repr(u32)] - /// type of font family name, either a name (e.g. Helvetica) or a - /// generic (e.g. serif, sans-serif), with the ability to distinguish - /// between unquoted and quoted names for serializaiton - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum FontFamilyType { - eFamily_none = 0, - eFamily_named = 1, - eFamily_named_quoted = 2, - eFamily_serif = 3, - eFamily_sans_serif = 4, - eFamily_monospace = 5, - eFamily_cursive = 6, - eFamily_fantasy = 7, - eFamily_moz_variable = 8, - eFamily_moz_fixed = 9, - eFamily_moz_emoji = 10, - } - /// font family name, a string for the name if not a generic and - /// a font type indicated named family or which generic family - #[repr(C)] - pub struct FontFamilyName { - pub mType: root::mozilla::FontFamilyType, - pub mName: ::nsstring::nsStringRepr, - } - #[test] - fn bindgen_test_layout_FontFamilyName() { - assert_eq!( - ::std::mem::size_of::<FontFamilyName>(), - 24usize, - concat!("Size of: ", stringify!(FontFamilyName)) - ); - assert_eq!( - ::std::mem::align_of::<FontFamilyName>(), - 8usize, - concat!("Alignment of ", stringify!(FontFamilyName)) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<FontFamilyName>())).mType as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(FontFamilyName), - "::", - stringify!(mType) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<FontFamilyName>())).mName as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(FontFamilyName), - "::", - stringify!(mName) - ) - ); - } - /// A refcounted array of FontFamilyNames. We use this to store the specified - /// value (in Servo) and the computed value (in both Gecko and Servo) of the - /// font-family property. - #[repr(C)] - pub struct SharedFontList { - pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt, - pub mNames: root::nsTArray<root::mozilla::FontFamilyName>, - } - pub type SharedFontList_HasThreadSafeRefCnt = root::mozilla::TrueType; - extern "C" { - #[link_name = "\u{1}_ZN7mozilla14SharedFontList6sEmptyE"] - pub static mut SharedFontList_sEmpty: - root::mozilla::StaticRefPtr<root::mozilla::SharedFontList>; - } - #[test] - fn bindgen_test_layout_SharedFontList() { - assert_eq!( - ::std::mem::size_of::<SharedFontList>(), - 16usize, - concat!("Size of: ", stringify!(SharedFontList)) - ); - assert_eq!( - ::std::mem::align_of::<SharedFontList>(), - 8usize, - concat!("Alignment of ", stringify!(SharedFontList)) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<SharedFontList>())).mRefCnt as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(SharedFontList), - "::", - stringify!(mRefCnt) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::<SharedFontList>())).mNames as *const _ as usize }, - 8usize, - concat!( - "Offset of field: ", - stringify!(SharedFontList), - "::", - stringify!(mNames) - ) - ); - } - #[test] - fn __bindgen_test_layout_StaticRefPtr_open0_SharedFontList_close0_instantiation() { - assert_eq!( - ::std::mem::size_of::<root::mozilla::StaticRefPtr<root::mozilla::SharedFontList>>(), - 8usize, - concat!( - "Size of template specialization: ", - stringify!(root::mozilla::StaticRefPtr<root::mozilla::SharedFontList>) - ) - ); - assert_eq ! ( :: std :: mem :: align_of :: < root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: mozilla :: StaticRefPtr < root :: mozilla :: SharedFontList > ) ) ); - } - /// font family list, array of font families and a default font type. - /// font family names are either named strings or generics. the default - /// font type is used to preserve the variable font fallback behavior - #[repr(C)] - pub struct FontFamilyList { - pub mFontlist: root::mozilla::NotNull<root::RefPtr<root::mozilla::SharedFontList>>, - pub mDefaultFontType: root::mozilla::FontFamilyType, - } - #[test] - fn bindgen_test_layout_FontFamilyList() { - assert_eq!( - ::std::mem::size_of::<FontFamilyList>(), - 16usize, - concat!("Size of: ", stringify!(FontFamilyList)) - ); - assert_eq!( - ::std::mem::align_of::<FontFamilyList>(), - 8usize, - concat!("Alignment of ", stringify!(FontFamilyList)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FontFamilyList>())).mFontlist as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(FontFamilyList), - "::", - stringify!(mFontlist) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<FontFamilyList>())).mDefaultFontType as *const _ as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(FontFamilyList), - "::", - stringify!(mDefaultFontType) - ) - ); - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleBasicShapeType { - Polygon = 0, - Circle = 1, - Ellipse = 2, - Inset = 3, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleBoxAlign { - Stretch = 0, - Start = 1, - Center = 2, - Baseline = 3, - End = 4, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleBoxDecorationBreak { - Slice = 0, - Clone = 1, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleBoxDirection { - Normal = 0, - Reverse = 1, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleBoxOrient { - Horizontal = 0, - Vertical = 1, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleBoxPack { - Start = 0, - Center = 1, - End = 2, - Justify = 3, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleBoxSizing { - Content = 0, - Border = 1, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleClear { - None = 0, - Left = 1, - Right = 2, - InlineStart = 3, - InlineEnd = 4, - Both = 5, - Line = 8, - Max = 13, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleGeometryBox { - ContentBox = 0, - PaddingBox = 1, - BorderBox = 2, - MarginBox = 3, - FillBox = 4, - StrokeBox = 5, - ViewBox = 6, - NoClip = 7, - Text = 8, - NoBox = 9, - MozAlmostPadding = 127, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleFillRule { - Nonzero = 0, - Evenodd = 1, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleFloat { - None = 0, - Left = 1, - Right = 2, - InlineStart = 3, - InlineEnd = 4, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleFloatEdge { - ContentBox = 0, - MarginBox = 1, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleHyphens { - None = 0, - Manual = 1, - Auto = 2, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleShapeRadius { - ClosestSide = 0, - FarthestSide = 1, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleShapeSourceType { - None = 0, - URL = 1, - Image = 2, - Shape = 3, - Box = 4, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleStackSizing { - Ignore = 0, - StretchToFit = 1, - IgnoreHorizontal = 2, - IgnoreVertical = 3, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleTextJustify { - None = 0, - Auto = 1, - InterWord = 2, - InterCharacter = 3, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleUserFocus { - None = 0, - Ignore = 1, - Normal = 2, - SelectAll = 3, - SelectBefore = 4, - SelectAfter = 5, - SelectSame = 6, - SelectMenu = 7, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleUserSelect { - None = 0, - Text = 1, - Element = 2, - Elements = 3, - All = 4, - Toggle = 5, - TriState = 6, - Auto = 7, - MozAll = 8, - MozText = 9, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleUserInput { - None = 0, - Auto = 1, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleUserModify { - ReadOnly = 0, - ReadWrite = 1, - WriteOnly = 2, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleWindowDragging { - Default = 0, - Drag = 1, - NoDrag = 2, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleOrient { - Inline = 0, - Block = 1, - Horizontal = 2, - Vertical = 3, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleImageLayerRepeat { - NoRepeat = 0, - RepeatX = 1, - RepeatY = 2, - Repeat = 3, - Space = 4, - Round = 5, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleBorderImageRepeat { - Stretch = 0, - Repeat = 1, - Round = 2, - Space = 3, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleDisplay { - None = 0, - Block = 1, - FlowRoot = 2, - Inline = 3, - InlineBlock = 4, - ListItem = 5, - Table = 6, - InlineTable = 7, - TableRowGroup = 8, - TableColumn = 9, - TableColumnGroup = 10, - TableHeaderGroup = 11, - TableFooterGroup = 12, - TableRow = 13, - TableCell = 14, - TableCaption = 15, - Flex = 16, - InlineFlex = 17, - Grid = 18, - InlineGrid = 19, - Ruby = 20, - RubyBase = 21, - RubyBaseContainer = 22, - RubyText = 23, - RubyTextContainer = 24, - Contents = 25, - WebkitBox = 26, - WebkitInlineBox = 27, - MozBox = 28, - MozInlineBox = 29, - MozGrid = 30, - MozInlineGrid = 31, - MozGridGroup = 32, - MozGridLine = 33, - MozStack = 34, - MozInlineStack = 35, - MozDeck = 36, - MozGroupbox = 37, - MozPopup = 38, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleGridTrackBreadth { - MaxContent = 1, - MinContent = 2, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleWhiteSpace { - Normal = 0, - Pre = 1, - Nowrap = 2, - PreWrap = 3, - PreLine = 4, - PreSpace = 5, - } - #[repr(u8)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleOverscrollBehavior { - Auto = 0, - Contain = 1, - None = 2, - } - pub const MediaFeatureChangeReason_ViewportChange: root::mozilla::MediaFeatureChangeReason = - 1; - pub const MediaFeatureChangeReason_ZoomChange: root::mozilla::MediaFeatureChangeReason = 2; - pub const MediaFeatureChangeReason_MinFontSizeChange : root :: mozilla :: MediaFeatureChangeReason = 4 ; - pub const MediaFeatureChangeReason_ResolutionChange : root :: mozilla :: MediaFeatureChangeReason = 8 ; - pub const MediaFeatureChangeReason_MediumChange: root::mozilla::MediaFeatureChangeReason = - 16; - pub const MediaFeatureChangeReason_SizeModeChange: root::mozilla::MediaFeatureChangeReason = - 32; - pub const MediaFeatureChangeReason_SystemMetricsChange : root :: mozilla :: MediaFeatureChangeReason = 64 ; - pub const MediaFeatureChangeReason_DeviceSizeIsPageSizeChange : root :: mozilla :: MediaFeatureChangeReason = 128 ; - pub const MediaFeatureChangeReason_DisplayModeChange : root :: mozilla :: MediaFeatureChangeReason = 256 ; - pub type MediaFeatureChangeReason = i32; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct MediaFeatureChange { - pub mRestyleHint: root::nsRestyleHint, - pub mChangeHint: root::nsChangeHint, - pub mReason: root::mozilla::MediaFeatureChangeReason, - } - #[test] - fn bindgen_test_layout_MediaFeatureChange() { - assert_eq!( - ::std::mem::size_of::<MediaFeatureChange>(), - 12usize, - concat!("Size of: ", stringify!(MediaFeatureChange)) - ); - assert_eq!( - ::std::mem::align_of::<MediaFeatureChange>(), - 4usize, - concat!("Alignment of ", stringify!(MediaFeatureChange)) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<MediaFeatureChange>())).mRestyleHint as *const _ as usize - }, - 0usize, - concat!( - "Offset of field: ", - stringify!(MediaFeatureChange), - "::", - stringify!(mRestyleHint) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<MediaFeatureChange>())).mChangeHint as *const _ as usize - }, - 4usize, - concat!( - "Offset of field: ", - stringify!(MediaFeatureChange), - "::", - stringify!(mChangeHint) - ) - ); - assert_eq!( - unsafe { - &(*(::std::ptr::null::<MediaFeatureChange>())).mReason as *const _ as usize - }, - 8usize, - concat!( - "Offset of field: ", - stringify!(MediaFeatureChange), - "::", - stringify!(mReason) - ) - ); - } - impl Clone for MediaFeatureChange { - fn clone(&self) -> Self { - *self - } - } - pub mod external { - #[allow(unused_imports)] - use self::super::super::super::root; - /// AtomicRefCounted<T> is like RefCounted<T>, with an atomically updated - /// reference counter. - /// - /// NOTE: Please do not use this class, use NS_INLINE_DECL_THREADSAFE_REFCOUNTING - /// instead. - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct AtomicRefCounted { - pub _address: u8, - } - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct SupportsWeakPtr { - pub _address: u8, - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct WeakPtr { - pub _address: u8, - } - pub type WeakPtr_WeakReference = u8; - /// Event messages - pub type EventMessageType = u16; - pub const EventMessage_eVoidEvent: root::mozilla::EventMessage = 0; - pub const EventMessage_eAllEvents: root::mozilla::EventMessage = 1; - pub const EventMessage_eWindowClose: root::mozilla::EventMessage = 2; - pub const EventMessage_eKeyPress: root::mozilla::EventMessage = 3; - pub const EventMessage_eKeyUp: root::mozilla::EventMessage = 4; - pub const EventMessage_eKeyDown: root::mozilla::EventMessage = 5; - pub const EventMessage_eKeyDownOnPlugin: root::mozilla::EventMessage = 6; - pub const EventMessage_eKeyUpOnPlugin: root::mozilla::EventMessage = 7; - pub const EventMessage_eAccessKeyNotFound: root::mozilla::EventMessage = 8; - pub const EventMessage_eResize: root::mozilla::EventMessage = 9; - pub const EventMessage_eScroll: root::mozilla::EventMessage = 10; - pub const EventMessage_eInstall: root::mozilla::EventMessage = 11; - pub const EventMessage_eAppInstalled: root::mozilla::EventMessage = 12; - pub const EventMessage_ePluginActivate: root::mozilla::EventMessage = 13; - pub const EventMessage_ePluginFocus: root::mozilla::EventMessage = 14; - pub const EventMessage_eOffline: root::mozilla::EventMessage = 15; - pub const EventMessage_eOnline: root::mozilla::EventMessage = 16; - pub const EventMessage_eLanguageChange: root::mozilla::EventMessage = 17; - pub const EventMessage_eMouseMove: root::mozilla::EventMessage = 18; - pub const EventMessage_eMouseUp: root::mozilla::EventMessage = 19; - pub const EventMessage_eMouseDown: root::mozilla::EventMessage = 20; - pub const EventMessage_eMouseEnterIntoWidget: root::mozilla::EventMessage = 21; - pub const EventMessage_eMouseExitFromWidget: root::mozilla::EventMessage = 22; - pub const EventMessage_eMouseDoubleClick: root::mozilla::EventMessage = 23; - pub const EventMessage_eMouseClick: root::mozilla::EventMessage = 24; - pub const EventMessage_eMouseAuxClick: root::mozilla::EventMessage = 25; - pub const EventMessage_eMouseActivate: root::mozilla::EventMessage = 26; - pub const EventMessage_eMouseOver: root::mozilla::EventMessage = 27; - pub const EventMessage_eMouseOut: root::mozilla::EventMessage = 28; - pub const EventMessage_eMouseHitTest: root::mozilla::EventMessage = 29; - pub const EventMessage_eMouseEnter: root::mozilla::EventMessage = 30; - pub const EventMessage_eMouseLeave: root::mozilla::EventMessage = 31; - pub const EventMessage_eMouseTouchDrag: root::mozilla::EventMessage = 32; - pub const EventMessage_eMouseLongTap: root::mozilla::EventMessage = 33; - pub const EventMessage_eMouseEventFirst: root::mozilla::EventMessage = 18; - pub const EventMessage_eMouseEventLast: root::mozilla::EventMessage = 33; - pub const EventMessage_ePointerMove: root::mozilla::EventMessage = 34; - pub const EventMessage_ePointerUp: root::mozilla::EventMessage = 35; - pub const EventMessage_ePointerDown: root::mozilla::EventMessage = 36; - pub const EventMessage_ePointerOver: root::mozilla::EventMessage = 37; - pub const EventMessage_ePointerOut: root::mozilla::EventMessage = 38; - pub const EventMessage_ePointerEnter: root::mozilla::EventMessage = 39; - pub const EventMessage_ePointerLeave: root::mozilla::EventMessage = 40; - pub const EventMessage_ePointerCancel: root::mozilla::EventMessage = 41; - pub const EventMessage_ePointerGotCapture: root::mozilla::EventMessage = 42; - pub const EventMessage_ePointerLostCapture: root::mozilla::EventMessage = 43; - pub const EventMessage_ePointerEventFirst: root::mozilla::EventMessage = 34; - pub const EventMessage_ePointerEventLast: root::mozilla::EventMessage = 43; - pub const EventMessage_eContextMenu: root::mozilla::EventMessage = 44; - pub const EventMessage_eLoad: root::mozilla::EventMessage = 45; - pub const EventMessage_eUnload: root::mozilla::EventMessage = 46; - pub const EventMessage_eHashChange: root::mozilla::EventMessage = 47; - pub const EventMessage_eImageAbort: root::mozilla::EventMessage = 48; - pub const EventMessage_eLoadError: root::mozilla::EventMessage = 49; - pub const EventMessage_eLoadEnd: root::mozilla::EventMessage = 50; - pub const EventMessage_ePopState: root::mozilla::EventMessage = 51; - pub const EventMessage_eStorage: root::mozilla::EventMessage = 52; - pub const EventMessage_eBeforeUnload: root::mozilla::EventMessage = 53; - pub const EventMessage_eReadyStateChange: root::mozilla::EventMessage = 54; - pub const EventMessage_eFormSubmit: root::mozilla::EventMessage = 55; - pub const EventMessage_eFormReset: root::mozilla::EventMessage = 56; - pub const EventMessage_eFormChange: root::mozilla::EventMessage = 57; - pub const EventMessage_eFormSelect: root::mozilla::EventMessage = 58; - pub const EventMessage_eFormInvalid: root::mozilla::EventMessage = 59; - pub const EventMessage_eFormCheckboxStateChange: root::mozilla::EventMessage = 60; - pub const EventMessage_eFormRadioStateChange: root::mozilla::EventMessage = 61; - pub const EventMessage_eFocus: root::mozilla::EventMessage = 62; - pub const EventMessage_eBlur: root::mozilla::EventMessage = 63; - pub const EventMessage_eFocusIn: root::mozilla::EventMessage = 64; - pub const EventMessage_eFocusOut: root::mozilla::EventMessage = 65; - pub const EventMessage_eDragEnter: root::mozilla::EventMessage = 66; - pub const EventMessage_eDragOver: root::mozilla::EventMessage = 67; - pub const EventMessage_eDragExit: root::mozilla::EventMessage = 68; - pub const EventMessage_eDrag: root::mozilla::EventMessage = 69; - pub const EventMessage_eDragEnd: root::mozilla::EventMessage = 70; - pub const EventMessage_eDragStart: root::mozilla::EventMessage = 71; - pub const EventMessage_eDrop: root::mozilla::EventMessage = 72; - pub const EventMessage_eDragLeave: root::mozilla::EventMessage = 73; - pub const EventMessage_eDragDropEventFirst: root::mozilla::EventMessage = 66; - pub const EventMessage_eDragDropEventLast: root::mozilla::EventMessage = 73; - pub const EventMessage_eXULPopupShowing: root::mozilla::EventMessage = 74; - pub const EventMessage_eXULPopupShown: root::mozilla::EventMessage = 75; - pub const EventMessage_eXULPopupPositioned: root::mozilla::EventMessage = 76; - pub const EventMessage_eXULPopupHiding: root::mozilla::EventMessage = 77; - pub const EventMessage_eXULPopupHidden: root::mozilla::EventMessage = 78; - pub const EventMessage_eXULBroadcast: root::mozilla::EventMessage = 79; - pub const EventMessage_eXULCommandUpdate: root::mozilla::EventMessage = 80; - pub const EventMessage_eLegacyMouseLineOrPageScroll: root::mozilla::EventMessage = 81; - pub const EventMessage_eLegacyMousePixelScroll: root::mozilla::EventMessage = 82; - pub const EventMessage_eScrollPortUnderflow: root::mozilla::EventMessage = 83; - pub const EventMessage_eScrollPortOverflow: root::mozilla::EventMessage = 84; - pub const EventMessage_eLegacySubtreeModified: root::mozilla::EventMessage = 85; - pub const EventMessage_eLegacyNodeInserted: root::mozilla::EventMessage = 86; - pub const EventMessage_eLegacyNodeRemoved: root::mozilla::EventMessage = 87; - pub const EventMessage_eLegacyNodeRemovedFromDocument: root::mozilla::EventMessage = 88; - pub const EventMessage_eLegacyNodeInsertedIntoDocument: root::mozilla::EventMessage = 89; - pub const EventMessage_eLegacyAttrModified: root::mozilla::EventMessage = 90; - pub const EventMessage_eLegacyCharacterDataModified: root::mozilla::EventMessage = 91; - pub const EventMessage_eLegacyMutationEventFirst: root::mozilla::EventMessage = 85; - pub const EventMessage_eLegacyMutationEventLast: root::mozilla::EventMessage = 91; - pub const EventMessage_eUnidentifiedEvent: root::mozilla::EventMessage = 92; - pub const EventMessage_eCompositionStart: root::mozilla::EventMessage = 93; - pub const EventMessage_eCompositionEnd: root::mozilla::EventMessage = 94; - pub const EventMessage_eCompositionUpdate: root::mozilla::EventMessage = 95; - pub const EventMessage_eCompositionChange: root::mozilla::EventMessage = 96; - pub const EventMessage_eCompositionCommitAsIs: root::mozilla::EventMessage = 97; - pub const EventMessage_eCompositionCommit: root::mozilla::EventMessage = 98; - pub const EventMessage_eCompositionCommitRequestHandled: root::mozilla::EventMessage = 99; - pub const EventMessage_eLegacyDOMActivate: root::mozilla::EventMessage = 100; - pub const EventMessage_eLegacyDOMFocusIn: root::mozilla::EventMessage = 101; - pub const EventMessage_eLegacyDOMFocusOut: root::mozilla::EventMessage = 102; - pub const EventMessage_ePageShow: root::mozilla::EventMessage = 103; - pub const EventMessage_ePageHide: root::mozilla::EventMessage = 104; - pub const EventMessage_eSVGLoad: root::mozilla::EventMessage = 105; - pub const EventMessage_eSVGUnload: root::mozilla::EventMessage = 106; - pub const EventMessage_eSVGResize: root::mozilla::EventMessage = 107; - pub const EventMessage_eSVGScroll: root::mozilla::EventMessage = 108; - pub const EventMessage_eSVGZoom: root::mozilla::EventMessage = 109; - pub const EventMessage_eXULCommand: root::mozilla::EventMessage = 110; - pub const EventMessage_eCopy: root::mozilla::EventMessage = 111; - pub const EventMessage_eCut: root::mozilla::EventMessage = 112; - pub const EventMessage_ePaste: root::mozilla::EventMessage = 113; - pub const EventMessage_ePasteNoFormatting: root::mozilla::EventMessage = 114; - pub const EventMessage_eQuerySelectedText: root::mozilla::EventMessage = 115; - pub const EventMessage_eQueryTextContent: root::mozilla::EventMessage = 116; - pub const EventMessage_eQueryCaretRect: root::mozilla::EventMessage = 117; - pub const EventMessage_eQueryTextRect: root::mozilla::EventMessage = 118; - pub const EventMessage_eQueryTextRectArray: root::mozilla::EventMessage = 119; - pub const EventMessage_eQueryEditorRect: root::mozilla::EventMessage = 120; - pub const EventMessage_eQueryContentState: root::mozilla::EventMessage = 121; - pub const EventMessage_eQuerySelectionAsTransferable: root::mozilla::EventMessage = 122; - pub const EventMessage_eQueryCharacterAtPoint: root::mozilla::EventMessage = 123; - pub const EventMessage_eQueryDOMWidgetHittest: root::mozilla::EventMessage = 124; - pub const EventMessage_eLoadStart: root::mozilla::EventMessage = 125; - pub const EventMessage_eProgress: root::mozilla::EventMessage = 126; - pub const EventMessage_eSuspend: root::mozilla::EventMessage = 127; - pub const EventMessage_eEmptied: root::mozilla::EventMessage = 128; - pub const EventMessage_eStalled: root::mozilla::EventMessage = 129; - pub const EventMessage_ePlay: root::mozilla::EventMessage = 130; - pub const EventMessage_ePause: root::mozilla::EventMessage = 131; - pub const EventMessage_eLoadedMetaData: root::mozilla::EventMessage = 132; - pub const EventMessage_eLoadedData: root::mozilla::EventMessage = 133; - pub const EventMessage_eWaiting: root::mozilla::EventMessage = 134; - pub const EventMessage_ePlaying: root::mozilla::EventMessage = 135; - pub const EventMessage_eCanPlay: root::mozilla::EventMessage = 136; - pub const EventMessage_eCanPlayThrough: root::mozilla::EventMessage = 137; - pub const EventMessage_eSeeking: root::mozilla::EventMessage = 138; - pub const EventMessage_eSeeked: root::mozilla::EventMessage = 139; - pub const EventMessage_eTimeUpdate: root::mozilla::EventMessage = 140; - pub const EventMessage_eEnded: root::mozilla::EventMessage = 141; - pub const EventMessage_eRateChange: root::mozilla::EventMessage = 142; - pub const EventMessage_eDurationChange: root::mozilla::EventMessage = 143; - pub const EventMessage_eVolumeChange: root::mozilla::EventMessage = 144; - pub const EventMessage_eAfterPaint: root::mozilla::EventMessage = 145; - pub const EventMessage_eSwipeGestureMayStart: root::mozilla::EventMessage = 146; - pub const EventMessage_eSwipeGestureStart: root::mozilla::EventMessage = 147; - pub const EventMessage_eSwipeGestureUpdate: root::mozilla::EventMessage = 148; - pub const EventMessage_eSwipeGestureEnd: root::mozilla::EventMessage = 149; - pub const EventMessage_eSwipeGesture: root::mozilla::EventMessage = 150; - pub const EventMessage_eMagnifyGestureStart: root::mozilla::EventMessage = 151; - pub const EventMessage_eMagnifyGestureUpdate: root::mozilla::EventMessage = 152; - pub const EventMessage_eMagnifyGesture: root::mozilla::EventMessage = 153; - pub const EventMessage_eRotateGestureStart: root::mozilla::EventMessage = 154; - pub const EventMessage_eRotateGestureUpdate: root::mozilla::EventMessage = 155; - pub const EventMessage_eRotateGesture: root::mozilla::EventMessage = 156; - pub const EventMessage_eTapGesture: root::mozilla::EventMessage = 157; - pub const EventMessage_ePressTapGesture: root::mozilla::EventMessage = 158; - pub const EventMessage_eEdgeUIStarted: root::mozilla::EventMessage = 159; - pub const EventMessage_eEdgeUICanceled: root::mozilla::EventMessage = 160; - pub const EventMessage_eEdgeUICompleted: root::mozilla::EventMessage = 161; - pub const EventMessage_ePluginInputEvent: root::mozilla::EventMessage = 162; - pub const EventMessage_eSetSelection: root::mozilla::EventMessage = 163; - pub const EventMessage_eContentCommandCut: root::mozilla::EventMessage = 164; - pub const EventMessage_eContentCommandCopy: root::mozilla::EventMessage = 165; - pub const EventMessage_eContentCommandPaste: root::mozilla::EventMessage = 166; - pub const EventMessage_eContentCommandDelete: root::mozilla::EventMessage = 167;