1 /* automatically generated by rust-bindgen */
2 
3 pub use self::root::*;
4 pub use self::root::mozilla::*;
5 pub use self::root::mozilla::css::*;
6 pub use self::root::mozilla::dom::*;
7 use atomic_refcell::AtomicRefCell;
8 use data::ElementData;
9 pub type ServoUnsafeCell<T> = ::std::cell::UnsafeCell<T>;
10 pub type ServoCell<T> = ::std::cell::Cell<T>;
11 pub type ServoNodeData = AtomicRefCell<ElementData>;
12 pub type ServoWritingMode = ::logical_geometry::WritingMode;
13 pub type ServoCustomPropertiesMap =
14     Option<::servo_arc::Arc<::custom_properties::CustomPropertiesMap>>;
15 pub type ServoRuleNode = Option<::rule_tree::StrongRuleNode>;
16 pub type ServoVisitedStyle = Option<::servo_arc::RawOffsetArc<::properties::ComputedValues>>;
17 pub type ServoComputedValueFlags = ::properties::computed_value_flags::ComputedValueFlags;
18 pub type ServoRawOffsetArc<T> = ::servo_arc::RawOffsetArc<T>;
19 pub type ServoStyleContextStrong =
20     ::gecko_bindings::sugar::ownership::Strong<::properties::ComputedValues>;
21 
22 #[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
23 pub mod root {
24     #[repr(C)]
25     #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
26     pub struct __BindgenBitfieldUnit<Storage, Align>
27     where
28         Storage: AsRef<[u8]> + AsMut<[u8]>,
29     {
30         storage: Storage,
31         align: [Align; 0],
32     }
33 
34     impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
35     where
36         Storage: AsRef<[u8]> + AsMut<[u8]>,
37     {
38         #[inline]
new(storage: Storage) -> Self39         pub fn new(storage: Storage) -> Self {
40             Self { storage, align: [] }
41         }
42 
43         #[inline]
get_bit(&self, index: usize) -> bool44         pub fn get_bit(&self, index: usize) -> bool {
45             debug_assert!(index / 8 < self.storage.as_ref().len());
46 
47             let byte_index = index / 8;
48             let byte = self.storage.as_ref()[byte_index];
49 
50             let bit_index = index % 8;
51             let mask = 1 << bit_index;
52 
53             byte & mask == mask
54         }
55 
56         #[inline]
set_bit(&mut self, index: usize, val: bool)57         pub fn set_bit(&mut self, index: usize, val: bool) {
58             debug_assert!(index / 8 < self.storage.as_ref().len());
59 
60             let byte_index = index / 8;
61             let byte = &mut self.storage.as_mut()[byte_index];
62 
63             let bit_index = index % 8;
64             let mask = 1 << bit_index;
65 
66             if val {
67                 *byte |= mask;
68             } else {
69                 *byte &= !mask;
70             }
71         }
72 
73         #[inline]
get(&self, bit_offset: usize, bit_width: u8) -> u6474         pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
75             debug_assert!(bit_width <= 64);
76             debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
77             debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
78 
79             let mut val = 0;
80 
81             for i in 0..(bit_width as usize) {
82                 if self.get_bit(i + bit_offset) {
83                     val |= 1 << i;
84                 }
85             }
86 
87             val
88         }
89 
90         #[inline]
set(&mut self, bit_offset: usize, bit_width: u8, val: u64)91         pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
92             debug_assert!(bit_width <= 64);
93             debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
94             debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
95 
96             for i in 0..(bit_width as usize) {
97                 let mask = 1 << i;
98                 let val_bit_is_set = val & mask == mask;
99                 self.set_bit(i + bit_offset, val_bit_is_set);
100             }
101         }
102     }
103     #[repr(C)]
104     pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
105     impl<T> __BindgenUnionField<T> {
106         #[inline]
new() -> Self107         pub fn new() -> Self {
108             __BindgenUnionField(::std::marker::PhantomData)
109         }
110         #[inline]
as_ref(&self) -> &T111         pub unsafe fn as_ref(&self) -> &T {
112             ::std::mem::transmute(self)
113         }
114         #[inline]
as_mut(&mut self) -> &mut T115         pub unsafe fn as_mut(&mut self) -> &mut T {
116             ::std::mem::transmute(self)
117         }
118     }
119     impl<T> ::std::default::Default for __BindgenUnionField<T> {
120         #[inline]
default() -> Self121         fn default() -> Self {
122             Self::new()
123         }
124     }
125     impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
126         #[inline]
clone(&self) -> Self127         fn clone(&self) -> Self {
128             Self::new()
129         }
130     }
131     impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
132     impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result133         fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
134             fmt.write_str("__BindgenUnionField")
135         }
136     }
137     impl<T> ::std::hash::Hash for __BindgenUnionField<T> {
hash<H: ::std::hash::Hasher>(&self, _state: &mut H)138         fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) {}
139     }
140     impl<T> ::std::cmp::PartialEq for __BindgenUnionField<T> {
eq(&self, _other: &__BindgenUnionField<T>) -> bool141         fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
142             true
143         }
144     }
145     impl<T> ::std::cmp::Eq for __BindgenUnionField<T> {}
146     #[allow(unused_imports)]
147     use self::super::root;
148     pub const NS_FONT_STYLE_NORMAL: u32 = 0;
149     pub const NS_FONT_STYLE_ITALIC: u32 = 1;
150     pub const NS_FONT_STYLE_OBLIQUE: u32 = 2;
151     pub const NS_FONT_WEIGHT_NORMAL: u32 = 400;
152     pub const NS_FONT_WEIGHT_BOLD: u32 = 700;
153     pub const NS_FONT_WEIGHT_THIN: u32 = 100;
154     pub const NS_FONT_STRETCH_ULTRA_CONDENSED: i32 = -4;
155     pub const NS_FONT_STRETCH_EXTRA_CONDENSED: i32 = -3;
156     pub const NS_FONT_STRETCH_CONDENSED: i32 = -2;
157     pub const NS_FONT_STRETCH_SEMI_CONDENSED: i32 = -1;
158     pub const NS_FONT_STRETCH_NORMAL: u32 = 0;
159     pub const NS_FONT_STRETCH_SEMI_EXPANDED: u32 = 1;
160     pub const NS_FONT_STRETCH_EXPANDED: u32 = 2;
161     pub const NS_FONT_STRETCH_EXTRA_EXPANDED: u32 = 3;
162     pub const NS_FONT_STRETCH_ULTRA_EXPANDED: u32 = 4;
163     pub const NS_FONT_SMOOTHING_AUTO: u32 = 0;
164     pub const NS_FONT_SMOOTHING_GRAYSCALE: u32 = 1;
165     pub const NS_FONT_KERNING_AUTO: u32 = 0;
166     pub const NS_FONT_KERNING_NONE: u32 = 1;
167     pub const NS_FONT_KERNING_NORMAL: u32 = 2;
168     pub const NS_FONT_SYNTHESIS_WEIGHT: u32 = 1;
169     pub const NS_FONT_SYNTHESIS_STYLE: u32 = 2;
170     pub const NS_FONT_DISPLAY_AUTO: u32 = 0;
171     pub const NS_FONT_DISPLAY_BLOCK: u32 = 1;
172     pub const NS_FONT_DISPLAY_SWAP: u32 = 2;
173     pub const NS_FONT_DISPLAY_FALLBACK: u32 = 3;
174     pub const NS_FONT_DISPLAY_OPTIONAL: u32 = 4;
175     pub const NS_FONT_OPTICAL_SIZING_AUTO: u32 = 0;
176     pub const NS_FONT_OPTICAL_SIZING_NONE: u32 = 1;
177     pub const NS_FONT_VARIANT_ALTERNATES_NORMAL: u32 = 0;
178     pub const NS_FONT_VARIANT_ALTERNATES_HISTORICAL: u32 = 1;
179     pub const NS_FONT_VARIANT_ALTERNATES_STYLISTIC: u32 = 2;
180     pub const NS_FONT_VARIANT_ALTERNATES_STYLESET: u32 = 4;
181     pub const NS_FONT_VARIANT_ALTERNATES_CHARACTER_VARIANT: u32 = 8;
182     pub const NS_FONT_VARIANT_ALTERNATES_SWASH: u32 = 16;
183     pub const NS_FONT_VARIANT_ALTERNATES_ORNAMENTS: u32 = 32;
184     pub const NS_FONT_VARIANT_ALTERNATES_ANNOTATION: u32 = 64;
185     pub const NS_FONT_VARIANT_ALTERNATES_COUNT: u32 = 7;
186     pub const NS_FONT_VARIANT_ALTERNATES_ENUMERATED_MASK: u32 = 1;
187     pub const NS_FONT_VARIANT_ALTERNATES_FUNCTIONAL_MASK: u32 = 126;
188     pub const NS_FONT_VARIANT_CAPS_NORMAL: u32 = 0;
189     pub const NS_FONT_VARIANT_CAPS_SMALLCAPS: u32 = 1;
190     pub const NS_FONT_VARIANT_CAPS_ALLSMALL: u32 = 2;
191     pub const NS_FONT_VARIANT_CAPS_PETITECAPS: u32 = 3;
192     pub const NS_FONT_VARIANT_CAPS_ALLPETITE: u32 = 4;
193     pub const NS_FONT_VARIANT_CAPS_TITLING: u32 = 5;
194     pub const NS_FONT_VARIANT_CAPS_UNICASE: u32 = 6;
195     pub const NS_FONT_VARIANT_EAST_ASIAN_NORMAL: u32 = 0;
196     pub const NS_FONT_VARIANT_EAST_ASIAN_JIS78: u32 = 1;
197     pub const NS_FONT_VARIANT_EAST_ASIAN_JIS83: u32 = 2;
198     pub const NS_FONT_VARIANT_EAST_ASIAN_JIS90: u32 = 4;
199     pub const NS_FONT_VARIANT_EAST_ASIAN_JIS04: u32 = 8;
200     pub const NS_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED: u32 = 16;
201     pub const NS_FONT_VARIANT_EAST_ASIAN_TRADITIONAL: u32 = 32;
202     pub const NS_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH: u32 = 64;
203     pub const NS_FONT_VARIANT_EAST_ASIAN_PROP_WIDTH: u32 = 128;
204     pub const NS_FONT_VARIANT_EAST_ASIAN_RUBY: u32 = 256;
205     pub const NS_FONT_VARIANT_EAST_ASIAN_COUNT: u32 = 9;
206     pub const NS_FONT_VARIANT_EAST_ASIAN_VARIANT_MASK: u32 = 63;
207     pub const NS_FONT_VARIANT_EAST_ASIAN_WIDTH_MASK: u32 = 192;
208     pub const NS_FONT_VARIANT_LIGATURES_NORMAL: u32 = 0;
209     pub const NS_FONT_VARIANT_LIGATURES_NONE: u32 = 1;
210     pub const NS_FONT_VARIANT_LIGATURES_COMMON: u32 = 2;
211     pub const NS_FONT_VARIANT_LIGATURES_NO_COMMON: u32 = 4;
212     pub const NS_FONT_VARIANT_LIGATURES_DISCRETIONARY: u32 = 8;
213     pub const NS_FONT_VARIANT_LIGATURES_NO_DISCRETIONARY: u32 = 16;
214     pub const NS_FONT_VARIANT_LIGATURES_HISTORICAL: u32 = 32;
215     pub const NS_FONT_VARIANT_LIGATURES_NO_HISTORICAL: u32 = 64;
216     pub const NS_FONT_VARIANT_LIGATURES_CONTEXTUAL: u32 = 128;
217     pub const NS_FONT_VARIANT_LIGATURES_NO_CONTEXTUAL: u32 = 256;
218     pub const NS_FONT_VARIANT_LIGATURES_COUNT: u32 = 9;
219     pub const NS_FONT_VARIANT_LIGATURES_COMMON_MASK: u32 = 6;
220     pub const NS_FONT_VARIANT_LIGATURES_DISCRETIONARY_MASK: u32 = 24;
221     pub const NS_FONT_VARIANT_LIGATURES_HISTORICAL_MASK: u32 = 96;
222     pub const NS_FONT_VARIANT_LIGATURES_CONTEXTUAL_MASK: u32 = 384;
223     pub const NS_FONT_VARIANT_NUMERIC_NORMAL: u32 = 0;
224     pub const NS_FONT_VARIANT_NUMERIC_LINING: u32 = 1;
225     pub const NS_FONT_VARIANT_NUMERIC_OLDSTYLE: u32 = 2;
226     pub const NS_FONT_VARIANT_NUMERIC_PROPORTIONAL: u32 = 4;
227     pub const NS_FONT_VARIANT_NUMERIC_TABULAR: u32 = 8;
228     pub const NS_FONT_VARIANT_NUMERIC_DIAGONAL_FRACTIONS: u32 = 16;
229     pub const NS_FONT_VARIANT_NUMERIC_STACKED_FRACTIONS: u32 = 32;
230     pub const NS_FONT_VARIANT_NUMERIC_SLASHZERO: u32 = 64;
231     pub const NS_FONT_VARIANT_NUMERIC_ORDINAL: u32 = 128;
232     pub const NS_FONT_VARIANT_NUMERIC_COUNT: u32 = 8;
233     pub const NS_FONT_VARIANT_NUMERIC_FIGURE_MASK: u32 = 3;
234     pub const NS_FONT_VARIANT_NUMERIC_SPACING_MASK: u32 = 12;
235     pub const NS_FONT_VARIANT_NUMERIC_FRACTION_MASK: u32 = 48;
236     pub const NS_FONT_VARIANT_POSITION_NORMAL: u32 = 0;
237     pub const NS_FONT_VARIANT_POSITION_SUPER: u32 = 1;
238     pub const NS_FONT_VARIANT_POSITION_SUB: u32 = 2;
239     pub const NS_FONT_VARIANT_WIDTH_NORMAL: u32 = 0;
240     pub const NS_FONT_VARIANT_WIDTH_FULL: u32 = 1;
241     pub const NS_FONT_VARIANT_WIDTH_HALF: u32 = 2;
242     pub const NS_FONT_VARIANT_WIDTH_THIRD: u32 = 3;
243     pub const NS_FONT_VARIANT_WIDTH_QUARTER: u32 = 4;
244     pub const NS_FONT_SUBSCRIPT_OFFSET_RATIO: f64 = 0.2;
245     pub const NS_FONT_SUPERSCRIPT_OFFSET_RATIO: f64 = 0.34;
246     pub const NS_FONT_SUB_SUPER_SIZE_RATIO_SMALL: f64 = 0.82;
247     pub const NS_FONT_SUB_SUPER_SIZE_RATIO_LARGE: f64 = 0.667;
248     pub const NS_FONT_SUB_SUPER_SMALL_SIZE: f64 = 20.;
249     pub const NS_FONT_SUB_SUPER_LARGE_SIZE: f64 = 45.;
250     pub const NS_FONT_VARIANT_NORMAL: u32 = 0;
251     pub const NS_FONT_VARIANT_SMALL_CAPS: u32 = 1;
252     pub const NS_STYLE_COLOR_INHERIT_FROM_BODY: u32 = 2;
253     pub const NS_STYLE_WILL_CHANGE_STACKING_CONTEXT: u32 = 1;
254     pub const NS_STYLE_WILL_CHANGE_TRANSFORM: u32 = 2;
255     pub const NS_STYLE_WILL_CHANGE_SCROLL: u32 = 4;
256     pub const NS_STYLE_WILL_CHANGE_OPACITY: u32 = 8;
257     pub const NS_STYLE_WILL_CHANGE_FIXPOS_CB: u32 = 16;
258     pub const NS_STYLE_WILL_CHANGE_ABSPOS_CB: u32 = 32;
259     pub const NS_STYLE_ANIMATION_ITERATION_COUNT_INFINITE: u32 = 0;
260     pub const NS_STYLE_ANIMATION_PLAY_STATE_RUNNING: u32 = 0;
261     pub const NS_STYLE_ANIMATION_PLAY_STATE_PAUSED: u32 = 1;
262     pub const NS_STYLE_IMAGELAYER_ATTACHMENT_SCROLL: u32 = 0;
263     pub const NS_STYLE_IMAGELAYER_ATTACHMENT_FIXED: u32 = 1;
264     pub const NS_STYLE_IMAGELAYER_ATTACHMENT_LOCAL: u32 = 2;
265     pub const NS_STYLE_IMAGELAYER_CLIP_MOZ_ALMOST_PADDING: u32 = 127;
266     pub const NS_STYLE_IMAGELAYER_POSITION_CENTER: u32 = 1;
267     pub const NS_STYLE_IMAGELAYER_POSITION_TOP: u32 = 2;
268     pub const NS_STYLE_IMAGELAYER_POSITION_BOTTOM: u32 = 4;
269     pub const NS_STYLE_IMAGELAYER_POSITION_LEFT: u32 = 8;
270     pub const NS_STYLE_IMAGELAYER_POSITION_RIGHT: u32 = 16;
271     pub const NS_STYLE_IMAGELAYER_SIZE_CONTAIN: u32 = 0;
272     pub const NS_STYLE_IMAGELAYER_SIZE_COVER: u32 = 1;
273     pub const NS_STYLE_MASK_MODE_ALPHA: u32 = 0;
274     pub const NS_STYLE_MASK_MODE_LUMINANCE: u32 = 1;
275     pub const NS_STYLE_MASK_MODE_MATCH_SOURCE: u32 = 2;
276     pub const NS_STYLE_BG_INLINE_POLICY_EACH_BOX: u32 = 0;
277     pub const NS_STYLE_BG_INLINE_POLICY_CONTINUOUS: u32 = 1;
278     pub const NS_STYLE_BG_INLINE_POLICY_BOUNDING_BOX: u32 = 2;
279     pub const NS_STYLE_BORDER_COLLAPSE: u32 = 0;
280     pub const NS_STYLE_BORDER_SEPARATE: u32 = 1;
281     pub const NS_STYLE_BORDER_WIDTH_THIN: u32 = 0;
282     pub const NS_STYLE_BORDER_WIDTH_MEDIUM: u32 = 1;
283     pub const NS_STYLE_BORDER_WIDTH_THICK: u32 = 2;
284     pub const NS_STYLE_BORDER_STYLE_NONE: u32 = 0;
285     pub const NS_STYLE_BORDER_STYLE_GROOVE: u32 = 1;
286     pub const NS_STYLE_BORDER_STYLE_RIDGE: u32 = 2;
287     pub const NS_STYLE_BORDER_STYLE_DOTTED: u32 = 3;
288     pub const NS_STYLE_BORDER_STYLE_DASHED: u32 = 4;
289     pub const NS_STYLE_BORDER_STYLE_SOLID: u32 = 5;
290     pub const NS_STYLE_BORDER_STYLE_DOUBLE: u32 = 6;
291     pub const NS_STYLE_BORDER_STYLE_INSET: u32 = 7;
292     pub const NS_STYLE_BORDER_STYLE_OUTSET: u32 = 8;
293     pub const NS_STYLE_BORDER_STYLE_HIDDEN: u32 = 9;
294     pub const NS_STYLE_BORDER_STYLE_AUTO: u32 = 10;
295     pub const NS_STYLE_BORDER_IMAGE_SLICE_NOFILL: u32 = 0;
296     pub const NS_STYLE_BORDER_IMAGE_SLICE_FILL: u32 = 1;
297     pub const NS_STYLE_CURSOR_AUTO: u32 = 1;
298     pub const NS_STYLE_CURSOR_CROSSHAIR: u32 = 2;
299     pub const NS_STYLE_CURSOR_DEFAULT: u32 = 3;
300     pub const NS_STYLE_CURSOR_POINTER: u32 = 4;
301     pub const NS_STYLE_CURSOR_MOVE: u32 = 5;
302     pub const NS_STYLE_CURSOR_E_RESIZE: u32 = 6;
303     pub const NS_STYLE_CURSOR_NE_RESIZE: u32 = 7;
304     pub const NS_STYLE_CURSOR_NW_RESIZE: u32 = 8;
305     pub const NS_STYLE_CURSOR_N_RESIZE: u32 = 9;
306     pub const NS_STYLE_CURSOR_SE_RESIZE: u32 = 10;
307     pub const NS_STYLE_CURSOR_SW_RESIZE: u32 = 11;
308     pub const NS_STYLE_CURSOR_S_RESIZE: u32 = 12;
309     pub const NS_STYLE_CURSOR_W_RESIZE: u32 = 13;
310     pub const NS_STYLE_CURSOR_TEXT: u32 = 14;
311     pub const NS_STYLE_CURSOR_WAIT: u32 = 15;
312     pub const NS_STYLE_CURSOR_HELP: u32 = 16;
313     pub const NS_STYLE_CURSOR_COPY: u32 = 17;
314     pub const NS_STYLE_CURSOR_ALIAS: u32 = 18;
315     pub const NS_STYLE_CURSOR_CONTEXT_MENU: u32 = 19;
316     pub const NS_STYLE_CURSOR_CELL: u32 = 20;
317     pub const NS_STYLE_CURSOR_GRAB: u32 = 21;
318     pub const NS_STYLE_CURSOR_GRABBING: u32 = 22;
319     pub const NS_STYLE_CURSOR_SPINNING: u32 = 23;
320     pub const NS_STYLE_CURSOR_ZOOM_IN: u32 = 24;
321     pub const NS_STYLE_CURSOR_ZOOM_OUT: u32 = 25;
322     pub const NS_STYLE_CURSOR_NOT_ALLOWED: u32 = 26;
323     pub const NS_STYLE_CURSOR_COL_RESIZE: u32 = 27;
324     pub const NS_STYLE_CURSOR_ROW_RESIZE: u32 = 28;
325     pub const NS_STYLE_CURSOR_NO_DROP: u32 = 29;
326     pub const NS_STYLE_CURSOR_VERTICAL_TEXT: u32 = 30;
327     pub const NS_STYLE_CURSOR_ALL_SCROLL: u32 = 31;
328     pub const NS_STYLE_CURSOR_NESW_RESIZE: u32 = 32;
329     pub const NS_STYLE_CURSOR_NWSE_RESIZE: u32 = 33;
330     pub const NS_STYLE_CURSOR_NS_RESIZE: u32 = 34;
331     pub const NS_STYLE_CURSOR_EW_RESIZE: u32 = 35;
332     pub const NS_STYLE_CURSOR_NONE: u32 = 36;
333     pub const NS_STYLE_DIRECTION_LTR: u32 = 0;
334     pub const NS_STYLE_DIRECTION_RTL: u32 = 1;
335     pub const NS_STYLE_WRITING_MODE_HORIZONTAL_TB: u32 = 0;
336     pub const NS_STYLE_WRITING_MODE_VERTICAL_RL: u32 = 1;
337     pub const NS_STYLE_WRITING_MODE_VERTICAL_LR: u32 = 3;
338     pub const NS_STYLE_WRITING_MODE_SIDEWAYS_MASK: u32 = 4;
339     pub const NS_STYLE_WRITING_MODE_SIDEWAYS_RL: u32 = 5;
340     pub const NS_STYLE_WRITING_MODE_SIDEWAYS_LR: u32 = 7;
341     pub const NS_STYLE_CONTAIN_NONE: u32 = 0;
342     pub const NS_STYLE_CONTAIN_STRICT: u32 = 1;
343     pub const NS_STYLE_CONTAIN_LAYOUT: u32 = 2;
344     pub const NS_STYLE_CONTAIN_STYLE: u32 = 4;
345     pub const NS_STYLE_CONTAIN_PAINT: u32 = 8;
346     pub const NS_STYLE_CONTAIN_ALL_BITS: u32 = 14;
347     pub const NS_STYLE_ALIGN_AUTO: u32 = 0;
348     pub const NS_STYLE_ALIGN_NORMAL: u32 = 1;
349     pub const NS_STYLE_ALIGN_START: u32 = 2;
350     pub const NS_STYLE_ALIGN_END: u32 = 3;
351     pub const NS_STYLE_ALIGN_FLEX_START: u32 = 4;
352     pub const NS_STYLE_ALIGN_FLEX_END: u32 = 5;
353     pub const NS_STYLE_ALIGN_CENTER: u32 = 6;
354     pub const NS_STYLE_ALIGN_LEFT: u32 = 7;
355     pub const NS_STYLE_ALIGN_RIGHT: u32 = 8;
356     pub const NS_STYLE_ALIGN_BASELINE: u32 = 9;
357     pub const NS_STYLE_ALIGN_LAST_BASELINE: u32 = 10;
358     pub const NS_STYLE_ALIGN_STRETCH: u32 = 11;
359     pub const NS_STYLE_ALIGN_SELF_START: u32 = 12;
360     pub const NS_STYLE_ALIGN_SELF_END: u32 = 13;
361     pub const NS_STYLE_ALIGN_SPACE_BETWEEN: u32 = 14;
362     pub const NS_STYLE_ALIGN_SPACE_AROUND: u32 = 15;
363     pub const NS_STYLE_ALIGN_SPACE_EVENLY: u32 = 16;
364     pub const NS_STYLE_ALIGN_LEGACY: u32 = 32;
365     pub const NS_STYLE_ALIGN_SAFE: u32 = 64;
366     pub const NS_STYLE_ALIGN_UNSAFE: u32 = 128;
367     pub const NS_STYLE_ALIGN_FLAG_BITS: u32 = 224;
368     pub const NS_STYLE_ALIGN_ALL_BITS: u32 = 255;
369     pub const NS_STYLE_ALIGN_ALL_SHIFT: u32 = 8;
370     pub const NS_STYLE_JUSTIFY_AUTO: u32 = 0;
371     pub const NS_STYLE_JUSTIFY_NORMAL: u32 = 1;
372     pub const NS_STYLE_JUSTIFY_START: u32 = 2;
373     pub const NS_STYLE_JUSTIFY_END: u32 = 3;
374     pub const NS_STYLE_JUSTIFY_FLEX_START: u32 = 4;
375     pub const NS_STYLE_JUSTIFY_FLEX_END: u32 = 5;
376     pub const NS_STYLE_JUSTIFY_CENTER: u32 = 6;
377     pub const NS_STYLE_JUSTIFY_LEFT: u32 = 7;
378     pub const NS_STYLE_JUSTIFY_RIGHT: u32 = 8;
379     pub const NS_STYLE_JUSTIFY_BASELINE: u32 = 9;
380     pub const NS_STYLE_JUSTIFY_LAST_BASELINE: u32 = 10;
381     pub const NS_STYLE_JUSTIFY_STRETCH: u32 = 11;
382     pub const NS_STYLE_JUSTIFY_SELF_START: u32 = 12;
383     pub const NS_STYLE_JUSTIFY_SELF_END: u32 = 13;
384     pub const NS_STYLE_JUSTIFY_SPACE_BETWEEN: u32 = 14;
385     pub const NS_STYLE_JUSTIFY_SPACE_AROUND: u32 = 15;
386     pub const NS_STYLE_JUSTIFY_SPACE_EVENLY: u32 = 16;
387     pub const NS_STYLE_JUSTIFY_LEGACY: u32 = 32;
388     pub const NS_STYLE_JUSTIFY_SAFE: u32 = 64;
389     pub const NS_STYLE_JUSTIFY_UNSAFE: u32 = 128;
390     pub const NS_STYLE_JUSTIFY_FLAG_BITS: u32 = 224;
391     pub const NS_STYLE_JUSTIFY_ALL_BITS: u32 = 255;
392     pub const NS_STYLE_JUSTIFY_ALL_SHIFT: u32 = 8;
393     pub const NS_STYLE_FLEX_DIRECTION_ROW: u32 = 0;
394     pub const NS_STYLE_FLEX_DIRECTION_ROW_REVERSE: u32 = 1;
395     pub const NS_STYLE_FLEX_DIRECTION_COLUMN: u32 = 2;
396     pub const NS_STYLE_FLEX_DIRECTION_COLUMN_REVERSE: u32 = 3;
397     pub const NS_STYLE_FLEX_WRAP_NOWRAP: u32 = 0;
398     pub const NS_STYLE_FLEX_WRAP_WRAP: u32 = 1;
399     pub const NS_STYLE_FLEX_WRAP_WRAP_REVERSE: u32 = 2;
400     pub const NS_STYLE_ORDER_INITIAL: u32 = 0;
401     pub const NS_STYLE_JUSTIFY_CONTENT_FLEX_START: u32 = 4;
402     pub const NS_STYLE_JUSTIFY_CONTENT_FLEX_END: u32 = 5;
403     pub const NS_STYLE_JUSTIFY_CONTENT_CENTER: u32 = 6;
404     pub const NS_STYLE_JUSTIFY_CONTENT_SPACE_BETWEEN: u32 = 14;
405     pub const NS_STYLE_JUSTIFY_CONTENT_SPACE_AROUND: u32 = 15;
406     pub const NS_STYLE_FILTER_NONE: u32 = 0;
407     pub const NS_STYLE_FILTER_URL: u32 = 1;
408     pub const NS_STYLE_FILTER_BLUR: u32 = 2;
409     pub const NS_STYLE_FILTER_BRIGHTNESS: u32 = 3;
410     pub const NS_STYLE_FILTER_CONTRAST: u32 = 4;
411     pub const NS_STYLE_FILTER_GRAYSCALE: u32 = 5;
412     pub const NS_STYLE_FILTER_INVERT: u32 = 6;
413     pub const NS_STYLE_FILTER_OPACITY: u32 = 7;
414     pub const NS_STYLE_FILTER_SATURATE: u32 = 8;
415     pub const NS_STYLE_FILTER_SEPIA: u32 = 9;
416     pub const NS_STYLE_FILTER_HUE_ROTATE: u32 = 10;
417     pub const NS_STYLE_FILTER_DROP_SHADOW: u32 = 11;
418     pub const NS_STYLE_FONT_STYLE_NORMAL: u32 = 0;
419     pub const NS_STYLE_FONT_STYLE_ITALIC: u32 = 1;
420     pub const NS_STYLE_FONT_STYLE_OBLIQUE: u32 = 2;
421     pub const NS_STYLE_FONT_WEIGHT_NORMAL: u32 = 400;
422     pub const NS_STYLE_FONT_WEIGHT_BOLD: u32 = 700;
423     pub const NS_STYLE_FONT_WEIGHT_BOLDER: i32 = -1;
424     pub const NS_STYLE_FONT_WEIGHT_LIGHTER: i32 = -2;
425     pub const NS_STYLE_FONT_SIZE_XXSMALL: u32 = 0;
426     pub const NS_STYLE_FONT_SIZE_XSMALL: u32 = 1;
427     pub const NS_STYLE_FONT_SIZE_SMALL: u32 = 2;
428     pub const NS_STYLE_FONT_SIZE_MEDIUM: u32 = 3;
429     pub const NS_STYLE_FONT_SIZE_LARGE: u32 = 4;
430     pub const NS_STYLE_FONT_SIZE_XLARGE: u32 = 5;
431     pub const NS_STYLE_FONT_SIZE_XXLARGE: u32 = 6;
432     pub const NS_STYLE_FONT_SIZE_XXXLARGE: u32 = 7;
433     pub const NS_STYLE_FONT_SIZE_LARGER: u32 = 8;
434     pub const NS_STYLE_FONT_SIZE_SMALLER: u32 = 9;
435     pub const NS_STYLE_FONT_SIZE_NO_KEYWORD: u32 = 10;
436     pub const NS_STYLE_FONT_STRETCH_ULTRA_CONDENSED: i32 = -4;
437     pub const NS_STYLE_FONT_STRETCH_EXTRA_CONDENSED: i32 = -3;
438     pub const NS_STYLE_FONT_STRETCH_CONDENSED: i32 = -2;
439     pub const NS_STYLE_FONT_STRETCH_SEMI_CONDENSED: i32 = -1;
440     pub const NS_STYLE_FONT_STRETCH_NORMAL: u32 = 0;
441     pub const NS_STYLE_FONT_STRETCH_SEMI_EXPANDED: u32 = 1;
442     pub const NS_STYLE_FONT_STRETCH_EXPANDED: u32 = 2;
443     pub const NS_STYLE_FONT_STRETCH_EXTRA_EXPANDED: u32 = 3;
444     pub const NS_STYLE_FONT_STRETCH_ULTRA_EXPANDED: u32 = 4;
445     pub const NS_STYLE_FONT_CAPTION: u32 = 1;
446     pub const NS_STYLE_FONT_ICON: u32 = 2;
447     pub const NS_STYLE_FONT_MENU: u32 = 3;
448     pub const NS_STYLE_FONT_MESSAGE_BOX: u32 = 4;
449     pub const NS_STYLE_FONT_SMALL_CAPTION: u32 = 5;
450     pub const NS_STYLE_FONT_STATUS_BAR: u32 = 6;
451     pub const NS_STYLE_FONT_WINDOW: u32 = 7;
452     pub const NS_STYLE_FONT_DOCUMENT: u32 = 8;
453     pub const NS_STYLE_FONT_WORKSPACE: u32 = 9;
454     pub const NS_STYLE_FONT_DESKTOP: u32 = 10;
455     pub const NS_STYLE_FONT_INFO: u32 = 11;
456     pub const NS_STYLE_FONT_DIALOG: u32 = 12;
457     pub const NS_STYLE_FONT_BUTTON: u32 = 13;
458     pub const NS_STYLE_FONT_PULL_DOWN_MENU: u32 = 14;
459     pub const NS_STYLE_FONT_LIST: u32 = 15;
460     pub const NS_STYLE_FONT_FIELD: u32 = 16;
461     pub const NS_STYLE_GRID_AUTO_FLOW_ROW: u32 = 1;
462     pub const NS_STYLE_GRID_AUTO_FLOW_COLUMN: u32 = 2;
463     pub const NS_STYLE_GRID_AUTO_FLOW_DENSE: u32 = 4;
464     pub const NS_STYLE_GRID_TEMPLATE_SUBGRID: u32 = 0;
465     pub const NS_STYLE_GRID_REPEAT_AUTO_FILL: u32 = 0;
466     pub const NS_STYLE_GRID_REPEAT_AUTO_FIT: u32 = 1;
467     pub const NS_MATHML_DEFAULT_SCRIPT_SIZE_MULTIPLIER: f64 = 0.71;
468     pub const NS_MATHML_DEFAULT_SCRIPT_MIN_SIZE_PT: u32 = 8;
469     pub const NS_MATHML_MATHVARIANT_NONE: u32 = 0;
470     pub const NS_MATHML_MATHVARIANT_NORMAL: u32 = 1;
471     pub const NS_MATHML_MATHVARIANT_BOLD: u32 = 2;
472     pub const NS_MATHML_MATHVARIANT_ITALIC: u32 = 3;
473     pub const NS_MATHML_MATHVARIANT_BOLD_ITALIC: u32 = 4;
474     pub const NS_MATHML_MATHVARIANT_SCRIPT: u32 = 5;
475     pub const NS_MATHML_MATHVARIANT_BOLD_SCRIPT: u32 = 6;
476     pub const NS_MATHML_MATHVARIANT_FRAKTUR: u32 = 7;
477     pub const NS_MATHML_MATHVARIANT_DOUBLE_STRUCK: u32 = 8;
478     pub const NS_MATHML_MATHVARIANT_BOLD_FRAKTUR: u32 = 9;
479     pub const NS_MATHML_MATHVARIANT_SANS_SERIF: u32 = 10;
480     pub const NS_MATHML_MATHVARIANT_BOLD_SANS_SERIF: u32 = 11;
481     pub const NS_MATHML_MATHVARIANT_SANS_SERIF_ITALIC: u32 = 12;
482     pub const NS_MATHML_MATHVARIANT_SANS_SERIF_BOLD_ITALIC: u32 = 13;
483     pub const NS_MATHML_MATHVARIANT_MONOSPACE: u32 = 14;
484     pub const NS_MATHML_MATHVARIANT_INITIAL: u32 = 15;
485     pub const NS_MATHML_MATHVARIANT_TAILED: u32 = 16;
486     pub const NS_MATHML_MATHVARIANT_LOOPED: u32 = 17;
487     pub const NS_MATHML_MATHVARIANT_STRETCHED: u32 = 18;
488     pub const NS_MATHML_DISPLAYSTYLE_INLINE: u32 = 0;
489     pub const NS_MATHML_DISPLAYSTYLE_BLOCK: u32 = 1;
490     pub const NS_STYLE_WIDTH_MAX_CONTENT: u32 = 0;
491     pub const NS_STYLE_WIDTH_MIN_CONTENT: u32 = 1;
492     pub const NS_STYLE_WIDTH_FIT_CONTENT: u32 = 2;
493     pub const NS_STYLE_WIDTH_AVAILABLE: u32 = 3;
494     pub const NS_STYLE_POSITION_STATIC: u32 = 0;
495     pub const NS_STYLE_POSITION_RELATIVE: u32 = 1;
496     pub const NS_STYLE_POSITION_ABSOLUTE: u32 = 2;
497     pub const NS_STYLE_POSITION_FIXED: u32 = 3;
498     pub const NS_STYLE_POSITION_STICKY: u32 = 4;
499     pub const NS_STYLE_CLIP_AUTO: u32 = 0;
500     pub const NS_STYLE_CLIP_RECT: u32 = 1;
501     pub const NS_STYLE_CLIP_TYPE_MASK: u32 = 15;
502     pub const NS_STYLE_CLIP_LEFT_AUTO: u32 = 16;
503     pub const NS_STYLE_CLIP_TOP_AUTO: u32 = 32;
504     pub const NS_STYLE_CLIP_RIGHT_AUTO: u32 = 64;
505     pub const NS_STYLE_CLIP_BOTTOM_AUTO: u32 = 128;
506     pub const NS_STYLE_FRAME_YES: u32 = 0;
507     pub const NS_STYLE_FRAME_NO: u32 = 1;
508     pub const NS_STYLE_FRAME_0: u32 = 2;
509     pub const NS_STYLE_FRAME_1: u32 = 3;
510     pub const NS_STYLE_FRAME_ON: u32 = 4;
511     pub const NS_STYLE_FRAME_OFF: u32 = 5;
512     pub const NS_STYLE_FRAME_AUTO: u32 = 6;
513     pub const NS_STYLE_FRAME_SCROLL: u32 = 7;
514     pub const NS_STYLE_FRAME_NOSCROLL: u32 = 8;
515     pub const NS_STYLE_OVERFLOW_VISIBLE: u32 = 0;
516     pub const NS_STYLE_OVERFLOW_HIDDEN: u32 = 1;
517     pub const NS_STYLE_OVERFLOW_SCROLL: u32 = 2;
518     pub const NS_STYLE_OVERFLOW_AUTO: u32 = 3;
519     pub const NS_STYLE_OVERFLOW_CLIP: u32 = 4;
520     pub const NS_STYLE_OVERFLOW_SCROLLBARS_HORIZONTAL: u32 = 5;
521     pub const NS_STYLE_OVERFLOW_SCROLLBARS_VERTICAL: u32 = 6;
522     pub const NS_STYLE_OVERFLOW_CLIP_BOX_PADDING_BOX: u32 = 0;
523     pub const NS_STYLE_OVERFLOW_CLIP_BOX_CONTENT_BOX: u32 = 1;
524     pub const NS_STYLE_LIST_STYLE_CUSTOM: i32 = -1;
525     pub const NS_STYLE_LIST_STYLE_NONE: u32 = 0;
526     pub const NS_STYLE_LIST_STYLE_DECIMAL: u32 = 1;
527     pub const NS_STYLE_LIST_STYLE_DISC: u32 = 2;
528     pub const NS_STYLE_LIST_STYLE_CIRCLE: u32 = 3;
529     pub const NS_STYLE_LIST_STYLE_SQUARE: u32 = 4;
530     pub const NS_STYLE_LIST_STYLE_DISCLOSURE_CLOSED: u32 = 5;
531     pub const NS_STYLE_LIST_STYLE_DISCLOSURE_OPEN: u32 = 6;
532     pub const NS_STYLE_LIST_STYLE_HEBREW: u32 = 7;
533     pub const NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL: u32 = 8;
534     pub const NS_STYLE_LIST_STYLE_JAPANESE_FORMAL: u32 = 9;
535     pub const NS_STYLE_LIST_STYLE_KOREAN_HANGUL_FORMAL: u32 = 10;
536     pub const NS_STYLE_LIST_STYLE_KOREAN_HANJA_INFORMAL: u32 = 11;
537     pub const NS_STYLE_LIST_STYLE_KOREAN_HANJA_FORMAL: u32 = 12;
538     pub const NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL: u32 = 13;
539     pub const NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL: u32 = 14;
540     pub const NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL: u32 = 15;
541     pub const NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL: u32 = 16;
542     pub const NS_STYLE_LIST_STYLE_ETHIOPIC_NUMERIC: u32 = 17;
543     pub const NS_STYLE_LIST_STYLE_LOWER_ROMAN: u32 = 100;
544     pub const NS_STYLE_LIST_STYLE_UPPER_ROMAN: u32 = 101;
545     pub const NS_STYLE_LIST_STYLE_LOWER_ALPHA: u32 = 102;
546     pub const NS_STYLE_LIST_STYLE_UPPER_ALPHA: u32 = 103;
547     pub const NS_STYLE_LIST_STYLE_POSITION_INSIDE: u32 = 0;
548     pub const NS_STYLE_LIST_STYLE_POSITION_OUTSIDE: u32 = 1;
549     pub const NS_STYLE_MARGIN_SIZE_AUTO: u32 = 0;
550     pub const NS_STYLE_POINTER_EVENTS_NONE: u32 = 0;
551     pub const NS_STYLE_POINTER_EVENTS_VISIBLEPAINTED: u32 = 1;
552     pub const NS_STYLE_POINTER_EVENTS_VISIBLEFILL: u32 = 2;
553     pub const NS_STYLE_POINTER_EVENTS_VISIBLESTROKE: u32 = 3;
554     pub const NS_STYLE_POINTER_EVENTS_VISIBLE: u32 = 4;
555     pub const NS_STYLE_POINTER_EVENTS_PAINTED: u32 = 5;
556     pub const NS_STYLE_POINTER_EVENTS_FILL: u32 = 6;
557     pub const NS_STYLE_POINTER_EVENTS_STROKE: u32 = 7;
558     pub const NS_STYLE_POINTER_EVENTS_ALL: u32 = 8;
559     pub const NS_STYLE_POINTER_EVENTS_AUTO: u32 = 9;
560     pub const NS_STYLE_IMAGE_ORIENTATION_FLIP: u32 = 0;
561     pub const NS_STYLE_IMAGE_ORIENTATION_FROM_IMAGE: u32 = 1;
562     pub const NS_STYLE_ISOLATION_AUTO: u32 = 0;
563     pub const NS_STYLE_ISOLATION_ISOLATE: u32 = 1;
564     pub const NS_STYLE_OBJECT_FIT_FILL: u32 = 0;
565     pub const NS_STYLE_OBJECT_FIT_CONTAIN: u32 = 1;
566     pub const NS_STYLE_OBJECT_FIT_COVER: u32 = 2;
567     pub const NS_STYLE_OBJECT_FIT_NONE: u32 = 3;
568     pub const NS_STYLE_OBJECT_FIT_SCALE_DOWN: u32 = 4;
569     pub const NS_STYLE_RESIZE_NONE: u32 = 0;
570     pub const NS_STYLE_RESIZE_BOTH: u32 = 1;
571     pub const NS_STYLE_RESIZE_HORIZONTAL: u32 = 2;
572     pub const NS_STYLE_RESIZE_VERTICAL: u32 = 3;
573     pub const NS_STYLE_TEXT_ALIGN_START: u32 = 0;
574     pub const NS_STYLE_TEXT_ALIGN_LEFT: u32 = 1;
575     pub const NS_STYLE_TEXT_ALIGN_RIGHT: u32 = 2;
576     pub const NS_STYLE_TEXT_ALIGN_CENTER: u32 = 3;
577     pub const NS_STYLE_TEXT_ALIGN_JUSTIFY: u32 = 4;
578     pub const NS_STYLE_TEXT_ALIGN_CHAR: u32 = 5;
579     pub const NS_STYLE_TEXT_ALIGN_END: u32 = 6;
580     pub const NS_STYLE_TEXT_ALIGN_AUTO: u32 = 7;
581     pub const NS_STYLE_TEXT_ALIGN_MOZ_CENTER: u32 = 8;
582     pub const NS_STYLE_TEXT_ALIGN_MOZ_RIGHT: u32 = 9;
583     pub const NS_STYLE_TEXT_ALIGN_MOZ_LEFT: u32 = 10;
584     pub const NS_STYLE_TEXT_ALIGN_MOZ_CENTER_OR_INHERIT: u32 = 11;
585     pub const NS_STYLE_TEXT_ALIGN_UNSAFE: u32 = 12;
586     pub const NS_STYLE_TEXT_ALIGN_MATCH_PARENT: u32 = 13;
587     pub const NS_STYLE_TEXT_DECORATION_LINE_NONE: u32 = 0;
588     pub const NS_STYLE_TEXT_DECORATION_LINE_UNDERLINE: u32 = 1;
589     pub const NS_STYLE_TEXT_DECORATION_LINE_OVERLINE: u32 = 2;
590     pub const NS_STYLE_TEXT_DECORATION_LINE_LINE_THROUGH: u32 = 4;
591     pub const NS_STYLE_TEXT_DECORATION_LINE_BLINK: u32 = 8;
592     pub const NS_STYLE_TEXT_DECORATION_LINE_OVERRIDE_ALL: u32 = 16;
593     pub const NS_STYLE_TEXT_DECORATION_LINE_LINES_MASK: u32 = 7;
594     pub const NS_STYLE_TEXT_DECORATION_STYLE_NONE: u32 = 0;
595     pub const NS_STYLE_TEXT_DECORATION_STYLE_DOTTED: u32 = 1;
596     pub const NS_STYLE_TEXT_DECORATION_STYLE_DASHED: u32 = 2;
597     pub const NS_STYLE_TEXT_DECORATION_STYLE_SOLID: u32 = 3;
598     pub const NS_STYLE_TEXT_DECORATION_STYLE_DOUBLE: u32 = 4;
599     pub const NS_STYLE_TEXT_DECORATION_STYLE_WAVY: u32 = 5;
600     pub const NS_STYLE_TEXT_DECORATION_STYLE_MAX: u32 = 5;
601     pub const NS_STYLE_TEXT_OVERFLOW_CLIP: u32 = 0;
602     pub const NS_STYLE_TEXT_OVERFLOW_ELLIPSIS: u32 = 1;
603     pub const NS_STYLE_TEXT_OVERFLOW_STRING: u32 = 2;
604     pub const NS_STYLE_TEXT_TRANSFORM_NONE: u32 = 0;
605     pub const NS_STYLE_TEXT_TRANSFORM_CAPITALIZE: u32 = 1;
606     pub const NS_STYLE_TEXT_TRANSFORM_LOWERCASE: u32 = 2;
607     pub const NS_STYLE_TEXT_TRANSFORM_UPPERCASE: u32 = 3;
608     pub const NS_STYLE_TEXT_TRANSFORM_FULL_WIDTH: u32 = 4;
609     pub const NS_STYLE_TOUCH_ACTION_NONE: u32 = 1;
610     pub const NS_STYLE_TOUCH_ACTION_AUTO: u32 = 2;
611     pub const NS_STYLE_TOUCH_ACTION_PAN_X: u32 = 4;
612     pub const NS_STYLE_TOUCH_ACTION_PAN_Y: u32 = 8;
613     pub const NS_STYLE_TOUCH_ACTION_MANIPULATION: u32 = 16;
614     pub const NS_STYLE_TOP_LAYER_NONE: u32 = 0;
615     pub const NS_STYLE_TOP_LAYER_TOP: u32 = 1;
616     pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE: u32 = 0;
617     pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_LINEAR: u32 = 1;
618     pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_IN: u32 = 2;
619     pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_OUT: u32 = 3;
620     pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_EASE_IN_OUT: u32 = 4;
621     pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_STEP_START: u32 = 5;
622     pub const NS_STYLE_TRANSITION_TIMING_FUNCTION_STEP_END: u32 = 6;
623     pub const NS_STYLE_VERTICAL_ALIGN_BASELINE: u32 = 14;
624     pub const NS_STYLE_VERTICAL_ALIGN_SUB: u32 = 15;
625     pub const NS_STYLE_VERTICAL_ALIGN_SUPER: u32 = 16;
626     pub const NS_STYLE_VERTICAL_ALIGN_TOP: u32 = 17;
627     pub const NS_STYLE_VERTICAL_ALIGN_TEXT_TOP: u32 = 18;
628     pub const NS_STYLE_VERTICAL_ALIGN_MIDDLE: u32 = 19;
629     pub const NS_STYLE_VERTICAL_ALIGN_TEXT_BOTTOM: u32 = 20;
630     pub const NS_STYLE_VERTICAL_ALIGN_BOTTOM: u32 = 21;
631     pub const NS_STYLE_VERTICAL_ALIGN_MIDDLE_WITH_BASELINE: u32 = 22;
632     pub const NS_STYLE_VISIBILITY_HIDDEN: u32 = 0;
633     pub const NS_STYLE_VISIBILITY_VISIBLE: u32 = 1;
634     pub const NS_STYLE_VISIBILITY_COLLAPSE: u32 = 2;
635     pub const NS_STYLE_TABSIZE_INITIAL: u32 = 8;
636     pub const NS_STYLE_WORDBREAK_NORMAL: u32 = 0;
637     pub const NS_STYLE_WORDBREAK_BREAK_ALL: u32 = 1;
638     pub const NS_STYLE_WORDBREAK_KEEP_ALL: u32 = 2;
639     pub const NS_STYLE_OVERFLOWWRAP_NORMAL: u32 = 0;
640     pub const NS_STYLE_OVERFLOWWRAP_BREAK_WORD: u32 = 1;
641     pub const NS_STYLE_RUBY_ALIGN_START: u32 = 0;
642     pub const NS_STYLE_RUBY_ALIGN_CENTER: u32 = 1;
643     pub const NS_STYLE_RUBY_ALIGN_SPACE_BETWEEN: u32 = 2;
644     pub const NS_STYLE_RUBY_ALIGN_SPACE_AROUND: u32 = 3;
645     pub const NS_STYLE_RUBY_POSITION_OVER: u32 = 0;
646     pub const NS_STYLE_RUBY_POSITION_UNDER: u32 = 1;
647     pub const NS_STYLE_RUBY_POSITION_INTER_CHARACTER: u32 = 2;
648     pub const NS_STYLE_TEXT_SIZE_ADJUST_NONE: u32 = 0;
649     pub const NS_STYLE_TEXT_SIZE_ADJUST_AUTO: u32 = 1;
650     pub const NS_STYLE_TEXT_ORIENTATION_MIXED: u32 = 0;
651     pub const NS_STYLE_TEXT_ORIENTATION_UPRIGHT: u32 = 1;
652     pub const NS_STYLE_TEXT_ORIENTATION_SIDEWAYS: u32 = 2;
653     pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_NONE: u32 = 0;
654     pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_ALL: u32 = 1;
655     pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_2: u32 = 2;
656     pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_3: u32 = 3;
657     pub const NS_STYLE_TEXT_COMBINE_UPRIGHT_DIGITS_4: u32 = 4;
658     pub const NS_STYLE_LINE_HEIGHT_BLOCK_HEIGHT: u32 = 0;
659     pub const NS_STYLE_UNICODE_BIDI_NORMAL: u32 = 0;
660     pub const NS_STYLE_UNICODE_BIDI_EMBED: u32 = 1;
661     pub const NS_STYLE_UNICODE_BIDI_ISOLATE: u32 = 2;
662     pub const NS_STYLE_UNICODE_BIDI_BIDI_OVERRIDE: u32 = 4;
663     pub const NS_STYLE_UNICODE_BIDI_ISOLATE_OVERRIDE: u32 = 6;
664     pub const NS_STYLE_UNICODE_BIDI_PLAINTEXT: u32 = 8;
665     pub const NS_STYLE_TABLE_LAYOUT_AUTO: u32 = 0;
666     pub const NS_STYLE_TABLE_LAYOUT_FIXED: u32 = 1;
667     pub const NS_STYLE_TABLE_EMPTY_CELLS_HIDE: u32 = 0;
668     pub const NS_STYLE_TABLE_EMPTY_CELLS_SHOW: u32 = 1;
669     pub const NS_STYLE_CAPTION_SIDE_TOP: u32 = 0;
670     pub const NS_STYLE_CAPTION_SIDE_RIGHT: u32 = 1;
671     pub const NS_STYLE_CAPTION_SIDE_BOTTOM: u32 = 2;
672     pub const NS_STYLE_CAPTION_SIDE_LEFT: u32 = 3;
673     pub const NS_STYLE_CAPTION_SIDE_TOP_OUTSIDE: u32 = 4;
674     pub const NS_STYLE_CAPTION_SIDE_BOTTOM_OUTSIDE: u32 = 5;
675     pub const NS_STYLE_CELL_SCOPE_ROW: u32 = 0;
676     pub const NS_STYLE_CELL_SCOPE_COL: u32 = 1;
677     pub const NS_STYLE_CELL_SCOPE_ROWGROUP: u32 = 2;
678     pub const NS_STYLE_CELL_SCOPE_COLGROUP: u32 = 3;
679     pub const NS_STYLE_PAGE_MARKS_NONE: u32 = 0;
680     pub const NS_STYLE_PAGE_MARKS_CROP: u32 = 1;
681     pub const NS_STYLE_PAGE_MARKS_REGISTER: u32 = 2;
682     pub const NS_STYLE_PAGE_SIZE_AUTO: u32 = 0;
683     pub const NS_STYLE_PAGE_SIZE_PORTRAIT: u32 = 1;
684     pub const NS_STYLE_PAGE_SIZE_LANDSCAPE: u32 = 2;
685     pub const NS_STYLE_PAGE_BREAK_AUTO: u32 = 0;
686     pub const NS_STYLE_PAGE_BREAK_ALWAYS: u32 = 1;
687     pub const NS_STYLE_PAGE_BREAK_AVOID: u32 = 2;
688     pub const NS_STYLE_PAGE_BREAK_LEFT: u32 = 3;
689     pub const NS_STYLE_PAGE_BREAK_RIGHT: u32 = 4;
690     pub const NS_STYLE_COLUMN_COUNT_AUTO: u32 = 0;
691     pub const NS_STYLE_COLUMN_COUNT_UNLIMITED: i32 = -1;
692     pub const NS_STYLE_COLUMN_FILL_AUTO: u32 = 0;
693     pub const NS_STYLE_COLUMN_FILL_BALANCE: u32 = 1;
694     pub const NS_STYLE_COLUMN_SPAN_NONE: u32 = 0;
695     pub const NS_STYLE_COLUMN_SPAN_ALL: u32 = 1;
696     pub const NS_STYLE_IME_MODE_AUTO: u32 = 0;
697     pub const NS_STYLE_IME_MODE_NORMAL: u32 = 1;
698     pub const NS_STYLE_IME_MODE_ACTIVE: u32 = 2;
699     pub const NS_STYLE_IME_MODE_DISABLED: u32 = 3;
700     pub const NS_STYLE_IME_MODE_INACTIVE: u32 = 4;
701     pub const NS_STYLE_GRADIENT_SHAPE_LINEAR: u32 = 0;
702     pub const NS_STYLE_GRADIENT_SHAPE_ELLIPTICAL: u32 = 1;
703     pub const NS_STYLE_GRADIENT_SHAPE_CIRCULAR: u32 = 2;
704     pub const NS_STYLE_GRADIENT_SIZE_CLOSEST_SIDE: u32 = 0;
705     pub const NS_STYLE_GRADIENT_SIZE_CLOSEST_CORNER: u32 = 1;
706     pub const NS_STYLE_GRADIENT_SIZE_FARTHEST_SIDE: u32 = 2;
707     pub const NS_STYLE_GRADIENT_SIZE_FARTHEST_CORNER: u32 = 3;
708     pub const NS_STYLE_GRADIENT_SIZE_EXPLICIT_SIZE: u32 = 4;
709     pub const NS_STYLE_CONTEXT_PROPERTY_FILL: u32 = 1;
710     pub const NS_STYLE_CONTEXT_PROPERTY_STROKE: u32 = 2;
711     pub const NS_STYLE_CONTEXT_PROPERTY_FILL_OPACITY: u32 = 4;
712     pub const NS_STYLE_CONTEXT_PROPERTY_STROKE_OPACITY: u32 = 8;
713     pub const NS_STYLE_WINDOW_SHADOW_NONE: u32 = 0;
714     pub const NS_STYLE_WINDOW_SHADOW_DEFAULT: u32 = 1;
715     pub const NS_STYLE_WINDOW_SHADOW_MENU: u32 = 2;
716     pub const NS_STYLE_WINDOW_SHADOW_TOOLTIP: u32 = 3;
717     pub const NS_STYLE_WINDOW_SHADOW_SHEET: u32 = 4;
718     pub const NS_STYLE_DOMINANT_BASELINE_AUTO: u32 = 0;
719     pub const NS_STYLE_DOMINANT_BASELINE_USE_SCRIPT: u32 = 1;
720     pub const NS_STYLE_DOMINANT_BASELINE_NO_CHANGE: u32 = 2;
721     pub const NS_STYLE_DOMINANT_BASELINE_RESET_SIZE: u32 = 3;
722     pub const NS_STYLE_DOMINANT_BASELINE_IDEOGRAPHIC: u32 = 4;
723     pub const NS_STYLE_DOMINANT_BASELINE_ALPHABETIC: u32 = 5;
724     pub const NS_STYLE_DOMINANT_BASELINE_HANGING: u32 = 6;
725     pub const NS_STYLE_DOMINANT_BASELINE_MATHEMATICAL: u32 = 7;
726     pub const NS_STYLE_DOMINANT_BASELINE_CENTRAL: u32 = 8;
727     pub const NS_STYLE_DOMINANT_BASELINE_MIDDLE: u32 = 9;
728     pub const NS_STYLE_DOMINANT_BASELINE_TEXT_AFTER_EDGE: u32 = 10;
729     pub const NS_STYLE_DOMINANT_BASELINE_TEXT_BEFORE_EDGE: u32 = 11;
730     pub const NS_STYLE_IMAGE_RENDERING_AUTO: u32 = 0;
731     pub const NS_STYLE_IMAGE_RENDERING_OPTIMIZESPEED: u32 = 1;
732     pub const NS_STYLE_IMAGE_RENDERING_OPTIMIZEQUALITY: u32 = 2;
733     pub const NS_STYLE_IMAGE_RENDERING_CRISPEDGES: u32 = 3;
734     pub const NS_STYLE_MASK_TYPE_LUMINANCE: u32 = 0;
735     pub const NS_STYLE_MASK_TYPE_ALPHA: u32 = 1;
736     pub const NS_STYLE_PAINT_ORDER_NORMAL: u32 = 0;
737     pub const NS_STYLE_PAINT_ORDER_FILL: u32 = 1;
738     pub const NS_STYLE_PAINT_ORDER_STROKE: u32 = 2;
739     pub const NS_STYLE_PAINT_ORDER_MARKERS: u32 = 3;
740     pub const NS_STYLE_PAINT_ORDER_LAST_VALUE: u32 = 3;
741     pub const NS_STYLE_PAINT_ORDER_BITWIDTH: u32 = 2;
742     pub const NS_STYLE_SHAPE_RENDERING_AUTO: u32 = 0;
743     pub const NS_STYLE_SHAPE_RENDERING_OPTIMIZESPEED: u32 = 1;
744     pub const NS_STYLE_SHAPE_RENDERING_CRISPEDGES: u32 = 2;
745     pub const NS_STYLE_SHAPE_RENDERING_GEOMETRICPRECISION: u32 = 3;
746     pub const NS_STYLE_STROKE_LINECAP_BUTT: u32 = 0;
747     pub const NS_STYLE_STROKE_LINECAP_ROUND: u32 = 1;
748     pub const NS_STYLE_STROKE_LINECAP_SQUARE: u32 = 2;
749     pub const NS_STYLE_STROKE_LINEJOIN_MITER: u32 = 0;
750     pub const NS_STYLE_STROKE_LINEJOIN_ROUND: u32 = 1;
751     pub const NS_STYLE_STROKE_LINEJOIN_BEVEL: u32 = 2;
752     pub const NS_STYLE_STROKE_PROP_CONTEXT_VALUE: u32 = 0;
753     pub const NS_STYLE_TEXT_ANCHOR_START: u32 = 0;
754     pub const NS_STYLE_TEXT_ANCHOR_MIDDLE: u32 = 1;
755     pub const NS_STYLE_TEXT_ANCHOR_END: u32 = 2;
756     pub const NS_STYLE_TEXT_EMPHASIS_POSITION_OVER: u32 = 1;
757     pub const NS_STYLE_TEXT_EMPHASIS_POSITION_UNDER: u32 = 2;
758     pub const NS_STYLE_TEXT_EMPHASIS_POSITION_LEFT: u32 = 4;
759     pub const NS_STYLE_TEXT_EMPHASIS_POSITION_RIGHT: u32 = 8;
760     pub const NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT: u32 = 9;
761     pub const NS_STYLE_TEXT_EMPHASIS_POSITION_DEFAULT_ZH: u32 = 10;
762     pub const NS_STYLE_TEXT_EMPHASIS_STYLE_NONE: u32 = 0;
763     pub const NS_STYLE_TEXT_EMPHASIS_STYLE_FILL_MASK: u32 = 8;
764     pub const NS_STYLE_TEXT_EMPHASIS_STYLE_FILLED: u32 = 0;
765     pub const NS_STYLE_TEXT_EMPHASIS_STYLE_OPEN: u32 = 8;
766     pub const NS_STYLE_TEXT_EMPHASIS_STYLE_SHAPE_MASK: u32 = 7;
767     pub const NS_STYLE_TEXT_EMPHASIS_STYLE_DOT: u32 = 1;
768     pub const NS_STYLE_TEXT_EMPHASIS_STYLE_CIRCLE: u32 = 2;
769     pub const NS_STYLE_TEXT_EMPHASIS_STYLE_DOUBLE_CIRCLE: u32 = 3;
770     pub const NS_STYLE_TEXT_EMPHASIS_STYLE_TRIANGLE: u32 = 4;
771     pub const NS_STYLE_TEXT_EMPHASIS_STYLE_SESAME: u32 = 5;
772     pub const NS_STYLE_TEXT_EMPHASIS_STYLE_STRING: u32 = 255;
773     pub const NS_STYLE_TEXT_RENDERING_AUTO: u32 = 0;
774     pub const NS_STYLE_TEXT_RENDERING_OPTIMIZESPEED: u32 = 1;
775     pub const NS_STYLE_TEXT_RENDERING_OPTIMIZELEGIBILITY: u32 = 2;
776     pub const NS_STYLE_TEXT_RENDERING_GEOMETRICPRECISION: u32 = 3;
777     pub const NS_STYLE_COLOR_ADJUST_ECONOMY: u32 = 0;
778     pub const NS_STYLE_COLOR_ADJUST_EXACT: u32 = 1;
779     pub const NS_STYLE_COLOR_INTERPOLATION_AUTO: u32 = 0;
780     pub const NS_STYLE_COLOR_INTERPOLATION_SRGB: u32 = 1;
781     pub const NS_STYLE_COLOR_INTERPOLATION_LINEARRGB: u32 = 2;
782     pub const NS_STYLE_VECTOR_EFFECT_NONE: u32 = 0;
783     pub const NS_STYLE_VECTOR_EFFECT_NON_SCALING_STROKE: u32 = 1;
784     pub const NS_STYLE_BACKFACE_VISIBILITY_VISIBLE: u32 = 1;
785     pub const NS_STYLE_BACKFACE_VISIBILITY_HIDDEN: u32 = 0;
786     pub const NS_STYLE_TRANSFORM_STYLE_FLAT: u32 = 0;
787     pub const NS_STYLE_TRANSFORM_STYLE_PRESERVE_3D: u32 = 1;
788     pub const NS_STYLE_CONTEXT_FILL_OPACITY: u32 = 0;
789     pub const NS_STYLE_CONTEXT_STROKE_OPACITY: u32 = 1;
790     pub const NS_STYLE_BLEND_NORMAL: u32 = 0;
791     pub const NS_STYLE_BLEND_MULTIPLY: u32 = 1;
792     pub const NS_STYLE_BLEND_SCREEN: u32 = 2;
793     pub const NS_STYLE_BLEND_OVERLAY: u32 = 3;
794     pub const NS_STYLE_BLEND_DARKEN: u32 = 4;
795     pub const NS_STYLE_BLEND_LIGHTEN: u32 = 5;
796     pub const NS_STYLE_BLEND_COLOR_DODGE: u32 = 6;
797     pub const NS_STYLE_BLEND_COLOR_BURN: u32 = 7;
798     pub const NS_STYLE_BLEND_HARD_LIGHT: u32 = 8;
799     pub const NS_STYLE_BLEND_SOFT_LIGHT: u32 = 9;
800     pub const NS_STYLE_BLEND_DIFFERENCE: u32 = 10;
801     pub const NS_STYLE_BLEND_EXCLUSION: u32 = 11;
802     pub const NS_STYLE_BLEND_HUE: u32 = 12;
803     pub const NS_STYLE_BLEND_SATURATION: u32 = 13;
804     pub const NS_STYLE_BLEND_COLOR: u32 = 14;
805     pub const NS_STYLE_BLEND_LUMINOSITY: u32 = 15;
806     pub const NS_STYLE_MASK_COMPOSITE_ADD: u32 = 0;
807     pub const NS_STYLE_MASK_COMPOSITE_SUBTRACT: u32 = 1;
808     pub const NS_STYLE_MASK_COMPOSITE_INTERSECT: u32 = 2;
809     pub const NS_STYLE_MASK_COMPOSITE_EXCLUDE: u32 = 3;
810     pub const NS_STYLE_CONTROL_CHARACTER_VISIBILITY_HIDDEN: u32 = 0;
811     pub const NS_STYLE_CONTROL_CHARACTER_VISIBILITY_VISIBLE: u32 = 1;
812     pub const NS_STYLE_COUNTER_SYSTEM_CYCLIC: u32 = 0;
813     pub const NS_STYLE_COUNTER_SYSTEM_NUMERIC: u32 = 1;
814     pub const NS_STYLE_COUNTER_SYSTEM_ALPHABETIC: u32 = 2;
815     pub const NS_STYLE_COUNTER_SYSTEM_SYMBOLIC: u32 = 3;
816     pub const NS_STYLE_COUNTER_SYSTEM_ADDITIVE: u32 = 4;
817     pub const NS_STYLE_COUNTER_SYSTEM_FIXED: u32 = 5;
818     pub const NS_STYLE_COUNTER_SYSTEM_EXTENDS: u32 = 6;
819     pub const NS_STYLE_COUNTER_RANGE_INFINITE: u32 = 0;
820     pub const NS_STYLE_COUNTER_SPEAKAS_BULLETS: u32 = 0;
821     pub const NS_STYLE_COUNTER_SPEAKAS_NUMBERS: u32 = 1;
822     pub const NS_STYLE_COUNTER_SPEAKAS_WORDS: u32 = 2;
823     pub const NS_STYLE_COUNTER_SPEAKAS_SPELL_OUT: u32 = 3;
824     pub const NS_STYLE_COUNTER_SPEAKAS_OTHER: u32 = 255;
825     pub const NS_STYLE_SCROLL_BEHAVIOR_AUTO: u32 = 0;
826     pub const NS_STYLE_SCROLL_BEHAVIOR_SMOOTH: u32 = 1;
827     pub const NS_STYLE_SCROLL_SNAP_TYPE_NONE: u32 = 0;
828     pub const NS_STYLE_SCROLL_SNAP_TYPE_MANDATORY: u32 = 1;
829     pub const NS_STYLE_SCROLL_SNAP_TYPE_PROXIMITY: u32 = 2;
830     pub const NS_STYLE_ORIENTATION_PORTRAIT: u32 = 0;
831     pub const NS_STYLE_ORIENTATION_LANDSCAPE: u32 = 1;
832     pub const NS_STYLE_SCAN_PROGRESSIVE: u32 = 0;
833     pub const NS_STYLE_SCAN_INTERLACE: u32 = 1;
834     pub const NS_STYLE_DISPLAY_MODE_BROWSER: u32 = 0;
835     pub const NS_STYLE_DISPLAY_MODE_MINIMAL_UI: u32 = 1;
836     pub const NS_STYLE_DISPLAY_MODE_STANDALONE: u32 = 2;
837     pub const NS_STYLE_DISPLAY_MODE_FULLSCREEN: u32 = 3;
838     pub const CSS_PSEUDO_ELEMENT_IS_CSS2: u32 = 1;
839     pub const CSS_PSEUDO_ELEMENT_CONTAINS_ELEMENTS: u32 = 2;
840     pub const CSS_PSEUDO_ELEMENT_SUPPORTS_STYLE_ATTRIBUTE: u32 = 4;
841     pub const CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE: u32 = 8;
842     pub const CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS: u32 = 16;
843     pub const CSS_PSEUDO_ELEMENT_ENABLED_IN_CHROME: u32 = 32;
844     pub const CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME: u32 = 48;
845     pub const CSS_PSEUDO_ELEMENT_IS_JS_CREATED_NAC: u32 = 64;
846     pub const CSS_PSEUDO_ELEMENT_IS_FLEX_OR_GRID_ITEM: u32 = 128;
847     pub const kNameSpaceID_Unknown: i32 = -1;
848     pub const kNameSpaceID_XMLNS: u32 = 1;
849     pub const kNameSpaceID_XML: u32 = 2;
850     pub const kNameSpaceID_XHTML: u32 = 3;
851     pub const kNameSpaceID_XLink: u32 = 4;
852     pub const kNameSpaceID_XSLT: u32 = 5;
853     pub const kNameSpaceID_XBL: u32 = 6;
854     pub const kNameSpaceID_MathML: u32 = 7;
855     pub const kNameSpaceID_RDF: u32 = 8;
856     pub const kNameSpaceID_XUL: u32 = 9;
857     pub const kNameSpaceID_SVG: u32 = 10;
858     pub const kNameSpaceID_disabled_MathML: u32 = 11;
859     pub const kNameSpaceID_disabled_SVG: u32 = 12;
860     pub const kNameSpaceID_LastBuiltin: u32 = 12;
861     pub const kNameSpaceID_Wildcard: i32 = -2147483648;
862     pub const NS_AUTHOR_SPECIFIED_BACKGROUND: u32 = 1;
863     pub const NS_AUTHOR_SPECIFIED_BORDER: u32 = 2;
864     pub const NS_AUTHOR_SPECIFIED_PADDING: u32 = 4;
865     pub const NS_STYLE_INHERIT_MASK: u32 = 16777215;
866     pub const NS_STYLE_HAS_TEXT_DECORATION_LINES: u32 = 16777216;
867     pub const NS_STYLE_HAS_PSEUDO_ELEMENT_DATA: u32 = 33554432;
868     pub const NS_STYLE_RELEVANT_LINK_VISITED: u32 = 67108864;
869     pub const NS_STYLE_IS_STYLE_IF_VISITED: u32 = 134217728;
870     pub const NS_STYLE_CHILD_USES_GRANDANCESTOR_STYLE: u32 = 268435456;
871     pub const NS_STYLE_IS_SHARED: u32 = 536870912;
872     pub const NS_STYLE_IS_GOING_AWAY: u32 = 1073741824;
873     pub const NS_STYLE_SUPPRESS_LINEBREAK: u32 = 2147483648;
874     pub const NS_STYLE_IN_DISPLAY_NONE_SUBTREE: u64 = 4294967296;
875     pub const NS_STYLE_INELIGIBLE_FOR_SHARING: u64 = 8589934592;
876     pub const NS_STYLE_HAS_CHILD_THAT_USES_RESET_STYLE: u64 = 17179869184;
877     pub const NS_STYLE_IS_TEXT_COMBINED: u64 = 34359738368;
878     pub const NS_STYLE_CONTEXT_IS_GECKO: u64 = 68719476736;
879     pub const NS_STYLE_CONTEXT_TYPE_SHIFT: u32 = 37;
880     pub mod std {
881         #[allow(unused_imports)]
882         use self::super::super::root;
883         #[repr(C)]
884         #[derive(Debug, Copy)]
885         pub struct nothrow_t {
886             pub _address: u8,
887         }
888         #[test]
bindgen_test_layout_nothrow_t()889         fn bindgen_test_layout_nothrow_t() {
890             assert_eq!(
891                 ::std::mem::size_of::<nothrow_t>(),
892                 1usize,
893                 concat!("Size of: ", stringify!(nothrow_t))
894             );
895             assert_eq!(
896                 ::std::mem::align_of::<nothrow_t>(),
897                 1usize,
898                 concat!("Alignment of ", stringify!(nothrow_t))
899             );
900         }
901         impl Clone for nothrow_t {
clone(&self) -> Self902             fn clone(&self) -> Self {
903                 *self
904             }
905         }
906         #[repr(C)]
907         #[derive(Debug, Copy, Clone)]
908         pub struct pair<_T1, _T2> {
909             pub first: _T1,
910             pub second: _T2,
911             pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<_T1>>,
912             pub _phantom_1: ::std::marker::PhantomData<::std::cell::UnsafeCell<_T2>>,
913         }
914         pub type pair_first_type<_T1> = _T1;
915         pub type pair_second_type<_T2> = _T2;
916         pub type pair__PCCP = u8;
917         pub type pair__PCCFP = u8;
918         #[repr(C)]
919         #[derive(Debug, Copy)]
920         pub struct input_iterator_tag {
921             pub _address: u8,
922         }
923         #[test]
bindgen_test_layout_input_iterator_tag()924         fn bindgen_test_layout_input_iterator_tag() {
925             assert_eq!(
926                 ::std::mem::size_of::<input_iterator_tag>(),
927                 1usize,
928                 concat!("Size of: ", stringify!(input_iterator_tag))
929             );
930             assert_eq!(
931                 ::std::mem::align_of::<input_iterator_tag>(),
932                 1usize,
933                 concat!("Alignment of ", stringify!(input_iterator_tag))
934             );
935         }
936         impl Clone for input_iterator_tag {
clone(&self) -> Self937             fn clone(&self) -> Self {
938                 *self
939             }
940         }
941         #[repr(C)]
942         #[derive(Debug, Copy, Clone)]
943         pub struct iterator {
944             pub _address: u8,
945         }
946         pub type iterator_iterator_category<_Category> = _Category;
947         pub type iterator_value_type<_Tp> = _Tp;
948         pub type iterator_difference_type<_Distance> = _Distance;
949         pub type iterator_pointer<_Pointer> = _Pointer;
950         pub type iterator_reference<_Reference> = _Reference;
951         #[repr(C)]
952         #[derive(Debug, Copy, Clone)]
953         pub struct atomic {
954             pub _address: u8,
955         }
956         #[repr(C)]
957         #[derive(Debug, Copy, Clone)]
958         pub struct function {
959             pub _address: u8,
960         }
961         pub type _Base_bitset__WordT = ::std::os::raw::c_ulong;
962         pub type bitset__Base = u8;
963         pub type bitset__WordT = ::std::os::raw::c_ulong;
964         #[repr(C)]
965         #[derive(Debug)]
966         pub struct bitset_reference {
967             pub _M_wp: *mut root::std::bitset__WordT,
968             pub _M_bpos: usize,
969         }
970     }
971     pub mod __gnu_cxx {
972         #[allow(unused_imports)]
973         use self::super::super::root;
974     }
975     pub type __int8_t = ::std::os::raw::c_schar;
976     pub type __uint8_t = ::std::os::raw::c_uchar;
977     pub type __int16_t = ::std::os::raw::c_short;
978     pub type __uint16_t = ::std::os::raw::c_ushort;
979     pub type __int32_t = ::std::os::raw::c_int;
980     pub type __uint32_t = ::std::os::raw::c_uint;
981     pub type __int64_t = ::std::os::raw::c_long;
982     pub type __uint64_t = ::std::os::raw::c_ulong;
983     pub mod mozilla {
984         #[allow(unused_imports)]
985         use self::super::super::root;
986         pub type fallible_t = root::std::nothrow_t;
987         pub type IntegralConstant_ValueType<T> = T;
988         pub type IntegralConstant_Type = u8;
989         /// Convenient aliases.
990         pub type TrueType = u8;
991         pub type FalseType = u8;
992         pub mod detail {
993             #[allow(unused_imports)]
994             use self::super::super::super::root;
995             pub const StringDataFlags_TERMINATED: root::mozilla::detail::StringDataFlags = 1;
996             pub const StringDataFlags_VOIDED: root::mozilla::detail::StringDataFlags = 2;
997             pub const StringDataFlags_SHARED: root::mozilla::detail::StringDataFlags = 4;
998             pub const StringDataFlags_OWNED: root::mozilla::detail::StringDataFlags = 8;
999             pub const StringDataFlags_INLINE: root::mozilla::detail::StringDataFlags = 16;
1000             pub const StringDataFlags_LITERAL: root::mozilla::detail::StringDataFlags = 32;
1001             pub type StringDataFlags = u16;
1002             pub const StringClassFlags_INLINE: root::mozilla::detail::StringClassFlags = 1;
1003             pub const StringClassFlags_NULL_TERMINATED: root::mozilla::detail::StringClassFlags = 2;
1004             pub type StringClassFlags = u16;
1005             #[repr(C)]
1006             #[derive(Debug, Copy, Clone)]
1007             pub struct nsTStringRepr<T> {
1008                 pub mData: *mut root::mozilla::detail::nsTStringRepr_char_type<T>,
1009                 pub mLength: root::mozilla::detail::nsTStringRepr_size_type,
1010                 pub mDataFlags: root::mozilla::detail::nsTStringRepr_DataFlags,
1011                 pub mClassFlags: root::mozilla::detail::nsTStringRepr_ClassFlags,
1012                 pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
1013             }
1014             pub type nsTStringRepr_fallible_t = root::mozilla::fallible_t;
1015             pub type nsTStringRepr_char_type<T> = T;
1016             pub type nsTStringRepr_self_type<T> = root::mozilla::detail::nsTStringRepr<T>;
1017             pub type nsTStringRepr_base_string_type<T> =
1018                 root::mozilla::detail::nsTStringRepr_self_type<T>;
1019             pub type nsTStringRepr_substring_type<T> = root::nsTSubstring<T>;
1020             pub type nsTStringRepr_substring_tuple_type<T> = root::nsTSubstringTuple<T>;
1021             pub type nsTStringRepr_literalstring_type<T> = root::nsTLiteralString<T>;
1022             pub type nsTStringRepr_const_iterator<T> =
1023                 root::nsReadingIterator<root::mozilla::detail::nsTStringRepr_char_type<T>>;
1024             pub type nsTStringRepr_iterator<T> =
1025                 root::nsWritingIterator<root::mozilla::detail::nsTStringRepr_char_type<T>>;
1026             pub type nsTStringRepr_comparator_type = root::nsTStringComparator;
1027             pub type nsTStringRepr_char_iterator<T> =
1028                 *mut root::mozilla::detail::nsTStringRepr_char_type<T>;
1029             pub type nsTStringRepr_const_char_iterator<T> =
1030                 *const root::mozilla::detail::nsTStringRepr_char_type<T>;
1031             pub type nsTStringRepr_index_type = u32;
1032             pub type nsTStringRepr_size_type = u32;
1033             pub use self :: super :: super :: super :: root :: mozilla :: detail :: StringDataFlags as nsTStringRepr_DataFlags;
1034             pub use self :: super :: super :: super :: root :: mozilla :: detail :: StringClassFlags as nsTStringRepr_ClassFlags;
1035             #[repr(C)]
1036             #[derive(Debug, Copy, Clone)]
1037             pub struct nsTStringRepr_raw_type {
1038                 pub _address: u8,
1039             }
1040             pub type nsTStringRepr_raw_type_type<U> = *mut U;
1041             /// LinkedList supports refcounted elements using this adapter class. Clients
1042             /// using LinkedList<RefPtr<T>> will get a data structure that holds a strong
1043             /// reference to T as long as T is in the list.
1044             #[repr(C)]
1045             #[derive(Debug, Copy, Clone)]
1046             pub struct LinkedListElementTraits {
1047                 pub _address: u8,
1048             }
1049             pub type LinkedListElementTraits_RawType<T> = *mut T;
1050             pub type LinkedListElementTraits_ConstRawType<T> = *mut T;
1051             pub type LinkedListElementTraits_ClientType<T> = *mut T;
1052             pub type LinkedListElementTraits_ConstClientType<T> = *mut T;
1053             #[repr(C)]
1054             #[derive(Debug, Copy, Clone)]
1055             pub struct VariantTag {
1056                 pub _address: u8,
1057             }
1058             pub type VariantTag_Type = u8;
1059             #[repr(C)]
1060             #[derive(Debug, Copy, Clone)]
1061             pub struct WeakReference {
1062                 pub _address: u8,
1063             }
1064             #[repr(C)]
1065             #[derive(Debug, Copy, Clone)]
1066             pub struct FreePolicy {
1067                 pub _address: u8,
1068             }
1069             #[repr(C)]
1070             #[derive(Debug)]
1071             pub struct MutexImpl {
1072                 pub platformData_: [*mut ::std::os::raw::c_void; 5usize],
1073             }
1074             #[repr(C)]
1075             #[derive(Debug, Copy)]
1076             pub struct MutexImpl_PlatformData {
1077                 _unused: [u8; 0],
1078             }
1079             impl Clone for MutexImpl_PlatformData {
clone(&self) -> Self1080                 fn clone(&self) -> Self {
1081                     *self
1082                 }
1083             }
1084             #[test]
bindgen_test_layout_MutexImpl()1085             fn bindgen_test_layout_MutexImpl() {
1086                 assert_eq!(
1087                     ::std::mem::size_of::<MutexImpl>(),
1088                     40usize,
1089                     concat!("Size of: ", stringify!(MutexImpl))
1090                 );
1091                 assert_eq!(
1092                     ::std::mem::align_of::<MutexImpl>(),
1093                     8usize,
1094                     concat!("Alignment of ", stringify!(MutexImpl))
1095                 );
1096                 assert_eq!(
1097                     unsafe {
1098                         &(*(::std::ptr::null::<MutexImpl>())).platformData_ as *const _ as usize
1099                     },
1100                     0usize,
1101                     concat!(
1102                         "Offset of field: ",
1103                         stringify!(MutexImpl),
1104                         "::",
1105                         stringify!(platformData_)
1106                     )
1107                 );
1108             }
1109             #[repr(C)]
1110             #[derive(Debug)]
1111             pub struct ConditionVariableImpl {
1112                 pub platformData_: [*mut ::std::os::raw::c_void; 6usize],
1113             }
1114             #[repr(C)]
1115             #[derive(Debug, Copy)]
1116             pub struct ConditionVariableImpl_PlatformData {
1117                 _unused: [u8; 0],
1118             }
1119             impl Clone for ConditionVariableImpl_PlatformData {
clone(&self) -> Self1120                 fn clone(&self) -> Self {
1121                     *self
1122                 }
1123             }
1124             #[test]
bindgen_test_layout_ConditionVariableImpl()1125             fn bindgen_test_layout_ConditionVariableImpl() {
1126                 assert_eq!(
1127                     ::std::mem::size_of::<ConditionVariableImpl>(),
1128                     48usize,
1129                     concat!("Size of: ", stringify!(ConditionVariableImpl))
1130                 );
1131                 assert_eq!(
1132                     ::std::mem::align_of::<ConditionVariableImpl>(),
1133                     8usize,
1134                     concat!("Alignment of ", stringify!(ConditionVariableImpl))
1135                 );
1136                 assert_eq!(
1137                     unsafe {
1138                         &(*(::std::ptr::null::<ConditionVariableImpl>())).platformData_ as *const _
1139                             as usize
1140                     },
1141                     0usize,
1142                     concat!(
1143                         "Offset of field: ",
1144                         stringify!(ConditionVariableImpl),
1145                         "::",
1146                         stringify!(platformData_)
1147                     )
1148                 );
1149             }
1150         }
1151         pub type Conditional_Type<A> = A;
1152         pub const ArenaObjectID_eArenaObjectID_DummyBeforeFirstObjectID:
1153             root::mozilla::ArenaObjectID = 171;
1154         pub const ArenaObjectID_eArenaObjectID_GeckoStyleContext: root::mozilla::ArenaObjectID =
1155             172;
1156         pub const ArenaObjectID_eArenaObjectID_nsLineBox: root::mozilla::ArenaObjectID = 173;
1157         pub const ArenaObjectID_eArenaObjectID_nsRuleNode: root::mozilla::ArenaObjectID = 174;
1158         pub const ArenaObjectID_eArenaObjectID_DisplayItemData: root::mozilla::ArenaObjectID = 175;
1159         pub const ArenaObjectID_eArenaObjectID_nsInheritedStyleData: root::mozilla::ArenaObjectID =
1160             176;
1161         pub const ArenaObjectID_eArenaObjectID_nsResetStyleData: root::mozilla::ArenaObjectID = 177;
1162         pub const ArenaObjectID_eArenaObjectID_nsConditionalResetStyleData:
1163             root::mozilla::ArenaObjectID = 178;
1164         pub const ArenaObjectID_eArenaObjectID_nsConditionalResetStyleDataEntry:
1165             root::mozilla::ArenaObjectID = 179;
1166         pub const ArenaObjectID_eArenaObjectID_nsFrameList: root::mozilla::ArenaObjectID = 180;
1167         pub const ArenaObjectID_eArenaObjectID_CustomCounterStyle: root::mozilla::ArenaObjectID =
1168             181;
1169         pub const ArenaObjectID_eArenaObjectID_DependentBuiltinCounterStyle:
1170             root::mozilla::ArenaObjectID = 182;
1171         pub const ArenaObjectID_eArenaObjectID_nsCallbackEventRequest:
1172             root::mozilla::ArenaObjectID = 183;
1173         pub const ArenaObjectID_eArenaObjectID_nsIntervalSet_Interval:
1174             root::mozilla::ArenaObjectID = 184;
1175         pub const ArenaObjectID_eArenaObjectID_CellData: root::mozilla::ArenaObjectID = 185;
1176         pub const ArenaObjectID_eArenaObjectID_BCCellData: root::mozilla::ArenaObjectID = 186;
1177         pub const ArenaObjectID_eArenaObjectID_nsStyleFont: root::mozilla::ArenaObjectID = 187;
1178         pub const ArenaObjectID_eArenaObjectID_nsStyleColor: root::mozilla::ArenaObjectID = 188;
1179         pub const ArenaObjectID_eArenaObjectID_nsStyleList: root::mozilla::ArenaObjectID = 189;
1180         pub const ArenaObjectID_eArenaObjectID_nsStyleText: root::mozilla::ArenaObjectID = 190;
1181         pub const ArenaObjectID_eArenaObjectID_nsStyleVisibility: root::mozilla::ArenaObjectID =
1182             191;
1183         pub const ArenaObjectID_eArenaObjectID_nsStyleUserInterface: root::mozilla::ArenaObjectID =
1184             192;
1185         pub const ArenaObjectID_eArenaObjectID_nsStyleTableBorder: root::mozilla::ArenaObjectID =
1186             193;
1187         pub const ArenaObjectID_eArenaObjectID_nsStyleSVG: root::mozilla::ArenaObjectID = 194;
1188         pub const ArenaObjectID_eArenaObjectID_nsStyleVariables: root::mozilla::ArenaObjectID = 195;
1189         pub const ArenaObjectID_eArenaObjectID_nsStyleBackground: root::mozilla::ArenaObjectID =
1190             196;
1191         pub const ArenaObjectID_eArenaObjectID_nsStylePosition: root::mozilla::ArenaObjectID = 197;
1192         pub const ArenaObjectID_eArenaObjectID_nsStyleTextReset: root::mozilla::ArenaObjectID = 198;
1193         pub const ArenaObjectID_eArenaObjectID_nsStyleDisplay: root::mozilla::ArenaObjectID = 199;
1194         pub const ArenaObjectID_eArenaObjectID_nsStyleContent: root::mozilla::ArenaObjectID = 200;
1195         pub const ArenaObjectID_eArenaObjectID_nsStyleUIReset: root::mozilla::ArenaObjectID = 201;
1196         pub const ArenaObjectID_eArenaObjectID_nsStyleTable: root::mozilla::ArenaObjectID = 202;
1197         pub const ArenaObjectID_eArenaObjectID_nsStyleMargin: root::mozilla::ArenaObjectID = 203;
1198         pub const ArenaObjectID_eArenaObjectID_nsStylePadding: root::mozilla::ArenaObjectID = 204;
1199         pub const ArenaObjectID_eArenaObjectID_nsStyleBorder: root::mozilla::ArenaObjectID = 205;
1200         pub const ArenaObjectID_eArenaObjectID_nsStyleOutline: root::mozilla::ArenaObjectID = 206;
1201         pub const ArenaObjectID_eArenaObjectID_nsStyleXUL: root::mozilla::ArenaObjectID = 207;
1202         pub const ArenaObjectID_eArenaObjectID_nsStyleSVGReset: root::mozilla::ArenaObjectID = 208;
1203         pub const ArenaObjectID_eArenaObjectID_nsStyleColumn: root::mozilla::ArenaObjectID = 209;
1204         pub const ArenaObjectID_eArenaObjectID_nsStyleEffects: root::mozilla::ArenaObjectID = 210;
1205         pub const ArenaObjectID_eArenaObjectID_COUNT: root::mozilla::ArenaObjectID = 211;
1206         pub type ArenaObjectID = u32;
1207         /// A default deletion policy using plain old operator delete.
1208         ///
1209         /// Note that this type can be specialized, but authors should beware of the risk
1210         /// that the specialization may at some point cease to match (either because it
1211         /// gets moved to a different compilation unit or the signature changes). If the
1212         /// non-specialized (|delete|-based) version compiles for that type but does the
1213         /// wrong thing, bad things could happen.
1214         ///
1215         /// This is a non-issue for types which are always incomplete (i.e. opaque handle
1216         /// types), since |delete|-ing such a type will always trigger a compilation
1217         /// error.
1218         #[repr(C)]
1219         #[derive(Debug, Copy, Clone)]
1220         pub struct DefaultDelete {
1221             pub _address: u8,
1222         }
1223         pub type MallocSizeOf =
1224             ::std::option::Option<unsafe extern "C" fn(p: *const ::std::os::raw::c_void) -> usize>;
1225         #[repr(C)]
1226         #[derive(Debug, Copy, Clone)]
1227         pub struct ReverseIterator<IteratorT> {
1228             pub mCurrent: IteratorT,
1229             pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<IteratorT>>,
1230         }
1231         pub type Array_iterator<T> = *mut T;
1232         pub type Array_const_iterator<T> = *mut T;
1233         pub type Array_reverse_iterator<T> = root::mozilla::ReverseIterator<T>;
1234         pub type Array_const_reverse_iterator<T> = root::mozilla::ReverseIterator<T>;
1235         pub mod css {
1236             #[allow(unused_imports)]
1237             use self::super::super::super::root;
1238             #[repr(u8)]
1239             /// Enum defining the mode in which a sheet is to be parsed.  This is
1240             /// usually, but not always, the same as the cascade level at which the
1241             /// sheet will apply (see nsStyleSet.h).  Most of the Loader APIs only
1242             /// support loading of author sheets.
1243             ///
1244             /// Author sheets are the normal case: styles embedded in or linked
1245             /// from HTML pages.  They are also the most restricted.
1246             ///
1247             /// User sheets can do anything author sheets can do, and also get
1248             /// access to a few CSS extensions that are not yet suitable for
1249             /// exposure on the public Web, but are very useful for expressing
1250             /// user style overrides, such as @-moz-document rules.
1251             ///
1252             /// XXX: eUserSheetFeatures was added in bug 1035091, but some patches in
1253             /// that bug never landed to use this enum value. Currently, all the features
1254             /// in user sheet are also available in author sheet.
1255             ///
1256             /// Agent sheets have access to all author- and user-sheet features
1257             /// plus more extensions that are necessary for internal use but,
1258             /// again, not yet suitable for exposure on the public Web.  Some of
1259             /// these are outright unsafe to expose; in particular, incorrect
1260             /// styling of anonymous box pseudo-elements can violate layout
1261             /// invariants.
1262             ///
1263             /// Agent sheets that do not use any unsafe rules could use
1264             /// eSafeAgentSheetFeatures when creating the sheet. This enum value allows
1265             /// Servo backend to recognize the sheets as the agent level, but Gecko
1266             /// backend will parse it under _author_ level.
1267             #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1268             pub enum SheetParsingMode {
1269                 eAuthorSheetFeatures = 0,
1270                 eUserSheetFeatures = 1,
1271                 eAgentSheetFeatures = 2,
1272                 eSafeAgentSheetFeatures = 3,
1273             }
1274             #[repr(C)]
1275             #[derive(Debug, Copy)]
1276             pub struct GroupRule {
1277                 _unused: [u8; 0],
1278             }
1279             impl Clone for GroupRule {
clone(&self) -> Self1280                 fn clone(&self) -> Self {
1281                     *self
1282                 }
1283             }
1284             #[repr(C)]
1285             #[derive(Debug, Copy)]
1286             pub struct ImageLoader {
1287                 _unused: [u8; 0],
1288             }
1289             impl Clone for ImageLoader {
clone(&self) -> Self1290                 fn clone(&self) -> Self {
1291                     *self
1292                 }
1293             }
1294             #[repr(C)]
1295             pub struct URLValueData__bindgen_vtable(::std::os::raw::c_void);
1296             #[repr(C)]
1297             #[derive(Debug)]
1298             pub struct URLValueData {
1299                 pub vtable_: *const URLValueData__bindgen_vtable,
1300                 pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
1301                 pub mURI: root::nsMainThreadPtrHandle<root::nsIURI>,
1302                 pub mExtraData: root::RefPtr<root::mozilla::URLExtraData>,
1303                 pub mURIResolved: bool,
1304                 pub mIsLocalRef: [u8; 2usize],
1305                 pub mMightHaveRef: [u8; 2usize],
1306                 pub mStrings: root::mozilla::css::URLValueData_RustOrGeckoString,
1307                 pub mUsingRustString: bool,
1308                 pub mLoadedImage: bool,
1309                 pub mCORSMode: root::mozilla::CORSMode,
1310             }
1311             pub type URLValueData_HasThreadSafeRefCnt = root::mozilla::TrueType;
1312             #[repr(C)]
1313             #[derive(Debug)]
1314             pub struct URLValueData_RustOrGeckoString {
1315                 pub mString: root::__BindgenUnionField<::nsstring::nsStringRepr>,
1316                 pub mRustString: root::__BindgenUnionField<
1317                     ::gecko_bindings::structs::ServoRawOffsetArc<root::RustString>,
1318                 >,
1319                 pub bindgen_union_field: [u64; 2usize],
1320             }
1321             #[test]
bindgen_test_layout_URLValueData_RustOrGeckoString()1322             fn bindgen_test_layout_URLValueData_RustOrGeckoString() {
1323                 assert_eq!(
1324                     ::std::mem::size_of::<URLValueData_RustOrGeckoString>(),
1325                     16usize,
1326                     concat!("Size of: ", stringify!(URLValueData_RustOrGeckoString))
1327                 );
1328                 assert_eq!(
1329                     ::std::mem::align_of::<URLValueData_RustOrGeckoString>(),
1330                     8usize,
1331                     concat!("Alignment of ", stringify!(URLValueData_RustOrGeckoString))
1332                 );
1333                 assert_eq!(
1334                     unsafe {
1335                         &(*(::std::ptr::null::<URLValueData_RustOrGeckoString>())).mString
1336                             as *const _ as usize
1337                     },
1338                     0usize,
1339                     concat!(
1340                         "Offset of field: ",
1341                         stringify!(URLValueData_RustOrGeckoString),
1342                         "::",
1343                         stringify!(mString)
1344                     )
1345                 );
1346                 assert_eq!(
1347                     unsafe {
1348                         &(*(::std::ptr::null::<URLValueData_RustOrGeckoString>())).mRustString
1349                             as *const _ as usize
1350                     },
1351                     0usize,
1352                     concat!(
1353                         "Offset of field: ",
1354                         stringify!(URLValueData_RustOrGeckoString),
1355                         "::",
1356                         stringify!(mRustString)
1357                     )
1358                 );
1359             }
1360             #[test]
bindgen_test_layout_URLValueData()1361             fn bindgen_test_layout_URLValueData() {
1362                 assert_eq!(
1363                     ::std::mem::size_of::<URLValueData>(),
1364                     64usize,
1365                     concat!("Size of: ", stringify!(URLValueData))
1366                 );
1367                 assert_eq!(
1368                     ::std::mem::align_of::<URLValueData>(),
1369                     8usize,
1370                     concat!("Alignment of ", stringify!(URLValueData))
1371                 );
1372                 assert_eq!(
1373                     unsafe {
1374                         &(*(::std::ptr::null::<URLValueData>())).mRefCnt as *const _ as usize
1375                     },
1376                     8usize,
1377                     concat!(
1378                         "Offset of field: ",
1379                         stringify!(URLValueData),
1380                         "::",
1381                         stringify!(mRefCnt)
1382                     )
1383                 );
1384                 assert_eq!(
1385                     unsafe { &(*(::std::ptr::null::<URLValueData>())).mURI as *const _ as usize },
1386                     16usize,
1387                     concat!(
1388                         "Offset of field: ",
1389                         stringify!(URLValueData),
1390                         "::",
1391                         stringify!(mURI)
1392                     )
1393                 );
1394                 assert_eq!(
1395                     unsafe {
1396                         &(*(::std::ptr::null::<URLValueData>())).mExtraData as *const _ as usize
1397                     },
1398                     24usize,
1399                     concat!(
1400                         "Offset of field: ",
1401                         stringify!(URLValueData),
1402                         "::",
1403                         stringify!(mExtraData)
1404                     )
1405                 );
1406                 assert_eq!(
1407                     unsafe {
1408                         &(*(::std::ptr::null::<URLValueData>())).mURIResolved as *const _ as usize
1409                     },
1410                     32usize,
1411                     concat!(
1412                         "Offset of field: ",
1413                         stringify!(URLValueData),
1414                         "::",
1415                         stringify!(mURIResolved)
1416                     )
1417                 );
1418                 assert_eq!(
1419                     unsafe {
1420                         &(*(::std::ptr::null::<URLValueData>())).mIsLocalRef as *const _ as usize
1421                     },
1422                     33usize,
1423                     concat!(
1424                         "Offset of field: ",
1425                         stringify!(URLValueData),
1426                         "::",
1427                         stringify!(mIsLocalRef)
1428                     )
1429                 );
1430                 assert_eq!(
1431                     unsafe {
1432                         &(*(::std::ptr::null::<URLValueData>())).mMightHaveRef as *const _ as usize
1433                     },
1434                     35usize,
1435                     concat!(
1436                         "Offset of field: ",
1437                         stringify!(URLValueData),
1438                         "::",
1439                         stringify!(mMightHaveRef)
1440                     )
1441                 );
1442                 assert_eq!(
1443                     unsafe {
1444                         &(*(::std::ptr::null::<URLValueData>())).mStrings as *const _ as usize
1445                     },
1446                     40usize,
1447                     concat!(
1448                         "Offset of field: ",
1449                         stringify!(URLValueData),
1450                         "::",
1451                         stringify!(mStrings)
1452                     )
1453                 );
1454                 assert_eq!(
1455                     unsafe {
1456                         &(*(::std::ptr::null::<URLValueData>())).mUsingRustString as *const _
1457                             as usize
1458                     },
1459                     56usize,
1460                     concat!(
1461                         "Offset of field: ",
1462                         stringify!(URLValueData),
1463                         "::",
1464                         stringify!(mUsingRustString)
1465                     )
1466                 );
1467                 assert_eq!(
1468                     unsafe {
1469                         &(*(::std::ptr::null::<URLValueData>())).mLoadedImage as *const _ as usize
1470                     },
1471                     57usize,
1472                     concat!(
1473                         "Offset of field: ",
1474                         stringify!(URLValueData),
1475                         "::",
1476                         stringify!(mLoadedImage)
1477                     )
1478                 );
1479                 assert_eq!(
1480                     unsafe {
1481                         &(*(::std::ptr::null::<URLValueData>())).mCORSMode as *const _ as usize
1482                     },
1483                     58usize,
1484                     concat!(
1485                         "Offset of field: ",
1486                         stringify!(URLValueData),
1487                         "::",
1488                         stringify!(mCORSMode)
1489                     )
1490                 );
1491             }
1492             #[repr(C)]
1493             #[derive(Debug)]
1494             pub struct URLValue {
1495                 pub _base: root::mozilla::css::URLValueData,
1496             }
1497             #[test]
bindgen_test_layout_URLValue()1498             fn bindgen_test_layout_URLValue() {
1499                 assert_eq!(
1500                     ::std::mem::size_of::<URLValue>(),
1501                     64usize,
1502                     concat!("Size of: ", stringify!(URLValue))
1503                 );
1504                 assert_eq!(
1505                     ::std::mem::align_of::<URLValue>(),
1506                     8usize,
1507                     concat!("Alignment of ", stringify!(URLValue))
1508                 );
1509             }
1510             #[repr(C)]
1511             #[derive(Debug)]
1512             pub struct ImageValue {
1513                 pub _base: root::mozilla::css::URLValueData,
1514                 pub mRequests: [u64; 4usize],
1515             }
1516             #[test]
bindgen_test_layout_ImageValue()1517             fn bindgen_test_layout_ImageValue() {
1518                 assert_eq!(
1519                     ::std::mem::size_of::<ImageValue>(),
1520                     96usize,
1521                     concat!("Size of: ", stringify!(ImageValue))
1522                 );
1523                 assert_eq!(
1524                     ::std::mem::align_of::<ImageValue>(),
1525                     8usize,
1526                     concat!("Alignment of ", stringify!(ImageValue))
1527                 );
1528                 assert_eq!(
1529                     unsafe {
1530                         &(*(::std::ptr::null::<ImageValue>())).mRequests as *const _ as usize
1531                     },
1532                     64usize,
1533                     concat!(
1534                         "Offset of field: ",
1535                         stringify!(ImageValue),
1536                         "::",
1537                         stringify!(mRequests)
1538                     )
1539                 );
1540             }
1541             #[repr(C)]
1542             pub struct GridNamedArea {
1543                 pub mName: ::nsstring::nsStringRepr,
1544                 pub mColumnStart: u32,
1545                 pub mColumnEnd: u32,
1546                 pub mRowStart: u32,
1547                 pub mRowEnd: u32,
1548             }
1549             #[test]
bindgen_test_layout_GridNamedArea()1550             fn bindgen_test_layout_GridNamedArea() {
1551                 assert_eq!(
1552                     ::std::mem::size_of::<GridNamedArea>(),
1553                     32usize,
1554                     concat!("Size of: ", stringify!(GridNamedArea))
1555                 );
1556                 assert_eq!(
1557                     ::std::mem::align_of::<GridNamedArea>(),
1558                     8usize,
1559                     concat!("Alignment of ", stringify!(GridNamedArea))
1560                 );
1561                 assert_eq!(
1562                     unsafe { &(*(::std::ptr::null::<GridNamedArea>())).mName as *const _ as usize },
1563                     0usize,
1564                     concat!(
1565                         "Offset of field: ",
1566                         stringify!(GridNamedArea),
1567                         "::",
1568                         stringify!(mName)
1569                     )
1570                 );
1571                 assert_eq!(
1572                     unsafe {
1573                         &(*(::std::ptr::null::<GridNamedArea>())).mColumnStart as *const _ as usize
1574                     },
1575                     16usize,
1576                     concat!(
1577                         "Offset of field: ",
1578                         stringify!(GridNamedArea),
1579                         "::",
1580                         stringify!(mColumnStart)
1581                     )
1582                 );
1583                 assert_eq!(
1584                     unsafe {
1585                         &(*(::std::ptr::null::<GridNamedArea>())).mColumnEnd as *const _ as usize
1586                     },
1587                     20usize,
1588                     concat!(
1589                         "Offset of field: ",
1590                         stringify!(GridNamedArea),
1591                         "::",
1592                         stringify!(mColumnEnd)
1593                     )
1594                 );
1595                 assert_eq!(
1596                     unsafe {
1597                         &(*(::std::ptr::null::<GridNamedArea>())).mRowStart as *const _ as usize
1598                     },
1599                     24usize,
1600                     concat!(
1601                         "Offset of field: ",
1602                         stringify!(GridNamedArea),
1603                         "::",
1604                         stringify!(mRowStart)
1605                     )
1606                 );
1607                 assert_eq!(
1608                     unsafe {
1609                         &(*(::std::ptr::null::<GridNamedArea>())).mRowEnd as *const _ as usize
1610                     },
1611                     28usize,
1612                     concat!(
1613                         "Offset of field: ",
1614                         stringify!(GridNamedArea),
1615                         "::",
1616                         stringify!(mRowEnd)
1617                     )
1618                 );
1619             }
1620             #[repr(C)]
1621             pub struct GridTemplateAreasValue {
1622                 pub mNamedAreas: root::nsTArray<root::mozilla::css::GridNamedArea>,
1623                 pub mTemplates: root::nsTArray<::nsstring::nsStringRepr>,
1624                 pub mNColumns: u32,
1625                 pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
1626             }
1627             pub type GridTemplateAreasValue_HasThreadSafeRefCnt = root::mozilla::TrueType;
1628             #[test]
bindgen_test_layout_GridTemplateAreasValue()1629             fn bindgen_test_layout_GridTemplateAreasValue() {
1630                 assert_eq!(
1631                     ::std::mem::size_of::<GridTemplateAreasValue>(),
1632                     32usize,
1633                     concat!("Size of: ", stringify!(GridTemplateAreasValue))
1634                 );
1635                 assert_eq!(
1636                     ::std::mem::align_of::<GridTemplateAreasValue>(),
1637                     8usize,
1638                     concat!("Alignment of ", stringify!(GridTemplateAreasValue))
1639                 );
1640                 assert_eq!(
1641                     unsafe {
1642                         &(*(::std::ptr::null::<GridTemplateAreasValue>())).mNamedAreas as *const _
1643                             as usize
1644                     },
1645                     0usize,
1646                     concat!(
1647                         "Offset of field: ",
1648                         stringify!(GridTemplateAreasValue),
1649                         "::",
1650                         stringify!(mNamedAreas)
1651                     )
1652                 );
1653                 assert_eq!(
1654                     unsafe {
1655                         &(*(::std::ptr::null::<GridTemplateAreasValue>())).mTemplates as *const _
1656                             as usize
1657                     },
1658                     8usize,
1659                     concat!(
1660                         "Offset of field: ",
1661                         stringify!(GridTemplateAreasValue),
1662                         "::",
1663                         stringify!(mTemplates)
1664                     )
1665                 );
1666                 assert_eq!(
1667                     unsafe {
1668                         &(*(::std::ptr::null::<GridTemplateAreasValue>())).mNColumns as *const _
1669                             as usize
1670                     },
1671                     16usize,
1672                     concat!(
1673                         "Offset of field: ",
1674                         stringify!(GridTemplateAreasValue),
1675                         "::",
1676                         stringify!(mNColumns)
1677                     )
1678                 );
1679                 assert_eq!(
1680                     unsafe {
1681                         &(*(::std::ptr::null::<GridTemplateAreasValue>())).mRefCnt as *const _
1682                             as usize
1683                     },
1684                     24usize,
1685                     concat!(
1686                         "Offset of field: ",
1687                         stringify!(GridTemplateAreasValue),
1688                         "::",
1689                         stringify!(mRefCnt)
1690                     )
1691                 );
1692             }
1693             #[repr(C)]
1694             #[derive(Debug, Copy)]
1695             pub struct RGBAColorData {
1696                 pub mR: f32,
1697                 pub mG: f32,
1698                 pub mB: f32,
1699                 pub mA: f32,
1700             }
1701             #[test]
bindgen_test_layout_RGBAColorData()1702             fn bindgen_test_layout_RGBAColorData() {
1703                 assert_eq!(
1704                     ::std::mem::size_of::<RGBAColorData>(),
1705                     16usize,
1706                     concat!("Size of: ", stringify!(RGBAColorData))
1707                 );
1708                 assert_eq!(
1709                     ::std::mem::align_of::<RGBAColorData>(),
1710                     4usize,
1711                     concat!("Alignment of ", stringify!(RGBAColorData))
1712                 );
1713                 assert_eq!(
1714                     unsafe { &(*(::std::ptr::null::<RGBAColorData>())).mR as *const _ as usize },
1715                     0usize,
1716                     concat!(
1717                         "Offset of field: ",
1718                         stringify!(RGBAColorData),
1719                         "::",
1720                         stringify!(mR)
1721                     )
1722                 );
1723                 assert_eq!(
1724                     unsafe { &(*(::std::ptr::null::<RGBAColorData>())).mG as *const _ as usize },
1725                     4usize,
1726                     concat!(
1727                         "Offset of field: ",
1728                         stringify!(RGBAColorData),
1729                         "::",
1730                         stringify!(mG)
1731                     )
1732                 );
1733                 assert_eq!(
1734                     unsafe { &(*(::std::ptr::null::<RGBAColorData>())).mB as *const _ as usize },
1735                     8usize,
1736                     concat!(
1737                         "Offset of field: ",
1738                         stringify!(RGBAColorData),
1739                         "::",
1740                         stringify!(mB)
1741                     )
1742                 );
1743                 assert_eq!(
1744                     unsafe { &(*(::std::ptr::null::<RGBAColorData>())).mA as *const _ as usize },
1745                     12usize,
1746                     concat!(
1747                         "Offset of field: ",
1748                         stringify!(RGBAColorData),
1749                         "::",
1750                         stringify!(mA)
1751                     )
1752                 );
1753             }
1754             impl Clone for RGBAColorData {
clone(&self) -> Self1755                 fn clone(&self) -> Self {
1756                     *self
1757                 }
1758             }
1759             #[repr(C)]
1760             #[derive(Debug, Copy)]
1761             pub struct ComplexColorData {
1762                 pub mColor: root::mozilla::css::RGBAColorData,
1763                 pub mForegroundRatio: f32,
1764             }
1765             #[test]
bindgen_test_layout_ComplexColorData()1766             fn bindgen_test_layout_ComplexColorData() {
1767                 assert_eq!(
1768                     ::std::mem::size_of::<ComplexColorData>(),
1769                     20usize,
1770                     concat!("Size of: ", stringify!(ComplexColorData))
1771                 );
1772                 assert_eq!(
1773                     ::std::mem::align_of::<ComplexColorData>(),
1774                     4usize,
1775                     concat!("Alignment of ", stringify!(ComplexColorData))
1776                 );
1777                 assert_eq!(
1778                     unsafe {
1779                         &(*(::std::ptr::null::<ComplexColorData>())).mColor as *const _ as usize
1780                     },
1781                     0usize,
1782                     concat!(
1783                         "Offset of field: ",
1784                         stringify!(ComplexColorData),
1785                         "::",
1786                         stringify!(mColor)
1787                     )
1788                 );
1789                 assert_eq!(
1790                     unsafe {
1791                         &(*(::std::ptr::null::<ComplexColorData>())).mForegroundRatio as *const _
1792                             as usize
1793                     },
1794                     16usize,
1795                     concat!(
1796                         "Offset of field: ",
1797                         stringify!(ComplexColorData),
1798                         "::",
1799                         stringify!(mForegroundRatio)
1800                     )
1801                 );
1802             }
1803             impl Clone for ComplexColorData {
clone(&self) -> Self1804                 fn clone(&self) -> Self {
1805                     *self
1806                 }
1807             }
1808             #[repr(C)]
1809             #[derive(Debug)]
1810             pub struct ComplexColorValue {
1811                 pub _base: root::mozilla::css::ComplexColorData,
1812                 pub mRefCnt: root::nsAutoRefCnt,
1813             }
1814             pub type ComplexColorValue_HasThreadSafeRefCnt = root::mozilla::FalseType;
1815             #[test]
bindgen_test_layout_ComplexColorValue()1816             fn bindgen_test_layout_ComplexColorValue() {
1817                 assert_eq!(
1818                     ::std::mem::size_of::<ComplexColorValue>(),
1819                     32usize,
1820                     concat!("Size of: ", stringify!(ComplexColorValue))
1821                 );
1822                 assert_eq!(
1823                     ::std::mem::align_of::<ComplexColorValue>(),
1824                     8usize,
1825                     concat!("Alignment of ", stringify!(ComplexColorValue))
1826                 );
1827                 assert_eq!(
1828                     unsafe {
1829                         &(*(::std::ptr::null::<ComplexColorValue>())).mRefCnt as *const _ as usize
1830                     },
1831                     24usize,
1832                     concat!(
1833                         "Offset of field: ",
1834                         stringify!(ComplexColorValue),
1835                         "::",
1836                         stringify!(mRefCnt)
1837                     )
1838                 );
1839             }
1840             /// Style sheet reuse *
1841             #[repr(C)]
1842             pub struct LoaderReusableStyleSheets {
1843                 pub mReusableSheets: root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>,
1844             }
1845             #[test]
bindgen_test_layout_LoaderReusableStyleSheets()1846             fn bindgen_test_layout_LoaderReusableStyleSheets() {
1847                 assert_eq!(
1848                     ::std::mem::size_of::<LoaderReusableStyleSheets>(),
1849                     8usize,
1850                     concat!("Size of: ", stringify!(LoaderReusableStyleSheets))
1851                 );
1852                 assert_eq!(
1853                     ::std::mem::align_of::<LoaderReusableStyleSheets>(),
1854                     8usize,
1855                     concat!("Alignment of ", stringify!(LoaderReusableStyleSheets))
1856                 );
1857                 assert_eq!(
1858                     unsafe {
1859                         &(*(::std::ptr::null::<LoaderReusableStyleSheets>())).mReusableSheets
1860                             as *const _ as usize
1861                     },
1862                     0usize,
1863                     concat!(
1864                         "Offset of field: ",
1865                         stringify!(LoaderReusableStyleSheets),
1866                         "::",
1867                         stringify!(mReusableSheets)
1868                     )
1869                 );
1870             }
1871             #[repr(C)]
1872             pub struct Loader {
1873                 pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
1874                 pub mSheets: root::nsAutoPtr<root::mozilla::css::Loader_Sheets>,
1875                 pub mPostedEvents: root::mozilla::css::Loader_LoadDataArray,
1876                 pub mObservers: [u64; 2usize],
1877                 pub mDocument: *mut root::nsIDocument,
1878                 pub mDocGroup: root::RefPtr<root::mozilla::dom::DocGroup>,
1879                 pub mDatasToNotifyOn: u32,
1880                 pub mCompatMode: root::nsCompatibility,
1881                 pub mPreferredSheet: ::nsstring::nsStringRepr,
1882                 pub mStyleBackendType: [u8; 2usize],
1883                 pub mEnabled: bool,
1884                 pub mReporter: root::nsCOMPtr,
1885             }
1886             pub use self :: super :: super :: super :: root :: mozilla :: net :: ReferrerPolicy as Loader_ReferrerPolicy;
1887             pub type Loader_HasThreadSafeRefCnt = root::mozilla::FalseType;
1888             #[repr(C)]
1889             #[derive(Debug, Copy)]
1890             pub struct Loader_cycleCollection {
1891                 pub _base: root::nsCycleCollectionParticipant,
1892             }
1893             #[test]
bindgen_test_layout_Loader_cycleCollection()1894             fn bindgen_test_layout_Loader_cycleCollection() {
1895                 assert_eq!(
1896                     ::std::mem::size_of::<Loader_cycleCollection>(),
1897                     16usize,
1898                     concat!("Size of: ", stringify!(Loader_cycleCollection))
1899                 );
1900                 assert_eq!(
1901                     ::std::mem::align_of::<Loader_cycleCollection>(),
1902                     8usize,
1903                     concat!("Alignment of ", stringify!(Loader_cycleCollection))
1904                 );
1905             }
1906             impl Clone for Loader_cycleCollection {
clone(&self) -> Self1907                 fn clone(&self) -> Self {
1908                     *self
1909                 }
1910             }
1911             pub type Loader_LoadDataArray =
1912                 root::nsTArray<root::RefPtr<root::mozilla::css::SheetLoadData>>;
1913             #[repr(C)]
1914             #[derive(Debug)]
1915             pub struct Loader_Sheets {
1916                 pub mCompleteSheets: [u64; 4usize],
1917                 pub mLoadingDatas: [u64; 4usize],
1918                 pub mPendingDatas: [u64; 4usize],
1919             }
1920             #[test]
bindgen_test_layout_Loader_Sheets()1921             fn bindgen_test_layout_Loader_Sheets() {
1922                 assert_eq!(
1923                     ::std::mem::size_of::<Loader_Sheets>(),
1924                     96usize,
1925                     concat!("Size of: ", stringify!(Loader_Sheets))
1926                 );
1927                 assert_eq!(
1928                     ::std::mem::align_of::<Loader_Sheets>(),
1929                     8usize,
1930                     concat!("Alignment of ", stringify!(Loader_Sheets))
1931                 );
1932                 assert_eq!(
1933                     unsafe {
1934                         &(*(::std::ptr::null::<Loader_Sheets>())).mCompleteSheets as *const _
1935                             as usize
1936                     },
1937                     0usize,
1938                     concat!(
1939                         "Offset of field: ",
1940                         stringify!(Loader_Sheets),
1941                         "::",
1942                         stringify!(mCompleteSheets)
1943                     )
1944                 );
1945                 assert_eq!(
1946                     unsafe {
1947                         &(*(::std::ptr::null::<Loader_Sheets>())).mLoadingDatas as *const _ as usize
1948                     },
1949                     32usize,
1950                     concat!(
1951                         "Offset of field: ",
1952                         stringify!(Loader_Sheets),
1953                         "::",
1954                         stringify!(mLoadingDatas)
1955                     )
1956                 );
1957                 assert_eq!(
1958                     unsafe {
1959                         &(*(::std::ptr::null::<Loader_Sheets>())).mPendingDatas as *const _ as usize
1960                     },
1961                     64usize,
1962                     concat!(
1963                         "Offset of field: ",
1964                         stringify!(Loader_Sheets),
1965                         "::",
1966                         stringify!(mPendingDatas)
1967                     )
1968                 );
1969             }
1970             extern "C" {
1971                 #[link_name = "\u{1}_ZN7mozilla3css6Loader21_cycleCollectorGlobalE"]
1972                 pub static mut Loader__cycleCollectorGlobal:
1973                     root::mozilla::css::Loader_cycleCollection;
1974             }
1975             #[test]
bindgen_test_layout_Loader()1976             fn bindgen_test_layout_Loader() {
1977                 assert_eq!(
1978                     ::std::mem::size_of::<Loader>(),
1979                     96usize,
1980                     concat!("Size of: ", stringify!(Loader))
1981                 );
1982                 assert_eq!(
1983                     ::std::mem::align_of::<Loader>(),
1984                     8usize,
1985                     concat!("Alignment of ", stringify!(Loader))
1986                 );
1987                 assert_eq!(
1988                     unsafe { &(*(::std::ptr::null::<Loader>())).mRefCnt as *const _ as usize },
1989                     0usize,
1990                     concat!(
1991                         "Offset of field: ",
1992                         stringify!(Loader),
1993                         "::",
1994                         stringify!(mRefCnt)
1995                     )
1996                 );
1997                 assert_eq!(
1998                     unsafe { &(*(::std::ptr::null::<Loader>())).mSheets as *const _ as usize },
1999                     8usize,
2000                     concat!(
2001                         "Offset of field: ",
2002                         stringify!(Loader),
2003                         "::",
2004                         stringify!(mSheets)
2005                     )
2006                 );
2007                 assert_eq!(
2008                     unsafe {
2009                         &(*(::std::ptr::null::<Loader>())).mPostedEvents as *const _ as usize
2010                     },
2011                     16usize,
2012                     concat!(
2013                         "Offset of field: ",
2014                         stringify!(Loader),
2015                         "::",
2016                         stringify!(mPostedEvents)
2017                     )
2018                 );
2019                 assert_eq!(
2020                     unsafe { &(*(::std::ptr::null::<Loader>())).mObservers as *const _ as usize },
2021                     24usize,
2022                     concat!(
2023                         "Offset of field: ",
2024                         stringify!(Loader),
2025                         "::",
2026                         stringify!(mObservers)
2027                     )
2028                 );
2029                 assert_eq!(
2030                     unsafe { &(*(::std::ptr::null::<Loader>())).mDocument as *const _ as usize },
2031                     40usize,
2032                     concat!(
2033                         "Offset of field: ",
2034                         stringify!(Loader),
2035                         "::",
2036                         stringify!(mDocument)
2037                     )
2038                 );
2039                 assert_eq!(
2040                     unsafe { &(*(::std::ptr::null::<Loader>())).mDocGroup as *const _ as usize },
2041                     48usize,
2042                     concat!(
2043                         "Offset of field: ",
2044                         stringify!(Loader),
2045                         "::",
2046                         stringify!(mDocGroup)
2047                     )
2048                 );
2049                 assert_eq!(
2050                     unsafe {
2051                         &(*(::std::ptr::null::<Loader>())).mDatasToNotifyOn as *const _ as usize
2052                     },
2053                     56usize,
2054                     concat!(
2055                         "Offset of field: ",
2056                         stringify!(Loader),
2057                         "::",
2058                         stringify!(mDatasToNotifyOn)
2059                     )
2060                 );
2061                 assert_eq!(
2062                     unsafe { &(*(::std::ptr::null::<Loader>())).mCompatMode as *const _ as usize },
2063                     60usize,
2064                     concat!(
2065                         "Offset of field: ",
2066                         stringify!(Loader),
2067                         "::",
2068                         stringify!(mCompatMode)
2069                     )
2070                 );
2071                 assert_eq!(
2072                     unsafe {
2073                         &(*(::std::ptr::null::<Loader>())).mPreferredSheet as *const _ as usize
2074                     },
2075                     64usize,
2076                     concat!(
2077                         "Offset of field: ",
2078                         stringify!(Loader),
2079                         "::",
2080                         stringify!(mPreferredSheet)
2081                     )
2082                 );
2083                 assert_eq!(
2084                     unsafe {
2085                         &(*(::std::ptr::null::<Loader>())).mStyleBackendType as *const _ as usize
2086                     },
2087                     80usize,
2088                     concat!(
2089                         "Offset of field: ",
2090                         stringify!(Loader),
2091                         "::",
2092                         stringify!(mStyleBackendType)
2093                     )
2094                 );
2095                 assert_eq!(
2096                     unsafe { &(*(::std::ptr::null::<Loader>())).mEnabled as *const _ as usize },
2097                     82usize,
2098                     concat!(
2099                         "Offset of field: ",
2100                         stringify!(Loader),
2101                         "::",
2102                         stringify!(mEnabled)
2103                     )
2104                 );
2105                 assert_eq!(
2106                     unsafe { &(*(::std::ptr::null::<Loader>())).mReporter as *const _ as usize },
2107                     88usize,
2108                     concat!(
2109                         "Offset of field: ",
2110                         stringify!(Loader),
2111                         "::",
2112                         stringify!(mReporter)
2113                     )
2114                 );
2115             }
2116             #[repr(C)]
2117             pub struct SheetLoadData {
2118                 pub _base: root::nsIRunnable,
2119                 pub _base_1: root::nsIUnicharStreamLoaderObserver,
2120                 pub _base_2: root::nsIThreadObserver,
2121                 pub mRefCnt: root::nsAutoRefCnt,
2122                 pub mLoader: root::RefPtr<root::mozilla::css::Loader>,
2123                 pub mTitle: ::nsstring::nsStringRepr,
2124                 pub mEncoding: *const root::mozilla::Encoding,
2125                 pub mURI: root::nsCOMPtr,
2126                 pub mLineNumber: u32,
2127                 pub mSheet: root::RefPtr<root::mozilla::StyleSheet>,
2128                 pub mNext: *mut root::mozilla::css::SheetLoadData,
2129                 pub mParentData: root::RefPtr<root::mozilla::css::SheetLoadData>,
2130                 pub mPendingChildren: u32,
2131                 pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 2usize], u8>,
2132                 pub mOwningElement: root::nsCOMPtr,
2133                 pub mObserver: root::nsCOMPtr,
2134                 pub mLoaderPrincipal: root::nsCOMPtr,
2135                 pub mRequestingNode: root::nsCOMPtr,
2136                 pub mPreloadEncoding: *const root::mozilla::Encoding,
2137                 pub mStatus: root::nsresult,
2138             }
2139             pub type SheetLoadData_HasThreadSafeRefCnt = root::mozilla::FalseType;
2140             #[test]
bindgen_test_layout_SheetLoadData()2141             fn bindgen_test_layout_SheetLoadData() {
2142                 assert_eq!(
2143                     ::std::mem::size_of::<SheetLoadData>(),
2144                     160usize,
2145                     concat!("Size of: ", stringify!(SheetLoadData))
2146                 );
2147                 assert_eq!(
2148                     ::std::mem::align_of::<SheetLoadData>(),
2149                     8usize,
2150                     concat!("Alignment of ", stringify!(SheetLoadData))
2151                 );
2152             }
2153             impl SheetLoadData {
2154                 #[inline]
mSyncLoad(&self) -> bool2155                 pub fn mSyncLoad(&self) -> bool {
2156                     unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
2157                 }
2158                 #[inline]
set_mSyncLoad(&mut self, val: bool)2159                 pub fn set_mSyncLoad(&mut self, val: bool) {
2160                     unsafe {
2161                         let val: u8 = ::std::mem::transmute(val);
2162                         self._bitfield_1.set(0usize, 1u8, val as u64)
2163                     }
2164                 }
2165                 #[inline]
mIsNonDocumentSheet(&self) -> bool2166                 pub fn mIsNonDocumentSheet(&self) -> bool {
2167                     unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
2168                 }
2169                 #[inline]
set_mIsNonDocumentSheet(&mut self, val: bool)2170                 pub fn set_mIsNonDocumentSheet(&mut self, val: bool) {
2171                     unsafe {
2172                         let val: u8 = ::std::mem::transmute(val);
2173                         self._bitfield_1.set(1usize, 1u8, val as u64)
2174                     }
2175                 }
2176                 #[inline]
mIsLoading(&self) -> bool2177                 pub fn mIsLoading(&self) -> bool {
2178                     unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
2179                 }
2180                 #[inline]
set_mIsLoading(&mut self, val: bool)2181                 pub fn set_mIsLoading(&mut self, val: bool) {
2182                     unsafe {
2183                         let val: u8 = ::std::mem::transmute(val);
2184                         self._bitfield_1.set(2usize, 1u8, val as u64)
2185                     }
2186                 }
2187                 #[inline]
mIsBeingParsed(&self) -> bool2188                 pub fn mIsBeingParsed(&self) -> bool {
2189                     unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
2190                 }
2191                 #[inline]
set_mIsBeingParsed(&mut self, val: bool)2192                 pub fn set_mIsBeingParsed(&mut self, val: bool) {
2193                     unsafe {
2194                         let val: u8 = ::std::mem::transmute(val);
2195                         self._bitfield_1.set(3usize, 1u8, val as u64)
2196                     }
2197                 }
2198                 #[inline]
mIsCancelled(&self) -> bool2199                 pub fn mIsCancelled(&self) -> bool {
2200                     unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
2201                 }
2202                 #[inline]
set_mIsCancelled(&mut self, val: bool)2203                 pub fn set_mIsCancelled(&mut self, val: bool) {
2204                     unsafe {
2205                         let val: u8 = ::std::mem::transmute(val);
2206                         self._bitfield_1.set(4usize, 1u8, val as u64)
2207                     }
2208                 }
2209                 #[inline]
mMustNotify(&self) -> bool2210                 pub fn mMustNotify(&self) -> bool {
2211                     unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) }
2212                 }
2213                 #[inline]
set_mMustNotify(&mut self, val: bool)2214                 pub fn set_mMustNotify(&mut self, val: bool) {
2215                     unsafe {
2216                         let val: u8 = ::std::mem::transmute(val);
2217                         self._bitfield_1.set(5usize, 1u8, val as u64)
2218                     }
2219                 }
2220                 #[inline]
mWasAlternate(&self) -> bool2221                 pub fn mWasAlternate(&self) -> bool {
2222                     unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) }
2223                 }
2224                 #[inline]
set_mWasAlternate(&mut self, val: bool)2225                 pub fn set_mWasAlternate(&mut self, val: bool) {
2226                     unsafe {
2227                         let val: u8 = ::std::mem::transmute(val);
2228                         self._bitfield_1.set(6usize, 1u8, val as u64)
2229                     }
2230                 }
2231                 #[inline]
mUseSystemPrincipal(&self) -> bool2232                 pub fn mUseSystemPrincipal(&self) -> bool {
2233                     unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
2234                 }
2235                 #[inline]
set_mUseSystemPrincipal(&mut self, val: bool)2236                 pub fn set_mUseSystemPrincipal(&mut self, val: bool) {
2237                     unsafe {
2238                         let val: u8 = ::std::mem::transmute(val);
2239                         self._bitfield_1.set(7usize, 1u8, val as u64)
2240                     }
2241                 }
2242                 #[inline]
mSheetAlreadyComplete(&self) -> bool2243                 pub fn mSheetAlreadyComplete(&self) -> bool {
2244                     unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
2245                 }
2246                 #[inline]
set_mSheetAlreadyComplete(&mut self, val: bool)2247                 pub fn set_mSheetAlreadyComplete(&mut self, val: bool) {
2248                     unsafe {
2249                         let val: u8 = ::std::mem::transmute(val);
2250                         self._bitfield_1.set(8usize, 1u8, val as u64)
2251                     }
2252                 }
2253                 #[inline]
mIsCrossOriginNoCORS(&self) -> bool2254                 pub fn mIsCrossOriginNoCORS(&self) -> bool {
2255                     unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) }
2256                 }
2257                 #[inline]
set_mIsCrossOriginNoCORS(&mut self, val: bool)2258                 pub fn set_mIsCrossOriginNoCORS(&mut self, val: bool) {
2259                     unsafe {
2260                         let val: u8 = ::std::mem::transmute(val);
2261                         self._bitfield_1.set(9usize, 1u8, val as u64)
2262                     }
2263                 }
2264                 #[inline]
mBlockResourceTiming(&self) -> bool2265                 pub fn mBlockResourceTiming(&self) -> bool {
2266                     unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u8) }
2267                 }
2268                 #[inline]
set_mBlockResourceTiming(&mut self, val: bool)2269                 pub fn set_mBlockResourceTiming(&mut self, val: bool) {
2270                     unsafe {
2271                         let val: u8 = ::std::mem::transmute(val);
2272                         self._bitfield_1.set(10usize, 1u8, val as u64)
2273                     }
2274                 }
2275                 #[inline]
new_bitfield_1( mSyncLoad: bool, mIsNonDocumentSheet: bool, mIsLoading: bool, mIsBeingParsed: bool, mIsCancelled: bool, mMustNotify: bool, mWasAlternate: bool, mUseSystemPrincipal: bool, mSheetAlreadyComplete: bool, mIsCrossOriginNoCORS: bool, mBlockResourceTiming: bool, ) -> root::__BindgenBitfieldUnit<[u8; 2usize], u8>2276                 pub fn new_bitfield_1(
2277                     mSyncLoad: bool,
2278                     mIsNonDocumentSheet: bool,
2279                     mIsLoading: bool,
2280                     mIsBeingParsed: bool,
2281                     mIsCancelled: bool,
2282                     mMustNotify: bool,
2283                     mWasAlternate: bool,
2284                     mUseSystemPrincipal: bool,
2285                     mSheetAlreadyComplete: bool,
2286                     mIsCrossOriginNoCORS: bool,
2287                     mBlockResourceTiming: bool,
2288                 ) -> root::__BindgenBitfieldUnit<[u8; 2usize], u8> {
2289                     let mut __bindgen_bitfield_unit : root :: __BindgenBitfieldUnit < [ u8 ; 2usize ] , u8 > = Default :: default ( ) ;
2290                     __bindgen_bitfield_unit.set(0usize, 1u8, {
2291                         let mSyncLoad: u8 = unsafe { ::std::mem::transmute(mSyncLoad) };
2292                         mSyncLoad as u64
2293                     });
2294                     __bindgen_bitfield_unit.set(1usize, 1u8, {
2295                         let mIsNonDocumentSheet: u8 =
2296                             unsafe { ::std::mem::transmute(mIsNonDocumentSheet) };
2297                         mIsNonDocumentSheet as u64
2298                     });
2299                     __bindgen_bitfield_unit.set(2usize, 1u8, {
2300                         let mIsLoading: u8 = unsafe { ::std::mem::transmute(mIsLoading) };
2301                         mIsLoading as u64
2302                     });
2303                     __bindgen_bitfield_unit.set(3usize, 1u8, {
2304                         let mIsBeingParsed: u8 = unsafe { ::std::mem::transmute(mIsBeingParsed) };
2305                         mIsBeingParsed as u64
2306                     });
2307                     __bindgen_bitfield_unit.set(4usize, 1u8, {
2308                         let mIsCancelled: u8 = unsafe { ::std::mem::transmute(mIsCancelled) };
2309                         mIsCancelled as u64
2310                     });
2311                     __bindgen_bitfield_unit.set(5usize, 1u8, {
2312                         let mMustNotify: u8 = unsafe { ::std::mem::transmute(mMustNotify) };
2313                         mMustNotify as u64
2314                     });
2315                     __bindgen_bitfield_unit.set(6usize, 1u8, {
2316                         let mWasAlternate: u8 = unsafe { ::std::mem::transmute(mWasAlternate) };
2317                         mWasAlternate as u64
2318                     });
2319                     __bindgen_bitfield_unit.set(7usize, 1u8, {
2320                         let mUseSystemPrincipal: u8 =
2321                             unsafe { ::std::mem::transmute(mUseSystemPrincipal) };
2322                         mUseSystemPrincipal as u64
2323                     });
2324                     __bindgen_bitfield_unit.set(8usize, 1u8, {
2325                         let mSheetAlreadyComplete: u8 =
2326                             unsafe { ::std::mem::transmute(mSheetAlreadyComplete) };
2327                         mSheetAlreadyComplete as u64
2328                     });
2329                     __bindgen_bitfield_unit.set(9usize, 1u8, {
2330                         let mIsCrossOriginNoCORS: u8 =
2331                             unsafe { ::std::mem::transmute(mIsCrossOriginNoCORS) };
2332                         mIsCrossOriginNoCORS as u64
2333                     });
2334                     __bindgen_bitfield_unit.set(10usize, 1u8, {
2335                         let mBlockResourceTiming: u8 =
2336                             unsafe { ::std::mem::transmute(mBlockResourceTiming) };
2337                         mBlockResourceTiming as u64
2338                     });
2339                     __bindgen_bitfield_unit
2340                 }
2341             }
2342             #[repr(C)]
2343             #[derive(Debug)]
2344             pub struct Rule {
2345                 pub _base: root::nsISupports,
2346                 pub _base_1: root::nsWrapperCache,
2347                 pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
2348                 pub mSheet: *mut root::mozilla::StyleSheet,
2349                 pub mParentRule: *mut root::mozilla::css::GroupRule,
2350                 pub mLineNumber: u32,
2351                 pub mColumnNumber: u32,
2352             }
2353             pub type Rule_HasThreadSafeRefCnt = root::mozilla::FalseType;
2354             #[repr(C)]
2355             #[derive(Debug, Copy)]
2356             pub struct Rule_cycleCollection {
2357                 pub _base: root::nsXPCOMCycleCollectionParticipant,
2358             }
2359             #[test]
bindgen_test_layout_Rule_cycleCollection()2360             fn bindgen_test_layout_Rule_cycleCollection() {
2361                 assert_eq!(
2362                     ::std::mem::size_of::<Rule_cycleCollection>(),
2363                     16usize,
2364                     concat!("Size of: ", stringify!(Rule_cycleCollection))
2365                 );
2366                 assert_eq!(
2367                     ::std::mem::align_of::<Rule_cycleCollection>(),
2368                     8usize,
2369                     concat!("Alignment of ", stringify!(Rule_cycleCollection))
2370                 );
2371             }
2372             impl Clone for Rule_cycleCollection {
clone(&self) -> Self2373                 fn clone(&self) -> Self {
2374                     *self
2375                 }
2376             }
2377             pub const Rule_UNKNOWN_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 0;
2378             pub const Rule_CHARSET_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 1;
2379             pub const Rule_IMPORT_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 2;
2380             pub const Rule_NAMESPACE_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 3;
2381             pub const Rule_STYLE_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 4;
2382             pub const Rule_MEDIA_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 5;
2383             pub const Rule_FONT_FACE_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 6;
2384             pub const Rule_PAGE_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 7;
2385             pub const Rule_KEYFRAME_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 8;
2386             pub const Rule_KEYFRAMES_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 9;
2387             pub const Rule_DOCUMENT_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 10;
2388             pub const Rule_SUPPORTS_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 11;
2389             pub const Rule_FONT_FEATURE_VALUES_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 12;
2390             pub const Rule_COUNTER_STYLE_RULE: root::mozilla::css::Rule__bindgen_ty_1 = 13;
2391             pub type Rule__bindgen_ty_1 = u32;
2392             extern "C" {
2393                 #[link_name = "\u{1}_ZN7mozilla3css4Rule21_cycleCollectorGlobalE"]
2394                 pub static mut Rule__cycleCollectorGlobal: root::mozilla::css::Rule_cycleCollection;
2395             }
2396             #[test]
bindgen_test_layout_Rule()2397             fn bindgen_test_layout_Rule() {
2398                 assert_eq!(
2399                     ::std::mem::size_of::<Rule>(),
2400                     64usize,
2401                     concat!("Size of: ", stringify!(Rule))
2402                 );
2403                 assert_eq!(
2404                     ::std::mem::align_of::<Rule>(),
2405                     8usize,
2406                     concat!("Alignment of ", stringify!(Rule))
2407                 );
2408             }
2409             #[repr(C)]
2410             pub struct ErrorReporter {
2411                 pub mError: root::nsAutoString,
2412                 pub mErrorLine: ::nsstring::nsStringRepr,
2413                 pub mFileName: ::nsstring::nsStringRepr,
2414                 pub mScanner: *const root::nsCSSScanner,
2415                 pub mSheet: *const root::mozilla::StyleSheet,
2416                 pub mLoader: *const root::mozilla::css::Loader,
2417                 pub mURI: *mut root::nsIURI,
2418                 pub mInnerWindowID: u64,
2419                 pub mErrorLineNumber: u32,
2420                 pub mPrevErrorLineNumber: u32,
2421                 pub mErrorColNumber: u32,
2422             }
2423             #[test]
bindgen_test_layout_ErrorReporter()2424             fn bindgen_test_layout_ErrorReporter() {
2425                 assert_eq!(
2426                     ::std::mem::size_of::<ErrorReporter>(),
2427                     240usize,
2428                     concat!("Size of: ", stringify!(ErrorReporter))
2429                 );
2430                 assert_eq!(
2431                     ::std::mem::align_of::<ErrorReporter>(),
2432                     8usize,
2433                     concat!("Alignment of ", stringify!(ErrorReporter))
2434                 );
2435                 assert_eq!(
2436                     unsafe {
2437                         &(*(::std::ptr::null::<ErrorReporter>())).mError as *const _ as usize
2438                     },
2439                     0usize,
2440                     concat!(
2441                         "Offset of field: ",
2442                         stringify!(ErrorReporter),
2443                         "::",
2444                         stringify!(mError)
2445                     )
2446                 );
2447                 assert_eq!(
2448                     unsafe {
2449                         &(*(::std::ptr::null::<ErrorReporter>())).mErrorLine as *const _ as usize
2450                     },
2451                     152usize,
2452                     concat!(
2453                         "Offset of field: ",
2454                         stringify!(ErrorReporter),
2455                         "::",
2456                         stringify!(mErrorLine)
2457                     )
2458                 );
2459                 assert_eq!(
2460                     unsafe {
2461                         &(*(::std::ptr::null::<ErrorReporter>())).mFileName as *const _ as usize
2462                     },
2463                     168usize,
2464                     concat!(
2465                         "Offset of field: ",
2466                         stringify!(ErrorReporter),
2467                         "::",
2468                         stringify!(mFileName)
2469                     )
2470                 );
2471                 assert_eq!(
2472                     unsafe {
2473                         &(*(::std::ptr::null::<ErrorReporter>())).mScanner as *const _ as usize
2474                     },
2475                     184usize,
2476                     concat!(
2477                         "Offset of field: ",
2478                         stringify!(ErrorReporter),
2479                         "::",
2480                         stringify!(mScanner)
2481                     )
2482                 );
2483                 assert_eq!(
2484                     unsafe {
2485                         &(*(::std::ptr::null::<ErrorReporter>())).mSheet as *const _ as usize
2486                     },
2487                     192usize,
2488                     concat!(
2489                         "Offset of field: ",
2490                         stringify!(ErrorReporter),
2491                         "::",
2492                         stringify!(mSheet)
2493                     )
2494                 );
2495                 assert_eq!(
2496                     unsafe {
2497                         &(*(::std::ptr::null::<ErrorReporter>())).mLoader as *const _ as usize
2498                     },
2499                     200usize,
2500                     concat!(
2501                         "Offset of field: ",
2502                         stringify!(ErrorReporter),
2503                         "::",
2504                         stringify!(mLoader)
2505                     )
2506                 );
2507                 assert_eq!(
2508                     unsafe { &(*(::std::ptr::null::<ErrorReporter>())).mURI as *const _ as usize },
2509                     208usize,
2510                     concat!(
2511                         "Offset of field: ",
2512                         stringify!(ErrorReporter),
2513                         "::",
2514                         stringify!(mURI)
2515                     )
2516                 );
2517                 assert_eq!(
2518                     unsafe {
2519                         &(*(::std::ptr::null::<ErrorReporter>())).mInnerWindowID as *const _
2520                             as usize
2521                     },
2522                     216usize,
2523                     concat!(
2524                         "Offset of field: ",
2525                         stringify!(ErrorReporter),
2526                         "::",
2527                         stringify!(mInnerWindowID)
2528                     )
2529                 );
2530                 assert_eq!(
2531                     unsafe {
2532                         &(*(::std::ptr::null::<ErrorReporter>())).mErrorLineNumber as *const _
2533                             as usize
2534                     },
2535                     224usize,
2536                     concat!(
2537                         "Offset of field: ",
2538                         stringify!(ErrorReporter),
2539                         "::",
2540                         stringify!(mErrorLineNumber)
2541                     )
2542                 );
2543                 assert_eq!(
2544                     unsafe {
2545                         &(*(::std::ptr::null::<ErrorReporter>())).mPrevErrorLineNumber as *const _
2546                             as usize
2547                     },
2548                     228usize,
2549                     concat!(
2550                         "Offset of field: ",
2551                         stringify!(ErrorReporter),
2552                         "::",
2553                         stringify!(mPrevErrorLineNumber)
2554                     )
2555                 );
2556                 assert_eq!(
2557                     unsafe {
2558                         &(*(::std::ptr::null::<ErrorReporter>())).mErrorColNumber as *const _
2559                             as usize
2560                     },
2561                     232usize,
2562                     concat!(
2563                         "Offset of field: ",
2564                         stringify!(ErrorReporter),
2565                         "::",
2566                         stringify!(mErrorColNumber)
2567                     )
2568                 );
2569             }
2570             #[repr(i32)]
2571             /// Enum defining the type of URL matching function for a @-moz-document rule
2572             /// condition.
2573             #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
2574             pub enum URLMatchingFunction {
2575                 eURL = 0,
2576                 eURLPrefix = 1,
2577                 eDomain = 2,
2578                 eRegExp = 3,
2579             }
2580         }
2581         #[repr(C)]
2582         #[derive(Debug)]
2583         pub struct ThreadSafeAutoRefCnt {
2584             pub mValue: u64,
2585         }
2586         pub const ThreadSafeAutoRefCnt_isThreadSafe: bool = true;
2587         #[test]
bindgen_test_layout_ThreadSafeAutoRefCnt()2588         fn bindgen_test_layout_ThreadSafeAutoRefCnt() {
2589             assert_eq!(
2590                 ::std::mem::size_of::<ThreadSafeAutoRefCnt>(),
2591                 8usize,
2592                 concat!("Size of: ", stringify!(ThreadSafeAutoRefCnt))
2593             );
2594             assert_eq!(
2595                 ::std::mem::align_of::<ThreadSafeAutoRefCnt>(),
2596                 8usize,
2597                 concat!("Alignment of ", stringify!(ThreadSafeAutoRefCnt))
2598             );
2599             assert_eq!(
2600                 unsafe {
2601                     &(*(::std::ptr::null::<ThreadSafeAutoRefCnt>())).mValue as *const _ as usize
2602                 },
2603                 0usize,
2604                 concat!(
2605                     "Offset of field: ",
2606                     stringify!(ThreadSafeAutoRefCnt),
2607                     "::",
2608                     stringify!(mValue)
2609                 )
2610             );
2611         }
2612         pub type EnumeratedArray_ArrayType = u8;
2613         pub type EnumeratedArray_iterator = root::mozilla::EnumeratedArray_ArrayType;
2614         pub type EnumeratedArray_const_iterator = root::mozilla::EnumeratedArray_ArrayType;
2615         pub type EnumeratedArray_reverse_iterator = root::mozilla::EnumeratedArray_ArrayType;
2616         pub type EnumeratedArray_const_reverse_iterator = root::mozilla::EnumeratedArray_ArrayType;
2617         #[repr(C)]
2618         #[derive(Debug)]
2619         pub struct LinkedListElement {
2620             pub mNext: *mut root::mozilla::LinkedListElement,
2621             pub mPrev: *mut root::mozilla::LinkedListElement,
2622             pub mIsSentinel: bool,
2623         }
2624         pub type LinkedListElement_Traits = root::mozilla::detail::LinkedListElementTraits;
2625         pub type LinkedListElement_RawType = root::mozilla::LinkedListElement_Traits;
2626         pub type LinkedListElement_ConstRawType = root::mozilla::LinkedListElement_Traits;
2627         pub type LinkedListElement_ClientType = root::mozilla::LinkedListElement_Traits;
2628         pub type LinkedListElement_ConstClientType = root::mozilla::LinkedListElement_Traits;
2629         pub const LinkedListElement_NodeKind_Normal: root::mozilla::LinkedListElement_NodeKind = 0;
2630         pub const LinkedListElement_NodeKind_Sentinel: root::mozilla::LinkedListElement_NodeKind =
2631             0;
2632         pub type LinkedListElement_NodeKind = i32;
2633         #[repr(C)]
2634         #[derive(Debug)]
2635         pub struct LinkedList {
2636             pub sentinel: root::mozilla::LinkedListElement,
2637         }
2638         pub type LinkedList_Traits = root::mozilla::detail::LinkedListElementTraits;
2639         pub type LinkedList_RawType = root::mozilla::LinkedList_Traits;
2640         pub type LinkedList_ConstRawType = root::mozilla::LinkedList_Traits;
2641         pub type LinkedList_ClientType = root::mozilla::LinkedList_Traits;
2642         pub type LinkedList_ConstClientType = root::mozilla::LinkedList_Traits;
2643         #[repr(C)]
2644         #[derive(Debug, Copy, Clone)]
2645         pub struct LinkedList_Iterator {
2646             pub mCurrent: root::mozilla::LinkedList_RawType,
2647         }
2648         /// # mozilla::Variant
2649         ///
2650         /// A variant / tagged union / heterogenous disjoint union / sum-type template
2651         /// class. Similar in concept to (but not derived from) `boost::variant`.
2652         ///
2653         /// Sometimes, you may wish to use a C union with non-POD types. However, this is
2654         /// forbidden in C++ because it is not clear which type in the union should have
2655         /// its constructor and destructor run on creation and deletion
2656         /// respectively. This is the problem that `mozilla::Variant` solves.
2657         ///
2658         /// ## Usage
2659         ///
2660         /// A `mozilla::Variant` instance is constructed (via move or copy) from one of
2661         /// its variant types (ignoring const and references). It does *not* support
2662         /// construction from subclasses of variant types or types that coerce to one of
2663         /// the variant types.
2664         ///
2665         /// Variant<char, uint32_t> v1('a');
2666         /// Variant<UniquePtr<A>, B, C> v2(MakeUnique<A>());
2667         /// Variant<bool, char> v3(VariantType<char>, 0); // disambiguation needed
2668         /// Variant<int, int> v4(VariantIndex<1>, 0); // 2nd int
2669         ///
2670         /// Because specifying the full type of a Variant value is often verbose,
2671         /// there are two easier ways to construct values:
2672         ///
2673         /// A. AsVariant() can be used to construct a Variant value using type inference
2674         /// in contexts such as expressions or when returning values from functions.
2675         /// Because AsVariant() must copy or move the value into a temporary and this
2676         /// cannot necessarily be elided by the compiler, it's mostly appropriate only
2677         /// for use with primitive or very small types.
2678         ///
2679         /// Variant<char, uint32_t> Foo() { return AsVariant('x'); }
2680         /// // ...
2681         /// Variant<char, uint32_t> v1 = Foo();  // v1 holds char('x').
2682         ///
2683         /// B. Brace-construction with VariantType or VariantIndex; this also allows
2684         /// in-place construction with any number of arguments.
2685         ///
2686         /// struct AB { AB(int, int){...} };
2687         /// static Variant<AB, bool> foo()
2688         /// {
2689         /// return {VariantIndex<0>{}, 1, 2};
2690         /// }
2691         /// // ...
2692         /// Variant<AB, bool> v0 = Foo();  // v0 holds AB(1,2).
2693         ///
2694         /// All access to the contained value goes through type-safe accessors.
2695         /// Either the stored type, or the type index may be provided.
2696         ///
2697         /// void
2698         /// Foo(Variant<A, B, C> v)
2699         /// {
2700         /// if (v.is<A>()) {
2701         /// A& ref = v.as<A>();
2702         /// ...
2703         /// } else (v.is<1>()) { // Instead of v.is<B>.
2704         /// ...
2705         /// } else {
2706         /// ...
2707         /// }
2708         /// }
2709         ///
2710         /// In some situation, a Variant may be constructed from templated types, in
2711         /// which case it is possible that the same type could be given multiple times by
2712         /// an external developer. Or seemingly-different types could be aliases.
2713         /// In this case, repeated types can only be accessed through their index, to
2714         /// prevent ambiguous access by type.
2715         ///
2716         /// // Bad!
2717         /// template <typename T>
2718         /// struct ResultOrError
2719         /// {
2720         /// Variant<T, int> m;
2721         /// ResultOrError() : m(int(0)) {} // Error '0' by default
2722         /// ResultOrError(const T& r) : m(r) {}
2723         /// bool IsResult() const { return m.is<T>(); }
2724         /// bool IsError() const { return m.is<int>(); }
2725         /// };
2726         /// // Now instantiante with the result being an int too:
2727         /// ResultOrError<int> myResult(123); // Fail!
2728         /// // In Variant<int, int>, which 'int' are we refering to, from inside
2729         /// // ResultOrError functions?
2730         ///
2731         /// // Good!
2732         /// template <typename T>
2733         /// struct ResultOrError
2734         /// {
2735         /// Variant<T, int> m;
2736         /// ResultOrError() : m(VariantIndex<1>{}, 0) {} // Error '0' by default
2737         /// ResultOrError(const T& r) : m(VariantIndex<0>{}, r) {}
2738         /// bool IsResult() const { return m.is<0>(); } // 0 -> T
2739         /// bool IsError() const { return m.is<1>(); } // 1 -> int
2740         /// };
2741         /// // Now instantiante with the result being an int too:
2742         /// ResultOrError<int> myResult(123); // It now works!
2743         ///
2744         /// Attempting to use the contained value as type `T1` when the `Variant`
2745         /// instance contains a value of type `T2` causes an assertion failure.
2746         ///
2747         /// A a;
2748         /// Variant<A, B, C> v(a);
2749         /// v.as<B>(); // <--- Assertion failure!
2750         ///
2751         /// Trying to use a `Variant<Ts...>` instance as some type `U` that is not a
2752         /// member of the set of `Ts...` is a compiler error.
2753         ///
2754         /// A a;
2755         /// Variant<A, B, C> v(a);
2756         /// v.as<SomeRandomType>(); // <--- Compiler error!
2757         ///
2758         /// Additionally, you can turn a `Variant` that `is<T>` into a `T` by moving it
2759         /// out of the containing `Variant` instance with the `extract<T>` method:
2760         ///
2761         /// Variant<UniquePtr<A>, B, C> v(MakeUnique<A>());
2762         /// auto ptr = v.extract<UniquePtr<A>>();
2763         ///
2764         /// Finally, you can exhaustively match on the contained variant and branch into
2765         /// different code paths depending on which type is contained. This is preferred
2766         /// to manually checking every variant type T with is<T>() because it provides
2767         /// compile-time checking that you handled every type, rather than runtime
2768         /// assertion failures.
2769         ///
2770         /// // Bad!
2771         /// char* foo(Variant<A, B, C, D>& v) {
2772         /// if (v.is<A>()) {
2773         /// return ...;
2774         /// } else if (v.is<B>()) {
2775         /// return ...;
2776         /// } else {
2777         /// return doSomething(v.as<C>()); // Forgot about case D!
2778         /// }
2779         /// }
2780         ///
2781         /// // Good!
2782         /// struct FooMatcher
2783         /// {
2784         /// // The return type of all matchers must be identical.
2785         /// char* match(A& a) { ... }
2786         /// char* match(B& b) { ... }
2787         /// char* match(C& c) { ... }
2788         /// char* match(D& d) { ... } // Compile-time error to forget D!
2789         /// }
2790         /// char* foo(Variant<A, B, C, D>& v) {
2791         /// return v.match(FooMatcher());
2792         /// }
2793         ///
2794         /// ## Examples
2795         ///
2796         /// A tree is either an empty leaf, or a node with a value and two children:
2797         ///
2798         /// struct Leaf { };
2799         ///
2800         /// template<typename T>
2801         /// struct Node
2802         /// {
2803         /// T value;
2804         /// Tree<T>* left;
2805         /// Tree<T>* right;
2806         /// };
2807         ///
2808         /// template<typename T>
2809         /// using Tree = Variant<Leaf, Node<T>>;
2810         ///
2811         /// A copy-on-write string is either a non-owning reference to some existing
2812         /// string, or an owning reference to our copy:
2813         ///
2814         /// class CopyOnWriteString
2815         /// {
2816         /// Variant<const char*, UniquePtr<char[]>> string;
2817         ///
2818         /// ...
2819         /// };
2820         ///
2821         /// Because Variant must be aligned suitable to hold any value stored within it,
2822         /// and because |alignas| requirements don't affect platform ABI with respect to
2823         /// how parameters are laid out in memory, Variant can't be used as the type of a
2824         /// function parameter.  Pass Variant to functions by pointer or reference
2825         /// instead.
2826         #[repr(C)]
2827         #[derive(Debug)]
2828         pub struct Variant {
2829             pub rawData: *mut ::std::os::raw::c_uchar,
2830             pub tag: root::mozilla::Variant_Tag,
2831         }
2832         pub type Variant_Tag = root::mozilla::detail::VariantTag;
2833         pub type Variant_Impl = u8;
2834         #[repr(C)]
2835         #[derive(Debug, Copy, Clone)]
2836         pub struct Maybe {
2837             pub _address: u8,
2838         }
2839         pub type Maybe_ValueType<T> = T;
2840         pub mod gfx {
2841             #[allow(unused_imports)]
2842             use self::super::super::super::root;
2843             pub type Float = f32;
2844             #[repr(C)]
2845             #[derive(Debug, Copy, Clone)]
2846             pub struct IntPointTyped {
2847                 pub _address: u8,
2848             }
2849             pub type IntPointTyped_ToInt = u32;
2850             pub type IntPointTyped_Coord = u8;
2851             pub type IntPointTyped_Super = u8;
2852             #[repr(C)]
2853             #[derive(Debug, Copy)]
2854             pub struct FontVariation {
2855                 pub mTag: u32,
2856                 pub mValue: f32,
2857             }
2858             #[test]
bindgen_test_layout_FontVariation()2859             fn bindgen_test_layout_FontVariation() {
2860                 assert_eq!(
2861                     ::std::mem::size_of::<FontVariation>(),
2862                     8usize,
2863                     concat!("Size of: ", stringify!(FontVariation))
2864                 );
2865                 assert_eq!(
2866                     ::std::mem::align_of::<FontVariation>(),
2867                     4usize,
2868                     concat!("Alignment of ", stringify!(FontVariation))
2869                 );
2870                 assert_eq!(
2871                     unsafe { &(*(::std::ptr::null::<FontVariation>())).mTag as *const _ as usize },
2872                     0usize,
2873                     concat!(
2874                         "Offset of field: ",
2875                         stringify!(FontVariation),
2876                         "::",
2877                         stringify!(mTag)
2878                     )
2879                 );
2880                 assert_eq!(
2881                     unsafe {
2882                         &(*(::std::ptr::null::<FontVariation>())).mValue as *const _ as usize
2883                     },
2884                     4usize,
2885                     concat!(
2886                         "Offset of field: ",
2887                         stringify!(FontVariation),
2888                         "::",
2889                         stringify!(mValue)
2890                     )
2891                 );
2892             }
2893             impl Clone for FontVariation {
clone(&self) -> Self2894                 fn clone(&self) -> Self {
2895                     *self
2896                 }
2897             }
2898             #[repr(C)]
2899             #[derive(Debug, Copy)]
2900             pub struct UserData {
2901                 pub _bindgen_opaque_blob: [u64; 2usize],
2902             }
2903             pub type UserData_destroyFunc = u64;
2904             #[repr(C)]
2905             #[derive(Debug, Copy)]
2906             pub struct UserData_Entry {
2907                 pub _bindgen_opaque_blob: [u64; 3usize],
2908             }
2909             #[test]
bindgen_test_layout_UserData_Entry()2910             fn bindgen_test_layout_UserData_Entry() {
2911                 assert_eq!(
2912                     ::std::mem::size_of::<UserData_Entry>(),
2913                     24usize,
2914                     concat!("Size of: ", stringify!(UserData_Entry))
2915                 );
2916                 assert_eq!(
2917                     ::std::mem::align_of::<UserData_Entry>(),
2918                     8usize,
2919                     concat!("Alignment of ", stringify!(UserData_Entry))
2920                 );
2921             }
2922             impl Clone for UserData_Entry {
clone(&self) -> Self2923                 fn clone(&self) -> Self {
2924                     *self
2925                 }
2926             }
2927             #[test]
bindgen_test_layout_UserData()2928             fn bindgen_test_layout_UserData() {
2929                 assert_eq!(
2930                     ::std::mem::size_of::<UserData>(),
2931                     16usize,
2932                     concat!("Size of: ", stringify!(UserData))
2933                 );
2934                 assert_eq!(
2935                     ::std::mem::align_of::<UserData>(),
2936                     8usize,
2937                     concat!("Alignment of ", stringify!(UserData))
2938                 );
2939             }
2940             impl Clone for UserData {
clone(&self) -> Self2941                 fn clone(&self) -> Self {
2942                     *self
2943                 }
2944             }
2945             #[repr(C)]
2946             pub struct SourceSurface__bindgen_vtable(::std::os::raw::c_void);
2947             /// This is the base class for source surfaces. These objects are surfaces
2948             /// which may be used as a source in a SurfacePattern or a DrawSurface call.
2949             /// They cannot be drawn to directly.
2950             ///
2951             /// Although SourceSurface has thread-safe refcount, some SourceSurface cannot
2952             /// be used on random threads at the same time. Only DataSourceSurface can be
2953             /// used on random threads now. This will be fixed in the future. Eventually
2954             /// all SourceSurface should be thread-safe.
2955             #[repr(C)]
2956             #[derive(Debug)]
2957             pub struct SourceSurface {
2958                 pub vtable_: *const SourceSurface__bindgen_vtable,
2959                 pub _base: u64,
2960                 pub mUserData: root::mozilla::gfx::UserData,
2961             }
2962             #[test]
bindgen_test_layout_SourceSurface()2963             fn bindgen_test_layout_SourceSurface() {
2964                 assert_eq!(
2965                     ::std::mem::size_of::<SourceSurface>(),
2966                     32usize,
2967                     concat!("Size of: ", stringify!(SourceSurface))
2968                 );
2969                 assert_eq!(
2970                     ::std::mem::align_of::<SourceSurface>(),
2971                     8usize,
2972                     concat!("Alignment of ", stringify!(SourceSurface))
2973                 );
2974                 assert_eq!(
2975                     unsafe {
2976                         &(*(::std::ptr::null::<SourceSurface>())).mUserData as *const _ as usize
2977                     },
2978                     16usize,
2979                     concat!(
2980                         "Offset of field: ",
2981                         stringify!(SourceSurface),
2982                         "::",
2983                         stringify!(mUserData)
2984                     )
2985                 );
2986             }
2987         }
2988         pub mod layers {
2989             #[allow(unused_imports)]
2990             use self::super::super::super::root;
2991             #[repr(C)]
2992             #[derive(Debug, Copy)]
2993             pub struct LayerManager {
2994                 _unused: [u8; 0],
2995             }
2996             impl Clone for LayerManager {
clone(&self) -> Self2997                 fn clone(&self) -> Self {
2998                     *self
2999                 }
3000             }
3001         }
3002         pub mod dom {
3003             #[allow(unused_imports)]
3004             use self::super::super::super::root;
3005             #[repr(C)]
3006             #[derive(Debug, Copy)]
3007             pub struct AllOwningUnionBase {
3008                 pub _address: u8,
3009             }
3010             #[test]
bindgen_test_layout_AllOwningUnionBase()3011             fn bindgen_test_layout_AllOwningUnionBase() {
3012                 assert_eq!(
3013                     ::std::mem::size_of::<AllOwningUnionBase>(),
3014                     1usize,
3015                     concat!("Size of: ", stringify!(AllOwningUnionBase))
3016                 );
3017                 assert_eq!(
3018                     ::std::mem::align_of::<AllOwningUnionBase>(),
3019                     1usize,
3020                     concat!("Alignment of ", stringify!(AllOwningUnionBase))
3021                 );
3022             }
3023             impl Clone for AllOwningUnionBase {
clone(&self) -> Self3024                 fn clone(&self) -> Self {
3025                     *self
3026                 }
3027             }
3028             #[repr(C)]
3029             #[derive(Debug)]
3030             pub struct GlobalObject {
3031                 pub mGlobalJSObject: [u64; 3usize],
3032                 pub mCx: *mut root::JSContext,
3033                 pub mGlobalObject: *mut root::nsISupports,
3034             }
3035             #[test]
bindgen_test_layout_GlobalObject()3036             fn bindgen_test_layout_GlobalObject() {
3037                 assert_eq!(
3038                     ::std::mem::size_of::<GlobalObject>(),
3039                     40usize,
3040                     concat!("Size of: ", stringify!(GlobalObject))
3041                 );
3042                 assert_eq!(
3043                     ::std::mem::align_of::<GlobalObject>(),
3044                     8usize,
3045                     concat!("Alignment of ", stringify!(GlobalObject))
3046                 );
3047                 assert_eq!(
3048                     unsafe {
3049                         &(*(::std::ptr::null::<GlobalObject>())).mGlobalJSObject as *const _
3050                             as usize
3051                     },
3052                     0usize,
3053                     concat!(
3054                         "Offset of field: ",
3055                         stringify!(GlobalObject),
3056                         "::",
3057                         stringify!(mGlobalJSObject)
3058                     )
3059                 );
3060                 assert_eq!(
3061                     unsafe { &(*(::std::ptr::null::<GlobalObject>())).mCx as *const _ as usize },
3062                     24usize,
3063                     concat!(
3064                         "Offset of field: ",
3065                         stringify!(GlobalObject),
3066                         "::",
3067                         stringify!(mCx)
3068                     )
3069                 );
3070                 assert_eq!(
3071                     unsafe {
3072                         &(*(::std::ptr::null::<GlobalObject>())).mGlobalObject as *const _ as usize
3073                     },
3074                     32usize,
3075                     concat!(
3076                         "Offset of field: ",
3077                         stringify!(GlobalObject),
3078                         "::",
3079                         stringify!(mGlobalObject)
3080                     )
3081                 );
3082             }
3083             #[repr(C)]
3084             #[derive(Debug, Copy, Clone)]
3085             pub struct Sequence {
3086                 pub _address: u8,
3087             }
3088             #[repr(u32)]
3089             #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
3090             pub enum CallerType {
3091                 System = 0,
3092                 NonSystem = 1,
3093             }
3094             #[repr(C)]
3095             #[derive(Debug, Copy, Clone)]
3096             pub struct Nullable {
3097                 pub _address: u8,
3098             }
3099             #[repr(C)]
3100             #[derive(Debug, Copy)]
3101             pub struct Promise {
3102                 _unused: [u8; 0],
3103             }
3104             impl Clone for Promise {
clone(&self) -> Self3105                 fn clone(&self) -> Self {
3106                     *self
3107                 }
3108             }
3109             #[repr(C)]
3110             #[derive(Debug, Copy)]
3111             pub struct ClientSource {
3112                 _unused: [u8; 0],
3113             }
3114             impl Clone for ClientSource {
clone(&self) -> Self3115                 fn clone(&self) -> Self {
3116                     *self
3117                 }
3118             }
3119             #[repr(C)]
3120             #[derive(Debug, Copy)]
3121             pub struct CSSImportRule {
3122                 _unused: [u8; 0],
3123             }
3124             impl Clone for CSSImportRule {
clone(&self) -> Self3125                 fn clone(&self) -> Self {
3126                     *self
3127                 }
3128             }
3129             /// Struct that stores info on an attribute. The name and value must either both
3130             /// be null or both be non-null.
3131             ///
3132             /// Note that, just as the pointers returned by GetAttrNameAt, the pointers that
3133             /// this struct hold are only valid until the element or its attributes are
3134             /// mutated (directly or via script).
3135             #[repr(C)]
3136             #[derive(Debug, Copy)]
3137             pub struct BorrowedAttrInfo {
3138                 pub mName: *const root::nsAttrName,
3139                 pub mValue: *const root::nsAttrValue,
3140             }
3141             #[test]
bindgen_test_layout_BorrowedAttrInfo()3142             fn bindgen_test_layout_BorrowedAttrInfo() {
3143                 assert_eq!(
3144                     ::std::mem::size_of::<BorrowedAttrInfo>(),
3145                     16usize,
3146                     concat!("Size of: ", stringify!(BorrowedAttrInfo))
3147                 );
3148                 assert_eq!(
3149                     ::std::mem::align_of::<BorrowedAttrInfo>(),
3150                     8usize,
3151                     concat!("Alignment of ", stringify!(BorrowedAttrInfo))
3152                 );
3153                 assert_eq!(
3154                     unsafe {
3155                         &(*(::std::ptr::null::<BorrowedAttrInfo>())).mName as *const _ as usize
3156                     },
3157                     0usize,
3158                     concat!(
3159                         "Offset of field: ",
3160                         stringify!(BorrowedAttrInfo),
3161                         "::",
3162                         stringify!(mName)
3163                     )
3164                 );
3165                 assert_eq!(
3166                     unsafe {
3167                         &(*(::std::ptr::null::<BorrowedAttrInfo>())).mValue as *const _ as usize
3168                     },
3169                     8usize,
3170                     concat!(
3171                         "Offset of field: ",
3172                         stringify!(BorrowedAttrInfo),
3173                         "::",
3174                         stringify!(mValue)
3175                     )
3176                 );
3177             }
3178             impl Clone for BorrowedAttrInfo {
clone(&self) -> Self3179                 fn clone(&self) -> Self {
3180                     *self
3181                 }
3182             }
3183             #[repr(C)]
3184             pub struct NodeInfo {
3185                 pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
3186                 pub mDocument: *mut root::nsIDocument,
3187                 pub mInner: root::mozilla::dom::NodeInfo_NodeInfoInner,
3188                 pub mOwnerManager: root::RefPtr<root::nsNodeInfoManager>,
3189                 pub mQualifiedName: ::nsstring::nsStringRepr,
3190                 pub mNodeName: ::nsstring::nsStringRepr,
3191                 pub mLocalName: ::nsstring::nsStringRepr,
3192             }
3193             pub type NodeInfo_HasThreadSafeRefCnt = root::mozilla::FalseType;
3194             #[repr(C)]
3195             #[derive(Debug, Copy)]
3196             pub struct NodeInfo_cycleCollection {
3197                 pub _base: root::nsCycleCollectionParticipant,
3198             }
3199             #[test]
bindgen_test_layout_NodeInfo_cycleCollection()3200             fn bindgen_test_layout_NodeInfo_cycleCollection() {
3201                 assert_eq!(
3202                     ::std::mem::size_of::<NodeInfo_cycleCollection>(),
3203                     16usize,
3204                     concat!("Size of: ", stringify!(NodeInfo_cycleCollection))
3205                 );
3206                 assert_eq!(
3207                     ::std::mem::align_of::<NodeInfo_cycleCollection>(),
3208                     8usize,
3209                     concat!("Alignment of ", stringify!(NodeInfo_cycleCollection))
3210                 );
3211             }
3212             impl Clone for NodeInfo_cycleCollection {
clone(&self) -> Self3213                 fn clone(&self) -> Self {
3214                     *self
3215                 }
3216             }
3217             #[repr(C)]
3218             #[derive(Debug, Copy)]
3219             pub struct NodeInfo_NodeInfoInner {
3220                 pub mName: *const root::nsAtom,
3221                 pub mPrefix: *mut root::nsAtom,
3222                 pub mNamespaceID: i32,
3223                 pub mNodeType: u16,
3224                 pub mNameString: *const root::nsAString,
3225                 pub mExtraName: *mut root::nsAtom,
3226                 pub mHash: root::PLHashNumber,
3227                 pub mHashInitialized: bool,
3228             }
3229             #[test]
bindgen_test_layout_NodeInfo_NodeInfoInner()3230             fn bindgen_test_layout_NodeInfo_NodeInfoInner() {
3231                 assert_eq!(
3232                     ::std::mem::size_of::<NodeInfo_NodeInfoInner>(),
3233                     48usize,
3234                     concat!("Size of: ", stringify!(NodeInfo_NodeInfoInner))
3235                 );
3236                 assert_eq!(
3237                     ::std::mem::align_of::<NodeInfo_NodeInfoInner>(),
3238                     8usize,
3239                     concat!("Alignment of ", stringify!(NodeInfo_NodeInfoInner))
3240                 );
3241                 assert_eq!(
3242                     unsafe {
3243                         &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mName as *const _
3244                             as usize
3245                     },
3246                     0usize,
3247                     concat!(
3248                         "Offset of field: ",
3249                         stringify!(NodeInfo_NodeInfoInner),
3250                         "::",
3251                         stringify!(mName)
3252                     )
3253                 );
3254                 assert_eq!(
3255                     unsafe {
3256                         &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mPrefix as *const _
3257                             as usize
3258                     },
3259                     8usize,
3260                     concat!(
3261                         "Offset of field: ",
3262                         stringify!(NodeInfo_NodeInfoInner),
3263                         "::",
3264                         stringify!(mPrefix)
3265                     )
3266                 );
3267                 assert_eq!(
3268                     unsafe {
3269                         &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mNamespaceID as *const _
3270                             as usize
3271                     },
3272                     16usize,
3273                     concat!(
3274                         "Offset of field: ",
3275                         stringify!(NodeInfo_NodeInfoInner),
3276                         "::",
3277                         stringify!(mNamespaceID)
3278                     )
3279                 );
3280                 assert_eq!(
3281                     unsafe {
3282                         &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mNodeType as *const _
3283                             as usize
3284                     },
3285                     20usize,
3286                     concat!(
3287                         "Offset of field: ",
3288                         stringify!(NodeInfo_NodeInfoInner),
3289                         "::",
3290                         stringify!(mNodeType)
3291                     )
3292                 );
3293                 assert_eq!(
3294                     unsafe {
3295                         &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mNameString as *const _
3296                             as usize
3297                     },
3298                     24usize,
3299                     concat!(
3300                         "Offset of field: ",
3301                         stringify!(NodeInfo_NodeInfoInner),
3302                         "::",
3303                         stringify!(mNameString)
3304                     )
3305                 );
3306                 assert_eq!(
3307                     unsafe {
3308                         &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mExtraName as *const _
3309                             as usize
3310                     },
3311                     32usize,
3312                     concat!(
3313                         "Offset of field: ",
3314                         stringify!(NodeInfo_NodeInfoInner),
3315                         "::",
3316                         stringify!(mExtraName)
3317                     )
3318                 );
3319                 assert_eq!(
3320                     unsafe {
3321                         &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mHash as *const _
3322                             as usize
3323                     },
3324                     40usize,
3325                     concat!(
3326                         "Offset of field: ",
3327                         stringify!(NodeInfo_NodeInfoInner),
3328                         "::",
3329                         stringify!(mHash)
3330                     )
3331                 );
3332                 assert_eq!(
3333                     unsafe {
3334                         &(*(::std::ptr::null::<NodeInfo_NodeInfoInner>())).mHashInitialized
3335                             as *const _ as usize
3336                     },
3337                     44usize,
3338                     concat!(
3339                         "Offset of field: ",
3340                         stringify!(NodeInfo_NodeInfoInner),
3341                         "::",
3342                         stringify!(mHashInitialized)
3343                     )
3344                 );
3345             }
3346             impl Clone for NodeInfo_NodeInfoInner {
clone(&self) -> Self3347                 fn clone(&self) -> Self {
3348                     *self
3349                 }
3350             }
3351             extern "C" {
3352                 #[link_name = "\u{1}_ZN7mozilla3dom8NodeInfo21_cycleCollectorGlobalE"]
3353                 pub static mut NodeInfo__cycleCollectorGlobal:
3354                     root::mozilla::dom::NodeInfo_cycleCollection;
3355             }
3356             #[test]
bindgen_test_layout_NodeInfo()3357             fn bindgen_test_layout_NodeInfo() {
3358                 assert_eq!(
3359                     ::std::mem::size_of::<NodeInfo>(),
3360                     120usize,
3361                     concat!("Size of: ", stringify!(NodeInfo))
3362                 );
3363                 assert_eq!(
3364                     ::std::mem::align_of::<NodeInfo>(),
3365                     8usize,
3366                     concat!("Alignment of ", stringify!(NodeInfo))
3367                 );
3368                 assert_eq!(
3369                     unsafe { &(*(::std::ptr::null::<NodeInfo>())).mRefCnt as *const _ as usize },
3370                     0usize,
3371                     concat!(
3372                         "Offset of field: ",
3373                         stringify!(NodeInfo),
3374                         "::",
3375                         stringify!(mRefCnt)
3376                     )
3377                 );
3378                 assert_eq!(
3379                     unsafe { &(*(::std::ptr::null::<NodeInfo>())).mDocument as *const _ as usize },
3380                     8usize,
3381                     concat!(
3382                         "Offset of field: ",
3383                         stringify!(NodeInfo),
3384                         "::",
3385                         stringify!(mDocument)
3386                     )
3387                 );
3388                 assert_eq!(
3389                     unsafe { &(*(::std::ptr::null::<NodeInfo>())).mInner as *const _ as usize },
3390                     16usize,
3391                     concat!(
3392                         "Offset of field: ",
3393                         stringify!(NodeInfo),
3394                         "::",
3395                         stringify!(mInner)
3396                     )
3397                 );
3398                 assert_eq!(
3399                     unsafe {
3400                         &(*(::std::ptr::null::<NodeInfo>())).mOwnerManager as *const _ as usize
3401                     },
3402                     64usize,
3403                     concat!(
3404                         "Offset of field: ",
3405                         stringify!(NodeInfo),
3406                         "::",
3407                         stringify!(mOwnerManager)
3408                     )
3409                 );
3410                 assert_eq!(
3411                     unsafe {
3412                         &(*(::std::ptr::null::<NodeInfo>())).mQualifiedName as *const _ as usize
3413                     },
3414                     72usize,
3415                     concat!(
3416                         "Offset of field: ",
3417                         stringify!(NodeInfo),
3418                         "::",
3419                         stringify!(mQualifiedName)
3420                     )
3421                 );
3422                 assert_eq!(
3423                     unsafe { &(*(::std::ptr::null::<NodeInfo>())).mNodeName as *const _ as usize },
3424                     88usize,
3425                     concat!(
3426                         "Offset of field: ",
3427                         stringify!(NodeInfo),
3428                         "::",
3429                         stringify!(mNodeName)
3430                     )
3431                 );
3432                 assert_eq!(
3433                     unsafe { &(*(::std::ptr::null::<NodeInfo>())).mLocalName as *const _ as usize },
3434                     104usize,
3435                     concat!(
3436                         "Offset of field: ",
3437                         stringify!(NodeInfo),
3438                         "::",
3439                         stringify!(mLocalName)
3440                     )
3441                 );
3442             }
3443             #[repr(C)]
3444             #[derive(Debug)]
3445             pub struct EventTarget {
3446                 pub _base: root::nsIDOMEventTarget,
3447                 pub _base_1: root::nsWrapperCache,
3448             }
3449             #[repr(C)]
3450             #[derive(Debug, Copy, Clone)]
3451             pub struct EventTarget_COMTypeInfo {
3452                 pub _address: u8,
3453             }
3454             #[test]
bindgen_test_layout_EventTarget()3455             fn bindgen_test_layout_EventTarget() {
3456                 assert_eq!(
3457                     ::std::mem::size_of::<EventTarget>(),
3458                     32usize,
3459                     concat!("Size of: ", stringify!(EventTarget))
3460                 );
3461                 assert_eq!(
3462                     ::std::mem::align_of::<EventTarget>(),
3463                     8usize,
3464                     concat!("Alignment of ", stringify!(EventTarget))
3465                 );
3466             }
3467             #[repr(C)]
3468             #[derive(Debug, Copy)]
3469             pub struct BoxQuadOptions {
3470                 _unused: [u8; 0],
3471             }
3472             impl Clone for BoxQuadOptions {
clone(&self) -> Self3473                 fn clone(&self) -> Self {
3474                     *self
3475                 }
3476             }
3477             #[repr(C)]
3478             #[derive(Debug, Copy)]
3479             pub struct ConvertCoordinateOptions {
3480                 _unused: [u8; 0],
3481             }
3482             impl Clone for ConvertCoordinateOptions {
clone(&self) -> Self3483                 fn clone(&self) -> Self {
3484                     *self
3485                 }
3486             }
3487             #[repr(C)]
3488             #[derive(Debug, Copy)]
3489             pub struct DocGroup {
3490                 _unused: [u8; 0],
3491             }
3492             impl Clone for DocGroup {
clone(&self) -> Self3493                 fn clone(&self) -> Self {
3494                     *self
3495                 }
3496             }
3497             #[repr(C)]
3498             #[derive(Debug, Copy)]
3499             pub struct DOMPoint {
3500                 _unused: [u8; 0],
3501             }
3502             impl Clone for DOMPoint {
clone(&self) -> Self3503                 fn clone(&self) -> Self {
3504                     *self
3505                 }
3506             }
3507             #[repr(C)]
3508             #[derive(Debug, Copy)]
3509             pub struct DOMQuad {
3510                 _unused: [u8; 0],
3511             }
3512             impl Clone for DOMQuad {
clone(&self) -> Self3513                 fn clone(&self) -> Self {
3514                     *self
3515                 }
3516             }
3517             #[repr(C)]
3518             #[derive(Debug, Copy)]
3519             pub struct TextOrElementOrDocument {
3520                 _unused: [u8; 0],
3521             }
3522             impl Clone for TextOrElementOrDocument {
clone(&self) -> Self3523                 fn clone(&self) -> Self {
3524                     *self
3525                 }
3526             }
3527             #[repr(C)]
3528             #[derive(Debug, Copy)]
3529             pub struct DOMPointInit {
3530                 _unused: [u8; 0],
3531             }
3532             impl Clone for DOMPointInit {
clone(&self) -> Self3533                 fn clone(&self) -> Self {
3534                     *self
3535                 }
3536             }
3537             pub const VisibilityState_Hidden: root::mozilla::dom::VisibilityState = 0;
3538             pub const VisibilityState_Visible: root::mozilla::dom::VisibilityState = 1;
3539             pub const VisibilityState_EndGuard_: root::mozilla::dom::VisibilityState = 2;
3540             pub type VisibilityState = u8;
3541             #[repr(C)]
3542             #[derive(Debug, Copy)]
3543             pub struct IPCClientInfo {
3544                 _unused: [u8; 0],
3545             }
3546             impl Clone for IPCClientInfo {
clone(&self) -> Self3547                 fn clone(&self) -> Self {
3548                     *self
3549                 }
3550             }
3551             #[repr(C)]
3552             #[derive(Debug, Copy)]
3553             pub struct TabGroup {
3554                 _unused: [u8; 0],
3555             }
3556             impl Clone for TabGroup {
clone(&self) -> Self3557                 fn clone(&self) -> Self {
3558                     *self
3559                 }
3560             }
3561             #[repr(C)]
3562             pub struct DispatcherTrait__bindgen_vtable(::std::os::raw::c_void);
3563             #[repr(C)]
3564             #[derive(Debug, Copy)]
3565             pub struct DispatcherTrait {
3566                 pub vtable_: *const DispatcherTrait__bindgen_vtable,
3567             }
3568             #[test]
bindgen_test_layout_DispatcherTrait()3569             fn bindgen_test_layout_DispatcherTrait() {
3570                 assert_eq!(
3571                     ::std::mem::size_of::<DispatcherTrait>(),
3572                     8usize,
3573                     concat!("Size of: ", stringify!(DispatcherTrait))
3574                 );
3575                 assert_eq!(
3576                     ::std::mem::align_of::<DispatcherTrait>(),
3577                     8usize,
3578                     concat!("Alignment of ", stringify!(DispatcherTrait))
3579                 );
3580             }
3581             impl Clone for DispatcherTrait {
clone(&self) -> Self3582                 fn clone(&self) -> Self {
3583                     *self
3584                 }
3585             }
3586             #[repr(C)]
3587             #[derive(Debug, Copy)]
3588             pub struct IPCServiceWorkerDescriptor {
3589                 _unused: [u8; 0],
3590             }
3591             impl Clone for IPCServiceWorkerDescriptor {
clone(&self) -> Self3592                 fn clone(&self) -> Self {
3593                     *self
3594                 }
3595             }
3596             #[repr(C)]
3597             #[derive(Debug, Copy)]
3598             pub struct AudioContext {
3599                 _unused: [u8; 0],
3600             }
3601             impl Clone for AudioContext {
clone(&self) -> Self3602                 fn clone(&self) -> Self {
3603                     *self
3604                 }
3605             }
3606             #[repr(C)]
3607             #[derive(Debug, Copy)]
3608             pub struct Navigator {
3609                 _unused: [u8; 0],
3610             }
3611             impl Clone for Navigator {
clone(&self) -> Self3612                 fn clone(&self) -> Self {
3613                     *self
3614                 }
3615             }
3616             #[repr(C)]
3617             #[derive(Debug, Copy)]
3618             pub struct Performance {
3619                 _unused: [u8; 0],
3620             }
3621             impl Clone for Performance {
clone(&self) -> Self3622                 fn clone(&self) -> Self {
3623                     *self
3624                 }
3625             }
3626             #[repr(C)]
3627             #[derive(Debug, Copy)]
3628             pub struct ServiceWorkerRegistration {
3629                 _unused: [u8; 0],
3630             }
3631             impl Clone for ServiceWorkerRegistration {
clone(&self) -> Self3632                 fn clone(&self) -> Self {
3633                     *self
3634                 }
3635             }
3636             #[repr(C)]
3637             #[derive(Debug, Copy)]
3638             pub struct TimeoutManager {
3639                 _unused: [u8; 0],
3640             }
3641             impl Clone for TimeoutManager {
clone(&self) -> Self3642                 fn clone(&self) -> Self {
3643                     *self
3644                 }
3645             }
3646             pub const LargeAllocStatus_NONE: root::mozilla::dom::LargeAllocStatus = 0;
3647             pub const LargeAllocStatus_SUCCESS: root::mozilla::dom::LargeAllocStatus = 1;
3648             pub const LargeAllocStatus_NON_GET: root::mozilla::dom::LargeAllocStatus = 2;
3649             pub const LargeAllocStatus_NON_E10S: root::mozilla::dom::LargeAllocStatus = 3;
3650             pub const LargeAllocStatus_NOT_ONLY_TOPLEVEL_IN_TABGROUP:
3651                 root::mozilla::dom::LargeAllocStatus = 4;
3652             pub const LargeAllocStatus_NON_WIN32: root::mozilla::dom::LargeAllocStatus = 5;
3653             pub type LargeAllocStatus = u8;
3654             #[repr(C)]
3655             #[derive(Debug, Copy)]
3656             pub struct StyleSheetList {
3657                 _unused: [u8; 0],
3658             }
3659             impl Clone for StyleSheetList {
clone(&self) -> Self3660                 fn clone(&self) -> Self {
3661                     *self
3662                 }
3663             }
3664             /// A class meant to be shared by ShadowRoot and Document, that holds a list of
3665             /// stylesheets.
3666             ///
3667             /// TODO(emilio, bug 1418159): In the future this should hold most of the
3668             /// relevant style state, this should allow us to fix bug 548397.
3669             #[repr(C)]
3670             pub struct DocumentOrShadowRoot {
3671                 pub mStyleSheets: root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>,
3672                 pub mDOMStyleSheets: root::RefPtr<root::mozilla::dom::StyleSheetList>,
3673                 pub mIdentifierMap: [u64; 4usize],
3674                 pub mAsNode: *mut root::nsINode,
3675                 pub mKind: root::mozilla::dom::DocumentOrShadowRoot_Kind,
3676             }
3677             pub const DocumentOrShadowRoot_Kind_Document:
3678                 root::mozilla::dom::DocumentOrShadowRoot_Kind = 0;
3679             pub const DocumentOrShadowRoot_Kind_ShadowRoot:
3680                 root::mozilla::dom::DocumentOrShadowRoot_Kind = 1;
3681             pub type DocumentOrShadowRoot_Kind = i32;
3682             pub const DocumentOrShadowRoot_ElementsFromPointFlags_IGNORE_ROOT_SCROLL_FRAME:
3683                 root::mozilla::dom::DocumentOrShadowRoot_ElementsFromPointFlags = 1;
3684             pub const DocumentOrShadowRoot_ElementsFromPointFlags_FLUSH_LAYOUT:
3685                 root::mozilla::dom::DocumentOrShadowRoot_ElementsFromPointFlags = 2;
3686             pub const DocumentOrShadowRoot_ElementsFromPointFlags_IS_ELEMENT_FROM_POINT:
3687                 root::mozilla::dom::DocumentOrShadowRoot_ElementsFromPointFlags = 4;
3688             pub type DocumentOrShadowRoot_ElementsFromPointFlags = u32;
3689             #[test]
bindgen_test_layout_DocumentOrShadowRoot()3690             fn bindgen_test_layout_DocumentOrShadowRoot() {
3691                 assert_eq!(
3692                     ::std::mem::size_of::<DocumentOrShadowRoot>(),
3693                     64usize,
3694                     concat!("Size of: ", stringify!(DocumentOrShadowRoot))
3695                 );
3696                 assert_eq!(
3697                     ::std::mem::align_of::<DocumentOrShadowRoot>(),
3698                     8usize,
3699                     concat!("Alignment of ", stringify!(DocumentOrShadowRoot))
3700                 );
3701                 assert_eq!(
3702                     unsafe {
3703                         &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mStyleSheets as *const _
3704                             as usize
3705                     },
3706                     0usize,
3707                     concat!(
3708                         "Offset of field: ",
3709                         stringify!(DocumentOrShadowRoot),
3710                         "::",
3711                         stringify!(mStyleSheets)
3712                     )
3713                 );
3714                 assert_eq!(
3715                     unsafe {
3716                         &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mDOMStyleSheets as *const _
3717                             as usize
3718                     },
3719                     8usize,
3720                     concat!(
3721                         "Offset of field: ",
3722                         stringify!(DocumentOrShadowRoot),
3723                         "::",
3724                         stringify!(mDOMStyleSheets)
3725                     )
3726                 );
3727                 assert_eq!(
3728                     unsafe {
3729                         &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mIdentifierMap as *const _
3730                             as usize
3731                     },
3732                     16usize,
3733                     concat!(
3734                         "Offset of field: ",
3735                         stringify!(DocumentOrShadowRoot),
3736                         "::",
3737                         stringify!(mIdentifierMap)
3738                     )
3739                 );
3740                 assert_eq!(
3741                     unsafe {
3742                         &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mAsNode as *const _
3743                             as usize
3744                     },
3745                     48usize,
3746                     concat!(
3747                         "Offset of field: ",
3748                         stringify!(DocumentOrShadowRoot),
3749                         "::",
3750                         stringify!(mAsNode)
3751                     )
3752                 );
3753                 assert_eq!(
3754                     unsafe {
3755                         &(*(::std::ptr::null::<DocumentOrShadowRoot>())).mKind as *const _ as usize
3756                     },
3757                     56usize,
3758                     concat!(
3759                         "Offset of field: ",
3760                         stringify!(DocumentOrShadowRoot),
3761                         "::",
3762                         stringify!(mKind)
3763                     )
3764                 );
3765             }
3766             #[repr(C)]
3767             #[derive(Debug, Copy)]
3768             pub struct AnonymousContent {
3769                 _unused: [u8; 0],
3770             }
3771             impl Clone for AnonymousContent {
clone(&self) -> Self3772                 fn clone(&self) -> Self {
3773                     *self
3774                 }
3775             }
3776             #[repr(C)]
3777             #[derive(Debug, Copy)]
3778             pub struct FontFaceSet {
3779                 _unused: [u8; 0],
3780             }
3781             impl Clone for FontFaceSet {
clone(&self) -> Self3782                 fn clone(&self) -> Self {
3783                     *self
3784                 }
3785             }
3786             #[repr(C)]
3787             #[derive(Debug, Copy)]
3788             pub struct FullscreenRequest {
3789                 _unused: [u8; 0],
3790             }
3791             impl Clone for FullscreenRequest {
clone(&self) -> Self3792                 fn clone(&self) -> Self {
3793                     *self
3794                 }
3795             }
3796             #[repr(C)]
3797             #[derive(Debug, Copy)]
3798             pub struct ImageTracker {
3799                 _unused: [u8; 0],
3800             }
3801             impl Clone for ImageTracker {
clone(&self) -> Self3802                 fn clone(&self) -> Self {
3803                     *self
3804                 }
3805             }
3806             #[repr(C)]
3807             #[derive(Debug, Copy)]
3808             pub struct Link {
3809                 _unused: [u8; 0],
3810             }
3811             impl Clone for Link {
clone(&self) -> Self3812                 fn clone(&self) -> Self {
3813                     *self
3814                 }
3815             }
3816             #[repr(C)]
3817             #[derive(Debug, Copy)]
3818             pub struct MediaQueryList {
3819                 _unused: [u8; 0],
3820             }
3821             impl Clone for MediaQueryList {
clone(&self) -> Self3822                 fn clone(&self) -> Self {
3823                     *self
3824                 }
3825             }
3826             #[repr(C)]
3827             #[derive(Debug, Copy)]
3828             pub struct XPathEvaluator {
3829                 _unused: [u8; 0],
3830             }
3831             impl Clone for XPathEvaluator {
clone(&self) -> Self3832                 fn clone(&self) -> Self {
3833                     *self
3834                 }
3835             }
3836             pub mod prototypes {
3837                 #[allow(unused_imports)]
3838                 use self::super::super::super::super::root;
3839             }
3840             pub mod constructors {
3841                 #[allow(unused_imports)]
3842                 use self::super::super::super::super::root;
3843             }
3844             pub mod namedpropertiesobjects {
3845                 #[allow(unused_imports)]
3846                 use self::super::super::super::super::root;
3847             }
3848             #[repr(C)]
3849             #[derive(Debug, Copy)]
3850             pub struct FrameRequestCallback {
3851                 pub _bindgen_opaque_blob: [u64; 6usize],
3852             }
3853             #[test]
bindgen_test_layout_FrameRequestCallback()3854             fn bindgen_test_layout_FrameRequestCallback() {
3855                 assert_eq!(
3856                     ::std::mem::size_of::<FrameRequestCallback>(),
3857                     48usize,
3858                     concat!("Size of: ", stringify!(FrameRequestCallback))
3859                 );
3860                 assert_eq!(
3861                     ::std::mem::align_of::<FrameRequestCallback>(),
3862                     8usize,
3863                     concat!("Alignment of ", stringify!(FrameRequestCallback))
3864                 );
3865             }
3866             impl Clone for FrameRequestCallback {
clone(&self) -> Self3867                 fn clone(&self) -> Self {
3868                     *self
3869                 }
3870             }
3871             #[repr(C)]
3872             pub struct URLParams {
3873                 pub mParams: root::nsTArray<root::mozilla::dom::URLParams_Param>,
3874             }
3875             #[repr(C)]
3876             pub struct URLParams_ForEachIterator__bindgen_vtable(::std::os::raw::c_void);
3877             #[repr(C)]
3878             #[derive(Debug, Copy)]
3879             pub struct URLParams_ForEachIterator {
3880                 pub vtable_: *const URLParams_ForEachIterator__bindgen_vtable,
3881             }
3882             #[test]
bindgen_test_layout_URLParams_ForEachIterator()3883             fn bindgen_test_layout_URLParams_ForEachIterator() {
3884                 assert_eq!(
3885                     ::std::mem::size_of::<URLParams_ForEachIterator>(),
3886                     8usize,
3887                     concat!("Size of: ", stringify!(URLParams_ForEachIterator))
3888                 );
3889                 assert_eq!(
3890                     ::std::mem::align_of::<URLParams_ForEachIterator>(),
3891                     8usize,
3892                     concat!("Alignment of ", stringify!(URLParams_ForEachIterator))
3893                 );
3894             }
3895             impl Clone for URLParams_ForEachIterator {
clone(&self) -> Self3896                 fn clone(&self) -> Self {
3897                     *self
3898                 }
3899             }
3900             #[repr(C)]
3901             pub struct URLParams_Param {
3902                 pub mKey: ::nsstring::nsStringRepr,
3903                 pub mValue: ::nsstring::nsStringRepr,
3904             }
3905             #[test]
bindgen_test_layout_URLParams_Param()3906             fn bindgen_test_layout_URLParams_Param() {
3907                 assert_eq!(
3908                     ::std::mem::size_of::<URLParams_Param>(),
3909                     32usize,
3910                     concat!("Size of: ", stringify!(URLParams_Param))
3911                 );
3912                 assert_eq!(
3913                     ::std::mem::align_of::<URLParams_Param>(),
3914                     8usize,
3915                     concat!("Alignment of ", stringify!(URLParams_Param))
3916                 );
3917                 assert_eq!(
3918                     unsafe {
3919                         &(*(::std::ptr::null::<URLParams_Param>())).mKey as *const _ as usize
3920                     },
3921                     0usize,
3922                     concat!(
3923                         "Offset of field: ",
3924                         stringify!(URLParams_Param),
3925                         "::",
3926                         stringify!(mKey)
3927                     )
3928                 );
3929                 assert_eq!(
3930                     unsafe {
3931                         &(*(::std::ptr::null::<URLParams_Param>())).mValue as *const _ as usize
3932                     },
3933                     16usize,
3934                     concat!(
3935                         "Offset of field: ",
3936                         stringify!(URLParams_Param),
3937                         "::",
3938                         stringify!(mValue)
3939                     )
3940                 );
3941             }
3942             #[test]
bindgen_test_layout_URLParams()3943             fn bindgen_test_layout_URLParams() {
3944                 assert_eq!(
3945                     ::std::mem::size_of::<URLParams>(),
3946                     8usize,
3947                     concat!("Size of: ", stringify!(URLParams))
3948                 );
3949                 assert_eq!(
3950                     ::std::mem::align_of::<URLParams>(),
3951                     8usize,
3952                     concat!("Alignment of ", stringify!(URLParams))
3953                 );
3954                 assert_eq!(
3955                     unsafe { &(*(::std::ptr::null::<URLParams>())).mParams as *const _ as usize },
3956                     0usize,
3957                     concat!(
3958                         "Offset of field: ",
3959                         stringify!(URLParams),
3960                         "::",
3961                         stringify!(mParams)
3962                     )
3963                 );
3964             }
3965             #[repr(C)]
3966             pub struct SRIMetadata {
3967                 pub mHashes: root::nsTArray<root::nsCString>,
3968                 pub mIntegrityString: ::nsstring::nsStringRepr,
3969                 pub mAlgorithm: root::nsCString,
3970                 pub mAlgorithmType: i8,
3971                 pub mEmpty: bool,
3972             }
3973             pub const SRIMetadata_MAX_ALTERNATE_HASHES: u32 = 256;
3974             pub const SRIMetadata_UNKNOWN_ALGORITHM: i8 = -1;
3975             #[test]
bindgen_test_layout_SRIMetadata()3976             fn bindgen_test_layout_SRIMetadata() {
3977                 assert_eq!(
3978                     ::std::mem::size_of::<SRIMetadata>(),
3979                     48usize,
3980                     concat!("Size of: ", stringify!(SRIMetadata))
3981                 );
3982                 assert_eq!(
3983                     ::std::mem::align_of::<SRIMetadata>(),
3984                     8usize,
3985                     concat!("Alignment of ", stringify!(SRIMetadata))
3986                 );
3987                 assert_eq!(
3988                     unsafe { &(*(::std::ptr::null::<SRIMetadata>())).mHashes as *const _ as usize },
3989                     0usize,
3990                     concat!(
3991                         "Offset of field: ",
3992                         stringify!(SRIMetadata),
3993                         "::",
3994                         stringify!(mHashes)
3995                     )
3996                 );
3997                 assert_eq!(
3998                     unsafe {
3999                         &(*(::std::ptr::null::<SRIMetadata>())).mIntegrityString as *const _
4000                             as usize
4001                     },
4002                     8usize,
4003                     concat!(
4004                         "Offset of field: ",
4005                         stringify!(SRIMetadata),
4006                         "::",
4007                         stringify!(mIntegrityString)
4008                     )
4009                 );
4010                 assert_eq!(
4011                     unsafe {
4012                         &(*(::std::ptr::null::<SRIMetadata>())).mAlgorithm as *const _ as usize
4013                     },
4014                     24usize,
4015                     concat!(
4016                         "Offset of field: ",
4017                         stringify!(SRIMetadata),
4018                         "::",
4019                         stringify!(mAlgorithm)
4020                     )
4021                 );
4022                 assert_eq!(
4023                     unsafe {
4024                         &(*(::std::ptr::null::<SRIMetadata>())).mAlgorithmType as *const _ as usize
4025                     },
4026                     40usize,
4027                     concat!(
4028                         "Offset of field: ",
4029                         stringify!(SRIMetadata),
4030                         "::",
4031                         stringify!(mAlgorithmType)
4032                     )
4033                 );
4034                 assert_eq!(
4035                     unsafe { &(*(::std::ptr::null::<SRIMetadata>())).mEmpty as *const _ as usize },
4036                     41usize,
4037                     concat!(
4038                         "Offset of field: ",
4039                         stringify!(SRIMetadata),
4040                         "::",
4041                         stringify!(mEmpty)
4042                     )
4043                 );
4044             }
4045             #[repr(C)]
4046             #[derive(Debug)]
4047             pub struct OwningNodeOrString {
4048                 pub mType: root::mozilla::dom::OwningNodeOrString_Type,
4049                 pub mValue: root::mozilla::dom::OwningNodeOrString_Value,
4050             }
4051             pub const OwningNodeOrString_Type_eUninitialized:
4052                 root::mozilla::dom::OwningNodeOrString_Type = 0;
4053             pub const OwningNodeOrString_Type_eNode: root::mozilla::dom::OwningNodeOrString_Type =
4054                 1;
4055             pub const OwningNodeOrString_Type_eString: root::mozilla::dom::OwningNodeOrString_Type =
4056                 2;
4057             pub type OwningNodeOrString_Type = u32;
4058             #[repr(C)]
4059             #[derive(Debug, Copy)]
4060             pub struct OwningNodeOrString_Value {
4061                 pub _bindgen_opaque_blob: [u64; 2usize],
4062             }
4063             #[test]
bindgen_test_layout_OwningNodeOrString_Value()4064             fn bindgen_test_layout_OwningNodeOrString_Value() {
4065                 assert_eq!(
4066                     ::std::mem::size_of::<OwningNodeOrString_Value>(),
4067                     16usize,
4068                     concat!("Size of: ", stringify!(OwningNodeOrString_Value))
4069                 );
4070                 assert_eq!(
4071                     ::std::mem::align_of::<OwningNodeOrString_Value>(),
4072                     8usize,
4073                     concat!("Alignment of ", stringify!(OwningNodeOrString_Value))
4074                 );
4075             }
4076             impl Clone for OwningNodeOrString_Value {
clone(&self) -> Self4077                 fn clone(&self) -> Self {
4078                     *self
4079                 }
4080             }
4081             #[test]
bindgen_test_layout_OwningNodeOrString()4082             fn bindgen_test_layout_OwningNodeOrString() {
4083                 assert_eq!(
4084                     ::std::mem::size_of::<OwningNodeOrString>(),
4085                     24usize,
4086                     concat!("Size of: ", stringify!(OwningNodeOrString))
4087                 );
4088                 assert_eq!(
4089                     ::std::mem::align_of::<OwningNodeOrString>(),
4090                     8usize,
4091                     concat!("Alignment of ", stringify!(OwningNodeOrString))
4092                 );
4093                 assert_eq!(
4094                     unsafe {
4095                         &(*(::std::ptr::null::<OwningNodeOrString>())).mType as *const _ as usize
4096                     },
4097                     0usize,
4098                     concat!(
4099                         "Offset of field: ",
4100                         stringify!(OwningNodeOrString),
4101                         "::",
4102                         stringify!(mType)
4103                     )
4104                 );
4105                 assert_eq!(
4106                     unsafe {
4107                         &(*(::std::ptr::null::<OwningNodeOrString>())).mValue as *const _ as usize
4108                     },
4109                     8usize,
4110                     concat!(
4111                         "Offset of field: ",
4112                         stringify!(OwningNodeOrString),
4113                         "::",
4114                         stringify!(mValue)
4115                     )
4116                 );
4117             }
4118             #[repr(u8)]
4119             #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
4120             pub enum FillMode {
4121                 None = 0,
4122                 Forwards = 1,
4123                 Backwards = 2,
4124                 Both = 3,
4125                 Auto = 4,
4126                 EndGuard_ = 5,
4127             }
4128             #[repr(u8)]
4129             #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
4130             pub enum PlaybackDirection {
4131                 Normal = 0,
4132                 Reverse = 1,
4133                 Alternate = 2,
4134                 Alternate_reverse = 3,
4135                 EndGuard_ = 4,
4136             }
4137             #[repr(C)]
4138             #[derive(Debug, Copy)]
4139             pub struct XBLChildrenElement {
4140                 _unused: [u8; 0],
4141             }
4142             impl Clone for XBLChildrenElement {
clone(&self) -> Self4143                 fn clone(&self) -> Self {
4144                     *self
4145                 }
4146             }
4147             #[repr(C)]
4148             #[derive(Debug, Copy)]
4149             pub struct CustomElementData {
4150                 _unused: [u8; 0],
4151             }
4152             impl Clone for CustomElementData {
clone(&self) -> Self4153                 fn clone(&self) -> Self {
4154                     *self
4155                 }
4156             }
4157             #[repr(C)]
4158             pub struct FragmentOrElement {
4159                 pub _base: root::nsIContent,
4160                 pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
4161                 /// Array containing all attributes and children for this element
4162                 pub mAttrsAndChildren: root::nsAttrAndChildArray,
4163             }
4164             pub type FragmentOrElement_HasThreadSafeRefCnt = root::mozilla::FalseType;
4165             #[repr(C)]
4166             #[derive(Debug, Copy)]
4167             pub struct FragmentOrElement_cycleCollection {
4168                 pub _base: root::nsXPCOMCycleCollectionParticipant,
4169             }
4170             #[test]
bindgen_test_layout_FragmentOrElement_cycleCollection()4171             fn bindgen_test_layout_FragmentOrElement_cycleCollection() {
4172                 assert_eq!(
4173                     ::std::mem::size_of::<FragmentOrElement_cycleCollection>(),
4174                     16usize,
4175                     concat!("Size of: ", stringify!(FragmentOrElement_cycleCollection))
4176                 );
4177                 assert_eq!(
4178                     ::std::mem::align_of::<FragmentOrElement_cycleCollection>(),
4179                     8usize,
4180                     concat!(
4181                         "Alignment of ",
4182                         stringify!(FragmentOrElement_cycleCollection)
4183                     )
4184                 );
4185             }
4186             impl Clone for FragmentOrElement_cycleCollection {
clone(&self) -> Self4187                 fn clone(&self) -> Self {
4188                     *self
4189                 }
4190             }
4191             /// There are a set of DOM- and scripting-specific instance variables
4192             /// that may only be instantiated when a content object is accessed
4193             /// through the DOM. Rather than burn actual slots in the content
4194             /// objects for each of these instance variables, we put them off
4195             /// in a side structure that's only allocated when the content is
4196             /// accessed through the DOM.
4197             #[repr(C)]
4198             pub struct FragmentOrElement_nsExtendedDOMSlots {
4199                 pub _base: root::nsIContent_nsExtendedContentSlots,
4200                 /// SMIL Overridde style rules (for SMIL animation of CSS properties)
4201                 /// @see Element::GetSMILOverrideStyle
4202                 pub mSMILOverrideStyle: root::RefPtr<root::nsDOMCSSAttributeDeclaration>,
4203                 /// Holds any SMIL override style declaration for this element.
4204                 pub mSMILOverrideStyleDeclaration: root::RefPtr<root::mozilla::DeclarationBlock>,
4205                 /// The controllers of the XUL Element.
4206                 pub mControllers: root::nsCOMPtr,
4207                 /// An object implementing the .labels property for this element.
4208                 pub mLabelsList: root::RefPtr<root::nsLabelsNodeList>,
4209                 /// ShadowRoot bound to the element.
4210                 pub mShadowRoot: root::RefPtr<root::mozilla::dom::ShadowRoot>,
4211                 /// XBL binding installed on the element.
4212                 pub mXBLBinding: root::RefPtr<root::nsXBLBinding>,
4213                 /// Web components custom element data.
4214                 pub mCustomElementData: root::RefPtr<root::mozilla::dom::CustomElementData>,
4215                 /// For XUL to hold either frameloader or opener.
4216                 pub mFrameLoaderOrOpener: root::nsCOMPtr,
4217             }
4218             #[test]
bindgen_test_layout_FragmentOrElement_nsExtendedDOMSlots()4219             fn bindgen_test_layout_FragmentOrElement_nsExtendedDOMSlots() {
4220                 assert_eq!(
4221                     ::std::mem::size_of::<FragmentOrElement_nsExtendedDOMSlots>(),
4222                     104usize,
4223                     concat!(
4224                         "Size of: ",
4225                         stringify!(FragmentOrElement_nsExtendedDOMSlots)
4226                     )
4227                 );
4228                 assert_eq!(
4229                     ::std::mem::align_of::<FragmentOrElement_nsExtendedDOMSlots>(),
4230                     8usize,
4231                     concat!(
4232                         "Alignment of ",
4233                         stringify!(FragmentOrElement_nsExtendedDOMSlots)
4234                     )
4235                 );
4236                 assert_eq!(
4237                     unsafe {
4238                         &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>()))
4239                             .mSMILOverrideStyle as *const _ as usize
4240                     },
4241                     40usize,
4242                     concat!(
4243                         "Offset of field: ",
4244                         stringify!(FragmentOrElement_nsExtendedDOMSlots),
4245                         "::",
4246                         stringify!(mSMILOverrideStyle)
4247                     )
4248                 );
4249                 assert_eq!(
4250                     unsafe {
4251                         &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>()))
4252                             .mSMILOverrideStyleDeclaration as *const _
4253                             as usize
4254                     },
4255                     48usize,
4256                     concat!(
4257                         "Offset of field: ",
4258                         stringify!(FragmentOrElement_nsExtendedDOMSlots),
4259                         "::",
4260                         stringify!(mSMILOverrideStyleDeclaration)
4261                     )
4262                 );
4263                 assert_eq!(
4264                     unsafe {
4265                         &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>()))
4266                             .mControllers as *const _ as usize
4267                     },
4268                     56usize,
4269                     concat!(
4270                         "Offset of field: ",
4271                         stringify!(FragmentOrElement_nsExtendedDOMSlots),
4272                         "::",
4273                         stringify!(mControllers)
4274                     )
4275                 );
4276                 assert_eq!(
4277                     unsafe {
4278                         &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())).mLabelsList
4279                             as *const _ as usize
4280                     },
4281                     64usize,
4282                     concat!(
4283                         "Offset of field: ",
4284                         stringify!(FragmentOrElement_nsExtendedDOMSlots),
4285                         "::",
4286                         stringify!(mLabelsList)
4287                     )
4288                 );
4289                 assert_eq!(
4290                     unsafe {
4291                         &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())).mShadowRoot
4292                             as *const _ as usize
4293                     },
4294                     72usize,
4295                     concat!(
4296                         "Offset of field: ",
4297                         stringify!(FragmentOrElement_nsExtendedDOMSlots),
4298                         "::",
4299                         stringify!(mShadowRoot)
4300                     )
4301                 );
4302                 assert_eq!(
4303                     unsafe {
4304                         &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>())).mXBLBinding
4305                             as *const _ as usize
4306                     },
4307                     80usize,
4308                     concat!(
4309                         "Offset of field: ",
4310                         stringify!(FragmentOrElement_nsExtendedDOMSlots),
4311                         "::",
4312                         stringify!(mXBLBinding)
4313                     )
4314                 );
4315                 assert_eq!(
4316                     unsafe {
4317                         &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>()))
4318                             .mCustomElementData as *const _ as usize
4319                     },
4320                     88usize,
4321                     concat!(
4322                         "Offset of field: ",
4323                         stringify!(FragmentOrElement_nsExtendedDOMSlots),
4324                         "::",
4325                         stringify!(mCustomElementData)
4326                     )
4327                 );
4328                 assert_eq!(
4329                     unsafe {
4330                         &(*(::std::ptr::null::<FragmentOrElement_nsExtendedDOMSlots>()))
4331                             .mFrameLoaderOrOpener as *const _ as usize
4332                     },
4333                     96usize,
4334                     concat!(
4335                         "Offset of field: ",
4336                         stringify!(FragmentOrElement_nsExtendedDOMSlots),
4337                         "::",
4338                         stringify!(mFrameLoaderOrOpener)
4339                     )
4340                 );
4341             }
4342             #[repr(C)]
4343             pub struct FragmentOrElement_nsDOMSlots {
4344                 pub _base: root::nsIContent_nsContentSlots,
4345                 /// The .style attribute (an interface that forwards to the actual
4346                 /// style rules)
4347                 /// @see nsGenericHTMLElement::GetStyle
4348                 pub mStyle: root::nsCOMPtr,
4349                 /// The .dataset attribute.
4350                 /// @see nsGenericHTMLElement::GetDataset
4351                 pub mDataset: *mut root::nsDOMStringMap,
4352                 /// @see Element::Attributes
4353                 pub mAttributeMap: root::RefPtr<root::nsDOMAttributeMap>,
4354                 /// An object implementing the .children property for this element.
4355                 pub mChildrenList: root::RefPtr<root::nsContentList>,
4356                 /// An object implementing the .classList property for this element.
4357                 pub mClassList: root::RefPtr<root::nsDOMTokenList>,
4358             }
4359             #[test]
bindgen_test_layout_FragmentOrElement_nsDOMSlots()4360             fn bindgen_test_layout_FragmentOrElement_nsDOMSlots() {
4361                 assert_eq!(
4362                     ::std::mem::size_of::<FragmentOrElement_nsDOMSlots>(),
4363                     120usize,
4364                     concat!("Size of: ", stringify!(FragmentOrElement_nsDOMSlots))
4365                 );
4366                 assert_eq!(
4367                     ::std::mem::align_of::<FragmentOrElement_nsDOMSlots>(),
4368                     8usize,
4369                     concat!("Alignment of ", stringify!(FragmentOrElement_nsDOMSlots))
4370                 );
4371                 assert_eq!(
4372                     unsafe {
4373                         &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mStyle as *const _
4374                             as usize
4375                     },
4376                     80usize,
4377                     concat!(
4378                         "Offset of field: ",
4379                         stringify!(FragmentOrElement_nsDOMSlots),
4380                         "::",
4381                         stringify!(mStyle)
4382                     )
4383                 );
4384                 assert_eq!(
4385                     unsafe {
4386                         &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mDataset
4387                             as *const _ as usize
4388                     },
4389                     88usize,
4390                     concat!(
4391                         "Offset of field: ",
4392                         stringify!(FragmentOrElement_nsDOMSlots),
4393                         "::",
4394                         stringify!(mDataset)
4395                     )
4396                 );
4397                 assert_eq!(
4398                     unsafe {
4399                         &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mAttributeMap
4400                             as *const _ as usize
4401                     },
4402                     96usize,
4403                     concat!(
4404                         "Offset of field: ",
4405                         stringify!(FragmentOrElement_nsDOMSlots),
4406                         "::",
4407                         stringify!(mAttributeMap)
4408                     )
4409                 );
4410                 assert_eq!(
4411                     unsafe {
4412                         &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mChildrenList
4413                             as *const _ as usize
4414                     },
4415                     104usize,
4416                     concat!(
4417                         "Offset of field: ",
4418                         stringify!(FragmentOrElement_nsDOMSlots),
4419                         "::",
4420                         stringify!(mChildrenList)
4421                     )
4422                 );
4423                 assert_eq!(
4424                     unsafe {
4425                         &(*(::std::ptr::null::<FragmentOrElement_nsDOMSlots>())).mClassList
4426                             as *const _ as usize
4427                     },
4428                     112usize,
4429                     concat!(
4430                         "Offset of field: ",
4431                         stringify!(FragmentOrElement_nsDOMSlots),
4432                         "::",
4433                         stringify!(mClassList)
4434                     )
4435                 );
4436             }
4437             extern "C" {
4438                 #[link_name = "\u{1}_ZN7mozilla3dom17FragmentOrElement21_cycleCollectorGlobalE"]
4439                 pub static mut FragmentOrElement__cycleCollectorGlobal:
4440                     root::mozilla::dom::FragmentOrElement_cycleCollection;
4441             }
4442             #[test]
bindgen_test_layout_FragmentOrElement()4443             fn bindgen_test_layout_FragmentOrElement() {
4444                 assert_eq!(
4445                     ::std::mem::size_of::<FragmentOrElement>(),
4446                     104usize,
4447                     concat!("Size of: ", stringify!(FragmentOrElement))
4448                 );
4449                 assert_eq!(
4450                     ::std::mem::align_of::<FragmentOrElement>(),
4451                     8usize,
4452                     concat!("Alignment of ", stringify!(FragmentOrElement))
4453                 );
4454                 assert_eq!(
4455                     unsafe {
4456                         &(*(::std::ptr::null::<FragmentOrElement>())).mRefCnt as *const _ as usize
4457                     },
4458                     88usize,
4459                     concat!(
4460                         "Offset of field: ",
4461                         stringify!(FragmentOrElement),
4462                         "::",
4463                         stringify!(mRefCnt)
4464                     )
4465                 );
4466                 assert_eq!(
4467                     unsafe {
4468                         &(*(::std::ptr::null::<FragmentOrElement>())).mAttrsAndChildren as *const _
4469                             as usize
4470                     },
4471                     96usize,
4472                     concat!(
4473                         "Offset of field: ",
4474                         stringify!(FragmentOrElement),
4475                         "::",
4476                         stringify!(mAttrsAndChildren)
4477                     )
4478                 );
4479             }
4480             #[repr(C)]
4481             pub struct Attr {
4482                 pub _base: root::nsIAttribute,
4483                 pub _base_1: root::nsIDOMNode,
4484                 pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
4485                 pub mValue: ::nsstring::nsStringRepr,
4486             }
4487             pub type Attr_HasThreadSafeRefCnt = root::mozilla::FalseType;
4488             #[repr(C)]
4489             #[derive(Debug, Copy)]
4490             pub struct Attr_cycleCollection {
4491                 pub _base: root::nsXPCOMCycleCollectionParticipant,
4492             }
4493             #[test]
bindgen_test_layout_Attr_cycleCollection()4494             fn bindgen_test_layout_Attr_cycleCollection() {
4495                 assert_eq!(
4496                     ::std::mem::size_of::<Attr_cycleCollection>(),
4497                     16usize,
4498                     concat!("Size of: ", stringify!(Attr_cycleCollection))
4499                 );
4500                 assert_eq!(
4501                     ::std::mem::align_of::<Attr_cycleCollection>(),
4502                     8usize,
4503                     concat!("Alignment of ", stringify!(Attr_cycleCollection))
4504                 );
4505             }
4506             impl Clone for Attr_cycleCollection {
clone(&self) -> Self4507                 fn clone(&self) -> Self {
4508                     *self
4509                 }
4510             }
4511             extern "C" {
4512                 #[link_name = "\u{1}_ZN7mozilla3dom4Attr21_cycleCollectorGlobalE"]
4513                 pub static mut Attr__cycleCollectorGlobal: root::mozilla::dom::Attr_cycleCollection;
4514             }
4515             extern "C" {
4516                 #[link_name = "\u{1}_ZN7mozilla3dom4Attr12sInitializedE"]
4517                 pub static mut Attr_sInitialized: bool;
4518             }
4519             #[test]
bindgen_test_layout_Attr()4520             fn bindgen_test_layout_Attr() {
4521                 assert_eq!(
4522                     ::std::mem::size_of::<Attr>(),
4523                     128usize,
4524                     concat!("Size of: ", stringify!(Attr))
4525                 );
4526                 assert_eq!(
4527                     ::std::mem::align_of::<Attr>(),
4528                     8usize,
4529                     concat!("Alignment of ", stringify!(Attr))
4530                 );
4531             }
4532             #[repr(C)]
4533             #[derive(Debug)]
4534             pub struct DOMRectReadOnly {
4535                 pub _base: root::nsISupports,
4536                 pub _base_1: root::nsWrapperCache,
4537                 pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
4538                 pub mParent: root::nsCOMPtr,
4539             }
4540             pub type DOMRectReadOnly_HasThreadSafeRefCnt = root::mozilla::FalseType;
4541             #[repr(C)]
4542             #[derive(Debug, Copy)]
4543             pub struct DOMRectReadOnly_cycleCollection {
4544                 pub _base: root::nsXPCOMCycleCollectionParticipant,
4545             }
4546             #[test]
bindgen_test_layout_DOMRectReadOnly_cycleCollection()4547             fn bindgen_test_layout_DOMRectReadOnly_cycleCollection() {
4548                 assert_eq!(
4549                     ::std::mem::size_of::<DOMRectReadOnly_cycleCollection>(),
4550                     16usize,
4551                     concat!("Size of: ", stringify!(DOMRectReadOnly_cycleCollection))
4552                 );
4553                 assert_eq!(
4554                     ::std::mem::align_of::<DOMRectReadOnly_cycleCollection>(),
4555                     8usize,
4556                     concat!("Alignment of ", stringify!(DOMRectReadOnly_cycleCollection))
4557                 );
4558             }
4559             impl Clone for DOMRectReadOnly_cycleCollection {
clone(&self) -> Self4560                 fn clone(&self) -> Self {
4561                     *self
4562                 }
4563             }
4564             extern "C" {
4565                 #[link_name = "\u{1}_ZN7mozilla3dom15DOMRectReadOnly21_cycleCollectorGlobalE"]
4566                 pub static mut DOMRectReadOnly__cycleCollectorGlobal:
4567                     root::mozilla::dom::DOMRectReadOnly_cycleCollection;
4568             }
4569             #[test]
bindgen_test_layout_DOMRectReadOnly()4570             fn bindgen_test_layout_DOMRectReadOnly() {
4571                 assert_eq!(
4572                     ::std::mem::size_of::<DOMRectReadOnly>(),
4573                     48usize,
4574                     concat!("Size of: ", stringify!(DOMRectReadOnly))
4575                 );
4576                 assert_eq!(
4577                     ::std::mem::align_of::<DOMRectReadOnly>(),
4578                     8usize,
4579                     concat!("Alignment of ", stringify!(DOMRectReadOnly))
4580                 );
4581             }
4582             pub const ShadowRootMode_Open: root::mozilla::dom::ShadowRootMode = 0;
4583             pub const ShadowRootMode_Closed: root::mozilla::dom::ShadowRootMode = 1;
4584             pub const ShadowRootMode_EndGuard_: root::mozilla::dom::ShadowRootMode = 2;
4585             pub type ShadowRootMode = u8;
4586             #[repr(C)]
4587             pub struct Element {
4588                 pub _base: root::mozilla::dom::FragmentOrElement,
4589                 pub mState: root::mozilla::EventStates,
4590                 pub mServoData: ::gecko_bindings::structs::ServoCell<
4591                     *mut ::gecko_bindings::structs::ServoNodeData,
4592                 >,
4593             }
4594             #[repr(C)]
4595             #[derive(Debug, Copy, Clone)]
4596             pub struct Element_COMTypeInfo {
4597                 pub _address: u8,
4598             }
4599             /// StyleStateLocks is used to specify which event states should be locked,
4600             /// and whether they should be locked to on or off.
4601             #[repr(C)]
4602             #[derive(Debug, Copy)]
4603             pub struct Element_StyleStateLocks {
4604                 pub mLocks: root::mozilla::EventStates,
4605                 pub mValues: root::mozilla::EventStates,
4606             }
4607             #[test]
bindgen_test_layout_Element_StyleStateLocks()4608             fn bindgen_test_layout_Element_StyleStateLocks() {
4609                 assert_eq!(
4610                     ::std::mem::size_of::<Element_StyleStateLocks>(),
4611                     16usize,
4612                     concat!("Size of: ", stringify!(Element_StyleStateLocks))
4613                 );
4614                 assert_eq!(
4615                     ::std::mem::align_of::<Element_StyleStateLocks>(),
4616                     8usize,
4617                     concat!("Alignment of ", stringify!(Element_StyleStateLocks))
4618                 );
4619                 assert_eq!(
4620                     unsafe {
4621                         &(*(::std::ptr::null::<Element_StyleStateLocks>())).mLocks as *const _
4622                             as usize
4623                     },
4624                     0usize,
4625                     concat!(
4626                         "Offset of field: ",
4627                         stringify!(Element_StyleStateLocks),
4628                         "::",
4629                         stringify!(mLocks)
4630                     )
4631                 );
4632                 assert_eq!(
4633                     unsafe {
4634                         &(*(::std::ptr::null::<Element_StyleStateLocks>())).mValues as *const _
4635                             as usize
4636                     },
4637                     8usize,
4638                     concat!(
4639                         "Offset of field: ",
4640                         stringify!(Element_StyleStateLocks),
4641                         "::",
4642                         stringify!(mValues)
4643                     )
4644                 );
4645             }
4646             impl Clone for Element_StyleStateLocks {
clone(&self) -> Self4647                 fn clone(&self) -> Self {
4648                     *self
4649                 }
4650             }
4651             pub const Element_ATTR_MISSING: root::mozilla::dom::Element__bindgen_ty_1 = -1;
4652             pub const Element_ATTR_VALUE_NO_MATCH: root::mozilla::dom::Element__bindgen_ty_1 = -2;
4653             pub type Element__bindgen_ty_1 = i32;
4654             /// Check whether this Element's given attribute has one of a given list of
4655             /// values. If there is a match, we return the index in the list of the first
4656             /// matching value. If there was no attribute at all, then we return
4657             /// ATTR_MISSING. If there was an attribute but it didn't match, we return
4658             /// ATTR_VALUE_NO_MATCH. A non-negative result always indicates a match.
4659             ///
4660             /// @param aNameSpaceID The namespace ID of the attribute.  Must not
4661             /// be kNameSpaceID_Unknown.
4662             /// @param aName The name atom of the attribute.  Must not be null.
4663             /// @param aValues a nullptr-terminated array of pointers to atom values to test
4664             /// against.
4665             /// @param aCaseSensitive Whether to do a case-sensitive compare on the values.
4666             /// @return ATTR_MISSING, ATTR_VALUE_NO_MATCH or the non-negative index
4667             /// indicating the first value of aValues that matched
4668             pub type Element_AttrValuesArray = *const *const root::nsStaticAtom;
4669             #[repr(C)]
4670             #[derive(Debug, Copy)]
4671             pub struct Element_MappedAttributeEntry {
4672                 pub attribute: *mut *mut root::nsStaticAtom,
4673             }
4674             #[test]
bindgen_test_layout_Element_MappedAttributeEntry()4675             fn bindgen_test_layout_Element_MappedAttributeEntry() {
4676                 assert_eq!(
4677                     ::std::mem::size_of::<Element_MappedAttributeEntry>(),
4678                     8usize,
4679                     concat!("Size of: ", stringify!(Element_MappedAttributeEntry))
4680                 );
4681                 assert_eq!(
4682                     ::std::mem::align_of::<Element_MappedAttributeEntry>(),
4683                     8usize,
4684                     concat!("Alignment of ", stringify!(Element_MappedAttributeEntry))
4685                 );
4686                 assert_eq!(
4687                     unsafe {
4688                         &(*(::std::ptr::null::<Element_MappedAttributeEntry>())).attribute
4689                             as *const _ as usize
4690                     },
4691                     0usize,
4692                     concat!(
4693                         "Offset of field: ",
4694                         stringify!(Element_MappedAttributeEntry),
4695                         "::",
4696                         stringify!(attribute)
4697                     )
4698                 );
4699             }
4700             impl Clone for Element_MappedAttributeEntry {
clone(&self) -> Self4701                 fn clone(&self) -> Self {
4702                     *self
4703                 }
4704             }
4705             /// Define a general matching function that can be passed to
4706             /// GetElementsByMatching(). Each Element being considered is
4707             /// passed in.
4708             pub type Element_nsElementMatchFunc = ::std::option::Option<
4709                 unsafe extern "C" fn(aElement: *mut root::mozilla::dom::Element) -> bool,
4710             >;
4711             pub const Element_kAllServoDescendantBits: u32 = 25296896;
4712             pub const Element_kFireMutationEvent: bool = true;
4713             pub const Element_kDontFireMutationEvent: bool = false;
4714             pub const Element_kNotifyDocumentObservers: bool = true;
4715             pub const Element_kDontNotifyDocumentObservers: bool = false;
4716             pub const Element_kCallAfterSetAttr: bool = true;
4717             pub const Element_kDontCallAfterSetAttr: bool = false;
4718             #[test]
bindgen_test_layout_Element()4719             fn bindgen_test_layout_Element() {
4720                 assert_eq!(
4721                     ::std::mem::size_of::<Element>(),
4722                     120usize,
4723                     concat!("Size of: ", stringify!(Element))
4724                 );
4725                 assert_eq!(
4726                     ::std::mem::align_of::<Element>(),
4727                     8usize,
4728                     concat!("Alignment of ", stringify!(Element))
4729                 );
4730                 assert_eq!(
4731                     unsafe { &(*(::std::ptr::null::<Element>())).mState as *const _ as usize },
4732                     104usize,
4733                     concat!(
4734                         "Offset of field: ",
4735                         stringify!(Element),
4736                         "::",
4737                         stringify!(mState)
4738                     )
4739                 );
4740                 assert_eq!(
4741                     unsafe { &(*(::std::ptr::null::<Element>())).mServoData as *const _ as usize },
4742                     112usize,
4743                     concat!(
4744                         "Offset of field: ",
4745                         stringify!(Element),
4746                         "::",
4747                         stringify!(mServoData)
4748                     )
4749                 );
4750             }
4751             #[repr(C)]
4752             pub struct HTMLSlotElement {
4753                 pub _base: root::nsGenericHTMLElement,
4754                 pub mAssignedNodes: root::nsTArray<root::RefPtr<root::nsINode>>,
4755             }
4756             #[repr(C)]
4757             #[derive(Debug, Copy)]
4758             pub struct HTMLSlotElement_cycleCollection {
4759                 pub _base: root::mozilla::dom::FragmentOrElement_cycleCollection,
4760             }
4761             #[test]
bindgen_test_layout_HTMLSlotElement_cycleCollection()4762             fn bindgen_test_layout_HTMLSlotElement_cycleCollection() {
4763                 assert_eq!(
4764                     ::std::mem::size_of::<HTMLSlotElement_cycleCollection>(),
4765                     16usize,
4766                     concat!("Size of: ", stringify!(HTMLSlotElement_cycleCollection))
4767                 );
4768                 assert_eq!(
4769                     ::std::mem::align_of::<HTMLSlotElement_cycleCollection>(),
4770                     8usize,
4771                     concat!("Alignment of ", stringify!(HTMLSlotElement_cycleCollection))
4772                 );
4773             }
4774             impl Clone for HTMLSlotElement_cycleCollection {
clone(&self) -> Self4775                 fn clone(&self) -> Self {
4776                     *self
4777                 }
4778             }
4779             extern "C" {
4780                 #[link_name = "\u{1}_ZN7mozilla3dom15HTMLSlotElement21_cycleCollectorGlobalE"]
4781                 pub static mut HTMLSlotElement__cycleCollectorGlobal:
4782                     root::mozilla::dom::HTMLSlotElement_cycleCollection;
4783             }
4784             #[test]
bindgen_test_layout_HTMLSlotElement()4785             fn bindgen_test_layout_HTMLSlotElement() {
4786                 assert_eq!(
4787                     ::std::mem::size_of::<HTMLSlotElement>(),
4788                     136usize,
4789                     concat!("Size of: ", stringify!(HTMLSlotElement))
4790                 );
4791                 assert_eq!(
4792                     ::std::mem::align_of::<HTMLSlotElement>(),
4793                     8usize,
4794                     concat!("Alignment of ", stringify!(HTMLSlotElement))
4795                 );
4796                 assert_eq!(
4797                     unsafe {
4798                         &(*(::std::ptr::null::<HTMLSlotElement>())).mAssignedNodes as *const _
4799                             as usize
4800                     },
4801                     128usize,
4802                     concat!(
4803                         "Offset of field: ",
4804                         stringify!(HTMLSlotElement),
4805                         "::",
4806                         stringify!(mAssignedNodes)
4807                     )
4808                 );
4809             }
4810             #[repr(u8)]
4811             #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
4812             pub enum CompositeOperation {
4813                 Replace = 0,
4814                 Add = 1,
4815                 Accumulate = 2,
4816                 EndGuard_ = 3,
4817             }
4818             #[repr(u8)]
4819             #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
4820             pub enum IterationCompositeOperation {
4821                 Replace = 0,
4822                 Accumulate = 1,
4823                 EndGuard_ = 2,
4824             }
4825             #[repr(C)]
4826             pub struct DocumentFragment {
4827                 pub _base: root::mozilla::dom::FragmentOrElement,
4828                 pub _base_1: root::nsIDOMDocumentFragment,
4829                 pub mHost: root::RefPtr<root::mozilla::dom::Element>,
4830             }
4831             #[repr(C)]
4832             #[derive(Debug, Copy)]
4833             pub struct DocumentFragment_cycleCollection {
4834                 pub _base: root::mozilla::dom::FragmentOrElement_cycleCollection,
4835             }
4836             #[test]
bindgen_test_layout_DocumentFragment_cycleCollection()4837             fn bindgen_test_layout_DocumentFragment_cycleCollection() {
4838                 assert_eq!(
4839                     ::std::mem::size_of::<DocumentFragment_cycleCollection>(),
4840                     16usize,
4841                     concat!("Size of: ", stringify!(DocumentFragment_cycleCollection))
4842                 );
4843                 assert_eq!(
4844                     ::std::mem::align_of::<DocumentFragment_cycleCollection>(),
4845                     8usize,
4846                     concat!(
4847                         "Alignment of ",
4848                         stringify!(DocumentFragment_cycleCollection)
4849                     )
4850                 );
4851             }
4852             impl Clone for DocumentFragment_cycleCollection {
clone(&self) -> Self4853                 fn clone(&self) -> Self {
4854                     *self
4855                 }
4856             }
4857             extern "C" {
4858                 #[link_name = "\u{1}_ZN7mozilla3dom16DocumentFragment21_cycleCollectorGlobalE"]
4859                 pub static mut DocumentFragment__cycleCollectorGlobal:
4860                     root::mozilla::dom::DocumentFragment_cycleCollection;
4861             }
4862             #[test]
bindgen_test_layout_DocumentFragment()4863             fn bindgen_test_layout_DocumentFragment() {
4864                 assert_eq!(
4865                     ::std::mem::size_of::<DocumentFragment>(),
4866                     120usize,
4867                     concat!("Size of: ", stringify!(DocumentFragment))
4868                 );
4869                 assert_eq!(
4870                     ::std::mem::align_of::<DocumentFragment>(),
4871                     8usize,
4872                     concat!("Alignment of ", stringify!(DocumentFragment))
4873                 );
4874             }
4875             #[repr(C)]
4876             pub struct ShadowRoot {
4877                 pub _base: root::mozilla::dom::DocumentFragment,
4878                 pub _base_1: root::mozilla::dom::DocumentOrShadowRoot,
4879                 pub _base_2: root::nsStubMutationObserver,
4880                 pub mMode: root::mozilla::dom::ShadowRootMode,
4881                 pub mServoStyles: root::mozilla::UniquePtr<root::RawServoAuthorStyles>,
4882                 pub mStyleRuleMap: root::mozilla::UniquePtr<root::mozilla::ServoStyleRuleMap>,
4883                 pub mSlotMap: [u64; 4usize],
4884                 pub mIsComposedDocParticipant: bool,
4885             }
4886             #[repr(C)]
4887             #[derive(Debug, Copy)]
4888             pub struct ShadowRoot_cycleCollection {
4889                 pub _base: root::mozilla::dom::DocumentFragment_cycleCollection,
4890             }
4891             #[test]
bindgen_test_layout_ShadowRoot_cycleCollection()4892             fn bindgen_test_layout_ShadowRoot_cycleCollection() {
4893                 assert_eq!(
4894                     ::std::mem::size_of::<ShadowRoot_cycleCollection>(),
4895                     16usize,
4896                     concat!("Size of: ", stringify!(ShadowRoot_cycleCollection))
4897                 );
4898                 assert_eq!(
4899                     ::std::mem::align_of::<ShadowRoot_cycleCollection>(),
4900                     8usize,
4901                     concat!("Alignment of ", stringify!(ShadowRoot_cycleCollection))
4902                 );
4903             }
4904             impl Clone for ShadowRoot_cycleCollection {
clone(&self) -> Self4905                 fn clone(&self) -> Self {
4906                     *self
4907                 }
4908             }
4909             pub type ShadowRoot_SlotArray = u8;
4910             extern "C" {
4911                 #[link_name = "\u{1}_ZN7mozilla3dom10ShadowRoot21_cycleCollectorGlobalE"]
4912                 pub static mut ShadowRoot__cycleCollectorGlobal:
4913                     root::mozilla::dom::ShadowRoot_cycleCollection;
4914             }
4915             #[test]
bindgen_test_layout_ShadowRoot()4916             fn bindgen_test_layout_ShadowRoot() {
4917                 assert_eq!(
4918                     ::std::mem::size_of::<ShadowRoot>(),
4919                     256usize,
4920                     concat!("Size of: ", stringify!(ShadowRoot))
4921                 );
4922                 assert_eq!(
4923                     ::std::mem::align_of::<ShadowRoot>(),
4924                     8usize,
4925                     concat!("Alignment of ", stringify!(ShadowRoot))
4926                 );
4927             }
4928             #[repr(C)]
4929             #[derive(Debug, Copy)]
4930             pub struct ExplicitChildIterator {
4931                 pub mParent: *const root::nsIContent,
4932                 pub mParentAsSlot: *const root::mozilla::dom::HTMLSlotElement,
4933                 pub mChild: *mut root::nsIContent,
4934                 pub mDefaultChild: *mut root::nsIContent,
4935                 pub mIsFirst: bool,
4936                 pub mIndexInInserted: u32,
4937             }
4938             #[test]
bindgen_test_layout_ExplicitChildIterator()4939             fn bindgen_test_layout_ExplicitChildIterator() {
4940                 assert_eq!(
4941                     ::std::mem::size_of::<ExplicitChildIterator>(),
4942                     40usize,
4943                     concat!("Size of: ", stringify!(ExplicitChildIterator))
4944                 );
4945                 assert_eq!(
4946                     ::std::mem::align_of::<ExplicitChildIterator>(),
4947                     8usize,
4948                     concat!("Alignment of ", stringify!(ExplicitChildIterator))
4949                 );
4950                 assert_eq!(
4951                     unsafe {
4952                         &(*(::std::ptr::null::<ExplicitChildIterator>())).mParent as *const _
4953                             as usize
4954                     },
4955                     0usize,
4956                     concat!(
4957                         "Offset of field: ",
4958                         stringify!(ExplicitChildIterator),
4959                         "::",
4960                         stringify!(mParent)
4961                     )
4962                 );
4963                 assert_eq!(
4964                     unsafe {
4965                         &(*(::std::ptr::null::<ExplicitChildIterator>())).mParentAsSlot as *const _
4966                             as usize
4967                     },
4968                     8usize,
4969                     concat!(
4970                         "Offset of field: ",
4971                         stringify!(ExplicitChildIterator),
4972                         "::",
4973                         stringify!(mParentAsSlot)
4974                     )
4975                 );
4976                 assert_eq!(
4977                     unsafe {
4978                         &(*(::std::ptr::null::<ExplicitChildIterator>())).mChild as *const _
4979                             as usize
4980                     },
4981                     16usize,
4982                     concat!(
4983                         "Offset of field: ",
4984                         stringify!(ExplicitChildIterator),
4985                         "::",
4986                         stringify!(mChild)
4987                     )
4988                 );
4989                 assert_eq!(
4990                     unsafe {
4991                         &(*(::std::ptr::null::<ExplicitChildIterator>())).mDefaultChild as *const _
4992                             as usize
4993                     },
4994                     24usize,
4995                     concat!(
4996                         "Offset of field: ",
4997                         stringify!(ExplicitChildIterator),
4998                         "::",
4999                         stringify!(mDefaultChild)
5000                     )
5001                 );
5002                 assert_eq!(
5003                     unsafe {
5004                         &(*(::std::ptr::null::<ExplicitChildIterator>())).mIsFirst as *const _
5005                             as usize
5006                     },
5007                     32usize,
5008                     concat!(
5009                         "Offset of field: ",
5010                         stringify!(ExplicitChildIterator),
5011                         "::",
5012                         stringify!(mIsFirst)
5013                     )
5014                 );
5015                 assert_eq!(
5016                     unsafe {
5017                         &(*(::std::ptr::null::<ExplicitChildIterator>())).mIndexInInserted
5018                             as *const _ as usize
5019                     },
5020                     36usize,
5021                     concat!(
5022                         "Offset of field: ",
5023                         stringify!(ExplicitChildIterator),
5024                         "::",
5025                         stringify!(mIndexInInserted)
5026                     )
5027                 );
5028             }
5029             impl Clone for ExplicitChildIterator {
clone(&self) -> Self5030                 fn clone(&self) -> Self {
5031                     *self
5032                 }
5033             }
5034             #[repr(C)]
5035             #[derive(Debug)]
5036             pub struct FlattenedChildIterator {
5037                 pub _base: root::mozilla::dom::ExplicitChildIterator,
5038                 pub mOriginalContent: *const root::nsIContent,
5039                 pub mXBLInvolved: [u8; 2usize],
5040             }
5041             #[test]
bindgen_test_layout_FlattenedChildIterator()5042             fn bindgen_test_layout_FlattenedChildIterator() {
5043                 assert_eq!(
5044                     ::std::mem::size_of::<FlattenedChildIterator>(),
5045                     56usize,
5046                     concat!("Size of: ", stringify!(FlattenedChildIterator))
5047                 );
5048                 assert_eq!(
5049                     ::std::mem::align_of::<FlattenedChildIterator>(),
5050                     8usize,
5051                     concat!("Alignment of ", stringify!(FlattenedChildIterator))
5052                 );
5053                 assert_eq!(
5054                     unsafe {
5055                         &(*(::std::ptr::null::<FlattenedChildIterator>())).mOriginalContent
5056                             as *const _ as usize
5057                     },
5058                     40usize,
5059                     concat!(
5060                         "Offset of field: ",
5061                         stringify!(FlattenedChildIterator),
5062                         "::",
5063                         stringify!(mOriginalContent)
5064                     )
5065                 );
5066                 assert_eq!(
5067                     unsafe {
5068                         &(*(::std::ptr::null::<FlattenedChildIterator>())).mXBLInvolved as *const _
5069                             as usize
5070                     },
5071                     48usize,
5072                     concat!(
5073                         "Offset of field: ",
5074                         stringify!(FlattenedChildIterator),
5075                         "::",
5076                         stringify!(mXBLInvolved)
5077                     )
5078                 );
5079             }
5080             /// AllChildrenIterator traverses the children of an element including before /
5081             /// after content and optionally XBL children.  The iterator can be initialized
5082             /// to start at the end by providing false for aStartAtBeginning in order to
5083             /// start iterating in reverse from the last child.
5084             ///
5085             /// Note: it assumes that no mutation of the DOM or frame tree takes place during
5086             /// iteration, and will break horribly if that is not true.
5087             #[repr(C)]
5088             #[derive(Debug)]
5089             pub struct AllChildrenIterator {
5090                 pub _base: root::mozilla::dom::FlattenedChildIterator,
5091                 pub mAnonKids: root::nsTArray<*mut root::nsIContent>,
5092                 pub mAnonKidsIdx: u32,
5093                 pub mFlags: u32,
5094                 pub mPhase: root::mozilla::dom::AllChildrenIterator_IteratorPhase,
5095             }
5096             pub const AllChildrenIterator_IteratorPhase_eAtBegin:
5097                 root::mozilla::dom::AllChildrenIterator_IteratorPhase = 0;
5098             pub const AllChildrenIterator_IteratorPhase_eAtBeforeKid:
5099                 root::mozilla::dom::AllChildrenIterator_IteratorPhase = 1;
5100             pub const AllChildrenIterator_IteratorPhase_eAtExplicitKids:
5101                 root::mozilla::dom::AllChildrenIterator_IteratorPhase = 2;
5102             pub const AllChildrenIterator_IteratorPhase_eAtAnonKids:
5103                 root::mozilla::dom::AllChildrenIterator_IteratorPhase = 3;
5104             pub const AllChildrenIterator_IteratorPhase_eAtAfterKid:
5105                 root::mozilla::dom::AllChildrenIterator_IteratorPhase = 4;
5106             pub const AllChildrenIterator_IteratorPhase_eAtEnd:
5107                 root::mozilla::dom::AllChildrenIterator_IteratorPhase = 5;
5108             pub type AllChildrenIterator_IteratorPhase = u32;
5109             #[test]
bindgen_test_layout_AllChildrenIterator()5110             fn bindgen_test_layout_AllChildrenIterator() {
5111                 assert_eq!(
5112                     ::std::mem::size_of::<AllChildrenIterator>(),
5113                     80usize,
5114                     concat!("Size of: ", stringify!(AllChildrenIterator))
5115                 );
5116                 assert_eq!(
5117                     ::std::mem::align_of::<AllChildrenIterator>(),
5118                     8usize,
5119                     concat!("Alignment of ", stringify!(AllChildrenIterator))
5120                 );
5121                 assert_eq!(
5122                     unsafe {
5123                         &(*(::std::ptr::null::<AllChildrenIterator>())).mAnonKids as *const _
5124                             as usize
5125                     },
5126                     56usize,
5127                     concat!(
5128                         "Offset of field: ",
5129                         stringify!(AllChildrenIterator),
5130                         "::",
5131                         stringify!(mAnonKids)
5132                     )
5133                 );
5134                 assert_eq!(
5135                     unsafe {
5136                         &(*(::std::ptr::null::<AllChildrenIterator>())).mAnonKidsIdx as *const _
5137                             as usize
5138                     },
5139                     64usize,
5140                     concat!(
5141                         "Offset of field: ",
5142                         stringify!(AllChildrenIterator),
5143                         "::",
5144                         stringify!(mAnonKidsIdx)
5145                     )
5146                 );
5147                 assert_eq!(
5148                     unsafe {
5149                         &(*(::std::ptr::null::<AllChildrenIterator>())).mFlags as *const _ as usize
5150                     },
5151                     68usize,
5152                     concat!(
5153                         "Offset of field: ",
5154                         stringify!(AllChildrenIterator),
5155                         "::",
5156                         stringify!(mFlags)
5157                     )
5158                 );
5159                 assert_eq!(
5160                     unsafe {
5161                         &(*(::std::ptr::null::<AllChildrenIterator>())).mPhase as *const _ as usize
5162                     },
5163                     72usize,
5164                     concat!(
5165                         "Offset of field: ",
5166                         stringify!(AllChildrenIterator),
5167                         "::",
5168                         stringify!(mPhase)
5169                     )
5170                 );
5171             }
5172             /// StyleChildrenIterator traverses the children of the element from the
5173             /// perspective of the style system, particularly the children we need to
5174             /// traverse during restyle.
5175             ///
5176             /// At present, this is identical to AllChildrenIterator with
5177             /// (eAllChildren | eSkipDocumentLevelNativeAnonymousContent). We used to have
5178             /// detect and skip any native anonymous children that are used to implement some
5179             /// special magic in here that went away, but we keep the separate class so
5180             /// we can reintroduce special magic back if needed.
5181             ///
5182             /// Note: it assumes that no mutation of the DOM or frame tree takes place during
5183             /// iteration, and will break horribly if that is not true.
5184             ///
5185             /// We require this to be memmovable since Rust code can create and move
5186             /// StyleChildrenIterators.
5187             #[repr(C)]
5188             #[derive(Debug)]
5189             pub struct StyleChildrenIterator {
5190                 pub _base: root::mozilla::dom::AllChildrenIterator,
5191             }
5192             #[test]
bindgen_test_layout_StyleChildrenIterator()5193             fn bindgen_test_layout_StyleChildrenIterator() {
5194                 assert_eq!(
5195                     ::std::mem::size_of::<StyleChildrenIterator>(),
5196                     80usize,
5197                     concat!("Size of: ", stringify!(StyleChildrenIterator))
5198                 );
5199                 assert_eq!(
5200                     ::std::mem::align_of::<StyleChildrenIterator>(),
5201                     8usize,
5202                     concat!("Alignment of ", stringify!(StyleChildrenIterator))
5203                 );
5204             }
5205             #[repr(C)]
5206             #[derive(Debug)]
5207             pub struct MediaList {
5208                 pub _base: root::nsISupports,
5209                 pub _base_1: root::nsWrapperCache,
5210                 pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
5211                 pub mStyleSheet: *mut root::mozilla::StyleSheet,
5212             }
5213             pub type MediaList_HasThreadSafeRefCnt = root::mozilla::FalseType;
5214             #[repr(C)]
5215             #[derive(Debug, Copy)]
5216             pub struct MediaList_cycleCollection {
5217                 pub _base: root::nsXPCOMCycleCollectionParticipant,
5218             }
5219             #[test]
bindgen_test_layout_MediaList_cycleCollection()5220             fn bindgen_test_layout_MediaList_cycleCollection() {
5221                 assert_eq!(
5222                     ::std::mem::size_of::<MediaList_cycleCollection>(),
5223                     16usize,
5224                     concat!("Size of: ", stringify!(MediaList_cycleCollection))
5225                 );
5226                 assert_eq!(
5227                     ::std::mem::align_of::<MediaList_cycleCollection>(),
5228                     8usize,
5229                     concat!("Alignment of ", stringify!(MediaList_cycleCollection))
5230                 );
5231             }
5232             impl Clone for MediaList_cycleCollection {
clone(&self) -> Self5233                 fn clone(&self) -> Self {
5234                     *self
5235                 }
5236             }
5237             extern "C" {
5238                 #[link_name = "\u{1}_ZN7mozilla3dom9MediaList21_cycleCollectorGlobalE"]
5239                 pub static mut MediaList__cycleCollectorGlobal:
5240                     root::mozilla::dom::MediaList_cycleCollection;
5241             }
5242             #[test]
bindgen_test_layout_MediaList()5243             fn bindgen_test_layout_MediaList() {
5244                 assert_eq!(
5245                     ::std::mem::size_of::<MediaList>(),
5246                     48usize,
5247                     concat!("Size of: ", stringify!(MediaList))
5248                 );
5249                 assert_eq!(
5250                     ::std::mem::align_of::<MediaList>(),
5251                     8usize,
5252                     concat!("Alignment of ", stringify!(MediaList))
5253                 );
5254             }
5255         }
5256         #[repr(C)]
5257         pub struct CSSVariableValues {
5258             /// Map of variable names to IDs.  Variable IDs are indexes into
5259             /// mVariables.
5260             pub mVariableIDs: [u64; 4usize],
5261             /// Array of variables, indexed by variable ID.
5262             pub mVariables: root::nsTArray<root::mozilla::CSSVariableValues_Variable>,
5263         }
5264         #[repr(C)]
5265         pub struct CSSVariableValues_Variable {
5266             pub mVariableName: ::nsstring::nsStringRepr,
5267             pub mValue: ::nsstring::nsStringRepr,
5268             pub mFirstToken: root::nsCSSTokenSerializationType,
5269             pub mLastToken: root::nsCSSTokenSerializationType,
5270         }
5271         #[test]
bindgen_test_layout_CSSVariableValues_Variable()5272         fn bindgen_test_layout_CSSVariableValues_Variable() {
5273             assert_eq!(
5274                 ::std::mem::size_of::<CSSVariableValues_Variable>(),
5275                 40usize,
5276                 concat!("Size of: ", stringify!(CSSVariableValues_Variable))
5277             );
5278             assert_eq!(
5279                 ::std::mem::align_of::<CSSVariableValues_Variable>(),
5280                 8usize,
5281                 concat!("Alignment of ", stringify!(CSSVariableValues_Variable))
5282             );
5283             assert_eq!(
5284                 unsafe {
5285                     &(*(::std::ptr::null::<CSSVariableValues_Variable>())).mVariableName as *const _
5286                         as usize
5287                 },
5288                 0usize,
5289                 concat!(
5290                     "Offset of field: ",
5291                     stringify!(CSSVariableValues_Variable),
5292                     "::",
5293                     stringify!(mVariableName)
5294                 )
5295             );
5296             assert_eq!(
5297                 unsafe {
5298                     &(*(::std::ptr::null::<CSSVariableValues_Variable>())).mValue as *const _
5299                         as usize
5300                 },
5301                 16usize,
5302                 concat!(
5303                     "Offset of field: ",
5304                     stringify!(CSSVariableValues_Variable),
5305                     "::",
5306                     stringify!(mValue)
5307                 )
5308             );
5309             assert_eq!(
5310                 unsafe {
5311                     &(*(::std::ptr::null::<CSSVariableValues_Variable>())).mFirstToken as *const _
5312                         as usize
5313                 },
5314                 32usize,
5315                 concat!(
5316                     "Offset of field: ",
5317                     stringify!(CSSVariableValues_Variable),
5318                     "::",
5319                     stringify!(mFirstToken)
5320                 )
5321             );
5322             assert_eq!(
5323                 unsafe {
5324                     &(*(::std::ptr::null::<CSSVariableValues_Variable>())).mLastToken as *const _
5325                         as usize
5326                 },
5327                 36usize,
5328                 concat!(
5329                     "Offset of field: ",
5330                     stringify!(CSSVariableValues_Variable),
5331                     "::",
5332                     stringify!(mLastToken)
5333                 )
5334             );
5335         }
5336         #[test]
bindgen_test_layout_CSSVariableValues()5337         fn bindgen_test_layout_CSSVariableValues() {
5338             assert_eq!(
5339                 ::std::mem::size_of::<CSSVariableValues>(),
5340                 40usize,
5341                 concat!("Size of: ", stringify!(CSSVariableValues))
5342             );
5343             assert_eq!(
5344                 ::std::mem::align_of::<CSSVariableValues>(),
5345                 8usize,
5346                 concat!("Alignment of ", stringify!(CSSVariableValues))
5347             );
5348             assert_eq!(
5349                 unsafe {
5350                     &(*(::std::ptr::null::<CSSVariableValues>())).mVariableIDs as *const _ as usize
5351                 },
5352                 0usize,
5353                 concat!(
5354                     "Offset of field: ",
5355                     stringify!(CSSVariableValues),
5356                     "::",
5357                     stringify!(mVariableIDs)
5358                 )
5359             );
5360             assert_eq!(
5361                 unsafe {
5362                     &(*(::std::ptr::null::<CSSVariableValues>())).mVariables as *const _ as usize
5363                 },
5364                 32usize,
5365                 concat!(
5366                     "Offset of field: ",
5367                     stringify!(CSSVariableValues),
5368                     "::",
5369                     stringify!(mVariables)
5370                 )
5371             );
5372         }
5373         #[repr(u8)]
5374         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5375         pub enum SheetType {
5376             Agent = 0,
5377             User = 1,
5378             PresHint = 2,
5379             Doc = 3,
5380             ScopedDoc = 4,
5381             StyleAttr = 5,
5382             Override = 6,
5383             Animation = 7,
5384             Transition = 8,
5385             Count = 9,
5386             Unknown = 255,
5387         }
5388         #[repr(C)]
5389         #[derive(Debug, Copy, Clone)]
5390         pub struct StaticRefPtr<T> {
5391             pub mRawPtr: *mut T,
5392             pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
5393         }
5394         /// This struct represents a combined color from a numeric color and
5395         /// the current foreground color (currentcolor keyword).
5396         /// Conceptually, the formula is "color * (1 - p) + currentcolor * p"
5397         /// where p is mForegroundRatio. See mozilla::LinearBlendColors for
5398         /// the actual algorithm.
5399         #[repr(C)]
5400         #[derive(Debug, Copy)]
5401         pub struct StyleComplexColor {
5402             pub mColor: root::nscolor,
5403             pub mForegroundRatio: u8,
5404             pub mIsAuto: bool,
5405         }
5406         #[test]
bindgen_test_layout_StyleComplexColor()5407         fn bindgen_test_layout_StyleComplexColor() {
5408             assert_eq!(
5409                 ::std::mem::size_of::<StyleComplexColor>(),
5410                 8usize,
5411                 concat!("Size of: ", stringify!(StyleComplexColor))
5412             );
5413             assert_eq!(
5414                 ::std::mem::align_of::<StyleComplexColor>(),
5415                 4usize,
5416                 concat!("Alignment of ", stringify!(StyleComplexColor))
5417             );
5418             assert_eq!(
5419                 unsafe {
5420                     &(*(::std::ptr::null::<StyleComplexColor>())).mColor as *const _ as usize
5421                 },
5422                 0usize,
5423                 concat!(
5424                     "Offset of field: ",
5425                     stringify!(StyleComplexColor),
5426                     "::",
5427                     stringify!(mColor)
5428                 )
5429             );
5430             assert_eq!(
5431                 unsafe {
5432                     &(*(::std::ptr::null::<StyleComplexColor>())).mForegroundRatio as *const _
5433                         as usize
5434                 },
5435                 4usize,
5436                 concat!(
5437                     "Offset of field: ",
5438                     stringify!(StyleComplexColor),
5439                     "::",
5440                     stringify!(mForegroundRatio)
5441                 )
5442             );
5443             assert_eq!(
5444                 unsafe {
5445                     &(*(::std::ptr::null::<StyleComplexColor>())).mIsAuto as *const _ as usize
5446                 },
5447                 5usize,
5448                 concat!(
5449                     "Offset of field: ",
5450                     stringify!(StyleComplexColor),
5451                     "::",
5452                     stringify!(mIsAuto)
5453                 )
5454             );
5455         }
5456         impl Clone for StyleComplexColor {
clone(&self) -> Self5457             fn clone(&self) -> Self {
5458                 *self
5459             }
5460         }
5461         #[repr(u32)]
5462         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5463         pub enum Side {
5464             eSideTop = 0,
5465             eSideRight = 1,
5466             eSideBottom = 2,
5467             eSideLeft = 3,
5468         }
5469         #[repr(u32)]
5470         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5471         pub enum HalfCorner {
5472             eCornerTopLeftX = 0,
5473             eCornerTopLeftY = 1,
5474             eCornerTopRightX = 2,
5475             eCornerTopRightY = 3,
5476             eCornerBottomRightX = 4,
5477             eCornerBottomRightY = 5,
5478             eCornerBottomLeftX = 6,
5479             eCornerBottomLeftY = 7,
5480         }
5481         #[repr(C)]
5482         #[derive(Debug, Copy, Clone)]
5483         pub struct NotNull<T> {
5484             pub mBasePtr: T,
5485             pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
5486         }
5487         pub const FontFamilyType_eFamily_generic_first: root::mozilla::FontFamilyType =
5488             FontFamilyType::eFamily_serif;
5489         pub const FontFamilyType_eFamily_generic_last: root::mozilla::FontFamilyType =
5490             FontFamilyType::eFamily_fantasy;
5491         pub const FontFamilyType_eFamily_generic_count: root::mozilla::FontFamilyType =
5492             FontFamilyType::eFamily_monospace;
5493         #[repr(u32)]
5494         /// type of font family name, either a name (e.g. Helvetica) or a
5495         /// generic (e.g. serif, sans-serif), with the ability to distinguish
5496         /// between unquoted and quoted names for serializaiton
5497         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5498         pub enum FontFamilyType {
5499             eFamily_none = 0,
5500             eFamily_named = 1,
5501             eFamily_named_quoted = 2,
5502             eFamily_serif = 3,
5503             eFamily_sans_serif = 4,
5504             eFamily_monospace = 5,
5505             eFamily_cursive = 6,
5506             eFamily_fantasy = 7,
5507             eFamily_moz_variable = 8,
5508             eFamily_moz_fixed = 9,
5509             eFamily_moz_emoji = 10,
5510         }
5511         /// font family name, a string for the name if not a generic and
5512         /// a font type indicated named family or which generic family
5513         #[repr(C)]
5514         pub struct FontFamilyName {
5515             pub mType: root::mozilla::FontFamilyType,
5516             pub mName: ::nsstring::nsStringRepr,
5517         }
5518         #[test]
bindgen_test_layout_FontFamilyName()5519         fn bindgen_test_layout_FontFamilyName() {
5520             assert_eq!(
5521                 ::std::mem::size_of::<FontFamilyName>(),
5522                 24usize,
5523                 concat!("Size of: ", stringify!(FontFamilyName))
5524             );
5525             assert_eq!(
5526                 ::std::mem::align_of::<FontFamilyName>(),
5527                 8usize,
5528                 concat!("Alignment of ", stringify!(FontFamilyName))
5529             );
5530             assert_eq!(
5531                 unsafe { &(*(::std::ptr::null::<FontFamilyName>())).mType as *const _ as usize },
5532                 0usize,
5533                 concat!(
5534                     "Offset of field: ",
5535                     stringify!(FontFamilyName),
5536                     "::",
5537                     stringify!(mType)
5538                 )
5539             );
5540             assert_eq!(
5541                 unsafe { &(*(::std::ptr::null::<FontFamilyName>())).mName as *const _ as usize },
5542                 8usize,
5543                 concat!(
5544                     "Offset of field: ",
5545                     stringify!(FontFamilyName),
5546                     "::",
5547                     stringify!(mName)
5548                 )
5549             );
5550         }
5551         /// A refcounted array of FontFamilyNames.  We use this to store the specified
5552         /// value (in Servo) and the computed value (in both Gecko and Servo) of the
5553         /// font-family property.
5554         #[repr(C)]
5555         pub struct SharedFontList {
5556             pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
5557             pub mNames: root::nsTArray<root::mozilla::FontFamilyName>,
5558         }
5559         pub type SharedFontList_HasThreadSafeRefCnt = root::mozilla::TrueType;
5560         extern "C" {
5561             #[link_name = "\u{1}_ZN7mozilla14SharedFontList6sEmptyE"]
5562             pub static mut SharedFontList_sEmpty:
5563                 root::mozilla::StaticRefPtr<root::mozilla::SharedFontList>;
5564         }
5565         #[test]
bindgen_test_layout_SharedFontList()5566         fn bindgen_test_layout_SharedFontList() {
5567             assert_eq!(
5568                 ::std::mem::size_of::<SharedFontList>(),
5569                 16usize,
5570                 concat!("Size of: ", stringify!(SharedFontList))
5571             );
5572             assert_eq!(
5573                 ::std::mem::align_of::<SharedFontList>(),
5574                 8usize,
5575                 concat!("Alignment of ", stringify!(SharedFontList))
5576             );
5577             assert_eq!(
5578                 unsafe { &(*(::std::ptr::null::<SharedFontList>())).mRefCnt as *const _ as usize },
5579                 0usize,
5580                 concat!(
5581                     "Offset of field: ",
5582                     stringify!(SharedFontList),
5583                     "::",
5584                     stringify!(mRefCnt)
5585                 )
5586             );
5587             assert_eq!(
5588                 unsafe { &(*(::std::ptr::null::<SharedFontList>())).mNames as *const _ as usize },
5589                 8usize,
5590                 concat!(
5591                     "Offset of field: ",
5592                     stringify!(SharedFontList),
5593                     "::",
5594                     stringify!(mNames)
5595                 )
5596             );
5597         }
5598         #[test]
__bindgen_test_layout_StaticRefPtr_open0_SharedFontList_close0_instantiation()5599         fn __bindgen_test_layout_StaticRefPtr_open0_SharedFontList_close0_instantiation() {
5600             assert_eq!(
5601                 ::std::mem::size_of::<root::mozilla::StaticRefPtr<root::mozilla::SharedFontList>>(),
5602                 8usize,
5603                 concat!(
5604                     "Size of template specialization: ",
5605                     stringify!(root::mozilla::StaticRefPtr<root::mozilla::SharedFontList>)
5606                 )
5607             );
5608             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 > ) ) );
5609         }
5610         /// font family list, array of font families and a default font type.
5611         /// font family names are either named strings or generics. the default
5612         /// font type is used to preserve the variable font fallback behavior
5613         #[repr(C)]
5614         pub struct FontFamilyList {
5615             pub mFontlist: root::mozilla::NotNull<root::RefPtr<root::mozilla::SharedFontList>>,
5616             pub mDefaultFontType: root::mozilla::FontFamilyType,
5617         }
5618         #[test]
bindgen_test_layout_FontFamilyList()5619         fn bindgen_test_layout_FontFamilyList() {
5620             assert_eq!(
5621                 ::std::mem::size_of::<FontFamilyList>(),
5622                 16usize,
5623                 concat!("Size of: ", stringify!(FontFamilyList))
5624             );
5625             assert_eq!(
5626                 ::std::mem::align_of::<FontFamilyList>(),
5627                 8usize,
5628                 concat!("Alignment of ", stringify!(FontFamilyList))
5629             );
5630             assert_eq!(
5631                 unsafe {
5632                     &(*(::std::ptr::null::<FontFamilyList>())).mFontlist as *const _ as usize
5633                 },
5634                 0usize,
5635                 concat!(
5636                     "Offset of field: ",
5637                     stringify!(FontFamilyList),
5638                     "::",
5639                     stringify!(mFontlist)
5640                 )
5641             );
5642             assert_eq!(
5643                 unsafe {
5644                     &(*(::std::ptr::null::<FontFamilyList>())).mDefaultFontType as *const _ as usize
5645                 },
5646                 8usize,
5647                 concat!(
5648                     "Offset of field: ",
5649                     stringify!(FontFamilyList),
5650                     "::",
5651                     stringify!(mDefaultFontType)
5652                 )
5653             );
5654         }
5655         #[repr(u8)]
5656         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5657         pub enum StyleBasicShapeType {
5658             Polygon = 0,
5659             Circle = 1,
5660             Ellipse = 2,
5661             Inset = 3,
5662         }
5663         #[repr(u8)]
5664         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5665         pub enum StyleBoxAlign {
5666             Stretch = 0,
5667             Start = 1,
5668             Center = 2,
5669             Baseline = 3,
5670             End = 4,
5671         }
5672         #[repr(u8)]
5673         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5674         pub enum StyleBoxDecorationBreak {
5675             Slice = 0,
5676             Clone = 1,
5677         }
5678         #[repr(u8)]
5679         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5680         pub enum StyleBoxDirection {
5681             Normal = 0,
5682             Reverse = 1,
5683         }
5684         #[repr(u8)]
5685         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5686         pub enum StyleBoxOrient {
5687             Horizontal = 0,
5688             Vertical = 1,
5689         }
5690         #[repr(u8)]
5691         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5692         pub enum StyleBoxPack {
5693             Start = 0,
5694             Center = 1,
5695             End = 2,
5696             Justify = 3,
5697         }
5698         #[repr(u8)]
5699         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5700         pub enum StyleBoxSizing {
5701             Content = 0,
5702             Border = 1,
5703         }
5704         #[repr(u8)]
5705         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5706         pub enum StyleClear {
5707             None = 0,
5708             Left = 1,
5709             Right = 2,
5710             InlineStart = 3,
5711             InlineEnd = 4,
5712             Both = 5,
5713             Line = 8,
5714             Max = 13,
5715         }
5716         #[repr(u8)]
5717         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5718         pub enum StyleGeometryBox {
5719             ContentBox = 0,
5720             PaddingBox = 1,
5721             BorderBox = 2,
5722             MarginBox = 3,
5723             FillBox = 4,
5724             StrokeBox = 5,
5725             ViewBox = 6,
5726             NoClip = 7,
5727             Text = 8,
5728             NoBox = 9,
5729             MozAlmostPadding = 127,
5730         }
5731         #[repr(u8)]
5732         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5733         pub enum StyleFillRule {
5734             Nonzero = 0,
5735             Evenodd = 1,
5736         }
5737         #[repr(u8)]
5738         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5739         pub enum StyleFloat {
5740             None = 0,
5741             Left = 1,
5742             Right = 2,
5743             InlineStart = 3,
5744             InlineEnd = 4,
5745         }
5746         #[repr(u8)]
5747         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5748         pub enum StyleFloatEdge {
5749             ContentBox = 0,
5750             MarginBox = 1,
5751         }
5752         #[repr(u8)]
5753         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5754         pub enum StyleHyphens {
5755             None = 0,
5756             Manual = 1,
5757             Auto = 2,
5758         }
5759         #[repr(u8)]
5760         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5761         pub enum StyleShapeRadius {
5762             ClosestSide = 0,
5763             FarthestSide = 1,
5764         }
5765         #[repr(u8)]
5766         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5767         pub enum StyleShapeSourceType {
5768             None = 0,
5769             URL = 1,
5770             Image = 2,
5771             Shape = 3,
5772             Box = 4,
5773         }
5774         #[repr(u8)]
5775         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5776         pub enum StyleStackSizing {
5777             Ignore = 0,
5778             StretchToFit = 1,
5779             IgnoreHorizontal = 2,
5780             IgnoreVertical = 3,
5781         }
5782         #[repr(u8)]
5783         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5784         pub enum StyleTextJustify {
5785             None = 0,
5786             Auto = 1,
5787             InterWord = 2,
5788             InterCharacter = 3,
5789         }
5790         #[repr(u8)]
5791         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5792         pub enum StyleUserFocus {
5793             None = 0,
5794             Ignore = 1,
5795             Normal = 2,
5796             SelectAll = 3,
5797             SelectBefore = 4,
5798             SelectAfter = 5,
5799             SelectSame = 6,
5800             SelectMenu = 7,
5801         }
5802         #[repr(u8)]
5803         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5804         pub enum StyleUserSelect {
5805             None = 0,
5806             Text = 1,
5807             Element = 2,
5808             Elements = 3,
5809             All = 4,
5810             Toggle = 5,
5811             TriState = 6,
5812             Auto = 7,
5813             MozAll = 8,
5814             MozText = 9,
5815         }
5816         #[repr(u8)]
5817         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5818         pub enum StyleUserInput {
5819             None = 0,
5820             Auto = 1,
5821         }
5822         #[repr(u8)]
5823         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5824         pub enum StyleUserModify {
5825             ReadOnly = 0,
5826             ReadWrite = 1,
5827             WriteOnly = 2,
5828         }
5829         #[repr(u8)]
5830         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5831         pub enum StyleWindowDragging {
5832             Default = 0,
5833             Drag = 1,
5834             NoDrag = 2,
5835         }
5836         #[repr(u8)]
5837         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5838         pub enum StyleOrient {
5839             Inline = 0,
5840             Block = 1,
5841             Horizontal = 2,
5842             Vertical = 3,
5843         }
5844         #[repr(u8)]
5845         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5846         pub enum StyleImageLayerRepeat {
5847             NoRepeat = 0,
5848             RepeatX = 1,
5849             RepeatY = 2,
5850             Repeat = 3,
5851             Space = 4,
5852             Round = 5,
5853         }
5854         #[repr(u8)]
5855         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5856         pub enum StyleBorderImageRepeat {
5857             Stretch = 0,
5858             Repeat = 1,
5859             Round = 2,
5860             Space = 3,
5861         }
5862         #[repr(u8)]
5863         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5864         pub enum StyleDisplay {
5865             None = 0,
5866             Block = 1,
5867             FlowRoot = 2,
5868             Inline = 3,
5869             InlineBlock = 4,
5870             ListItem = 5,
5871             Table = 6,
5872             InlineTable = 7,
5873             TableRowGroup = 8,
5874             TableColumn = 9,
5875             TableColumnGroup = 10,
5876             TableHeaderGroup = 11,
5877             TableFooterGroup = 12,
5878             TableRow = 13,
5879             TableCell = 14,
5880             TableCaption = 15,
5881             Flex = 16,
5882             InlineFlex = 17,
5883             Grid = 18,
5884             InlineGrid = 19,
5885             Ruby = 20,
5886             RubyBase = 21,
5887             RubyBaseContainer = 22,
5888             RubyText = 23,
5889             RubyTextContainer = 24,
5890             Contents = 25,
5891             WebkitBox = 26,
5892             WebkitInlineBox = 27,
5893             MozBox = 28,
5894             MozInlineBox = 29,
5895             MozGrid = 30,
5896             MozInlineGrid = 31,
5897             MozGridGroup = 32,
5898             MozGridLine = 33,
5899             MozStack = 34,
5900             MozInlineStack = 35,
5901             MozDeck = 36,
5902             MozGroupbox = 37,
5903             MozPopup = 38,
5904         }
5905         #[repr(u8)]
5906         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5907         pub enum StyleGridTrackBreadth {
5908             MaxContent = 1,
5909             MinContent = 2,
5910         }
5911         #[repr(u8)]
5912         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5913         pub enum StyleWhiteSpace {
5914             Normal = 0,
5915             Pre = 1,
5916             Nowrap = 2,
5917             PreWrap = 3,
5918             PreLine = 4,
5919             PreSpace = 5,
5920         }
5921         #[repr(u8)]
5922         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
5923         pub enum StyleOverscrollBehavior {
5924             Auto = 0,
5925             Contain = 1,
5926             None = 2,
5927         }
5928         pub const MediaFeatureChangeReason_ViewportChange: root::mozilla::MediaFeatureChangeReason =
5929             1;
5930         pub const MediaFeatureChangeReason_ZoomChange: root::mozilla::MediaFeatureChangeReason = 2;
5931         pub const MediaFeatureChangeReason_MinFontSizeChange:
5932             root::mozilla::MediaFeatureChangeReason = 4;
5933         pub const MediaFeatureChangeReason_ResolutionChange:
5934             root::mozilla::MediaFeatureChangeReason = 8;
5935         pub const MediaFeatureChangeReason_MediumChange: root::mozilla::MediaFeatureChangeReason =
5936             16;
5937         pub const MediaFeatureChangeReason_SizeModeChange: root::mozilla::MediaFeatureChangeReason =
5938             32;
5939         pub const MediaFeatureChangeReason_SystemMetricsChange:
5940             root::mozilla::MediaFeatureChangeReason = 64;
5941         pub const MediaFeatureChangeReason_DeviceSizeIsPageSizeChange:
5942             root::mozilla::MediaFeatureChangeReason = 128;
5943         pub const MediaFeatureChangeReason_DisplayModeChange:
5944             root::mozilla::MediaFeatureChangeReason = 256;
5945         pub type MediaFeatureChangeReason = i32;
5946         #[repr(C)]
5947         #[derive(Debug, Copy)]
5948         pub struct MediaFeatureChange {
5949             pub mRestyleHint: root::nsRestyleHint,
5950             pub mChangeHint: root::nsChangeHint,
5951             pub mReason: root::mozilla::MediaFeatureChangeReason,
5952         }
5953         #[test]
bindgen_test_layout_MediaFeatureChange()5954         fn bindgen_test_layout_MediaFeatureChange() {
5955             assert_eq!(
5956                 ::std::mem::size_of::<MediaFeatureChange>(),
5957                 12usize,
5958                 concat!("Size of: ", stringify!(MediaFeatureChange))
5959             );
5960             assert_eq!(
5961                 ::std::mem::align_of::<MediaFeatureChange>(),
5962                 4usize,
5963                 concat!("Alignment of ", stringify!(MediaFeatureChange))
5964             );
5965             assert_eq!(
5966                 unsafe {
5967                     &(*(::std::ptr::null::<MediaFeatureChange>())).mRestyleHint as *const _ as usize
5968                 },
5969                 0usize,
5970                 concat!(
5971                     "Offset of field: ",
5972                     stringify!(MediaFeatureChange),
5973                     "::",
5974                     stringify!(mRestyleHint)
5975                 )
5976             );
5977             assert_eq!(
5978                 unsafe {
5979                     &(*(::std::ptr::null::<MediaFeatureChange>())).mChangeHint as *const _ as usize
5980                 },
5981                 4usize,
5982                 concat!(
5983                     "Offset of field: ",
5984                     stringify!(MediaFeatureChange),
5985                     "::",
5986                     stringify!(mChangeHint)
5987                 )
5988             );
5989             assert_eq!(
5990                 unsafe {
5991                     &(*(::std::ptr::null::<MediaFeatureChange>())).mReason as *const _ as usize
5992                 },
5993                 8usize,
5994                 concat!(
5995                     "Offset of field: ",
5996                     stringify!(MediaFeatureChange),
5997                     "::",
5998                     stringify!(mReason)
5999                 )
6000             );
6001         }
6002         impl Clone for MediaFeatureChange {
clone(&self) -> Self6003             fn clone(&self) -> Self {
6004                 *self
6005             }
6006         }
6007         pub mod external {
6008             #[allow(unused_imports)]
6009             use self::super::super::super::root;
6010             /// AtomicRefCounted<T> is like RefCounted<T>, with an atomically updated
6011             /// reference counter.
6012             ///
6013             /// NOTE: Please do not use this class, use NS_INLINE_DECL_THREADSAFE_REFCOUNTING
6014             /// instead.
6015             #[repr(C)]
6016             #[derive(Debug, Copy, Clone)]
6017             pub struct AtomicRefCounted {
6018                 pub _address: u8,
6019             }
6020         }
6021         #[repr(C)]
6022         #[derive(Debug, Copy, Clone)]
6023         pub struct SupportsWeakPtr {
6024             pub _address: u8,
6025         }
6026         #[repr(C)]
6027         #[derive(Debug, Copy, Clone)]
6028         pub struct WeakPtr {
6029             pub _address: u8,
6030         }
6031         pub type WeakPtr_WeakReference = u8;
6032         /// Event messages
6033         pub type EventMessageType = u16;
6034         pub const EventMessage_eVoidEvent: root::mozilla::EventMessage = 0;
6035         pub const EventMessage_eAllEvents: root::mozilla::EventMessage = 1;
6036         pub const EventMessage_eWindowClose: root::mozilla::EventMessage = 2;
6037         pub const EventMessage_eKeyPress: root::mozilla::EventMessage = 3;
6038         pub const EventMessage_eKeyUp: root::mozilla::EventMessage = 4;
6039         pub const EventMessage_eKeyDown: root::mozilla::EventMessage = 5;
6040         pub const EventMessage_eKeyDownOnPlugin: root::mozilla::EventMessage = 6;
6041         pub const EventMessage_eKeyUpOnPlugin: root::mozilla::EventMessage = 7;
6042         pub const EventMessage_eAccessKeyNotFound: root::mozilla::EventMessage = 8;
6043         pub const EventMessage_eResize: root::mozilla::EventMessage = 9;
6044         pub const EventMessage_eScroll: root::mozilla::EventMessage = 10;
6045         pub const EventMessage_eInstall: root::mozilla::EventMessage = 11;
6046         pub const EventMessage_eAppInstalled: root::mozilla::EventMessage = 12;
6047         pub const EventMessage_ePluginActivate: root::mozilla::EventMessage = 13;
6048         pub const EventMessage_ePluginFocus: root::mozilla::EventMessage = 14;
6049         pub const EventMessage_eOffline: root::mozilla::EventMessage = 15;
6050         pub const EventMessage_eOnline: root::mozilla::EventMessage = 16;
6051         pub const EventMessage_eLanguageChange: root::mozilla::EventMessage = 17;
6052         pub const EventMessage_eMouseMove: root::mozilla::EventMessage = 18;
6053         pub const EventMessage_eMouseUp: root::mozilla::EventMessage = 19;
6054         pub const EventMessage_eMouseDown: root::mozilla::EventMessage = 20;
6055         pub const EventMessage_eMouseEnterIntoWidget: root::mozilla::EventMessage = 21;
6056         pub const EventMessage_eMouseExitFromWidget: root::mozilla::EventMessage = 22;
6057         pub const EventMessage_eMouseDoubleClick: root::mozilla::EventMessage = 23;
6058         pub const EventMessage_eMouseClick: root::mozilla::EventMessage = 24;
6059         pub const EventMessage_eMouseAuxClick: root::mozilla::EventMessage = 25;
6060         pub const EventMessage_eMouseActivate: root::mozilla::EventMessage = 26;
6061         pub const EventMessage_eMouseOver: root::mozilla::EventMessage = 27;
6062         pub const EventMessage_eMouseOut: root::mozilla::EventMessage = 28;
6063         pub const EventMessage_eMouseHitTest: root::mozilla::EventMessage = 29;
6064         pub const EventMessage_eMouseEnter: root::mozilla::EventMessage = 30;
6065         pub const EventMessage_eMouseLeave: root::mozilla::EventMessage = 31;
6066         pub const EventMessage_eMouseTouchDrag: root::mozilla::EventMessage = 32;
6067         pub const EventMessage_eMouseLongTap: root::mozilla::EventMessage = 33;
6068         pub const EventMessage_eMouseEventFirst: root::mozilla::EventMessage = 18;
6069         pub const EventMessage_eMouseEventLast: root::mozilla::EventMessage = 33;
6070         pub const EventMessage_ePointerMove: root::mozilla::EventMessage = 34;
6071         pub const EventMessage_ePointerUp: root::mozilla::EventMessage = 35;
6072         pub const EventMessage_ePointerDown: root::mozilla::EventMessage = 36;
6073         pub const EventMessage_ePointerOver: root::mozilla::EventMessage = 37;
6074         pub const EventMessage_ePointerOut: root::mozilla::EventMessage = 38;
6075         pub const EventMessage_ePointerEnter: root::mozilla::EventMessage = 39;
6076         pub const EventMessage_ePointerLeave: root::mozilla::EventMessage = 40;
6077         pub const EventMessage_ePointerCancel: root::mozilla::EventMessage = 41;
6078         pub const EventMessage_ePointerGotCapture: root::mozilla::EventMessage = 42;
6079         pub const EventMessage_ePointerLostCapture: root::mozilla::EventMessage = 43;
6080         pub const EventMessage_ePointerEventFirst: root::mozilla::EventMessage = 34;
6081         pub const EventMessage_ePointerEventLast: root::mozilla::EventMessage = 43;
6082         pub const EventMessage_eContextMenu: root::mozilla::EventMessage = 44;
6083         pub const EventMessage_eLoad: root::mozilla::EventMessage = 45;
6084         pub const EventMessage_eUnload: root::mozilla::EventMessage = 46;
6085         pub const EventMessage_eHashChange: root::mozilla::EventMessage = 47;
6086         pub const EventMessage_eImageAbort: root::mozilla::EventMessage = 48;
6087         pub const EventMessage_eLoadError: root::mozilla::EventMessage = 49;
6088         pub const EventMessage_eLoadEnd: root::mozilla::EventMessage = 50;
6089         pub const EventMessage_ePopState: root::mozilla::EventMessage = 51;
6090         pub const EventMessage_eStorage: root::mozilla::EventMessage = 52;
6091         pub const EventMessage_eBeforeUnload: root::mozilla::EventMessage = 53;
6092         pub const EventMessage_eReadyStateChange: root::mozilla::EventMessage = 54;
6093         pub const EventMessage_eFormSubmit: root::mozilla::EventMessage = 55;
6094         pub const EventMessage_eFormReset: root::mozilla::EventMessage = 56;
6095         pub const EventMessage_eFormChange: root::mozilla::EventMessage = 57;
6096         pub const EventMessage_eFormSelect: root::mozilla::EventMessage = 58;
6097         pub const EventMessage_eFormInvalid: root::mozilla::EventMessage = 59;
6098         pub const EventMessage_eFormCheckboxStateChange: root::mozilla::EventMessage = 60;
6099         pub const EventMessage_eFormRadioStateChange: root::mozilla::EventMessage = 61;
6100         pub const EventMessage_eFocus: root::mozilla::EventMessage = 62;
6101         pub const EventMessage_eBlur: root::mozilla::EventMessage = 63;
6102         pub const EventMessage_eFocusIn: root::mozilla::EventMessage = 64;
6103         pub const EventMessage_eFocusOut: root::mozilla::EventMessage = 65;
6104         pub const EventMessage_eDragEnter: root::mozilla::EventMessage = 66;
6105         pub const EventMessage_eDragOver: root::mozilla::EventMessage = 67;
6106         pub const EventMessage_eDragExit: root::mozilla::EventMessage = 68;
6107         pub const EventMessage_eDrag: root::mozilla::EventMessage = 69;
6108         pub const EventMessage_eDragEnd: root::mozilla::EventMessage = 70;
6109         pub const EventMessage_eDragStart: root::mozilla::EventMessage = 71;
6110         pub const EventMessage_eDrop: root::mozilla::EventMessage = 72;
6111         pub const EventMessage_eDragLeave: root::mozilla::EventMessage = 73;
6112         pub const EventMessage_eDragDropEventFirst: root::mozilla::EventMessage = 66;
6113         pub const EventMessage_eDragDropEventLast: root::mozilla::EventMessage = 73;
6114         pub const EventMessage_eXULPopupShowing: root::mozilla::EventMessage = 74;
6115         pub const EventMessage_eXULPopupShown: root::mozilla::EventMessage = 75;
6116         pub const EventMessage_eXULPopupPositioned: root::mozilla::EventMessage = 76;
6117         pub const EventMessage_eXULPopupHiding: root::mozilla::EventMessage = 77;
6118         pub const EventMessage_eXULPopupHidden: root::mozilla::EventMessage = 78;
6119         pub const EventMessage_eXULBroadcast: root::mozilla::EventMessage = 79;
6120         pub const EventMessage_eXULCommandUpdate: root::mozilla::EventMessage = 80;
6121         pub const EventMessage_eLegacyMouseLineOrPageScroll: root::mozilla::EventMessage = 81;
6122         pub const EventMessage_eLegacyMousePixelScroll: root::mozilla::EventMessage = 82;
6123         pub const EventMessage_eScrollPortUnderflow: root::mozilla::EventMessage = 83;
6124         pub const EventMessage_eScrollPortOverflow: root::mozilla::EventMessage = 84;
6125         pub const EventMessage_eLegacySubtreeModified: root::mozilla::EventMessage = 85;
6126         pub const EventMessage_eLegacyNodeInserted: root::mozilla::EventMessage = 86;
6127         pub const EventMessage_eLegacyNodeRemoved: root::mozilla::EventMessage = 87;
6128         pub const EventMessage_eLegacyNodeRemovedFromDocument: root::mozilla::EventMessage = 88;
6129         pub const EventMessage_eLegacyNodeInsertedIntoDocument: root::mozilla::EventMessage = 89;
6130         pub const EventMessage_eLegacyAttrModified: root::mozilla::EventMessage = 90;
6131         pub const EventMessage_eLegacyCharacterDataModified: root::mozilla::EventMessage = 91;
6132         pub const EventMessage_eLegacyMutationEventFirst: root::mozilla::EventMessage = 85;
6133         pub const EventMessage_eLegacyMutationEventLast: root::mozilla::EventMessage = 91;
6134         pub const EventMessage_eUnidentifiedEvent: root::mozilla::EventMessage = 92;
6135         pub const EventMessage_eCompositionStart: root::mozilla::EventMessage = 93;
6136         pub const EventMessage_eCompositionEnd: root::mozilla::EventMessage = 94;
6137         pub const EventMessage_eCompositionUpdate: root::mozilla::EventMessage = 95;
6138         pub const EventMessage_eCompositionChange: root::mozilla::EventMessage = 96;
6139         pub const EventMessage_eCompositionCommitAsIs: root::mozilla::EventMessage = 97;
6140         pub const EventMessage_eCompositionCommit: root::mozilla::EventMessage = 98;
6141         pub const EventMessage_eCompositionCommitRequestHandled: root::mozilla::EventMessage = 99;
6142         pub const EventMessage_eLegacyDOMActivate: root::mozilla::EventMessage = 100;
6143         pub const EventMessage_eLegacyDOMFocusIn: root::mozilla::EventMessage = 101;
6144         pub const EventMessage_eLegacyDOMFocusOut: root::mozilla::EventMessage = 102;
6145         pub const EventMessage_ePageShow: root::mozilla::EventMessage = 103;
6146         pub const EventMessage_ePageHide: root::mozilla::EventMessage = 104;
6147         pub const EventMessage_eSVGLoad: root::mozilla::EventMessage = 105;
6148         pub const EventMessage_eSVGUnload: root::mozilla::EventMessage = 106;
6149         pub const EventMessage_eSVGResize: root::mozilla::EventMessage = 107;
6150         pub const EventMessage_eSVGScroll: root::mozilla::EventMessage = 108;
6151         pub const EventMessage_eSVGZoom: root::mozilla::EventMessage = 109;
6152         pub const EventMessage_eXULCommand: root::mozilla::EventMessage = 110;
6153         pub const EventMessage_eCopy: root::mozilla::EventMessage = 111;
6154         pub const EventMessage_eCut: root::mozilla::EventMessage = 112;
6155         pub const EventMessage_ePaste: root::mozilla::EventMessage = 113;
6156         pub const EventMessage_ePasteNoFormatting: root::mozilla::EventMessage = 114;
6157         pub const EventMessage_eQuerySelectedText: root::mozilla::EventMessage = 115;
6158         pub const EventMessage_eQueryTextContent: root::mozilla::EventMessage = 116;
6159         pub const EventMessage_eQueryCaretRect: root::mozilla::EventMessage = 117;
6160         pub const EventMessage_eQueryTextRect: root::mozilla::EventMessage = 118;
6161         pub const EventMessage_eQueryTextRectArray: root::mozilla::EventMessage = 119;
6162         pub const EventMessage_eQueryEditorRect: root::mozilla::EventMessage = 120;
6163         pub const EventMessage_eQueryContentState: root::mozilla::EventMessage = 121;
6164         pub const EventMessage_eQuerySelectionAsTransferable: root::mozilla::EventMessage = 122;
6165         pub const EventMessage_eQueryCharacterAtPoint: root::mozilla::EventMessage = 123;
6166         pub const EventMessage_eQueryDOMWidgetHittest: root::mozilla::EventMessage = 124;
6167         pub const EventMessage_eLoadStart: root::mozilla::EventMessage = 125;
6168         pub const EventMessage_eProgress: root::mozilla::EventMessage = 126;
6169         pub const EventMessage_eSuspend: root::mozilla::EventMessage = 127;
6170         pub const EventMessage_eEmptied: root::mozilla::EventMessage = 128;
6171         pub const EventMessage_eStalled: root::mozilla::EventMessage = 129;
6172         pub const EventMessage_ePlay: root::mozilla::EventMessage = 130;
6173         pub const EventMessage_ePause: root::mozilla::EventMessage = 131;
6174         pub const EventMessage_eLoadedMetaData: root::mozilla::EventMessage = 132;
6175         pub const EventMessage_eLoadedData: root::mozilla::EventMessage = 133;
6176         pub const EventMessage_eWaiting: root::mozilla::EventMessage = 134;
6177         pub const EventMessage_ePlaying: root::mozilla::EventMessage = 135;
6178         pub const EventMessage_eCanPlay: root::mozilla::EventMessage = 136;
6179         pub const EventMessage_eCanPlayThrough: root::mozilla::EventMessage = 137;
6180         pub const EventMessage_eSeeking: root::mozilla::EventMessage = 138;
6181         pub const EventMessage_eSeeked: root::mozilla::EventMessage = 139;
6182         pub const EventMessage_eTimeUpdate: root::mozilla::EventMessage = 140;
6183         pub const EventMessage_eEnded: root::mozilla::EventMessage = 141;
6184         pub const EventMessage_eRateChange: root::mozilla::EventMessage = 142;
6185         pub const EventMessage_eDurationChange: root::mozilla::EventMessage = 143;
6186         pub const EventMessage_eVolumeChange: root::mozilla::EventMessage = 144;
6187         pub const EventMessage_eAfterPaint: root::mozilla::EventMessage = 145;
6188         pub const EventMessage_eSwipeGestureMayStart: root::mozilla::EventMessage = 146;
6189         pub const EventMessage_eSwipeGestureStart: root::mozilla::EventMessage = 147;
6190         pub const EventMessage_eSwipeGestureUpdate: root::mozilla::EventMessage = 148;
6191         pub const EventMessage_eSwipeGestureEnd: root::mozilla::EventMessage = 149;
6192         pub const EventMessage_eSwipeGesture: root::mozilla::EventMessage = 150;
6193         pub const EventMessage_eMagnifyGestureStart: root::mozilla::EventMessage = 151;
6194         pub const EventMessage_eMagnifyGestureUpdate: root::mozilla::EventMessage = 152;
6195         pub const EventMessage_eMagnifyGesture: root::mozilla::EventMessage = 153;
6196         pub const EventMessage_eRotateGestureStart: root::mozilla::EventMessage = 154;
6197         pub const EventMessage_eRotateGestureUpdate: root::mozilla::EventMessage = 155;
6198         pub const EventMessage_eRotateGesture: root::mozilla::EventMessage = 156;
6199         pub const EventMessage_eTapGesture: root::mozilla::EventMessage = 157;
6200         pub const EventMessage_ePressTapGesture: root::mozilla::EventMessage = 158;
6201         pub const EventMessage_eEdgeUIStarted: root::mozilla::EventMessage = 159;
6202         pub const EventMessage_eEdgeUICanceled: root::mozilla::EventMessage = 160;
6203         pub const EventMessage_eEdgeUICompleted: root::mozilla::EventMessage = 161;
6204         pub const EventMessage_ePluginInputEvent: root::mozilla::EventMessage = 162;
6205         pub const EventMessage_eSetSelection: root::mozilla::EventMessage = 163;
6206         pub const EventMessage_eContentCommandCut: root::mozilla::EventMessage = 164;
6207         pub const EventMessage_eContentCommandCopy: root::mozilla::EventMessage = 165;
6208         pub const EventMessage_eContentCommandPaste: root::mozilla::EventMessage = 166;
6209         pub const EventMessage_eContentCommandDelete: root::mozilla::EventMessage = 167;
6210         pub const EventMessage_eContentCommandUndo: root::mozilla::EventMessage = 168;
6211         pub const EventMessage_eContentCommandRedo: root::mozilla::EventMessage = 169;
6212         pub const EventMessage_eContentCommandPasteTransferable: root::mozilla::EventMessage = 170;
6213         pub const EventMessage_eContentCommandLookUpDictionary: root::mozilla::EventMessage = 171;
6214         pub const EventMessage_eContentCommandScroll: root::mozilla::EventMessage = 172;
6215         pub const EventMessage_eGestureNotify: root::mozilla::EventMessage = 173;
6216         pub const EventMessage_eScrolledAreaChanged: root::mozilla::EventMessage = 174;
6217         pub const EventMessage_eTransitionStart: root::mozilla::EventMessage = 175;
6218         pub const EventMessage_eTransitionRun: root::mozilla::EventMessage = 176;
6219         pub const EventMessage_eTransitionEnd: root::mozilla::EventMessage = 177;
6220         pub const EventMessage_eTransitionCancel: root::mozilla::EventMessage = 178;
6221         pub const EventMessage_eAnimationStart: root::mozilla::EventMessage = 179;
6222         pub const EventMessage_eAnimationEnd: root::mozilla::EventMessage = 180;
6223         pub const EventMessage_eAnimationIteration: root::mozilla::EventMessage = 181;
6224         pub const EventMessage_eAnimationCancel: root::mozilla::EventMessage = 182;
6225         pub const EventMessage_eWebkitTransitionEnd: root::mozilla::EventMessage = 183;
6226         pub const EventMessage_eWebkitAnimationStart: root::mozilla::EventMessage = 184;
6227         pub const EventMessage_eWebkitAnimationEnd: root::mozilla::EventMessage = 185;
6228         pub const EventMessage_eWebkitAnimationIteration: root::mozilla::EventMessage = 186;
6229         pub const EventMessage_eSMILBeginEvent: root::mozilla::EventMessage = 187;
6230         pub const EventMessage_eSMILEndEvent: root::mozilla::EventMessage = 188;
6231         pub const EventMessage_eSMILRepeatEvent: root::mozilla::EventMessage = 189;
6232         pub const EventMessage_eAudioProcess: root::mozilla::EventMessage = 190;
6233         pub const EventMessage_eAudioComplete: root::mozilla::EventMessage = 191;
6234         pub const EventMessage_eBeforeScriptExecute: root::mozilla::EventMessage = 192;
6235         pub const EventMessage_eAfterScriptExecute: root::mozilla::EventMessage = 193;
6236         pub const EventMessage_eBeforePrint: root::mozilla::EventMessage = 194;
6237         pub const EventMessage_eAfterPrint: root::mozilla::EventMessage = 195;
6238         pub const EventMessage_eMessage: root::mozilla::EventMessage = 196;
6239         pub const EventMessage_eMessageError: root::mozilla::EventMessage = 197;
6240         pub const EventMessage_eOpen: root::mozilla::EventMessage = 198;
6241         pub const EventMessage_eDeviceOrientation: root::mozilla::EventMessage = 199;
6242         pub const EventMessage_eAbsoluteDeviceOrientation: root::mozilla::EventMessage = 200;
6243         pub const EventMessage_eDeviceMotion: root::mozilla::EventMessage = 201;
6244         pub const EventMessage_eDeviceProximity: root::mozilla::EventMessage = 202;
6245         pub const EventMessage_eUserProximity: root::mozilla::EventMessage = 203;
6246         pub const EventMessage_eDeviceLight: root::mozilla::EventMessage = 204;
6247         pub const EventMessage_eVRDisplayActivate: root::mozilla::EventMessage = 205;
6248         pub const EventMessage_eVRDisplayDeactivate: root::mozilla::EventMessage = 206;
6249         pub const EventMessage_eVRDisplayConnect: root::mozilla::EventMessage = 207;
6250         pub const EventMessage_eVRDisplayDisconnect: root::mozilla::EventMessage = 208;
6251         pub const EventMessage_eVRDisplayPresentChange: root::mozilla::EventMessage = 209;
6252         pub const EventMessage_eShow: root::mozilla::EventMessage = 210;
6253         pub const EventMessage_eFullscreenChange: root::mozilla::EventMessage = 211;
6254         pub const EventMessage_eFullscreenError: root::mozilla::EventMessage = 212;
6255         pub const EventMessage_eMozFullscreenChange: root::mozilla::EventMessage = 213;
6256         pub const EventMessage_eMozFullscreenError: root::mozilla::EventMessage = 214;
6257         pub const EventMessage_eTouchStart: root::mozilla::EventMessage = 215;
6258         pub const EventMessage_eTouchMove: root::mozilla::EventMessage = 216;
6259         pub const EventMessage_eTouchEnd: root::mozilla::EventMessage = 217;
6260         pub const EventMessage_eTouchCancel: root::mozilla::EventMessage = 218;
6261         pub const EventMessage_eTouchPointerCancel: root::mozilla::EventMessage = 219;
6262         pub const EventMessage_ePointerLockChange: root::mozilla::EventMessage = 220;
6263         pub const EventMessage_ePointerLockError: root::mozilla::EventMessage = 221;
6264         pub const EventMessage_eMozPointerLockChange: root::mozilla::EventMessage = 222;
6265         pub const EventMessage_eMozPointerLockError: root::mozilla::EventMessage = 223;
6266         pub const EventMessage_eWheel: root::mozilla::EventMessage = 224;
6267         pub const EventMessage_eWheelOperationStart: root::mozilla::EventMessage = 225;
6268         pub const EventMessage_eWheelOperationEnd: root::mozilla::EventMessage = 226;
6269         pub const EventMessage_eTimeChange: root::mozilla::EventMessage = 227;
6270         pub const EventMessage_eNetworkUpload: root::mozilla::EventMessage = 228;
6271         pub const EventMessage_eNetworkDownload: root::mozilla::EventMessage = 229;
6272         pub const EventMessage_eMediaRecorderDataAvailable: root::mozilla::EventMessage = 230;
6273         pub const EventMessage_eMediaRecorderWarning: root::mozilla::EventMessage = 231;
6274         pub const EventMessage_eMediaRecorderStop: root::mozilla::EventMessage = 232;
6275         pub const EventMessage_eGamepadButtonDown: root::mozilla::EventMessage = 233;
6276         pub const EventMessage_eGamepadButtonUp: root::mozilla::EventMessage = 234;
6277         pub const EventMessage_eGamepadAxisMove: root::mozilla::EventMessage = 235;
6278         pub const EventMessage_eGamepadConnected: root::mozilla::EventMessage = 236;
6279         pub const EventMessage_eGamepadDisconnected: root::mozilla::EventMessage = 237;
6280         pub const EventMessage_eGamepadEventFirst: root::mozilla::EventMessage = 233;
6281         pub const EventMessage_eGamepadEventLast: root::mozilla::EventMessage = 237;
6282         pub const EventMessage_eEditorInput: root::mozilla::EventMessage = 238;
6283         pub const EventMessage_eSelectStart: root::mozilla::EventMessage = 239;
6284         pub const EventMessage_eSelectionChange: root::mozilla::EventMessage = 240;
6285         pub const EventMessage_eVisibilityChange: root::mozilla::EventMessage = 241;
6286         pub const EventMessage_eToggle: root::mozilla::EventMessage = 242;
6287         pub const EventMessage_eClose: root::mozilla::EventMessage = 243;
6288         pub const EventMessage_eEventMessage_MaxValue: root::mozilla::EventMessage = 244;
6289         pub type EventMessage = u16;
6290         /// Event class IDs
6291         pub type EventClassIDType = u8;
6292         pub const EventClassID_eBasicEventClass: root::mozilla::EventClassID = 0;
6293         pub const EventClassID_eGUIEventClass: root::mozilla::EventClassID = 1;
6294         pub const EventClassID_eInputEventClass: root::mozilla::EventClassID = 2;
6295         pub const EventClassID_eUIEventClass: root::mozilla::EventClassID = 3;
6296         pub const EventClassID_eKeyboardEventClass: root::mozilla::EventClassID = 4;
6297         pub const EventClassID_eCompositionEventClass: root::mozilla::EventClassID = 5;
6298         pub const EventClassID_eQueryContentEventClass: root::mozilla::EventClassID = 6;
6299         pub const EventClassID_eSelectionEventClass: root::mozilla::EventClassID = 7;
6300         pub const EventClassID_eEditorInputEventClass: root::mozilla::EventClassID = 8;
6301         pub const EventClassID_eMouseEventBaseClass: root::mozilla::EventClassID = 9;
6302         pub const EventClassID_eMouseEventClass: root::mozilla::EventClassID = 10;
6303         pub const EventClassID_eDragEventClass: root::mozilla::EventClassID = 11;
6304         pub const EventClassID_eMouseScrollEventClass: root::mozilla::EventClassID = 12;
6305         pub const EventClassID_eWheelEventClass: root::mozilla::EventClassID = 13;
6306         pub const EventClassID_ePointerEventClass: root::mozilla::EventClassID = 14;
6307         pub const EventClassID_eGestureNotifyEventClass: root::mozilla::EventClassID = 15;
6308         pub const EventClassID_eSimpleGestureEventClass: root::mozilla::EventClassID = 16;
6309         pub const EventClassID_eTouchEventClass: root::mozilla::EventClassID = 17;
6310         pub const EventClassID_eScrollPortEventClass: root::mozilla::EventClassID = 18;
6311         pub const EventClassID_eScrollAreaEventClass: root::mozilla::EventClassID = 19;
6312         pub const EventClassID_eFormEventClass: root::mozilla::EventClassID = 20;
6313         pub const EventClassID_eClipboardEventClass: root::mozilla::EventClassID = 21;
6314         pub const EventClassID_eFocusEventClass: root::mozilla::EventClassID = 22;
6315         pub const EventClassID_eTransitionEventClass: root::mozilla::EventClassID = 23;
6316         pub const EventClassID_eAnimationEventClass: root::mozilla::EventClassID = 24;
6317         pub const EventClassID_eSMILTimeEventClass: root::mozilla::EventClassID = 25;
6318         pub const EventClassID_eCommandEventClass: root::mozilla::EventClassID = 26;
6319         pub const EventClassID_eContentCommandEventClass: root::mozilla::EventClassID = 27;
6320         pub const EventClassID_ePluginEventClass: root::mozilla::EventClassID = 28;
6321         pub const EventClassID_eMutationEventClass: root::mozilla::EventClassID = 29;
6322         pub type EventClassID = u8;
6323         pub type AtomArray = root::nsTArray<root::RefPtr<root::nsAtom>>;
6324         /// EventStates is the class used to represent the event states of nsIContent
6325         /// instances. These states are calculated by IntrinsicState() and
6326         /// ContentStatesChanged() has to be called when one of them changes thus
6327         /// informing the layout/style engine of the change.
6328         /// Event states are associated with pseudo-classes.
6329         #[repr(C)]
6330         #[derive(Debug, Copy)]
6331         pub struct EventStates {
6332             pub mStates: root::mozilla::EventStates_InternalType,
6333         }
6334         pub type EventStates_InternalType = u64;
6335         pub type EventStates_ServoType = u64;
6336         #[test]
bindgen_test_layout_EventStates()6337         fn bindgen_test_layout_EventStates() {
6338             assert_eq!(
6339                 ::std::mem::size_of::<EventStates>(),
6340                 8usize,
6341                 concat!("Size of: ", stringify!(EventStates))
6342             );
6343             assert_eq!(
6344                 ::std::mem::align_of::<EventStates>(),
6345                 8usize,
6346                 concat!("Alignment of ", stringify!(EventStates))
6347             );
6348             assert_eq!(
6349                 unsafe { &(*(::std::ptr::null::<EventStates>())).mStates as *const _ as usize },
6350                 0usize,
6351                 concat!(
6352                     "Offset of field: ",
6353                     stringify!(EventStates),
6354                     "::",
6355                     stringify!(mStates)
6356                 )
6357             );
6358         }
6359         impl Clone for EventStates {
clone(&self) -> Self6360             fn clone(&self) -> Self {
6361                 *self
6362             }
6363         }
6364         pub const ServoTraversalFlags_Empty: root::mozilla::ServoTraversalFlags = 0;
6365         pub const ServoTraversalFlags_AnimationOnly: root::mozilla::ServoTraversalFlags = 1;
6366         pub const ServoTraversalFlags_ForCSSRuleChanges: root::mozilla::ServoTraversalFlags = 2;
6367         pub const ServoTraversalFlags_Forgetful: root::mozilla::ServoTraversalFlags = 8;
6368         pub const ServoTraversalFlags_ClearDirtyBits: root::mozilla::ServoTraversalFlags = 32;
6369         pub const ServoTraversalFlags_ClearAnimationOnlyDirtyDescendants:
6370             root::mozilla::ServoTraversalFlags = 64;
6371         pub const ServoTraversalFlags_ParallelTraversal: root::mozilla::ServoTraversalFlags = 128;
6372         pub const ServoTraversalFlags_FlushThrottledAnimations: root::mozilla::ServoTraversalFlags =
6373             256;
6374         pub type ServoTraversalFlags = u32;
6375         #[repr(i32)]
6376         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
6377         pub enum StyleRuleInclusion {
6378             All = 0,
6379             DefaultOnly = 1,
6380         }
6381         pub const UpdateAnimationsTasks_CSSAnimations: root::mozilla::UpdateAnimationsTasks = 1;
6382         pub const UpdateAnimationsTasks_CSSTransitions: root::mozilla::UpdateAnimationsTasks = 2;
6383         pub const UpdateAnimationsTasks_EffectProperties: root::mozilla::UpdateAnimationsTasks = 4;
6384         pub const UpdateAnimationsTasks_CascadeResults: root::mozilla::UpdateAnimationsTasks = 8;
6385         pub const UpdateAnimationsTasks_DisplayChangedFromNone:
6386             root::mozilla::UpdateAnimationsTasks = 16;
6387         pub type UpdateAnimationsTasks = u8;
6388         pub const ParsingMode_Default: root::mozilla::ParsingMode = 0;
6389         pub const ParsingMode_AllowUnitlessLength: root::mozilla::ParsingMode = 1;
6390         pub const ParsingMode_AllowAllNumericValues: root::mozilla::ParsingMode = 2;
6391         pub type ParsingMode = u8;
6392         #[repr(i32)]
6393         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
6394         pub enum InheritTarget {
6395             Text = 0,
6396             FirstLetterContinuation = 1,
6397             PlaceholderFrame = 2,
6398         }
6399         #[repr(C)]
6400         #[derive(Debug, Copy)]
6401         pub struct ServoStyleSetSizes {
6402             pub mRuleTree: usize,
6403             pub mPrecomputedPseudos: usize,
6404             pub mElementAndPseudosMaps: usize,
6405             pub mInvalidationMap: usize,
6406             pub mRevalidationSelectors: usize,
6407             pub mOther: usize,
6408         }
6409         #[test]
bindgen_test_layout_ServoStyleSetSizes()6410         fn bindgen_test_layout_ServoStyleSetSizes() {
6411             assert_eq!(
6412                 ::std::mem::size_of::<ServoStyleSetSizes>(),
6413                 48usize,
6414                 concat!("Size of: ", stringify!(ServoStyleSetSizes))
6415             );
6416             assert_eq!(
6417                 ::std::mem::align_of::<ServoStyleSetSizes>(),
6418                 8usize,
6419                 concat!("Alignment of ", stringify!(ServoStyleSetSizes))
6420             );
6421             assert_eq!(
6422                 unsafe {
6423                     &(*(::std::ptr::null::<ServoStyleSetSizes>())).mRuleTree as *const _ as usize
6424                 },
6425                 0usize,
6426                 concat!(
6427                     "Offset of field: ",
6428                     stringify!(ServoStyleSetSizes),
6429                     "::",
6430                     stringify!(mRuleTree)
6431                 )
6432             );
6433             assert_eq!(
6434                 unsafe {
6435                     &(*(::std::ptr::null::<ServoStyleSetSizes>())).mPrecomputedPseudos as *const _
6436                         as usize
6437                 },
6438                 8usize,
6439                 concat!(
6440                     "Offset of field: ",
6441                     stringify!(ServoStyleSetSizes),
6442                     "::",
6443                     stringify!(mPrecomputedPseudos)
6444                 )
6445             );
6446             assert_eq!(
6447                 unsafe {
6448                     &(*(::std::ptr::null::<ServoStyleSetSizes>())).mElementAndPseudosMaps
6449                         as *const _ as usize
6450                 },
6451                 16usize,
6452                 concat!(
6453                     "Offset of field: ",
6454                     stringify!(ServoStyleSetSizes),
6455                     "::",
6456                     stringify!(mElementAndPseudosMaps)
6457                 )
6458             );
6459             assert_eq!(
6460                 unsafe {
6461                     &(*(::std::ptr::null::<ServoStyleSetSizes>())).mInvalidationMap as *const _
6462                         as usize
6463                 },
6464                 24usize,
6465                 concat!(
6466                     "Offset of field: ",
6467                     stringify!(ServoStyleSetSizes),
6468                     "::",
6469                     stringify!(mInvalidationMap)
6470                 )
6471             );
6472             assert_eq!(
6473                 unsafe {
6474                     &(*(::std::ptr::null::<ServoStyleSetSizes>())).mRevalidationSelectors
6475                         as *const _ as usize
6476                 },
6477                 32usize,
6478                 concat!(
6479                     "Offset of field: ",
6480                     stringify!(ServoStyleSetSizes),
6481                     "::",
6482                     stringify!(mRevalidationSelectors)
6483                 )
6484             );
6485             assert_eq!(
6486                 unsafe {
6487                     &(*(::std::ptr::null::<ServoStyleSetSizes>())).mOther as *const _ as usize
6488                 },
6489                 40usize,
6490                 concat!(
6491                     "Offset of field: ",
6492                     stringify!(ServoStyleSetSizes),
6493                     "::",
6494                     stringify!(mOther)
6495                 )
6496             );
6497         }
6498         impl Clone for ServoStyleSetSizes {
clone(&self) -> Self6499             fn clone(&self) -> Self {
6500                 *self
6501             }
6502         }
6503         pub const StyleBackendType_None: root::mozilla::StyleBackendType = 0;
6504         pub const StyleBackendType_Gecko: root::mozilla::StyleBackendType = 1;
6505         pub const StyleBackendType_Servo: root::mozilla::StyleBackendType = 2;
6506         /// Enumeration that represents one of the two supported style system backends.
6507         pub type StyleBackendType = u8;
6508         pub mod profiler {
6509             #[allow(unused_imports)]
6510             use self::super::super::super::root;
6511         }
6512         pub type TimeStampValue = u64;
6513         /// Instances of this class represent the length of an interval of time.
6514         /// Negative durations are allowed, meaning the end is before the start.
6515         ///
6516         /// Internally the duration is stored as a int64_t in units of
6517         /// PR_TicksPerSecond() when building with NSPR interval timers, or a
6518         /// system-dependent unit when building with system clocks.  The
6519         /// system-dependent unit must be constant, otherwise the semantics of
6520         /// this class would be broken.
6521         ///
6522         /// The ValueCalculator template parameter determines how arithmetic
6523         /// operations are performed on the integer count of ticks (mValue).
6524         #[repr(C)]
6525         #[derive(Debug, Copy, Clone)]
6526         pub struct BaseTimeDuration {
6527             pub mValue: i64,
6528         }
6529         #[repr(C)]
6530         #[derive(Debug, Copy, Clone)]
6531         pub struct BaseTimeDuration__SomethingVeryRandomHere {
6532             _unused: [u8; 0],
6533         }
6534         /// Perform arithmetic operations on the value of a BaseTimeDuration without
6535         /// doing strict checks on the range of values.
6536         #[repr(C)]
6537         #[derive(Debug, Copy)]
6538         pub struct TimeDurationValueCalculator {
6539             pub _address: u8,
6540         }
6541         #[test]
bindgen_test_layout_TimeDurationValueCalculator()6542         fn bindgen_test_layout_TimeDurationValueCalculator() {
6543             assert_eq!(
6544                 ::std::mem::size_of::<TimeDurationValueCalculator>(),
6545                 1usize,
6546                 concat!("Size of: ", stringify!(TimeDurationValueCalculator))
6547             );
6548             assert_eq!(
6549                 ::std::mem::align_of::<TimeDurationValueCalculator>(),
6550                 1usize,
6551                 concat!("Alignment of ", stringify!(TimeDurationValueCalculator))
6552             );
6553         }
6554         impl Clone for TimeDurationValueCalculator {
clone(&self) -> Self6555             fn clone(&self) -> Self {
6556                 *self
6557             }
6558         }
6559         /// Specialization of BaseTimeDuration that uses TimeDurationValueCalculator for
6560         /// arithmetic on the mValue member.
6561         ///
6562         /// Use this class for time durations that are *not* expected to hold values of
6563         /// Forever (or the negative equivalent) or when such time duration are *not*
6564         /// expected to be used in arithmetic operations.
6565         pub type TimeDuration = root::mozilla::BaseTimeDuration;
6566         /// Instances of this class represent moments in time, or a special
6567         /// "null" moment. We do not use the non-monotonic system clock or
6568         /// local time, since they can be reset, causing apparent backward
6569         /// travel in time, which can confuse algorithms. Instead we measure
6570         /// elapsed time according to the system.  This time can never go
6571         /// backwards (i.e. it never wraps around, at least not in less than
6572         /// five million years of system elapsed time). It might not advance
6573         /// while the system is sleeping. If TimeStamp::SetNow() is not called
6574         /// at all for hours or days, we might not notice the passage of some
6575         /// of that time.
6576         ///
6577         /// We deliberately do not expose a way to convert TimeStamps to some
6578         /// particular unit. All you can do is compute a difference between two
6579         /// TimeStamps to get a TimeDuration. You can also add a TimeDuration
6580         /// to a TimeStamp to get a new TimeStamp. You can't do something
6581         /// meaningless like add two TimeStamps.
6582         ///
6583         /// Internally this is implemented as either a wrapper around
6584         /// - high-resolution, monotonic, system clocks if they exist on this
6585         /// platform
6586         /// - PRIntervalTime otherwise.  We detect wraparounds of
6587         /// PRIntervalTime and work around them.
6588         ///
6589         /// This class is similar to C++11's time_point, however it is
6590         /// explicitly nullable and provides an IsNull() method. time_point
6591         /// is initialized to the clock's epoch and provides a
6592         /// time_since_epoch() method that functions similiarly. i.e.
6593         /// t.IsNull() is equivalent to t.time_since_epoch() == decltype(t)::duration::zero();
6594         #[repr(C)]
6595         #[derive(Debug, Copy)]
6596         pub struct TimeStamp {
6597             /// When built with PRIntervalTime, a value of 0 means this instance
6598             /// is "null". Otherwise, the low 32 bits represent a PRIntervalTime,
6599             /// and the high 32 bits represent a counter of the number of
6600             /// rollovers of PRIntervalTime that we've seen. This counter starts
6601             /// at 1 to avoid a real time colliding with the "null" value.
6602             ///
6603             /// PR_INTERVAL_MAX is set at 100,000 ticks per second. So the minimum
6604             /// time to wrap around is about 2^64/100000 seconds, i.e. about
6605             /// 5,849,424 years.
6606             ///
6607             /// When using a system clock, a value is system dependent.
6608             pub mValue: root::mozilla::TimeStampValue,
6609         }
6610         #[test]
bindgen_test_layout_TimeStamp()6611         fn bindgen_test_layout_TimeStamp() {
6612             assert_eq!(
6613                 ::std::mem::size_of::<TimeStamp>(),
6614                 8usize,
6615                 concat!("Size of: ", stringify!(TimeStamp))
6616             );
6617             assert_eq!(
6618                 ::std::mem::align_of::<TimeStamp>(),
6619                 8usize,
6620                 concat!("Alignment of ", stringify!(TimeStamp))
6621             );
6622             assert_eq!(
6623                 unsafe { &(*(::std::ptr::null::<TimeStamp>())).mValue as *const _ as usize },
6624                 0usize,
6625                 concat!(
6626                     "Offset of field: ",
6627                     stringify!(TimeStamp),
6628                     "::",
6629                     stringify!(mValue)
6630                 )
6631             );
6632         }
6633         impl Clone for TimeStamp {
clone(&self) -> Self6634             fn clone(&self) -> Self {
6635                 *self
6636             }
6637         }
6638         #[repr(C)]
6639         #[derive(Debug, Copy)]
6640         pub struct MallocAllocPolicy {
6641             pub _address: u8,
6642         }
6643         #[test]
bindgen_test_layout_MallocAllocPolicy()6644         fn bindgen_test_layout_MallocAllocPolicy() {
6645             assert_eq!(
6646                 ::std::mem::size_of::<MallocAllocPolicy>(),
6647                 1usize,
6648                 concat!("Size of: ", stringify!(MallocAllocPolicy))
6649             );
6650             assert_eq!(
6651                 ::std::mem::align_of::<MallocAllocPolicy>(),
6652                 1usize,
6653                 concat!("Alignment of ", stringify!(MallocAllocPolicy))
6654             );
6655         }
6656         impl Clone for MallocAllocPolicy {
clone(&self) -> Self6657             fn clone(&self) -> Self {
6658                 *self
6659             }
6660         }
6661         pub type Vector_Impl = u8;
6662         #[repr(C)]
6663         #[derive(Debug, Copy, Clone)]
6664         pub struct Vector_CapacityAndReserved {
6665             pub mCapacity: usize,
6666         }
6667         pub type Vector_ElementType<T> = T;
6668         pub const Vector_InlineLength: root::mozilla::Vector__bindgen_ty_1 = 0;
6669         pub type Vector__bindgen_ty_1 = i32;
6670         #[repr(C)]
6671         #[derive(Debug, Copy, Clone)]
6672         pub struct Vector_Range<T> {
6673             pub mCur: *mut T,
6674             pub mEnd: *mut T,
6675             pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
6676         }
6677         #[repr(C)]
6678         #[derive(Debug, Copy, Clone)]
6679         pub struct Vector_ConstRange<T> {
6680             pub mCur: *mut T,
6681             pub mEnd: *mut T,
6682             pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
6683         }
6684         pub mod binding_danger {
6685             #[allow(unused_imports)]
6686             use self::super::super::super::root;
6687             #[repr(C)]
6688             #[derive(Debug, Copy)]
6689             pub struct AssertAndSuppressCleanupPolicy {
6690                 pub _address: u8,
6691             }
6692             pub const AssertAndSuppressCleanupPolicy_assertHandled: bool = true;
6693             pub const AssertAndSuppressCleanupPolicy_suppress: bool = true;
6694             #[test]
bindgen_test_layout_AssertAndSuppressCleanupPolicy()6695             fn bindgen_test_layout_AssertAndSuppressCleanupPolicy() {
6696                 assert_eq!(
6697                     ::std::mem::size_of::<AssertAndSuppressCleanupPolicy>(),
6698                     1usize,
6699                     concat!("Size of: ", stringify!(AssertAndSuppressCleanupPolicy))
6700                 );
6701                 assert_eq!(
6702                     ::std::mem::align_of::<AssertAndSuppressCleanupPolicy>(),
6703                     1usize,
6704                     concat!("Alignment of ", stringify!(AssertAndSuppressCleanupPolicy))
6705                 );
6706             }
6707             impl Clone for AssertAndSuppressCleanupPolicy {
clone(&self) -> Self6708                 fn clone(&self) -> Self {
6709                     *self
6710                 }
6711             }
6712         }
6713         #[repr(C)]
6714         #[derive(Debug)]
6715         pub struct OwningNonNull<T> {
6716             pub mPtr: root::RefPtr<T>,
6717             pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
6718         }
6719         pub mod net {
6720             #[allow(unused_imports)]
6721             use self::super::super::super::root;
6722             pub const ReferrerPolicy_RP_No_Referrer: root::mozilla::net::ReferrerPolicy = 2;
6723             pub const ReferrerPolicy_RP_Origin: root::mozilla::net::ReferrerPolicy = 3;
6724             pub const ReferrerPolicy_RP_No_Referrer_When_Downgrade:
6725                 root::mozilla::net::ReferrerPolicy = 1;
6726             pub const ReferrerPolicy_RP_Origin_When_Crossorigin:
6727                 root::mozilla::net::ReferrerPolicy = 4;
6728             pub const ReferrerPolicy_RP_Unsafe_URL: root::mozilla::net::ReferrerPolicy = 5;
6729             pub const ReferrerPolicy_RP_Same_Origin: root::mozilla::net::ReferrerPolicy = 6;
6730             pub const ReferrerPolicy_RP_Strict_Origin: root::mozilla::net::ReferrerPolicy = 7;
6731             pub const ReferrerPolicy_RP_Strict_Origin_When_Cross_Origin:
6732                 root::mozilla::net::ReferrerPolicy = 8;
6733             pub const ReferrerPolicy_RP_Unset: root::mozilla::net::ReferrerPolicy = 0;
6734             pub type ReferrerPolicy = u32;
6735         }
6736         /// The default of not using CORS to validate cross-origin loads.
6737         pub const CORSMode_CORS_NONE: root::mozilla::CORSMode = 0;
6738         /// Validate cross-site loads using CORS, but do not send any credentials
6739         /// (cookies, HTTP auth logins, etc) along with the request.
6740         pub const CORSMode_CORS_ANONYMOUS: root::mozilla::CORSMode = 1;
6741         /// Validate cross-site loads using CORS, and send credentials such as cookies
6742         /// and HTTP auth logins along with the request.
6743         pub const CORSMode_CORS_USE_CREDENTIALS: root::mozilla::CORSMode = 2;
6744         pub type CORSMode = u8;
6745         /// Superclass for data common to CSSStyleSheet and ServoStyleSheet.
6746         #[repr(C)]
6747         pub struct StyleSheet {
6748             pub _base: root::nsICSSLoaderObserver,
6749             pub _base_1: root::nsWrapperCache,
6750             pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
6751             pub mParent: *mut root::mozilla::StyleSheet,
6752             pub mTitle: ::nsstring::nsStringRepr,
6753             pub mDocument: *mut root::nsIDocument,
6754             pub mOwningNode: *mut root::nsINode,
6755             pub mOwnerRule: *mut root::mozilla::dom::CSSImportRule,
6756             pub mMedia: root::RefPtr<root::mozilla::dom::MediaList>,
6757             pub mNext: root::RefPtr<root::mozilla::StyleSheet>,
6758             pub mParsingMode: root::mozilla::css::SheetParsingMode,
6759             pub mType: root::mozilla::StyleBackendType,
6760             pub mDisabled: bool,
6761             pub mDirtyFlags: u8,
6762             pub mDocumentAssociationMode: root::mozilla::StyleSheet_DocumentAssociationMode,
6763             pub mInner: *mut root::mozilla::StyleSheetInfo,
6764             pub mStyleSets: root::nsTArray<root::mozilla::StyleSetHandle>,
6765         }
6766         pub type StyleSheet_HasThreadSafeRefCnt = root::mozilla::FalseType;
6767         #[repr(C)]
6768         #[derive(Debug, Copy)]
6769         pub struct StyleSheet_cycleCollection {
6770             pub _base: root::nsXPCOMCycleCollectionParticipant,
6771         }
6772         #[test]
bindgen_test_layout_StyleSheet_cycleCollection()6773         fn bindgen_test_layout_StyleSheet_cycleCollection() {
6774             assert_eq!(
6775                 ::std::mem::size_of::<StyleSheet_cycleCollection>(),
6776                 16usize,
6777                 concat!("Size of: ", stringify!(StyleSheet_cycleCollection))
6778             );
6779             assert_eq!(
6780                 ::std::mem::align_of::<StyleSheet_cycleCollection>(),
6781                 8usize,
6782                 concat!("Alignment of ", stringify!(StyleSheet_cycleCollection))
6783             );
6784         }
6785         impl Clone for StyleSheet_cycleCollection {
clone(&self) -> Self6786             fn clone(&self) -> Self {
6787                 *self
6788             }
6789         }
6790         pub const StyleSheet_ChangeType_Added: root::mozilla::StyleSheet_ChangeType = 0;
6791         pub const StyleSheet_ChangeType_Removed: root::mozilla::StyleSheet_ChangeType = 1;
6792         pub const StyleSheet_ChangeType_ApplicableStateChanged:
6793             root::mozilla::StyleSheet_ChangeType = 2;
6794         pub const StyleSheet_ChangeType_RuleAdded: root::mozilla::StyleSheet_ChangeType = 3;
6795         pub const StyleSheet_ChangeType_RuleRemoved: root::mozilla::StyleSheet_ChangeType = 4;
6796         pub const StyleSheet_ChangeType_RuleChanged: root::mozilla::StyleSheet_ChangeType = 5;
6797         /// The different changes that a stylesheet may go through.
6798         ///
6799         /// Used by the StyleSets in order to handle more efficiently some kinds of
6800         /// changes.
6801         pub type StyleSheet_ChangeType = i32;
6802         pub const StyleSheet_DocumentAssociationMode_OwnedByDocument:
6803             root::mozilla::StyleSheet_DocumentAssociationMode = 0;
6804         pub const StyleSheet_DocumentAssociationMode_NotOwnedByDocument:
6805             root::mozilla::StyleSheet_DocumentAssociationMode = 1;
6806         pub type StyleSheet_DocumentAssociationMode = u8;
6807         #[repr(C)]
6808         #[derive(Debug, Copy)]
6809         pub struct StyleSheet_ChildSheetListBuilder {
6810             pub sheetSlot: *mut root::RefPtr<root::mozilla::StyleSheet>,
6811             pub parent: *mut root::mozilla::StyleSheet,
6812         }
6813         #[test]
bindgen_test_layout_StyleSheet_ChildSheetListBuilder()6814         fn bindgen_test_layout_StyleSheet_ChildSheetListBuilder() {
6815             assert_eq!(
6816                 ::std::mem::size_of::<StyleSheet_ChildSheetListBuilder>(),
6817                 16usize,
6818                 concat!("Size of: ", stringify!(StyleSheet_ChildSheetListBuilder))
6819             );
6820             assert_eq!(
6821                 ::std::mem::align_of::<StyleSheet_ChildSheetListBuilder>(),
6822                 8usize,
6823                 concat!(
6824                     "Alignment of ",
6825                     stringify!(StyleSheet_ChildSheetListBuilder)
6826                 )
6827             );
6828             assert_eq!(
6829                 unsafe {
6830                     &(*(::std::ptr::null::<StyleSheet_ChildSheetListBuilder>())).sheetSlot
6831                         as *const _ as usize
6832                 },
6833                 0usize,
6834                 concat!(
6835                     "Offset of field: ",
6836                     stringify!(StyleSheet_ChildSheetListBuilder),
6837                     "::",
6838                     stringify!(sheetSlot)
6839                 )
6840             );
6841             assert_eq!(
6842                 unsafe {
6843                     &(*(::std::ptr::null::<StyleSheet_ChildSheetListBuilder>())).parent as *const _
6844                         as usize
6845                 },
6846                 8usize,
6847                 concat!(
6848                     "Offset of field: ",
6849                     stringify!(StyleSheet_ChildSheetListBuilder),
6850                     "::",
6851                     stringify!(parent)
6852                 )
6853             );
6854         }
6855         impl Clone for StyleSheet_ChildSheetListBuilder {
clone(&self) -> Self6856             fn clone(&self) -> Self {
6857                 *self
6858             }
6859         }
6860         pub const StyleSheet_dirtyFlagAttributes_FORCED_UNIQUE_INNER:
6861             root::mozilla::StyleSheet_dirtyFlagAttributes = 1;
6862         pub const StyleSheet_dirtyFlagAttributes_MODIFIED_RULES:
6863             root::mozilla::StyleSheet_dirtyFlagAttributes = 2;
6864         pub type StyleSheet_dirtyFlagAttributes = u32;
6865         extern "C" {
6866             #[link_name = "\u{1}_ZN7mozilla10StyleSheet21_cycleCollectorGlobalE"]
6867             pub static mut StyleSheet__cycleCollectorGlobal:
6868                 root::mozilla::StyleSheet_cycleCollection;
6869         }
6870         #[test]
bindgen_test_layout_StyleSheet()6871         fn bindgen_test_layout_StyleSheet() {
6872             assert_eq!(
6873                 ::std::mem::size_of::<StyleSheet>(),
6874                 128usize,
6875                 concat!("Size of: ", stringify!(StyleSheet))
6876             );
6877             assert_eq!(
6878                 ::std::mem::align_of::<StyleSheet>(),
6879                 8usize,
6880                 concat!("Alignment of ", stringify!(StyleSheet))
6881             );
6882         }
6883         pub const CSSEnabledState_eForAllContent: root::mozilla::CSSEnabledState = 0;
6884         pub const CSSEnabledState_eInUASheets: root::mozilla::CSSEnabledState = 1;
6885         pub const CSSEnabledState_eInChrome: root::mozilla::CSSEnabledState = 2;
6886         pub const CSSEnabledState_eIgnoreEnabledState: root::mozilla::CSSEnabledState = 255;
6887         pub type CSSEnabledState = i32;
6888         pub type CSSPseudoElementTypeBase = u8;
6889         pub const CSSPseudoElementType_InheritingAnonBox: root::mozilla::CSSPseudoElementType =
6890             CSSPseudoElementType::Count;
6891         #[repr(u8)]
6892         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
6893         pub enum CSSPseudoElementType {
6894             after = 0,
6895             before = 1,
6896             backdrop = 2,
6897             cue = 3,
6898             firstLetter = 4,
6899             firstLine = 5,
6900             mozSelection = 6,
6901             mozFocusInner = 7,
6902             mozFocusOuter = 8,
6903             mozListBullet = 9,
6904             mozListNumber = 10,
6905             mozMathAnonymous = 11,
6906             mozNumberWrapper = 12,
6907             mozNumberText = 13,
6908             mozNumberSpinBox = 14,
6909             mozNumberSpinUp = 15,
6910             mozNumberSpinDown = 16,
6911             mozProgressBar = 17,
6912             mozRangeTrack = 18,
6913             mozRangeProgress = 19,
6914             mozRangeThumb = 20,
6915             mozMeterBar = 21,
6916             mozPlaceholder = 22,
6917             placeholder = 23,
6918             mozColorSwatch = 24,
6919             Count = 25,
6920             NonInheritingAnonBox = 26,
6921             XULTree = 27,
6922             NotPseudo = 28,
6923             MAX = 29,
6924         }
6925         /// Smart pointer class that can hold a pointer to either an nsStyleSet
6926         /// or a ServoStyleSet.
6927         #[repr(C)]
6928         #[derive(Debug, Copy)]
6929         pub struct StyleSetHandle {
6930             pub mPtr: root::mozilla::StyleSetHandle_Ptr,
6931         }
6932         #[repr(C)]
6933         #[derive(Debug, Copy)]
6934         pub struct StyleSetHandle_Ptr {
6935             pub mValue: usize,
6936         }
6937         #[test]
bindgen_test_layout_StyleSetHandle_Ptr()6938         fn bindgen_test_layout_StyleSetHandle_Ptr() {
6939             assert_eq!(
6940                 ::std::mem::size_of::<StyleSetHandle_Ptr>(),
6941                 8usize,
6942                 concat!("Size of: ", stringify!(StyleSetHandle_Ptr))
6943             );
6944             assert_eq!(
6945                 ::std::mem::align_of::<StyleSetHandle_Ptr>(),
6946                 8usize,
6947                 concat!("Alignment of ", stringify!(StyleSetHandle_Ptr))
6948             );
6949             assert_eq!(
6950                 unsafe {
6951                     &(*(::std::ptr::null::<StyleSetHandle_Ptr>())).mValue as *const _ as usize
6952                 },
6953                 0usize,
6954                 concat!(
6955                     "Offset of field: ",
6956                     stringify!(StyleSetHandle_Ptr),
6957                     "::",
6958                     stringify!(mValue)
6959                 )
6960             );
6961         }
6962         impl Clone for StyleSetHandle_Ptr {
clone(&self) -> Self6963             fn clone(&self) -> Self {
6964                 *self
6965             }
6966         }
6967         #[test]
bindgen_test_layout_StyleSetHandle()6968         fn bindgen_test_layout_StyleSetHandle() {
6969             assert_eq!(
6970                 ::std::mem::size_of::<StyleSetHandle>(),
6971                 8usize,
6972                 concat!("Size of: ", stringify!(StyleSetHandle))
6973             );
6974             assert_eq!(
6975                 ::std::mem::align_of::<StyleSetHandle>(),
6976                 8usize,
6977                 concat!("Alignment of ", stringify!(StyleSetHandle))
6978             );
6979             assert_eq!(
6980                 unsafe { &(*(::std::ptr::null::<StyleSetHandle>())).mPtr as *const _ as usize },
6981                 0usize,
6982                 concat!(
6983                     "Offset of field: ",
6984                     stringify!(StyleSetHandle),
6985                     "::",
6986                     stringify!(mPtr)
6987                 )
6988             );
6989         }
6990         impl Clone for StyleSetHandle {
clone(&self) -> Self6991             fn clone(&self) -> Self {
6992                 *self
6993             }
6994         }
6995         #[repr(C)]
6996         #[derive(Debug, Copy)]
6997         pub struct SeenPtrs {
6998             pub _bindgen_opaque_blob: [u64; 4usize],
6999         }
7000         #[test]
bindgen_test_layout_SeenPtrs()7001         fn bindgen_test_layout_SeenPtrs() {
7002             assert_eq!(
7003                 ::std::mem::size_of::<SeenPtrs>(),
7004                 32usize,
7005                 concat!("Size of: ", stringify!(SeenPtrs))
7006             );
7007             assert_eq!(
7008                 ::std::mem::align_of::<SeenPtrs>(),
7009                 8usize,
7010                 concat!("Alignment of ", stringify!(SeenPtrs))
7011             );
7012         }
7013         impl Clone for SeenPtrs {
clone(&self) -> Self7014             fn clone(&self) -> Self {
7015                 *self
7016             }
7017         }
7018         pub mod widget {
7019             #[allow(unused_imports)]
7020             use self::super::super::super::root;
7021             /// Contains IMEStatus plus information about the current
7022             /// input context that the IME can use as hints if desired.
7023             #[repr(C)]
7024             #[derive(Debug, Copy)]
7025             pub struct IMEState {
7026                 pub mEnabled: root::mozilla::widget::IMEState_Enabled,
7027                 pub mOpen: root::mozilla::widget::IMEState_Open,
7028             }
7029             /// 'Disabled' means the user cannot use IME. So, the IME open state should
7030             /// be 'closed' during 'disabled'.
7031             pub const IMEState_Enabled_DISABLED: root::mozilla::widget::IMEState_Enabled = 0;
7032             /// 'Enabled' means the user can use IME.
7033             pub const IMEState_Enabled_ENABLED: root::mozilla::widget::IMEState_Enabled = 1;
7034             /// 'Password' state is a special case for the password editors.
7035             /// E.g., on mac, the password editors should disable the non-Roman
7036             /// keyboard layouts at getting focus. Thus, the password editor may have
7037             /// special rules on some platforms.
7038             pub const IMEState_Enabled_PASSWORD: root::mozilla::widget::IMEState_Enabled = 2;
7039             /// This state is used when a plugin is focused.
7040             /// When a plug-in is focused content, we should send native events
7041             /// directly. Because we don't process some native events, but they may
7042             /// be needed by the plug-in.
7043             pub const IMEState_Enabled_PLUGIN: root::mozilla::widget::IMEState_Enabled = 3;
7044             /// 'Unknown' is useful when you cache this enum.  So, this shouldn't be
7045             /// used with nsIWidget::SetInputContext().
7046             pub const IMEState_Enabled_UNKNOWN: root::mozilla::widget::IMEState_Enabled = 4;
7047             /// IME enabled states, the mEnabled value of
7048             /// SetInputContext()/GetInputContext() should be one value of following
7049             /// values.
7050             ///
7051             /// WARNING: If you change these values, you also need to edit:
7052             /// nsIDOMWindowUtils.idl
7053             /// nsContentUtils::GetWidgetStatusFromIMEStatus
7054             pub type IMEState_Enabled = u32;
7055             /// 'Unsupported' means the platform cannot return actual IME open state.
7056             /// This value is used only by GetInputContext().
7057             pub const IMEState_Open_OPEN_STATE_NOT_SUPPORTED: root::mozilla::widget::IMEState_Open =
7058                 0;
7059             /// 'Don't change' means the widget shouldn't change IME open state when
7060             /// SetInputContext() is called.
7061             pub const IMEState_Open_DONT_CHANGE_OPEN_STATE: root::mozilla::widget::IMEState_Open =
7062                 0;
7063             /// 'Open' means that IME should compose in its primary language (or latest
7064             /// input mode except direct ASCII character input mode).  Even if IME is
7065             /// opened by this value, users should be able to close IME by theirselves.
7066             /// Web contents can specify this value by |ime-mode: active;|.
7067             pub const IMEState_Open_OPEN: root::mozilla::widget::IMEState_Open = 1;
7068             /// 'Closed' means that IME shouldn't handle key events (or should handle
7069             /// as ASCII character inputs on mobile device).  Even if IME is closed by
7070             /// this value, users should be able to open IME by theirselves.
7071             /// Web contents can specify this value by |ime-mode: inactive;|.
7072             pub const IMEState_Open_CLOSED: root::mozilla::widget::IMEState_Open = 2;
7073             /// IME open states the mOpen value of SetInputContext() should be one value of
7074             /// OPEN, CLOSE or DONT_CHANGE_OPEN_STATE.  GetInputContext() should return
7075             /// OPEN, CLOSE or OPEN_STATE_NOT_SUPPORTED.
7076             pub type IMEState_Open = u32;
7077             #[test]
bindgen_test_layout_IMEState()7078             fn bindgen_test_layout_IMEState() {
7079                 assert_eq!(
7080                     ::std::mem::size_of::<IMEState>(),
7081                     8usize,
7082                     concat!("Size of: ", stringify!(IMEState))
7083                 );
7084                 assert_eq!(
7085                     ::std::mem::align_of::<IMEState>(),
7086                     4usize,
7087                     concat!("Alignment of ", stringify!(IMEState))
7088                 );
7089                 assert_eq!(
7090                     unsafe { &(*(::std::ptr::null::<IMEState>())).mEnabled as *const _ as usize },
7091                     0usize,
7092                     concat!(
7093                         "Offset of field: ",
7094                         stringify!(IMEState),
7095                         "::",
7096                         stringify!(mEnabled)
7097                     )
7098                 );
7099                 assert_eq!(
7100                     unsafe { &(*(::std::ptr::null::<IMEState>())).mOpen as *const _ as usize },
7101                     4usize,
7102                     concat!(
7103                         "Offset of field: ",
7104                         stringify!(IMEState),
7105                         "::",
7106                         stringify!(mOpen)
7107                     )
7108                 );
7109             }
7110             impl Clone for IMEState {
clone(&self) -> Self7111                 fn clone(&self) -> Self {
7112                     *self
7113                 }
7114             }
7115         }
7116         /// This class is designed to cause crashes when various kinds of memory
7117         /// corruption are observed. For instance, let's say we have a class C where we
7118         /// suspect out-of-bounds writes to some members.  We can insert a member of type
7119         /// Poison near the members we suspect are being corrupted by out-of-bounds
7120         /// writes.  Or perhaps we have a class K we suspect is subject to use-after-free
7121         /// violations, in which case it doesn't particularly matter where in the class
7122         /// we add the member of type Poison.
7123         ///
7124         /// In either case, we then insert calls to Check() throughout the code.  Doing
7125         /// so enables us to narrow down the location where the corruption is occurring.
7126         /// A pleasant side-effect of these additional Check() calls is that crash
7127         /// signatures may become more regular, as crashes will ideally occur
7128         /// consolidated at the point of a Check(), rather than scattered about at
7129         /// various uses of the corrupted memory.
7130         #[repr(C)]
7131         #[derive(Debug)]
7132         pub struct CorruptionCanary {
7133             pub mValue: usize,
7134         }
7135         pub const CorruptionCanary_kCanarySet: usize = 252382987;
7136         #[test]
bindgen_test_layout_CorruptionCanary()7137         fn bindgen_test_layout_CorruptionCanary() {
7138             assert_eq!(
7139                 ::std::mem::size_of::<CorruptionCanary>(),
7140                 8usize,
7141                 concat!("Size of: ", stringify!(CorruptionCanary))
7142             );
7143             assert_eq!(
7144                 ::std::mem::align_of::<CorruptionCanary>(),
7145                 8usize,
7146                 concat!("Alignment of ", stringify!(CorruptionCanary))
7147             );
7148             assert_eq!(
7149                 unsafe { &(*(::std::ptr::null::<CorruptionCanary>())).mValue as *const _ as usize },
7150                 0usize,
7151                 concat!(
7152                     "Offset of field: ",
7153                     stringify!(CorruptionCanary),
7154                     "::",
7155                     stringify!(mValue)
7156                 )
7157             );
7158         }
7159         #[repr(C)]
7160         #[derive(Debug, Copy)]
7161         pub struct ArenaAllocator_ArenaHeader {
7162             /// The location in memory of the data portion of the arena.
7163             pub offset: usize,
7164             /// The location in memory of the end of the data portion of the arena.
7165             pub tail: usize,
7166         }
7167         impl Clone for ArenaAllocator_ArenaHeader {
clone(&self) -> Self7168             fn clone(&self) -> Self {
7169                 *self
7170             }
7171         }
7172         #[repr(C)]
7173         #[derive(Debug)]
7174         pub struct ArenaAllocator_ArenaChunk {
7175             pub canary: root::mozilla::CorruptionCanary,
7176             pub header: root::mozilla::ArenaAllocator_ArenaHeader,
7177             pub next: *mut root::mozilla::ArenaAllocator_ArenaChunk,
7178         }
7179         pub type LayoutDeviceIntPoint = [u32; 2usize];
7180         #[repr(C)]
7181         #[derive(Debug, Copy)]
7182         pub struct LayoutDevicePixel {
7183             pub _address: u8,
7184         }
7185         #[test]
bindgen_test_layout_LayoutDevicePixel()7186         fn bindgen_test_layout_LayoutDevicePixel() {
7187             assert_eq!(
7188                 ::std::mem::size_of::<LayoutDevicePixel>(),
7189                 1usize,
7190                 concat!("Size of: ", stringify!(LayoutDevicePixel))
7191             );
7192             assert_eq!(
7193                 ::std::mem::align_of::<LayoutDevicePixel>(),
7194                 1usize,
7195                 concat!("Alignment of ", stringify!(LayoutDevicePixel))
7196             );
7197         }
7198         impl Clone for LayoutDevicePixel {
clone(&self) -> Self7199             fn clone(&self) -> Self {
7200                 *self
7201             }
7202         }
7203         pub mod a11y {
7204             #[allow(unused_imports)]
7205             use self::super::super::super::root;
7206             #[repr(C)]
7207             #[derive(Debug, Copy)]
7208             pub struct DocAccessible {
7209                 _unused: [u8; 0],
7210             }
7211             impl Clone for DocAccessible {
clone(&self) -> Self7212                 fn clone(&self) -> Self {
7213                     *self
7214                 }
7215             }
7216         }
7217         #[repr(C)]
7218         #[derive(Debug, Copy)]
7219         pub struct DOMEventTargetHelper {
7220             _unused: [u8; 0],
7221         }
7222         impl Clone for DOMEventTargetHelper {
clone(&self) -> Self7223             fn clone(&self) -> Self {
7224                 *self
7225             }
7226         }
7227         pub const UseCounter_eUseCounter_UNKNOWN: root::mozilla::UseCounter = -1;
7228         pub const UseCounter_eUseCounter_SVGSVGElement_getElementById: root::mozilla::UseCounter =
7229             0;
7230         pub const UseCounter_eUseCounter_SVGSVGElement_currentScale_getter:
7231             root::mozilla::UseCounter = 1;
7232         pub const UseCounter_eUseCounter_SVGSVGElement_currentScale_setter:
7233             root::mozilla::UseCounter = 2;
7234         pub const UseCounter_eUseCounter_property_Fill: root::mozilla::UseCounter = 3;
7235         pub const UseCounter_eUseCounter_property_FillOpacity: root::mozilla::UseCounter = 4;
7236         pub const UseCounter_eUseCounter_XMLDocument_async_getter: root::mozilla::UseCounter = 5;
7237         pub const UseCounter_eUseCounter_XMLDocument_async_setter: root::mozilla::UseCounter = 6;
7238         pub const UseCounter_eUseCounter_DOMError_name_getter: root::mozilla::UseCounter = 7;
7239         pub const UseCounter_eUseCounter_DOMError_name_setter: root::mozilla::UseCounter = 8;
7240         pub const UseCounter_eUseCounter_DOMError_message_getter: root::mozilla::UseCounter = 9;
7241         pub const UseCounter_eUseCounter_DOMError_message_setter: root::mozilla::UseCounter = 10;
7242         pub const UseCounter_eUseCounter_custom_DOMErrorConstructor: root::mozilla::UseCounter = 11;
7243         pub const UseCounter_eUseCounter_PushManager_subscribe: root::mozilla::UseCounter = 12;
7244         pub const UseCounter_eUseCounter_PushSubscription_unsubscribe: root::mozilla::UseCounter =
7245             13;
7246         pub const UseCounter_eUseCounter_Window_sidebar_getter: root::mozilla::UseCounter = 14;
7247         pub const UseCounter_eUseCounter_Window_sidebar_setter: root::mozilla::UseCounter = 15;
7248         pub const UseCounter_eUseCounter_OfflineResourceList_swapCache: root::mozilla::UseCounter =
7249             16;
7250         pub const UseCounter_eUseCounter_OfflineResourceList_update: root::mozilla::UseCounter = 17;
7251         pub const UseCounter_eUseCounter_OfflineResourceList_status_getter:
7252             root::mozilla::UseCounter = 18;
7253         pub const UseCounter_eUseCounter_OfflineResourceList_status_setter:
7254             root::mozilla::UseCounter = 19;
7255         pub const UseCounter_eUseCounter_OfflineResourceList_onchecking_getter:
7256             root::mozilla::UseCounter = 20;
7257         pub const UseCounter_eUseCounter_OfflineResourceList_onchecking_setter:
7258             root::mozilla::UseCounter = 21;
7259         pub const UseCounter_eUseCounter_OfflineResourceList_onerror_getter:
7260             root::mozilla::UseCounter = 22;
7261         pub const UseCounter_eUseCounter_OfflineResourceList_onerror_setter:
7262             root::mozilla::UseCounter = 23;
7263         pub const UseCounter_eUseCounter_OfflineResourceList_onnoupdate_getter:
7264             root::mozilla::UseCounter = 24;
7265         pub const UseCounter_eUseCounter_OfflineResourceList_onnoupdate_setter:
7266             root::mozilla::UseCounter = 25;
7267         pub const UseCounter_eUseCounter_OfflineResourceList_ondownloading_getter:
7268             root::mozilla::UseCounter = 26;
7269         pub const UseCounter_eUseCounter_OfflineResourceList_ondownloading_setter:
7270             root::mozilla::UseCounter = 27;
7271         pub const UseCounter_eUseCounter_OfflineResourceList_onprogress_getter:
7272             root::mozilla::UseCounter = 28;
7273         pub const UseCounter_eUseCounter_OfflineResourceList_onprogress_setter:
7274             root::mozilla::UseCounter = 29;
7275         pub const UseCounter_eUseCounter_OfflineResourceList_onupdateready_getter:
7276             root::mozilla::UseCounter = 30;
7277         pub const UseCounter_eUseCounter_OfflineResourceList_onupdateready_setter:
7278             root::mozilla::UseCounter = 31;
7279         pub const UseCounter_eUseCounter_OfflineResourceList_oncached_getter:
7280             root::mozilla::UseCounter = 32;
7281         pub const UseCounter_eUseCounter_OfflineResourceList_oncached_setter:
7282             root::mozilla::UseCounter = 33;
7283         pub const UseCounter_eUseCounter_OfflineResourceList_onobsolete_getter:
7284             root::mozilla::UseCounter = 34;
7285         pub const UseCounter_eUseCounter_OfflineResourceList_onobsolete_setter:
7286             root::mozilla::UseCounter = 35;
7287         pub const UseCounter_eUseCounter_IDBDatabase_createMutableFile: root::mozilla::UseCounter =
7288             36;
7289         pub const UseCounter_eUseCounter_IDBDatabase_mozCreateFileHandle:
7290             root::mozilla::UseCounter = 37;
7291         pub const UseCounter_eUseCounter_IDBMutableFile_open: root::mozilla::UseCounter = 38;
7292         pub const UseCounter_eUseCounter_IDBMutableFile_getFile: root::mozilla::UseCounter = 39;
7293         pub const UseCounter_eUseCounter_DataTransfer_addElement: root::mozilla::UseCounter = 40;
7294         pub const UseCounter_eUseCounter_DataTransfer_mozItemCount_getter:
7295             root::mozilla::UseCounter = 41;
7296         pub const UseCounter_eUseCounter_DataTransfer_mozItemCount_setter:
7297             root::mozilla::UseCounter = 42;
7298         pub const UseCounter_eUseCounter_DataTransfer_mozCursor_getter: root::mozilla::UseCounter =
7299             43;
7300         pub const UseCounter_eUseCounter_DataTransfer_mozCursor_setter: root::mozilla::UseCounter =
7301             44;
7302         pub const UseCounter_eUseCounter_DataTransfer_mozTypesAt: root::mozilla::UseCounter = 45;
7303         pub const UseCounter_eUseCounter_DataTransfer_mozClearDataAt: root::mozilla::UseCounter =
7304             46;
7305         pub const UseCounter_eUseCounter_DataTransfer_mozSetDataAt: root::mozilla::UseCounter = 47;
7306         pub const UseCounter_eUseCounter_DataTransfer_mozGetDataAt: root::mozilla::UseCounter = 48;
7307         pub const UseCounter_eUseCounter_DataTransfer_mozUserCancelled_getter:
7308             root::mozilla::UseCounter = 49;
7309         pub const UseCounter_eUseCounter_DataTransfer_mozUserCancelled_setter:
7310             root::mozilla::UseCounter = 50;
7311         pub const UseCounter_eUseCounter_DataTransfer_mozSourceNode_getter:
7312             root::mozilla::UseCounter = 51;
7313         pub const UseCounter_eUseCounter_DataTransfer_mozSourceNode_setter:
7314             root::mozilla::UseCounter = 52;
7315         pub const UseCounter_eUseCounter_custom_JS_asmjs: root::mozilla::UseCounter = 53;
7316         pub const UseCounter_eUseCounter_custom_JS_wasm: root::mozilla::UseCounter = 54;
7317         pub const UseCounter_eUseCounter_EnablePrivilege: root::mozilla::UseCounter = 55;
7318         pub const UseCounter_eUseCounter_DOMExceptionCode: root::mozilla::UseCounter = 56;
7319         pub const UseCounter_eUseCounter_MutationEvent: root::mozilla::UseCounter = 57;
7320         pub const UseCounter_eUseCounter_Components: root::mozilla::UseCounter = 58;
7321         pub const UseCounter_eUseCounter_PrefixedVisibilityAPI: root::mozilla::UseCounter = 59;
7322         pub const UseCounter_eUseCounter_NodeIteratorDetach: root::mozilla::UseCounter = 60;
7323         pub const UseCounter_eUseCounter_LenientThis: root::mozilla::UseCounter = 61;
7324         pub const UseCounter_eUseCounter_GetSetUserData: root::mozilla::UseCounter = 62;
7325         pub const UseCounter_eUseCounter_MozGetAsFile: root::mozilla::UseCounter = 63;
7326         pub const UseCounter_eUseCounter_UseOfCaptureEvents: root::mozilla::UseCounter = 64;
7327         pub const UseCounter_eUseCounter_UseOfReleaseEvents: root::mozilla::UseCounter = 65;
7328         pub const UseCounter_eUseCounter_UseOfDOM3LoadMethod: root::mozilla::UseCounter = 66;
7329         pub const UseCounter_eUseCounter_ChromeUseOfDOM3LoadMethod: root::mozilla::UseCounter = 67;
7330         pub const UseCounter_eUseCounter_ShowModalDialog: root::mozilla::UseCounter = 68;
7331         pub const UseCounter_eUseCounter_SyncXMLHttpRequest: root::mozilla::UseCounter = 69;
7332         pub const UseCounter_eUseCounter_Window_Cc_ontrollers: root::mozilla::UseCounter = 70;
7333         pub const UseCounter_eUseCounter_ImportXULIntoContent: root::mozilla::UseCounter = 71;
7334         pub const UseCounter_eUseCounter_PannerNodeDoppler: root::mozilla::UseCounter = 72;
7335         pub const UseCounter_eUseCounter_NavigatorGetUserMedia: root::mozilla::UseCounter = 73;
7336         pub const UseCounter_eUseCounter_WebrtcDeprecatedPrefix: root::mozilla::UseCounter = 74;
7337         pub const UseCounter_eUseCounter_RTCPeerConnectionGetStreams: root::mozilla::UseCounter =
7338             75;
7339         pub const UseCounter_eUseCounter_AppCache: root::mozilla::UseCounter = 76;
7340         pub const UseCounter_eUseCounter_AppCacheInsecure: root::mozilla::UseCounter = 77;
7341         pub const UseCounter_eUseCounter_PrefixedImageSmoothingEnabled: root::mozilla::UseCounter =
7342             78;
7343         pub const UseCounter_eUseCounter_PrefixedFullscreenAPI: root::mozilla::UseCounter = 79;
7344         pub const UseCounter_eUseCounter_LenientSetter: root::mozilla::UseCounter = 80;
7345         pub const UseCounter_eUseCounter_FileLastModifiedDate: root::mozilla::UseCounter = 81;
7346         pub const UseCounter_eUseCounter_ImageBitmapRenderingContext_TransferImageBitmap:
7347             root::mozilla::UseCounter = 82;
7348         pub const UseCounter_eUseCounter_URLCreateObjectURL_MediaStream: root::mozilla::UseCounter =
7349             83;
7350         pub const UseCounter_eUseCounter_XMLBaseAttribute: root::mozilla::UseCounter = 84;
7351         pub const UseCounter_eUseCounter_WindowContentUntrusted: root::mozilla::UseCounter = 85;
7352         pub const UseCounter_eUseCounter_RegisterProtocolHandlerInsecure:
7353             root::mozilla::UseCounter = 86;
7354         pub const UseCounter_eUseCounter_MixedDisplayObjectSubrequest: root::mozilla::UseCounter =
7355             87;
7356         pub const UseCounter_eUseCounter_MotionEvent: root::mozilla::UseCounter = 88;
7357         pub const UseCounter_eUseCounter_OrientationEvent: root::mozilla::UseCounter = 89;
7358         pub const UseCounter_eUseCounter_ProximityEvent: root::mozilla::UseCounter = 90;
7359         pub const UseCounter_eUseCounter_AmbientLightEvent: root::mozilla::UseCounter = 91;
7360         pub const UseCounter_eUseCounter_Count: root::mozilla::UseCounter = 92;
7361         pub type UseCounter = i16;
7362         pub const LogLevel_Disabled: root::mozilla::LogLevel = 0;
7363         pub const LogLevel_Error: root::mozilla::LogLevel = 1;
7364         pub const LogLevel_Warning: root::mozilla::LogLevel = 2;
7365         pub const LogLevel_Info: root::mozilla::LogLevel = 3;
7366         pub const LogLevel_Debug: root::mozilla::LogLevel = 4;
7367         pub const LogLevel_Verbose: root::mozilla::LogLevel = 5;
7368         pub type LogLevel = i32;
7369         #[repr(C)]
7370         #[derive(Debug)]
7371         pub struct LogModule {
7372             pub mName: *mut ::std::os::raw::c_char,
7373             pub mLevel: u32,
7374         }
7375         #[test]
bindgen_test_layout_LogModule()7376         fn bindgen_test_layout_LogModule() {
7377             assert_eq!(
7378                 ::std::mem::size_of::<LogModule>(),
7379                 16usize,
7380                 concat!("Size of: ", stringify!(LogModule))
7381             );
7382             assert_eq!(
7383                 ::std::mem::align_of::<LogModule>(),
7384                 8usize,
7385                 concat!("Alignment of ", stringify!(LogModule))
7386             );
7387             assert_eq!(
7388                 unsafe { &(*(::std::ptr::null::<LogModule>())).mName as *const _ as usize },
7389                 0usize,
7390                 concat!(
7391                     "Offset of field: ",
7392                     stringify!(LogModule),
7393                     "::",
7394                     stringify!(mName)
7395                 )
7396             );
7397             assert_eq!(
7398                 unsafe { &(*(::std::ptr::null::<LogModule>())).mLevel as *const _ as usize },
7399                 8usize,
7400                 concat!(
7401                     "Offset of field: ",
7402                     stringify!(LogModule),
7403                     "::",
7404                     stringify!(mLevel)
7405                 )
7406             );
7407         }
7408         /// Helper class that lazy loads the given log module. This is safe to use for
7409         /// declaring static references to log modules and can be used as a replacement
7410         /// for accessing a LogModule directly.
7411         ///
7412         /// Example usage:
7413         /// static LazyLogModule sLayoutLog("layout");
7414         ///
7415         /// void Foo() {
7416         /// MOZ_LOG(sLayoutLog, LogLevel::Verbose, ("Entering foo"));
7417         /// }
7418         #[repr(C)]
7419         #[derive(Debug, Copy)]
7420         pub struct LazyLogModule {
7421             pub mLogName: *const ::std::os::raw::c_char,
7422             pub mLog: u64,
7423         }
7424         #[test]
bindgen_test_layout_LazyLogModule()7425         fn bindgen_test_layout_LazyLogModule() {
7426             assert_eq!(
7427                 ::std::mem::size_of::<LazyLogModule>(),
7428                 16usize,
7429                 concat!("Size of: ", stringify!(LazyLogModule))
7430             );
7431             assert_eq!(
7432                 ::std::mem::align_of::<LazyLogModule>(),
7433                 8usize,
7434                 concat!("Alignment of ", stringify!(LazyLogModule))
7435             );
7436             assert_eq!(
7437                 unsafe { &(*(::std::ptr::null::<LazyLogModule>())).mLogName as *const _ as usize },
7438                 0usize,
7439                 concat!(
7440                     "Offset of field: ",
7441                     stringify!(LazyLogModule),
7442                     "::",
7443                     stringify!(mLogName)
7444                 )
7445             );
7446             assert_eq!(
7447                 unsafe { &(*(::std::ptr::null::<LazyLogModule>())).mLog as *const _ as usize },
7448                 8usize,
7449                 concat!(
7450                     "Offset of field: ",
7451                     stringify!(LazyLogModule),
7452                     "::",
7453                     stringify!(mLog)
7454                 )
7455             );
7456         }
7457         impl Clone for LazyLogModule {
clone(&self) -> Self7458             fn clone(&self) -> Self {
7459                 *self
7460             }
7461         }
7462         #[repr(C)]
7463         #[derive(Debug)]
7464         pub struct Runnable {
7465             pub _base: root::nsIRunnable,
7466             pub _base_1: root::nsINamed,
7467             pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
7468             pub mName: *const ::std::os::raw::c_char,
7469         }
7470         pub type Runnable_HasThreadSafeRefCnt = root::mozilla::TrueType;
7471         #[test]
bindgen_test_layout_Runnable()7472         fn bindgen_test_layout_Runnable() {
7473             assert_eq!(
7474                 ::std::mem::size_of::<Runnable>(),
7475                 32usize,
7476                 concat!("Size of: ", stringify!(Runnable))
7477             );
7478             assert_eq!(
7479                 ::std::mem::align_of::<Runnable>(),
7480                 8usize,
7481                 concat!("Alignment of ", stringify!(Runnable))
7482             );
7483         }
7484         #[repr(C)]
7485         #[derive(Debug)]
7486         pub struct CancelableRunnable {
7487             pub _base: root::mozilla::Runnable,
7488             pub _base_1: root::nsICancelableRunnable,
7489         }
7490         #[test]
bindgen_test_layout_CancelableRunnable()7491         fn bindgen_test_layout_CancelableRunnable() {
7492             assert_eq!(
7493                 ::std::mem::size_of::<CancelableRunnable>(),
7494                 40usize,
7495                 concat!("Size of: ", stringify!(CancelableRunnable))
7496             );
7497             assert_eq!(
7498                 ::std::mem::align_of::<CancelableRunnable>(),
7499                 8usize,
7500                 concat!("Alignment of ", stringify!(CancelableRunnable))
7501             );
7502         }
7503         #[repr(C)]
7504         #[derive(Debug, Copy, Clone)]
7505         pub struct SegmentedVector_SegmentImpl_Storage {
7506             pub mBuf: root::__BindgenUnionField<*mut ::std::os::raw::c_char>,
7507             pub mAlign: root::__BindgenUnionField<u8>,
7508             pub bindgen_union_field: u64,
7509         }
7510         pub type SegmentedVector_Segment = u8;
7511         #[repr(C)]
7512         #[derive(Debug, Copy, Clone)]
7513         pub struct SegmentedVector_IterImpl {
7514             pub mSegment: *mut root::mozilla::SegmentedVector_Segment,
7515             pub mIndex: usize,
7516         }
7517         pub type ComputedKeyframeValues =
7518             root::nsTArray<root::mozilla::PropertyStyleAnimationValuePair>;
7519         #[test]
__bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation()7520         fn __bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation() {
7521             assert_eq!(
7522                 ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
7523                 1usize,
7524                 concat!(
7525                     "Size of template specialization: ",
7526                     stringify!(root::mozilla::DefaultDelete)
7527                 )
7528             );
7529             assert_eq!(
7530                 ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
7531                 1usize,
7532                 concat!(
7533                     "Alignment of template specialization: ",
7534                     stringify!(root::mozilla::DefaultDelete)
7535                 )
7536             );
7537         }
7538         #[test]
__bindgen_test_layout_DefaultDelete_open0_RawServoAuthorStyles_close0_instantiation()7539         fn __bindgen_test_layout_DefaultDelete_open0_RawServoAuthorStyles_close0_instantiation() {
7540             assert_eq!(
7541                 ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
7542                 1usize,
7543                 concat!(
7544                     "Size of template specialization: ",
7545                     stringify!(root::mozilla::DefaultDelete)
7546                 )
7547             );
7548             assert_eq!(
7549                 ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
7550                 1usize,
7551                 concat!(
7552                     "Alignment of template specialization: ",
7553                     stringify!(root::mozilla::DefaultDelete)
7554                 )
7555             );
7556         }
7557         #[test]
__bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation()7558         fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation() {
7559             assert_eq!(
7560                 ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
7561                 1usize,
7562                 concat!(
7563                     "Size of template specialization: ",
7564                     stringify!(root::mozilla::DefaultDelete)
7565                 )
7566             );
7567             assert_eq!(
7568                 ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
7569                 1usize,
7570                 concat!(
7571                     "Alignment of template specialization: ",
7572                     stringify!(root::mozilla::DefaultDelete)
7573                 )
7574             );
7575         }
7576         #[test]
__bindgen_test_layout_DefaultDelete_open0_RawServoSourceSizeList_close0_instantiation()7577         fn __bindgen_test_layout_DefaultDelete_open0_RawServoSourceSizeList_close0_instantiation() {
7578             assert_eq!(
7579                 ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
7580                 1usize,
7581                 concat!(
7582                     "Size of template specialization: ",
7583                     stringify!(root::mozilla::DefaultDelete)
7584                 )
7585             );
7586             assert_eq!(
7587                 ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
7588                 1usize,
7589                 concat!(
7590                     "Alignment of template specialization: ",
7591                     stringify!(root::mozilla::DefaultDelete)
7592                 )
7593             );
7594         }
7595         #[repr(C)]
7596         #[derive(Debug)]
7597         pub struct ScrollbarStyles {
7598             pub mHorizontal: u8,
7599             pub mVertical: u8,
7600             pub mScrollBehavior: u8,
7601             pub mOverscrollBehaviorX: root::mozilla::StyleOverscrollBehavior,
7602             pub mOverscrollBehaviorY: root::mozilla::StyleOverscrollBehavior,
7603             pub mScrollSnapTypeX: u8,
7604             pub mScrollSnapTypeY: u8,
7605             pub mScrollSnapPointsX: root::nsStyleCoord,
7606             pub mScrollSnapPointsY: root::nsStyleCoord,
7607             pub mScrollSnapDestinationX: root::nsStyleCoord_CalcValue,
7608             pub mScrollSnapDestinationY: root::nsStyleCoord_CalcValue,
7609         }
7610         #[test]
bindgen_test_layout_ScrollbarStyles()7611         fn bindgen_test_layout_ScrollbarStyles() {
7612             assert_eq!(
7613                 ::std::mem::size_of::<ScrollbarStyles>(),
7614                 64usize,
7615                 concat!("Size of: ", stringify!(ScrollbarStyles))
7616             );
7617             assert_eq!(
7618                 ::std::mem::align_of::<ScrollbarStyles>(),
7619                 8usize,
7620                 concat!("Alignment of ", stringify!(ScrollbarStyles))
7621             );
7622             assert_eq!(
7623                 unsafe {
7624                     &(*(::std::ptr::null::<ScrollbarStyles>())).mHorizontal as *const _ as usize
7625                 },
7626                 0usize,
7627                 concat!(
7628                     "Offset of field: ",
7629                     stringify!(ScrollbarStyles),
7630                     "::",
7631                     stringify!(mHorizontal)
7632                 )
7633             );
7634             assert_eq!(
7635                 unsafe {
7636                     &(*(::std::ptr::null::<ScrollbarStyles>())).mVertical as *const _ as usize
7637                 },
7638                 1usize,
7639                 concat!(
7640                     "Offset of field: ",
7641                     stringify!(ScrollbarStyles),
7642                     "::",
7643                     stringify!(mVertical)
7644                 )
7645             );
7646             assert_eq!(
7647                 unsafe {
7648                     &(*(::std::ptr::null::<ScrollbarStyles>())).mScrollBehavior as *const _ as usize
7649                 },
7650                 2usize,
7651                 concat!(
7652                     "Offset of field: ",
7653                     stringify!(ScrollbarStyles),
7654                     "::",
7655                     stringify!(mScrollBehavior)
7656                 )
7657             );
7658             assert_eq!(
7659                 unsafe {
7660                     &(*(::std::ptr::null::<ScrollbarStyles>())).mOverscrollBehaviorX as *const _
7661                         as usize
7662                 },
7663                 3usize,
7664                 concat!(
7665                     "Offset of field: ",
7666                     stringify!(ScrollbarStyles),
7667                     "::",
7668                     stringify!(mOverscrollBehaviorX)
7669                 )
7670             );
7671             assert_eq!(
7672                 unsafe {
7673                     &(*(::std::ptr::null::<ScrollbarStyles>())).mOverscrollBehaviorY as *const _
7674                         as usize
7675                 },
7676                 4usize,
7677                 concat!(
7678                     "Offset of field: ",
7679                     stringify!(ScrollbarStyles),
7680                     "::",
7681                     stringify!(mOverscrollBehaviorY)
7682                 )
7683             );
7684             assert_eq!(
7685                 unsafe {
7686                     &(*(::std::ptr::null::<ScrollbarStyles>())).mScrollSnapTypeX as *const _
7687                         as usize
7688                 },
7689                 5usize,
7690                 concat!(
7691                     "Offset of field: ",
7692                     stringify!(ScrollbarStyles),
7693                     "::",
7694                     stringify!(mScrollSnapTypeX)
7695                 )
7696             );
7697             assert_eq!(
7698                 unsafe {
7699                     &(*(::std::ptr::null::<ScrollbarStyles>())).mScrollSnapTypeY as *const _
7700                         as usize
7701                 },
7702                 6usize,
7703                 concat!(
7704                     "Offset of field: ",
7705                     stringify!(ScrollbarStyles),
7706                     "::",
7707                     stringify!(mScrollSnapTypeY)
7708                 )
7709             );
7710             assert_eq!(
7711                 unsafe {
7712                     &(*(::std::ptr::null::<ScrollbarStyles>())).mScrollSnapPointsX as *const _
7713                         as usize
7714                 },
7715                 8usize,
7716                 concat!(
7717                     "Offset of field: ",
7718                     stringify!(ScrollbarStyles),
7719                     "::",
7720                     stringify!(mScrollSnapPointsX)
7721                 )
7722             );
7723             assert_eq!(
7724                 unsafe {
7725                     &(*(::std::ptr::null::<ScrollbarStyles>())).mScrollSnapPointsY as *const _
7726                         as usize
7727                 },
7728                 24usize,
7729                 concat!(
7730                     "Offset of field: ",
7731                     stringify!(ScrollbarStyles),
7732                     "::",
7733                     stringify!(mScrollSnapPointsY)
7734                 )
7735             );
7736             assert_eq!(
7737                 unsafe {
7738                     &(*(::std::ptr::null::<ScrollbarStyles>())).mScrollSnapDestinationX as *const _
7739                         as usize
7740                 },
7741                 40usize,
7742                 concat!(
7743                     "Offset of field: ",
7744                     stringify!(ScrollbarStyles),
7745                     "::",
7746                     stringify!(mScrollSnapDestinationX)
7747                 )
7748             );
7749             assert_eq!(
7750                 unsafe {
7751                     &(*(::std::ptr::null::<ScrollbarStyles>())).mScrollSnapDestinationY as *const _
7752                         as usize
7753                 },
7754                 52usize,
7755                 concat!(
7756                     "Offset of field: ",
7757                     stringify!(ScrollbarStyles),
7758                     "::",
7759                     stringify!(mScrollSnapDestinationY)
7760                 )
7761             );
7762         }
7763         #[repr(C)]
7764         pub struct LangGroupFontPrefs {
7765             pub mLangGroup: root::RefPtr<root::nsAtom>,
7766             pub mMinimumFontSize: root::nscoord,
7767             pub mDefaultVariableFont: root::nsFont,
7768             pub mDefaultFixedFont: root::nsFont,
7769             pub mDefaultSerifFont: root::nsFont,
7770             pub mDefaultSansSerifFont: root::nsFont,
7771             pub mDefaultMonospaceFont: root::nsFont,
7772             pub mDefaultCursiveFont: root::nsFont,
7773             pub mDefaultFantasyFont: root::nsFont,
7774             pub mNext: root::nsAutoPtr<root::mozilla::LangGroupFontPrefs>,
7775         }
7776         #[test]
bindgen_test_layout_LangGroupFontPrefs()7777         fn bindgen_test_layout_LangGroupFontPrefs() {
7778             assert_eq!(
7779                 ::std::mem::size_of::<LangGroupFontPrefs>(),
7780                 696usize,
7781                 concat!("Size of: ", stringify!(LangGroupFontPrefs))
7782             );
7783             assert_eq!(
7784                 ::std::mem::align_of::<LangGroupFontPrefs>(),
7785                 8usize,
7786                 concat!("Alignment of ", stringify!(LangGroupFontPrefs))
7787             );
7788             assert_eq!(
7789                 unsafe {
7790                     &(*(::std::ptr::null::<LangGroupFontPrefs>())).mLangGroup as *const _ as usize
7791                 },
7792                 0usize,
7793                 concat!(
7794                     "Offset of field: ",
7795                     stringify!(LangGroupFontPrefs),
7796                     "::",
7797                     stringify!(mLangGroup)
7798                 )
7799             );
7800             assert_eq!(
7801                 unsafe {
7802                     &(*(::std::ptr::null::<LangGroupFontPrefs>())).mMinimumFontSize as *const _
7803                         as usize
7804                 },
7805                 8usize,
7806                 concat!(
7807                     "Offset of field: ",
7808                     stringify!(LangGroupFontPrefs),
7809                     "::",
7810                     stringify!(mMinimumFontSize)
7811                 )
7812             );
7813             assert_eq!(
7814                 unsafe {
7815                     &(*(::std::ptr::null::<LangGroupFontPrefs>())).mDefaultVariableFont as *const _
7816                         as usize
7817                 },
7818                 16usize,
7819                 concat!(
7820                     "Offset of field: ",
7821                     stringify!(LangGroupFontPrefs),
7822                     "::",
7823                     stringify!(mDefaultVariableFont)
7824                 )
7825             );
7826             assert_eq!(
7827                 unsafe {
7828                     &(*(::std::ptr::null::<LangGroupFontPrefs>())).mDefaultFixedFont as *const _
7829                         as usize
7830                 },
7831                 112usize,
7832                 concat!(
7833                     "Offset of field: ",
7834                     stringify!(LangGroupFontPrefs),
7835                     "::",
7836                     stringify!(mDefaultFixedFont)
7837                 )
7838             );
7839             assert_eq!(
7840                 unsafe {
7841                     &(*(::std::ptr::null::<LangGroupFontPrefs>())).mDefaultSerifFont as *const _
7842                         as usize
7843                 },
7844                 208usize,
7845                 concat!(
7846                     "Offset of field: ",
7847                     stringify!(LangGroupFontPrefs),
7848                     "::",
7849                     stringify!(mDefaultSerifFont)
7850                 )
7851             );
7852             assert_eq!(
7853                 unsafe {
7854                     &(*(::std::ptr::null::<LangGroupFontPrefs>())).mDefaultSansSerifFont as *const _
7855                         as usize
7856                 },
7857                 304usize,
7858                 concat!(
7859                     "Offset of field: ",
7860                     stringify!(LangGroupFontPrefs),
7861                     "::",
7862                     stringify!(mDefaultSansSerifFont)
7863                 )
7864             );
7865             assert_eq!(
7866                 unsafe {
7867                     &(*(::std::ptr::null::<LangGroupFontPrefs>())).mDefaultMonospaceFont as *const _
7868                         as usize
7869                 },
7870                 400usize,
7871                 concat!(
7872                     "Offset of field: ",
7873                     stringify!(LangGroupFontPrefs),
7874                     "::",
7875                     stringify!(mDefaultMonospaceFont)
7876                 )
7877             );
7878             assert_eq!(
7879                 unsafe {
7880                     &(*(::std::ptr::null::<LangGroupFontPrefs>())).mDefaultCursiveFont as *const _
7881                         as usize
7882                 },
7883                 496usize,
7884                 concat!(
7885                     "Offset of field: ",
7886                     stringify!(LangGroupFontPrefs),
7887                     "::",
7888                     stringify!(mDefaultCursiveFont)
7889                 )
7890             );
7891             assert_eq!(
7892                 unsafe {
7893                     &(*(::std::ptr::null::<LangGroupFontPrefs>())).mDefaultFantasyFont as *const _
7894                         as usize
7895                 },
7896                 592usize,
7897                 concat!(
7898                     "Offset of field: ",
7899                     stringify!(LangGroupFontPrefs),
7900                     "::",
7901                     stringify!(mDefaultFantasyFont)
7902                 )
7903             );
7904             assert_eq!(
7905                 unsafe {
7906                     &(*(::std::ptr::null::<LangGroupFontPrefs>())).mNext as *const _ as usize
7907                 },
7908                 688usize,
7909                 concat!(
7910                     "Offset of field: ",
7911                     stringify!(LangGroupFontPrefs),
7912                     "::",
7913                     stringify!(mNext)
7914                 )
7915             );
7916         }
7917         /// Some functionality that has historically lived on nsPresContext does not
7918         /// actually need to be per-document. This singleton class serves as a host
7919         /// for that functionality. We delegate to it from nsPresContext where
7920         /// appropriate, and use it standalone in some cases as well.
7921         #[repr(C)]
7922         pub struct StaticPresData {
7923             pub mLangService: *mut root::nsLanguageAtomService,
7924             pub mBorderWidthTable: [root::nscoord; 3usize],
7925             pub mStaticLangGroupFontPrefs: root::mozilla::LangGroupFontPrefs,
7926         }
7927         #[test]
bindgen_test_layout_StaticPresData()7928         fn bindgen_test_layout_StaticPresData() {
7929             assert_eq!(
7930                 ::std::mem::size_of::<StaticPresData>(),
7931                 720usize,
7932                 concat!("Size of: ", stringify!(StaticPresData))
7933             );
7934             assert_eq!(
7935                 ::std::mem::align_of::<StaticPresData>(),
7936                 8usize,
7937                 concat!("Alignment of ", stringify!(StaticPresData))
7938             );
7939             assert_eq!(
7940                 unsafe {
7941                     &(*(::std::ptr::null::<StaticPresData>())).mLangService as *const _ as usize
7942                 },
7943                 0usize,
7944                 concat!(
7945                     "Offset of field: ",
7946                     stringify!(StaticPresData),
7947                     "::",
7948                     stringify!(mLangService)
7949                 )
7950             );
7951             assert_eq!(
7952                 unsafe {
7953                     &(*(::std::ptr::null::<StaticPresData>())).mBorderWidthTable as *const _
7954                         as usize
7955                 },
7956                 8usize,
7957                 concat!(
7958                     "Offset of field: ",
7959                     stringify!(StaticPresData),
7960                     "::",
7961                     stringify!(mBorderWidthTable)
7962                 )
7963             );
7964             assert_eq!(
7965                 unsafe {
7966                     &(*(::std::ptr::null::<StaticPresData>())).mStaticLangGroupFontPrefs as *const _
7967                         as usize
7968                 },
7969                 24usize,
7970                 concat!(
7971                     "Offset of field: ",
7972                     stringify!(StaticPresData),
7973                     "::",
7974                     stringify!(mStaticLangGroupFontPrefs)
7975                 )
7976             );
7977         }
7978         #[repr(C)]
7979         #[derive(Debug, Copy)]
7980         pub struct AnimationEventDispatcher {
7981             _unused: [u8; 0],
7982         }
7983         impl Clone for AnimationEventDispatcher {
clone(&self) -> Self7984             fn clone(&self) -> Self {
7985                 *self
7986             }
7987         }
7988         #[repr(C)]
7989         #[derive(Debug, Copy)]
7990         pub struct EventStateManager {
7991             _unused: [u8; 0],
7992         }
7993         impl Clone for EventStateManager {
clone(&self) -> Self7994             fn clone(&self) -> Self {
7995                 *self
7996             }
7997         }
7998         #[repr(C)]
7999         #[derive(Debug, Copy)]
8000         pub struct RestyleManager {
8001             _unused: [u8; 0],
8002         }
8003         impl Clone for RestyleManager {
clone(&self) -> Self8004             fn clone(&self) -> Self {
8005                 *self
8006             }
8007         }
8008         #[repr(C)]
8009         #[derive(Debug)]
8010         pub struct URLExtraData {
8011             pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
8012             pub mBaseURI: root::nsCOMPtr,
8013             pub mReferrer: root::nsCOMPtr,
8014             pub mPrincipal: root::nsCOMPtr,
8015             pub mIsChrome: bool,
8016         }
8017         pub type URLExtraData_HasThreadSafeRefCnt = root::mozilla::TrueType;
8018         extern "C" {
8019             #[link_name = "\u{1}_ZN7mozilla12URLExtraData6sDummyE"]
8020             pub static mut URLExtraData_sDummy:
8021                 root::mozilla::StaticRefPtr<root::mozilla::URLExtraData>;
8022         }
8023         #[test]
bindgen_test_layout_URLExtraData()8024         fn bindgen_test_layout_URLExtraData() {
8025             assert_eq!(
8026                 ::std::mem::size_of::<URLExtraData>(),
8027                 40usize,
8028                 concat!("Size of: ", stringify!(URLExtraData))
8029             );
8030             assert_eq!(
8031                 ::std::mem::align_of::<URLExtraData>(),
8032                 8usize,
8033                 concat!("Alignment of ", stringify!(URLExtraData))
8034             );
8035             assert_eq!(
8036                 unsafe { &(*(::std::ptr::null::<URLExtraData>())).mRefCnt as *const _ as usize },
8037                 0usize,
8038                 concat!(
8039                     "Offset of field: ",
8040                     stringify!(URLExtraData),
8041                     "::",
8042                     stringify!(mRefCnt)
8043                 )
8044             );
8045             assert_eq!(
8046                 unsafe { &(*(::std::ptr::null::<URLExtraData>())).mBaseURI as *const _ as usize },
8047                 8usize,
8048                 concat!(
8049                     "Offset of field: ",
8050                     stringify!(URLExtraData),
8051                     "::",
8052                     stringify!(mBaseURI)
8053                 )
8054             );
8055             assert_eq!(
8056                 unsafe { &(*(::std::ptr::null::<URLExtraData>())).mReferrer as *const _ as usize },
8057                 16usize,
8058                 concat!(
8059                     "Offset of field: ",
8060                     stringify!(URLExtraData),
8061                     "::",
8062                     stringify!(mReferrer)
8063                 )
8064             );
8065             assert_eq!(
8066                 unsafe { &(*(::std::ptr::null::<URLExtraData>())).mPrincipal as *const _ as usize },
8067                 24usize,
8068                 concat!(
8069                     "Offset of field: ",
8070                     stringify!(URLExtraData),
8071                     "::",
8072                     stringify!(mPrincipal)
8073                 )
8074             );
8075             assert_eq!(
8076                 unsafe { &(*(::std::ptr::null::<URLExtraData>())).mIsChrome as *const _ as usize },
8077                 32usize,
8078                 concat!(
8079                     "Offset of field: ",
8080                     stringify!(URLExtraData),
8081                     "::",
8082                     stringify!(mIsChrome)
8083                 )
8084             );
8085         }
8086         #[test]
__bindgen_test_layout_StaticRefPtr_open0_URLExtraData_close0_instantiation()8087         fn __bindgen_test_layout_StaticRefPtr_open0_URLExtraData_close0_instantiation() {
8088             assert_eq!(
8089                 ::std::mem::size_of::<root::mozilla::StaticRefPtr<root::mozilla::URLExtraData>>(),
8090                 8usize,
8091                 concat!(
8092                     "Size of template specialization: ",
8093                     stringify!(root::mozilla::StaticRefPtr<root::mozilla::URLExtraData>)
8094                 )
8095             );
8096             assert_eq!(
8097                 ::std::mem::align_of::<root::mozilla::StaticRefPtr<root::mozilla::URLExtraData>>(),
8098                 8usize,
8099                 concat!(
8100                     "Alignment of template specialization: ",
8101                     stringify!(root::mozilla::StaticRefPtr<root::mozilla::URLExtraData>)
8102                 )
8103             );
8104         }
8105         /// BlockingResourceBase
8106         /// Base class of resources that might block clients trying to acquire them.
8107         /// Does debugging and deadlock detection in DEBUG builds.
8108         #[repr(C)]
8109         #[derive(Debug)]
8110         pub struct BlockingResourceBase {
8111             pub _address: u8,
8112         }
8113         pub const BlockingResourceBase_BlockingResourceType_eMutex:
8114             root::mozilla::BlockingResourceBase_BlockingResourceType = 0;
8115         pub const BlockingResourceBase_BlockingResourceType_eReentrantMonitor:
8116             root::mozilla::BlockingResourceBase_BlockingResourceType = 1;
8117         pub const BlockingResourceBase_BlockingResourceType_eCondVar:
8118             root::mozilla::BlockingResourceBase_BlockingResourceType = 2;
8119         pub const BlockingResourceBase_BlockingResourceType_eRecursiveMutex:
8120             root::mozilla::BlockingResourceBase_BlockingResourceType = 3;
8121         pub type BlockingResourceBase_BlockingResourceType = u32;
8122         extern "C" {
8123             #[link_name = "\u{1}_ZN7mozilla20BlockingResourceBase17kResourceTypeNameE"]
8124             pub static mut BlockingResourceBase_kResourceTypeName:
8125                 [*const ::std::os::raw::c_char; 0usize];
8126         }
8127         #[test]
bindgen_test_layout_BlockingResourceBase()8128         fn bindgen_test_layout_BlockingResourceBase() {
8129             assert_eq!(
8130                 ::std::mem::size_of::<BlockingResourceBase>(),
8131                 1usize,
8132                 concat!("Size of: ", stringify!(BlockingResourceBase))
8133             );
8134             assert_eq!(
8135                 ::std::mem::align_of::<BlockingResourceBase>(),
8136                 1usize,
8137                 concat!("Alignment of ", stringify!(BlockingResourceBase))
8138             );
8139         }
8140         /// OffTheBooksMutex is identical to Mutex, except that OffTheBooksMutex doesn't
8141         /// include leak checking.  Sometimes you want to intentionally "leak" a mutex
8142         /// until shutdown; in these cases, OffTheBooksMutex is for you.
8143         #[repr(C)]
8144         #[derive(Debug)]
8145         pub struct OffTheBooksMutex {
8146             pub _base: root::mozilla::detail::MutexImpl,
8147         }
8148         #[test]
bindgen_test_layout_OffTheBooksMutex()8149         fn bindgen_test_layout_OffTheBooksMutex() {
8150             assert_eq!(
8151                 ::std::mem::size_of::<OffTheBooksMutex>(),
8152                 40usize,
8153                 concat!("Size of: ", stringify!(OffTheBooksMutex))
8154             );
8155             assert_eq!(
8156                 ::std::mem::align_of::<OffTheBooksMutex>(),
8157                 8usize,
8158                 concat!("Alignment of ", stringify!(OffTheBooksMutex))
8159             );
8160         }
8161         /// Mutex
8162         /// When possible, use MutexAutoLock/MutexAutoUnlock to lock/unlock this
8163         /// mutex within a scope, instead of calling Lock/Unlock directly.
8164         #[repr(C)]
8165         #[derive(Debug)]
8166         pub struct Mutex {
8167             pub _base: root::mozilla::OffTheBooksMutex,
8168         }
8169         #[test]
bindgen_test_layout_Mutex()8170         fn bindgen_test_layout_Mutex() {
8171             assert_eq!(
8172                 ::std::mem::size_of::<Mutex>(),
8173                 40usize,
8174                 concat!("Size of: ", stringify!(Mutex))
8175             );
8176             assert_eq!(
8177                 ::std::mem::align_of::<Mutex>(),
8178                 8usize,
8179                 concat!("Alignment of ", stringify!(Mutex))
8180             );
8181         }
8182         pub mod image {
8183             #[allow(unused_imports)]
8184             use self::super::super::super::root;
8185             #[repr(C)]
8186             #[derive(Debug, Copy)]
8187             pub struct ImageURL {
8188                 _unused: [u8; 0],
8189             }
8190             impl Clone for ImageURL {
clone(&self) -> Self8191                 fn clone(&self) -> Self {
8192                     *self
8193                 }
8194             }
8195             #[repr(C)]
8196             #[derive(Debug, Copy)]
8197             pub struct Image {
8198                 _unused: [u8; 0],
8199             }
8200             impl Clone for Image {
clone(&self) -> Self8201                 fn clone(&self) -> Self {
8202                     *self
8203                 }
8204             }
8205             #[repr(C)]
8206             #[derive(Debug, Copy)]
8207             pub struct ProgressTracker {
8208                 _unused: [u8; 0],
8209             }
8210             impl Clone for ProgressTracker {
clone(&self) -> Self8211                 fn clone(&self) -> Self {
8212                     *self
8213                 }
8214             }
8215             #[repr(C)]
8216             pub struct IProgressObserver__bindgen_vtable(::std::os::raw::c_void);
8217             /// An interface for observing changes to image state, as reported by
8218             /// ProgressTracker.
8219             ///
8220             /// This is the ImageLib-internal version of imgINotificationObserver,
8221             /// essentially, with implementation details that code outside of ImageLib
8222             /// shouldn't see.
8223             ///
8224             /// XXX(seth): It's preferable to avoid adding anything to this interface if
8225             /// possible.  In the long term, it would be ideal to get to a place where we can
8226             /// just use the imgINotificationObserver interface internally as well.
8227             #[repr(C)]
8228             #[derive(Debug)]
8229             pub struct IProgressObserver {
8230                 pub vtable_: *const IProgressObserver__bindgen_vtable,
8231                 pub _base: u64,
8232             }
8233             #[test]
bindgen_test_layout_IProgressObserver()8234             fn bindgen_test_layout_IProgressObserver() {
8235                 assert_eq!(
8236                     ::std::mem::size_of::<IProgressObserver>(),
8237                     16usize,
8238                     concat!("Size of: ", stringify!(IProgressObserver))
8239                 );
8240                 assert_eq!(
8241                     ::std::mem::align_of::<IProgressObserver>(),
8242                     8usize,
8243                     concat!("Alignment of ", stringify!(IProgressObserver))
8244                 );
8245             }
8246         }
8247         #[repr(C)]
8248         pub struct CounterStyle__bindgen_vtable(::std::os::raw::c_void);
8249         #[repr(C)]
8250         #[derive(Debug, Copy)]
8251         pub struct CounterStyle {
8252             pub vtable_: *const CounterStyle__bindgen_vtable,
8253             pub mStyle: i32,
8254         }
8255         #[test]
bindgen_test_layout_CounterStyle()8256         fn bindgen_test_layout_CounterStyle() {
8257             assert_eq!(
8258                 ::std::mem::size_of::<CounterStyle>(),
8259                 16usize,
8260                 concat!("Size of: ", stringify!(CounterStyle))
8261             );
8262             assert_eq!(
8263                 ::std::mem::align_of::<CounterStyle>(),
8264                 8usize,
8265                 concat!("Alignment of ", stringify!(CounterStyle))
8266             );
8267             assert_eq!(
8268                 unsafe { &(*(::std::ptr::null::<CounterStyle>())).mStyle as *const _ as usize },
8269                 8usize,
8270                 concat!(
8271                     "Offset of field: ",
8272                     stringify!(CounterStyle),
8273                     "::",
8274                     stringify!(mStyle)
8275                 )
8276             );
8277         }
8278         impl Clone for CounterStyle {
clone(&self) -> Self8279             fn clone(&self) -> Self {
8280                 *self
8281             }
8282         }
8283         #[repr(C)]
8284         pub struct AnonymousCounterStyle {
8285             pub _base: root::mozilla::CounterStyle,
8286             pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
8287             pub mSingleString: bool,
8288             pub mSystem: u8,
8289             pub mSymbols: root::nsTArray<::nsstring::nsStringRepr>,
8290         }
8291         pub type AnonymousCounterStyle_HasThreadSafeRefCnt = root::mozilla::TrueType;
8292         #[test]
bindgen_test_layout_AnonymousCounterStyle()8293         fn bindgen_test_layout_AnonymousCounterStyle() {
8294             assert_eq!(
8295                 ::std::mem::size_of::<AnonymousCounterStyle>(),
8296                 40usize,
8297                 concat!("Size of: ", stringify!(AnonymousCounterStyle))
8298             );
8299             assert_eq!(
8300                 ::std::mem::align_of::<AnonymousCounterStyle>(),
8301                 8usize,
8302                 concat!("Alignment of ", stringify!(AnonymousCounterStyle))
8303             );
8304             assert_eq!(
8305                 unsafe {
8306                     &(*(::std::ptr::null::<AnonymousCounterStyle>())).mRefCnt as *const _ as usize
8307                 },
8308                 16usize,
8309                 concat!(
8310                     "Offset of field: ",
8311                     stringify!(AnonymousCounterStyle),
8312                     "::",
8313                     stringify!(mRefCnt)
8314                 )
8315             );
8316             assert_eq!(
8317                 unsafe {
8318                     &(*(::std::ptr::null::<AnonymousCounterStyle>())).mSingleString as *const _
8319                         as usize
8320                 },
8321                 24usize,
8322                 concat!(
8323                     "Offset of field: ",
8324                     stringify!(AnonymousCounterStyle),
8325                     "::",
8326                     stringify!(mSingleString)
8327                 )
8328             );
8329             assert_eq!(
8330                 unsafe {
8331                     &(*(::std::ptr::null::<AnonymousCounterStyle>())).mSystem as *const _ as usize
8332                 },
8333                 25usize,
8334                 concat!(
8335                     "Offset of field: ",
8336                     stringify!(AnonymousCounterStyle),
8337                     "::",
8338                     stringify!(mSystem)
8339                 )
8340             );
8341             assert_eq!(
8342                 unsafe {
8343                     &(*(::std::ptr::null::<AnonymousCounterStyle>())).mSymbols as *const _ as usize
8344                 },
8345                 32usize,
8346                 concat!(
8347                     "Offset of field: ",
8348                     stringify!(AnonymousCounterStyle),
8349                     "::",
8350                     stringify!(mSymbols)
8351                 )
8352             );
8353         }
8354         #[repr(C)]
8355         #[derive(Debug)]
8356         pub struct CounterStylePtr {
8357             pub mRaw: usize,
8358         }
8359         pub const CounterStylePtr_Type_eCounterStyle: root::mozilla::CounterStylePtr_Type = 0;
8360         pub const CounterStylePtr_Type_eAnonymousCounterStyle: root::mozilla::CounterStylePtr_Type =
8361             1;
8362         pub const CounterStylePtr_Type_eUnresolvedAtom: root::mozilla::CounterStylePtr_Type = 2;
8363         pub const CounterStylePtr_Type_eMask: root::mozilla::CounterStylePtr_Type = 3;
8364         pub type CounterStylePtr_Type = u64;
8365         #[test]
bindgen_test_layout_CounterStylePtr()8366         fn bindgen_test_layout_CounterStylePtr() {
8367             assert_eq!(
8368                 ::std::mem::size_of::<CounterStylePtr>(),
8369                 8usize,
8370                 concat!("Size of: ", stringify!(CounterStylePtr))
8371             );
8372             assert_eq!(
8373                 ::std::mem::align_of::<CounterStylePtr>(),
8374                 8usize,
8375                 concat!("Alignment of ", stringify!(CounterStylePtr))
8376             );
8377             assert_eq!(
8378                 unsafe { &(*(::std::ptr::null::<CounterStylePtr>())).mRaw as *const _ as usize },
8379                 0usize,
8380                 concat!(
8381                     "Offset of field: ",
8382                     stringify!(CounterStylePtr),
8383                     "::",
8384                     stringify!(mRaw)
8385                 )
8386             );
8387         }
8388         #[repr(C)]
8389         #[derive(Debug)]
8390         pub struct CounterStyleManager {
8391             pub mRefCnt: root::nsAutoRefCnt,
8392             pub mPresContext: *mut root::nsPresContext,
8393             pub mStyles: [u64; 4usize],
8394             pub mRetiredStyles: root::nsTArray<*mut root::mozilla::CounterStyle>,
8395         }
8396         pub type CounterStyleManager_HasThreadSafeRefCnt = root::mozilla::FalseType;
8397         #[test]
bindgen_test_layout_CounterStyleManager()8398         fn bindgen_test_layout_CounterStyleManager() {
8399             assert_eq!(
8400                 ::std::mem::size_of::<CounterStyleManager>(),
8401                 56usize,
8402                 concat!("Size of: ", stringify!(CounterStyleManager))
8403             );
8404             assert_eq!(
8405                 ::std::mem::align_of::<CounterStyleManager>(),
8406                 8usize,
8407                 concat!("Alignment of ", stringify!(CounterStyleManager))
8408             );
8409             assert_eq!(
8410                 unsafe {
8411                     &(*(::std::ptr::null::<CounterStyleManager>())).mRefCnt as *const _ as usize
8412                 },
8413                 0usize,
8414                 concat!(
8415                     "Offset of field: ",
8416                     stringify!(CounterStyleManager),
8417                     "::",
8418                     stringify!(mRefCnt)
8419                 )
8420             );
8421             assert_eq!(
8422                 unsafe {
8423                     &(*(::std::ptr::null::<CounterStyleManager>())).mPresContext as *const _
8424                         as usize
8425                 },
8426                 8usize,
8427                 concat!(
8428                     "Offset of field: ",
8429                     stringify!(CounterStyleManager),
8430                     "::",
8431                     stringify!(mPresContext)
8432                 )
8433             );
8434             assert_eq!(
8435                 unsafe {
8436                     &(*(::std::ptr::null::<CounterStyleManager>())).mStyles as *const _ as usize
8437                 },
8438                 16usize,
8439                 concat!(
8440                     "Offset of field: ",
8441                     stringify!(CounterStyleManager),
8442                     "::",
8443                     stringify!(mStyles)
8444                 )
8445             );
8446             assert_eq!(
8447                 unsafe {
8448                     &(*(::std::ptr::null::<CounterStyleManager>())).mRetiredStyles as *const _
8449                         as usize
8450                 },
8451                 48usize,
8452                 concat!(
8453                     "Offset of field: ",
8454                     stringify!(CounterStyleManager),
8455                     "::",
8456                     stringify!(mRetiredStyles)
8457                 )
8458             );
8459         }
8460         #[repr(C)]
8461         #[derive(Debug, Copy)]
8462         pub struct Position {
8463             pub mXPosition: root::mozilla::Position_Coord,
8464             pub mYPosition: root::mozilla::Position_Coord,
8465         }
8466         pub type Position_Coord = root::nsStyleCoord_CalcValue;
8467         #[test]
bindgen_test_layout_Position()8468         fn bindgen_test_layout_Position() {
8469             assert_eq!(
8470                 ::std::mem::size_of::<Position>(),
8471                 24usize,
8472                 concat!("Size of: ", stringify!(Position))
8473             );
8474             assert_eq!(
8475                 ::std::mem::align_of::<Position>(),
8476                 4usize,
8477                 concat!("Alignment of ", stringify!(Position))
8478             );
8479             assert_eq!(
8480                 unsafe { &(*(::std::ptr::null::<Position>())).mXPosition as *const _ as usize },
8481                 0usize,
8482                 concat!(
8483                     "Offset of field: ",
8484                     stringify!(Position),
8485                     "::",
8486                     stringify!(mXPosition)
8487                 )
8488             );
8489             assert_eq!(
8490                 unsafe { &(*(::std::ptr::null::<Position>())).mYPosition as *const _ as usize },
8491                 12usize,
8492                 concat!(
8493                     "Offset of field: ",
8494                     stringify!(Position),
8495                     "::",
8496                     stringify!(mYPosition)
8497                 )
8498             );
8499         }
8500         impl Clone for Position {
clone(&self) -> Self8501             fn clone(&self) -> Self {
8502                 *self
8503             }
8504         }
8505         #[repr(C)]
8506         #[derive(Debug)]
8507         pub struct StyleTransition {
8508             pub mTimingFunction: root::nsTimingFunction,
8509             pub mDuration: f32,
8510             pub mDelay: f32,
8511             pub mProperty: root::nsCSSPropertyID,
8512             pub mUnknownProperty: root::RefPtr<root::nsAtom>,
8513         }
8514         #[test]
bindgen_test_layout_StyleTransition()8515         fn bindgen_test_layout_StyleTransition() {
8516             assert_eq!(
8517                 ::std::mem::size_of::<StyleTransition>(),
8518                 40usize,
8519                 concat!("Size of: ", stringify!(StyleTransition))
8520             );
8521             assert_eq!(
8522                 ::std::mem::align_of::<StyleTransition>(),
8523                 8usize,
8524                 concat!("Alignment of ", stringify!(StyleTransition))
8525             );
8526             assert_eq!(
8527                 unsafe {
8528                     &(*(::std::ptr::null::<StyleTransition>())).mTimingFunction as *const _ as usize
8529                 },
8530                 0usize,
8531                 concat!(
8532                     "Offset of field: ",
8533                     stringify!(StyleTransition),
8534                     "::",
8535                     stringify!(mTimingFunction)
8536                 )
8537             );
8538             assert_eq!(
8539                 unsafe {
8540                     &(*(::std::ptr::null::<StyleTransition>())).mDuration as *const _ as usize
8541                 },
8542                 20usize,
8543                 concat!(
8544                     "Offset of field: ",
8545                     stringify!(StyleTransition),
8546                     "::",
8547                     stringify!(mDuration)
8548                 )
8549             );
8550             assert_eq!(
8551                 unsafe { &(*(::std::ptr::null::<StyleTransition>())).mDelay as *const _ as usize },
8552                 24usize,
8553                 concat!(
8554                     "Offset of field: ",
8555                     stringify!(StyleTransition),
8556                     "::",
8557                     stringify!(mDelay)
8558                 )
8559             );
8560             assert_eq!(
8561                 unsafe {
8562                     &(*(::std::ptr::null::<StyleTransition>())).mProperty as *const _ as usize
8563                 },
8564                 28usize,
8565                 concat!(
8566                     "Offset of field: ",
8567                     stringify!(StyleTransition),
8568                     "::",
8569                     stringify!(mProperty)
8570                 )
8571             );
8572             assert_eq!(
8573                 unsafe {
8574                     &(*(::std::ptr::null::<StyleTransition>())).mUnknownProperty as *const _
8575                         as usize
8576                 },
8577                 32usize,
8578                 concat!(
8579                     "Offset of field: ",
8580                     stringify!(StyleTransition),
8581                     "::",
8582                     stringify!(mUnknownProperty)
8583                 )
8584             );
8585         }
8586         #[repr(C)]
8587         #[derive(Debug)]
8588         pub struct StyleAnimation {
8589             pub mTimingFunction: root::nsTimingFunction,
8590             pub mDuration: f32,
8591             pub mDelay: f32,
8592             pub mName: root::RefPtr<root::nsAtom>,
8593             pub mDirection: root::mozilla::dom::PlaybackDirection,
8594             pub mFillMode: root::mozilla::dom::FillMode,
8595             pub mPlayState: u8,
8596             pub mIterationCount: f32,
8597         }
8598         #[test]
bindgen_test_layout_StyleAnimation()8599         fn bindgen_test_layout_StyleAnimation() {
8600             assert_eq!(
8601                 ::std::mem::size_of::<StyleAnimation>(),
8602                 48usize,
8603                 concat!("Size of: ", stringify!(StyleAnimation))
8604             );
8605             assert_eq!(
8606                 ::std::mem::align_of::<StyleAnimation>(),
8607                 8usize,
8608                 concat!("Alignment of ", stringify!(StyleAnimation))
8609             );
8610             assert_eq!(
8611                 unsafe {
8612                     &(*(::std::ptr::null::<StyleAnimation>())).mTimingFunction as *const _ as usize
8613                 },
8614                 0usize,
8615                 concat!(
8616                     "Offset of field: ",
8617                     stringify!(StyleAnimation),
8618                     "::",
8619                     stringify!(mTimingFunction)
8620                 )
8621             );
8622             assert_eq!(
8623                 unsafe {
8624                     &(*(::std::ptr::null::<StyleAnimation>())).mDuration as *const _ as usize
8625                 },
8626                 20usize,
8627                 concat!(
8628                     "Offset of field: ",
8629                     stringify!(StyleAnimation),
8630                     "::",
8631                     stringify!(mDuration)
8632                 )
8633             );
8634             assert_eq!(
8635                 unsafe { &(*(::std::ptr::null::<StyleAnimation>())).mDelay as *const _ as usize },
8636                 24usize,
8637                 concat!(
8638                     "Offset of field: ",
8639                     stringify!(StyleAnimation),
8640                     "::",
8641                     stringify!(mDelay)
8642                 )
8643             );
8644             assert_eq!(
8645                 unsafe { &(*(::std::ptr::null::<StyleAnimation>())).mName as *const _ as usize },
8646                 32usize,
8647                 concat!(
8648                     "Offset of field: ",
8649                     stringify!(StyleAnimation),
8650                     "::",
8651                     stringify!(mName)
8652                 )
8653             );
8654             assert_eq!(
8655                 unsafe {
8656                     &(*(::std::ptr::null::<StyleAnimation>())).mDirection as *const _ as usize
8657                 },
8658                 40usize,
8659                 concat!(
8660                     "Offset of field: ",
8661                     stringify!(StyleAnimation),
8662                     "::",
8663                     stringify!(mDirection)
8664                 )
8665             );
8666             assert_eq!(
8667                 unsafe {
8668                     &(*(::std::ptr::null::<StyleAnimation>())).mFillMode as *const _ as usize
8669                 },
8670                 41usize,
8671                 concat!(
8672                     "Offset of field: ",
8673                     stringify!(StyleAnimation),
8674                     "::",
8675                     stringify!(mFillMode)
8676                 )
8677             );
8678             assert_eq!(
8679                 unsafe {
8680                     &(*(::std::ptr::null::<StyleAnimation>())).mPlayState as *const _ as usize
8681                 },
8682                 42usize,
8683                 concat!(
8684                     "Offset of field: ",
8685                     stringify!(StyleAnimation),
8686                     "::",
8687                     stringify!(mPlayState)
8688                 )
8689             );
8690             assert_eq!(
8691                 unsafe {
8692                     &(*(::std::ptr::null::<StyleAnimation>())).mIterationCount as *const _ as usize
8693                 },
8694                 44usize,
8695                 concat!(
8696                     "Offset of field: ",
8697                     stringify!(StyleAnimation),
8698                     "::",
8699                     stringify!(mIterationCount)
8700                 )
8701             );
8702         }
8703         #[repr(C)]
8704         #[derive(Debug)]
8705         pub struct StyleBasicShape {
8706             pub mType: root::mozilla::StyleBasicShapeType,
8707             pub mFillRule: root::mozilla::StyleFillRule,
8708             pub mCoordinates: root::nsTArray<root::nsStyleCoord>,
8709             pub mPosition: root::mozilla::Position,
8710             pub mRadius: root::nsStyleCorners,
8711         }
8712         #[test]
bindgen_test_layout_StyleBasicShape()8713         fn bindgen_test_layout_StyleBasicShape() {
8714             assert_eq!(
8715                 ::std::mem::size_of::<StyleBasicShape>(),
8716                 112usize,
8717                 concat!("Size of: ", stringify!(StyleBasicShape))
8718             );
8719             assert_eq!(
8720                 ::std::mem::align_of::<StyleBasicShape>(),
8721                 8usize,
8722                 concat!("Alignment of ", stringify!(StyleBasicShape))
8723             );
8724             assert_eq!(
8725                 unsafe { &(*(::std::ptr::null::<StyleBasicShape>())).mType as *const _ as usize },
8726                 0usize,
8727                 concat!(
8728                     "Offset of field: ",
8729                     stringify!(StyleBasicShape),
8730                     "::",
8731                     stringify!(mType)
8732                 )
8733             );
8734             assert_eq!(
8735                 unsafe {
8736                     &(*(::std::ptr::null::<StyleBasicShape>())).mFillRule as *const _ as usize
8737                 },
8738                 1usize,
8739                 concat!(
8740                     "Offset of field: ",
8741                     stringify!(StyleBasicShape),
8742                     "::",
8743                     stringify!(mFillRule)
8744                 )
8745             );
8746             assert_eq!(
8747                 unsafe {
8748                     &(*(::std::ptr::null::<StyleBasicShape>())).mCoordinates as *const _ as usize
8749                 },
8750                 8usize,
8751                 concat!(
8752                     "Offset of field: ",
8753                     stringify!(StyleBasicShape),
8754                     "::",
8755                     stringify!(mCoordinates)
8756                 )
8757             );
8758             assert_eq!(
8759                 unsafe {
8760                     &(*(::std::ptr::null::<StyleBasicShape>())).mPosition as *const _ as usize
8761                 },
8762                 16usize,
8763                 concat!(
8764                     "Offset of field: ",
8765                     stringify!(StyleBasicShape),
8766                     "::",
8767                     stringify!(mPosition)
8768                 )
8769             );
8770             assert_eq!(
8771                 unsafe { &(*(::std::ptr::null::<StyleBasicShape>())).mRadius as *const _ as usize },
8772                 40usize,
8773                 concat!(
8774                     "Offset of field: ",
8775                     stringify!(StyleBasicShape),
8776                     "::",
8777                     stringify!(mRadius)
8778                 )
8779             );
8780         }
8781         #[repr(C)]
8782         #[derive(Debug)]
8783         pub struct StyleShapeSource {
8784             pub mBasicShape: root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>,
8785             pub mShapeImage: root::mozilla::UniquePtr<root::nsStyleImage>,
8786             pub mType: root::mozilla::StyleShapeSourceType,
8787             pub mReferenceBox: root::mozilla::StyleGeometryBox,
8788         }
8789         #[test]
bindgen_test_layout_StyleShapeSource()8790         fn bindgen_test_layout_StyleShapeSource() {
8791             assert_eq!(
8792                 ::std::mem::size_of::<StyleShapeSource>(),
8793                 24usize,
8794                 concat!("Size of: ", stringify!(StyleShapeSource))
8795             );
8796             assert_eq!(
8797                 ::std::mem::align_of::<StyleShapeSource>(),
8798                 8usize,
8799                 concat!("Alignment of ", stringify!(StyleShapeSource))
8800             );
8801             assert_eq!(
8802                 unsafe {
8803                     &(*(::std::ptr::null::<StyleShapeSource>())).mBasicShape as *const _ as usize
8804                 },
8805                 0usize,
8806                 concat!(
8807                     "Offset of field: ",
8808                     stringify!(StyleShapeSource),
8809                     "::",
8810                     stringify!(mBasicShape)
8811                 )
8812             );
8813             assert_eq!(
8814                 unsafe {
8815                     &(*(::std::ptr::null::<StyleShapeSource>())).mShapeImage as *const _ as usize
8816                 },
8817                 8usize,
8818                 concat!(
8819                     "Offset of field: ",
8820                     stringify!(StyleShapeSource),
8821                     "::",
8822                     stringify!(mShapeImage)
8823                 )
8824             );
8825             assert_eq!(
8826                 unsafe { &(*(::std::ptr::null::<StyleShapeSource>())).mType as *const _ as usize },
8827                 16usize,
8828                 concat!(
8829                     "Offset of field: ",
8830                     stringify!(StyleShapeSource),
8831                     "::",
8832                     stringify!(mType)
8833                 )
8834             );
8835             assert_eq!(
8836                 unsafe {
8837                     &(*(::std::ptr::null::<StyleShapeSource>())).mReferenceBox as *const _ as usize
8838                 },
8839                 17usize,
8840                 concat!(
8841                     "Offset of field: ",
8842                     stringify!(StyleShapeSource),
8843                     "::",
8844                     stringify!(mReferenceBox)
8845                 )
8846             );
8847         }
8848         /// <div rustbindgen="true" replaces="mozilla::UniquePtr">
8849         ///
8850         /// TODO(Emilio): This is a workaround and we should be able to get rid of this
8851         /// one.
8852         #[repr(C)]
8853         #[derive(Debug, Copy, Clone)]
8854         pub struct UniquePtr<T> {
8855             pub mPtr: *mut T,
8856             pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
8857         }
8858         pub const SERVO_PREF_ENABLED_align_content: bool = false;
8859         pub const SERVO_PREF_ENABLED_align_items: bool = false;
8860         pub const SERVO_PREF_ENABLED_align_self: bool = false;
8861         pub const SERVO_PREF_ENABLED_all: bool = true;
8862         pub const SERVO_PREF_ENABLED_animation: bool = false;
8863         pub const SERVO_PREF_ENABLED_animation_delay: bool = false;
8864         pub const SERVO_PREF_ENABLED_animation_direction: bool = false;
8865         pub const SERVO_PREF_ENABLED_animation_duration: bool = false;
8866         pub const SERVO_PREF_ENABLED_animation_fill_mode: bool = false;
8867         pub const SERVO_PREF_ENABLED_animation_iteration_count: bool = false;
8868         pub const SERVO_PREF_ENABLED_animation_name: bool = false;
8869         pub const SERVO_PREF_ENABLED_animation_play_state: bool = false;
8870         pub const SERVO_PREF_ENABLED_animation_timing_function: bool = false;
8871         pub const SERVO_PREF_ENABLED__moz_appearance: bool = false;
8872         pub const SERVO_PREF_ENABLED_backface_visibility: bool = false;
8873         pub const SERVO_PREF_ENABLED_background: bool = false;
8874         pub const SERVO_PREF_ENABLED_background_attachment: bool = false;
8875         pub const SERVO_PREF_ENABLED_background_blend_mode: bool = true;
8876         pub const SERVO_PREF_ENABLED_background_clip: bool = false;
8877         pub const SERVO_PREF_ENABLED_background_color: bool = false;
8878         pub const SERVO_PREF_ENABLED_background_image: bool = false;
8879         pub const SERVO_PREF_ENABLED_background_origin: bool = false;
8880         pub const SERVO_PREF_ENABLED_background_position: bool = false;
8881         pub const SERVO_PREF_ENABLED_background_position_x: bool = false;
8882         pub const SERVO_PREF_ENABLED_background_position_y: bool = false;
8883         pub const SERVO_PREF_ENABLED_background_repeat: bool = false;
8884         pub const SERVO_PREF_ENABLED_background_size: bool = false;
8885         pub const SERVO_PREF_ENABLED__moz_binding: bool = false;
8886         pub const SERVO_PREF_ENABLED_block_size: bool = false;
8887         pub const SERVO_PREF_ENABLED_border: bool = false;
8888         pub const SERVO_PREF_ENABLED_border_block_end: bool = false;
8889         pub const SERVO_PREF_ENABLED_border_block_end_color: bool = false;
8890         pub const SERVO_PREF_ENABLED_border_block_end_style: bool = false;
8891         pub const SERVO_PREF_ENABLED_border_block_end_width: bool = false;
8892         pub const SERVO_PREF_ENABLED_border_block_start: bool = false;
8893         pub const SERVO_PREF_ENABLED_border_block_start_color: bool = false;
8894         pub const SERVO_PREF_ENABLED_border_block_start_style: bool = false;
8895         pub const SERVO_PREF_ENABLED_border_block_start_width: bool = false;
8896         pub const SERVO_PREF_ENABLED_border_bottom: bool = false;
8897         pub const SERVO_PREF_ENABLED_border_bottom_color: bool = false;
8898         pub const SERVO_PREF_ENABLED_border_bottom_left_radius: bool = false;
8899         pub const SERVO_PREF_ENABLED_border_bottom_right_radius: bool = false;
8900         pub const SERVO_PREF_ENABLED_border_bottom_style: bool = false;
8901         pub const SERVO_PREF_ENABLED_border_bottom_width: bool = false;
8902         pub const SERVO_PREF_ENABLED_border_collapse: bool = false;
8903         pub const SERVO_PREF_ENABLED_border_color: bool = false;
8904         pub const SERVO_PREF_ENABLED_border_image: bool = false;
8905         pub const SERVO_PREF_ENABLED_border_image_outset: bool = false;
8906         pub const SERVO_PREF_ENABLED_border_image_repeat: bool = false;
8907         pub const SERVO_PREF_ENABLED_border_image_slice: bool = false;
8908         pub const SERVO_PREF_ENABLED_border_image_source: bool = false;
8909         pub const SERVO_PREF_ENABLED_border_image_width: bool = false;
8910         pub const SERVO_PREF_ENABLED_border_inline_end: bool = false;
8911         pub const SERVO_PREF_ENABLED_border_inline_end_color: bool = false;
8912         pub const SERVO_PREF_ENABLED_border_inline_end_style: bool = false;
8913         pub const SERVO_PREF_ENABLED_border_inline_end_width: bool = false;
8914         pub const SERVO_PREF_ENABLED_border_inline_start: bool = false;
8915         pub const SERVO_PREF_ENABLED_border_inline_start_color: bool = false;
8916         pub const SERVO_PREF_ENABLED_border_inline_start_style: bool = false;
8917         pub const SERVO_PREF_ENABLED_border_inline_start_width: bool = false;
8918         pub const SERVO_PREF_ENABLED_border_left: bool = false;
8919         pub const SERVO_PREF_ENABLED_border_left_color: bool = false;
8920         pub const SERVO_PREF_ENABLED_border_left_style: bool = false;
8921         pub const SERVO_PREF_ENABLED_border_left_width: bool = false;
8922         pub const SERVO_PREF_ENABLED_border_radius: bool = false;
8923         pub const SERVO_PREF_ENABLED_border_right: bool = false;
8924         pub const SERVO_PREF_ENABLED_border_right_color: bool = false;
8925         pub const SERVO_PREF_ENABLED_border_right_style: bool = false;
8926         pub const SERVO_PREF_ENABLED_border_right_width: bool = false;
8927         pub const SERVO_PREF_ENABLED_border_spacing: bool = false;
8928         pub const SERVO_PREF_ENABLED_border_style: bool = false;
8929         pub const SERVO_PREF_ENABLED_border_top: bool = false;
8930         pub const SERVO_PREF_ENABLED_border_top_color: bool = false;
8931         pub const SERVO_PREF_ENABLED_border_top_left_radius: bool = false;
8932         pub const SERVO_PREF_ENABLED_border_top_right_radius: bool = false;
8933         pub const SERVO_PREF_ENABLED_border_top_style: bool = false;
8934         pub const SERVO_PREF_ENABLED_border_top_width: bool = false;
8935         pub const SERVO_PREF_ENABLED_border_width: bool = false;
8936         pub const SERVO_PREF_ENABLED_bottom: bool = false;
8937         pub const SERVO_PREF_ENABLED__moz_box_align: bool = false;
8938         pub const SERVO_PREF_ENABLED_box_decoration_break: bool = true;
8939         pub const SERVO_PREF_ENABLED__moz_box_direction: bool = false;
8940         pub const SERVO_PREF_ENABLED__moz_box_flex: bool = false;
8941         pub const SERVO_PREF_ENABLED__moz_box_ordinal_group: bool = false;
8942         pub const SERVO_PREF_ENABLED__moz_box_orient: bool = false;
8943         pub const SERVO_PREF_ENABLED__moz_box_pack: bool = false;
8944         pub const SERVO_PREF_ENABLED_box_shadow: bool = false;
8945         pub const SERVO_PREF_ENABLED_box_sizing: bool = false;
8946         pub const SERVO_PREF_ENABLED_caption_side: bool = false;
8947         pub const SERVO_PREF_ENABLED_caret_color: bool = false;
8948         pub const SERVO_PREF_ENABLED_clear: bool = false;
8949         pub const SERVO_PREF_ENABLED_clip: bool = false;
8950         pub const SERVO_PREF_ENABLED_clip_path: bool = false;
8951         pub const SERVO_PREF_ENABLED_clip_rule: bool = false;
8952         pub const SERVO_PREF_ENABLED_color: bool = false;
8953         pub const SERVO_PREF_ENABLED_color_adjust: bool = true;
8954         pub const SERVO_PREF_ENABLED_color_interpolation: bool = false;
8955         pub const SERVO_PREF_ENABLED_color_interpolation_filters: bool = false;
8956         pub const SERVO_PREF_ENABLED_column_count: bool = false;
8957         pub const SERVO_PREF_ENABLED_column_fill: bool = false;
8958         pub const SERVO_PREF_ENABLED_column_gap: bool = false;
8959         pub const SERVO_PREF_ENABLED_column_rule: bool = false;
8960         pub const SERVO_PREF_ENABLED_column_rule_color: bool = false;
8961         pub const SERVO_PREF_ENABLED_column_rule_style: bool = false;
8962         pub const SERVO_PREF_ENABLED_column_rule_width: bool = false;
8963         pub const SERVO_PREF_ENABLED_column_span: bool = true;
8964         pub const SERVO_PREF_ENABLED_column_width: bool = false;
8965         pub const SERVO_PREF_ENABLED_columns: bool = false;
8966         pub const SERVO_PREF_ENABLED_contain: bool = true;
8967         pub const SERVO_PREF_ENABLED_content: bool = false;
8968         pub const SERVO_PREF_ENABLED__moz_context_properties: bool = false;
8969         pub const SERVO_PREF_ENABLED__moz_control_character_visibility: bool = false;
8970         pub const SERVO_PREF_ENABLED_counter_increment: bool = false;
8971         pub const SERVO_PREF_ENABLED_counter_reset: bool = false;
8972         pub const SERVO_PREF_ENABLED_cursor: bool = false;
8973         pub const SERVO_PREF_ENABLED_direction: bool = false;
8974         pub const SERVO_PREF_ENABLED_display: bool = false;
8975         pub const SERVO_PREF_ENABLED_dominant_baseline: bool = false;
8976         pub const SERVO_PREF_ENABLED_empty_cells: bool = false;
8977         pub const SERVO_PREF_ENABLED_fill: bool = false;
8978         pub const SERVO_PREF_ENABLED_fill_opacity: bool = false;
8979         pub const SERVO_PREF_ENABLED_fill_rule: bool = false;
8980         pub const SERVO_PREF_ENABLED_filter: bool = false;
8981         pub const SERVO_PREF_ENABLED_flex: bool = false;
8982         pub const SERVO_PREF_ENABLED_flex_basis: bool = false;
8983         pub const SERVO_PREF_ENABLED_flex_direction: bool = false;
8984         pub const SERVO_PREF_ENABLED_flex_flow: bool = false;
8985         pub const SERVO_PREF_ENABLED_flex_grow: bool = false;
8986         pub const SERVO_PREF_ENABLED_flex_shrink: bool = false;
8987         pub const SERVO_PREF_ENABLED_flex_wrap: bool = false;
8988         pub const SERVO_PREF_ENABLED_float_: bool = false;
8989         pub const SERVO_PREF_ENABLED__moz_float_edge: bool = false;
8990         pub const SERVO_PREF_ENABLED_flood_color: bool = false;
8991         pub const SERVO_PREF_ENABLED_flood_opacity: bool = false;
8992         pub const SERVO_PREF_ENABLED_font: bool = false;
8993         pub const SERVO_PREF_ENABLED_font_family: bool = false;
8994         pub const SERVO_PREF_ENABLED_font_feature_settings: bool = false;
8995         pub const SERVO_PREF_ENABLED_font_kerning: bool = false;
8996         pub const SERVO_PREF_ENABLED_font_language_override: bool = false;
8997         pub const SERVO_PREF_ENABLED_font_optical_sizing: bool = true;
8998         pub const SERVO_PREF_ENABLED_font_size: bool = false;
8999         pub const SERVO_PREF_ENABLED_font_size_adjust: bool = false;
9000         pub const SERVO_PREF_ENABLED__moz_font_smoothing_background_color: bool = false;
9001         pub const SERVO_PREF_ENABLED_font_stretch: bool = false;
9002         pub const SERVO_PREF_ENABLED_font_style: bool = false;
9003         pub const SERVO_PREF_ENABLED_font_synthesis: bool = false;
9004         pub const SERVO_PREF_ENABLED_font_variant: bool = false;
9005         pub const SERVO_PREF_ENABLED_font_variant_alternates: bool = false;
9006         pub const SERVO_PREF_ENABLED_font_variant_caps: bool = false;
9007         pub const SERVO_PREF_ENABLED_font_variant_east_asian: bool = false;
9008         pub const SERVO_PREF_ENABLED_font_variant_ligatures: bool = false;
9009         pub const SERVO_PREF_ENABLED_font_variant_numeric: bool = false;
9010         pub const SERVO_PREF_ENABLED_font_variant_position: bool = false;
9011         pub const SERVO_PREF_ENABLED_font_variation_settings: bool = true;
9012         pub const SERVO_PREF_ENABLED_font_weight: bool = false;
9013         pub const SERVO_PREF_ENABLED__moz_force_broken_image_icon: bool = false;
9014         pub const SERVO_PREF_ENABLED_grid: bool = false;
9015         pub const SERVO_PREF_ENABLED_grid_area: bool = false;
9016         pub const SERVO_PREF_ENABLED_grid_auto_columns: bool = false;
9017         pub const SERVO_PREF_ENABLED_grid_auto_flow: bool = false;
9018         pub const SERVO_PREF_ENABLED_grid_auto_rows: bool = false;
9019         pub const SERVO_PREF_ENABLED_grid_column: bool = false;
9020         pub const SERVO_PREF_ENABLED_grid_column_end: bool = false;
9021         pub const SERVO_PREF_ENABLED_grid_column_gap: bool = false;
9022         pub const SERVO_PREF_ENABLED_grid_column_start: bool = false;
9023         pub const SERVO_PREF_ENABLED_grid_gap: bool = false;
9024         pub const SERVO_PREF_ENABLED_grid_row: bool = false;
9025         pub const SERVO_PREF_ENABLED_grid_row_end: bool = false;
9026         pub const SERVO_PREF_ENABLED_grid_row_gap: bool = false;
9027         pub const SERVO_PREF_ENABLED_grid_row_start: bool = false;
9028         pub const SERVO_PREF_ENABLED_grid_template: bool = false;
9029         pub const SERVO_PREF_ENABLED_grid_template_areas: bool = false;
9030         pub const SERVO_PREF_ENABLED_grid_template_columns: bool = false;
9031         pub const SERVO_PREF_ENABLED_grid_template_rows: bool = false;
9032         pub const SERVO_PREF_ENABLED_height: bool = false;
9033         pub const SERVO_PREF_ENABLED_hyphens: bool = false;
9034         pub const SERVO_PREF_ENABLED_initial_letter: bool = true;
9035         pub const SERVO_PREF_ENABLED_image_orientation: bool = true;
9036         pub const SERVO_PREF_ENABLED__moz_image_region: bool = false;
9037         pub const SERVO_PREF_ENABLED_image_rendering: bool = false;
9038         pub const SERVO_PREF_ENABLED_ime_mode: bool = false;
9039         pub const SERVO_PREF_ENABLED_inline_size: bool = false;
9040         pub const SERVO_PREF_ENABLED_isolation: bool = true;
9041         pub const SERVO_PREF_ENABLED_justify_content: bool = false;
9042         pub const SERVO_PREF_ENABLED_justify_items: bool = false;
9043         pub const SERVO_PREF_ENABLED_justify_self: bool = false;
9044         pub const SERVO_PREF_ENABLED__x_lang: bool = false;
9045         pub const SERVO_PREF_ENABLED_left: bool = false;
9046         pub const SERVO_PREF_ENABLED_letter_spacing: bool = false;
9047         pub const SERVO_PREF_ENABLED_lighting_color: bool = false;
9048         pub const SERVO_PREF_ENABLED_line_height: bool = false;
9049         pub const SERVO_PREF_ENABLED_list_style: bool = false;
9050         pub const SERVO_PREF_ENABLED_list_style_image: bool = false;
9051         pub const SERVO_PREF_ENABLED_list_style_position: bool = false;
9052         pub const SERVO_PREF_ENABLED_list_style_type: bool = false;
9053         pub const SERVO_PREF_ENABLED_margin: bool = false;
9054         pub const SERVO_PREF_ENABLED_margin_block_end: bool = false;
9055         pub const SERVO_PREF_ENABLED_margin_block_start: bool = false;
9056         pub const SERVO_PREF_ENABLED_margin_bottom: bool = false;
9057         pub const SERVO_PREF_ENABLED_margin_inline_end: bool = false;
9058         pub const SERVO_PREF_ENABLED_margin_inline_start: bool = false;
9059         pub const SERVO_PREF_ENABLED_margin_left: bool = false;
9060         pub const SERVO_PREF_ENABLED_margin_right: bool = false;
9061         pub const SERVO_PREF_ENABLED_margin_top: bool = false;
9062         pub const SERVO_PREF_ENABLED_marker: bool = false;
9063         pub const SERVO_PREF_ENABLED_marker_end: bool = false;
9064         pub const SERVO_PREF_ENABLED_marker_mid: bool = false;
9065         pub const SERVO_PREF_ENABLED_marker_start: bool = false;
9066         pub const SERVO_PREF_ENABLED_mask: bool = false;
9067         pub const SERVO_PREF_ENABLED_mask_clip: bool = false;
9068         pub const SERVO_PREF_ENABLED_mask_composite: bool = false;
9069         pub const SERVO_PREF_ENABLED_mask_image: bool = false;
9070         pub const SERVO_PREF_ENABLED_mask_mode: bool = false;
9071         pub const SERVO_PREF_ENABLED_mask_origin: bool = false;
9072         pub const SERVO_PREF_ENABLED_mask_position: bool = false;
9073         pub const SERVO_PREF_ENABLED_mask_position_x: bool = false;
9074         pub const SERVO_PREF_ENABLED_mask_position_y: bool = false;
9075         pub const SERVO_PREF_ENABLED_mask_repeat: bool = false;
9076         pub const SERVO_PREF_ENABLED_mask_size: bool = false;
9077         pub const SERVO_PREF_ENABLED_mask_type: bool = false;
9078         pub const SERVO_PREF_ENABLED__moz_math_display: bool = false;
9079         pub const SERVO_PREF_ENABLED__moz_math_variant: bool = false;
9080         pub const SERVO_PREF_ENABLED_max_block_size: bool = false;
9081         pub const SERVO_PREF_ENABLED_max_height: bool = false;
9082         pub const SERVO_PREF_ENABLED_max_inline_size: bool = false;
9083         pub const SERVO_PREF_ENABLED_max_width: bool = false;
9084         pub const SERVO_PREF_ENABLED_min_block_size: bool = false;
9085         pub const SERVO_PREF_ENABLED__moz_min_font_size_ratio: bool = false;
9086         pub const SERVO_PREF_ENABLED_min_height: bool = false;
9087         pub const SERVO_PREF_ENABLED_min_inline_size: bool = false;
9088         pub const SERVO_PREF_ENABLED_min_width: bool = false;
9089         pub const SERVO_PREF_ENABLED_mix_blend_mode: bool = true;
9090         pub const SERVO_PREF_ENABLED_object_fit: bool = false;
9091         pub const SERVO_PREF_ENABLED_object_position: bool = false;
9092         pub const SERVO_PREF_ENABLED_offset_block_end: bool = false;
9093         pub const SERVO_PREF_ENABLED_offset_block_start: bool = false;
9094         pub const SERVO_PREF_ENABLED_offset_inline_end: bool = false;
9095         pub const SERVO_PREF_ENABLED_offset_inline_start: bool = false;
9096         pub const SERVO_PREF_ENABLED_opacity: bool = false;
9097         pub const SERVO_PREF_ENABLED_order: bool = false;
9098         pub const SERVO_PREF_ENABLED__moz_orient: bool = false;
9099         pub const SERVO_PREF_ENABLED__moz_osx_font_smoothing: bool = true;
9100         pub const SERVO_PREF_ENABLED_outline: bool = false;
9101         pub const SERVO_PREF_ENABLED_outline_color: bool = false;
9102         pub const SERVO_PREF_ENABLED_outline_offset: bool = false;
9103         pub const SERVO_PREF_ENABLED__moz_outline_radius: bool = false;
9104         pub const SERVO_PREF_ENABLED__moz_outline_radius_bottomleft: bool = false;
9105         pub const SERVO_PREF_ENABLED__moz_outline_radius_bottomright: bool = false;
9106         pub const SERVO_PREF_ENABLED__moz_outline_radius_topleft: bool = false;
9107         pub const SERVO_PREF_ENABLED__moz_outline_radius_topright: bool = false;
9108         pub const SERVO_PREF_ENABLED_outline_style: bool = false;
9109         pub const SERVO_PREF_ENABLED_outline_width: bool = false;
9110         pub const SERVO_PREF_ENABLED_overflow: bool = false;
9111         pub const SERVO_PREF_ENABLED_overflow_clip_box: bool = true;
9112         pub const SERVO_PREF_ENABLED_overflow_clip_box_block: bool = true;
9113         pub const SERVO_PREF_ENABLED_overflow_clip_box_inline: bool = true;
9114         pub const SERVO_PREF_ENABLED_overflow_x: bool = false;
9115         pub const SERVO_PREF_ENABLED_overflow_y: bool = false;
9116         pub const SERVO_PREF_ENABLED_padding: bool = false;
9117         pub const SERVO_PREF_ENABLED_padding_block_end: bool = false;
9118         pub const SERVO_PREF_ENABLED_padding_block_start: bool = false;
9119         pub const SERVO_PREF_ENABLED_padding_bottom: bool = false;
9120         pub const SERVO_PREF_ENABLED_padding_inline_end: bool = false;
9121         pub const SERVO_PREF_ENABLED_padding_inline_start: bool = false;
9122         pub const SERVO_PREF_ENABLED_padding_left: bool = false;
9123         pub const SERVO_PREF_ENABLED_padding_right: bool = false;
9124         pub const SERVO_PREF_ENABLED_padding_top: bool = false;
9125         pub const SERVO_PREF_ENABLED_page_break_after: bool = false;
9126         pub const SERVO_PREF_ENABLED_page_break_before: bool = false;
9127         pub const SERVO_PREF_ENABLED_page_break_inside: bool = false;
9128         pub const SERVO_PREF_ENABLED_paint_order: bool = false;
9129         pub const SERVO_PREF_ENABLED_perspective: bool = false;
9130         pub const SERVO_PREF_ENABLED_perspective_origin: bool = false;
9131         pub const SERVO_PREF_ENABLED_place_content: bool = false;
9132         pub const SERVO_PREF_ENABLED_place_items: bool = false;
9133         pub const SERVO_PREF_ENABLED_place_self: bool = false;
9134         pub const SERVO_PREF_ENABLED_pointer_events: bool = false;
9135         pub const SERVO_PREF_ENABLED_position: bool = false;
9136         pub const SERVO_PREF_ENABLED_quotes: bool = false;
9137         pub const SERVO_PREF_ENABLED_resize: bool = false;
9138         pub const SERVO_PREF_ENABLED_right: bool = false;
9139         pub const SERVO_PREF_ENABLED_rotate: bool = true;
9140         pub const SERVO_PREF_ENABLED_ruby_align: bool = false;
9141         pub const SERVO_PREF_ENABLED_ruby_position: bool = false;
9142         pub const SERVO_PREF_ENABLED__moz_script_level: bool = false;
9143         pub const SERVO_PREF_ENABLED__moz_script_min_size: bool = false;
9144         pub const SERVO_PREF_ENABLED__moz_script_size_multiplier: bool = false;
9145         pub const SERVO_PREF_ENABLED_scroll_behavior: bool = true;
9146         pub const SERVO_PREF_ENABLED_overscroll_behavior: bool = true;
9147         pub const SERVO_PREF_ENABLED_overscroll_behavior_x: bool = true;
9148         pub const SERVO_PREF_ENABLED_overscroll_behavior_y: bool = true;
9149         pub const SERVO_PREF_ENABLED_scroll_snap_coordinate: bool = true;
9150         pub const SERVO_PREF_ENABLED_scroll_snap_destination: bool = true;
9151         pub const SERVO_PREF_ENABLED_scroll_snap_points_x: bool = true;
9152         pub const SERVO_PREF_ENABLED_scroll_snap_points_y: bool = true;
9153         pub const SERVO_PREF_ENABLED_scroll_snap_type: bool = true;
9154         pub const SERVO_PREF_ENABLED_scroll_snap_type_x: bool = true;
9155         pub const SERVO_PREF_ENABLED_scroll_snap_type_y: bool = true;
9156         pub const SERVO_PREF_ENABLED_shape_image_threshold: bool = true;
9157         pub const SERVO_PREF_ENABLED_shape_outside: bool = true;
9158         pub const SERVO_PREF_ENABLED_shape_rendering: bool = false;
9159         pub const SERVO_PREF_ENABLED__x_span: bool = false;
9160         pub const SERVO_PREF_ENABLED__moz_stack_sizing: bool = false;
9161         pub const SERVO_PREF_ENABLED_stop_color: bool = false;
9162         pub const SERVO_PREF_ENABLED_stop_opacity: bool = false;
9163         pub const SERVO_PREF_ENABLED_stroke: bool = false;
9164         pub const SERVO_PREF_ENABLED_stroke_dasharray: bool = false;
9165         pub const SERVO_PREF_ENABLED_stroke_dashoffset: bool = false;
9166         pub const SERVO_PREF_ENABLED_stroke_linecap: bool = false;
9167         pub const SERVO_PREF_ENABLED_stroke_linejoin: bool = false;
9168         pub const SERVO_PREF_ENABLED_stroke_miterlimit: bool = false;
9169         pub const SERVO_PREF_ENABLED_stroke_opacity: bool = false;
9170         pub const SERVO_PREF_ENABLED_stroke_width: bool = false;
9171         pub const SERVO_PREF_ENABLED__x_system_font: bool = false;
9172         pub const SERVO_PREF_ENABLED__moz_tab_size: bool = false;
9173         pub const SERVO_PREF_ENABLED_table_layout: bool = false;
9174         pub const SERVO_PREF_ENABLED_text_align: bool = false;
9175         pub const SERVO_PREF_ENABLED_text_align_last: bool = false;
9176         pub const SERVO_PREF_ENABLED_text_anchor: bool = false;
9177         pub const SERVO_PREF_ENABLED_text_combine_upright: bool = true;
9178         pub const SERVO_PREF_ENABLED_text_decoration: bool = false;
9179         pub const SERVO_PREF_ENABLED_text_decoration_color: bool = false;
9180         pub const SERVO_PREF_ENABLED_text_decoration_line: bool = false;
9181         pub const SERVO_PREF_ENABLED_text_decoration_style: bool = false;
9182         pub const SERVO_PREF_ENABLED_text_emphasis: bool = false;
9183         pub const SERVO_PREF_ENABLED_text_emphasis_color: bool = false;
9184         pub const SERVO_PREF_ENABLED_text_emphasis_position: bool = false;
9185         pub const SERVO_PREF_ENABLED_text_emphasis_style: bool = false;
9186         pub const SERVO_PREF_ENABLED__webkit_text_fill_color: bool = true;
9187         pub const SERVO_PREF_ENABLED_text_indent: bool = false;
9188         pub const SERVO_PREF_ENABLED_text_justify: bool = true;
9189         pub const SERVO_PREF_ENABLED_text_orientation: bool = false;
9190         pub const SERVO_PREF_ENABLED_text_overflow: bool = false;
9191         pub const SERVO_PREF_ENABLED_text_rendering: bool = false;
9192         pub const SERVO_PREF_ENABLED_text_shadow: bool = false;
9193         pub const SERVO_PREF_ENABLED__moz_text_size_adjust: bool = false;
9194         pub const SERVO_PREF_ENABLED__webkit_text_stroke: bool = true;
9195         pub const SERVO_PREF_ENABLED__webkit_text_stroke_color: bool = true;
9196         pub const SERVO_PREF_ENABLED__webkit_text_stroke_width: bool = true;
9197         pub const SERVO_PREF_ENABLED_scale: bool = true;
9198         pub const SERVO_PREF_ENABLED_text_transform: bool = false;
9199         pub const SERVO_PREF_ENABLED__x_text_zoom: bool = false;
9200         pub const SERVO_PREF_ENABLED_top: bool = false;
9201         pub const SERVO_PREF_ENABLED__moz_top_layer: bool = false;
9202         pub const SERVO_PREF_ENABLED_touch_action: bool = true;
9203         pub const SERVO_PREF_ENABLED_transform: bool = false;
9204         pub const SERVO_PREF_ENABLED_transform_box: bool = true;
9205         pub const SERVO_PREF_ENABLED_transform_origin: bool = false;
9206         pub const SERVO_PREF_ENABLED_transform_style: bool = false;
9207         pub const SERVO_PREF_ENABLED_transition: bool = false;
9208         pub const SERVO_PREF_ENABLED_transition_delay: bool = false;
9209         pub const SERVO_PREF_ENABLED_transition_duration: bool = false;
9210         pub const SERVO_PREF_ENABLED_transition_property: bool = false;
9211         pub const SERVO_PREF_ENABLED_transition_timing_function: bool = false;
9212         pub const SERVO_PREF_ENABLED_translate: bool = true;
9213         pub const SERVO_PREF_ENABLED_unicode_bidi: bool = false;
9214         pub const SERVO_PREF_ENABLED__moz_user_focus: bool = false;
9215         pub const SERVO_PREF_ENABLED__moz_user_input: bool = false;
9216         pub const SERVO_PREF_ENABLED__moz_user_modify: bool = false;
9217         pub const SERVO_PREF_ENABLED__moz_user_select: bool = false;
9218         pub const SERVO_PREF_ENABLED_vector_effect: bool = false;
9219         pub const SERVO_PREF_ENABLED_vertical_align: bool = false;
9220         pub const SERVO_PREF_ENABLED_visibility: bool = false;
9221         pub const SERVO_PREF_ENABLED_white_space: bool = false;
9222         pub const SERVO_PREF_ENABLED_width: bool = false;
9223         pub const SERVO_PREF_ENABLED_will_change: bool = false;
9224         pub const SERVO_PREF_ENABLED__moz_window_dragging: bool = false;
9225         pub const SERVO_PREF_ENABLED__moz_window_shadow: bool = false;
9226         pub const SERVO_PREF_ENABLED__moz_window_opacity: bool = false;
9227         pub const SERVO_PREF_ENABLED__moz_window_transform: bool = false;
9228         pub const SERVO_PREF_ENABLED__moz_window_transform_origin: bool = false;
9229         pub const SERVO_PREF_ENABLED_word_break: bool = false;
9230         pub const SERVO_PREF_ENABLED_word_spacing: bool = false;
9231         pub const SERVO_PREF_ENABLED_overflow_wrap: bool = false;
9232         pub const SERVO_PREF_ENABLED_writing_mode: bool = false;
9233         pub const SERVO_PREF_ENABLED_z_index: bool = false;
9234         pub const SERVO_PREF_ENABLED_word_wrap: bool = false;
9235         pub const SERVO_PREF_ENABLED__moz_transform: bool = true;
9236         pub const SERVO_PREF_ENABLED__moz_transform_origin: bool = true;
9237         pub const SERVO_PREF_ENABLED__moz_perspective_origin: bool = true;
9238         pub const SERVO_PREF_ENABLED__moz_perspective: bool = true;
9239         pub const SERVO_PREF_ENABLED__moz_transform_style: bool = true;
9240         pub const SERVO_PREF_ENABLED__moz_backface_visibility: bool = true;
9241         pub const SERVO_PREF_ENABLED__moz_border_image: bool = true;
9242         pub const SERVO_PREF_ENABLED__moz_transition: bool = true;
9243         pub const SERVO_PREF_ENABLED__moz_transition_delay: bool = true;
9244         pub const SERVO_PREF_ENABLED__moz_transition_duration: bool = true;
9245         pub const SERVO_PREF_ENABLED__moz_transition_property: bool = true;
9246         pub const SERVO_PREF_ENABLED__moz_transition_timing_function: bool = true;
9247         pub const SERVO_PREF_ENABLED__moz_animation: bool = true;
9248         pub const SERVO_PREF_ENABLED__moz_animation_delay: bool = true;
9249         pub const SERVO_PREF_ENABLED__moz_animation_direction: bool = true;
9250         pub const SERVO_PREF_ENABLED__moz_animation_duration: bool = true;
9251         pub const SERVO_PREF_ENABLED__moz_animation_fill_mode: bool = true;
9252         pub const SERVO_PREF_ENABLED__moz_animation_iteration_count: bool = true;
9253         pub const SERVO_PREF_ENABLED__moz_animation_name: bool = true;
9254         pub const SERVO_PREF_ENABLED__moz_animation_play_state: bool = true;
9255         pub const SERVO_PREF_ENABLED__moz_animation_timing_function: bool = true;
9256         pub const SERVO_PREF_ENABLED__moz_box_sizing: bool = true;
9257         pub const SERVO_PREF_ENABLED__moz_font_feature_settings: bool = true;
9258         pub const SERVO_PREF_ENABLED__moz_font_language_override: bool = true;
9259         pub const SERVO_PREF_ENABLED__moz_padding_end: bool = false;
9260         pub const SERVO_PREF_ENABLED__moz_padding_start: bool = false;
9261         pub const SERVO_PREF_ENABLED__moz_margin_end: bool = false;
9262         pub const SERVO_PREF_ENABLED__moz_margin_start: bool = false;
9263         pub const SERVO_PREF_ENABLED__moz_border_end: bool = false;
9264         pub const SERVO_PREF_ENABLED__moz_border_end_color: bool = false;
9265         pub const SERVO_PREF_ENABLED__moz_border_end_style: bool = false;
9266         pub const SERVO_PREF_ENABLED__moz_border_end_width: bool = false;
9267         pub const SERVO_PREF_ENABLED__moz_border_start: bool = false;
9268         pub const SERVO_PREF_ENABLED__moz_border_start_color: bool = false;
9269         pub const SERVO_PREF_ENABLED__moz_border_start_style: bool = false;
9270         pub const SERVO_PREF_ENABLED__moz_border_start_width: bool = false;
9271         pub const SERVO_PREF_ENABLED__moz_hyphens: bool = false;
9272         pub const SERVO_PREF_ENABLED__moz_column_count: bool = false;
9273         pub const SERVO_PREF_ENABLED__moz_column_fill: bool = false;
9274         pub const SERVO_PREF_ENABLED__moz_column_gap: bool = false;
9275         pub const SERVO_PREF_ENABLED__moz_column_rule: bool = false;
9276         pub const SERVO_PREF_ENABLED__moz_column_rule_color: bool = false;
9277         pub const SERVO_PREF_ENABLED__moz_column_rule_style: bool = false;
9278         pub const SERVO_PREF_ENABLED__moz_column_rule_width: bool = false;
9279         pub const SERVO_PREF_ENABLED__moz_column_span: bool = true;
9280         pub const SERVO_PREF_ENABLED__moz_column_width: bool = false;
9281         pub const SERVO_PREF_ENABLED__moz_columns: bool = false;
9282         pub const SERVO_PREF_ENABLED__webkit_animation: bool = true;
9283         pub const SERVO_PREF_ENABLED__webkit_animation_delay: bool = true;
9284         pub const SERVO_PREF_ENABLED__webkit_animation_direction: bool = true;
9285         pub const SERVO_PREF_ENABLED__webkit_animation_duration: bool = true;
9286         pub const SERVO_PREF_ENABLED__webkit_animation_fill_mode: bool = true;
9287         pub const SERVO_PREF_ENABLED__webkit_animation_iteration_count: bool = true;
9288         pub const SERVO_PREF_ENABLED__webkit_animation_name: bool = true;
9289         pub const SERVO_PREF_ENABLED__webkit_animation_play_state: bool = true;
9290         pub const SERVO_PREF_ENABLED__webkit_animation_timing_function: bool = true;
9291         pub const SERVO_PREF_ENABLED__webkit_filter: bool = true;
9292         pub const SERVO_PREF_ENABLED__webkit_text_size_adjust: bool = true;
9293         pub const SERVO_PREF_ENABLED__webkit_transform: bool = true;
9294         pub const SERVO_PREF_ENABLED__webkit_transform_origin: bool = true;
9295         pub const SERVO_PREF_ENABLED__webkit_transform_style: bool = true;
9296         pub const SERVO_PREF_ENABLED__webkit_backface_visibility: bool = true;
9297         pub const SERVO_PREF_ENABLED__webkit_perspective: bool = true;
9298         pub const SERVO_PREF_ENABLED__webkit_perspective_origin: bool = true;
9299         pub const SERVO_PREF_ENABLED__webkit_transition: bool = true;
9300         pub const SERVO_PREF_ENABLED__webkit_transition_delay: bool = true;
9301         pub const SERVO_PREF_ENABLED__webkit_transition_duration: bool = true;
9302         pub const SERVO_PREF_ENABLED__webkit_transition_property: bool = true;
9303         pub const SERVO_PREF_ENABLED__webkit_transition_timing_function: bool = true;
9304         pub const SERVO_PREF_ENABLED__webkit_border_radius: bool = true;
9305         pub const SERVO_PREF_ENABLED__webkit_border_top_left_radius: bool = true;
9306         pub const SERVO_PREF_ENABLED__webkit_border_top_right_radius: bool = true;
9307         pub const SERVO_PREF_ENABLED__webkit_border_bottom_left_radius: bool = true;
9308         pub const SERVO_PREF_ENABLED__webkit_border_bottom_right_radius: bool = true;
9309         pub const SERVO_PREF_ENABLED__webkit_background_clip: bool = true;
9310         pub const SERVO_PREF_ENABLED__webkit_background_origin: bool = true;
9311         pub const SERVO_PREF_ENABLED__webkit_background_size: bool = true;
9312         pub const SERVO_PREF_ENABLED__webkit_border_image: bool = true;
9313         pub const SERVO_PREF_ENABLED__webkit_box_shadow: bool = true;
9314         pub const SERVO_PREF_ENABLED__webkit_box_sizing: bool = true;
9315         pub const SERVO_PREF_ENABLED__webkit_box_flex: bool = true;
9316         pub const SERVO_PREF_ENABLED__webkit_box_ordinal_group: bool = true;
9317         pub const SERVO_PREF_ENABLED__webkit_box_orient: bool = true;
9318         pub const SERVO_PREF_ENABLED__webkit_box_direction: bool = true;
9319         pub const SERVO_PREF_ENABLED__webkit_box_align: bool = true;
9320         pub const SERVO_PREF_ENABLED__webkit_box_pack: bool = true;
9321         pub const SERVO_PREF_ENABLED__webkit_flex_direction: bool = true;
9322         pub const SERVO_PREF_ENABLED__webkit_flex_wrap: bool = true;
9323         pub const SERVO_PREF_ENABLED__webkit_flex_flow: bool = true;
9324         pub const SERVO_PREF_ENABLED__webkit_order: bool = true;
9325         pub const SERVO_PREF_ENABLED__webkit_flex: bool = true;
9326         pub const SERVO_PREF_ENABLED__webkit_flex_grow: bool = true;
9327         pub const SERVO_PREF_ENABLED__webkit_flex_shrink: bool = true;
9328         pub const SERVO_PREF_ENABLED__webkit_flex_basis: bool = true;
9329         pub const SERVO_PREF_ENABLED__webkit_justify_content: bool = true;
9330         pub const SERVO_PREF_ENABLED__webkit_align_items: bool = true;
9331         pub const SERVO_PREF_ENABLED__webkit_align_self: bool = true;
9332         pub const SERVO_PREF_ENABLED__webkit_align_content: bool = true;
9333         pub const SERVO_PREF_ENABLED__webkit_user_select: bool = true;
9334         pub const SERVO_PREF_ENABLED__webkit_mask: bool = true;
9335         pub const SERVO_PREF_ENABLED__webkit_mask_clip: bool = true;
9336         pub const SERVO_PREF_ENABLED__webkit_mask_composite: bool = true;
9337         pub const SERVO_PREF_ENABLED__webkit_mask_image: bool = true;
9338         pub const SERVO_PREF_ENABLED__webkit_mask_origin: bool = true;
9339         pub const SERVO_PREF_ENABLED__webkit_mask_position: bool = true;
9340         pub const SERVO_PREF_ENABLED__webkit_mask_position_x: bool = true;
9341         pub const SERVO_PREF_ENABLED__webkit_mask_position_y: bool = true;
9342         pub const SERVO_PREF_ENABLED__webkit_mask_repeat: bool = true;
9343         pub const SERVO_PREF_ENABLED__webkit_mask_size: bool = true;
9344         /// Utility class to handle animated style values
9345         #[repr(C)]
9346         #[derive(Debug, Copy)]
9347         pub struct StyleAnimationValue {
9348             pub _bindgen_opaque_blob: [u64; 2usize],
9349         }
9350         pub const StyleAnimationValue_Unit_eUnit_Null: root::mozilla::StyleAnimationValue_Unit = 0;
9351         pub const StyleAnimationValue_Unit_eUnit_Normal: root::mozilla::StyleAnimationValue_Unit =
9352             1;
9353         pub const StyleAnimationValue_Unit_eUnit_Auto: root::mozilla::StyleAnimationValue_Unit = 2;
9354         pub const StyleAnimationValue_Unit_eUnit_None: root::mozilla::StyleAnimationValue_Unit = 3;
9355         pub const StyleAnimationValue_Unit_eUnit_Enumerated:
9356             root::mozilla::StyleAnimationValue_Unit = 4;
9357         pub const StyleAnimationValue_Unit_eUnit_Visibility:
9358             root::mozilla::StyleAnimationValue_Unit = 5;
9359         pub const StyleAnimationValue_Unit_eUnit_Integer: root::mozilla::StyleAnimationValue_Unit =
9360             6;
9361         pub const StyleAnimationValue_Unit_eUnit_Coord: root::mozilla::StyleAnimationValue_Unit = 7;
9362         pub const StyleAnimationValue_Unit_eUnit_Percent: root::mozilla::StyleAnimationValue_Unit =
9363             8;
9364         pub const StyleAnimationValue_Unit_eUnit_Float: root::mozilla::StyleAnimationValue_Unit = 9;
9365         pub const StyleAnimationValue_Unit_eUnit_Color: root::mozilla::StyleAnimationValue_Unit =
9366             10;
9367         pub const StyleAnimationValue_Unit_eUnit_CurrentColor:
9368             root::mozilla::StyleAnimationValue_Unit = 11;
9369         pub const StyleAnimationValue_Unit_eUnit_ComplexColor:
9370             root::mozilla::StyleAnimationValue_Unit = 12;
9371         pub const StyleAnimationValue_Unit_eUnit_Calc: root::mozilla::StyleAnimationValue_Unit = 13;
9372         pub const StyleAnimationValue_Unit_eUnit_ObjectPosition:
9373             root::mozilla::StyleAnimationValue_Unit = 14;
9374         pub const StyleAnimationValue_Unit_eUnit_URL: root::mozilla::StyleAnimationValue_Unit = 15;
9375         pub const StyleAnimationValue_Unit_eUnit_DiscreteCSSValue:
9376             root::mozilla::StyleAnimationValue_Unit = 16;
9377         pub const StyleAnimationValue_Unit_eUnit_CSSValuePair:
9378             root::mozilla::StyleAnimationValue_Unit = 17;
9379         pub const StyleAnimationValue_Unit_eUnit_CSSValueTriplet:
9380             root::mozilla::StyleAnimationValue_Unit = 18;
9381         pub const StyleAnimationValue_Unit_eUnit_CSSRect: root::mozilla::StyleAnimationValue_Unit =
9382             19;
9383         pub const StyleAnimationValue_Unit_eUnit_Dasharray:
9384             root::mozilla::StyleAnimationValue_Unit = 20;
9385         pub const StyleAnimationValue_Unit_eUnit_Shadow: root::mozilla::StyleAnimationValue_Unit =
9386             21;
9387         pub const StyleAnimationValue_Unit_eUnit_Shape: root::mozilla::StyleAnimationValue_Unit =
9388             22;
9389         pub const StyleAnimationValue_Unit_eUnit_Filter: root::mozilla::StyleAnimationValue_Unit =
9390             23;
9391         pub const StyleAnimationValue_Unit_eUnit_Transform:
9392             root::mozilla::StyleAnimationValue_Unit = 24;
9393         pub const StyleAnimationValue_Unit_eUnit_BackgroundPositionCoord:
9394             root::mozilla::StyleAnimationValue_Unit = 25;
9395         pub const StyleAnimationValue_Unit_eUnit_CSSValuePairList:
9396             root::mozilla::StyleAnimationValue_Unit = 26;
9397         pub const StyleAnimationValue_Unit_eUnit_UnparsedString:
9398             root::mozilla::StyleAnimationValue_Unit = 27;
9399         /// The types and values for the values that we extract and animate.
9400         pub type StyleAnimationValue_Unit = u32;
9401         #[repr(C)]
9402         #[derive(Debug, Copy)]
9403         pub struct StyleAnimationValue__bindgen_ty_1 {
9404             pub mInt: root::__BindgenUnionField<i32>,
9405             pub mCoord: root::__BindgenUnionField<root::nscoord>,
9406             pub mFloat: root::__BindgenUnionField<f32>,
9407             pub mCSSValue: root::__BindgenUnionField<*mut root::nsCSSValue>,
9408             pub mCSSValuePair: root::__BindgenUnionField<*mut root::nsCSSValuePair>,
9409             pub mCSSValueTriplet: root::__BindgenUnionField<*mut root::nsCSSValueTriplet>,
9410             pub mCSSRect: root::__BindgenUnionField<*mut root::nsCSSRect>,
9411             pub mCSSValueArray: root::__BindgenUnionField<*mut root::nsCSSValue_Array>,
9412             pub mCSSValueList: root::__BindgenUnionField<*mut root::nsCSSValueList>,
9413             pub mCSSValueSharedList: root::__BindgenUnionField<*mut root::nsCSSValueSharedList>,
9414             pub mCSSValuePairList: root::__BindgenUnionField<*mut root::nsCSSValuePairList>,
9415             pub mString: root::__BindgenUnionField<*mut root::nsStringBuffer>,
9416             pub mComplexColor:
9417                 root::__BindgenUnionField<*mut root::mozilla::css::ComplexColorValue>,
9418             pub bindgen_union_field: u64,
9419         }
9420         #[test]
bindgen_test_layout_StyleAnimationValue__bindgen_ty_1()9421         fn bindgen_test_layout_StyleAnimationValue__bindgen_ty_1() {
9422             assert_eq!(
9423                 ::std::mem::size_of::<StyleAnimationValue__bindgen_ty_1>(),
9424                 8usize,
9425                 concat!("Size of: ", stringify!(StyleAnimationValue__bindgen_ty_1))
9426             );
9427             assert_eq!(
9428                 ::std::mem::align_of::<StyleAnimationValue__bindgen_ty_1>(),
9429                 8usize,
9430                 concat!(
9431                     "Alignment of ",
9432                     stringify!(StyleAnimationValue__bindgen_ty_1)
9433                 )
9434             );
9435             assert_eq!(
9436                 unsafe {
9437                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mInt as *const _
9438                         as usize
9439                 },
9440                 0usize,
9441                 concat!(
9442                     "Offset of field: ",
9443                     stringify!(StyleAnimationValue__bindgen_ty_1),
9444                     "::",
9445                     stringify!(mInt)
9446                 )
9447             );
9448             assert_eq!(
9449                 unsafe {
9450                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mCoord as *const _
9451                         as usize
9452                 },
9453                 0usize,
9454                 concat!(
9455                     "Offset of field: ",
9456                     stringify!(StyleAnimationValue__bindgen_ty_1),
9457                     "::",
9458                     stringify!(mCoord)
9459                 )
9460             );
9461             assert_eq!(
9462                 unsafe {
9463                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mFloat as *const _
9464                         as usize
9465                 },
9466                 0usize,
9467                 concat!(
9468                     "Offset of field: ",
9469                     stringify!(StyleAnimationValue__bindgen_ty_1),
9470                     "::",
9471                     stringify!(mFloat)
9472                 )
9473             );
9474             assert_eq!(
9475                 unsafe {
9476                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mCSSValue
9477                         as *const _ as usize
9478                 },
9479                 0usize,
9480                 concat!(
9481                     "Offset of field: ",
9482                     stringify!(StyleAnimationValue__bindgen_ty_1),
9483                     "::",
9484                     stringify!(mCSSValue)
9485                 )
9486             );
9487             assert_eq!(
9488                 unsafe {
9489                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mCSSValuePair
9490                         as *const _ as usize
9491                 },
9492                 0usize,
9493                 concat!(
9494                     "Offset of field: ",
9495                     stringify!(StyleAnimationValue__bindgen_ty_1),
9496                     "::",
9497                     stringify!(mCSSValuePair)
9498                 )
9499             );
9500             assert_eq!(
9501                 unsafe {
9502                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mCSSValueTriplet
9503                         as *const _ as usize
9504                 },
9505                 0usize,
9506                 concat!(
9507                     "Offset of field: ",
9508                     stringify!(StyleAnimationValue__bindgen_ty_1),
9509                     "::",
9510                     stringify!(mCSSValueTriplet)
9511                 )
9512             );
9513             assert_eq!(
9514                 unsafe {
9515                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mCSSRect
9516                         as *const _ as usize
9517                 },
9518                 0usize,
9519                 concat!(
9520                     "Offset of field: ",
9521                     stringify!(StyleAnimationValue__bindgen_ty_1),
9522                     "::",
9523                     stringify!(mCSSRect)
9524                 )
9525             );
9526             assert_eq!(
9527                 unsafe {
9528                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mCSSValueArray
9529                         as *const _ as usize
9530                 },
9531                 0usize,
9532                 concat!(
9533                     "Offset of field: ",
9534                     stringify!(StyleAnimationValue__bindgen_ty_1),
9535                     "::",
9536                     stringify!(mCSSValueArray)
9537                 )
9538             );
9539             assert_eq!(
9540                 unsafe {
9541                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mCSSValueList
9542                         as *const _ as usize
9543                 },
9544                 0usize,
9545                 concat!(
9546                     "Offset of field: ",
9547                     stringify!(StyleAnimationValue__bindgen_ty_1),
9548                     "::",
9549                     stringify!(mCSSValueList)
9550                 )
9551             );
9552             assert_eq!(
9553                 unsafe {
9554                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>()))
9555                         .mCSSValueSharedList as *const _ as usize
9556                 },
9557                 0usize,
9558                 concat!(
9559                     "Offset of field: ",
9560                     stringify!(StyleAnimationValue__bindgen_ty_1),
9561                     "::",
9562                     stringify!(mCSSValueSharedList)
9563                 )
9564             );
9565             assert_eq!(
9566                 unsafe {
9567                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mCSSValuePairList
9568                         as *const _ as usize
9569                 },
9570                 0usize,
9571                 concat!(
9572                     "Offset of field: ",
9573                     stringify!(StyleAnimationValue__bindgen_ty_1),
9574                     "::",
9575                     stringify!(mCSSValuePairList)
9576                 )
9577             );
9578             assert_eq!(
9579                 unsafe {
9580                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mString
9581                         as *const _ as usize
9582                 },
9583                 0usize,
9584                 concat!(
9585                     "Offset of field: ",
9586                     stringify!(StyleAnimationValue__bindgen_ty_1),
9587                     "::",
9588                     stringify!(mString)
9589                 )
9590             );
9591             assert_eq!(
9592                 unsafe {
9593                     &(*(::std::ptr::null::<StyleAnimationValue__bindgen_ty_1>())).mComplexColor
9594                         as *const _ as usize
9595                 },
9596                 0usize,
9597                 concat!(
9598                     "Offset of field: ",
9599                     stringify!(StyleAnimationValue__bindgen_ty_1),
9600                     "::",
9601                     stringify!(mComplexColor)
9602                 )
9603             );
9604         }
9605         impl Clone for StyleAnimationValue__bindgen_ty_1 {
clone(&self) -> Self9606             fn clone(&self) -> Self {
9607                 *self
9608             }
9609         }
9610         pub const StyleAnimationValue_IntegerConstructorType_IntegerConstructor:
9611             root::mozilla::StyleAnimationValue_IntegerConstructorType = 0;
9612         pub type StyleAnimationValue_IntegerConstructorType = u32;
9613         pub const StyleAnimationValue_CoordConstructorType_CoordConstructor:
9614             root::mozilla::StyleAnimationValue_CoordConstructorType = 0;
9615         pub type StyleAnimationValue_CoordConstructorType = u32;
9616         pub const StyleAnimationValue_PercentConstructorType_PercentConstructor:
9617             root::mozilla::StyleAnimationValue_PercentConstructorType = 0;
9618         pub type StyleAnimationValue_PercentConstructorType = u32;
9619         pub const StyleAnimationValue_FloatConstructorType_FloatConstructor:
9620             root::mozilla::StyleAnimationValue_FloatConstructorType = 0;
9621         pub type StyleAnimationValue_FloatConstructorType = u32;
9622         pub const StyleAnimationValue_ColorConstructorType_ColorConstructor:
9623             root::mozilla::StyleAnimationValue_ColorConstructorType = 0;
9624         pub type StyleAnimationValue_ColorConstructorType = u32;
9625         #[test]
bindgen_test_layout_StyleAnimationValue()9626         fn bindgen_test_layout_StyleAnimationValue() {
9627             assert_eq!(
9628                 ::std::mem::size_of::<StyleAnimationValue>(),
9629                 16usize,
9630                 concat!("Size of: ", stringify!(StyleAnimationValue))
9631             );
9632             assert_eq!(
9633                 ::std::mem::align_of::<StyleAnimationValue>(),
9634                 8usize,
9635                 concat!("Alignment of ", stringify!(StyleAnimationValue))
9636             );
9637         }
9638         impl Clone for StyleAnimationValue {
clone(&self) -> Self9639             fn clone(&self) -> Self {
9640                 *self
9641             }
9642         }
9643         #[repr(C)]
9644         #[derive(Debug)]
9645         pub struct AnimationValue {
9646             pub mGecko: root::mozilla::StyleAnimationValue,
9647             pub mServo: root::RefPtr<root::RawServoAnimationValue>,
9648         }
9649         #[test]
bindgen_test_layout_AnimationValue()9650         fn bindgen_test_layout_AnimationValue() {
9651             assert_eq!(
9652                 ::std::mem::size_of::<AnimationValue>(),
9653                 24usize,
9654                 concat!("Size of: ", stringify!(AnimationValue))
9655             );
9656             assert_eq!(
9657                 ::std::mem::align_of::<AnimationValue>(),
9658                 8usize,
9659                 concat!("Alignment of ", stringify!(AnimationValue))
9660             );
9661             assert_eq!(
9662                 unsafe { &(*(::std::ptr::null::<AnimationValue>())).mGecko as *const _ as usize },
9663                 0usize,
9664                 concat!(
9665                     "Offset of field: ",
9666                     stringify!(AnimationValue),
9667                     "::",
9668                     stringify!(mGecko)
9669                 )
9670             );
9671             assert_eq!(
9672                 unsafe { &(*(::std::ptr::null::<AnimationValue>())).mServo as *const _ as usize },
9673                 16usize,
9674                 concat!(
9675                     "Offset of field: ",
9676                     stringify!(AnimationValue),
9677                     "::",
9678                     stringify!(mServo)
9679                 )
9680             );
9681         }
9682         #[repr(C)]
9683         #[derive(Debug)]
9684         pub struct PropertyStyleAnimationValuePair {
9685             pub mProperty: root::nsCSSPropertyID,
9686             pub mValue: root::mozilla::AnimationValue,
9687         }
9688         #[test]
bindgen_test_layout_PropertyStyleAnimationValuePair()9689         fn bindgen_test_layout_PropertyStyleAnimationValuePair() {
9690             assert_eq!(
9691                 ::std::mem::size_of::<PropertyStyleAnimationValuePair>(),
9692                 32usize,
9693                 concat!("Size of: ", stringify!(PropertyStyleAnimationValuePair))
9694             );
9695             assert_eq!(
9696                 ::std::mem::align_of::<PropertyStyleAnimationValuePair>(),
9697                 8usize,
9698                 concat!("Alignment of ", stringify!(PropertyStyleAnimationValuePair))
9699             );
9700             assert_eq!(
9701                 unsafe {
9702                     &(*(::std::ptr::null::<PropertyStyleAnimationValuePair>())).mProperty
9703                         as *const _ as usize
9704                 },
9705                 0usize,
9706                 concat!(
9707                     "Offset of field: ",
9708                     stringify!(PropertyStyleAnimationValuePair),
9709                     "::",
9710                     stringify!(mProperty)
9711                 )
9712             );
9713             assert_eq!(
9714                 unsafe {
9715                     &(*(::std::ptr::null::<PropertyStyleAnimationValuePair>())).mValue as *const _
9716                         as usize
9717                 },
9718                 8usize,
9719                 concat!(
9720                     "Offset of field: ",
9721                     stringify!(PropertyStyleAnimationValuePair),
9722                     "::",
9723                     stringify!(mValue)
9724                 )
9725             );
9726         }
9727         #[repr(C)]
9728         pub struct StyleSheetInfo__bindgen_vtable(::std::os::raw::c_void);
9729         /// Struct for data common to CSSStyleSheetInner and ServoStyleSheet.
9730         #[repr(C)]
9731         pub struct StyleSheetInfo {
9732             pub vtable_: *const StyleSheetInfo__bindgen_vtable,
9733             pub mSheetURI: root::nsCOMPtr,
9734             pub mOriginalSheetURI: root::nsCOMPtr,
9735             pub mBaseURI: root::nsCOMPtr,
9736             pub mPrincipal: root::nsCOMPtr,
9737             pub mCORSMode: root::mozilla::CORSMode,
9738             pub mReferrerPolicy: root::mozilla::StyleSheetInfo_ReferrerPolicy,
9739             pub mIntegrity: root::mozilla::dom::SRIMetadata,
9740             pub mComplete: bool,
9741             pub mFirstChild: root::RefPtr<root::mozilla::StyleSheet>,
9742             pub mSheets: [u64; 10usize],
9743             pub mSourceMapURL: ::nsstring::nsStringRepr,
9744             pub mSourceMapURLFromComment: ::nsstring::nsStringRepr,
9745             pub mSourceURL: ::nsstring::nsStringRepr,
9746         }
9747         pub use self :: super :: super :: root :: mozilla :: net :: ReferrerPolicy as StyleSheetInfo_ReferrerPolicy;
9748         #[test]
bindgen_test_layout_StyleSheetInfo()9749         fn bindgen_test_layout_StyleSheetInfo() {
9750             assert_eq!(
9751                 ::std::mem::size_of::<StyleSheetInfo>(),
9752                 240usize,
9753                 concat!("Size of: ", stringify!(StyleSheetInfo))
9754             );
9755             assert_eq!(
9756                 ::std::mem::align_of::<StyleSheetInfo>(),
9757                 8usize,
9758                 concat!("Alignment of ", stringify!(StyleSheetInfo))
9759             );
9760             assert_eq!(
9761                 unsafe {
9762                     &(*(::std::ptr::null::<StyleSheetInfo>())).mSheetURI as *const _ as usize
9763                 },
9764                 8usize,
9765                 concat!(
9766                     "Offset of field: ",
9767                     stringify!(StyleSheetInfo),
9768                     "::",
9769                     stringify!(mSheetURI)
9770                 )
9771             );
9772             assert_eq!(
9773                 unsafe {
9774                     &(*(::std::ptr::null::<StyleSheetInfo>())).mOriginalSheetURI as *const _
9775                         as usize
9776                 },
9777                 16usize,
9778                 concat!(
9779                     "Offset of field: ",
9780                     stringify!(StyleSheetInfo),
9781                     "::",
9782                     stringify!(mOriginalSheetURI)
9783                 )
9784             );
9785             assert_eq!(
9786                 unsafe { &(*(::std::ptr::null::<StyleSheetInfo>())).mBaseURI as *const _ as usize },
9787                 24usize,
9788                 concat!(
9789                     "Offset of field: ",
9790                     stringify!(StyleSheetInfo),
9791                     "::",
9792                     stringify!(mBaseURI)
9793                 )
9794             );
9795             assert_eq!(
9796                 unsafe {
9797                     &(*(::std::ptr::null::<StyleSheetInfo>())).mPrincipal as *const _ as usize
9798                 },
9799                 32usize,
9800                 concat!(
9801                     "Offset of field: ",
9802                     stringify!(StyleSheetInfo),
9803                     "::",
9804                     stringify!(mPrincipal)
9805                 )
9806             );
9807             assert_eq!(
9808                 unsafe {
9809                     &(*(::std::ptr::null::<StyleSheetInfo>())).mCORSMode as *const _ as usize
9810                 },
9811                 40usize,
9812                 concat!(
9813                     "Offset of field: ",
9814                     stringify!(StyleSheetInfo),
9815                     "::",
9816                     stringify!(mCORSMode)
9817                 )
9818             );
9819             assert_eq!(
9820                 unsafe {
9821                     &(*(::std::ptr::null::<StyleSheetInfo>())).mReferrerPolicy as *const _ as usize
9822                 },
9823                 44usize,
9824                 concat!(
9825                     "Offset of field: ",
9826                     stringify!(StyleSheetInfo),
9827                     "::",
9828                     stringify!(mReferrerPolicy)
9829                 )
9830             );
9831             assert_eq!(
9832                 unsafe {
9833                     &(*(::std::ptr::null::<StyleSheetInfo>())).mIntegrity as *const _ as usize
9834                 },
9835                 48usize,
9836                 concat!(
9837                     "Offset of field: ",
9838                     stringify!(StyleSheetInfo),
9839                     "::",
9840                     stringify!(mIntegrity)
9841                 )
9842             );
9843             assert_eq!(
9844                 unsafe {
9845                     &(*(::std::ptr::null::<StyleSheetInfo>())).mComplete as *const _ as usize
9846                 },
9847                 96usize,
9848                 concat!(
9849                     "Offset of field: ",
9850                     stringify!(StyleSheetInfo),
9851                     "::",
9852                     stringify!(mComplete)
9853                 )
9854             );
9855             assert_eq!(
9856                 unsafe {
9857                     &(*(::std::ptr::null::<StyleSheetInfo>())).mFirstChild as *const _ as usize
9858                 },
9859                 104usize,
9860                 concat!(
9861                     "Offset of field: ",
9862                     stringify!(StyleSheetInfo),
9863                     "::",
9864                     stringify!(mFirstChild)
9865                 )
9866             );
9867             assert_eq!(
9868                 unsafe { &(*(::std::ptr::null::<StyleSheetInfo>())).mSheets as *const _ as usize },
9869                 112usize,
9870                 concat!(
9871                     "Offset of field: ",
9872                     stringify!(StyleSheetInfo),
9873                     "::",
9874                     stringify!(mSheets)
9875                 )
9876             );
9877             assert_eq!(
9878                 unsafe {
9879                     &(*(::std::ptr::null::<StyleSheetInfo>())).mSourceMapURL as *const _ as usize
9880                 },
9881                 192usize,
9882                 concat!(
9883                     "Offset of field: ",
9884                     stringify!(StyleSheetInfo),
9885                     "::",
9886                     stringify!(mSourceMapURL)
9887                 )
9888             );
9889             assert_eq!(
9890                 unsafe {
9891                     &(*(::std::ptr::null::<StyleSheetInfo>())).mSourceMapURLFromComment as *const _
9892                         as usize
9893                 },
9894                 208usize,
9895                 concat!(
9896                     "Offset of field: ",
9897                     stringify!(StyleSheetInfo),
9898                     "::",
9899                     stringify!(mSourceMapURLFromComment)
9900                 )
9901             );
9902             assert_eq!(
9903                 unsafe {
9904                     &(*(::std::ptr::null::<StyleSheetInfo>())).mSourceURL as *const _ as usize
9905                 },
9906                 224usize,
9907                 concat!(
9908                     "Offset of field: ",
9909                     stringify!(StyleSheetInfo),
9910                     "::",
9911                     stringify!(mSourceURL)
9912                 )
9913             );
9914         }
9915         /// CondVar
9916         /// Vanilla condition variable.  Please don't use this unless you have a
9917         /// compelling reason --- Monitor provides a simpler API.
9918         #[repr(C)]
9919         #[derive(Debug)]
9920         pub struct CondVar {
9921             pub mLock: *mut root::mozilla::Mutex,
9922             pub mImpl: root::mozilla::detail::ConditionVariableImpl,
9923         }
9924         #[test]
bindgen_test_layout_CondVar()9925         fn bindgen_test_layout_CondVar() {
9926             assert_eq!(
9927                 ::std::mem::size_of::<CondVar>(),
9928                 56usize,
9929                 concat!("Size of: ", stringify!(CondVar))
9930             );
9931             assert_eq!(
9932                 ::std::mem::align_of::<CondVar>(),
9933                 8usize,
9934                 concat!("Alignment of ", stringify!(CondVar))
9935             );
9936             assert_eq!(
9937                 unsafe { &(*(::std::ptr::null::<CondVar>())).mLock as *const _ as usize },
9938                 0usize,
9939                 concat!(
9940                     "Offset of field: ",
9941                     stringify!(CondVar),
9942                     "::",
9943                     stringify!(mLock)
9944                 )
9945             );
9946             assert_eq!(
9947                 unsafe { &(*(::std::ptr::null::<CondVar>())).mImpl as *const _ as usize },
9948                 8usize,
9949                 concat!(
9950                     "Offset of field: ",
9951                     stringify!(CondVar),
9952                     "::",
9953                     stringify!(mImpl)
9954                 )
9955             );
9956         }
9957         /// Monitor provides a *non*-reentrant monitor: *not* a Java-style
9958         /// monitor.  If your code needs support for reentrancy, use
9959         /// ReentrantMonitor instead.  (Rarely should reentrancy be needed.)
9960         ///
9961         /// Instead of directly calling Monitor methods, it's safer and simpler
9962         /// to instead use the RAII wrappers MonitorAutoLock and
9963         /// MonitorAutoUnlock.
9964         #[repr(C)]
9965         #[derive(Debug)]
9966         pub struct Monitor {
9967             pub mMutex: root::mozilla::Mutex,
9968             pub mCondVar: root::mozilla::CondVar,
9969         }
9970         #[test]
bindgen_test_layout_Monitor()9971         fn bindgen_test_layout_Monitor() {
9972             assert_eq!(
9973                 ::std::mem::size_of::<Monitor>(),
9974                 96usize,
9975                 concat!("Size of: ", stringify!(Monitor))
9976             );
9977             assert_eq!(
9978                 ::std::mem::align_of::<Monitor>(),
9979                 8usize,
9980                 concat!("Alignment of ", stringify!(Monitor))
9981             );
9982             assert_eq!(
9983                 unsafe { &(*(::std::ptr::null::<Monitor>())).mMutex as *const _ as usize },
9984                 0usize,
9985                 concat!(
9986                     "Offset of field: ",
9987                     stringify!(Monitor),
9988                     "::",
9989                     stringify!(mMutex)
9990                 )
9991             );
9992             assert_eq!(
9993                 unsafe { &(*(::std::ptr::null::<Monitor>())).mCondVar as *const _ as usize },
9994                 40usize,
9995                 concat!(
9996                     "Offset of field: ",
9997                     stringify!(Monitor),
9998                     "::",
9999                     stringify!(mCondVar)
10000                 )
10001             );
10002         }
10003         #[repr(C)]
10004         pub struct MozPromiseRefcountable__bindgen_vtable(::std::os::raw::c_void);
10005         #[repr(C)]
10006         #[derive(Debug)]
10007         pub struct MozPromiseRefcountable {
10008             pub vtable_: *const MozPromiseRefcountable__bindgen_vtable,
10009             pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
10010         }
10011         pub type MozPromiseRefcountable_HasThreadSafeRefCnt = root::mozilla::TrueType;
10012         #[test]
bindgen_test_layout_MozPromiseRefcountable()10013         fn bindgen_test_layout_MozPromiseRefcountable() {
10014             assert_eq!(
10015                 ::std::mem::size_of::<MozPromiseRefcountable>(),
10016                 16usize,
10017                 concat!("Size of: ", stringify!(MozPromiseRefcountable))
10018             );
10019             assert_eq!(
10020                 ::std::mem::align_of::<MozPromiseRefcountable>(),
10021                 8usize,
10022                 concat!("Alignment of ", stringify!(MozPromiseRefcountable))
10023             );
10024             assert_eq!(
10025                 unsafe {
10026                     &(*(::std::ptr::null::<MozPromiseRefcountable>())).mRefCnt as *const _ as usize
10027                 },
10028                 8usize,
10029                 concat!(
10030                     "Offset of field: ",
10031                     stringify!(MozPromiseRefcountable),
10032                     "::",
10033                     stringify!(mRefCnt)
10034                 )
10035             );
10036         }
10037         pub type MozPromise_ResolveValueType<ResolveValueT> = ResolveValueT;
10038         pub type MozPromise_RejectValueType<RejectValueT> = RejectValueT;
10039         #[repr(C)]
10040         #[derive(Debug)]
10041         pub struct MozPromise_ResolveOrRejectValue {
10042             pub mValue: root::mozilla::MozPromise_ResolveOrRejectValue_Storage,
10043         }
10044         pub const MozPromise_ResolveOrRejectValue_NothingIndex:
10045             root::mozilla::MozPromise_ResolveOrRejectValue__bindgen_ty_1 = 0;
10046         pub const MozPromise_ResolveOrRejectValue_ResolveIndex:
10047             root::mozilla::MozPromise_ResolveOrRejectValue__bindgen_ty_1 = 0;
10048         pub const MozPromise_ResolveOrRejectValue_RejectIndex:
10049             root::mozilla::MozPromise_ResolveOrRejectValue__bindgen_ty_1 = 0;
10050         pub type MozPromise_ResolveOrRejectValue__bindgen_ty_1 = i32;
10051         pub type MozPromise_ResolveOrRejectValue_Storage = root::mozilla::Variant;
10052         pub type MozPromise_AllPromiseType = u8;
10053         #[repr(C)]
10054         #[derive(Debug)]
10055         pub struct MozPromise_AllPromiseHolder {
10056             pub _base: root::mozilla::MozPromiseRefcountable,
10057             pub mResolveValues: u8,
10058             pub mPromise: root::RefPtr<root::mozilla::MozPromise_AllPromiseType>,
10059             pub mOutstandingPromises: usize,
10060         }
10061         #[repr(C)]
10062         #[derive(Debug)]
10063         pub struct MozPromise_Request {
10064             pub _base: root::mozilla::MozPromiseRefcountable,
10065             pub mComplete: bool,
10066             pub mDisconnected: bool,
10067         }
10068         #[repr(C)]
10069         #[derive(Debug)]
10070         pub struct MozPromise_ThenValueBase {
10071             pub _base: root::mozilla::MozPromise_Request,
10072             pub mResponseTarget: root::nsCOMPtr,
10073             pub mMagic1: u32,
10074             pub mCallSite: *const ::std::os::raw::c_char,
10075             pub mMagic2: u32,
10076         }
10077         #[repr(C)]
10078         #[derive(Debug)]
10079         pub struct MozPromise_ThenValueBase_ResolveOrRejectRunnable {
10080             pub _base: root::mozilla::CancelableRunnable,
10081             pub mThenValue: root::RefPtr<root::mozilla::MozPromise_ThenValueBase>,
10082             pub mPromise: u8,
10083         }
10084         #[repr(C)]
10085         #[derive(Debug, Copy, Clone)]
10086         pub struct MozPromise_ThenValue {
10087             pub _address: u8,
10088         }
10089         #[repr(C)]
10090         #[derive(Debug)]
10091         pub struct MozPromise_ThenCommand<ThenValueType> {
10092             pub mCallSite: *const ::std::os::raw::c_char,
10093             pub mThenValue: root::RefPtr<ThenValueType>,
10094             pub mReceiver: u8,
10095             pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<ThenValueType>>,
10096         }
10097         pub type MozPromise_ThenCommand_PromiseType = [u8; 0usize];
10098         pub type MozPromise_ThenCommand_Private = [u8; 0usize];
10099         #[repr(C)]
10100         #[derive(Debug)]
10101         pub struct MozPromise_Private {
10102             pub _base: u8,
10103         }
10104         #[repr(C)]
10105         #[derive(Debug)]
10106         pub struct MozPromiseHolder<PromiseType> {
10107             pub mMonitor: *mut root::mozilla::Monitor,
10108             pub mPromise: root::RefPtr<PromiseType>,
10109             pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<PromiseType>>,
10110         }
10111         #[repr(C)]
10112         #[derive(Debug, Copy)]
10113         pub struct ServoCSSRuleList {
10114             _unused: [u8; 0],
10115         }
10116         impl Clone for ServoCSSRuleList {
clone(&self) -> Self10117             fn clone(&self) -> Self {
10118                 *self
10119             }
10120         }
10121         pub type StyleSheetParsePromise = [u64; 16usize];
10122         #[repr(C)]
10123         pub struct ServoStyleSheetInner {
10124             pub _base: root::mozilla::StyleSheetInfo,
10125             pub mContents: root::RefPtr<root::RawServoStyleSheetContents>,
10126             pub mURLData: root::RefPtr<root::mozilla::URLExtraData>,
10127         }
10128         #[test]
bindgen_test_layout_ServoStyleSheetInner()10129         fn bindgen_test_layout_ServoStyleSheetInner() {
10130             assert_eq!(
10131                 ::std::mem::size_of::<ServoStyleSheetInner>(),
10132                 256usize,
10133                 concat!("Size of: ", stringify!(ServoStyleSheetInner))
10134             );
10135             assert_eq!(
10136                 ::std::mem::align_of::<ServoStyleSheetInner>(),
10137                 8usize,
10138                 concat!("Alignment of ", stringify!(ServoStyleSheetInner))
10139             );
10140             assert_eq!(
10141                 unsafe {
10142                     &(*(::std::ptr::null::<ServoStyleSheetInner>())).mContents as *const _ as usize
10143                 },
10144                 240usize,
10145                 concat!(
10146                     "Offset of field: ",
10147                     stringify!(ServoStyleSheetInner),
10148                     "::",
10149                     stringify!(mContents)
10150                 )
10151             );
10152             assert_eq!(
10153                 unsafe {
10154                     &(*(::std::ptr::null::<ServoStyleSheetInner>())).mURLData as *const _ as usize
10155                 },
10156                 248usize,
10157                 concat!(
10158                     "Offset of field: ",
10159                     stringify!(ServoStyleSheetInner),
10160                     "::",
10161                     stringify!(mURLData)
10162                 )
10163             );
10164         }
10165         #[repr(C)]
10166         pub struct ServoStyleSheet {
10167             pub _base: root::mozilla::StyleSheet,
10168             pub mRuleList: root::RefPtr<root::mozilla::ServoCSSRuleList>,
10169             pub mParsePromise:
10170                 root::mozilla::MozPromiseHolder<root::mozilla::StyleSheetParsePromise>,
10171         }
10172         #[repr(C)]
10173         #[derive(Debug, Copy)]
10174         pub struct ServoStyleSheet_cycleCollection {
10175             pub _base: root::mozilla::StyleSheet_cycleCollection,
10176         }
10177         #[test]
bindgen_test_layout_ServoStyleSheet_cycleCollection()10178         fn bindgen_test_layout_ServoStyleSheet_cycleCollection() {
10179             assert_eq!(
10180                 ::std::mem::size_of::<ServoStyleSheet_cycleCollection>(),
10181                 16usize,
10182                 concat!("Size of: ", stringify!(ServoStyleSheet_cycleCollection))
10183             );
10184             assert_eq!(
10185                 ::std::mem::align_of::<ServoStyleSheet_cycleCollection>(),
10186                 8usize,
10187                 concat!("Alignment of ", stringify!(ServoStyleSheet_cycleCollection))
10188             );
10189         }
10190         impl Clone for ServoStyleSheet_cycleCollection {
clone(&self) -> Self10191             fn clone(&self) -> Self {
10192                 *self
10193             }
10194         }
10195         #[repr(C)]
10196         #[derive(Debug, Copy, Clone)]
10197         pub struct ServoStyleSheet_COMTypeInfo {
10198             pub _address: u8,
10199         }
10200         extern "C" {
10201             #[link_name = "\u{1}_ZN7mozilla15ServoStyleSheet21_cycleCollectorGlobalE"]
10202             pub static mut ServoStyleSheet__cycleCollectorGlobal:
10203                 root::mozilla::ServoStyleSheet_cycleCollection;
10204         }
10205         #[test]
bindgen_test_layout_ServoStyleSheet()10206         fn bindgen_test_layout_ServoStyleSheet() {
10207             assert_eq!(
10208                 ::std::mem::size_of::<ServoStyleSheet>(),
10209                 152usize,
10210                 concat!("Size of: ", stringify!(ServoStyleSheet))
10211             );
10212             assert_eq!(
10213                 ::std::mem::align_of::<ServoStyleSheet>(),
10214                 8usize,
10215                 concat!("Alignment of ", stringify!(ServoStyleSheet))
10216             );
10217             assert_eq!(
10218                 unsafe {
10219                     &(*(::std::ptr::null::<ServoStyleSheet>())).mRuleList as *const _ as usize
10220                 },
10221                 128usize,
10222                 concat!(
10223                     "Offset of field: ",
10224                     stringify!(ServoStyleSheet),
10225                     "::",
10226                     stringify!(mRuleList)
10227                 )
10228             );
10229             assert_eq!(
10230                 unsafe {
10231                     &(*(::std::ptr::null::<ServoStyleSheet>())).mParsePromise as *const _ as usize
10232                 },
10233                 136usize,
10234                 concat!(
10235                     "Offset of field: ",
10236                     stringify!(ServoStyleSheet),
10237                     "::",
10238                     stringify!(mParsePromise)
10239                 )
10240             );
10241         }
10242         #[repr(C)]
10243         #[derive(Debug)]
10244         pub struct URIPrincipalReferrerPolicyAndCORSModeHashKey {
10245             pub _base: root::nsURIHashKey,
10246             pub mPrincipal: root::nsCOMPtr,
10247             pub mCORSMode: root::mozilla::CORSMode,
10248             pub mReferrerPolicy:
10249                 root::mozilla::URIPrincipalReferrerPolicyAndCORSModeHashKey_ReferrerPolicy,
10250         }
10251         pub type URIPrincipalReferrerPolicyAndCORSModeHashKey_KeyType =
10252             *mut root::mozilla::URIPrincipalReferrerPolicyAndCORSModeHashKey;
10253         pub type URIPrincipalReferrerPolicyAndCORSModeHashKey_KeyTypePointer =
10254             *const root::mozilla::URIPrincipalReferrerPolicyAndCORSModeHashKey;
10255         pub use self :: super :: super :: root :: mozilla :: net :: ReferrerPolicy as URIPrincipalReferrerPolicyAndCORSModeHashKey_ReferrerPolicy;
10256         pub const URIPrincipalReferrerPolicyAndCORSModeHashKey_ALLOW_MEMMOVE:
10257             root::mozilla::URIPrincipalReferrerPolicyAndCORSModeHashKey__bindgen_ty_1 = 1;
10258         pub type URIPrincipalReferrerPolicyAndCORSModeHashKey__bindgen_ty_1 = u32;
10259         #[test]
bindgen_test_layout_URIPrincipalReferrerPolicyAndCORSModeHashKey()10260         fn bindgen_test_layout_URIPrincipalReferrerPolicyAndCORSModeHashKey() {
10261             assert_eq!(
10262                 ::std::mem::size_of::<URIPrincipalReferrerPolicyAndCORSModeHashKey>(),
10263                 32usize,
10264                 concat!(
10265                     "Size of: ",
10266                     stringify!(URIPrincipalReferrerPolicyAndCORSModeHashKey)
10267                 )
10268             );
10269             assert_eq!(
10270                 ::std::mem::align_of::<URIPrincipalReferrerPolicyAndCORSModeHashKey>(),
10271                 8usize,
10272                 concat!(
10273                     "Alignment of ",
10274                     stringify!(URIPrincipalReferrerPolicyAndCORSModeHashKey)
10275                 )
10276             );
10277             assert_eq!(
10278                 unsafe {
10279                     &(*(::std::ptr::null::<URIPrincipalReferrerPolicyAndCORSModeHashKey>()))
10280                         .mPrincipal as *const _ as usize
10281                 },
10282                 16usize,
10283                 concat!(
10284                     "Offset of field: ",
10285                     stringify!(URIPrincipalReferrerPolicyAndCORSModeHashKey),
10286                     "::",
10287                     stringify!(mPrincipal)
10288                 )
10289             );
10290             assert_eq!(
10291                 unsafe {
10292                     &(*(::std::ptr::null::<URIPrincipalReferrerPolicyAndCORSModeHashKey>()))
10293                         .mCORSMode as *const _ as usize
10294                 },
10295                 24usize,
10296                 concat!(
10297                     "Offset of field: ",
10298                     stringify!(URIPrincipalReferrerPolicyAndCORSModeHashKey),
10299                     "::",
10300                     stringify!(mCORSMode)
10301                 )
10302             );
10303             assert_eq!(
10304                 unsafe {
10305                     &(*(::std::ptr::null::<URIPrincipalReferrerPolicyAndCORSModeHashKey>()))
10306                         .mReferrerPolicy as *const _ as usize
10307                 },
10308                 28usize,
10309                 concat!(
10310                     "Offset of field: ",
10311                     stringify!(URIPrincipalReferrerPolicyAndCORSModeHashKey),
10312                     "::",
10313                     stringify!(mReferrerPolicy)
10314                 )
10315             );
10316         }
10317         /// An encoding as defined in the Encoding Standard
10318         /// (https://encoding.spec.whatwg.org/).
10319         ///
10320         /// See https://docs.rs/encoding_rs/ for the Rust API docs.
10321         ///
10322         /// An _encoding_ defines a mapping from a byte sequence to a Unicode code point
10323         /// sequence and, in most cases, vice versa. Each encoding has a name, an output
10324         /// encoding, and one or more labels.
10325         ///
10326         /// _Labels_ are ASCII-case-insensitive strings that are used to identify an
10327         /// encoding in formats and protocols. The _name_ of the encoding is the
10328         /// preferred label in the case appropriate for returning from the
10329         /// `characterSet` property of the `Document` DOM interface, except for
10330         /// the replacement encoding whose name is not one of its labels.
10331         ///
10332         /// The _output encoding_ is the encoding used for form submission and URL
10333         /// parsing on Web pages in the encoding. This is UTF-8 for the replacement,
10334         /// UTF-16LE and UTF-16BE encodings and the encoding itself for other
10335         /// encodings.
10336         ///
10337         /// # Streaming vs. Non-Streaming
10338         ///
10339         /// When you have the entire input in a single buffer, you can use the
10340         /// methods `Decode()`, `DecodeWithBOMRemoval()`,
10341         /// `DecodeWithoutBOMHandling()`,
10342         /// `DecodeWithoutBOMHandlingAndWithoutReplacement()` and
10343         /// `Encode()`. Unlike the rest of the API (apart from the `NewDecoder()` and
10344         /// NewEncoder()` methods), these methods perform heap allocations. You should
10345         /// the `Decoder` and `Encoder` objects when your input is split into multiple
10346         /// buffers or when you want to control the allocation of the output buffers.
10347         ///
10348         /// # Instances
10349         ///
10350         /// All instances of `Encoding` are statically allocated and have the process's
10351         /// lifetime. There is precisely one unique `Encoding` instance for each
10352         /// encoding defined in the Encoding Standard.
10353         ///
10354         /// To obtain a reference to a particular encoding whose identity you know at
10355         /// compile time, use a `static` that refers to encoding. There is a `static`
10356         /// for each encoding. The `static`s are named in all caps with hyphens
10357         /// replaced with underscores and with `_ENCODING` appended to the
10358         /// name. For example, if you know at compile time that you will want to
10359         /// decode using the UTF-8 encoding, use the `UTF_8_ENCODING` `static`.
10360         ///
10361         /// If you don't know what encoding you need at compile time and need to
10362         /// dynamically get an encoding by label, use `Encoding::for_label()`.
10363         ///
10364         /// Pointers to `Encoding` can be compared with `==` to check for the sameness
10365         /// of two encodings.
10366         ///
10367         /// A pointer to a `mozilla::Encoding` in C++ is the same thing as a pointer
10368         /// to an `encoding_rs::Encoding` in Rust. When writing FFI code, use
10369         /// `const mozilla::Encoding*` in the C signature and
10370         /// `*const encoding_rs::Encoding` is the corresponding Rust signature.
10371         #[repr(C)]
10372         #[derive(Debug)]
10373         pub struct Encoding {
10374             pub _address: u8,
10375         }
10376         #[test]
bindgen_test_layout_Encoding()10377         fn bindgen_test_layout_Encoding() {
10378             assert_eq!(
10379                 ::std::mem::size_of::<Encoding>(),
10380                 1usize,
10381                 concat!("Size of: ", stringify!(Encoding))
10382             );
10383             assert_eq!(
10384                 ::std::mem::align_of::<Encoding>(),
10385                 1usize,
10386                 concat!("Alignment of ", stringify!(Encoding))
10387             );
10388         }
10389         /// A converter that decodes a byte stream into Unicode according to a
10390         /// character encoding in a streaming (incremental) manner.
10391         ///
10392         /// The various `Decode*` methods take an input buffer (`aSrc`) and an output
10393         /// buffer `aDst` both of which are caller-allocated. There are variants for
10394         /// both UTF-8 and UTF-16 output buffers.
10395         ///
10396         /// A `Decode*` method decodes bytes from `aSrc` into Unicode characters stored
10397         /// into `aDst` until one of the following three things happens:
10398         ///
10399         /// 1. A malformed byte sequence is encountered (`*WithoutReplacement`
10400         /// variants only).
10401         ///
10402         /// 2. The output buffer has been filled so near capacity that the decoder
10403         /// cannot be sure that processing an additional byte of input wouldn't
10404         /// cause so much output that the output buffer would overflow.
10405         ///
10406         /// 3. All the input bytes have been processed.
10407         ///
10408         /// The `Decode*` method then returns tuple of a status indicating which one
10409         /// of the three reasons to return happened, how many input bytes were read,
10410         /// how many output code units (`uint8_t` when decoding into UTF-8 and `char16_t`
10411         /// when decoding to UTF-16) were written, and in the case of the
10412         /// variants performing replacement, a boolean indicating whether an error was
10413         /// replaced with the REPLACEMENT CHARACTER during the call.
10414         ///
10415         /// The number of bytes "written" is what's logically written. Garbage may be
10416         /// written in the output buffer beyond the point logically written to.
10417         ///
10418         /// In the case of the `*WithoutReplacement` variants, the status is a
10419         /// `uint32_t` whose possible values are packed info about a malformed byte
10420         /// sequence, `kOutputFull` and `kInputEmpty` corresponding to the three cases
10421         /// listed above).
10422         ///
10423         /// Packed info about malformed sequences has the following format:
10424         /// The lowest 8 bits, which can have the decimal value 0, 1, 2 or 3,
10425         /// indicate the number of bytes that were consumed after the malformed
10426         /// sequence and whose next-lowest 8 bits, when shifted right by 8 indicate
10427         /// the length of the malformed byte sequence (possible decimal values 1, 2,
10428         /// 3 or 4). The maximum possible sum of the two is 6.
10429         ///
10430         /// In the case of methods whose name does not end with
10431         /// `*WithoutReplacement`, malformed sequences are automatically replaced
10432         /// with the REPLACEMENT CHARACTER and errors do not cause the methods to
10433         /// return early.
10434         ///
10435         /// When decoding to UTF-8, the output buffer must have at least 4 bytes of
10436         /// space. When decoding to UTF-16, the output buffer must have at least two
10437         /// UTF-16 code units (`char16_t`) of space.
10438         ///
10439         /// When decoding to UTF-8 without replacement, the methods are guaranteed
10440         /// not to return indicating that more output space is needed if the length
10441         /// of the output buffer is at least the length returned by
10442         /// `MaxUTF8BufferLengthWithoutReplacement()`. When decoding to UTF-8
10443         /// with replacement, the length of the output buffer that guarantees the
10444         /// methods not to return indicating that more output space is needed is given
10445         /// by `MaxUTF8BufferLength()`. When decoding to UTF-16 with
10446         /// or without replacement, the length of the output buffer that guarantees
10447         /// the methods not to return indicating that more output space is needed is
10448         /// given by `MaxUTF16BufferLength()`.
10449         ///
10450         /// The output written into `aDst` is guaranteed to be valid UTF-8 or UTF-16,
10451         /// and the output after each `Decode*` call is guaranteed to consist of
10452         /// complete characters. (I.e. the code unit sequence for the last character is
10453         /// guaranteed not to be split across output buffers.)
10454         ///
10455         /// The boolean argument `aLast` indicates that the end of the stream is reached
10456         /// when all the bytes in `aSrc` have been consumed.
10457         ///
10458         /// A `Decoder` object can be used to incrementally decode a byte stream.
10459         ///
10460         /// During the processing of a single stream, the caller must call `Decode*`
10461         /// zero or more times with `aLast` set to `false` and then call `Decode*` at
10462         /// least once with `aLast` set to `true`. If `Decode*` returns `kInputEmpty`,
10463         /// the processing of the stream has ended. Otherwise, the caller must call
10464         /// `Decode*` again with `aLast` set to `true` (or treat a malformed result,
10465         /// i.e. neither `kInputEmpty` nor `kOutputFull`, as a fatal error).
10466         ///
10467         /// Once the stream has ended, the `Decoder` object must not be used anymore.
10468         /// That is, you need to create another one to process another stream.
10469         ///
10470         /// When the decoder returns `kOutputFull` or the decoder returns a malformed
10471         /// result and the caller does not wish to treat it as a fatal error, the input
10472         /// buffer `aSrc` may not have been completely consumed. In that case, the caller
10473         /// must pass the unconsumed contents of `aSrc` to `Decode*` again upon the next
10474         /// call.
10475         ///
10476         /// # Infinite loops
10477         ///
10478         /// When converting with a fixed-size output buffer whose size is too small to
10479         /// accommodate one character of output, an infinite loop ensues. When
10480         /// converting with a fixed-size output buffer, it generally makes sense to
10481         /// make the buffer fairly large (e.g. couple of kilobytes).
10482         #[repr(C)]
10483         #[derive(Debug)]
10484         pub struct Decoder {
10485             pub _address: u8,
10486         }
10487         #[test]
bindgen_test_layout_Decoder()10488         fn bindgen_test_layout_Decoder() {
10489             assert_eq!(
10490                 ::std::mem::size_of::<Decoder>(),
10491                 1usize,
10492                 concat!("Size of: ", stringify!(Decoder))
10493             );
10494             assert_eq!(
10495                 ::std::mem::align_of::<Decoder>(),
10496                 1usize,
10497                 concat!("Alignment of ", stringify!(Decoder))
10498             );
10499         }
10500         /// A converter that encodes a Unicode stream into bytes according to a
10501         /// character encoding in a streaming (incremental) manner.
10502         ///
10503         /// The various `Encode*` methods take an input buffer (`aSrc`) and an output
10504         /// buffer `aDst` both of which are caller-allocated. There are variants for
10505         /// both UTF-8 and UTF-16 input buffers.
10506         ///
10507         /// An `Encode*` method encode characters from `aSrc` into bytes characters
10508         /// stored into `aDst` until one of the following three things happens:
10509         ///
10510         /// 1. An unmappable character is encountered (`*WithoutReplacement` variants
10511         /// only).
10512         ///
10513         /// 2. The output buffer has been filled so near capacity that the decoder
10514         /// cannot be sure that processing an additional character of input wouldn't
10515         /// cause so much output that the output buffer would overflow.
10516         ///
10517         /// 3. All the input characters have been processed.
10518         ///
10519         /// The `Encode*` method then returns tuple of a status indicating which one
10520         /// of the three reasons to return happened, how many input code units (`uint8_t`
10521         /// when encoding from UTF-8 and `char16_t` when encoding from UTF-16) were read,
10522         /// how many output bytes were written, and in the case of the variants that
10523         /// perform replacement, a boolean indicating whether an unmappable
10524         /// character was replaced with a numeric character reference during the call.
10525         ///
10526         /// The number of bytes "written" is what's logically written. Garbage may be
10527         /// written in the output buffer beyond the point logically written to.
10528         ///
10529         /// In the case of the methods whose name ends with
10530         /// `*WithoutReplacement`, the status is a `uint32_t` whose possible values
10531         /// are an unmappable code point, `kOutputFull` and `kInputEmpty` corresponding
10532         /// to the three cases listed above).
10533         ///
10534         /// In the case of methods whose name does not end with
10535         /// `*WithoutReplacement`, unmappable characters are automatically replaced
10536         /// with the corresponding numeric character references and unmappable
10537         /// characters do not cause the methods to return early.
10538         ///
10539         /// When encoding from UTF-8 without replacement, the methods are guaranteed
10540         /// not to return indicating that more output space is needed if the length
10541         /// of the output buffer is at least the length returned by
10542         /// `MaxBufferLengthFromUTF8WithoutReplacement()`. When encoding from
10543         /// UTF-8 with replacement, the length of the output buffer that guarantees the
10544         /// methods not to return indicating that more output space is needed in the
10545         /// absence of unmappable characters is given by
10546         /// `MaxBufferLengthFromUTF8IfNoUnmappables()`. When encoding from
10547         /// UTF-16 without replacement, the methods are guaranteed not to return
10548         /// indicating that more output space is needed if the length of the output
10549         /// buffer is at least the length returned by
10550         /// `MaxBufferLengthFromUTF16WithoutReplacement()`. When encoding
10551         /// from UTF-16 with replacement, the the length of the output buffer that
10552         /// guarantees the methods not to return indicating that more output space is
10553         /// needed in the absence of unmappable characters is given by
10554         /// `MaxBufferLengthFromUTF16IfNoUnmappables()`.
10555         /// When encoding with replacement, applications are not expected to size the
10556         /// buffer for the worst case ahead of time but to resize the buffer if there
10557         /// are unmappable characters. This is why max length queries are only available
10558         /// for the case where there are no unmappable characters.
10559         ///
10560         /// When encoding from UTF-8, each `aSrc` buffer _must_ be valid UTF-8. When
10561         /// encoding from UTF-16, unpaired surrogates in the input are treated as U+FFFD
10562         /// REPLACEMENT CHARACTERS. Therefore, in order for astral characters not to
10563         /// turn into a pair of REPLACEMENT CHARACTERS, the caller must ensure that
10564         /// surrogate pairs are not split across input buffer boundaries.
10565         ///
10566         /// After an `Encode*` call returns, the output produced so far, taken as a
10567         /// whole from the start of the stream, is guaranteed to consist of a valid
10568         /// byte sequence in the target encoding. (I.e. the code unit sequence for a
10569         /// character is guaranteed not to be split across output buffers. However, due
10570         /// to the stateful nature of ISO-2022-JP, the stream needs to be considered
10571         /// from the start for it to be valid. For other encodings, the validity holds
10572         /// on a per-output buffer basis.)
10573         ///
10574         /// The boolean argument `aLast` indicates that the end of the stream is reached
10575         /// when all the characters in `aSrc` have been consumed. This argument is needed
10576         /// for ISO-2022-JP and is ignored for other encodings.
10577         ///
10578         /// An `Encoder` object can be used to incrementally encode a byte stream.
10579         ///
10580         /// During the processing of a single stream, the caller must call `Encode*`
10581         /// zero or more times with `aLast` set to `false` and then call `Encode*` at
10582         /// least once with `aLast` set to `true`. If `Encode*` returns `kInputEmpty`,
10583         /// the processing of the stream has ended. Otherwise, the caller must call
10584         /// `Encode*` again with `aLast` set to `true` (or treat an unmappable result,
10585         /// i.e. neither `kInputEmpty` nor `kOutputFull`, as a fatal error).
10586         ///
10587         /// Once the stream has ended, the `Encoder` object must not be used anymore.
10588         /// That is, you need to create another one to process another stream.
10589         ///
10590         /// When the encoder returns `kOutputFull` or the encoder returns an unmappable
10591         /// result and the caller does not wish to treat it as a fatal error, the input
10592         /// buffer `aSrc` may not have been completely consumed. In that case, the caller
10593         /// must pass the unconsumed contents of `aSrc` to `Encode*` again upon the next
10594         /// call.
10595         ///
10596         /// # Infinite loops
10597         ///
10598         /// When converting with a fixed-size output buffer whose size is too small to
10599         /// accommodate one character of output, an infinite loop ensues. When
10600         /// converting with a fixed-size output buffer, it generally makes sense to
10601         /// make the buffer fairly large (e.g. couple of kilobytes).
10602         #[repr(C)]
10603         #[derive(Debug)]
10604         pub struct Encoder {
10605             pub _address: u8,
10606         }
10607         #[test]
bindgen_test_layout_Encoder()10608         fn bindgen_test_layout_Encoder() {
10609             assert_eq!(
10610                 ::std::mem::size_of::<Encoder>(),
10611                 1usize,
10612                 concat!("Size of: ", stringify!(Encoder))
10613             );
10614             assert_eq!(
10615                 ::std::mem::align_of::<Encoder>(),
10616                 1usize,
10617                 concat!("Alignment of ", stringify!(Encoder))
10618             );
10619         }
10620         #[repr(C)]
10621         #[derive(Debug)]
10622         pub struct BindingStyleRule {
10623             pub _base: root::mozilla::css::Rule,
10624         }
10625         #[test]
bindgen_test_layout_BindingStyleRule()10626         fn bindgen_test_layout_BindingStyleRule() {
10627             assert_eq!(
10628                 ::std::mem::size_of::<BindingStyleRule>(),
10629                 64usize,
10630                 concat!("Size of: ", stringify!(BindingStyleRule))
10631             );
10632             assert_eq!(
10633                 ::std::mem::align_of::<BindingStyleRule>(),
10634                 8usize,
10635                 concat!("Alignment of ", stringify!(BindingStyleRule))
10636             );
10637         }
10638         #[repr(C)]
10639         #[derive(Debug)]
10640         pub struct ServoStyleRuleDeclaration {
10641             pub _base: root::nsDOMCSSDeclaration,
10642             pub mDecls: root::RefPtr<root::mozilla::ServoDeclarationBlock>,
10643         }
10644         #[test]
bindgen_test_layout_ServoStyleRuleDeclaration()10645         fn bindgen_test_layout_ServoStyleRuleDeclaration() {
10646             assert_eq!(
10647                 ::std::mem::size_of::<ServoStyleRuleDeclaration>(),
10648                 40usize,
10649                 concat!("Size of: ", stringify!(ServoStyleRuleDeclaration))
10650             );
10651             assert_eq!(
10652                 ::std::mem::align_of::<ServoStyleRuleDeclaration>(),
10653                 8usize,
10654                 concat!("Alignment of ", stringify!(ServoStyleRuleDeclaration))
10655             );
10656             assert_eq!(
10657                 unsafe {
10658                     &(*(::std::ptr::null::<ServoStyleRuleDeclaration>())).mDecls as *const _
10659                         as usize
10660                 },
10661                 32usize,
10662                 concat!(
10663                     "Offset of field: ",
10664                     stringify!(ServoStyleRuleDeclaration),
10665                     "::",
10666                     stringify!(mDecls)
10667                 )
10668             );
10669         }
10670         #[repr(C)]
10671         #[derive(Debug)]
10672         pub struct ServoStyleRule {
10673             pub _base: root::mozilla::BindingStyleRule,
10674             pub _base_1: u64,
10675             pub mRawRule: root::RefPtr<root::RawServoStyleRule>,
10676             pub mDecls: root::mozilla::ServoStyleRuleDeclaration,
10677         }
10678         #[repr(C)]
10679         #[derive(Debug, Copy)]
10680         pub struct ServoStyleRule_cycleCollection {
10681             pub _base: root::mozilla::css::Rule_cycleCollection,
10682         }
10683         #[test]
bindgen_test_layout_ServoStyleRule_cycleCollection()10684         fn bindgen_test_layout_ServoStyleRule_cycleCollection() {
10685             assert_eq!(
10686                 ::std::mem::size_of::<ServoStyleRule_cycleCollection>(),
10687                 16usize,
10688                 concat!("Size of: ", stringify!(ServoStyleRule_cycleCollection))
10689             );
10690             assert_eq!(
10691                 ::std::mem::align_of::<ServoStyleRule_cycleCollection>(),
10692                 8usize,
10693                 concat!("Alignment of ", stringify!(ServoStyleRule_cycleCollection))
10694             );
10695         }
10696         impl Clone for ServoStyleRule_cycleCollection {
clone(&self) -> Self10697             fn clone(&self) -> Self {
10698                 *self
10699             }
10700         }
10701         extern "C" {
10702             #[link_name = "\u{1}_ZN7mozilla14ServoStyleRule21_cycleCollectorGlobalE"]
10703             pub static mut ServoStyleRule__cycleCollectorGlobal:
10704                 root::mozilla::ServoStyleRule_cycleCollection;
10705         }
10706         #[test]
bindgen_test_layout_ServoStyleRule()10707         fn bindgen_test_layout_ServoStyleRule() {
10708             assert_eq!(
10709                 ::std::mem::size_of::<ServoStyleRule>(),
10710                 120usize,
10711                 concat!("Size of: ", stringify!(ServoStyleRule))
10712             );
10713             assert_eq!(
10714                 ::std::mem::align_of::<ServoStyleRule>(),
10715                 8usize,
10716                 concat!("Alignment of ", stringify!(ServoStyleRule))
10717             );
10718             assert_eq!(
10719                 unsafe { &(*(::std::ptr::null::<ServoStyleRule>())).mRawRule as *const _ as usize },
10720                 72usize,
10721                 concat!(
10722                     "Offset of field: ",
10723                     stringify!(ServoStyleRule),
10724                     "::",
10725                     stringify!(mRawRule)
10726                 )
10727             );
10728             assert_eq!(
10729                 unsafe { &(*(::std::ptr::null::<ServoStyleRule>())).mDecls as *const _ as usize },
10730                 80usize,
10731                 concat!(
10732                     "Offset of field: ",
10733                     stringify!(ServoStyleRule),
10734                     "::",
10735                     stringify!(mDecls)
10736                 )
10737             );
10738         }
10739         #[repr(C)]
10740         #[derive(Debug)]
10741         pub struct ServoStyleRuleMap {
10742             pub mTable: root::mozilla::ServoStyleRuleMap_Hashtable,
10743         }
10744         pub type ServoStyleRuleMap_Hashtable = [u64; 4usize];
10745         #[test]
bindgen_test_layout_ServoStyleRuleMap()10746         fn bindgen_test_layout_ServoStyleRuleMap() {
10747             assert_eq!(
10748                 ::std::mem::size_of::<ServoStyleRuleMap>(),
10749                 32usize,
10750                 concat!("Size of: ", stringify!(ServoStyleRuleMap))
10751             );
10752             assert_eq!(
10753                 ::std::mem::align_of::<ServoStyleRuleMap>(),
10754                 8usize,
10755                 concat!("Alignment of ", stringify!(ServoStyleRuleMap))
10756             );
10757             assert_eq!(
10758                 unsafe {
10759                     &(*(::std::ptr::null::<ServoStyleRuleMap>())).mTable as *const _ as usize
10760                 },
10761                 0usize,
10762                 concat!(
10763                     "Offset of field: ",
10764                     stringify!(ServoStyleRuleMap),
10765                     "::",
10766                     stringify!(mTable)
10767                 )
10768             );
10769         }
10770         #[repr(C)]
10771         #[derive(Debug, Copy)]
10772         pub struct ComputedTimingFunction {
10773             pub mType: root::nsTimingFunction_Type,
10774             pub mTimingFunction: root::nsSMILKeySpline,
10775             pub mStepsOrFrames: u32,
10776         }
10777         pub const ComputedTimingFunction_BeforeFlag_Unset:
10778             root::mozilla::ComputedTimingFunction_BeforeFlag = 0;
10779         pub const ComputedTimingFunction_BeforeFlag_Set:
10780             root::mozilla::ComputedTimingFunction_BeforeFlag = 1;
10781         pub type ComputedTimingFunction_BeforeFlag = i32;
10782         #[test]
bindgen_test_layout_ComputedTimingFunction()10783         fn bindgen_test_layout_ComputedTimingFunction() {
10784             assert_eq!(
10785                 ::std::mem::size_of::<ComputedTimingFunction>(),
10786                 136usize,
10787                 concat!("Size of: ", stringify!(ComputedTimingFunction))
10788             );
10789             assert_eq!(
10790                 ::std::mem::align_of::<ComputedTimingFunction>(),
10791                 8usize,
10792                 concat!("Alignment of ", stringify!(ComputedTimingFunction))
10793             );
10794             assert_eq!(
10795                 unsafe {
10796                     &(*(::std::ptr::null::<ComputedTimingFunction>())).mType as *const _ as usize
10797                 },
10798                 0usize,
10799                 concat!(
10800                     "Offset of field: ",
10801                     stringify!(ComputedTimingFunction),
10802                     "::",
10803                     stringify!(mType)
10804                 )
10805             );
10806             assert_eq!(
10807                 unsafe {
10808                     &(*(::std::ptr::null::<ComputedTimingFunction>())).mTimingFunction as *const _
10809                         as usize
10810                 },
10811                 8usize,
10812                 concat!(
10813                     "Offset of field: ",
10814                     stringify!(ComputedTimingFunction),
10815                     "::",
10816                     stringify!(mTimingFunction)
10817                 )
10818             );
10819             assert_eq!(
10820                 unsafe {
10821                     &(*(::std::ptr::null::<ComputedTimingFunction>())).mStepsOrFrames as *const _
10822                         as usize
10823                 },
10824                 128usize,
10825                 concat!(
10826                     "Offset of field: ",
10827                     stringify!(ComputedTimingFunction),
10828                     "::",
10829                     stringify!(mStepsOrFrames)
10830                 )
10831             );
10832         }
10833         impl Clone for ComputedTimingFunction {
clone(&self) -> Self10834             fn clone(&self) -> Self {
10835                 *self
10836             }
10837         }
10838         #[repr(C)]
10839         #[derive(Debug)]
10840         pub struct AnimationPropertySegment {
10841             pub mFromKey: f32,
10842             pub mToKey: f32,
10843             pub mFromValue: root::mozilla::AnimationValue,
10844             pub mToValue: root::mozilla::AnimationValue,
10845             pub mTimingFunction: [u64; 18usize],
10846             pub mFromComposite: root::mozilla::dom::CompositeOperation,
10847             pub mToComposite: root::mozilla::dom::CompositeOperation,
10848         }
10849         #[test]
bindgen_test_layout_AnimationPropertySegment()10850         fn bindgen_test_layout_AnimationPropertySegment() {
10851             assert_eq!(
10852                 ::std::mem::size_of::<AnimationPropertySegment>(),
10853                 208usize,
10854                 concat!("Size of: ", stringify!(AnimationPropertySegment))
10855             );
10856             assert_eq!(
10857                 ::std::mem::align_of::<AnimationPropertySegment>(),
10858                 8usize,
10859                 concat!("Alignment of ", stringify!(AnimationPropertySegment))
10860             );
10861             assert_eq!(
10862                 unsafe {
10863                     &(*(::std::ptr::null::<AnimationPropertySegment>())).mFromKey as *const _
10864                         as usize
10865                 },
10866                 0usize,
10867                 concat!(
10868                     "Offset of field: ",
10869                     stringify!(AnimationPropertySegment),
10870                     "::",
10871                     stringify!(mFromKey)
10872                 )
10873             );
10874             assert_eq!(
10875                 unsafe {
10876                     &(*(::std::ptr::null::<AnimationPropertySegment>())).mToKey as *const _ as usize
10877                 },
10878                 4usize,
10879                 concat!(
10880                     "Offset of field: ",
10881                     stringify!(AnimationPropertySegment),
10882                     "::",
10883                     stringify!(mToKey)
10884                 )
10885             );
10886             assert_eq!(
10887                 unsafe {
10888                     &(*(::std::ptr::null::<AnimationPropertySegment>())).mFromValue as *const _
10889                         as usize
10890                 },
10891                 8usize,
10892                 concat!(
10893                     "Offset of field: ",
10894                     stringify!(AnimationPropertySegment),
10895                     "::",
10896                     stringify!(mFromValue)
10897                 )
10898             );
10899             assert_eq!(
10900                 unsafe {
10901                     &(*(::std::ptr::null::<AnimationPropertySegment>())).mToValue as *const _
10902                         as usize
10903                 },
10904                 32usize,
10905                 concat!(
10906                     "Offset of field: ",
10907                     stringify!(AnimationPropertySegment),
10908                     "::",
10909                     stringify!(mToValue)
10910                 )
10911             );
10912             assert_eq!(
10913                 unsafe {
10914                     &(*(::std::ptr::null::<AnimationPropertySegment>())).mTimingFunction as *const _
10915                         as usize
10916                 },
10917                 56usize,
10918                 concat!(
10919                     "Offset of field: ",
10920                     stringify!(AnimationPropertySegment),
10921                     "::",
10922                     stringify!(mTimingFunction)
10923                 )
10924             );
10925             assert_eq!(
10926                 unsafe {
10927                     &(*(::std::ptr::null::<AnimationPropertySegment>())).mFromComposite as *const _
10928                         as usize
10929                 },
10930                 200usize,
10931                 concat!(
10932                     "Offset of field: ",
10933                     stringify!(AnimationPropertySegment),
10934                     "::",
10935                     stringify!(mFromComposite)
10936                 )
10937             );
10938             assert_eq!(
10939                 unsafe {
10940                     &(*(::std::ptr::null::<AnimationPropertySegment>())).mToComposite as *const _
10941                         as usize
10942                 },
10943                 201usize,
10944                 concat!(
10945                     "Offset of field: ",
10946                     stringify!(AnimationPropertySegment),
10947                     "::",
10948                     stringify!(mToComposite)
10949                 )
10950             );
10951         }
10952         /// A ValueCalculator class that performs additional checks before performing
10953         /// arithmetic operations such that if either operand is Forever (or the
10954         /// negative equivalent) the result remains Forever (or the negative equivalent
10955         /// as appropriate).
10956         ///
10957         /// Currently this only checks if either argument to each operation is
10958         /// Forever/-Forever. However, it is possible that, for example,
10959         /// aA + aB > INT64_MAX (or < INT64_MIN).
10960         ///
10961         /// We currently don't check for that case since we don't expect that to
10962         /// happen often except under test conditions in which case the wrapping
10963         /// behavior is probably acceptable.
10964         #[repr(C)]
10965         #[derive(Debug, Copy)]
10966         pub struct StickyTimeDurationValueCalculator {
10967             pub _address: u8,
10968         }
10969         #[test]
bindgen_test_layout_StickyTimeDurationValueCalculator()10970         fn bindgen_test_layout_StickyTimeDurationValueCalculator() {
10971             assert_eq!(
10972                 ::std::mem::size_of::<StickyTimeDurationValueCalculator>(),
10973                 1usize,
10974                 concat!("Size of: ", stringify!(StickyTimeDurationValueCalculator))
10975             );
10976             assert_eq!(
10977                 ::std::mem::align_of::<StickyTimeDurationValueCalculator>(),
10978                 1usize,
10979                 concat!(
10980                     "Alignment of ",
10981                     stringify!(StickyTimeDurationValueCalculator)
10982                 )
10983             );
10984         }
10985         impl Clone for StickyTimeDurationValueCalculator {
clone(&self) -> Self10986             fn clone(&self) -> Self {
10987                 *self
10988             }
10989         }
10990         /// Specialization of BaseTimeDuration that uses
10991         /// StickyTimeDurationValueCalculator for arithmetic on the mValue member.
10992         ///
10993         /// Use this class when you need a time duration that is expected to hold values
10994         /// of Forever (or the negative equivalent) *and* when you expect that
10995         /// time duration to be used in arithmetic operations (and not just value
10996         /// comparisons).
10997         pub type StickyTimeDuration = root::mozilla::BaseTimeDuration;
10998         /// Stores the results of calculating the timing properties of an animation
10999         /// at a given sample time.
11000         #[repr(C)]
11001         #[derive(Debug, Copy)]
11002         pub struct ComputedTiming {
11003             pub mActiveDuration: root::mozilla::StickyTimeDuration,
11004             pub mActiveTime: root::mozilla::StickyTimeDuration,
11005             pub mEndTime: root::mozilla::StickyTimeDuration,
11006             pub mProgress: [u64; 2usize],
11007             pub mCurrentIteration: u64,
11008             pub mIterations: f64,
11009             pub mIterationStart: f64,
11010             pub mDuration: root::mozilla::StickyTimeDuration,
11011             pub mFill: root::mozilla::dom::FillMode,
11012             pub mPhase: root::mozilla::ComputedTiming_AnimationPhase,
11013             pub mBeforeFlag: root::mozilla::ComputedTimingFunction_BeforeFlag,
11014         }
11015         pub const ComputedTiming_AnimationPhase_Idle: root::mozilla::ComputedTiming_AnimationPhase =
11016             0;
11017         pub const ComputedTiming_AnimationPhase_Before:
11018             root::mozilla::ComputedTiming_AnimationPhase = 1;
11019         pub const ComputedTiming_AnimationPhase_Active:
11020             root::mozilla::ComputedTiming_AnimationPhase = 2;
11021         pub const ComputedTiming_AnimationPhase_After:
11022             root::mozilla::ComputedTiming_AnimationPhase = 3;
11023         pub type ComputedTiming_AnimationPhase = i32;
11024         #[test]
bindgen_test_layout_ComputedTiming()11025         fn bindgen_test_layout_ComputedTiming() {
11026             assert_eq!(
11027                 ::std::mem::size_of::<ComputedTiming>(),
11028                 88usize,
11029                 concat!("Size of: ", stringify!(ComputedTiming))
11030             );
11031             assert_eq!(
11032                 ::std::mem::align_of::<ComputedTiming>(),
11033                 8usize,
11034                 concat!("Alignment of ", stringify!(ComputedTiming))
11035             );
11036             assert_eq!(
11037                 unsafe {
11038                     &(*(::std::ptr::null::<ComputedTiming>())).mActiveDuration as *const _ as usize
11039                 },
11040                 0usize,
11041                 concat!(
11042                     "Offset of field: ",
11043                     stringify!(ComputedTiming),
11044                     "::",
11045                     stringify!(mActiveDuration)
11046                 )
11047             );
11048             assert_eq!(
11049                 unsafe {
11050                     &(*(::std::ptr::null::<ComputedTiming>())).mActiveTime as *const _ as usize
11051                 },
11052                 8usize,
11053                 concat!(
11054                     "Offset of field: ",
11055                     stringify!(ComputedTiming),
11056                     "::",
11057                     stringify!(mActiveTime)
11058                 )
11059             );
11060             assert_eq!(
11061                 unsafe { &(*(::std::ptr::null::<ComputedTiming>())).mEndTime as *const _ as usize },
11062                 16usize,
11063                 concat!(
11064                     "Offset of field: ",
11065                     stringify!(ComputedTiming),
11066                     "::",
11067                     stringify!(mEndTime)
11068                 )
11069             );
11070             assert_eq!(
11071                 unsafe {
11072                     &(*(::std::ptr::null::<ComputedTiming>())).mProgress as *const _ as usize
11073                 },
11074                 24usize,
11075                 concat!(
11076                     "Offset of field: ",
11077                     stringify!(ComputedTiming),
11078                     "::",
11079                     stringify!(mProgress)
11080                 )
11081             );
11082             assert_eq!(
11083                 unsafe {
11084                     &(*(::std::ptr::null::<ComputedTiming>())).mCurrentIteration as *const _
11085                         as usize
11086                 },
11087                 40usize,
11088                 concat!(
11089                     "Offset of field: ",
11090                     stringify!(ComputedTiming),
11091                     "::",
11092                     stringify!(mCurrentIteration)
11093                 )
11094             );
11095             assert_eq!(
11096                 unsafe {
11097                     &(*(::std::ptr::null::<ComputedTiming>())).mIterations as *const _ as usize
11098                 },
11099                 48usize,
11100                 concat!(
11101                     "Offset of field: ",
11102                     stringify!(ComputedTiming),
11103                     "::",
11104                     stringify!(mIterations)
11105                 )
11106             );
11107             assert_eq!(
11108                 unsafe {
11109                     &(*(::std::ptr::null::<ComputedTiming>())).mIterationStart as *const _ as usize
11110                 },
11111                 56usize,
11112                 concat!(
11113                     "Offset of field: ",
11114                     stringify!(ComputedTiming),
11115                     "::",
11116                     stringify!(mIterationStart)
11117                 )
11118             );
11119             assert_eq!(
11120                 unsafe {
11121                     &(*(::std::ptr::null::<ComputedTiming>())).mDuration as *const _ as usize
11122                 },
11123                 64usize,
11124                 concat!(
11125                     "Offset of field: ",
11126                     stringify!(ComputedTiming),
11127                     "::",
11128                     stringify!(mDuration)
11129                 )
11130             );
11131             assert_eq!(
11132                 unsafe { &(*(::std::ptr::null::<ComputedTiming>())).mFill as *const _ as usize },
11133                 72usize,
11134                 concat!(
11135                     "Offset of field: ",
11136                     stringify!(ComputedTiming),
11137                     "::",
11138                     stringify!(mFill)
11139                 )
11140             );
11141             assert_eq!(
11142                 unsafe { &(*(::std::ptr::null::<ComputedTiming>())).mPhase as *const _ as usize },
11143                 76usize,
11144                 concat!(
11145                     "Offset of field: ",
11146                     stringify!(ComputedTiming),
11147                     "::",
11148                     stringify!(mPhase)
11149                 )
11150             );
11151             assert_eq!(
11152                 unsafe {
11153                     &(*(::std::ptr::null::<ComputedTiming>())).mBeforeFlag as *const _ as usize
11154                 },
11155                 80usize,
11156                 concat!(
11157                     "Offset of field: ",
11158                     stringify!(ComputedTiming),
11159                     "::",
11160                     stringify!(mBeforeFlag)
11161                 )
11162             );
11163         }
11164         impl Clone for ComputedTiming {
clone(&self) -> Self11165             fn clone(&self) -> Self {
11166                 *self
11167             }
11168         }
11169         /// A property-value pair specified on a keyframe.
11170         #[repr(C)]
11171         #[derive(Debug)]
11172         pub struct PropertyValuePair {
11173             pub mProperty: root::nsCSSPropertyID,
11174             pub mValue: root::nsCSSValue,
11175             pub mServoDeclarationBlock: root::RefPtr<root::RawServoDeclarationBlock>,
11176         }
11177         #[test]
bindgen_test_layout_PropertyValuePair()11178         fn bindgen_test_layout_PropertyValuePair() {
11179             assert_eq!(
11180                 ::std::mem::size_of::<PropertyValuePair>(),
11181                 32usize,
11182                 concat!("Size of: ", stringify!(PropertyValuePair))
11183             );
11184             assert_eq!(
11185                 ::std::mem::align_of::<PropertyValuePair>(),
11186                 8usize,
11187                 concat!("Alignment of ", stringify!(PropertyValuePair))
11188             );
11189             assert_eq!(
11190                 unsafe {
11191                     &(*(::std::ptr::null::<PropertyValuePair>())).mProperty as *const _ as usize
11192                 },
11193                 0usize,
11194                 concat!(
11195                     "Offset of field: ",
11196                     stringify!(PropertyValuePair),
11197                     "::",
11198                     stringify!(mProperty)
11199                 )
11200             );
11201             assert_eq!(
11202                 unsafe {
11203                     &(*(::std::ptr::null::<PropertyValuePair>())).mValue as *const _ as usize
11204                 },
11205                 8usize,
11206                 concat!(
11207                     "Offset of field: ",
11208                     stringify!(PropertyValuePair),
11209                     "::",
11210                     stringify!(mValue)
11211                 )
11212             );
11213             assert_eq!(
11214                 unsafe {
11215                     &(*(::std::ptr::null::<PropertyValuePair>())).mServoDeclarationBlock as *const _
11216                         as usize
11217                 },
11218                 24usize,
11219                 concat!(
11220                     "Offset of field: ",
11221                     stringify!(PropertyValuePair),
11222                     "::",
11223                     stringify!(mServoDeclarationBlock)
11224                 )
11225             );
11226         }
11227         /// A single keyframe.
11228         ///
11229         /// This is the canonical form in which keyframe effects are stored and
11230         /// corresponds closely to the type of objects returned via the getKeyframes()
11231         /// API.
11232         ///
11233         /// Before computing an output animation value, however, we flatten these frames
11234         /// down to a series of per-property value arrays where we also resolve any
11235         /// overlapping shorthands/longhands, convert specified CSS values to computed
11236         /// values, etc.
11237         ///
11238         /// When the target element or style context changes, however, we rebuild these
11239         /// per-property arrays from the original list of keyframes objects. As a result,
11240         /// these objects represent the master definition of the effect's values.
11241         #[repr(C)]
11242         #[derive(Debug)]
11243         pub struct Keyframe {
11244             pub mOffset: [u64; 2usize],
11245             pub mComputedOffset: f64,
11246             pub mTimingFunction: [u64; 18usize],
11247             pub mComposite: [u8; 2usize],
11248             pub mPropertyValues: root::nsTArray<root::mozilla::PropertyValuePair>,
11249         }
11250         pub const Keyframe_kComputedOffsetNotSet: f64 = -1.;
11251         #[test]
bindgen_test_layout_Keyframe()11252         fn bindgen_test_layout_Keyframe() {
11253             assert_eq!(
11254                 ::std::mem::size_of::<Keyframe>(),
11255                 184usize,
11256                 concat!("Size of: ", stringify!(Keyframe))
11257             );
11258             assert_eq!(
11259                 ::std::mem::align_of::<Keyframe>(),
11260                 8usize,
11261                 concat!("Alignment of ", stringify!(Keyframe))
11262             );
11263             assert_eq!(
11264                 unsafe { &(*(::std::ptr::null::<Keyframe>())).mOffset as *const _ as usize },
11265                 0usize,
11266                 concat!(
11267                     "Offset of field: ",
11268                     stringify!(Keyframe),
11269                     "::",
11270                     stringify!(mOffset)
11271                 )
11272             );
11273             assert_eq!(
11274                 unsafe {
11275                     &(*(::std::ptr::null::<Keyframe>())).mComputedOffset as *const _ as usize
11276                 },
11277                 16usize,
11278                 concat!(
11279                     "Offset of field: ",
11280                     stringify!(Keyframe),
11281                     "::",
11282                     stringify!(mComputedOffset)
11283                 )
11284             );
11285             assert_eq!(
11286                 unsafe {
11287                     &(*(::std::ptr::null::<Keyframe>())).mTimingFunction as *const _ as usize
11288                 },
11289                 24usize,
11290                 concat!(
11291                     "Offset of field: ",
11292                     stringify!(Keyframe),
11293                     "::",
11294                     stringify!(mTimingFunction)
11295                 )
11296             );
11297             assert_eq!(
11298                 unsafe { &(*(::std::ptr::null::<Keyframe>())).mComposite as *const _ as usize },
11299                 168usize,
11300                 concat!(
11301                     "Offset of field: ",
11302                     stringify!(Keyframe),
11303                     "::",
11304                     stringify!(mComposite)
11305                 )
11306             );
11307             assert_eq!(
11308                 unsafe {
11309                     &(*(::std::ptr::null::<Keyframe>())).mPropertyValues as *const _ as usize
11310                 },
11311                 176usize,
11312                 concat!(
11313                     "Offset of field: ",
11314                     stringify!(Keyframe),
11315                     "::",
11316                     stringify!(mPropertyValues)
11317                 )
11318             );
11319         }
11320         /// A structure representing a single attribute name and value.
11321         ///
11322         /// This is pretty similar to the private nsAttrAndChildArray::InternalAttr.
11323         #[repr(C)]
11324         #[derive(Debug)]
11325         pub struct ServoAttrSnapshot {
11326             pub mName: root::nsAttrName,
11327             pub mValue: root::nsAttrValue,
11328         }
11329         #[test]
bindgen_test_layout_ServoAttrSnapshot()11330         fn bindgen_test_layout_ServoAttrSnapshot() {
11331             assert_eq!(
11332                 ::std::mem::size_of::<ServoAttrSnapshot>(),
11333                 16usize,
11334                 concat!("Size of: ", stringify!(ServoAttrSnapshot))
11335             );
11336             assert_eq!(
11337                 ::std::mem::align_of::<ServoAttrSnapshot>(),
11338                 8usize,
11339                 concat!("Alignment of ", stringify!(ServoAttrSnapshot))
11340             );
11341             assert_eq!(
11342                 unsafe { &(*(::std::ptr::null::<ServoAttrSnapshot>())).mName as *const _ as usize },
11343                 0usize,
11344                 concat!(
11345                     "Offset of field: ",
11346                     stringify!(ServoAttrSnapshot),
11347                     "::",
11348                     stringify!(mName)
11349                 )
11350             );
11351             assert_eq!(
11352                 unsafe {
11353                     &(*(::std::ptr::null::<ServoAttrSnapshot>())).mValue as *const _ as usize
11354                 },
11355                 8usize,
11356                 concat!(
11357                     "Offset of field: ",
11358                     stringify!(ServoAttrSnapshot),
11359                     "::",
11360                     stringify!(mValue)
11361                 )
11362             );
11363         }
11364         #[repr(u8)]
11365         /// A bitflags enum class used to determine what data does a ServoElementSnapshot
11366         /// contains.
11367         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
11368         pub enum ServoElementSnapshotFlags {
11369             State = 1,
11370             Attributes = 2,
11371             Id = 4,
11372             MaybeClass = 8,
11373             OtherPseudoClassState = 16,
11374         }
11375         /// This class holds all non-tree-structural state of an element that might be
11376         /// used for selector matching eventually.
11377         ///
11378         /// This means the attributes, and the element state, such as :hover, :active,
11379         /// etc...
11380         #[repr(C)]
11381         #[derive(Debug)]
11382         pub struct ServoElementSnapshot {
11383             pub mAttrs: root::nsTArray<root::mozilla::ServoAttrSnapshot>,
11384             pub mClass: root::nsAttrValue,
11385             pub mState: root::mozilla::ServoElementSnapshot_ServoStateType,
11386             pub mContains: root::mozilla::ServoElementSnapshot_Flags,
11387             pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 1usize], u8>,
11388             pub __bindgen_padding_0: [u16; 3usize],
11389         }
11390         pub type ServoElementSnapshot_BorrowedAttrInfo = root::mozilla::dom::BorrowedAttrInfo;
11391         pub type ServoElementSnapshot_Element = root::mozilla::dom::Element;
11392         pub type ServoElementSnapshot_ServoStateType = root::mozilla::EventStates_ServoType;
11393         pub use self :: super :: super :: root :: mozilla :: ServoElementSnapshotFlags as ServoElementSnapshot_Flags;
11394         #[test]
bindgen_test_layout_ServoElementSnapshot()11395         fn bindgen_test_layout_ServoElementSnapshot() {
11396             assert_eq!(
11397                 ::std::mem::size_of::<ServoElementSnapshot>(),
11398                 32usize,
11399                 concat!("Size of: ", stringify!(ServoElementSnapshot))
11400             );
11401             assert_eq!(
11402                 ::std::mem::align_of::<ServoElementSnapshot>(),
11403                 8usize,
11404                 concat!("Alignment of ", stringify!(ServoElementSnapshot))
11405             );
11406             assert_eq!(
11407                 unsafe {
11408                     &(*(::std::ptr::null::<ServoElementSnapshot>())).mAttrs as *const _ as usize
11409                 },
11410                 0usize,
11411                 concat!(
11412                     "Offset of field: ",
11413                     stringify!(ServoElementSnapshot),
11414                     "::",
11415                     stringify!(mAttrs)
11416                 )
11417             );
11418             assert_eq!(
11419                 unsafe {
11420                     &(*(::std::ptr::null::<ServoElementSnapshot>())).mClass as *const _ as usize
11421                 },
11422                 8usize,
11423                 concat!(
11424                     "Offset of field: ",
11425                     stringify!(ServoElementSnapshot),
11426                     "::",
11427                     stringify!(mClass)
11428                 )
11429             );
11430             assert_eq!(
11431                 unsafe {
11432                     &(*(::std::ptr::null::<ServoElementSnapshot>())).mState as *const _ as usize
11433                 },
11434                 16usize,
11435                 concat!(
11436                     "Offset of field: ",
11437                     stringify!(ServoElementSnapshot),
11438                     "::",
11439                     stringify!(mState)
11440                 )
11441             );
11442             assert_eq!(
11443                 unsafe {
11444                     &(*(::std::ptr::null::<ServoElementSnapshot>())).mContains as *const _ as usize
11445                 },
11446                 24usize,
11447                 concat!(
11448                     "Offset of field: ",
11449                     stringify!(ServoElementSnapshot),
11450                     "::",
11451                     stringify!(mContains)
11452                 )
11453             );
11454         }
11455         impl ServoElementSnapshot {
11456             #[inline]
mIsHTMLElementInHTMLDocument(&self) -> bool11457             pub fn mIsHTMLElementInHTMLDocument(&self) -> bool {
11458                 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
11459             }
11460             #[inline]
set_mIsHTMLElementInHTMLDocument(&mut self, val: bool)11461             pub fn set_mIsHTMLElementInHTMLDocument(&mut self, val: bool) {
11462                 unsafe {
11463                     let val: u8 = ::std::mem::transmute(val);
11464                     self._bitfield_1.set(0usize, 1u8, val as u64)
11465                 }
11466             }
11467             #[inline]
mIsInChromeDocument(&self) -> bool11468             pub fn mIsInChromeDocument(&self) -> bool {
11469                 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
11470             }
11471             #[inline]
set_mIsInChromeDocument(&mut self, val: bool)11472             pub fn set_mIsInChromeDocument(&mut self, val: bool) {
11473                 unsafe {
11474                     let val: u8 = ::std::mem::transmute(val);
11475                     self._bitfield_1.set(1usize, 1u8, val as u64)
11476                 }
11477             }
11478             #[inline]
mSupportsLangAttr(&self) -> bool11479             pub fn mSupportsLangAttr(&self) -> bool {
11480                 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
11481             }
11482             #[inline]
set_mSupportsLangAttr(&mut self, val: bool)11483             pub fn set_mSupportsLangAttr(&mut self, val: bool) {
11484                 unsafe {
11485                     let val: u8 = ::std::mem::transmute(val);
11486                     self._bitfield_1.set(2usize, 1u8, val as u64)
11487                 }
11488             }
11489             #[inline]
mIsTableBorderNonzero(&self) -> bool11490             pub fn mIsTableBorderNonzero(&self) -> bool {
11491                 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
11492             }
11493             #[inline]
set_mIsTableBorderNonzero(&mut self, val: bool)11494             pub fn set_mIsTableBorderNonzero(&mut self, val: bool) {
11495                 unsafe {
11496                     let val: u8 = ::std::mem::transmute(val);
11497                     self._bitfield_1.set(3usize, 1u8, val as u64)
11498                 }
11499             }
11500             #[inline]
mIsMozBrowserFrame(&self) -> bool11501             pub fn mIsMozBrowserFrame(&self) -> bool {
11502                 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
11503             }
11504             #[inline]
set_mIsMozBrowserFrame(&mut self, val: bool)11505             pub fn set_mIsMozBrowserFrame(&mut self, val: bool) {
11506                 unsafe {
11507                     let val: u8 = ::std::mem::transmute(val);
11508                     self._bitfield_1.set(4usize, 1u8, val as u64)
11509                 }
11510             }
11511             #[inline]
mClassAttributeChanged(&self) -> bool11512             pub fn mClassAttributeChanged(&self) -> bool {
11513                 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) }
11514             }
11515             #[inline]
set_mClassAttributeChanged(&mut self, val: bool)11516             pub fn set_mClassAttributeChanged(&mut self, val: bool) {
11517                 unsafe {
11518                     let val: u8 = ::std::mem::transmute(val);
11519                     self._bitfield_1.set(5usize, 1u8, val as u64)
11520                 }
11521             }
11522             #[inline]
mIdAttributeChanged(&self) -> bool11523             pub fn mIdAttributeChanged(&self) -> bool {
11524                 unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) }
11525             }
11526             #[inline]
set_mIdAttributeChanged(&mut self, val: bool)11527             pub fn set_mIdAttributeChanged(&mut self, val: bool) {
11528                 unsafe {
11529                     let val: u8 = ::std::mem::transmute(val);
11530                     self._bitfield_1.set(6usize, 1u8, val as u64)
11531                 }
11532             }
11533             #[inline]
mOtherAttributeChanged(&self) -> bool11534             pub fn mOtherAttributeChanged(&self) -> bool {
11535                 unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
11536             }
11537             #[inline]
set_mOtherAttributeChanged(&mut self, val: bool)11538             pub fn set_mOtherAttributeChanged(&mut self, val: bool) {
11539                 unsafe {
11540                     let val: u8 = ::std::mem::transmute(val);
11541                     self._bitfield_1.set(7usize, 1u8, val as u64)
11542                 }
11543             }
11544             #[inline]
new_bitfield_1( mIsHTMLElementInHTMLDocument: bool, mIsInChromeDocument: bool, mSupportsLangAttr: bool, mIsTableBorderNonzero: bool, mIsMozBrowserFrame: bool, mClassAttributeChanged: bool, mIdAttributeChanged: bool, mOtherAttributeChanged: bool, ) -> root::__BindgenBitfieldUnit<[u8; 1usize], u8>11545             pub fn new_bitfield_1(
11546                 mIsHTMLElementInHTMLDocument: bool,
11547                 mIsInChromeDocument: bool,
11548                 mSupportsLangAttr: bool,
11549                 mIsTableBorderNonzero: bool,
11550                 mIsMozBrowserFrame: bool,
11551                 mClassAttributeChanged: bool,
11552                 mIdAttributeChanged: bool,
11553                 mOtherAttributeChanged: bool,
11554             ) -> root::__BindgenBitfieldUnit<[u8; 1usize], u8> {
11555                 let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
11556                     [u8; 1usize],
11557                     u8,
11558                 > = Default::default();
11559                 __bindgen_bitfield_unit.set(0usize, 1u8, {
11560                     let mIsHTMLElementInHTMLDocument: u8 =
11561                         unsafe { ::std::mem::transmute(mIsHTMLElementInHTMLDocument) };
11562                     mIsHTMLElementInHTMLDocument as u64
11563                 });
11564                 __bindgen_bitfield_unit.set(1usize, 1u8, {
11565                     let mIsInChromeDocument: u8 =
11566                         unsafe { ::std::mem::transmute(mIsInChromeDocument) };
11567                     mIsInChromeDocument as u64
11568                 });
11569                 __bindgen_bitfield_unit.set(2usize, 1u8, {
11570                     let mSupportsLangAttr: u8 = unsafe { ::std::mem::transmute(mSupportsLangAttr) };
11571                     mSupportsLangAttr as u64
11572                 });
11573                 __bindgen_bitfield_unit.set(3usize, 1u8, {
11574                     let mIsTableBorderNonzero: u8 =
11575                         unsafe { ::std::mem::transmute(mIsTableBorderNonzero) };
11576                     mIsTableBorderNonzero as u64
11577                 });
11578                 __bindgen_bitfield_unit.set(4usize, 1u8, {
11579                     let mIsMozBrowserFrame: u8 =
11580                         unsafe { ::std::mem::transmute(mIsMozBrowserFrame) };
11581                     mIsMozBrowserFrame as u64
11582                 });
11583                 __bindgen_bitfield_unit.set(5usize, 1u8, {
11584                     let mClassAttributeChanged: u8 =
11585                         unsafe { ::std::mem::transmute(mClassAttributeChanged) };
11586                     mClassAttributeChanged as u64
11587                 });
11588                 __bindgen_bitfield_unit.set(6usize, 1u8, {
11589                     let mIdAttributeChanged: u8 =
11590                         unsafe { ::std::mem::transmute(mIdAttributeChanged) };
11591                     mIdAttributeChanged as u64
11592                 });
11593                 __bindgen_bitfield_unit.set(7usize, 1u8, {
11594                     let mOtherAttributeChanged: u8 =
11595                         unsafe { ::std::mem::transmute(mOtherAttributeChanged) };
11596                     mOtherAttributeChanged as u64
11597                 });
11598                 __bindgen_bitfield_unit
11599             }
11600         }
11601         #[repr(C)]
11602         #[derive(Debug)]
11603         pub struct ServoElementSnapshotTable {
11604             pub _base: [u64; 4usize],
11605         }
11606         #[test]
bindgen_test_layout_ServoElementSnapshotTable()11607         fn bindgen_test_layout_ServoElementSnapshotTable() {
11608             assert_eq!(
11609                 ::std::mem::size_of::<ServoElementSnapshotTable>(),
11610                 32usize,
11611                 concat!("Size of: ", stringify!(ServoElementSnapshotTable))
11612             );
11613             assert_eq!(
11614                 ::std::mem::align_of::<ServoElementSnapshotTable>(),
11615                 8usize,
11616                 concat!("Alignment of ", stringify!(ServoElementSnapshotTable))
11617             );
11618         }
11619         #[repr(C)]
11620         #[derive(Debug, Copy)]
11621         pub struct LookAndFeel {
11622             pub _address: u8,
11623         }
11624         #[repr(u8)]
11625         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
11626         pub enum LookAndFeel_ColorID {
11627             eColorID_WindowBackground = 0,
11628             eColorID_WindowForeground = 1,
11629             eColorID_WidgetBackground = 2,
11630             eColorID_WidgetForeground = 3,
11631             eColorID_WidgetSelectBackground = 4,
11632             eColorID_WidgetSelectForeground = 5,
11633             eColorID_Widget3DHighlight = 6,
11634             eColorID_Widget3DShadow = 7,
11635             eColorID_TextBackground = 8,
11636             eColorID_TextForeground = 9,
11637             eColorID_TextSelectBackground = 10,
11638             eColorID_TextSelectForeground = 11,
11639             eColorID_TextSelectForegroundCustom = 12,
11640             eColorID_TextSelectBackgroundDisabled = 13,
11641             eColorID_TextSelectBackgroundAttention = 14,
11642             eColorID_TextHighlightBackground = 15,
11643             eColorID_TextHighlightForeground = 16,
11644             eColorID_IMERawInputBackground = 17,
11645             eColorID_IMERawInputForeground = 18,
11646             eColorID_IMERawInputUnderline = 19,
11647             eColorID_IMESelectedRawTextBackground = 20,
11648             eColorID_IMESelectedRawTextForeground = 21,
11649             eColorID_IMESelectedRawTextUnderline = 22,
11650             eColorID_IMEConvertedTextBackground = 23,
11651             eColorID_IMEConvertedTextForeground = 24,
11652             eColorID_IMEConvertedTextUnderline = 25,
11653             eColorID_IMESelectedConvertedTextBackground = 26,
11654             eColorID_IMESelectedConvertedTextForeground = 27,
11655             eColorID_IMESelectedConvertedTextUnderline = 28,
11656             eColorID_SpellCheckerUnderline = 29,
11657             eColorID_activeborder = 30,
11658             eColorID_activecaption = 31,
11659             eColorID_appworkspace = 32,
11660             eColorID_background = 33,
11661             eColorID_buttonface = 34,
11662             eColorID_buttonhighlight = 35,
11663             eColorID_buttonshadow = 36,
11664             eColorID_buttontext = 37,
11665             eColorID_captiontext = 38,
11666             eColorID_graytext = 39,
11667             eColorID_highlight = 40,
11668             eColorID_highlighttext = 41,
11669             eColorID_inactiveborder = 42,
11670             eColorID_inactivecaption = 43,
11671             eColorID_inactivecaptiontext = 44,
11672             eColorID_infobackground = 45,
11673             eColorID_infotext = 46,
11674             eColorID_menu = 47,
11675             eColorID_menutext = 48,
11676             eColorID_scrollbar = 49,
11677             eColorID_threeddarkshadow = 50,
11678             eColorID_threedface = 51,
11679             eColorID_threedhighlight = 52,
11680             eColorID_threedlightshadow = 53,
11681             eColorID_threedshadow = 54,
11682             eColorID_window = 55,
11683             eColorID_windowframe = 56,
11684             eColorID_windowtext = 57,
11685             eColorID__moz_buttondefault = 58,
11686             eColorID__moz_field = 59,
11687             eColorID__moz_fieldtext = 60,
11688             eColorID__moz_dialog = 61,
11689             eColorID__moz_dialogtext = 62,
11690             eColorID__moz_dragtargetzone = 63,
11691             eColorID__moz_cellhighlight = 64,
11692             eColorID__moz_cellhighlighttext = 65,
11693             eColorID__moz_html_cellhighlight = 66,
11694             eColorID__moz_html_cellhighlighttext = 67,
11695             eColorID__moz_buttonhoverface = 68,
11696             eColorID__moz_buttonhovertext = 69,
11697             eColorID__moz_menuhover = 70,
11698             eColorID__moz_menuhovertext = 71,
11699             eColorID__moz_menubartext = 72,
11700             eColorID__moz_menubarhovertext = 73,
11701             eColorID__moz_eventreerow = 74,
11702             eColorID__moz_oddtreerow = 75,
11703             eColorID__moz_mac_buttonactivetext = 76,
11704             eColorID__moz_mac_chrome_active = 77,
11705             eColorID__moz_mac_chrome_inactive = 78,
11706             eColorID__moz_mac_defaultbuttontext = 79,
11707             eColorID__moz_mac_focusring = 80,
11708             eColorID__moz_mac_menuselect = 81,
11709             eColorID__moz_mac_menushadow = 82,
11710             eColorID__moz_mac_menutextdisable = 83,
11711             eColorID__moz_mac_menutextselect = 84,
11712             eColorID__moz_mac_disabledtoolbartext = 85,
11713             eColorID__moz_mac_secondaryhighlight = 86,
11714             eColorID__moz_mac_vibrancy_light = 87,
11715             eColorID__moz_mac_vibrancy_dark = 88,
11716             eColorID__moz_mac_vibrant_titlebar_light = 89,
11717             eColorID__moz_mac_vibrant_titlebar_dark = 90,
11718             eColorID__moz_mac_menupopup = 91,
11719             eColorID__moz_mac_menuitem = 92,
11720             eColorID__moz_mac_active_menuitem = 93,
11721             eColorID__moz_mac_source_list = 94,
11722             eColorID__moz_mac_source_list_selection = 95,
11723             eColorID__moz_mac_active_source_list_selection = 96,
11724             eColorID__moz_mac_tooltip = 97,
11725             eColorID__moz_win_accentcolor = 98,
11726             eColorID__moz_win_accentcolortext = 99,
11727             eColorID__moz_win_mediatext = 100,
11728             eColorID__moz_win_communicationstext = 101,
11729             eColorID__moz_nativehyperlinktext = 102,
11730             eColorID__moz_comboboxtext = 103,
11731             eColorID__moz_combobox = 104,
11732             eColorID__moz_gtk_info_bar_text = 105,
11733             eColorID_LAST_COLOR = 106,
11734         }
11735         pub const LookAndFeel_IntID_eIntID_CaretBlinkTime: root::mozilla::LookAndFeel_IntID = 0;
11736         pub const LookAndFeel_IntID_eIntID_CaretWidth: root::mozilla::LookAndFeel_IntID = 1;
11737         pub const LookAndFeel_IntID_eIntID_ShowCaretDuringSelection:
11738             root::mozilla::LookAndFeel_IntID = 2;
11739         pub const LookAndFeel_IntID_eIntID_SelectTextfieldsOnKeyFocus:
11740             root::mozilla::LookAndFeel_IntID = 3;
11741         pub const LookAndFeel_IntID_eIntID_SubmenuDelay: root::mozilla::LookAndFeel_IntID = 4;
11742         pub const LookAndFeel_IntID_eIntID_MenusCanOverlapOSBar: root::mozilla::LookAndFeel_IntID =
11743             5;
11744         pub const LookAndFeel_IntID_eIntID_UseOverlayScrollbars: root::mozilla::LookAndFeel_IntID =
11745             6;
11746         pub const LookAndFeel_IntID_eIntID_AllowOverlayScrollbarsOverlap:
11747             root::mozilla::LookAndFeel_IntID = 7;
11748         pub const LookAndFeel_IntID_eIntID_ShowHideScrollbars: root::mozilla::LookAndFeel_IntID = 8;
11749         pub const LookAndFeel_IntID_eIntID_SkipNavigatingDisabledMenuItem:
11750             root::mozilla::LookAndFeel_IntID = 9;
11751         pub const LookAndFeel_IntID_eIntID_DragThresholdX: root::mozilla::LookAndFeel_IntID = 10;
11752         pub const LookAndFeel_IntID_eIntID_DragThresholdY: root::mozilla::LookAndFeel_IntID = 11;
11753         pub const LookAndFeel_IntID_eIntID_UseAccessibilityTheme: root::mozilla::LookAndFeel_IntID =
11754             12;
11755         pub const LookAndFeel_IntID_eIntID_ScrollArrowStyle: root::mozilla::LookAndFeel_IntID = 13;
11756         pub const LookAndFeel_IntID_eIntID_ScrollSliderStyle: root::mozilla::LookAndFeel_IntID = 14;
11757         pub const LookAndFeel_IntID_eIntID_ScrollButtonLeftMouseButtonAction:
11758             root::mozilla::LookAndFeel_IntID = 15;
11759         pub const LookAndFeel_IntID_eIntID_ScrollButtonMiddleMouseButtonAction:
11760             root::mozilla::LookAndFeel_IntID = 16;
11761         pub const LookAndFeel_IntID_eIntID_ScrollButtonRightMouseButtonAction:
11762             root::mozilla::LookAndFeel_IntID = 17;
11763         pub const LookAndFeel_IntID_eIntID_TreeOpenDelay: root::mozilla::LookAndFeel_IntID = 18;
11764         pub const LookAndFeel_IntID_eIntID_TreeCloseDelay: root::mozilla::LookAndFeel_IntID = 19;
11765         pub const LookAndFeel_IntID_eIntID_TreeLazyScrollDelay: root::mozilla::LookAndFeel_IntID =
11766             20;
11767         pub const LookAndFeel_IntID_eIntID_TreeScrollDelay: root::mozilla::LookAndFeel_IntID = 21;
11768         pub const LookAndFeel_IntID_eIntID_TreeScrollLinesMax: root::mozilla::LookAndFeel_IntID =
11769             22;
11770         pub const LookAndFeel_IntID_eIntID_TabFocusModel: root::mozilla::LookAndFeel_IntID = 23;
11771         pub const LookAndFeel_IntID_eIntID_ChosenMenuItemsShouldBlink:
11772             root::mozilla::LookAndFeel_IntID = 24;
11773         pub const LookAndFeel_IntID_eIntID_WindowsAccentColorInTitlebar:
11774             root::mozilla::LookAndFeel_IntID = 25;
11775         pub const LookAndFeel_IntID_eIntID_WindowsDefaultTheme: root::mozilla::LookAndFeel_IntID =
11776             26;
11777         pub const LookAndFeel_IntID_eIntID_DWMCompositor: root::mozilla::LookAndFeel_IntID = 27;
11778         pub const LookAndFeel_IntID_eIntID_WindowsClassic: root::mozilla::LookAndFeel_IntID = 28;
11779         pub const LookAndFeel_IntID_eIntID_WindowsGlass: root::mozilla::LookAndFeel_IntID = 29;
11780         pub const LookAndFeel_IntID_eIntID_TouchEnabled: root::mozilla::LookAndFeel_IntID = 30;
11781         pub const LookAndFeel_IntID_eIntID_MacGraphiteTheme: root::mozilla::LookAndFeel_IntID = 31;
11782         pub const LookAndFeel_IntID_eIntID_MacYosemiteTheme: root::mozilla::LookAndFeel_IntID = 32;
11783         pub const LookAndFeel_IntID_eIntID_AlertNotificationOrigin:
11784             root::mozilla::LookAndFeel_IntID = 33;
11785         /// If true, clicking on a scrollbar (not as in dragging the thumb) defaults
11786         /// to scrolling the view corresponding to the clicked point. Otherwise, we
11787         /// only do so if the scrollbar is clicked using the middle mouse button or
11788         /// if shift is pressed when the scrollbar is clicked.
11789         pub const LookAndFeel_IntID_eIntID_ScrollToClick: root::mozilla::LookAndFeel_IntID = 34;
11790         /// IME and spell checker underline styles, the values should be
11791         /// NS_DECORATION_LINE_STYLE_*.  They are defined below.
11792         pub const LookAndFeel_IntID_eIntID_IMERawInputUnderlineStyle:
11793             root::mozilla::LookAndFeel_IntID = 35;
11794         /// IME and spell checker underline styles, the values should be
11795         /// NS_DECORATION_LINE_STYLE_*.  They are defined below.
11796         pub const LookAndFeel_IntID_eIntID_IMESelectedRawTextUnderlineStyle:
11797             root::mozilla::LookAndFeel_IntID = 36;
11798         /// IME and spell checker underline styles, the values should be
11799         /// NS_DECORATION_LINE_STYLE_*.  They are defined below.
11800         pub const LookAndFeel_IntID_eIntID_IMEConvertedTextUnderlineStyle:
11801             root::mozilla::LookAndFeel_IntID = 37;
11802         /// IME and spell checker underline styles, the values should be
11803         /// NS_DECORATION_LINE_STYLE_*.  They are defined below.
11804         pub const LookAndFeel_IntID_eIntID_IMESelectedConvertedTextUnderline:
11805             root::mozilla::LookAndFeel_IntID = 38;
11806         /// IME and spell checker underline styles, the values should be
11807         /// NS_DECORATION_LINE_STYLE_*.  They are defined below.
11808         pub const LookAndFeel_IntID_eIntID_SpellCheckerUnderlineStyle:
11809             root::mozilla::LookAndFeel_IntID = 39;
11810         /// If this metric != 0, support window dragging on the menubar.
11811         pub const LookAndFeel_IntID_eIntID_MenuBarDrag: root::mozilla::LookAndFeel_IntID = 40;
11812         /// Return the appropriate WindowsThemeIdentifier for the current theme.
11813         pub const LookAndFeel_IntID_eIntID_WindowsThemeIdentifier:
11814             root::mozilla::LookAndFeel_IntID = 41;
11815         /// Return an appropriate os version identifier.
11816         pub const LookAndFeel_IntID_eIntID_OperatingSystemVersionIdentifier:
11817             root::mozilla::LookAndFeel_IntID = 42;
11818         /// 0: scrollbar button repeats to scroll only when cursor is on the button.
11819         /// 1: scrollbar button repeats to scroll even if cursor is outside of it.
11820         pub const LookAndFeel_IntID_eIntID_ScrollbarButtonAutoRepeatBehavior:
11821             root::mozilla::LookAndFeel_IntID = 43;
11822         /// Delay before showing a tooltip.
11823         pub const LookAndFeel_IntID_eIntID_TooltipDelay: root::mozilla::LookAndFeel_IntID = 44;
11824         /// Delay before showing a tooltip.
11825         pub const LookAndFeel_IntID_eIntID_SwipeAnimationEnabled: root::mozilla::LookAndFeel_IntID =
11826             45;
11827         /// Delay before showing a tooltip.
11828         pub const LookAndFeel_IntID_eIntID_ScrollbarDisplayOnMouseMove:
11829             root::mozilla::LookAndFeel_IntID = 46;
11830         /// Delay before showing a tooltip.
11831         pub const LookAndFeel_IntID_eIntID_ScrollbarFadeBeginDelay:
11832             root::mozilla::LookAndFeel_IntID = 47;
11833         /// Delay before showing a tooltip.
11834         pub const LookAndFeel_IntID_eIntID_ScrollbarFadeDuration: root::mozilla::LookAndFeel_IntID =
11835             48;
11836         /// Distance in pixels to offset the context menu from the cursor
11837         /// on open.
11838         pub const LookAndFeel_IntID_eIntID_ContextMenuOffsetVertical:
11839             root::mozilla::LookAndFeel_IntID = 49;
11840         /// Distance in pixels to offset the context menu from the cursor
11841         /// on open.
11842         pub const LookAndFeel_IntID_eIntID_ContextMenuOffsetHorizontal:
11843             root::mozilla::LookAndFeel_IntID = 50;
11844         /// Distance in pixels to offset the context menu from the cursor
11845         /// on open.
11846         pub const LookAndFeel_IntID_eIntID_GTKCSDAvailable: root::mozilla::LookAndFeel_IntID = 51;
11847         /// Distance in pixels to offset the context menu from the cursor
11848         /// on open.
11849         pub const LookAndFeel_IntID_eIntID_GTKCSDMinimizeButton: root::mozilla::LookAndFeel_IntID =
11850             52;
11851         /// Distance in pixels to offset the context menu from the cursor
11852         /// on open.
11853         pub const LookAndFeel_IntID_eIntID_GTKCSDMaximizeButton: root::mozilla::LookAndFeel_IntID =
11854             53;
11855         /// Distance in pixels to offset the context menu from the cursor
11856         /// on open.
11857         pub const LookAndFeel_IntID_eIntID_GTKCSDCloseButton: root::mozilla::LookAndFeel_IntID = 54;
11858         pub type LookAndFeel_IntID = u32;
11859         pub const LookAndFeel_WindowsTheme_eWindowsTheme_Generic:
11860             root::mozilla::LookAndFeel_WindowsTheme = 0;
11861         pub const LookAndFeel_WindowsTheme_eWindowsTheme_Classic:
11862             root::mozilla::LookAndFeel_WindowsTheme = 1;
11863         pub const LookAndFeel_WindowsTheme_eWindowsTheme_Aero:
11864             root::mozilla::LookAndFeel_WindowsTheme = 2;
11865         pub const LookAndFeel_WindowsTheme_eWindowsTheme_LunaBlue:
11866             root::mozilla::LookAndFeel_WindowsTheme = 3;
11867         pub const LookAndFeel_WindowsTheme_eWindowsTheme_LunaOlive:
11868             root::mozilla::LookAndFeel_WindowsTheme = 4;
11869         pub const LookAndFeel_WindowsTheme_eWindowsTheme_LunaSilver:
11870             root::mozilla::LookAndFeel_WindowsTheme = 5;
11871         pub const LookAndFeel_WindowsTheme_eWindowsTheme_Royale:
11872             root::mozilla::LookAndFeel_WindowsTheme = 6;
11873         pub const LookAndFeel_WindowsTheme_eWindowsTheme_Zune:
11874             root::mozilla::LookAndFeel_WindowsTheme = 7;
11875         pub const LookAndFeel_WindowsTheme_eWindowsTheme_AeroLite:
11876             root::mozilla::LookAndFeel_WindowsTheme = 8;
11877         /// Windows themes we currently detect.
11878         pub type LookAndFeel_WindowsTheme = u32;
11879         pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Windows7:
11880             root::mozilla::LookAndFeel_OperatingSystemVersion = 2;
11881         pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Windows8:
11882             root::mozilla::LookAndFeel_OperatingSystemVersion = 3;
11883         pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Windows10:
11884             root::mozilla::LookAndFeel_OperatingSystemVersion = 4;
11885         pub const LookAndFeel_OperatingSystemVersion_eOperatingSystemVersion_Unknown:
11886             root::mozilla::LookAndFeel_OperatingSystemVersion = 5;
11887         /// Operating system versions.
11888         pub type LookAndFeel_OperatingSystemVersion = u32;
11889         pub const LookAndFeel_eScrollArrow_None: root::mozilla::LookAndFeel__bindgen_ty_1 = 0;
11890         pub const LookAndFeel_eScrollArrow_StartBackward: root::mozilla::LookAndFeel__bindgen_ty_1 =
11891             4096;
11892         pub const LookAndFeel_eScrollArrow_StartForward: root::mozilla::LookAndFeel__bindgen_ty_1 =
11893             256;
11894         pub const LookAndFeel_eScrollArrow_EndBackward: root::mozilla::LookAndFeel__bindgen_ty_1 =
11895             16;
11896         pub const LookAndFeel_eScrollArrow_EndForward: root::mozilla::LookAndFeel__bindgen_ty_1 = 1;
11897         pub type LookAndFeel__bindgen_ty_1 = u32;
11898         pub const LookAndFeel_eScrollArrowStyle_Single: root::mozilla::LookAndFeel__bindgen_ty_2 =
11899             4097;
11900         pub const LookAndFeel_eScrollArrowStyle_BothAtBottom:
11901             root::mozilla::LookAndFeel__bindgen_ty_2 = 17;
11902         pub const LookAndFeel_eScrollArrowStyle_BothAtEachEnd:
11903             root::mozilla::LookAndFeel__bindgen_ty_2 = 4369;
11904         pub const LookAndFeel_eScrollArrowStyle_BothAtTop:
11905             root::mozilla::LookAndFeel__bindgen_ty_2 = 4352;
11906         pub type LookAndFeel__bindgen_ty_2 = u32;
11907         pub const LookAndFeel_eScrollThumbStyle_Normal: root::mozilla::LookAndFeel__bindgen_ty_3 =
11908             0;
11909         pub const LookAndFeel_eScrollThumbStyle_Proportional:
11910             root::mozilla::LookAndFeel__bindgen_ty_3 = 1;
11911         pub type LookAndFeel__bindgen_ty_3 = u32;
11912         pub const LookAndFeel_FloatID_eFloatID_IMEUnderlineRelativeSize:
11913             root::mozilla::LookAndFeel_FloatID = 0;
11914         pub const LookAndFeel_FloatID_eFloatID_SpellCheckerUnderlineRelativeSize:
11915             root::mozilla::LookAndFeel_FloatID = 1;
11916         pub const LookAndFeel_FloatID_eFloatID_CaretAspectRatio:
11917             root::mozilla::LookAndFeel_FloatID = 2;
11918         pub type LookAndFeel_FloatID = u32;
11919         pub const LookAndFeel_FontID_FontID_MINIMUM: root::mozilla::LookAndFeel_FontID =
11920             LookAndFeel_FontID::eFont_Caption;
11921         pub const LookAndFeel_FontID_FontID_MAXIMUM: root::mozilla::LookAndFeel_FontID =
11922             LookAndFeel_FontID::eFont_Widget;
11923         #[repr(u32)]
11924         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
11925         pub enum LookAndFeel_FontID {
11926             eFont_Caption = 1,
11927             eFont_Icon = 2,
11928             eFont_Menu = 3,
11929             eFont_MessageBox = 4,
11930             eFont_SmallCaption = 5,
11931             eFont_StatusBar = 6,
11932             eFont_Window = 7,
11933             eFont_Document = 8,
11934             eFont_Workspace = 9,
11935             eFont_Desktop = 10,
11936             eFont_Info = 11,
11937             eFont_Dialog = 12,
11938             eFont_Button = 13,
11939             eFont_PullDownMenu = 14,
11940             eFont_List = 15,
11941             eFont_Field = 16,
11942             eFont_Tooltips = 17,
11943             eFont_Widget = 18,
11944         }
11945         #[test]
bindgen_test_layout_LookAndFeel()11946         fn bindgen_test_layout_LookAndFeel() {
11947             assert_eq!(
11948                 ::std::mem::size_of::<LookAndFeel>(),
11949                 1usize,
11950                 concat!("Size of: ", stringify!(LookAndFeel))
11951             );
11952             assert_eq!(
11953                 ::std::mem::align_of::<LookAndFeel>(),
11954                 1usize,
11955                 concat!("Alignment of ", stringify!(LookAndFeel))
11956             );
11957         }
11958         impl Clone for LookAndFeel {
clone(&self) -> Self11959             fn clone(&self) -> Self {
11960                 *self
11961             }
11962         }
11963         #[repr(C)]
11964         #[derive(Debug, Copy)]
11965         pub struct StylePrefs {
11966             pub _address: u8,
11967         }
11968         extern "C" {
11969             #[link_name = "\u{1}_ZN7mozilla10StylePrefs19sFontDisplayEnabledE"]
11970             pub static mut StylePrefs_sFontDisplayEnabled: bool;
11971         }
11972         extern "C" {
11973             #[link_name = "\u{1}_ZN7mozilla10StylePrefs19sOpentypeSVGEnabledE"]
11974             pub static mut StylePrefs_sOpentypeSVGEnabled: bool;
11975         }
11976         extern "C" {
11977             #[link_name = "\u{1}_ZN7mozilla10StylePrefs29sWebkitPrefixedAliasesEnabledE"]
11978             pub static mut StylePrefs_sWebkitPrefixedAliasesEnabled: bool;
11979         }
11980         extern "C" {
11981             #[link_name = "\u{1}_ZN7mozilla10StylePrefs30sWebkitDevicePixelRatioEnabledE"]
11982             pub static mut StylePrefs_sWebkitDevicePixelRatioEnabled: bool;
11983         }
11984         extern "C" {
11985             #[link_name = "\u{1}_ZN7mozilla10StylePrefs20sMozGradientsEnabledE"]
11986             pub static mut StylePrefs_sMozGradientsEnabled: bool;
11987         }
11988         extern "C" {
11989             #[link_name = "\u{1}_ZN7mozilla10StylePrefs22sControlCharVisibilityE"]
11990             pub static mut StylePrefs_sControlCharVisibility: bool;
11991         }
11992         extern "C" {
11993             #[link_name = "\u{1}_ZN7mozilla10StylePrefs28sFramesTimingFunctionEnabledE"]
11994             pub static mut StylePrefs_sFramesTimingFunctionEnabled: bool;
11995         }
11996         extern "C" {
11997             #[link_name = "\u{1}_ZN7mozilla10StylePrefs31sUnprefixedFullscreenApiEnabledE"]
11998             pub static mut StylePrefs_sUnprefixedFullscreenApiEnabled: bool;
11999         }
12000         extern "C" {
12001             #[link_name = "\u{1}_ZN7mozilla10StylePrefs20sVisitedLinksEnabledE"]
12002             pub static mut StylePrefs_sVisitedLinksEnabled: bool;
12003         }
12004         extern "C" {
12005             #[link_name = "\u{1}_ZN7mozilla10StylePrefs28sMozDocumentEnabledInContentE"]
12006             pub static mut StylePrefs_sMozDocumentEnabledInContent: bool;
12007         }
12008         extern "C" {
12009             #[link_name = "\u{1}_ZN7mozilla10StylePrefs32sGridTemplateSubgridValueEnabledE"]
12010             pub static mut StylePrefs_sGridTemplateSubgridValueEnabled: bool;
12011         }
12012         extern "C" {
12013             #[link_name = "\u{1}_ZN7mozilla10StylePrefs22sFontVariationsEnabledE"]
12014             pub static mut StylePrefs_sFontVariationsEnabled: bool;
12015         }
12016         extern "C" {
12017             #[link_name = "\u{1}_ZN7mozilla10StylePrefs22sEmulateMozBoxWithFlexE"]
12018             pub static mut StylePrefs_sEmulateMozBoxWithFlex: bool;
12019         }
12020         #[test]
bindgen_test_layout_StylePrefs()12021         fn bindgen_test_layout_StylePrefs() {
12022             assert_eq!(
12023                 ::std::mem::size_of::<StylePrefs>(),
12024                 1usize,
12025                 concat!("Size of: ", stringify!(StylePrefs))
12026             );
12027             assert_eq!(
12028                 ::std::mem::align_of::<StylePrefs>(),
12029                 1usize,
12030                 concat!("Alignment of ", stringify!(StylePrefs))
12031             );
12032         }
12033         impl Clone for StylePrefs {
clone(&self) -> Self12034             fn clone(&self) -> Self {
12035                 *self
12036             }
12037         }
12038         #[repr(C)]
12039         #[derive(Debug, Copy)]
12040         pub struct NonOwningAnimationTarget {
12041             pub mElement: *mut root::mozilla::dom::Element,
12042             pub mPseudoType: root::mozilla::CSSPseudoElementType,
12043         }
12044         #[test]
bindgen_test_layout_NonOwningAnimationTarget()12045         fn bindgen_test_layout_NonOwningAnimationTarget() {
12046             assert_eq!(
12047                 ::std::mem::size_of::<NonOwningAnimationTarget>(),
12048                 16usize,
12049                 concat!("Size of: ", stringify!(NonOwningAnimationTarget))
12050             );
12051             assert_eq!(
12052                 ::std::mem::align_of::<NonOwningAnimationTarget>(),
12053                 8usize,
12054                 concat!("Alignment of ", stringify!(NonOwningAnimationTarget))
12055             );
12056             assert_eq!(
12057                 unsafe {
12058                     &(*(::std::ptr::null::<NonOwningAnimationTarget>())).mElement as *const _
12059                         as usize
12060                 },
12061                 0usize,
12062                 concat!(
12063                     "Offset of field: ",
12064                     stringify!(NonOwningAnimationTarget),
12065                     "::",
12066                     stringify!(mElement)
12067                 )
12068             );
12069             assert_eq!(
12070                 unsafe {
12071                     &(*(::std::ptr::null::<NonOwningAnimationTarget>())).mPseudoType as *const _
12072                         as usize
12073                 },
12074                 8usize,
12075                 concat!(
12076                     "Offset of field: ",
12077                     stringify!(NonOwningAnimationTarget),
12078                     "::",
12079                     stringify!(mPseudoType)
12080                 )
12081             );
12082         }
12083         impl Clone for NonOwningAnimationTarget {
clone(&self) -> Self12084             fn clone(&self) -> Self {
12085                 *self
12086             }
12087         }
12088         #[repr(C)]
12089         pub struct PseudoElementHashEntry {
12090             pub _base: root::PLDHashEntryHdr,
12091             pub mElement: root::RefPtr<root::mozilla::dom::Element>,
12092             pub mPseudoType: root::mozilla::CSSPseudoElementType,
12093         }
12094         pub type PseudoElementHashEntry_KeyType = root::mozilla::NonOwningAnimationTarget;
12095         pub type PseudoElementHashEntry_KeyTypePointer =
12096             *const root::mozilla::NonOwningAnimationTarget;
12097         pub const PseudoElementHashEntry_ALLOW_MEMMOVE:
12098             root::mozilla::PseudoElementHashEntry__bindgen_ty_1 = 1;
12099         pub type PseudoElementHashEntry__bindgen_ty_1 = u32;
12100         #[test]
bindgen_test_layout_PseudoElementHashEntry()12101         fn bindgen_test_layout_PseudoElementHashEntry() {
12102             assert_eq!(
12103                 ::std::mem::size_of::<PseudoElementHashEntry>(),
12104                 24usize,
12105                 concat!("Size of: ", stringify!(PseudoElementHashEntry))
12106             );
12107             assert_eq!(
12108                 ::std::mem::align_of::<PseudoElementHashEntry>(),
12109                 8usize,
12110                 concat!("Alignment of ", stringify!(PseudoElementHashEntry))
12111             );
12112             assert_eq!(
12113                 unsafe {
12114                     &(*(::std::ptr::null::<PseudoElementHashEntry>())).mElement as *const _ as usize
12115                 },
12116                 8usize,
12117                 concat!(
12118                     "Offset of field: ",
12119                     stringify!(PseudoElementHashEntry),
12120                     "::",
12121                     stringify!(mElement)
12122                 )
12123             );
12124             assert_eq!(
12125                 unsafe {
12126                     &(*(::std::ptr::null::<PseudoElementHashEntry>())).mPseudoType as *const _
12127                         as usize
12128                 },
12129                 16usize,
12130                 concat!(
12131                     "Offset of field: ",
12132                     stringify!(PseudoElementHashEntry),
12133                     "::",
12134                     stringify!(mPseudoType)
12135                 )
12136             );
12137         }
12138         #[repr(C)]
12139         #[derive(Debug)]
12140         pub struct EffectCompositor {
12141             pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
12142             pub mPresContext: *mut root::nsPresContext,
12143             pub mElementsToRestyle: [u64; 8usize],
12144             pub mIsInPreTraverse: bool,
12145             pub mRuleProcessors: [u64; 2usize],
12146         }
12147         pub type EffectCompositor_HasThreadSafeRefCnt = root::mozilla::FalseType;
12148         #[repr(C)]
12149         #[derive(Debug, Copy)]
12150         pub struct EffectCompositor_cycleCollection {
12151             pub _base: root::nsCycleCollectionParticipant,
12152         }
12153         #[test]
bindgen_test_layout_EffectCompositor_cycleCollection()12154         fn bindgen_test_layout_EffectCompositor_cycleCollection() {
12155             assert_eq!(
12156                 ::std::mem::size_of::<EffectCompositor_cycleCollection>(),
12157                 16usize,
12158                 concat!("Size of: ", stringify!(EffectCompositor_cycleCollection))
12159             );
12160             assert_eq!(
12161                 ::std::mem::align_of::<EffectCompositor_cycleCollection>(),
12162                 8usize,
12163                 concat!(
12164                     "Alignment of ",
12165                     stringify!(EffectCompositor_cycleCollection)
12166                 )
12167             );
12168         }
12169         impl Clone for EffectCompositor_cycleCollection {
clone(&self) -> Self12170             fn clone(&self) -> Self {
12171                 *self
12172             }
12173         }
12174         #[repr(u32)]
12175         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
12176         pub enum EffectCompositor_CascadeLevel {
12177             Animations = 0,
12178             Transitions = 1,
12179         }
12180         pub const EffectCompositor_RestyleType_Throttled:
12181             root::mozilla::EffectCompositor_RestyleType = 0;
12182         pub const EffectCompositor_RestyleType_Standard:
12183             root::mozilla::EffectCompositor_RestyleType = 1;
12184         pub const EffectCompositor_RestyleType_Layer: root::mozilla::EffectCompositor_RestyleType =
12185             2;
12186         pub type EffectCompositor_RestyleType = i32;
12187         #[repr(C)]
12188         #[derive(Debug)]
12189         pub struct EffectCompositor_AnimationStyleRuleProcessor {
12190             pub _base: root::nsIStyleRuleProcessor,
12191             pub mRefCnt: root::nsAutoRefCnt,
12192             pub mCompositor: *mut root::mozilla::EffectCompositor,
12193             pub mCascadeLevel: root::mozilla::EffectCompositor_CascadeLevel,
12194         }
12195         pub type EffectCompositor_AnimationStyleRuleProcessor_HasThreadSafeRefCnt =
12196             root::mozilla::FalseType;
12197         #[test]
bindgen_test_layout_EffectCompositor_AnimationStyleRuleProcessor()12198         fn bindgen_test_layout_EffectCompositor_AnimationStyleRuleProcessor() {
12199             assert_eq!(
12200                 ::std::mem::size_of::<EffectCompositor_AnimationStyleRuleProcessor>(),
12201                 32usize,
12202                 concat!(
12203                     "Size of: ",
12204                     stringify!(EffectCompositor_AnimationStyleRuleProcessor)
12205                 )
12206             );
12207             assert_eq!(
12208                 ::std::mem::align_of::<EffectCompositor_AnimationStyleRuleProcessor>(),
12209                 8usize,
12210                 concat!(
12211                     "Alignment of ",
12212                     stringify!(EffectCompositor_AnimationStyleRuleProcessor)
12213                 )
12214             );
12215             assert_eq!(
12216                 unsafe {
12217                     &(*(::std::ptr::null::<EffectCompositor_AnimationStyleRuleProcessor>())).mRefCnt
12218                         as *const _ as usize
12219                 },
12220                 8usize,
12221                 concat!(
12222                     "Offset of field: ",
12223                     stringify!(EffectCompositor_AnimationStyleRuleProcessor),
12224                     "::",
12225                     stringify!(mRefCnt)
12226                 )
12227             );
12228             assert_eq!(
12229                 unsafe {
12230                     &(*(::std::ptr::null::<EffectCompositor_AnimationStyleRuleProcessor>()))
12231                         .mCompositor as *const _ as usize
12232                 },
12233                 16usize,
12234                 concat!(
12235                     "Offset of field: ",
12236                     stringify!(EffectCompositor_AnimationStyleRuleProcessor),
12237                     "::",
12238                     stringify!(mCompositor)
12239                 )
12240             );
12241             assert_eq!(
12242                 unsafe {
12243                     &(*(::std::ptr::null::<EffectCompositor_AnimationStyleRuleProcessor>()))
12244                         .mCascadeLevel as *const _ as usize
12245                 },
12246                 24usize,
12247                 concat!(
12248                     "Offset of field: ",
12249                     stringify!(EffectCompositor_AnimationStyleRuleProcessor),
12250                     "::",
12251                     stringify!(mCascadeLevel)
12252                 )
12253             );
12254         }
12255         extern "C" {
12256             #[link_name = "\u{1}_ZN7mozilla16EffectCompositor21_cycleCollectorGlobalE"]
12257             pub static mut EffectCompositor__cycleCollectorGlobal:
12258                 root::mozilla::EffectCompositor_cycleCollection;
12259         }
12260         pub const EffectCompositor_kCascadeLevelCount: usize = 2;
12261         #[test]
bindgen_test_layout_EffectCompositor()12262         fn bindgen_test_layout_EffectCompositor() {
12263             assert_eq!(
12264                 ::std::mem::size_of::<EffectCompositor>(),
12265                 104usize,
12266                 concat!("Size of: ", stringify!(EffectCompositor))
12267             );
12268             assert_eq!(
12269                 ::std::mem::align_of::<EffectCompositor>(),
12270                 8usize,
12271                 concat!("Alignment of ", stringify!(EffectCompositor))
12272             );
12273             assert_eq!(
12274                 unsafe {
12275                     &(*(::std::ptr::null::<EffectCompositor>())).mRefCnt as *const _ as usize
12276                 },
12277                 0usize,
12278                 concat!(
12279                     "Offset of field: ",
12280                     stringify!(EffectCompositor),
12281                     "::",
12282                     stringify!(mRefCnt)
12283                 )
12284             );
12285             assert_eq!(
12286                 unsafe {
12287                     &(*(::std::ptr::null::<EffectCompositor>())).mPresContext as *const _ as usize
12288                 },
12289                 8usize,
12290                 concat!(
12291                     "Offset of field: ",
12292                     stringify!(EffectCompositor),
12293                     "::",
12294                     stringify!(mPresContext)
12295                 )
12296             );
12297             assert_eq!(
12298                 unsafe {
12299                     &(*(::std::ptr::null::<EffectCompositor>())).mElementsToRestyle as *const _
12300                         as usize
12301                 },
12302                 16usize,
12303                 concat!(
12304                     "Offset of field: ",
12305                     stringify!(EffectCompositor),
12306                     "::",
12307                     stringify!(mElementsToRestyle)
12308                 )
12309             );
12310             assert_eq!(
12311                 unsafe {
12312                     &(*(::std::ptr::null::<EffectCompositor>())).mIsInPreTraverse as *const _
12313                         as usize
12314                 },
12315                 80usize,
12316                 concat!(
12317                     "Offset of field: ",
12318                     stringify!(EffectCompositor),
12319                     "::",
12320                     stringify!(mIsInPreTraverse)
12321                 )
12322             );
12323             assert_eq!(
12324                 unsafe {
12325                     &(*(::std::ptr::null::<EffectCompositor>())).mRuleProcessors as *const _
12326                         as usize
12327                 },
12328                 88usize,
12329                 concat!(
12330                     "Offset of field: ",
12331                     stringify!(EffectCompositor),
12332                     "::",
12333                     stringify!(mRuleProcessors)
12334                 )
12335             );
12336         }
12337         pub type CSSPseudoClassTypeBase = u8;
12338         #[repr(u8)]
12339         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
12340         pub enum CSSPseudoClassType {
12341             empty = 0,
12342             mozOnlyWhitespace = 1,
12343             lang = 2,
12344             root = 3,
12345             any = 4,
12346             firstChild = 5,
12347             firstNode = 6,
12348             lastChild = 7,
12349             lastNode = 8,
12350             onlyChild = 9,
12351             firstOfType = 10,
12352             lastOfType = 11,
12353             onlyOfType = 12,
12354             nthChild = 13,
12355             nthLastChild = 14,
12356             nthOfType = 15,
12357             nthLastOfType = 16,
12358             mozIsHTML = 17,
12359             mozNativeAnonymous = 18,
12360             mozUseShadowTreeRoot = 19,
12361             mozLocaleDir = 20,
12362             mozLWTheme = 21,
12363             mozLWThemeBrightText = 22,
12364             mozLWThemeDarkText = 23,
12365             mozWindowInactive = 24,
12366             mozTableBorderNonzero = 25,
12367             mozBrowserFrame = 26,
12368             scope = 27,
12369             negation = 28,
12370             dir = 29,
12371             link = 30,
12372             mozAnyLink = 31,
12373             anyLink = 32,
12374             visited = 33,
12375             active = 34,
12376             checked = 35,
12377             disabled = 36,
12378             enabled = 37,
12379             focus = 38,
12380             focusWithin = 39,
12381             hover = 40,
12382             mozDragOver = 41,
12383             target = 42,
12384             indeterminate = 43,
12385             mozDevtoolsHighlighted = 44,
12386             mozStyleeditorTransitioning = 45,
12387             fullscreen = 46,
12388             mozFullScreen = 47,
12389             mozFocusRing = 48,
12390             mozBroken = 49,
12391             mozLoading = 50,
12392             mozUserDisabled = 51,
12393             mozSuppressed = 52,
12394             mozHandlerClickToPlay = 53,
12395             mozHandlerVulnerableUpdatable = 54,
12396             mozHandlerVulnerableNoUpdate = 55,
12397             mozHandlerDisabled = 56,
12398             mozHandlerBlocked = 57,
12399             mozHandlerCrashed = 58,
12400             mozMathIncrementScriptLevel = 59,
12401             mozHasDirAttr = 60,
12402             mozDirAttrLTR = 61,
12403             mozDirAttrRTL = 62,
12404             mozDirAttrLikeAuto = 63,
12405             mozAutofill = 64,
12406             mozAutofillPreview = 65,
12407             required = 66,
12408             optional = 67,
12409             valid = 68,
12410             invalid = 69,
12411             inRange = 70,
12412             outOfRange = 71,
12413             defaultPseudo = 72,
12414             placeholderShown = 73,
12415             mozReadOnly = 74,
12416             mozReadWrite = 75,
12417             mozSubmitInvalid = 76,
12418             mozUIInvalid = 77,
12419             mozUIValid = 78,
12420             mozMeterOptimum = 79,
12421             mozMeterSubOptimum = 80,
12422             mozMeterSubSubOptimum = 81,
12423             mozPlaceholder = 82,
12424             Count = 83,
12425             NotPseudo = 84,
12426             MAX = 85,
12427         }
12428         #[repr(C)]
12429         pub struct GeckoFont {
12430             pub gecko: root::nsStyleFont,
12431         }
12432         #[test]
bindgen_test_layout_GeckoFont()12433         fn bindgen_test_layout_GeckoFont() {
12434             assert_eq!(
12435                 ::std::mem::size_of::<GeckoFont>(),
12436                 136usize,
12437                 concat!("Size of: ", stringify!(GeckoFont))
12438             );
12439             assert_eq!(
12440                 ::std::mem::align_of::<GeckoFont>(),
12441                 8usize,
12442                 concat!("Alignment of ", stringify!(GeckoFont))
12443             );
12444             assert_eq!(
12445                 unsafe { &(*(::std::ptr::null::<GeckoFont>())).gecko as *const _ as usize },
12446                 0usize,
12447                 concat!(
12448                     "Offset of field: ",
12449                     stringify!(GeckoFont),
12450                     "::",
12451                     stringify!(gecko)
12452                 )
12453             );
12454         }
12455         #[repr(C)]
12456         #[derive(Debug)]
12457         pub struct GeckoColor {
12458             pub gecko: root::nsStyleColor,
12459         }
12460         #[test]
bindgen_test_layout_GeckoColor()12461         fn bindgen_test_layout_GeckoColor() {
12462             assert_eq!(
12463                 ::std::mem::size_of::<GeckoColor>(),
12464                 4usize,
12465                 concat!("Size of: ", stringify!(GeckoColor))
12466             );
12467             assert_eq!(
12468                 ::std::mem::align_of::<GeckoColor>(),
12469                 4usize,
12470                 concat!("Alignment of ", stringify!(GeckoColor))
12471             );
12472             assert_eq!(
12473                 unsafe { &(*(::std::ptr::null::<GeckoColor>())).gecko as *const _ as usize },
12474                 0usize,
12475                 concat!(
12476                     "Offset of field: ",
12477                     stringify!(GeckoColor),
12478                     "::",
12479                     stringify!(gecko)
12480                 )
12481             );
12482         }
12483         #[repr(C)]
12484         pub struct GeckoList {
12485             pub gecko: root::nsStyleList,
12486         }
12487         #[test]
bindgen_test_layout_GeckoList()12488         fn bindgen_test_layout_GeckoList() {
12489             assert_eq!(
12490                 ::std::mem::size_of::<GeckoList>(),
12491                 48usize,
12492                 concat!("Size of: ", stringify!(GeckoList))
12493             );
12494             assert_eq!(
12495                 ::std::mem::align_of::<GeckoList>(),
12496                 8usize,
12497                 concat!("Alignment of ", stringify!(GeckoList))
12498             );
12499             assert_eq!(
12500                 unsafe { &(*(::std::ptr::null::<GeckoList>())).gecko as *const _ as usize },
12501                 0usize,
12502                 concat!(
12503                     "Offset of field: ",
12504                     stringify!(GeckoList),
12505                     "::",
12506                     stringify!(gecko)
12507                 )
12508             );
12509         }
12510         #[repr(C)]
12511         pub struct GeckoText {
12512             pub gecko: root::nsStyleText,
12513         }
12514         #[test]
bindgen_test_layout_GeckoText()12515         fn bindgen_test_layout_GeckoText() {
12516             assert_eq!(
12517                 ::std::mem::size_of::<GeckoText>(),
12518                 160usize,
12519                 concat!("Size of: ", stringify!(GeckoText))
12520             );
12521             assert_eq!(
12522                 ::std::mem::align_of::<GeckoText>(),
12523                 8usize,
12524                 concat!("Alignment of ", stringify!(GeckoText))
12525             );
12526             assert_eq!(
12527                 unsafe { &(*(::std::ptr::null::<GeckoText>())).gecko as *const _ as usize },
12528                 0usize,
12529                 concat!(
12530                     "Offset of field: ",
12531                     stringify!(GeckoText),
12532                     "::",
12533                     stringify!(gecko)
12534                 )
12535             );
12536         }
12537         #[repr(C)]
12538         #[derive(Debug)]
12539         pub struct GeckoVisibility {
12540             pub gecko: root::nsStyleVisibility,
12541         }
12542         #[test]
bindgen_test_layout_GeckoVisibility()12543         fn bindgen_test_layout_GeckoVisibility() {
12544             assert_eq!(
12545                 ::std::mem::size_of::<GeckoVisibility>(),
12546                 7usize,
12547                 concat!("Size of: ", stringify!(GeckoVisibility))
12548             );
12549             assert_eq!(
12550                 ::std::mem::align_of::<GeckoVisibility>(),
12551                 1usize,
12552                 concat!("Alignment of ", stringify!(GeckoVisibility))
12553             );
12554             assert_eq!(
12555                 unsafe { &(*(::std::ptr::null::<GeckoVisibility>())).gecko as *const _ as usize },
12556                 0usize,
12557                 concat!(
12558                     "Offset of field: ",
12559                     stringify!(GeckoVisibility),
12560                     "::",
12561                     stringify!(gecko)
12562                 )
12563             );
12564         }
12565         #[repr(C)]
12566         #[derive(Debug)]
12567         pub struct GeckoUserInterface {
12568             pub gecko: root::nsStyleUserInterface,
12569         }
12570         #[test]
bindgen_test_layout_GeckoUserInterface()12571         fn bindgen_test_layout_GeckoUserInterface() {
12572             assert_eq!(
12573                 ::std::mem::size_of::<GeckoUserInterface>(),
12574                 24usize,
12575                 concat!("Size of: ", stringify!(GeckoUserInterface))
12576             );
12577             assert_eq!(
12578                 ::std::mem::align_of::<GeckoUserInterface>(),
12579                 8usize,
12580                 concat!("Alignment of ", stringify!(GeckoUserInterface))
12581             );
12582             assert_eq!(
12583                 unsafe {
12584                     &(*(::std::ptr::null::<GeckoUserInterface>())).gecko as *const _ as usize
12585                 },
12586                 0usize,
12587                 concat!(
12588                     "Offset of field: ",
12589                     stringify!(GeckoUserInterface),
12590                     "::",
12591                     stringify!(gecko)
12592                 )
12593             );
12594         }
12595         #[repr(C)]
12596         #[derive(Debug)]
12597         pub struct GeckoTableBorder {
12598             pub gecko: root::nsStyleTableBorder,
12599         }
12600         #[test]
bindgen_test_layout_GeckoTableBorder()12601         fn bindgen_test_layout_GeckoTableBorder() {
12602             assert_eq!(
12603                 ::std::mem::size_of::<GeckoTableBorder>(),
12604                 12usize,
12605                 concat!("Size of: ", stringify!(GeckoTableBorder))
12606             );
12607             assert_eq!(
12608                 ::std::mem::align_of::<GeckoTableBorder>(),
12609                 4usize,
12610                 concat!("Alignment of ", stringify!(GeckoTableBorder))
12611             );
12612             assert_eq!(
12613                 unsafe { &(*(::std::ptr::null::<GeckoTableBorder>())).gecko as *const _ as usize },
12614                 0usize,
12615                 concat!(
12616                     "Offset of field: ",
12617                     stringify!(GeckoTableBorder),
12618                     "::",
12619                     stringify!(gecko)
12620                 )
12621             );
12622         }
12623         #[repr(C)]
12624         #[derive(Debug)]
12625         pub struct GeckoSVG {
12626             pub gecko: root::nsStyleSVG,
12627         }
12628         #[test]
bindgen_test_layout_GeckoSVG()12629         fn bindgen_test_layout_GeckoSVG() {
12630             assert_eq!(
12631                 ::std::mem::size_of::<GeckoSVG>(),
12632                 128usize,
12633                 concat!("Size of: ", stringify!(GeckoSVG))
12634             );
12635             assert_eq!(
12636                 ::std::mem::align_of::<GeckoSVG>(),
12637                 8usize,
12638                 concat!("Alignment of ", stringify!(GeckoSVG))
12639             );
12640             assert_eq!(
12641                 unsafe { &(*(::std::ptr::null::<GeckoSVG>())).gecko as *const _ as usize },
12642                 0usize,
12643                 concat!(
12644                     "Offset of field: ",
12645                     stringify!(GeckoSVG),
12646                     "::",
12647                     stringify!(gecko)
12648                 )
12649             );
12650         }
12651         #[repr(C)]
12652         #[derive(Debug)]
12653         pub struct GeckoBackground {
12654             pub gecko: root::nsStyleBackground,
12655         }
12656         #[test]
bindgen_test_layout_GeckoBackground()12657         fn bindgen_test_layout_GeckoBackground() {
12658             assert_eq!(
12659                 ::std::mem::size_of::<GeckoBackground>(),
12660                 160usize,
12661                 concat!("Size of: ", stringify!(GeckoBackground))
12662             );
12663             assert_eq!(
12664                 ::std::mem::align_of::<GeckoBackground>(),
12665                 8usize,
12666                 concat!("Alignment of ", stringify!(GeckoBackground))
12667             );
12668             assert_eq!(
12669                 unsafe { &(*(::std::ptr::null::<GeckoBackground>())).gecko as *const _ as usize },
12670                 0usize,
12671                 concat!(
12672                     "Offset of field: ",
12673                     stringify!(GeckoBackground),
12674                     "::",
12675                     stringify!(gecko)
12676                 )
12677             );
12678         }
12679         #[repr(C)]
12680         pub struct GeckoPosition {
12681             pub gecko: root::nsStylePosition,
12682         }
12683         #[test]
bindgen_test_layout_GeckoPosition()12684         fn bindgen_test_layout_GeckoPosition() {
12685             assert_eq!(
12686                 ::std::mem::size_of::<GeckoPosition>(),
12687                 440usize,
12688                 concat!("Size of: ", stringify!(GeckoPosition))
12689             );
12690             assert_eq!(
12691                 ::std::mem::align_of::<GeckoPosition>(),
12692                 8usize,
12693                 concat!("Alignment of ", stringify!(GeckoPosition))
12694             );
12695             assert_eq!(
12696                 unsafe { &(*(::std::ptr::null::<GeckoPosition>())).gecko as *const _ as usize },
12697                 0usize,
12698                 concat!(
12699                     "Offset of field: ",
12700                     stringify!(GeckoPosition),
12701                     "::",
12702                     stringify!(gecko)
12703                 )
12704             );
12705         }
12706         #[repr(C)]
12707         pub struct GeckoTextReset {
12708             pub gecko: root::nsStyleTextReset,
12709         }
12710         #[test]
bindgen_test_layout_GeckoTextReset()12711         fn bindgen_test_layout_GeckoTextReset() {
12712             assert_eq!(
12713                 ::std::mem::size_of::<GeckoTextReset>(),
12714                 80usize,
12715                 concat!("Size of: ", stringify!(GeckoTextReset))
12716             );
12717             assert_eq!(
12718                 ::std::mem::align_of::<GeckoTextReset>(),
12719                 8usize,
12720                 concat!("Alignment of ", stringify!(GeckoTextReset))
12721             );
12722             assert_eq!(
12723                 unsafe { &(*(::std::ptr::null::<GeckoTextReset>())).gecko as *const _ as usize },
12724                 0usize,
12725                 concat!(
12726                     "Offset of field: ",
12727                     stringify!(GeckoTextReset),
12728                     "::",
12729                     stringify!(gecko)
12730                 )
12731             );
12732         }
12733         #[repr(C)]
12734         #[derive(Debug)]
12735         pub struct GeckoDisplay {
12736             pub gecko: root::nsStyleDisplay,
12737         }
12738         #[test]
bindgen_test_layout_GeckoDisplay()12739         fn bindgen_test_layout_GeckoDisplay() {
12740             assert_eq!(
12741                 ::std::mem::size_of::<GeckoDisplay>(),
12742                 456usize,
12743                 concat!("Size of: ", stringify!(GeckoDisplay))
12744             );
12745             assert_eq!(
12746                 ::std::mem::align_of::<GeckoDisplay>(),
12747                 8usize,
12748                 concat!("Alignment of ", stringify!(GeckoDisplay))
12749             );
12750             assert_eq!(
12751                 unsafe { &(*(::std::ptr::null::<GeckoDisplay>())).gecko as *const _ as usize },
12752                 0usize,
12753                 concat!(
12754                     "Offset of field: ",
12755                     stringify!(GeckoDisplay),
12756                     "::",
12757                     stringify!(gecko)
12758                 )
12759             );
12760         }
12761         #[repr(C)]
12762         pub struct GeckoContent {
12763             pub gecko: root::nsStyleContent,
12764         }
12765         #[test]
bindgen_test_layout_GeckoContent()12766         fn bindgen_test_layout_GeckoContent() {
12767             assert_eq!(
12768                 ::std::mem::size_of::<GeckoContent>(),
12769                 24usize,
12770                 concat!("Size of: ", stringify!(GeckoContent))
12771             );
12772             assert_eq!(
12773                 ::std::mem::align_of::<GeckoContent>(),
12774                 8usize,
12775                 concat!("Alignment of ", stringify!(GeckoContent))
12776             );
12777             assert_eq!(
12778                 unsafe { &(*(::std::ptr::null::<GeckoContent>())).gecko as *const _ as usize },
12779                 0usize,
12780                 concat!(
12781                     "Offset of field: ",
12782                     stringify!(GeckoContent),
12783                     "::",
12784                     stringify!(gecko)
12785                 )
12786             );
12787         }
12788         #[repr(C)]
12789         #[derive(Debug)]
12790         pub struct GeckoUIReset {
12791             pub gecko: root::nsStyleUIReset,
12792         }
12793         #[test]
bindgen_test_layout_GeckoUIReset()12794         fn bindgen_test_layout_GeckoUIReset() {
12795             assert_eq!(
12796                 ::std::mem::size_of::<GeckoUIReset>(),
12797                 56usize,
12798                 concat!("Size of: ", stringify!(GeckoUIReset))
12799             );
12800             assert_eq!(
12801                 ::std::mem::align_of::<GeckoUIReset>(),
12802                 8usize,
12803                 concat!("Alignment of ", stringify!(GeckoUIReset))
12804             );
12805             assert_eq!(
12806                 unsafe { &(*(::std::ptr::null::<GeckoUIReset>())).gecko as *const _ as usize },
12807                 0usize,
12808                 concat!(
12809                     "Offset of field: ",
12810                     stringify!(GeckoUIReset),
12811                     "::",
12812                     stringify!(gecko)
12813                 )
12814             );
12815         }
12816         #[repr(C)]
12817         #[derive(Debug)]
12818         pub struct GeckoTable {
12819             pub gecko: root::nsStyleTable,
12820         }
12821         #[test]
bindgen_test_layout_GeckoTable()12822         fn bindgen_test_layout_GeckoTable() {
12823             assert_eq!(
12824                 ::std::mem::size_of::<GeckoTable>(),
12825                 8usize,
12826                 concat!("Size of: ", stringify!(GeckoTable))
12827             );
12828             assert_eq!(
12829                 ::std::mem::align_of::<GeckoTable>(),
12830                 4usize,
12831                 concat!("Alignment of ", stringify!(GeckoTable))
12832             );
12833             assert_eq!(
12834                 unsafe { &(*(::std::ptr::null::<GeckoTable>())).gecko as *const _ as usize },
12835                 0usize,
12836                 concat!(
12837                     "Offset of field: ",
12838                     stringify!(GeckoTable),
12839                     "::",
12840                     stringify!(gecko)
12841                 )
12842             );
12843         }
12844         #[repr(C)]
12845         #[derive(Debug)]
12846         pub struct GeckoMargin {
12847             pub gecko: root::nsStyleMargin,
12848         }
12849         #[test]
bindgen_test_layout_GeckoMargin()12850         fn bindgen_test_layout_GeckoMargin() {
12851             assert_eq!(
12852                 ::std::mem::size_of::<GeckoMargin>(),
12853                 40usize,
12854                 concat!("Size of: ", stringify!(GeckoMargin))
12855             );
12856             assert_eq!(
12857                 ::std::mem::align_of::<GeckoMargin>(),
12858                 8usize,
12859                 concat!("Alignment of ", stringify!(GeckoMargin))
12860             );
12861             assert_eq!(
12862                 unsafe { &(*(::std::ptr::null::<GeckoMargin>())).gecko as *const _ as usize },
12863                 0usize,
12864                 concat!(
12865                     "Offset of field: ",
12866                     stringify!(GeckoMargin),
12867                     "::",
12868                     stringify!(gecko)
12869                 )
12870             );
12871         }
12872         #[repr(C)]
12873         #[derive(Debug)]
12874         pub struct GeckoPadding {
12875             pub gecko: root::nsStylePadding,
12876         }
12877         #[test]
bindgen_test_layout_GeckoPadding()12878         fn bindgen_test_layout_GeckoPadding() {
12879             assert_eq!(
12880                 ::std::mem::size_of::<GeckoPadding>(),
12881                 40usize,
12882                 concat!("Size of: ", stringify!(GeckoPadding))
12883             );
12884             assert_eq!(
12885                 ::std::mem::align_of::<GeckoPadding>(),
12886                 8usize,
12887                 concat!("Alignment of ", stringify!(GeckoPadding))
12888             );
12889             assert_eq!(
12890                 unsafe { &(*(::std::ptr::null::<GeckoPadding>())).gecko as *const _ as usize },
12891                 0usize,
12892                 concat!(
12893                     "Offset of field: ",
12894                     stringify!(GeckoPadding),
12895                     "::",
12896                     stringify!(gecko)
12897                 )
12898             );
12899         }
12900         #[repr(C)]
12901         #[derive(Debug)]
12902         pub struct GeckoBorder {
12903             pub gecko: root::nsStyleBorder,
12904         }
12905         #[test]
bindgen_test_layout_GeckoBorder()12906         fn bindgen_test_layout_GeckoBorder() {
12907             assert_eq!(
12908                 ::std::mem::size_of::<GeckoBorder>(),
12909                 304usize,
12910                 concat!("Size of: ", stringify!(GeckoBorder))
12911             );
12912             assert_eq!(
12913                 ::std::mem::align_of::<GeckoBorder>(),
12914                 8usize,
12915                 concat!("Alignment of ", stringify!(GeckoBorder))
12916             );
12917             assert_eq!(
12918                 unsafe { &(*(::std::ptr::null::<GeckoBorder>())).gecko as *const _ as usize },
12919                 0usize,
12920                 concat!(
12921                     "Offset of field: ",
12922                     stringify!(GeckoBorder),
12923                     "::",
12924                     stringify!(gecko)
12925                 )
12926             );
12927         }
12928         #[repr(C)]
12929         #[derive(Debug)]
12930         pub struct GeckoOutline {
12931             pub gecko: root::nsStyleOutline,
12932         }
12933         #[test]
bindgen_test_layout_GeckoOutline()12934         fn bindgen_test_layout_GeckoOutline() {
12935             assert_eq!(
12936                 ::std::mem::size_of::<GeckoOutline>(),
12937                 104usize,
12938                 concat!("Size of: ", stringify!(GeckoOutline))
12939             );
12940             assert_eq!(
12941                 ::std::mem::align_of::<GeckoOutline>(),
12942                 8usize,
12943                 concat!("Alignment of ", stringify!(GeckoOutline))
12944             );
12945             assert_eq!(
12946                 unsafe { &(*(::std::ptr::null::<GeckoOutline>())).gecko as *const _ as usize },
12947                 0usize,
12948                 concat!(
12949                     "Offset of field: ",
12950                     stringify!(GeckoOutline),
12951                     "::",
12952                     stringify!(gecko)
12953                 )
12954             );
12955         }
12956         #[repr(C)]
12957         #[derive(Debug)]
12958         pub struct GeckoXUL {
12959             pub gecko: root::nsStyleXUL,
12960         }
12961         #[test]
bindgen_test_layout_GeckoXUL()12962         fn bindgen_test_layout_GeckoXUL() {
12963             assert_eq!(
12964                 ::std::mem::size_of::<GeckoXUL>(),
12965                 16usize,
12966                 concat!("Size of: ", stringify!(GeckoXUL))
12967             );
12968             assert_eq!(
12969                 ::std::mem::align_of::<GeckoXUL>(),
12970                 4usize,
12971                 concat!("Alignment of ", stringify!(GeckoXUL))
12972             );
12973             assert_eq!(
12974                 unsafe { &(*(::std::ptr::null::<GeckoXUL>())).gecko as *const _ as usize },
12975                 0usize,
12976                 concat!(
12977                     "Offset of field: ",
12978                     stringify!(GeckoXUL),
12979                     "::",
12980                     stringify!(gecko)
12981                 )
12982             );
12983         }
12984         #[repr(C)]
12985         #[derive(Debug)]
12986         pub struct GeckoSVGReset {
12987             pub gecko: root::nsStyleSVGReset,
12988         }
12989         #[test]
bindgen_test_layout_GeckoSVGReset()12990         fn bindgen_test_layout_GeckoSVGReset() {
12991             assert_eq!(
12992                 ::std::mem::size_of::<GeckoSVGReset>(),
12993                 200usize,
12994                 concat!("Size of: ", stringify!(GeckoSVGReset))
12995             );
12996             assert_eq!(
12997                 ::std::mem::align_of::<GeckoSVGReset>(),
12998                 8usize,
12999                 concat!("Alignment of ", stringify!(GeckoSVGReset))
13000             );
13001             assert_eq!(
13002                 unsafe { &(*(::std::ptr::null::<GeckoSVGReset>())).gecko as *const _ as usize },
13003                 0usize,
13004                 concat!(
13005                     "Offset of field: ",
13006                     stringify!(GeckoSVGReset),
13007                     "::",
13008                     stringify!(gecko)
13009                 )
13010             );
13011         }
13012         #[repr(C)]
13013         #[derive(Debug)]
13014         pub struct GeckoColumn {
13015             pub gecko: root::nsStyleColumn,
13016         }
13017         #[test]
bindgen_test_layout_GeckoColumn()13018         fn bindgen_test_layout_GeckoColumn() {
13019             assert_eq!(
13020                 ::std::mem::size_of::<GeckoColumn>(),
13021                 64usize,
13022                 concat!("Size of: ", stringify!(GeckoColumn))
13023             );
13024             assert_eq!(
13025                 ::std::mem::align_of::<GeckoColumn>(),
13026                 8usize,
13027                 concat!("Alignment of ", stringify!(GeckoColumn))
13028             );
13029             assert_eq!(
13030                 unsafe { &(*(::std::ptr::null::<GeckoColumn>())).gecko as *const _ as usize },
13031                 0usize,
13032                 concat!(
13033                     "Offset of field: ",
13034                     stringify!(GeckoColumn),
13035                     "::",
13036                     stringify!(gecko)
13037                 )
13038             );
13039         }
13040         #[repr(C)]
13041         #[derive(Debug)]
13042         pub struct GeckoEffects {
13043             pub gecko: root::nsStyleEffects,
13044         }
13045         #[test]
bindgen_test_layout_GeckoEffects()13046         fn bindgen_test_layout_GeckoEffects() {
13047             assert_eq!(
13048                 ::std::mem::size_of::<GeckoEffects>(),
13049                 40usize,
13050                 concat!("Size of: ", stringify!(GeckoEffects))
13051             );
13052             assert_eq!(
13053                 ::std::mem::align_of::<GeckoEffects>(),
13054                 8usize,
13055                 concat!("Alignment of ", stringify!(GeckoEffects))
13056             );
13057             assert_eq!(
13058                 unsafe { &(*(::std::ptr::null::<GeckoEffects>())).gecko as *const _ as usize },
13059                 0usize,
13060                 concat!(
13061                     "Offset of field: ",
13062                     stringify!(GeckoEffects),
13063                     "::",
13064                     stringify!(gecko)
13065                 )
13066             );
13067         }
13068         #[repr(C)]
13069         #[derive(Debug)]
13070         pub struct ServoMediaList {
13071             pub _base: root::mozilla::dom::MediaList,
13072             pub mRawList: root::RefPtr<root::RawServoMediaList>,
13073         }
13074         #[test]
bindgen_test_layout_ServoMediaList()13075         fn bindgen_test_layout_ServoMediaList() {
13076             assert_eq!(
13077                 ::std::mem::size_of::<ServoMediaList>(),
13078                 56usize,
13079                 concat!("Size of: ", stringify!(ServoMediaList))
13080             );
13081             assert_eq!(
13082                 ::std::mem::align_of::<ServoMediaList>(),
13083                 8usize,
13084                 concat!("Alignment of ", stringify!(ServoMediaList))
13085             );
13086             assert_eq!(
13087                 unsafe { &(*(::std::ptr::null::<ServoMediaList>())).mRawList as *const _ as usize },
13088                 48usize,
13089                 concat!(
13090                     "Offset of field: ",
13091                     stringify!(ServoMediaList),
13092                     "::",
13093                     stringify!(mRawList)
13094                 )
13095             );
13096         }
13097         pub const OriginFlags_UserAgent: root::mozilla::OriginFlags = root::mozilla::OriginFlags(1);
13098         pub const OriginFlags_User: root::mozilla::OriginFlags = root::mozilla::OriginFlags(2);
13099         pub const OriginFlags_Author: root::mozilla::OriginFlags = root::mozilla::OriginFlags(4);
13100         pub const OriginFlags_All: root::mozilla::OriginFlags = root::mozilla::OriginFlags(7);
13101         impl ::std::ops::BitOr<root::mozilla::OriginFlags> for root::mozilla::OriginFlags {
13102             type Output = Self;
13103             #[inline]
bitor(self, other: Self) -> Self13104             fn bitor(self, other: Self) -> Self {
13105                 OriginFlags(self.0 | other.0)
13106             }
13107         }
13108         impl ::std::ops::BitOrAssign for root::mozilla::OriginFlags {
13109             #[inline]
bitor_assign(&mut self, rhs: root::mozilla::OriginFlags)13110             fn bitor_assign(&mut self, rhs: root::mozilla::OriginFlags) {
13111                 self.0 |= rhs.0;
13112             }
13113         }
13114         impl ::std::ops::BitAnd<root::mozilla::OriginFlags> for root::mozilla::OriginFlags {
13115             type Output = Self;
13116             #[inline]
bitand(self, other: Self) -> Self13117             fn bitand(self, other: Self) -> Self {
13118                 OriginFlags(self.0 & other.0)
13119             }
13120         }
13121         impl ::std::ops::BitAndAssign for root::mozilla::OriginFlags {
13122             #[inline]
bitand_assign(&mut self, rhs: root::mozilla::OriginFlags)13123             fn bitand_assign(&mut self, rhs: root::mozilla::OriginFlags) {
13124                 self.0 &= rhs.0;
13125             }
13126         }
13127         #[repr(C)]
13128         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
13129         pub struct OriginFlags(pub u8);
13130         #[repr(C)]
13131         #[derive(Debug)]
13132         pub struct CachedInheritingStyles {
13133             pub mBits: usize,
13134         }
13135         pub type CachedInheritingStyles_IndirectCache = [u64; 6usize];
13136         #[test]
bindgen_test_layout_CachedInheritingStyles()13137         fn bindgen_test_layout_CachedInheritingStyles() {
13138             assert_eq!(
13139                 ::std::mem::size_of::<CachedInheritingStyles>(),
13140                 8usize,
13141                 concat!("Size of: ", stringify!(CachedInheritingStyles))
13142             );
13143             assert_eq!(
13144                 ::std::mem::align_of::<CachedInheritingStyles>(),
13145                 8usize,
13146                 concat!("Alignment of ", stringify!(CachedInheritingStyles))
13147             );
13148             assert_eq!(
13149                 unsafe {
13150                     &(*(::std::ptr::null::<CachedInheritingStyles>())).mBits as *const _ as usize
13151                 },
13152                 0usize,
13153                 concat!(
13154                     "Offset of field: ",
13155                     stringify!(CachedInheritingStyles),
13156                     "::",
13157                     stringify!(mBits)
13158                 )
13159             );
13160         }
13161         #[repr(C)]
13162         pub struct ServoStyleContext {
13163             pub _base: root::nsStyleContext,
13164             pub mPresContext: *mut root::nsPresContext,
13165             pub mSource: root::ServoComputedData,
13166             pub mCachedInheritingStyles: root::mozilla::CachedInheritingStyles,
13167         }
13168         #[test]
bindgen_test_layout_ServoStyleContext()13169         fn bindgen_test_layout_ServoStyleContext() {
13170             assert_eq!(
13171                 ::std::mem::size_of::<ServoStyleContext>(),
13172                 248usize,
13173                 concat!("Size of: ", stringify!(ServoStyleContext))
13174             );
13175             assert_eq!(
13176                 ::std::mem::align_of::<ServoStyleContext>(),
13177                 8usize,
13178                 concat!("Alignment of ", stringify!(ServoStyleContext))
13179             );
13180             assert_eq!(
13181                 unsafe {
13182                     &(*(::std::ptr::null::<ServoStyleContext>())).mPresContext as *const _ as usize
13183                 },
13184                 16usize,
13185                 concat!(
13186                     "Offset of field: ",
13187                     stringify!(ServoStyleContext),
13188                     "::",
13189                     stringify!(mPresContext)
13190                 )
13191             );
13192             assert_eq!(
13193                 unsafe {
13194                     &(*(::std::ptr::null::<ServoStyleContext>())).mSource as *const _ as usize
13195                 },
13196                 24usize,
13197                 concat!(
13198                     "Offset of field: ",
13199                     stringify!(ServoStyleContext),
13200                     "::",
13201                     stringify!(mSource)
13202                 )
13203             );
13204             assert_eq!(
13205                 unsafe {
13206                     &(*(::std::ptr::null::<ServoStyleContext>())).mCachedInheritingStyles
13207                         as *const _ as usize
13208                 },
13209                 240usize,
13210                 concat!(
13211                     "Offset of field: ",
13212                     stringify!(ServoStyleContext),
13213                     "::",
13214                     stringify!(mCachedInheritingStyles)
13215                 )
13216             );
13217         }
13218         #[repr(C)]
13219         #[derive(Debug, Copy)]
13220         pub struct DeclarationBlock {
13221             pub mContainer: root::mozilla::DeclarationBlock__bindgen_ty_1,
13222             pub mImmutable: bool,
13223             pub mType: root::mozilla::StyleBackendType,
13224             pub mIsDirty: u32,
13225         }
13226         #[repr(C)]
13227         #[derive(Debug, Copy)]
13228         pub struct DeclarationBlock__bindgen_ty_1 {
13229             pub mRaw: root::__BindgenUnionField<usize>,
13230             pub mOwningRule: root::__BindgenUnionField<*mut root::mozilla::css::Rule>,
13231             pub mHTMLCSSStyleSheet: root::__BindgenUnionField<*mut root::nsHTMLCSSStyleSheet>,
13232             pub bindgen_union_field: u64,
13233         }
13234         #[test]
bindgen_test_layout_DeclarationBlock__bindgen_ty_1()13235         fn bindgen_test_layout_DeclarationBlock__bindgen_ty_1() {
13236             assert_eq!(
13237                 ::std::mem::size_of::<DeclarationBlock__bindgen_ty_1>(),
13238                 8usize,
13239                 concat!("Size of: ", stringify!(DeclarationBlock__bindgen_ty_1))
13240             );
13241             assert_eq!(
13242                 ::std::mem::align_of::<DeclarationBlock__bindgen_ty_1>(),
13243                 8usize,
13244                 concat!("Alignment of ", stringify!(DeclarationBlock__bindgen_ty_1))
13245             );
13246             assert_eq!(
13247                 unsafe {
13248                     &(*(::std::ptr::null::<DeclarationBlock__bindgen_ty_1>())).mRaw as *const _
13249                         as usize
13250                 },
13251                 0usize,
13252                 concat!(
13253                     "Offset of field: ",
13254                     stringify!(DeclarationBlock__bindgen_ty_1),
13255                     "::",
13256                     stringify!(mRaw)
13257                 )
13258             );
13259             assert_eq!(
13260                 unsafe {
13261                     &(*(::std::ptr::null::<DeclarationBlock__bindgen_ty_1>())).mOwningRule
13262                         as *const _ as usize
13263                 },
13264                 0usize,
13265                 concat!(
13266                     "Offset of field: ",
13267                     stringify!(DeclarationBlock__bindgen_ty_1),
13268                     "::",
13269                     stringify!(mOwningRule)
13270                 )
13271             );
13272             assert_eq!(
13273                 unsafe {
13274                     &(*(::std::ptr::null::<DeclarationBlock__bindgen_ty_1>())).mHTMLCSSStyleSheet
13275                         as *const _ as usize
13276                 },
13277                 0usize,
13278                 concat!(
13279                     "Offset of field: ",
13280                     stringify!(DeclarationBlock__bindgen_ty_1),
13281                     "::",
13282                     stringify!(mHTMLCSSStyleSheet)
13283                 )
13284             );
13285         }
13286         impl Clone for DeclarationBlock__bindgen_ty_1 {
clone(&self) -> Self13287             fn clone(&self) -> Self {
13288                 *self
13289             }
13290         }
13291         #[test]
bindgen_test_layout_DeclarationBlock()13292         fn bindgen_test_layout_DeclarationBlock() {
13293             assert_eq!(
13294                 ::std::mem::size_of::<DeclarationBlock>(),
13295                 16usize,
13296                 concat!("Size of: ", stringify!(DeclarationBlock))
13297             );
13298             assert_eq!(
13299                 ::std::mem::align_of::<DeclarationBlock>(),
13300                 8usize,
13301                 concat!("Alignment of ", stringify!(DeclarationBlock))
13302             );
13303             assert_eq!(
13304                 unsafe {
13305                     &(*(::std::ptr::null::<DeclarationBlock>())).mContainer as *const _ as usize
13306                 },
13307                 0usize,
13308                 concat!(
13309                     "Offset of field: ",
13310                     stringify!(DeclarationBlock),
13311                     "::",
13312                     stringify!(mContainer)
13313                 )
13314             );
13315             assert_eq!(
13316                 unsafe {
13317                     &(*(::std::ptr::null::<DeclarationBlock>())).mImmutable as *const _ as usize
13318                 },
13319                 8usize,
13320                 concat!(
13321                     "Offset of field: ",
13322                     stringify!(DeclarationBlock),
13323                     "::",
13324                     stringify!(mImmutable)
13325                 )
13326             );
13327             assert_eq!(
13328                 unsafe { &(*(::std::ptr::null::<DeclarationBlock>())).mType as *const _ as usize },
13329                 9usize,
13330                 concat!(
13331                     "Offset of field: ",
13332                     stringify!(DeclarationBlock),
13333                     "::",
13334                     stringify!(mType)
13335                 )
13336             );
13337             assert_eq!(
13338                 unsafe {
13339                     &(*(::std::ptr::null::<DeclarationBlock>())).mIsDirty as *const _ as usize
13340                 },
13341                 12usize,
13342                 concat!(
13343                     "Offset of field: ",
13344                     stringify!(DeclarationBlock),
13345                     "::",
13346                     stringify!(mIsDirty)
13347                 )
13348             );
13349         }
13350         impl Clone for DeclarationBlock {
clone(&self) -> Self13351             fn clone(&self) -> Self {
13352                 *self
13353             }
13354         }
13355         #[repr(C)]
13356         #[derive(Debug)]
13357         pub struct ServoDeclarationBlock {
13358             pub _base: root::mozilla::DeclarationBlock,
13359             pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
13360             pub mRaw: root::RefPtr<root::RawServoDeclarationBlock>,
13361         }
13362         pub type ServoDeclarationBlock_HasThreadSafeRefCnt = root::mozilla::TrueType;
13363         #[test]
bindgen_test_layout_ServoDeclarationBlock()13364         fn bindgen_test_layout_ServoDeclarationBlock() {
13365             assert_eq!(
13366                 ::std::mem::size_of::<ServoDeclarationBlock>(),
13367                 32usize,
13368                 concat!("Size of: ", stringify!(ServoDeclarationBlock))
13369             );
13370             assert_eq!(
13371                 ::std::mem::align_of::<ServoDeclarationBlock>(),
13372                 8usize,
13373                 concat!("Alignment of ", stringify!(ServoDeclarationBlock))
13374             );
13375             assert_eq!(
13376                 unsafe {
13377                     &(*(::std::ptr::null::<ServoDeclarationBlock>())).mRefCnt as *const _ as usize
13378                 },
13379                 16usize,
13380                 concat!(
13381                     "Offset of field: ",
13382                     stringify!(ServoDeclarationBlock),
13383                     "::",
13384                     stringify!(mRefCnt)
13385                 )
13386             );
13387             assert_eq!(
13388                 unsafe {
13389                     &(*(::std::ptr::null::<ServoDeclarationBlock>())).mRaw as *const _ as usize
13390                 },
13391                 24usize,
13392                 concat!(
13393                     "Offset of field: ",
13394                     stringify!(ServoDeclarationBlock),
13395                     "::",
13396                     stringify!(mRaw)
13397                 )
13398             );
13399         }
13400         #[repr(C)]
13401         #[derive(Debug)]
13402         pub struct CSSFontFaceDescriptors {
13403             pub mFamily: root::nsCSSValue,
13404             pub mStyle: root::nsCSSValue,
13405             pub mWeight: root::nsCSSValue,
13406             pub mStretch: root::nsCSSValue,
13407             pub mSrc: root::nsCSSValue,
13408             pub mUnicodeRange: root::nsCSSValue,
13409             pub mFontFeatureSettings: root::nsCSSValue,
13410             pub mFontVariationSettings: root::nsCSSValue,
13411             pub mFontLanguageOverride: root::nsCSSValue,
13412             pub mDisplay: root::nsCSSValue,
13413         }
13414         extern "C" {
13415             #[link_name = "\u{1}_ZN7mozilla22CSSFontFaceDescriptors6FieldsE"]
13416             pub static mut CSSFontFaceDescriptors_Fields: [*const root::nsCSSValue; 0usize];
13417         }
13418         #[test]
bindgen_test_layout_CSSFontFaceDescriptors()13419         fn bindgen_test_layout_CSSFontFaceDescriptors() {
13420             assert_eq!(
13421                 ::std::mem::size_of::<CSSFontFaceDescriptors>(),
13422                 160usize,
13423                 concat!("Size of: ", stringify!(CSSFontFaceDescriptors))
13424             );
13425             assert_eq!(
13426                 ::std::mem::align_of::<CSSFontFaceDescriptors>(),
13427                 8usize,
13428                 concat!("Alignment of ", stringify!(CSSFontFaceDescriptors))
13429             );
13430             assert_eq!(
13431                 unsafe {
13432                     &(*(::std::ptr::null::<CSSFontFaceDescriptors>())).mFamily as *const _ as usize
13433                 },
13434                 0usize,
13435                 concat!(
13436                     "Offset of field: ",
13437                     stringify!(CSSFontFaceDescriptors),
13438                     "::",
13439                     stringify!(mFamily)
13440                 )
13441             );
13442             assert_eq!(
13443                 unsafe {
13444                     &(*(::std::ptr::null::<CSSFontFaceDescriptors>())).mStyle as *const _ as usize
13445                 },
13446                 16usize,
13447                 concat!(
13448                     "Offset of field: ",
13449                     stringify!(CSSFontFaceDescriptors),
13450                     "::",
13451                     stringify!(mStyle)
13452                 )
13453             );
13454             assert_eq!(
13455                 unsafe {
13456                     &(*(::std::ptr::null::<CSSFontFaceDescriptors>())).mWeight as *const _ as usize
13457                 },
13458                 32usize,
13459                 concat!(
13460                     "Offset of field: ",
13461                     stringify!(CSSFontFaceDescriptors),
13462                     "::",
13463                     stringify!(mWeight)
13464                 )
13465             );
13466             assert_eq!(
13467                 unsafe {
13468                     &(*(::std::ptr::null::<CSSFontFaceDescriptors>())).mStretch as *const _ as usize
13469                 },
13470                 48usize,
13471                 concat!(
13472                     "Offset of field: ",
13473                     stringify!(CSSFontFaceDescriptors),
13474                     "::",
13475                     stringify!(mStretch)
13476                 )
13477             );
13478             assert_eq!(
13479                 unsafe {
13480                     &(*(::std::ptr::null::<CSSFontFaceDescriptors>())).mSrc as *const _ as usize
13481                 },
13482                 64usize,
13483                 concat!(
13484                     "Offset of field: ",
13485                     stringify!(CSSFontFaceDescriptors),
13486                     "::",
13487                     stringify!(mSrc)
13488                 )
13489             );
13490             assert_eq!(
13491                 unsafe {
13492                     &(*(::std::ptr::null::<CSSFontFaceDescriptors>())).mUnicodeRange as *const _
13493                         as usize
13494                 },
13495                 80usize,
13496                 concat!(
13497                     "Offset of field: ",
13498                     stringify!(CSSFontFaceDescriptors),
13499                     "::",
13500                     stringify!(mUnicodeRange)
13501                 )
13502             );
13503             assert_eq!(
13504                 unsafe {
13505                     &(*(::std::ptr::null::<CSSFontFaceDescriptors>())).mFontFeatureSettings
13506                         as *const _ as usize
13507                 },
13508                 96usize,
13509                 concat!(
13510                     "Offset of field: ",
13511                     stringify!(CSSFontFaceDescriptors),
13512                     "::",
13513                     stringify!(mFontFeatureSettings)
13514                 )
13515             );
13516             assert_eq!(
13517                 unsafe {
13518                     &(*(::std::ptr::null::<CSSFontFaceDescriptors>())).mFontVariationSettings
13519                         as *const _ as usize
13520                 },
13521                 112usize,
13522                 concat!(
13523                     "Offset of field: ",
13524                     stringify!(CSSFontFaceDescriptors),
13525                     "::",
13526                     stringify!(mFontVariationSettings)
13527                 )
13528             );
13529             assert_eq!(
13530                 unsafe {
13531                     &(*(::std::ptr::null::<CSSFontFaceDescriptors>())).mFontLanguageOverride
13532                         as *const _ as usize
13533                 },
13534                 128usize,
13535                 concat!(
13536                     "Offset of field: ",
13537                     stringify!(CSSFontFaceDescriptors),
13538                     "::",
13539                     stringify!(mFontLanguageOverride)
13540                 )
13541             );
13542             assert_eq!(
13543                 unsafe {
13544                     &(*(::std::ptr::null::<CSSFontFaceDescriptors>())).mDisplay as *const _ as usize
13545                 },
13546                 144usize,
13547                 concat!(
13548                     "Offset of field: ",
13549                     stringify!(CSSFontFaceDescriptors),
13550                     "::",
13551                     stringify!(mDisplay)
13552                 )
13553             );
13554         }
13555         pub mod intl {
13556             #[allow(unused_imports)]
13557             use self::super::super::super::root;
13558             #[repr(C)]
13559             #[derive(Debug)]
13560             pub struct LineBreaker {
13561                 pub mRefCnt: root::nsAutoRefCnt,
13562             }
13563             pub type LineBreaker_HasThreadSafeRefCnt = root::mozilla::FalseType;
13564             pub const LineBreaker_kWordBreak_Normal:
13565                 root::mozilla::intl::LineBreaker__bindgen_ty_1 = 0;
13566             pub const LineBreaker_kWordBreak_BreakAll:
13567                 root::mozilla::intl::LineBreaker__bindgen_ty_1 = 1;
13568             pub const LineBreaker_kWordBreak_KeepAll:
13569                 root::mozilla::intl::LineBreaker__bindgen_ty_1 = 2;
13570             pub type LineBreaker__bindgen_ty_1 = u32;
13571             #[test]
bindgen_test_layout_LineBreaker()13572             fn bindgen_test_layout_LineBreaker() {
13573                 assert_eq!(
13574                     ::std::mem::size_of::<LineBreaker>(),
13575                     8usize,
13576                     concat!("Size of: ", stringify!(LineBreaker))
13577                 );
13578                 assert_eq!(
13579                     ::std::mem::align_of::<LineBreaker>(),
13580                     8usize,
13581                     concat!("Alignment of ", stringify!(LineBreaker))
13582                 );
13583                 assert_eq!(
13584                     unsafe { &(*(::std::ptr::null::<LineBreaker>())).mRefCnt as *const _ as usize },
13585                     0usize,
13586                     concat!(
13587                         "Offset of field: ",
13588                         stringify!(LineBreaker),
13589                         "::",
13590                         stringify!(mRefCnt)
13591                     )
13592                 );
13593             }
13594             #[repr(C)]
13595             #[derive(Debug)]
13596             pub struct WordBreaker {
13597                 pub mRefCnt: root::nsAutoRefCnt,
13598             }
13599             pub type WordBreaker_HasThreadSafeRefCnt = root::mozilla::FalseType;
13600             #[test]
bindgen_test_layout_WordBreaker()13601             fn bindgen_test_layout_WordBreaker() {
13602                 assert_eq!(
13603                     ::std::mem::size_of::<WordBreaker>(),
13604                     8usize,
13605                     concat!("Size of: ", stringify!(WordBreaker))
13606                 );
13607                 assert_eq!(
13608                     ::std::mem::align_of::<WordBreaker>(),
13609                     8usize,
13610                     concat!("Alignment of ", stringify!(WordBreaker))
13611                 );
13612                 assert_eq!(
13613                     unsafe { &(*(::std::ptr::null::<WordBreaker>())).mRefCnt as *const _ as usize },
13614                     0usize,
13615                     concat!(
13616                         "Offset of field: ",
13617                         stringify!(WordBreaker),
13618                         "::",
13619                         stringify!(mRefCnt)
13620                     )
13621                 );
13622             }
13623         }
13624     }
13625     #[repr(C)]
13626     #[derive(Debug, Copy)]
13627     pub struct InfallibleAllocPolicy {
13628         pub _address: u8,
13629     }
13630     #[test]
bindgen_test_layout_InfallibleAllocPolicy()13631     fn bindgen_test_layout_InfallibleAllocPolicy() {
13632         assert_eq!(
13633             ::std::mem::size_of::<InfallibleAllocPolicy>(),
13634             1usize,
13635             concat!("Size of: ", stringify!(InfallibleAllocPolicy))
13636         );
13637         assert_eq!(
13638             ::std::mem::align_of::<InfallibleAllocPolicy>(),
13639             1usize,
13640             concat!("Alignment of ", stringify!(InfallibleAllocPolicy))
13641         );
13642     }
13643     impl Clone for InfallibleAllocPolicy {
clone(&self) -> Self13644         fn clone(&self) -> Self {
13645             *self
13646         }
13647     }
13648     /// MozRefCountType is Mozilla's reference count type.
13649     ///
13650     /// We use the same type to represent the refcount of RefCounted objects
13651     /// as well, in order to be able to use the leak detection facilities
13652     /// that are implemented by XPCOM.
13653     ///
13654     /// Note that this type is not in the mozilla namespace so that it is
13655     /// usable for both C and C++ code.
13656     pub type MozRefCountType = usize;
13657     pub const nsresult_NS_ERROR_NO_INTERFACE: root::nsresult = nsresult::NS_NOINTERFACE;
13658     pub const nsresult_NS_ERROR_INVALID_ARG: root::nsresult = nsresult::NS_ERROR_ILLEGAL_VALUE;
13659     pub const nsresult_NS_ERROR_INVALID_POINTER: root::nsresult = nsresult::NS_ERROR_ILLEGAL_VALUE;
13660     pub const nsresult_NS_ERROR_NULL_POINTER: root::nsresult = nsresult::NS_ERROR_ILLEGAL_VALUE;
13661     pub const nsresult_NS_BINDING_SUCCEEDED: root::nsresult = nsresult::NS_OK;
13662     pub const nsresult_NS_NET_STATUS_RESOLVING_HOST: root::nsresult =
13663         nsresult::NS_BINDING_REDIRECTED;
13664     pub const nsresult_NS_NET_STATUS_RESOLVED_HOST: root::nsresult =
13665         nsresult::NS_ERROR_ALREADY_CONNECTED;
13666     pub const nsresult_NS_NET_STATUS_CONNECTED_TO: root::nsresult = nsresult::NS_BINDING_RETARGETED;
13667     pub const nsresult_NS_NET_STATUS_TLS_HANDSHAKE_STARTING: root::nsresult =
13668         nsresult::NS_ERROR_NOT_CONNECTED;
13669     pub const nsresult_NS_NET_STATUS_TLS_HANDSHAKE_ENDED: root::nsresult =
13670         nsresult::NS_ERROR_CONNECTION_REFUSED;
13671     pub const nsresult_NS_NET_STATUS_WAITING_FOR: root::nsresult = nsresult::NS_ERROR_MALFORMED_URI;
13672     pub const nsresult_NS_STATE_PROPERTY_EXISTS: root::nsresult = nsresult::NS_OK;
13673     pub const nsresult_NS_ERROR_HTMLPARSER_CONTINUE: root::nsresult = nsresult::NS_OK;
13674     pub const nsresult_NS_RDF_ASSERTION_ACCEPTED: root::nsresult = nsresult::NS_OK;
13675     pub const nsresult_NS_EXACT_LENGTH: root::nsresult = nsresult::NS_OK_UDEC_EXACTLENGTH;
13676     pub const nsresult_NS_PARTIAL_MORE_INPUT: root::nsresult = nsresult::NS_OK_UDEC_MOREINPUT;
13677     pub const nsresult_NS_PARTIAL_MORE_OUTPUT: root::nsresult = nsresult::NS_OK_UDEC_MOREOUTPUT;
13678     pub const nsresult_NS_ERROR_ILLEGAL_INPUT: root::nsresult =
13679         nsresult::NS_ERROR_UDEC_ILLEGALINPUT;
13680     pub const nsresult_NS_ERROR_XPATH_INVALID_ARG: root::nsresult =
13681         nsresult::NS_ERROR_ILLEGAL_VALUE;
13682     pub const nsresult_NS_SUCCESS_RESTART_APP: root::nsresult = nsresult::NS_SUCCESS_DONT_FIXUP;
13683     #[repr(u32)]
13684     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
13685     pub enum nsresult {
13686         NS_OK = 0,
13687         NS_ERROR_BASE = 3253927936,
13688         NS_ERROR_NOT_INITIALIZED = 3253927937,
13689         NS_ERROR_ALREADY_INITIALIZED = 3253927938,
13690         NS_ERROR_NOT_IMPLEMENTED = 2147500033,
13691         NS_NOINTERFACE = 2147500034,
13692         NS_ERROR_ABORT = 2147500036,
13693         NS_ERROR_FAILURE = 2147500037,
13694         NS_ERROR_UNEXPECTED = 2147549183,
13695         NS_ERROR_OUT_OF_MEMORY = 2147942414,
13696         NS_ERROR_ILLEGAL_VALUE = 2147942487,
13697         NS_ERROR_NO_AGGREGATION = 2147746064,
13698         NS_ERROR_NOT_AVAILABLE = 2147746065,
13699         NS_ERROR_FACTORY_NOT_REGISTERED = 2147746132,
13700         NS_ERROR_FACTORY_REGISTER_AGAIN = 2147746133,
13701         NS_ERROR_FACTORY_NOT_LOADED = 2147746296,
13702         NS_ERROR_FACTORY_NO_SIGNATURE_SUPPORT = 3253928193,
13703         NS_ERROR_FACTORY_EXISTS = 3253928192,
13704         NS_ERROR_CANNOT_CONVERT_DATA = 2152071169,
13705         NS_ERROR_OBJECT_IS_IMMUTABLE = 2152071170,
13706         NS_ERROR_LOSS_OF_SIGNIFICANT_DATA = 2152071171,
13707         NS_ERROR_NOT_SAME_THREAD = 2152071172,
13708         NS_ERROR_ILLEGAL_DURING_SHUTDOWN = 2152071198,
13709         NS_ERROR_SERVICE_NOT_AVAILABLE = 2152071190,
13710         NS_SUCCESS_LOSS_OF_INSIGNIFICANT_DATA = 4587521,
13711         NS_SUCCESS_INTERRUPTED_TRAVERSE = 4587522,
13712         NS_ERROR_SERVICE_NOT_FOUND = 4587542,
13713         NS_ERROR_SERVICE_IN_USE = 4587543,
13714         NS_BASE_STREAM_CLOSED = 2152136706,
13715         NS_BASE_STREAM_OSERROR = 2152136707,
13716         NS_BASE_STREAM_ILLEGAL_ARGS = 2152136708,
13717         NS_BASE_STREAM_NO_CONVERTER = 2152136709,
13718         NS_BASE_STREAM_BAD_CONVERSION = 2152136710,
13719         NS_BASE_STREAM_WOULD_BLOCK = 2152136711,
13720         NS_ERROR_GFX_PRINTER_NO_PRINTER_AVAILABLE = 2152202241,
13721         NS_ERROR_GFX_PRINTER_NAME_NOT_FOUND = 2152202242,
13722         NS_ERROR_GFX_PRINTER_COULD_NOT_OPEN_FILE = 2152202243,
13723         NS_ERROR_GFX_PRINTER_STARTDOC = 2152202244,
13724         NS_ERROR_GFX_PRINTER_ENDDOC = 2152202245,
13725         NS_ERROR_GFX_PRINTER_STARTPAGE = 2152202246,
13726         NS_ERROR_GFX_PRINTER_DOC_IS_BUSY = 2152202247,
13727         NS_ERROR_GFX_CMAP_MALFORMED = 2152202291,
13728         NS_SUCCESS_EVENT_CONSUMED = 4784129,
13729         NS_SUCCESS_EVENT_HANDLED_ASYNCHRONOUSLY = 4784130,
13730         NS_BINDING_FAILED = 2152398849,
13731         NS_BINDING_ABORTED = 2152398850,
13732         NS_BINDING_REDIRECTED = 2152398851,
13733         NS_BINDING_RETARGETED = 2152398852,
13734         NS_ERROR_MALFORMED_URI = 2152398858,
13735         NS_ERROR_IN_PROGRESS = 2152398863,
13736         NS_ERROR_NO_CONTENT = 2152398865,
13737         NS_ERROR_UNKNOWN_PROTOCOL = 2152398866,
13738         NS_ERROR_INVALID_CONTENT_ENCODING = 2152398875,
13739         NS_ERROR_CORRUPTED_CONTENT = 2152398877,
13740         NS_ERROR_INVALID_SIGNATURE = 2152398906,
13741         NS_ERROR_FIRST_HEADER_FIELD_COMPONENT_EMPTY = 2152398882,
13742         NS_ERROR_ALREADY_OPENED = 2152398921,
13743         NS_ERROR_ALREADY_CONNECTED = 2152398859,
13744         NS_ERROR_NOT_CONNECTED = 2152398860,
13745         NS_ERROR_CONNECTION_REFUSED = 2152398861,
13746         NS_ERROR_NET_TIMEOUT = 2152398862,
13747         NS_ERROR_OFFLINE = 2152398864,
13748         NS_ERROR_PORT_ACCESS_NOT_ALLOWED = 2152398867,
13749         NS_ERROR_NET_RESET = 2152398868,
13750         NS_ERROR_NET_INTERRUPT = 2152398919,
13751         NS_ERROR_PROXY_CONNECTION_REFUSED = 2152398920,
13752         NS_ERROR_NET_PARTIAL_TRANSFER = 2152398924,
13753         NS_ERROR_NET_INADEQUATE_SECURITY = 2152398930,
13754         NS_ERROR_NOT_RESUMABLE = 2152398873,
13755         NS_ERROR_REDIRECT_LOOP = 2152398879,
13756         NS_ERROR_ENTITY_CHANGED = 2152398880,
13757         NS_ERROR_UNSAFE_CONTENT_TYPE = 2152398922,
13758         NS_ERROR_REMOTE_XUL = 2152398923,
13759         NS_ERROR_LOAD_SHOWED_ERRORPAGE = 2152398925,
13760         NS_ERROR_DOCSHELL_DYING = 2152398926,
13761         NS_ERROR_FTP_LOGIN = 2152398869,
13762         NS_ERROR_FTP_CWD = 2152398870,
13763         NS_ERROR_FTP_PASV = 2152398871,
13764         NS_ERROR_FTP_PWD = 2152398872,
13765         NS_ERROR_FTP_LIST = 2152398876,
13766         NS_ERROR_UNKNOWN_HOST = 2152398878,
13767         NS_ERROR_DNS_LOOKUP_QUEUE_FULL = 2152398881,
13768         NS_ERROR_UNKNOWN_PROXY_HOST = 2152398890,
13769         NS_ERROR_UNKNOWN_SOCKET_TYPE = 2152398899,
13770         NS_ERROR_SOCKET_CREATE_FAILED = 2152398900,
13771         NS_ERROR_SOCKET_ADDRESS_NOT_SUPPORTED = 2152398901,
13772         NS_ERROR_SOCKET_ADDRESS_IN_USE = 2152398902,
13773         NS_ERROR_CACHE_KEY_NOT_FOUND = 2152398909,
13774         NS_ERROR_CACHE_DATA_IS_STREAM = 2152398910,
13775         NS_ERROR_CACHE_DATA_IS_NOT_STREAM = 2152398911,
13776         NS_ERROR_CACHE_WAIT_FOR_VALIDATION = 2152398912,
13777         NS_ERROR_CACHE_ENTRY_DOOMED = 2152398913,
13778         NS_ERROR_CACHE_READ_ACCESS_DENIED = 2152398914,
13779         NS_ERROR_CACHE_WRITE_ACCESS_DENIED = 2152398915,
13780         NS_ERROR_CACHE_IN_USE = 2152398916,
13781         NS_ERROR_DOCUMENT_NOT_CACHED = 2152398918,
13782         NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS = 2152398928,
13783         NS_ERROR_HOST_IS_IP_ADDRESS = 2152398929,
13784         NS_SUCCESS_ADOPTED_DATA = 4915290,
13785         NS_NET_STATUS_BEGIN_FTP_TRANSACTION = 4915227,
13786         NS_NET_STATUS_END_FTP_TRANSACTION = 4915228,
13787         NS_SUCCESS_AUTH_FINISHED = 4915240,
13788         NS_NET_STATUS_READING = 2152398856,
13789         NS_NET_STATUS_WRITING = 2152398857,
13790         NS_NET_STATUS_CONNECTING_TO = 2152398855,
13791         NS_NET_STATUS_SENDING_TO = 2152398853,
13792         NS_NET_STATUS_RECEIVING_FROM = 2152398854,
13793         NS_ERROR_INTERCEPTION_FAILED = 2152398948,
13794         NS_ERROR_PLUGINS_PLUGINSNOTCHANGED = 2152465384,
13795         NS_ERROR_PLUGIN_DISABLED = 2152465385,
13796         NS_ERROR_PLUGIN_BLOCKLISTED = 2152465386,
13797         NS_ERROR_PLUGIN_TIME_RANGE_NOT_SUPPORTED = 2152465387,
13798         NS_ERROR_PLUGIN_CLICKTOPLAY = 2152465388,
13799         NS_TABLELAYOUT_CELL_NOT_FOUND = 5046272,
13800         NS_OK_PARSE_SHEET = 5046273,
13801         NS_POSITION_BEFORE_TABLE = 5046275,
13802         NS_STATE_PROPERTY_NOT_THERE = 5046277,
13803         NS_ERROR_HTMLPARSER_EOF = 2152596456,
13804         NS_ERROR_HTMLPARSER_UNKNOWN = 2152596457,
13805         NS_ERROR_HTMLPARSER_CANTPROPAGATE = 2152596458,
13806         NS_ERROR_HTMLPARSER_CONTEXTMISMATCH = 2152596459,
13807         NS_ERROR_HTMLPARSER_BADFILENAME = 2152596460,
13808         NS_ERROR_HTMLPARSER_BADURL = 2152596461,
13809         NS_ERROR_HTMLPARSER_INVALIDPARSERCONTEXT = 2152596462,
13810         NS_ERROR_HTMLPARSER_INTERRUPTED = 2152596463,
13811         NS_ERROR_HTMLPARSER_BLOCK = 2152596464,
13812         NS_ERROR_HTMLPARSER_BADTOKENIZER = 2152596465,
13813         NS_ERROR_HTMLPARSER_BADATTRIBUTE = 2152596466,
13814         NS_ERROR_HTMLPARSER_UNRESOLVEDDTD = 2152596467,
13815         NS_ERROR_HTMLPARSER_MISPLACEDTABLECONTENT = 2152596468,
13816         NS_ERROR_HTMLPARSER_BADDTD = 2152596469,
13817         NS_ERROR_HTMLPARSER_BADCONTEXT = 2152596470,
13818         NS_ERROR_HTMLPARSER_STOPPARSING = 2152596471,
13819         NS_ERROR_HTMLPARSER_UNTERMINATEDSTRINGLITERAL = 2152596472,
13820         NS_ERROR_HTMLPARSER_HIERARCHYTOODEEP = 2152596473,
13821         NS_ERROR_HTMLPARSER_FAKE_ENDTAG = 2152596474,
13822         NS_ERROR_HTMLPARSER_INVALID_COMMENT = 2152596475,
13823         NS_HTMLTOKENS_NOT_AN_ENTITY = 5113808,
13824         NS_HTMLPARSER_VALID_META_CHARSET = 5114808,
13825         NS_RDF_CURSOR_EMPTY = 5177345,
13826         NS_RDF_NO_VALUE = 5177346,
13827         NS_RDF_ASSERTION_REJECTED = 5177347,
13828         NS_RDF_STOP_VISIT = 5177348,
13829         NS_ERROR_UCONV_NOCONV = 2152726529,
13830         NS_ERROR_UDEC_ILLEGALINPUT = 2152726542,
13831         NS_OK_HAD_REPLACEMENTS = 5242883,
13832         NS_SUCCESS_USING_FALLBACK_LOCALE = 5242882,
13833         NS_OK_UDEC_EXACTLENGTH = 5242891,
13834         NS_OK_UDEC_MOREINPUT = 5242892,
13835         NS_OK_UDEC_MOREOUTPUT = 5242893,
13836         NS_OK_UDEC_NOBOMFOUND = 5242894,
13837         NS_OK_UENC_EXACTLENGTH = 5242913,
13838         NS_OK_UENC_MOREOUTPUT = 5242914,
13839         NS_ERROR_UENC_NOMAPPING = 5242915,
13840         NS_OK_UENC_MOREINPUT = 5242916,
13841         NS_ERROR_FILE_UNRECOGNIZED_PATH = 2152857601,
13842         NS_ERROR_FILE_UNRESOLVABLE_SYMLINK = 2152857602,
13843         NS_ERROR_FILE_EXECUTION_FAILED = 2152857603,
13844         NS_ERROR_FILE_UNKNOWN_TYPE = 2152857604,
13845         NS_ERROR_FILE_DESTINATION_NOT_DIR = 2152857605,
13846         NS_ERROR_FILE_TARGET_DOES_NOT_EXIST = 2152857606,
13847         NS_ERROR_FILE_COPY_OR_MOVE_FAILED = 2152857607,
13848         NS_ERROR_FILE_ALREADY_EXISTS = 2152857608,
13849         NS_ERROR_FILE_INVALID_PATH = 2152857609,
13850         NS_ERROR_FILE_DISK_FULL = 2152857610,
13851         NS_ERROR_FILE_CORRUPTED = 2152857611,
13852         NS_ERROR_FILE_NOT_DIRECTORY = 2152857612,
13853         NS_ERROR_FILE_IS_DIRECTORY = 2152857613,
13854         NS_ERROR_FILE_IS_LOCKED = 2152857614,
13855         NS_ERROR_FILE_TOO_BIG = 2152857615,
13856         NS_ERROR_FILE_NO_DEVICE_SPACE = 2152857616,
13857         NS_ERROR_FILE_NAME_TOO_LONG = 2152857617,
13858         NS_ERROR_FILE_NOT_FOUND = 2152857618,
13859         NS_ERROR_FILE_READ_ONLY = 2152857619,
13860         NS_ERROR_FILE_DIR_NOT_EMPTY = 2152857620,
13861         NS_ERROR_FILE_ACCESS_DENIED = 2152857621,
13862         NS_SUCCESS_FILE_DIRECTORY_EMPTY = 5373953,
13863         NS_SUCCESS_AGGREGATE_RESULT = 5373954,
13864         NS_ERROR_DOM_INDEX_SIZE_ERR = 2152923137,
13865         NS_ERROR_DOM_HIERARCHY_REQUEST_ERR = 2152923139,
13866         NS_ERROR_DOM_WRONG_DOCUMENT_ERR = 2152923140,
13867         NS_ERROR_DOM_INVALID_CHARACTER_ERR = 2152923141,
13868         NS_ERROR_DOM_NO_MODIFICATION_ALLOWED_ERR = 2152923143,
13869         NS_ERROR_DOM_NOT_FOUND_ERR = 2152923144,
13870         NS_ERROR_DOM_NOT_SUPPORTED_ERR = 2152923145,
13871         NS_ERROR_DOM_INUSE_ATTRIBUTE_ERR = 2152923146,
13872         NS_ERROR_DOM_INVALID_STATE_ERR = 2152923147,
13873         NS_ERROR_DOM_SYNTAX_ERR = 2152923148,
13874         NS_ERROR_DOM_INVALID_MODIFICATION_ERR = 2152923149,
13875         NS_ERROR_DOM_NAMESPACE_ERR = 2152923150,
13876         NS_ERROR_DOM_INVALID_ACCESS_ERR = 2152923151,
13877         NS_ERROR_DOM_TYPE_MISMATCH_ERR = 2152923153,
13878         NS_ERROR_DOM_SECURITY_ERR = 2152923154,
13879         NS_ERROR_DOM_NETWORK_ERR = 2152923155,
13880         NS_ERROR_DOM_ABORT_ERR = 2152923156,
13881         NS_ERROR_DOM_URL_MISMATCH_ERR = 2152923157,
13882         NS_ERROR_DOM_QUOTA_EXCEEDED_ERR = 2152923158,
13883         NS_ERROR_DOM_TIMEOUT_ERR = 2152923159,
13884         NS_ERROR_DOM_INVALID_NODE_TYPE_ERR = 2152923160,
13885         NS_ERROR_DOM_DATA_CLONE_ERR = 2152923161,
13886         NS_ERROR_TYPE_ERR = 2152923162,
13887         NS_ERROR_RANGE_ERR = 2152923163,
13888         NS_ERROR_DOM_ENCODING_NOT_SUPPORTED_ERR = 2152923164,
13889         NS_ERROR_DOM_INVALID_POINTER_ERR = 2152923165,
13890         NS_ERROR_DOM_UNKNOWN_ERR = 2152923166,
13891         NS_ERROR_DOM_DATA_ERR = 2152923167,
13892         NS_ERROR_DOM_OPERATION_ERR = 2152923168,
13893         NS_ERROR_DOM_NOT_ALLOWED_ERR = 2152923169,
13894         NS_ERROR_DOM_SECMAN_ERR = 2152924137,
13895         NS_ERROR_DOM_WRONG_TYPE_ERR = 2152924138,
13896         NS_ERROR_DOM_NOT_OBJECT_ERR = 2152924139,
13897         NS_ERROR_DOM_NOT_XPC_OBJECT_ERR = 2152924140,
13898         NS_ERROR_DOM_NOT_NUMBER_ERR = 2152924141,
13899         NS_ERROR_DOM_NOT_BOOLEAN_ERR = 2152924142,
13900         NS_ERROR_DOM_NOT_FUNCTION_ERR = 2152924143,
13901         NS_ERROR_DOM_TOO_FEW_PARAMETERS_ERR = 2152924144,
13902         NS_ERROR_DOM_BAD_DOCUMENT_DOMAIN = 2152924145,
13903         NS_ERROR_DOM_PROP_ACCESS_DENIED = 2152924146,
13904         NS_ERROR_DOM_XPCONNECT_ACCESS_DENIED = 2152924147,
13905         NS_ERROR_DOM_BAD_URI = 2152924148,
13906         NS_ERROR_DOM_RETVAL_UNDEFINED = 2152924149,
13907         NS_ERROR_DOM_QUOTA_REACHED = 2152924150,
13908         NS_ERROR_UNCATCHABLE_EXCEPTION = 2152924151,
13909         NS_ERROR_DOM_MALFORMED_URI = 2152924152,
13910         NS_ERROR_DOM_INVALID_HEADER_NAME = 2152924153,
13911         NS_ERROR_DOM_INVALID_STATE_XHR_HAS_INVALID_CONTEXT = 2152924154,
13912         NS_ERROR_DOM_INVALID_STATE_XHR_MUST_BE_OPENED = 2152924155,
13913         NS_ERROR_DOM_INVALID_STATE_XHR_MUST_NOT_BE_SENDING = 2152924156,
13914         NS_ERROR_DOM_INVALID_STATE_XHR_MUST_NOT_BE_LOADING_OR_DONE = 2152924157,
13915         NS_ERROR_DOM_INVALID_STATE_XHR_HAS_WRONG_RESPONSETYPE_FOR_RESPONSEXML = 2152924158,
13916         NS_ERROR_DOM_INVALID_STATE_XHR_HAS_WRONG_RESPONSETYPE_FOR_RESPONSETEXT = 2152924159,
13917         NS_ERROR_DOM_INVALID_STATE_XHR_CHUNKED_RESPONSETYPES_UNSUPPORTED_FOR_SYNC = 2152924160,
13918         NS_ERROR_DOM_INVALID_ACCESS_XHR_TIMEOUT_AND_RESPONSETYPE_UNSUPPORTED_FOR_SYNC = 2152924161,
13919         NS_ERROR_DOM_JS_DECODING_ERROR = 2152924162,
13920         NS_SUCCESS_DOM_NO_OPERATION = 5439489,
13921         NS_SUCCESS_DOM_SCRIPT_EVALUATION_THREW = 5439490,
13922         NS_SUCCESS_DOM_SCRIPT_EVALUATION_THREW_UNCATCHABLE = 5439491,
13923         NS_IMAGELIB_SUCCESS_LOAD_FINISHED = 5505024,
13924         NS_IMAGELIB_ERROR_FAILURE = 2152988677,
13925         NS_IMAGELIB_ERROR_NO_DECODER = 2152988678,
13926         NS_IMAGELIB_ERROR_NOT_FINISHED = 2152988679,
13927         NS_IMAGELIB_ERROR_NO_ENCODER = 2152988681,
13928         NS_SUCCESS_EDITOR_ELEMENT_NOT_FOUND = 5636097,
13929         NS_SUCCESS_EDITOR_FOUND_TARGET = 5636098,
13930         NS_ERROR_XPC_NOT_ENOUGH_ARGS = 2153185281,
13931         NS_ERROR_XPC_NEED_OUT_OBJECT = 2153185282,
13932         NS_ERROR_XPC_CANT_SET_OUT_VAL = 2153185283,
13933         NS_ERROR_XPC_NATIVE_RETURNED_FAILURE = 2153185284,
13934         NS_ERROR_XPC_CANT_GET_INTERFACE_INFO = 2153185285,
13935         NS_ERROR_XPC_CANT_GET_PARAM_IFACE_INFO = 2153185286,
13936         NS_ERROR_XPC_CANT_GET_METHOD_INFO = 2153185287,
13937         NS_ERROR_XPC_UNEXPECTED = 2153185288,
13938         NS_ERROR_XPC_BAD_CONVERT_JS = 2153185289,
13939         NS_ERROR_XPC_BAD_CONVERT_NATIVE = 2153185290,
13940         NS_ERROR_XPC_BAD_CONVERT_JS_NULL_REF = 2153185291,
13941         NS_ERROR_XPC_BAD_OP_ON_WN_PROTO = 2153185292,
13942         NS_ERROR_XPC_CANT_CONVERT_WN_TO_FUN = 2153185293,
13943         NS_ERROR_XPC_CANT_DEFINE_PROP_ON_WN = 2153185294,
13944         NS_ERROR_XPC_CANT_WATCH_WN_STATIC = 2153185295,
13945         NS_ERROR_XPC_CANT_EXPORT_WN_STATIC = 2153185296,
13946         NS_ERROR_XPC_SCRIPTABLE_CALL_FAILED = 2153185297,
13947         NS_ERROR_XPC_SCRIPTABLE_CTOR_FAILED = 2153185298,
13948         NS_ERROR_XPC_CANT_CALL_WO_SCRIPTABLE = 2153185299,
13949         NS_ERROR_XPC_CANT_CTOR_WO_SCRIPTABLE = 2153185300,
13950         NS_ERROR_XPC_CI_RETURNED_FAILURE = 2153185301,
13951         NS_ERROR_XPC_GS_RETURNED_FAILURE = 2153185302,
13952         NS_ERROR_XPC_BAD_CID = 2153185303,
13953         NS_ERROR_XPC_BAD_IID = 2153185304,
13954         NS_ERROR_XPC_CANT_CREATE_WN = 2153185305,
13955         NS_ERROR_XPC_JS_THREW_EXCEPTION = 2153185306,
13956         NS_ERROR_XPC_JS_THREW_NATIVE_OBJECT = 2153185307,
13957         NS_ERROR_XPC_JS_THREW_JS_OBJECT = 2153185308,
13958         NS_ERROR_XPC_JS_THREW_NULL = 2153185309,
13959         NS_ERROR_XPC_JS_THREW_STRING = 2153185310,
13960         NS_ERROR_XPC_JS_THREW_NUMBER = 2153185311,
13961         NS_ERROR_XPC_JAVASCRIPT_ERROR = 2153185312,
13962         NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS = 2153185313,
13963         NS_ERROR_XPC_CANT_CONVERT_PRIMITIVE_TO_ARRAY = 2153185314,
13964         NS_ERROR_XPC_CANT_CONVERT_OBJECT_TO_ARRAY = 2153185315,
13965         NS_ERROR_XPC_NOT_ENOUGH_ELEMENTS_IN_ARRAY = 2153185316,
13966         NS_ERROR_XPC_CANT_GET_ARRAY_INFO = 2153185317,
13967         NS_ERROR_XPC_NOT_ENOUGH_CHARS_IN_STRING = 2153185318,
13968         NS_ERROR_XPC_SECURITY_MANAGER_VETO = 2153185319,
13969         NS_ERROR_XPC_INTERFACE_NOT_SCRIPTABLE = 2153185320,
13970         NS_ERROR_XPC_INTERFACE_NOT_FROM_NSISUPPORTS = 2153185321,
13971         NS_ERROR_XPC_CANT_GET_JSOBJECT_OF_DOM_OBJECT = 2153185322,
13972         NS_ERROR_XPC_CANT_SET_READ_ONLY_CONSTANT = 2153185323,
13973         NS_ERROR_XPC_CANT_SET_READ_ONLY_ATTRIBUTE = 2153185324,
13974         NS_ERROR_XPC_CANT_SET_READ_ONLY_METHOD = 2153185325,
13975         NS_ERROR_XPC_CANT_ADD_PROP_TO_WRAPPED_NATIVE = 2153185326,
13976         NS_ERROR_XPC_CALL_TO_SCRIPTABLE_FAILED = 2153185327,
13977         NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED = 2153185328,
13978         NS_ERROR_XPC_BAD_ID_STRING = 2153185329,
13979         NS_ERROR_XPC_BAD_INITIALIZER_NAME = 2153185330,
13980         NS_ERROR_XPC_HAS_BEEN_SHUTDOWN = 2153185331,
13981         NS_ERROR_XPC_CANT_MODIFY_PROP_ON_WN = 2153185332,
13982         NS_ERROR_XPC_BAD_CONVERT_JS_ZERO_ISNOT_NULL = 2153185333,
13983         NS_ERROR_XPC_CANT_PASS_CPOW_TO_NATIVE = 2153185334,
13984         NS_ERROR_LAUNCHED_CHILD_PROCESS = 2153251016,
13985         NS_ERROR_CSP_FORM_ACTION_VIOLATION = 2153381986,
13986         NS_ERROR_CSP_FRAME_ANCESTOR_VIOLATION = 2153381987,
13987         NS_ERROR_SRI_CORRUPT = 2153382088,
13988         NS_ERROR_SRI_DISABLED = 2153382089,
13989         NS_ERROR_SRI_NOT_ELIGIBLE = 2153382090,
13990         NS_ERROR_SRI_UNEXPECTED_HASH_TYPE = 2153382091,
13991         NS_ERROR_SRI_IMPORT = 2153382092,
13992         NS_ERROR_CMS_VERIFY_NOT_SIGNED = 2153382912,
13993         NS_ERROR_CMS_VERIFY_NO_CONTENT_INFO = 2153382913,
13994         NS_ERROR_CMS_VERIFY_BAD_DIGEST = 2153382914,
13995         NS_ERROR_CMS_VERIFY_NOCERT = 2153382916,
13996         NS_ERROR_CMS_VERIFY_UNTRUSTED = 2153382917,
13997         NS_ERROR_CMS_VERIFY_ERROR_UNVERIFIED = 2153382919,
13998         NS_ERROR_CMS_VERIFY_ERROR_PROCESSING = 2153382920,
13999         NS_ERROR_CMS_VERIFY_BAD_SIGNATURE = 2153382921,
14000         NS_ERROR_CMS_VERIFY_DIGEST_MISMATCH = 2153382922,
14001         NS_ERROR_CMS_VERIFY_UNKNOWN_ALGO = 2153382923,
14002         NS_ERROR_CMS_VERIFY_UNSUPPORTED_ALGO = 2153382924,
14003         NS_ERROR_CMS_VERIFY_MALFORMED_SIGNATURE = 2153382925,
14004         NS_ERROR_CMS_VERIFY_HEADER_MISMATCH = 2153382926,
14005         NS_ERROR_CMS_VERIFY_NOT_YET_ATTEMPTED = 2153382927,
14006         NS_ERROR_CMS_VERIFY_CERT_WITHOUT_ADDRESS = 2153382928,
14007         NS_ERROR_CMS_ENCRYPT_NO_BULK_ALG = 2153382944,
14008         NS_ERROR_CMS_ENCRYPT_INCOMPLETE = 2153382945,
14009         NS_ERROR_DOM_INVALID_EXPRESSION_ERR = 2153447475,
14010         NS_ERROR_DOM_TYPE_ERR = 2153447476,
14011         NS_ERROR_WONT_HANDLE_CONTENT = 2153578497,
14012         NS_ERROR_MALWARE_URI = 2153578526,
14013         NS_ERROR_PHISHING_URI = 2153578527,
14014         NS_ERROR_TRACKING_URI = 2153578530,
14015         NS_ERROR_UNWANTED_URI = 2153578531,
14016         NS_ERROR_BLOCKED_URI = 2153578533,
14017         NS_ERROR_HARMFUL_URI = 2153578534,
14018         NS_ERROR_SAVE_LINK_AS_TIMEOUT = 2153578528,
14019         NS_ERROR_PARSED_DATA_CACHED = 2153578529,
14020         NS_REFRESHURI_HEADER_FOUND = 6094850,
14021         NS_ERROR_CONTENT_BLOCKED = 2153644038,
14022         NS_ERROR_CONTENT_BLOCKED_SHOW_ALT = 2153644039,
14023         NS_PROPTABLE_PROP_NOT_THERE = 2153644042,
14024         NS_ERROR_XBL_BLOCKED = 2153644047,
14025         NS_ERROR_CONTENT_CRASHED = 2153644048,
14026         NS_HTML_STYLE_PROPERTY_NOT_THERE = 6160386,
14027         NS_CONTENT_BLOCKED = 6160392,
14028         NS_CONTENT_BLOCKED_SHOW_ALT = 6160393,
14029         NS_PROPTABLE_PROP_OVERWRITTEN = 6160395,
14030         NS_FINDBROADCASTER_NOT_FOUND = 6160396,
14031         NS_FINDBROADCASTER_FOUND = 6160397,
14032         NS_FINDBROADCASTER_AWAIT_OVERLAYS = 6160398,
14033         NS_ERROR_XSLT_PARSE_FAILURE = 2153775105,
14034         NS_ERROR_XPATH_PARSE_FAILURE = 2153775106,
14035         NS_ERROR_XSLT_ALREADY_SET = 2153775107,
14036         NS_ERROR_XSLT_EXECUTION_FAILURE = 2153775108,
14037         NS_ERROR_XPATH_UNKNOWN_FUNCTION = 2153775109,
14038         NS_ERROR_XSLT_BAD_RECURSION = 2153775110,
14039         NS_ERROR_XSLT_BAD_VALUE = 2153775111,
14040         NS_ERROR_XSLT_NODESET_EXPECTED = 2153775112,
14041         NS_ERROR_XSLT_ABORTED = 2153775113,
14042         NS_ERROR_XSLT_NETWORK_ERROR = 2153775114,
14043         NS_ERROR_XSLT_WRONG_MIME_TYPE = 2153775115,
14044         NS_ERROR_XSLT_LOAD_RECURSION = 2153775116,
14045         NS_ERROR_XPATH_BAD_ARGUMENT_COUNT = 2153775117,
14046         NS_ERROR_XPATH_BAD_EXTENSION_FUNCTION = 2153775118,
14047         NS_ERROR_XPATH_PAREN_EXPECTED = 2153775119,
14048         NS_ERROR_XPATH_INVALID_AXIS = 2153775120,
14049         NS_ERROR_XPATH_NO_NODE_TYPE_TEST = 2153775121,
14050         NS_ERROR_XPATH_BRACKET_EXPECTED = 2153775122,
14051         NS_ERROR_XPATH_INVALID_VAR_NAME = 2153775123,
14052         NS_ERROR_XPATH_UNEXPECTED_END = 2153775124,
14053         NS_ERROR_XPATH_OPERATOR_EXPECTED = 2153775125,
14054         NS_ERROR_XPATH_UNCLOSED_LITERAL = 2153775126,
14055         NS_ERROR_XPATH_BAD_COLON = 2153775127,
14056         NS_ERROR_XPATH_BAD_BANG = 2153775128,
14057         NS_ERROR_XPATH_ILLEGAL_CHAR = 2153775129,
14058         NS_ERROR_XPATH_BINARY_EXPECTED = 2153775130,
14059         NS_ERROR_XSLT_LOAD_BLOCKED_ERROR = 2153775131,
14060         NS_ERROR_XPATH_INVALID_EXPRESSION_EVALUATED = 2153775132,
14061         NS_ERROR_XPATH_UNBALANCED_CURLY_BRACE = 2153775133,
14062         NS_ERROR_XSLT_BAD_NODE_NAME = 2153775134,
14063         NS_ERROR_XSLT_VAR_ALREADY_SET = 2153775135,
14064         NS_ERROR_XSLT_CALL_TO_KEY_NOT_ALLOWED = 2153775136,
14065         NS_XSLT_GET_NEW_HANDLER = 6291457,
14066         NS_ERROR_TRANSPORT_INIT = 2153840641,
14067         NS_ERROR_DUPLICATE_HANDLE = 2153840642,
14068         NS_ERROR_BRIDGE_OPEN_PARENT = 2153840643,
14069         NS_ERROR_BRIDGE_OPEN_CHILD = 2153840644,
14070         NS_ERROR_DOM_SVG_WRONG_TYPE_ERR = 2153906176,
14071         NS_ERROR_DOM_SVG_MATRIX_NOT_INVERTABLE = 2153906178,
14072         NS_ERROR_STORAGE_BUSY = 2153971713,
14073         NS_ERROR_STORAGE_IOERR = 2153971714,
14074         NS_ERROR_STORAGE_CONSTRAINT = 2153971715,
14075         NS_ERROR_DOM_FILE_NOT_FOUND_ERR = 2154102784,
14076         NS_ERROR_DOM_FILE_NOT_READABLE_ERR = 2154102785,
14077         NS_ERROR_DOM_FILE_ABORT_ERR = 2154102786,
14078         NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR = 2154168321,
14079         NS_ERROR_DOM_INDEXEDDB_NOT_FOUND_ERR = 2154168323,
14080         NS_ERROR_DOM_INDEXEDDB_CONSTRAINT_ERR = 2154168324,
14081         NS_ERROR_DOM_INDEXEDDB_DATA_ERR = 2154168325,
14082         NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR = 2154168326,
14083         NS_ERROR_DOM_INDEXEDDB_TRANSACTION_INACTIVE_ERR = 2154168327,
14084         NS_ERROR_DOM_INDEXEDDB_ABORT_ERR = 2154168328,
14085         NS_ERROR_DOM_INDEXEDDB_READ_ONLY_ERR = 2154168329,
14086         NS_ERROR_DOM_INDEXEDDB_TIMEOUT_ERR = 2154168330,
14087         NS_ERROR_DOM_INDEXEDDB_QUOTA_ERR = 2154168331,
14088         NS_ERROR_DOM_INDEXEDDB_VERSION_ERR = 2154168332,
14089         NS_ERROR_DOM_INDEXEDDB_RECOVERABLE_ERR = 2154169321,
14090         NS_ERROR_DOM_FILEHANDLE_UNKNOWN_ERR = 2154233857,
14091         NS_ERROR_DOM_FILEHANDLE_NOT_ALLOWED_ERR = 2154233858,
14092         NS_ERROR_DOM_FILEHANDLE_INACTIVE_ERR = 2154233859,
14093         NS_ERROR_DOM_FILEHANDLE_ABORT_ERR = 2154233860,
14094         NS_ERROR_DOM_FILEHANDLE_READ_ONLY_ERR = 2154233861,
14095         NS_ERROR_DOM_FILEHANDLE_QUOTA_ERR = 2154233862,
14096         NS_ERROR_SIGNED_JAR_NOT_SIGNED = 2154299393,
14097         NS_ERROR_SIGNED_JAR_MODIFIED_ENTRY = 2154299394,
14098         NS_ERROR_SIGNED_JAR_UNSIGNED_ENTRY = 2154299395,
14099         NS_ERROR_SIGNED_JAR_ENTRY_MISSING = 2154299396,
14100         NS_ERROR_SIGNED_JAR_WRONG_SIGNATURE = 2154299397,
14101         NS_ERROR_SIGNED_JAR_ENTRY_TOO_LARGE = 2154299398,
14102         NS_ERROR_SIGNED_JAR_ENTRY_INVALID = 2154299399,
14103         NS_ERROR_SIGNED_JAR_MANIFEST_INVALID = 2154299400,
14104         NS_ERROR_DOM_FILESYSTEM_INVALID_PATH_ERR = 2154364929,
14105         NS_ERROR_DOM_FILESYSTEM_INVALID_MODIFICATION_ERR = 2154364930,
14106         NS_ERROR_DOM_FILESYSTEM_NO_MODIFICATION_ALLOWED_ERR = 2154364931,
14107         NS_ERROR_DOM_FILESYSTEM_PATH_EXISTS_ERR = 2154364932,
14108         NS_ERROR_DOM_FILESYSTEM_TYPE_MISMATCH_ERR = 2154364933,
14109         NS_ERROR_DOM_FILESYSTEM_UNKNOWN_ERR = 2154364934,
14110         NS_ERROR_SIGNED_APP_MANIFEST_INVALID = 2154496001,
14111         NS_ERROR_DOM_ANIM_MISSING_PROPS_ERR = 2154561537,
14112         NS_ERROR_DOM_PUSH_INVALID_REGISTRATION_ERR = 2154627073,
14113         NS_ERROR_DOM_PUSH_DENIED_ERR = 2154627074,
14114         NS_ERROR_DOM_PUSH_ABORT_ERR = 2154627075,
14115         NS_ERROR_DOM_PUSH_SERVICE_UNREACHABLE = 2154627076,
14116         NS_ERROR_DOM_PUSH_INVALID_KEY_ERR = 2154627077,
14117         NS_ERROR_DOM_PUSH_MISMATCHED_KEY_ERR = 2154627078,
14118         NS_ERROR_DOM_PUSH_GCM_DISABLED = 2154627079,
14119         NS_ERROR_DOM_MEDIA_ABORT_ERR = 2154692609,
14120         NS_ERROR_DOM_MEDIA_NOT_ALLOWED_ERR = 2154692610,
14121         NS_ERROR_DOM_MEDIA_NOT_SUPPORTED_ERR = 2154692611,
14122         NS_ERROR_DOM_MEDIA_DECODE_ERR = 2154692612,
14123         NS_ERROR_DOM_MEDIA_FATAL_ERR = 2154692613,
14124         NS_ERROR_DOM_MEDIA_METADATA_ERR = 2154692614,
14125         NS_ERROR_DOM_MEDIA_OVERFLOW_ERR = 2154692615,
14126         NS_ERROR_DOM_MEDIA_END_OF_STREAM = 2154692616,
14127         NS_ERROR_DOM_MEDIA_WAITING_FOR_DATA = 2154692617,
14128         NS_ERROR_DOM_MEDIA_CANCELED = 2154692618,
14129         NS_ERROR_DOM_MEDIA_MEDIASINK_ERR = 2154692619,
14130         NS_ERROR_DOM_MEDIA_DEMUXER_ERR = 2154692620,
14131         NS_ERROR_DOM_MEDIA_CDM_ERR = 2154692621,
14132         NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER = 2154692622,
14133         NS_ERROR_DOM_MEDIA_INITIALIZING_DECODER = 2154692623,
14134         NS_ERROR_DOM_MEDIA_CUBEB_INITIALIZATION_ERR = 2154692709,
14135         NS_ERROR_UC_UPDATE_UNKNOWN = 2154758145,
14136         NS_ERROR_UC_UPDATE_DUPLICATE_PREFIX = 2154758146,
14137         NS_ERROR_UC_UPDATE_INFINITE_LOOP = 2154758147,
14138         NS_ERROR_UC_UPDATE_WRONG_REMOVAL_INDICES = 2154758148,
14139         NS_ERROR_UC_UPDATE_CHECKSUM_MISMATCH = 2154758149,
14140         NS_ERROR_UC_UPDATE_MISSING_CHECKSUM = 2154758150,
14141         NS_ERROR_UC_UPDATE_SHUTDOWNING = 2154758151,
14142         NS_ERROR_UC_UPDATE_TABLE_NOT_FOUND = 2154758152,
14143         NS_ERROR_UC_UPDATE_BUILD_PREFIX_FAILURE = 2154758153,
14144         NS_ERROR_UC_UPDATE_FAIL_TO_WRITE_DISK = 2154758154,
14145         NS_ERROR_UC_PARSER_MISSING_PARAM = 2154758156,
14146         NS_ERROR_UC_PARSER_DECODE_FAILURE = 2154758157,
14147         NS_ERROR_UC_PARSER_UNKNOWN_THREAT = 2154758158,
14148         NS_ERROR_INTERNAL_ERRORRESULT_JS_EXCEPTION = 2154823681,
14149         NS_ERROR_INTERNAL_ERRORRESULT_DOMEXCEPTION = 2154823682,
14150         NS_ERROR_INTERNAL_ERRORRESULT_EXCEPTION_ON_JSCONTEXT = 2154823683,
14151         NS_ERROR_INTERNAL_ERRORRESULT_TYPEERROR = 2154823684,
14152         NS_ERROR_INTERNAL_ERRORRESULT_RANGEERROR = 2154823685,
14153         NS_ERROR_DOWNLOAD_COMPLETE = 2155347969,
14154         NS_ERROR_DOWNLOAD_NOT_PARTIAL = 2155347970,
14155         NS_ERROR_UNORM_MOREOUTPUT = 2155348001,
14156         NS_ERROR_DOCSHELL_REQUEST_REJECTED = 2155348969,
14157         NS_ERROR_DOCUMENT_IS_PRINTMODE = 2155349969,
14158         NS_SUCCESS_DONT_FIXUP = 7864321,
14159         NS_SUCCESS_RESTART_APP_NOT_SAME_PROFILE = 7864323,
14160         NS_SUCCESS_UNORM_NOTFOUND = 7864337,
14161         NS_ERROR_NOT_IN_TREE = 2155348006,
14162         NS_OK_NO_NAME_CLAUSE_HANDLED = 7864354,
14163         NS_ERROR_BLOCKED_BY_POLICY = 2155347971,
14164     }
14165     pub type nsrefcnt = root::MozRefCountType;
14166     #[repr(C)]
14167     #[derive(Debug, Copy)]
14168     pub struct nsIFrame {
14169         _unused: [u8; 0],
14170     }
14171     impl Clone for nsIFrame {
clone(&self) -> Self14172         fn clone(&self) -> Self {
14173             *self
14174         }
14175     }
14176     pub type nsAString = root::nsTSubstring<u16>;
14177     pub type nsAutoString = [u64; 19usize];
14178     pub type nsACString = root::nsTSubstring<::std::os::raw::c_char>;
14179     pub type nsCString = root::nsTString<::std::os::raw::c_char>;
14180     #[repr(C)]
14181     #[derive(Debug, Copy, Clone)]
14182     pub struct nsCharTraits {
14183         pub _address: u8,
14184     }
14185     /// @see nsTAString
14186     #[repr(C)]
14187     #[derive(Debug, Copy, Clone)]
14188     pub struct nsReadingIterator<CharT> {
14189         pub mStart: *mut CharT,
14190         pub mEnd: *mut CharT,
14191         pub mPosition: *mut CharT,
14192         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<CharT>>,
14193     }
14194     pub type nsReadingIterator_self_type<CharT> = root::nsReadingIterator<CharT>;
14195     pub type nsReadingIterator_difference_type = isize;
14196     pub type nsReadingIterator_size_type = usize;
14197     pub type nsReadingIterator_value_type<CharT> = CharT;
14198     pub type nsReadingIterator_pointer<CharT> = *mut CharT;
14199     pub type nsReadingIterator_reference = u8;
14200     /// @see nsTAString
14201     #[repr(C)]
14202     #[derive(Debug, Copy, Clone)]
14203     pub struct nsWritingIterator<CharT> {
14204         pub mStart: *mut CharT,
14205         pub mEnd: *mut CharT,
14206         pub mPosition: *mut CharT,
14207         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<CharT>>,
14208     }
14209     pub type nsWritingIterator_self_type<CharT> = root::nsWritingIterator<CharT>;
14210     pub type nsWritingIterator_difference_type = isize;
14211     pub type nsWritingIterator_size_type = usize;
14212     pub type nsWritingIterator_value_type<CharT> = CharT;
14213     pub type nsWritingIterator_pointer<CharT> = *mut CharT;
14214     pub type nsWritingIterator_reference = u8;
14215     #[repr(C)]
14216     pub struct nsTStringComparator__bindgen_vtable(::std::os::raw::c_void);
14217     #[repr(C)]
14218     #[derive(Debug, Copy, Clone)]
14219     pub struct nsTStringComparator {
14220         pub vtable_: *const nsTStringComparator__bindgen_vtable,
14221     }
14222     pub type nsTStringComparator_char_type<T> = T;
14223     /// nsTSubstring is an abstract string class. From an API perspective, this
14224     /// class is the root of the string class hierarchy. It represents a single
14225     /// contiguous array of characters, which may or may not be null-terminated.
14226     /// This type is not instantiated directly. A sub-class is instantiated
14227     /// instead. For example, see nsTString.
14228     ///
14229     /// NAMES:
14230     /// nsAString for wide characters
14231     /// nsACString for narrow characters
14232     ///
14233     #[repr(C)]
14234     #[derive(Debug)]
14235     pub struct nsTSubstring<T> {
14236         pub _base: root::mozilla::detail::nsTStringRepr<T>,
14237         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
14238     }
14239     pub type nsTSubstring_self_type<T> = root::nsTSubstring<T>;
14240     pub type nsTSubstring_string_type<T> = root::nsTString<T>;
14241     pub type nsTSubstring_base_string_type<T> = root::mozilla::detail::nsTStringRepr<T>;
14242     pub type nsTSubstring_substring_type<T> = root::nsTSubstring_base_string_type<T>;
14243     pub type nsTSubstring_literalstring_type<T> = root::nsTSubstring_base_string_type<T>;
14244     pub type nsTSubstring_fallible_t<T> = root::nsTSubstring_base_string_type<T>;
14245     pub type nsTSubstring_char_type<T> = root::nsTSubstring_base_string_type<T>;
14246     pub type nsTSubstring_substring_tuple_type<T> = root::nsTSubstring_base_string_type<T>;
14247     pub type nsTSubstring_const_iterator<T> = root::nsTSubstring_base_string_type<T>;
14248     pub type nsTSubstring_iterator<T> = root::nsTSubstring_base_string_type<T>;
14249     pub type nsTSubstring_comparator_type<T> = root::nsTSubstring_base_string_type<T>;
14250     pub type nsTSubstring_char_iterator<T> = root::nsTSubstring_base_string_type<T>;
14251     pub type nsTSubstring_const_char_iterator<T> = root::nsTSubstring_base_string_type<T>;
14252     pub type nsTSubstring_index_type<T> = root::nsTSubstring_base_string_type<T>;
14253     pub type nsTSubstring_size_type<T> = root::nsTSubstring_base_string_type<T>;
14254     pub type nsTSubstring_DataFlags<T> = root::nsTSubstring_base_string_type<T>;
14255     pub type nsTSubstring_ClassFlags<T> = root::nsTSubstring_base_string_type<T>;
14256     /// nsTSubstringTuple
14257     ///
14258     /// Represents a tuple of string fragments.  Built as a recursive binary tree.
14259     /// It is used to implement the concatenation of two or more string objects.
14260     ///
14261     /// NOTE: This class is a private implementation detail and should never be
14262     /// referenced outside the string code.
14263     #[repr(C)]
14264     #[derive(Debug, Copy, Clone)]
14265     pub struct nsTSubstringTuple<T> {
14266         pub mHead: *const root::nsTSubstringTuple_self_type<T>,
14267         pub mFragA: *const root::nsTSubstringTuple_base_string_type<T>,
14268         pub mFragB: *const root::nsTSubstringTuple_base_string_type<T>,
14269         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
14270     }
14271     pub type nsTSubstringTuple_char_type<T> = T;
14272     pub type nsTSubstringTuple_self_type<T> = root::nsTSubstringTuple<T>;
14273     pub type nsTSubstringTuple_base_string_type<T> =
14274         root::mozilla::detail::nsTStringRepr<root::nsTSubstringTuple_char_type<T>>;
14275     pub type nsTSubstringTuple_size_type = u32;
14276     /// nsTLiteralString_CharT
14277     ///
14278     /// Stores a null-terminated, immutable sequence of characters.
14279     ///
14280     /// nsTString-lookalike that restricts its string value to a literal character
14281     /// sequence. Can be implicitly cast to const nsTString& (the const is
14282     /// essential, since this class's data are not writable). The data are assumed
14283     /// to be static (permanent) and therefore, as an optimization, this class
14284     /// does not have a destructor.
14285     #[repr(C)]
14286     #[derive(Debug, Copy, Clone)]
14287     pub struct nsTLiteralString<T> {
14288         pub _base: root::mozilla::detail::nsTStringRepr<T>,
14289         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
14290     }
14291     pub type nsTLiteralString_self_type<T> = root::nsTLiteralString<T>;
14292     pub type nsTLiteralString_char_type = [u8; 0usize];
14293     pub type nsTLiteralString_size_type = [u8; 0usize];
14294     pub type nsTLiteralString_DataFlags = [u8; 0usize];
14295     pub type nsTLiteralString_ClassFlags = [u8; 0usize];
14296     #[repr(C)]
14297     #[derive(Debug, Copy, Clone)]
14298     pub struct nsTLiteralString_raw_type {
14299         pub _address: u8,
14300     }
14301     pub type nsTLiteralString_raw_type_type<N> = *mut N;
14302     /// This is the canonical null-terminated string class.  All subclasses
14303     /// promise null-terminated storage.  Instances of this class allocate
14304     /// strings on the heap.
14305     ///
14306     /// NAMES:
14307     /// nsString for wide characters
14308     /// nsCString for narrow characters
14309     ///
14310     /// This class is also known as nsAFlat[C]String, where "flat" is used
14311     /// to denote a null-terminated string.
14312     #[repr(C)]
14313     #[derive(Debug)]
14314     pub struct nsTString<T> {
14315         pub _base: root::nsTSubstring<T>,
14316         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
14317     }
14318     pub type nsTString_self_type<T> = root::nsTString<T>;
14319     pub type nsTString_literalstring_type = [u8; 0usize];
14320     pub type nsTString_fallible_t = [u8; 0usize];
14321     pub type nsTString_char_type = [u8; 0usize];
14322     pub type nsTString_substring_tuple_type = [u8; 0usize];
14323     pub type nsTString_const_iterator = [u8; 0usize];
14324     pub type nsTString_iterator = [u8; 0usize];
14325     pub type nsTString_comparator_type = [u8; 0usize];
14326     pub type nsTString_char_iterator = [u8; 0usize];
14327     pub type nsTString_const_char_iterator = [u8; 0usize];
14328     pub type nsTString_index_type = [u8; 0usize];
14329     pub type nsTString_size_type = [u8; 0usize];
14330     pub type nsTString_DataFlags = [u8; 0usize];
14331     pub type nsTString_ClassFlags = [u8; 0usize];
14332     /// returns the null-terminated string
14333     #[repr(C)]
14334     #[derive(Debug, Copy, Clone)]
14335     pub struct nsTString_raw_type {
14336         pub _address: u8,
14337     }
14338     pub type nsTString_raw_type_type<U> = *mut U;
14339     #[repr(C)]
14340     #[derive(Debug, Copy, Clone)]
14341     pub struct nsTString_Segment {
14342         pub mBegin: u32,
14343         pub mLength: u32,
14344     }
14345     pub type nsTAutoStringN_self_type = u8;
14346     pub type nsTAutoStringN_base_string_type<T> = root::nsTString<T>;
14347     pub type nsTAutoStringN_string_type<T> = root::nsTAutoStringN_base_string_type<T>;
14348     pub type nsTAutoStringN_char_type<T> = root::nsTAutoStringN_base_string_type<T>;
14349     pub type nsTAutoStringN_substring_type<T> = root::nsTAutoStringN_base_string_type<T>;
14350     pub type nsTAutoStringN_size_type<T> = root::nsTAutoStringN_base_string_type<T>;
14351     pub type nsTAutoStringN_substring_tuple_type<T> = root::nsTAutoStringN_base_string_type<T>;
14352     pub type nsTAutoStringN_literalstring_type<T> = root::nsTAutoStringN_base_string_type<T>;
14353     pub type nsTAutoStringN_DataFlags<T> = root::nsTAutoStringN_base_string_type<T>;
14354     pub type nsTAutoStringN_ClassFlags<T> = root::nsTAutoStringN_base_string_type<T>;
14355     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Nothing:
14356         root::nsCSSTokenSerializationType = 0;
14357     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Whitespace:
14358         root::nsCSSTokenSerializationType = 1;
14359     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_AtKeyword_or_Hash:
14360         root::nsCSSTokenSerializationType = 2;
14361     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Number:
14362         root::nsCSSTokenSerializationType = 3;
14363     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Dimension:
14364         root::nsCSSTokenSerializationType = 4;
14365     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Percentage:
14366         root::nsCSSTokenSerializationType = 5;
14367     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_URange:
14368         root::nsCSSTokenSerializationType = 6;
14369     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_URL_or_BadURL:
14370         root::nsCSSTokenSerializationType = 7;
14371     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Function:
14372         root::nsCSSTokenSerializationType = 8;
14373     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Ident:
14374         root::nsCSSTokenSerializationType = 9;
14375     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_CDC:
14376         root::nsCSSTokenSerializationType = 10;
14377     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_DashMatch:
14378         root::nsCSSTokenSerializationType = 11;
14379     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_ContainsMatch:
14380         root::nsCSSTokenSerializationType = 12;
14381     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Symbol_Hash:
14382         root::nsCSSTokenSerializationType = 13;
14383     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Symbol_At:
14384         root::nsCSSTokenSerializationType = 14;
14385     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Symbol_Dot_or_Plus:
14386         root::nsCSSTokenSerializationType = 15;
14387     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Symbol_Minus:
14388         root::nsCSSTokenSerializationType = 16;
14389     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Symbol_OpenParen:
14390         root::nsCSSTokenSerializationType = 17;
14391     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Symbol_Question:
14392         root::nsCSSTokenSerializationType = 18;
14393     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Symbol_Assorted:
14394         root::nsCSSTokenSerializationType = 19;
14395     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Symbol_Equals:
14396         root::nsCSSTokenSerializationType = 20;
14397     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Symbol_Bar:
14398         root::nsCSSTokenSerializationType = 21;
14399     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Symbol_Slash:
14400         root::nsCSSTokenSerializationType = 22;
14401     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Symbol_Asterisk:
14402         root::nsCSSTokenSerializationType = 23;
14403     pub const nsCSSTokenSerializationType_eCSSTokenSerialization_Other:
14404         root::nsCSSTokenSerializationType = 24;
14405     pub type nsCSSTokenSerializationType = u32;
14406     #[repr(C)]
14407     pub struct nsCSSScanner {
14408         pub mBuffer: *const u16,
14409         pub mOffset: u32,
14410         pub mCount: u32,
14411         pub mLineNumber: u32,
14412         pub mLineOffset: u32,
14413         pub mTokenLineNumber: u32,
14414         pub mTokenLineOffset: u32,
14415         pub mTokenOffset: u32,
14416         pub mRecordStartOffset: u32,
14417         pub mEOFCharacters: root::nsCSSScanner_EOFCharacters,
14418         pub mReporter: *mut root::mozilla::css::ErrorReporter,
14419         pub mRecording: bool,
14420         pub mSeenBadToken: bool,
14421         pub mSeenVariableReference: bool,
14422         pub mSourceMapURL: ::nsstring::nsStringRepr,
14423         pub mSourceURL: ::nsstring::nsStringRepr,
14424     }
14425     pub const nsCSSScanner_EOFCharacters_eEOFCharacters_None: root::nsCSSScanner_EOFCharacters = 0;
14426     pub const nsCSSScanner_EOFCharacters_eEOFCharacters_DropBackslash:
14427         root::nsCSSScanner_EOFCharacters = 1;
14428     pub const nsCSSScanner_EOFCharacters_eEOFCharacters_ReplacementChar:
14429         root::nsCSSScanner_EOFCharacters = 2;
14430     pub const nsCSSScanner_EOFCharacters_eEOFCharacters_Asterisk: root::nsCSSScanner_EOFCharacters =
14431         4;
14432     pub const nsCSSScanner_EOFCharacters_eEOFCharacters_Slash: root::nsCSSScanner_EOFCharacters = 8;
14433     pub const nsCSSScanner_EOFCharacters_eEOFCharacters_DoubleQuote:
14434         root::nsCSSScanner_EOFCharacters = 16;
14435     pub const nsCSSScanner_EOFCharacters_eEOFCharacters_SingleQuote:
14436         root::nsCSSScanner_EOFCharacters = 32;
14437     pub const nsCSSScanner_EOFCharacters_eEOFCharacters_CloseParen:
14438         root::nsCSSScanner_EOFCharacters = 64;
14439     pub type nsCSSScanner_EOFCharacters = u32;
14440     #[test]
bindgen_test_layout_nsCSSScanner()14441     fn bindgen_test_layout_nsCSSScanner() {
14442         assert_eq!(
14443             ::std::mem::size_of::<nsCSSScanner>(),
14444             96usize,
14445             concat!("Size of: ", stringify!(nsCSSScanner))
14446         );
14447         assert_eq!(
14448             ::std::mem::align_of::<nsCSSScanner>(),
14449             8usize,
14450             concat!("Alignment of ", stringify!(nsCSSScanner))
14451         );
14452         assert_eq!(
14453             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mBuffer as *const _ as usize },
14454             0usize,
14455             concat!(
14456                 "Offset of field: ",
14457                 stringify!(nsCSSScanner),
14458                 "::",
14459                 stringify!(mBuffer)
14460             )
14461         );
14462         assert_eq!(
14463             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mOffset as *const _ as usize },
14464             8usize,
14465             concat!(
14466                 "Offset of field: ",
14467                 stringify!(nsCSSScanner),
14468                 "::",
14469                 stringify!(mOffset)
14470             )
14471         );
14472         assert_eq!(
14473             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mCount as *const _ as usize },
14474             12usize,
14475             concat!(
14476                 "Offset of field: ",
14477                 stringify!(nsCSSScanner),
14478                 "::",
14479                 stringify!(mCount)
14480             )
14481         );
14482         assert_eq!(
14483             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mLineNumber as *const _ as usize },
14484             16usize,
14485             concat!(
14486                 "Offset of field: ",
14487                 stringify!(nsCSSScanner),
14488                 "::",
14489                 stringify!(mLineNumber)
14490             )
14491         );
14492         assert_eq!(
14493             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mLineOffset as *const _ as usize },
14494             20usize,
14495             concat!(
14496                 "Offset of field: ",
14497                 stringify!(nsCSSScanner),
14498                 "::",
14499                 stringify!(mLineOffset)
14500             )
14501         );
14502         assert_eq!(
14503             unsafe {
14504                 &(*(::std::ptr::null::<nsCSSScanner>())).mTokenLineNumber as *const _ as usize
14505             },
14506             24usize,
14507             concat!(
14508                 "Offset of field: ",
14509                 stringify!(nsCSSScanner),
14510                 "::",
14511                 stringify!(mTokenLineNumber)
14512             )
14513         );
14514         assert_eq!(
14515             unsafe {
14516                 &(*(::std::ptr::null::<nsCSSScanner>())).mTokenLineOffset as *const _ as usize
14517             },
14518             28usize,
14519             concat!(
14520                 "Offset of field: ",
14521                 stringify!(nsCSSScanner),
14522                 "::",
14523                 stringify!(mTokenLineOffset)
14524             )
14525         );
14526         assert_eq!(
14527             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mTokenOffset as *const _ as usize },
14528             32usize,
14529             concat!(
14530                 "Offset of field: ",
14531                 stringify!(nsCSSScanner),
14532                 "::",
14533                 stringify!(mTokenOffset)
14534             )
14535         );
14536         assert_eq!(
14537             unsafe {
14538                 &(*(::std::ptr::null::<nsCSSScanner>())).mRecordStartOffset as *const _ as usize
14539             },
14540             36usize,
14541             concat!(
14542                 "Offset of field: ",
14543                 stringify!(nsCSSScanner),
14544                 "::",
14545                 stringify!(mRecordStartOffset)
14546             )
14547         );
14548         assert_eq!(
14549             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mEOFCharacters as *const _ as usize },
14550             40usize,
14551             concat!(
14552                 "Offset of field: ",
14553                 stringify!(nsCSSScanner),
14554                 "::",
14555                 stringify!(mEOFCharacters)
14556             )
14557         );
14558         assert_eq!(
14559             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mReporter as *const _ as usize },
14560             48usize,
14561             concat!(
14562                 "Offset of field: ",
14563                 stringify!(nsCSSScanner),
14564                 "::",
14565                 stringify!(mReporter)
14566             )
14567         );
14568         assert_eq!(
14569             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mRecording as *const _ as usize },
14570             56usize,
14571             concat!(
14572                 "Offset of field: ",
14573                 stringify!(nsCSSScanner),
14574                 "::",
14575                 stringify!(mRecording)
14576             )
14577         );
14578         assert_eq!(
14579             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mSeenBadToken as *const _ as usize },
14580             57usize,
14581             concat!(
14582                 "Offset of field: ",
14583                 stringify!(nsCSSScanner),
14584                 "::",
14585                 stringify!(mSeenBadToken)
14586             )
14587         );
14588         assert_eq!(
14589             unsafe {
14590                 &(*(::std::ptr::null::<nsCSSScanner>())).mSeenVariableReference as *const _ as usize
14591             },
14592             58usize,
14593             concat!(
14594                 "Offset of field: ",
14595                 stringify!(nsCSSScanner),
14596                 "::",
14597                 stringify!(mSeenVariableReference)
14598             )
14599         );
14600         assert_eq!(
14601             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mSourceMapURL as *const _ as usize },
14602             64usize,
14603             concat!(
14604                 "Offset of field: ",
14605                 stringify!(nsCSSScanner),
14606                 "::",
14607                 stringify!(mSourceMapURL)
14608             )
14609         );
14610         assert_eq!(
14611             unsafe { &(*(::std::ptr::null::<nsCSSScanner>())).mSourceURL as *const _ as usize },
14612             80usize,
14613             concat!(
14614                 "Offset of field: ",
14615                 stringify!(nsCSSScanner),
14616                 "::",
14617                 stringify!(mSourceURL)
14618             )
14619         );
14620     }
14621     #[repr(C)]
14622     pub struct nsISupports__bindgen_vtable(::std::os::raw::c_void);
14623     /// Basic component object model interface. Objects which implement
14624     /// this interface support runtime interface discovery (QueryInterface)
14625     /// and a reference counted memory model (AddRef/Release). This is
14626     /// modelled after the win32 IUnknown API.
14627     #[repr(C)]
14628     #[derive(Debug, Copy)]
14629     pub struct nsISupports {
14630         pub vtable_: *const nsISupports__bindgen_vtable,
14631     }
14632     #[repr(C)]
14633     #[derive(Debug, Copy, Clone)]
14634     pub struct nsISupports_COMTypeInfo {
14635         pub _address: u8,
14636     }
14637     #[test]
bindgen_test_layout_nsISupports()14638     fn bindgen_test_layout_nsISupports() {
14639         assert_eq!(
14640             ::std::mem::size_of::<nsISupports>(),
14641             8usize,
14642             concat!("Size of: ", stringify!(nsISupports))
14643         );
14644         assert_eq!(
14645             ::std::mem::align_of::<nsISupports>(),
14646             8usize,
14647             concat!("Alignment of ", stringify!(nsISupports))
14648         );
14649     }
14650     impl Clone for nsISupports {
clone(&self) -> Self14651         fn clone(&self) -> Self {
14652             *self
14653         }
14654     }
14655     pub type PRUint32 = ::std::os::raw::c_uint;
14656     pub type PRIntn = ::std::os::raw::c_int;
14657     pub type PRUintn = ::std::os::raw::c_uint;
14658     /// TYPES:       PRSize
14659     /// DESCRIPTION:
14660     /// A type for representing the size of objects.
14661     pub type PRSize = usize;
14662     #[repr(C)]
14663     #[derive(Debug, Copy)]
14664     pub struct PRThread {
14665         _unused: [u8; 0],
14666     }
14667     impl Clone for PRThread {
clone(&self) -> Self14668         fn clone(&self) -> Self {
14669             *self
14670         }
14671     }
14672     #[repr(C)]
14673     #[derive(Debug, Copy)]
14674     pub struct nsCycleCollectingAutoRefCnt {
14675         pub mRefCntAndFlags: usize,
14676     }
14677     pub type nsCycleCollectingAutoRefCnt_Suspect = ::std::option::Option<
14678         unsafe extern "C" fn(
14679             aPtr: *mut ::std::os::raw::c_void,
14680             aCp: *mut root::nsCycleCollectionParticipant,
14681             aRefCnt: *mut root::nsCycleCollectingAutoRefCnt,
14682             aShouldDelete: *mut bool,
14683         ),
14684     >;
14685     #[test]
bindgen_test_layout_nsCycleCollectingAutoRefCnt()14686     fn bindgen_test_layout_nsCycleCollectingAutoRefCnt() {
14687         assert_eq!(
14688             ::std::mem::size_of::<nsCycleCollectingAutoRefCnt>(),
14689             8usize,
14690             concat!("Size of: ", stringify!(nsCycleCollectingAutoRefCnt))
14691         );
14692         assert_eq!(
14693             ::std::mem::align_of::<nsCycleCollectingAutoRefCnt>(),
14694             8usize,
14695             concat!("Alignment of ", stringify!(nsCycleCollectingAutoRefCnt))
14696         );
14697         assert_eq!(
14698             unsafe {
14699                 &(*(::std::ptr::null::<nsCycleCollectingAutoRefCnt>())).mRefCntAndFlags as *const _
14700                     as usize
14701             },
14702             0usize,
14703             concat!(
14704                 "Offset of field: ",
14705                 stringify!(nsCycleCollectingAutoRefCnt),
14706                 "::",
14707                 stringify!(mRefCntAndFlags)
14708             )
14709         );
14710     }
14711     impl Clone for nsCycleCollectingAutoRefCnt {
clone(&self) -> Self14712         fn clone(&self) -> Self {
14713             *self
14714         }
14715     }
14716     #[repr(C)]
14717     #[derive(Debug, Copy)]
14718     pub struct nsAutoRefCnt {
14719         pub mValue: root::nsrefcnt,
14720     }
14721     pub const nsAutoRefCnt_isThreadSafe: bool = false;
14722     #[test]
bindgen_test_layout_nsAutoRefCnt()14723     fn bindgen_test_layout_nsAutoRefCnt() {
14724         assert_eq!(
14725             ::std::mem::size_of::<nsAutoRefCnt>(),
14726             8usize,
14727             concat!("Size of: ", stringify!(nsAutoRefCnt))
14728         );
14729         assert_eq!(
14730             ::std::mem::align_of::<nsAutoRefCnt>(),
14731             8usize,
14732             concat!("Alignment of ", stringify!(nsAutoRefCnt))
14733         );
14734         assert_eq!(
14735             unsafe { &(*(::std::ptr::null::<nsAutoRefCnt>())).mValue as *const _ as usize },
14736             0usize,
14737             concat!(
14738                 "Offset of field: ",
14739                 stringify!(nsAutoRefCnt),
14740                 "::",
14741                 stringify!(mValue)
14742             )
14743         );
14744     }
14745     impl Clone for nsAutoRefCnt {
clone(&self) -> Self14746         fn clone(&self) -> Self {
14747             *self
14748         }
14749     }
14750     #[repr(C)]
14751     #[derive(Debug)]
14752     pub struct RefPtr<T> {
14753         pub mRawPtr: *mut T,
14754         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
14755     }
14756     pub type RefPtr_element_type<T> = T;
14757     #[repr(C)]
14758     #[derive(Debug, Copy, Clone)]
14759     pub struct RefPtr_Proxy {
14760         pub _address: u8,
14761     }
14762     pub type RefPtr_Proxy_member_function = u8;
14763     #[repr(C)]
14764     #[derive(Debug, Copy, Clone)]
14765     pub struct RefPtr_ConstRemovingRefPtrTraits {
14766         pub _address: u8,
14767     }
14768     pub mod JS {
14769         #[allow(unused_imports)]
14770         use self::super::super::root;
14771         #[repr(C)]
14772         #[derive(Debug, Copy, Clone)]
14773         pub struct DeletePolicy {
14774             pub _address: u8,
14775         }
14776         #[repr(C)]
14777         #[derive(Debug, Copy)]
14778         pub struct FreePolicy {
14779             pub _address: u8,
14780         }
14781         #[test]
bindgen_test_layout_FreePolicy()14782         fn bindgen_test_layout_FreePolicy() {
14783             assert_eq!(
14784                 ::std::mem::size_of::<FreePolicy>(),
14785                 1usize,
14786                 concat!("Size of: ", stringify!(FreePolicy))
14787             );
14788             assert_eq!(
14789                 ::std::mem::align_of::<FreePolicy>(),
14790                 1usize,
14791                 concat!("Alignment of ", stringify!(FreePolicy))
14792             );
14793         }
14794         impl Clone for FreePolicy {
clone(&self) -> Self14795             fn clone(&self) -> Self {
14796                 *self
14797             }
14798         }
14799         /// Local variable of type T whose value is always rooted. This is typically
14800         /// used for local variables, or for non-rooted values being passed to a
14801         /// function that requires a handle, e.g. Foo(Root<T>(cx, x)).
14802         ///
14803         /// If you want to add additional methods to Rooted for a specific
14804         /// specialization, define a RootedBase<T> specialization containing them.
14805         #[repr(C)]
14806         #[derive(Debug, Copy, Clone)]
14807         pub struct Rooted {
14808             pub _address: u8,
14809         }
14810         pub type Rooted_ElementType<T> = T;
14811         pub mod dbg {
14812             #[allow(unused_imports)]
14813             use self::super::super::super::root;
14814             #[repr(C)]
14815             #[derive(Debug)]
14816             pub struct GarbageCollectionEvent {
14817                 pub majorGCNumber_: u64,
14818                 pub reason: *const ::std::os::raw::c_char,
14819                 pub nonincrementalReason: *const ::std::os::raw::c_char,
14820                 pub collections: [u64; 3usize],
14821             }
14822             #[repr(C)]
14823             #[derive(Debug, Copy)]
14824             pub struct GarbageCollectionEvent_Collection {
14825                 pub startTimestamp: root::mozilla::TimeStamp,
14826                 pub endTimestamp: root::mozilla::TimeStamp,
14827             }
14828             #[test]
bindgen_test_layout_GarbageCollectionEvent_Collection()14829             fn bindgen_test_layout_GarbageCollectionEvent_Collection() {
14830                 assert_eq!(
14831                     ::std::mem::size_of::<GarbageCollectionEvent_Collection>(),
14832                     16usize,
14833                     concat!("Size of: ", stringify!(GarbageCollectionEvent_Collection))
14834                 );
14835                 assert_eq!(
14836                     ::std::mem::align_of::<GarbageCollectionEvent_Collection>(),
14837                     8usize,
14838                     concat!(
14839                         "Alignment of ",
14840                         stringify!(GarbageCollectionEvent_Collection)
14841                     )
14842                 );
14843                 assert_eq!(
14844                     unsafe {
14845                         &(*(::std::ptr::null::<GarbageCollectionEvent_Collection>())).startTimestamp
14846                             as *const _ as usize
14847                     },
14848                     0usize,
14849                     concat!(
14850                         "Offset of field: ",
14851                         stringify!(GarbageCollectionEvent_Collection),
14852                         "::",
14853                         stringify!(startTimestamp)
14854                     )
14855                 );
14856                 assert_eq!(
14857                     unsafe {
14858                         &(*(::std::ptr::null::<GarbageCollectionEvent_Collection>())).endTimestamp
14859                             as *const _ as usize
14860                     },
14861                     8usize,
14862                     concat!(
14863                         "Offset of field: ",
14864                         stringify!(GarbageCollectionEvent_Collection),
14865                         "::",
14866                         stringify!(endTimestamp)
14867                     )
14868                 );
14869             }
14870             impl Clone for GarbageCollectionEvent_Collection {
clone(&self) -> Self14871                 fn clone(&self) -> Self {
14872                     *self
14873                 }
14874             }
14875             pub type GarbageCollectionEvent_Ptr =
14876                 root::mozilla::UniquePtr<root::JS::dbg::GarbageCollectionEvent>;
14877             #[test]
bindgen_test_layout_GarbageCollectionEvent()14878             fn bindgen_test_layout_GarbageCollectionEvent() {
14879                 assert_eq!(
14880                     ::std::mem::size_of::<GarbageCollectionEvent>(),
14881                     48usize,
14882                     concat!("Size of: ", stringify!(GarbageCollectionEvent))
14883                 );
14884                 assert_eq!(
14885                     ::std::mem::align_of::<GarbageCollectionEvent>(),
14886                     8usize,
14887                     concat!("Alignment of ", stringify!(GarbageCollectionEvent))
14888                 );
14889                 assert_eq!(
14890                     unsafe {
14891                         &(*(::std::ptr::null::<GarbageCollectionEvent>())).majorGCNumber_
14892                             as *const _ as usize
14893                     },
14894                     0usize,
14895                     concat!(
14896                         "Offset of field: ",
14897                         stringify!(GarbageCollectionEvent),
14898                         "::",
14899                         stringify!(majorGCNumber_)
14900                     )
14901                 );
14902                 assert_eq!(
14903                     unsafe {
14904                         &(*(::std::ptr::null::<GarbageCollectionEvent>())).reason as *const _
14905                             as usize
14906                     },
14907                     8usize,
14908                     concat!(
14909                         "Offset of field: ",
14910                         stringify!(GarbageCollectionEvent),
14911                         "::",
14912                         stringify!(reason)
14913                     )
14914                 );
14915                 assert_eq!(
14916                     unsafe {
14917                         &(*(::std::ptr::null::<GarbageCollectionEvent>())).nonincrementalReason
14918                             as *const _ as usize
14919                     },
14920                     16usize,
14921                     concat!(
14922                         "Offset of field: ",
14923                         stringify!(GarbageCollectionEvent),
14924                         "::",
14925                         stringify!(nonincrementalReason)
14926                     )
14927                 );
14928                 assert_eq!(
14929                     unsafe {
14930                         &(*(::std::ptr::null::<GarbageCollectionEvent>())).collections as *const _
14931                             as usize
14932                     },
14933                     24usize,
14934                     concat!(
14935                         "Offset of field: ",
14936                         stringify!(GarbageCollectionEvent),
14937                         "::",
14938                         stringify!(collections)
14939                     )
14940                 );
14941             }
14942         }
14943         pub type Value_PayloadType = u64;
14944         #[repr(C)]
14945         #[derive(Debug, Copy)]
14946         pub struct Value_layout {
14947             pub asBits: root::__BindgenUnionField<u64>,
14948             pub debugView: root::__BindgenUnionField<root::JS::Value_layout__bindgen_ty_1>,
14949             pub s: root::__BindgenUnionField<root::JS::Value_layout__bindgen_ty_2>,
14950             pub asDouble: root::__BindgenUnionField<f64>,
14951             pub asPtr: root::__BindgenUnionField<*mut ::std::os::raw::c_void>,
14952             pub asWord: root::__BindgenUnionField<usize>,
14953             pub asUIntPtr: root::__BindgenUnionField<usize>,
14954             pub bindgen_union_field: u64,
14955         }
14956         #[repr(C)]
14957         #[derive(Debug, Copy)]
14958         pub struct Value_layout__bindgen_ty_1 {
14959             pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 8usize], u64>,
14960             pub __bindgen_align: [u64; 0usize],
14961         }
14962         #[test]
bindgen_test_layout_Value_layout__bindgen_ty_1()14963         fn bindgen_test_layout_Value_layout__bindgen_ty_1() {
14964             assert_eq!(
14965                 ::std::mem::size_of::<Value_layout__bindgen_ty_1>(),
14966                 8usize,
14967                 concat!("Size of: ", stringify!(Value_layout__bindgen_ty_1))
14968             );
14969             assert_eq!(
14970                 ::std::mem::align_of::<Value_layout__bindgen_ty_1>(),
14971                 8usize,
14972                 concat!("Alignment of ", stringify!(Value_layout__bindgen_ty_1))
14973             );
14974         }
14975         impl Clone for Value_layout__bindgen_ty_1 {
clone(&self) -> Self14976             fn clone(&self) -> Self {
14977                 *self
14978             }
14979         }
14980         impl Value_layout__bindgen_ty_1 {
14981             #[inline]
payload47(&self) -> u6414982             pub fn payload47(&self) -> u64 {
14983                 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 47u8) as u64) }
14984             }
14985             #[inline]
set_payload47(&mut self, val: u64)14986             pub fn set_payload47(&mut self, val: u64) {
14987                 unsafe {
14988                     let val: u64 = ::std::mem::transmute(val);
14989                     self._bitfield_1.set(0usize, 47u8, val as u64)
14990                 }
14991             }
14992             #[inline]
tag(&self) -> root::JSValueTag14993             pub fn tag(&self) -> root::JSValueTag {
14994                 unsafe { ::std::mem::transmute(self._bitfield_1.get(47usize, 17u8) as u32) }
14995             }
14996             #[inline]
set_tag(&mut self, val: root::JSValueTag)14997             pub fn set_tag(&mut self, val: root::JSValueTag) {
14998                 unsafe {
14999                     let val: u32 = ::std::mem::transmute(val);
15000                     self._bitfield_1.set(47usize, 17u8, val as u64)
15001                 }
15002             }
15003             #[inline]
new_bitfield_1( payload47: u64, tag: root::JSValueTag, ) -> root::__BindgenBitfieldUnit<[u8; 8usize], u64>15004             pub fn new_bitfield_1(
15005                 payload47: u64,
15006                 tag: root::JSValueTag,
15007             ) -> root::__BindgenBitfieldUnit<[u8; 8usize], u64> {
15008                 let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
15009                     [u8; 8usize],
15010                     u64,
15011                 > = Default::default();
15012                 __bindgen_bitfield_unit.set(0usize, 47u8, {
15013                     let payload47: u64 = unsafe { ::std::mem::transmute(payload47) };
15014                     payload47 as u64
15015                 });
15016                 __bindgen_bitfield_unit.set(47usize, 17u8, {
15017                     let tag: u32 = unsafe { ::std::mem::transmute(tag) };
15018                     tag as u64
15019                 });
15020                 __bindgen_bitfield_unit
15021             }
15022         }
15023         #[repr(C)]
15024         #[derive(Debug, Copy)]
15025         pub struct Value_layout__bindgen_ty_2 {
15026             pub payload: root::JS::Value_layout__bindgen_ty_2__bindgen_ty_1,
15027         }
15028         #[repr(C)]
15029         #[derive(Debug, Copy)]
15030         pub struct Value_layout__bindgen_ty_2__bindgen_ty_1 {
15031             pub i32: root::__BindgenUnionField<i32>,
15032             pub u32: root::__BindgenUnionField<u32>,
15033             pub why: root::__BindgenUnionField<root::JSWhyMagic>,
15034             pub bindgen_union_field: u32,
15035         }
15036         #[test]
bindgen_test_layout_Value_layout__bindgen_ty_2__bindgen_ty_1()15037         fn bindgen_test_layout_Value_layout__bindgen_ty_2__bindgen_ty_1() {
15038             assert_eq!(
15039                 ::std::mem::size_of::<Value_layout__bindgen_ty_2__bindgen_ty_1>(),
15040                 4usize,
15041                 concat!(
15042                     "Size of: ",
15043                     stringify!(Value_layout__bindgen_ty_2__bindgen_ty_1)
15044                 )
15045             );
15046             assert_eq!(
15047                 ::std::mem::align_of::<Value_layout__bindgen_ty_2__bindgen_ty_1>(),
15048                 4usize,
15049                 concat!(
15050                     "Alignment of ",
15051                     stringify!(Value_layout__bindgen_ty_2__bindgen_ty_1)
15052                 )
15053             );
15054             assert_eq!(
15055                 unsafe {
15056                     &(*(::std::ptr::null::<Value_layout__bindgen_ty_2__bindgen_ty_1>())).i32
15057                         as *const _ as usize
15058                 },
15059                 0usize,
15060                 concat!(
15061                     "Offset of field: ",
15062                     stringify!(Value_layout__bindgen_ty_2__bindgen_ty_1),
15063                     "::",
15064                     stringify!(i32)
15065                 )
15066             );
15067             assert_eq!(
15068                 unsafe {
15069                     &(*(::std::ptr::null::<Value_layout__bindgen_ty_2__bindgen_ty_1>())).u32
15070                         as *const _ as usize
15071                 },
15072                 0usize,
15073                 concat!(
15074                     "Offset of field: ",
15075                     stringify!(Value_layout__bindgen_ty_2__bindgen_ty_1),
15076                     "::",
15077                     stringify!(u32)
15078                 )
15079             );
15080             assert_eq!(
15081                 unsafe {
15082                     &(*(::std::ptr::null::<Value_layout__bindgen_ty_2__bindgen_ty_1>())).why
15083                         as *const _ as usize
15084                 },
15085                 0usize,
15086                 concat!(
15087                     "Offset of field: ",
15088                     stringify!(Value_layout__bindgen_ty_2__bindgen_ty_1),
15089                     "::",
15090                     stringify!(why)
15091                 )
15092             );
15093         }
15094         impl Clone for Value_layout__bindgen_ty_2__bindgen_ty_1 {
clone(&self) -> Self15095             fn clone(&self) -> Self {
15096                 *self
15097             }
15098         }
15099         #[test]
bindgen_test_layout_Value_layout__bindgen_ty_2()15100         fn bindgen_test_layout_Value_layout__bindgen_ty_2() {
15101             assert_eq!(
15102                 ::std::mem::size_of::<Value_layout__bindgen_ty_2>(),
15103                 4usize,
15104                 concat!("Size of: ", stringify!(Value_layout__bindgen_ty_2))
15105             );
15106             assert_eq!(
15107                 ::std::mem::align_of::<Value_layout__bindgen_ty_2>(),
15108                 4usize,
15109                 concat!("Alignment of ", stringify!(Value_layout__bindgen_ty_2))
15110             );
15111             assert_eq!(
15112                 unsafe {
15113                     &(*(::std::ptr::null::<Value_layout__bindgen_ty_2>())).payload as *const _
15114                         as usize
15115                 },
15116                 0usize,
15117                 concat!(
15118                     "Offset of field: ",
15119                     stringify!(Value_layout__bindgen_ty_2),
15120                     "::",
15121                     stringify!(payload)
15122                 )
15123             );
15124         }
15125         impl Clone for Value_layout__bindgen_ty_2 {
clone(&self) -> Self15126             fn clone(&self) -> Self {
15127                 *self
15128             }
15129         }
15130         #[test]
bindgen_test_layout_Value_layout()15131         fn bindgen_test_layout_Value_layout() {
15132             assert_eq!(
15133                 ::std::mem::size_of::<Value_layout>(),
15134                 8usize,
15135                 concat!("Size of: ", stringify!(Value_layout))
15136             );
15137             assert_eq!(
15138                 ::std::mem::align_of::<Value_layout>(),
15139                 8usize,
15140                 concat!("Alignment of ", stringify!(Value_layout))
15141             );
15142             assert_eq!(
15143                 unsafe { &(*(::std::ptr::null::<Value_layout>())).asBits as *const _ as usize },
15144                 0usize,
15145                 concat!(
15146                     "Offset of field: ",
15147                     stringify!(Value_layout),
15148                     "::",
15149                     stringify!(asBits)
15150                 )
15151             );
15152             assert_eq!(
15153                 unsafe { &(*(::std::ptr::null::<Value_layout>())).debugView as *const _ as usize },
15154                 0usize,
15155                 concat!(
15156                     "Offset of field: ",
15157                     stringify!(Value_layout),
15158                     "::",
15159                     stringify!(debugView)
15160                 )
15161             );
15162             assert_eq!(
15163                 unsafe { &(*(::std::ptr::null::<Value_layout>())).s as *const _ as usize },
15164                 0usize,
15165                 concat!(
15166                     "Offset of field: ",
15167                     stringify!(Value_layout),
15168                     "::",
15169                     stringify!(s)
15170                 )
15171             );
15172             assert_eq!(
15173                 unsafe { &(*(::std::ptr::null::<Value_layout>())).asDouble as *const _ as usize },
15174                 0usize,
15175                 concat!(
15176                     "Offset of field: ",
15177                     stringify!(Value_layout),
15178                     "::",
15179                     stringify!(asDouble)
15180                 )
15181             );
15182             assert_eq!(
15183                 unsafe { &(*(::std::ptr::null::<Value_layout>())).asPtr as *const _ as usize },
15184                 0usize,
15185                 concat!(
15186                     "Offset of field: ",
15187                     stringify!(Value_layout),
15188                     "::",
15189                     stringify!(asPtr)
15190                 )
15191             );
15192             assert_eq!(
15193                 unsafe { &(*(::std::ptr::null::<Value_layout>())).asWord as *const _ as usize },
15194                 0usize,
15195                 concat!(
15196                     "Offset of field: ",
15197                     stringify!(Value_layout),
15198                     "::",
15199                     stringify!(asWord)
15200                 )
15201             );
15202             assert_eq!(
15203                 unsafe { &(*(::std::ptr::null::<Value_layout>())).asUIntPtr as *const _ as usize },
15204                 0usize,
15205                 concat!(
15206                     "Offset of field: ",
15207                     stringify!(Value_layout),
15208                     "::",
15209                     stringify!(asUIntPtr)
15210                 )
15211             );
15212         }
15213         impl Clone for Value_layout {
clone(&self) -> Self15214             fn clone(&self) -> Self {
15215                 *self
15216             }
15217         }
15218         #[repr(C)]
15219         #[derive(Debug, Copy)]
15220         pub struct ConstUTF8CharsZ {
15221             pub data_: *const ::std::os::raw::c_char,
15222         }
15223         pub type ConstUTF8CharsZ_CharT = ::std::os::raw::c_uchar;
15224         #[test]
bindgen_test_layout_ConstUTF8CharsZ()15225         fn bindgen_test_layout_ConstUTF8CharsZ() {
15226             assert_eq!(
15227                 ::std::mem::size_of::<ConstUTF8CharsZ>(),
15228                 8usize,
15229                 concat!("Size of: ", stringify!(ConstUTF8CharsZ))
15230             );
15231             assert_eq!(
15232                 ::std::mem::align_of::<ConstUTF8CharsZ>(),
15233                 8usize,
15234                 concat!("Alignment of ", stringify!(ConstUTF8CharsZ))
15235             );
15236             assert_eq!(
15237                 unsafe { &(*(::std::ptr::null::<ConstUTF8CharsZ>())).data_ as *const _ as usize },
15238                 0usize,
15239                 concat!(
15240                     "Offset of field: ",
15241                     stringify!(ConstUTF8CharsZ),
15242                     "::",
15243                     stringify!(data_)
15244                 )
15245             );
15246         }
15247         impl Clone for ConstUTF8CharsZ {
clone(&self) -> Self15248             fn clone(&self) -> Self {
15249                 *self
15250             }
15251         }
15252     }
15253     #[repr(C)]
15254     #[derive(Debug, Copy)]
15255     pub struct JSContext {
15256         _unused: [u8; 0],
15257     }
15258     impl Clone for JSContext {
clone(&self) -> Self15259         fn clone(&self) -> Self {
15260             *self
15261         }
15262     }
15263     #[repr(C)]
15264     #[derive(Debug, Copy)]
15265     pub struct JSObject {
15266         _unused: [u8; 0],
15267     }
15268     impl Clone for JSObject {
clone(&self) -> Self15269         fn clone(&self) -> Self {
15270             *self
15271         }
15272     }
15273     pub mod js {
15274         #[allow(unused_imports)]
15275         use self::super::super::root;
15276         pub mod gc {
15277             #[allow(unused_imports)]
15278             use self::super::super::super::root;
15279         }
15280         #[repr(C)]
15281         #[derive(Debug, Copy)]
15282         pub struct SystemAllocPolicy {
15283             pub _address: u8,
15284         }
15285         #[test]
bindgen_test_layout_SystemAllocPolicy()15286         fn bindgen_test_layout_SystemAllocPolicy() {
15287             assert_eq!(
15288                 ::std::mem::size_of::<SystemAllocPolicy>(),
15289                 1usize,
15290                 concat!("Size of: ", stringify!(SystemAllocPolicy))
15291             );
15292             assert_eq!(
15293                 ::std::mem::align_of::<SystemAllocPolicy>(),
15294                 1usize,
15295                 concat!("Alignment of ", stringify!(SystemAllocPolicy))
15296             );
15297         }
15298         impl Clone for SystemAllocPolicy {
clone(&self) -> Self15299             fn clone(&self) -> Self {
15300                 *self
15301             }
15302         }
15303         #[repr(C)]
15304         pub struct SourceHook__bindgen_vtable(::std::os::raw::c_void);
15305         /// A class of objects that return source code on demand.
15306         ///
15307         /// When code is compiled with setSourceIsLazy(true), SpiderMonkey doesn't
15308         /// retain the source code (and doesn't do lazy bytecode generation). If we ever
15309         /// need the source code, say, in response to a call to Function.prototype.
15310         /// toSource or Debugger.Source.prototype.text, then we call the 'load' member
15311         /// function of the instance of this class that has hopefully been registered
15312         /// with the runtime, passing the code's URL, and hope that it will be able to
15313         /// find the source.
15314         #[repr(C)]
15315         #[derive(Debug)]
15316         pub struct SourceHook {
15317             pub vtable_: *const SourceHook__bindgen_vtable,
15318         }
15319         #[test]
bindgen_test_layout_SourceHook()15320         fn bindgen_test_layout_SourceHook() {
15321             assert_eq!(
15322                 ::std::mem::size_of::<SourceHook>(),
15323                 8usize,
15324                 concat!("Size of: ", stringify!(SourceHook))
15325             );
15326             assert_eq!(
15327                 ::std::mem::align_of::<SourceHook>(),
15328                 8usize,
15329                 concat!("Alignment of ", stringify!(SourceHook))
15330             );
15331         }
15332     }
15333     /// Factors implementation for all template versions of nsCOMPtr.
15334     ///
15335     /// Here's the way people normally do things like this:
15336     ///
15337     /// template<class T> class Foo { ... };
15338     /// template<> class Foo<void*> { ... };
15339     /// template<class T> class Foo<T*> : private Foo<void*> { ... };
15340     #[repr(C)]
15341     #[derive(Debug)]
15342     pub struct nsCOMPtr_base {
15343         pub mRawPtr: *mut root::nsISupports,
15344     }
15345     #[test]
bindgen_test_layout_nsCOMPtr_base()15346     fn bindgen_test_layout_nsCOMPtr_base() {
15347         assert_eq!(
15348             ::std::mem::size_of::<nsCOMPtr_base>(),
15349             8usize,
15350             concat!("Size of: ", stringify!(nsCOMPtr_base))
15351         );
15352         assert_eq!(
15353             ::std::mem::align_of::<nsCOMPtr_base>(),
15354             8usize,
15355             concat!("Alignment of ", stringify!(nsCOMPtr_base))
15356         );
15357         assert_eq!(
15358             unsafe { &(*(::std::ptr::null::<nsCOMPtr_base>())).mRawPtr as *const _ as usize },
15359             0usize,
15360             concat!(
15361                 "Offset of field: ",
15362                 stringify!(nsCOMPtr_base),
15363                 "::",
15364                 stringify!(mRawPtr)
15365             )
15366         );
15367     }
15368     #[repr(C)]
15369     #[derive(Debug)]
15370     pub struct nsCOMPtr {
15371         pub _base: root::nsCOMPtr_base,
15372     }
15373     pub type nsCOMPtr_element_type<T> = T;
15374     #[repr(C)]
15375     #[derive(Debug)]
15376     pub struct nsAutoPtr<T> {
15377         pub mRawPtr: *mut T,
15378         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
15379     }
15380     #[repr(C)]
15381     #[derive(Debug, Copy, Clone)]
15382     pub struct nsAutoPtr_Ptr<T> {
15383         pub mPtr: *mut T,
15384         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
15385     }
15386     pub type nsAutoPtr_element_type<T> = T;
15387     #[repr(C)]
15388     #[derive(Debug, Copy, Clone)]
15389     pub struct nsAutoPtr_Proxy {
15390         pub _address: u8,
15391     }
15392     pub type nsAutoPtr_Proxy_member_function = u8;
15393     pub type PLDHashNumber = u32;
15394     #[repr(C)]
15395     #[derive(Debug, Copy)]
15396     pub struct PLDHashEntryHdr {
15397         pub mKeyHash: root::PLDHashNumber,
15398     }
15399     #[test]
bindgen_test_layout_PLDHashEntryHdr()15400     fn bindgen_test_layout_PLDHashEntryHdr() {
15401         assert_eq!(
15402             ::std::mem::size_of::<PLDHashEntryHdr>(),
15403             4usize,
15404             concat!("Size of: ", stringify!(PLDHashEntryHdr))
15405         );
15406         assert_eq!(
15407             ::std::mem::align_of::<PLDHashEntryHdr>(),
15408             4usize,
15409             concat!("Alignment of ", stringify!(PLDHashEntryHdr))
15410         );
15411         assert_eq!(
15412             unsafe { &(*(::std::ptr::null::<PLDHashEntryHdr>())).mKeyHash as *const _ as usize },
15413             0usize,
15414             concat!(
15415                 "Offset of field: ",
15416                 stringify!(PLDHashEntryHdr),
15417                 "::",
15418                 stringify!(mKeyHash)
15419             )
15420         );
15421     }
15422     impl Clone for PLDHashEntryHdr {
clone(&self) -> Self15423         fn clone(&self) -> Self {
15424             *self
15425         }
15426     }
15427     #[repr(C)]
15428     #[derive(Debug)]
15429     pub struct PLDHashTable {
15430         pub mOps: *const root::PLDHashTableOps,
15431         pub mEntryStore: root::PLDHashTable_EntryStore,
15432         pub mGeneration: u16,
15433         pub mHashShift: u8,
15434         pub mEntrySize: u8,
15435         pub mEntryCount: u32,
15436         pub mRemovedCount: u32,
15437     }
15438     #[repr(C)]
15439     #[derive(Debug)]
15440     pub struct PLDHashTable_EntryStore {
15441         pub mEntryStore: *mut ::std::os::raw::c_char,
15442     }
15443     #[test]
bindgen_test_layout_PLDHashTable_EntryStore()15444     fn bindgen_test_layout_PLDHashTable_EntryStore() {
15445         assert_eq!(
15446             ::std::mem::size_of::<PLDHashTable_EntryStore>(),
15447             8usize,
15448             concat!("Size of: ", stringify!(PLDHashTable_EntryStore))
15449         );
15450         assert_eq!(
15451             ::std::mem::align_of::<PLDHashTable_EntryStore>(),
15452             8usize,
15453             concat!("Alignment of ", stringify!(PLDHashTable_EntryStore))
15454         );
15455         assert_eq!(
15456             unsafe {
15457                 &(*(::std::ptr::null::<PLDHashTable_EntryStore>())).mEntryStore as *const _ as usize
15458             },
15459             0usize,
15460             concat!(
15461                 "Offset of field: ",
15462                 stringify!(PLDHashTable_EntryStore),
15463                 "::",
15464                 stringify!(mEntryStore)
15465             )
15466         );
15467     }
15468     #[repr(C)]
15469     #[derive(Debug)]
15470     pub struct PLDHashTable_Iterator {
15471         pub mTable: *mut root::PLDHashTable,
15472         pub mStart: *mut ::std::os::raw::c_char,
15473         pub mLimit: *mut ::std::os::raw::c_char,
15474         pub mCurrent: *mut ::std::os::raw::c_char,
15475         pub mNexts: u32,
15476         pub mNextsLimit: u32,
15477         pub mHaveRemoved: bool,
15478     }
15479     #[test]
bindgen_test_layout_PLDHashTable_Iterator()15480     fn bindgen_test_layout_PLDHashTable_Iterator() {
15481         assert_eq!(
15482             ::std::mem::size_of::<PLDHashTable_Iterator>(),
15483             48usize,
15484             concat!("Size of: ", stringify!(PLDHashTable_Iterator))
15485         );
15486         assert_eq!(
15487             ::std::mem::align_of::<PLDHashTable_Iterator>(),
15488             8usize,
15489             concat!("Alignment of ", stringify!(PLDHashTable_Iterator))
15490         );
15491         assert_eq!(
15492             unsafe {
15493                 &(*(::std::ptr::null::<PLDHashTable_Iterator>())).mTable as *const _ as usize
15494             },
15495             0usize,
15496             concat!(
15497                 "Offset of field: ",
15498                 stringify!(PLDHashTable_Iterator),
15499                 "::",
15500                 stringify!(mTable)
15501             )
15502         );
15503         assert_eq!(
15504             unsafe {
15505                 &(*(::std::ptr::null::<PLDHashTable_Iterator>())).mStart as *const _ as usize
15506             },
15507             8usize,
15508             concat!(
15509                 "Offset of field: ",
15510                 stringify!(PLDHashTable_Iterator),
15511                 "::",
15512                 stringify!(mStart)
15513             )
15514         );
15515         assert_eq!(
15516             unsafe {
15517                 &(*(::std::ptr::null::<PLDHashTable_Iterator>())).mLimit as *const _ as usize
15518             },
15519             16usize,
15520             concat!(
15521                 "Offset of field: ",
15522                 stringify!(PLDHashTable_Iterator),
15523                 "::",
15524                 stringify!(mLimit)
15525             )
15526         );
15527         assert_eq!(
15528             unsafe {
15529                 &(*(::std::ptr::null::<PLDHashTable_Iterator>())).mCurrent as *const _ as usize
15530             },
15531             24usize,
15532             concat!(
15533                 "Offset of field: ",
15534                 stringify!(PLDHashTable_Iterator),
15535                 "::",
15536                 stringify!(mCurrent)
15537             )
15538         );
15539         assert_eq!(
15540             unsafe {
15541                 &(*(::std::ptr::null::<PLDHashTable_Iterator>())).mNexts as *const _ as usize
15542             },
15543             32usize,
15544             concat!(
15545                 "Offset of field: ",
15546                 stringify!(PLDHashTable_Iterator),
15547                 "::",
15548                 stringify!(mNexts)
15549             )
15550         );
15551         assert_eq!(
15552             unsafe {
15553                 &(*(::std::ptr::null::<PLDHashTable_Iterator>())).mNextsLimit as *const _ as usize
15554             },
15555             36usize,
15556             concat!(
15557                 "Offset of field: ",
15558                 stringify!(PLDHashTable_Iterator),
15559                 "::",
15560                 stringify!(mNextsLimit)
15561             )
15562         );
15563         assert_eq!(
15564             unsafe {
15565                 &(*(::std::ptr::null::<PLDHashTable_Iterator>())).mHaveRemoved as *const _ as usize
15566             },
15567             40usize,
15568             concat!(
15569                 "Offset of field: ",
15570                 stringify!(PLDHashTable_Iterator),
15571                 "::",
15572                 stringify!(mHaveRemoved)
15573             )
15574         );
15575     }
15576     pub const PLDHashTable_SearchReason_ForSearchOrRemove: root::PLDHashTable_SearchReason = 0;
15577     pub const PLDHashTable_SearchReason_ForAdd: root::PLDHashTable_SearchReason = 1;
15578     pub type PLDHashTable_SearchReason = u32;
15579     pub const PLDHashTable_kMaxCapacity: u32 = 67108864;
15580     pub const PLDHashTable_kMinCapacity: u32 = 8;
15581     pub const PLDHashTable_kMaxInitialLength: u32 = 33554432;
15582     pub const PLDHashTable_kDefaultInitialLength: u32 = 4;
15583     pub const PLDHashTable_kHashBits: u32 = 32;
15584     pub const PLDHashTable_kGoldenRatio: u32 = 2654435769;
15585     pub const PLDHashTable_kCollisionFlag: root::PLDHashNumber = 1;
15586     #[test]
bindgen_test_layout_PLDHashTable()15587     fn bindgen_test_layout_PLDHashTable() {
15588         assert_eq!(
15589             ::std::mem::size_of::<PLDHashTable>(),
15590             32usize,
15591             concat!("Size of: ", stringify!(PLDHashTable))
15592         );
15593         assert_eq!(
15594             ::std::mem::align_of::<PLDHashTable>(),
15595             8usize,
15596             concat!("Alignment of ", stringify!(PLDHashTable))
15597         );
15598         assert_eq!(
15599             unsafe { &(*(::std::ptr::null::<PLDHashTable>())).mOps as *const _ as usize },
15600             0usize,
15601             concat!(
15602                 "Offset of field: ",
15603                 stringify!(PLDHashTable),
15604                 "::",
15605                 stringify!(mOps)
15606             )
15607         );
15608         assert_eq!(
15609             unsafe { &(*(::std::ptr::null::<PLDHashTable>())).mEntryStore as *const _ as usize },
15610             8usize,
15611             concat!(
15612                 "Offset of field: ",
15613                 stringify!(PLDHashTable),
15614                 "::",
15615                 stringify!(mEntryStore)
15616             )
15617         );
15618         assert_eq!(
15619             unsafe { &(*(::std::ptr::null::<PLDHashTable>())).mGeneration as *const _ as usize },
15620             16usize,
15621             concat!(
15622                 "Offset of field: ",
15623                 stringify!(PLDHashTable),
15624                 "::",
15625                 stringify!(mGeneration)
15626             )
15627         );
15628         assert_eq!(
15629             unsafe { &(*(::std::ptr::null::<PLDHashTable>())).mHashShift as *const _ as usize },
15630             18usize,
15631             concat!(
15632                 "Offset of field: ",
15633                 stringify!(PLDHashTable),
15634                 "::",
15635                 stringify!(mHashShift)
15636             )
15637         );
15638         assert_eq!(
15639             unsafe { &(*(::std::ptr::null::<PLDHashTable>())).mEntrySize as *const _ as usize },
15640             19usize,
15641             concat!(
15642                 "Offset of field: ",
15643                 stringify!(PLDHashTable),
15644                 "::",
15645                 stringify!(mEntrySize)
15646             )
15647         );
15648         assert_eq!(
15649             unsafe { &(*(::std::ptr::null::<PLDHashTable>())).mEntryCount as *const _ as usize },
15650             20usize,
15651             concat!(
15652                 "Offset of field: ",
15653                 stringify!(PLDHashTable),
15654                 "::",
15655                 stringify!(mEntryCount)
15656             )
15657         );
15658         assert_eq!(
15659             unsafe { &(*(::std::ptr::null::<PLDHashTable>())).mRemovedCount as *const _ as usize },
15660             24usize,
15661             concat!(
15662                 "Offset of field: ",
15663                 stringify!(PLDHashTable),
15664                 "::",
15665                 stringify!(mRemovedCount)
15666             )
15667         );
15668     }
15669     pub type PLDHashHashKey = ::std::option::Option<
15670         unsafe extern "C" fn(aKey: *const ::std::os::raw::c_void) -> root::PLDHashNumber,
15671     >;
15672     pub type PLDHashMatchEntry = ::std::option::Option<
15673         unsafe extern "C" fn(
15674             aEntry: *const root::PLDHashEntryHdr,
15675             aKey: *const ::std::os::raw::c_void,
15676         ) -> bool,
15677     >;
15678     pub type PLDHashMoveEntry = ::std::option::Option<
15679         unsafe extern "C" fn(
15680             aTable: *mut root::PLDHashTable,
15681             aFrom: *const root::PLDHashEntryHdr,
15682             aTo: *mut root::PLDHashEntryHdr,
15683         ),
15684     >;
15685     pub type PLDHashClearEntry = ::std::option::Option<
15686         unsafe extern "C" fn(aTable: *mut root::PLDHashTable, aEntry: *mut root::PLDHashEntryHdr),
15687     >;
15688     pub type PLDHashInitEntry = ::std::option::Option<
15689         unsafe extern "C" fn(
15690             aEntry: *mut root::PLDHashEntryHdr,
15691             aKey: *const ::std::os::raw::c_void,
15692         ),
15693     >;
15694     #[repr(C)]
15695     #[derive(Debug, Copy)]
15696     pub struct PLDHashTableOps {
15697         pub hashKey: root::PLDHashHashKey,
15698         pub matchEntry: root::PLDHashMatchEntry,
15699         pub moveEntry: root::PLDHashMoveEntry,
15700         pub clearEntry: root::PLDHashClearEntry,
15701         pub initEntry: root::PLDHashInitEntry,
15702     }
15703     #[test]
bindgen_test_layout_PLDHashTableOps()15704     fn bindgen_test_layout_PLDHashTableOps() {
15705         assert_eq!(
15706             ::std::mem::size_of::<PLDHashTableOps>(),
15707             40usize,
15708             concat!("Size of: ", stringify!(PLDHashTableOps))
15709         );
15710         assert_eq!(
15711             ::std::mem::align_of::<PLDHashTableOps>(),
15712             8usize,
15713             concat!("Alignment of ", stringify!(PLDHashTableOps))
15714         );
15715         assert_eq!(
15716             unsafe { &(*(::std::ptr::null::<PLDHashTableOps>())).hashKey as *const _ as usize },
15717             0usize,
15718             concat!(
15719                 "Offset of field: ",
15720                 stringify!(PLDHashTableOps),
15721                 "::",
15722                 stringify!(hashKey)
15723             )
15724         );
15725         assert_eq!(
15726             unsafe { &(*(::std::ptr::null::<PLDHashTableOps>())).matchEntry as *const _ as usize },
15727             8usize,
15728             concat!(
15729                 "Offset of field: ",
15730                 stringify!(PLDHashTableOps),
15731                 "::",
15732                 stringify!(matchEntry)
15733             )
15734         );
15735         assert_eq!(
15736             unsafe { &(*(::std::ptr::null::<PLDHashTableOps>())).moveEntry as *const _ as usize },
15737             16usize,
15738             concat!(
15739                 "Offset of field: ",
15740                 stringify!(PLDHashTableOps),
15741                 "::",
15742                 stringify!(moveEntry)
15743             )
15744         );
15745         assert_eq!(
15746             unsafe { &(*(::std::ptr::null::<PLDHashTableOps>())).clearEntry as *const _ as usize },
15747             24usize,
15748             concat!(
15749                 "Offset of field: ",
15750                 stringify!(PLDHashTableOps),
15751                 "::",
15752                 stringify!(clearEntry)
15753             )
15754         );
15755         assert_eq!(
15756             unsafe { &(*(::std::ptr::null::<PLDHashTableOps>())).initEntry as *const _ as usize },
15757             32usize,
15758             concat!(
15759                 "Offset of field: ",
15760                 stringify!(PLDHashTableOps),
15761                 "::",
15762                 stringify!(initEntry)
15763             )
15764         );
15765     }
15766     impl Clone for PLDHashTableOps {
clone(&self) -> Self15767         fn clone(&self) -> Self {
15768             *self
15769         }
15770     }
15771     /// hashkey wrapper using T* KeyType
15772     ///
15773     /// @see nsTHashtable::EntryType for specification
15774     #[repr(C)]
15775     #[derive(Debug)]
15776     pub struct nsPtrHashKey<T> {
15777         pub _base: root::PLDHashEntryHdr,
15778         pub mKey: *mut T,
15779         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
15780     }
15781     pub type nsPtrHashKey_KeyType<T> = *mut T;
15782     pub type nsPtrHashKey_KeyTypePointer<T> = *mut T;
15783     pub const nsPtrHashKey_ALLOW_MEMMOVE: root::nsPtrHashKey__bindgen_ty_1 = 0;
15784     pub type nsPtrHashKey__bindgen_ty_1 = i32;
15785     /// hashkey wrapper using nsAString KeyType
15786     ///
15787     /// @see nsTHashtable::EntryType for specification
15788     #[repr(C)]
15789     pub struct nsStringHashKey {
15790         pub _base: root::PLDHashEntryHdr,
15791         pub mStr: ::nsstring::nsStringRepr,
15792     }
15793     pub type nsStringHashKey_KeyType = *const root::nsAString;
15794     pub type nsStringHashKey_KeyTypePointer = *const root::nsAString;
15795     pub const nsStringHashKey_ALLOW_MEMMOVE: root::nsStringHashKey__bindgen_ty_1 = 1;
15796     pub type nsStringHashKey__bindgen_ty_1 = u32;
15797     #[test]
bindgen_test_layout_nsStringHashKey()15798     fn bindgen_test_layout_nsStringHashKey() {
15799         assert_eq!(
15800             ::std::mem::size_of::<nsStringHashKey>(),
15801             24usize,
15802             concat!("Size of: ", stringify!(nsStringHashKey))
15803         );
15804         assert_eq!(
15805             ::std::mem::align_of::<nsStringHashKey>(),
15806             8usize,
15807             concat!("Alignment of ", stringify!(nsStringHashKey))
15808         );
15809         assert_eq!(
15810             unsafe { &(*(::std::ptr::null::<nsStringHashKey>())).mStr as *const _ as usize },
15811             8usize,
15812             concat!(
15813                 "Offset of field: ",
15814                 stringify!(nsStringHashKey),
15815                 "::",
15816                 stringify!(mStr)
15817             )
15818         );
15819     }
15820     /// hashkey wrapper using nsACString KeyType
15821     ///
15822     /// @see nsTHashtable::EntryType for specification
15823     #[repr(C)]
15824     #[derive(Debug)]
15825     pub struct nsCStringHashKey {
15826         pub _base: root::PLDHashEntryHdr,
15827         pub mStr: root::nsCString,
15828     }
15829     pub type nsCStringHashKey_KeyType = *const root::nsACString;
15830     pub type nsCStringHashKey_KeyTypePointer = *const root::nsACString;
15831     pub const nsCStringHashKey_ALLOW_MEMMOVE: root::nsCStringHashKey__bindgen_ty_1 = 1;
15832     pub type nsCStringHashKey__bindgen_ty_1 = u32;
15833     #[test]
bindgen_test_layout_nsCStringHashKey()15834     fn bindgen_test_layout_nsCStringHashKey() {
15835         assert_eq!(
15836             ::std::mem::size_of::<nsCStringHashKey>(),
15837             24usize,
15838             concat!("Size of: ", stringify!(nsCStringHashKey))
15839         );
15840         assert_eq!(
15841             ::std::mem::align_of::<nsCStringHashKey>(),
15842             8usize,
15843             concat!("Alignment of ", stringify!(nsCStringHashKey))
15844         );
15845         assert_eq!(
15846             unsafe { &(*(::std::ptr::null::<nsCStringHashKey>())).mStr as *const _ as usize },
15847             8usize,
15848             concat!(
15849                 "Offset of field: ",
15850                 stringify!(nsCStringHashKey),
15851                 "::",
15852                 stringify!(mStr)
15853             )
15854         );
15855     }
15856     /// hashkey wrapper using nsISupports* KeyType
15857     ///
15858     /// @see nsTHashtable::EntryType for specification
15859     #[repr(C)]
15860     #[derive(Debug)]
15861     pub struct nsISupportsHashKey {
15862         pub _base: root::PLDHashEntryHdr,
15863         pub mSupports: root::nsCOMPtr,
15864     }
15865     pub type nsISupportsHashKey_KeyType = *mut root::nsISupports;
15866     pub type nsISupportsHashKey_KeyTypePointer = *const root::nsISupports;
15867     pub const nsISupportsHashKey_ALLOW_MEMMOVE: root::nsISupportsHashKey__bindgen_ty_1 = 1;
15868     pub type nsISupportsHashKey__bindgen_ty_1 = u32;
15869     #[test]
bindgen_test_layout_nsISupportsHashKey()15870     fn bindgen_test_layout_nsISupportsHashKey() {
15871         assert_eq!(
15872             ::std::mem::size_of::<nsISupportsHashKey>(),
15873             16usize,
15874             concat!("Size of: ", stringify!(nsISupportsHashKey))
15875         );
15876         assert_eq!(
15877             ::std::mem::align_of::<nsISupportsHashKey>(),
15878             8usize,
15879             concat!("Alignment of ", stringify!(nsISupportsHashKey))
15880         );
15881         assert_eq!(
15882             unsafe {
15883                 &(*(::std::ptr::null::<nsISupportsHashKey>())).mSupports as *const _ as usize
15884             },
15885             8usize,
15886             concat!(
15887                 "Offset of field: ",
15888                 stringify!(nsISupportsHashKey),
15889                 "::",
15890                 stringify!(mSupports)
15891             )
15892         );
15893     }
15894     /// hashkey wrapper using refcounted * KeyType
15895     ///
15896     /// @see nsTHashtable::EntryType for specification
15897     #[repr(C)]
15898     #[derive(Debug)]
15899     pub struct nsRefPtrHashKey<T> {
15900         pub _base: root::PLDHashEntryHdr,
15901         pub mKey: root::RefPtr<T>,
15902         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
15903     }
15904     pub type nsRefPtrHashKey_KeyType<T> = *mut T;
15905     pub type nsRefPtrHashKey_KeyTypePointer<T> = *mut T;
15906     pub const nsRefPtrHashKey_ALLOW_MEMMOVE: root::nsRefPtrHashKey__bindgen_ty_1 = 0;
15907     pub type nsRefPtrHashKey__bindgen_ty_1 = i32;
15908     /// a base class for templated hashtables.
15909     ///
15910     /// Clients will rarely need to use this class directly. Check the derived
15911     /// classes first, to see if they will meet your needs.
15912     ///
15913     /// @param EntryType  the templated entry-type class that is managed by the
15914     /// hashtable. <code>EntryType</code> must extend the following declaration,
15915     /// and <strong>must not declare any virtual functions or derive from classes
15916     /// with virtual functions.</strong>  Any vtable pointer would break the
15917     /// PLDHashTable code.
15918     /// <pre>   class EntryType : public PLDHashEntryHdr
15919     /// {
15920     /// public: or friend nsTHashtable<EntryType>;
15921     /// // KeyType is what we use when Get()ing or Put()ing this entry
15922     /// // this should either be a simple datatype (uint32_t, nsISupports*) or
15923     /// // a const reference (const nsAString&)
15924     /// typedef something KeyType;
15925     /// // KeyTypePointer is the pointer-version of KeyType, because
15926     /// // PLDHashTable.h requires keys to cast to <code>const void*</code>
15927     /// typedef const something* KeyTypePointer;
15928     ///
15929     /// EntryType(KeyTypePointer aKey);
15930     ///
15931     /// // A copy or C++11 Move constructor must be defined, even if
15932     /// // AllowMemMove() == true, otherwise you will cause link errors.
15933     /// EntryType(const EntryType& aEnt);  // Either this...
15934     /// EntryType(EntryType&& aEnt);       // ...or this
15935     ///
15936     /// // the destructor must be defined... or you will cause link errors!
15937     /// ~EntryType();
15938     ///
15939     /// // KeyEquals(): does this entry match this key?
15940     /// bool KeyEquals(KeyTypePointer aKey) const;
15941     ///
15942     /// // KeyToPointer(): Convert KeyType to KeyTypePointer
15943     /// static KeyTypePointer KeyToPointer(KeyType aKey);
15944     ///
15945     /// // HashKey(): calculate the hash number
15946     /// static PLDHashNumber HashKey(KeyTypePointer aKey);
15947     ///
15948     /// // ALLOW_MEMMOVE can we move this class with memmove(), or do we have
15949     /// // to use the copy constructor?
15950     /// enum { ALLOW_MEMMOVE = true/false };
15951     /// }</pre>
15952     ///
15953     /// @see nsInterfaceHashtable
15954     /// @see nsDataHashtable
15955     /// @see nsClassHashtable
15956     /// @author "Benjamin Smedberg <bsmedberg@covad.net>"
15957     #[repr(C)]
15958     #[derive(Debug, Copy, Clone)]
15959     pub struct nsTHashtable {
15960         pub _address: u8,
15961     }
15962     pub type nsTHashtable_fallible_t = root::mozilla::fallible_t;
15963     /// KeyType is typedef'ed for ease of use.
15964     pub type nsTHashtable_KeyType = [u8; 0usize];
15965     /// KeyTypePointer is typedef'ed for ease of use.
15966     pub type nsTHashtable_KeyTypePointer = [u8; 0usize];
15967     #[repr(C)]
15968     #[derive(Debug)]
15969     pub struct nsTHashtable_Iterator {
15970         pub _base: root::PLDHashTable_Iterator,
15971     }
15972     pub type nsTHashtable_Iterator_Base = root::PLDHashTable_Iterator;
15973     /// the private nsTHashtable::EntryType class used by nsBaseHashtable
15974     /// @see nsTHashtable for the specification of this class
15975     /// @see nsBaseHashtable for template parameters
15976     #[repr(C)]
15977     #[derive(Debug)]
15978     pub struct nsBaseHashtableET<KeyClass, DataType> {
15979         pub _base: KeyClass,
15980         pub mData: DataType,
15981         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<KeyClass>>,
15982         pub _phantom_1: ::std::marker::PhantomData<::std::cell::UnsafeCell<DataType>>,
15983     }
15984     pub type nsBaseHashtableET_KeyType = [u8; 0usize];
15985     pub type nsBaseHashtableET_KeyTypePointer = [u8; 0usize];
15986     /// templated hashtable for simple data types
15987     /// This class manages simple data types that do not need construction or
15988     /// destruction.
15989     ///
15990     /// @param KeyClass a wrapper-class for the hashtable key, see nsHashKeys.h
15991     /// for a complete specification.
15992     /// @param DataType the datatype stored in the hashtable,
15993     /// for example, uint32_t or nsCOMPtr.  If UserDataType is not the same,
15994     /// DataType must implicitly cast to UserDataType
15995     /// @param UserDataType the user sees, for example uint32_t or nsISupports*
15996     #[repr(C)]
15997     #[derive(Debug, Copy, Clone)]
15998     pub struct nsBaseHashtable {
15999         pub _address: u8,
16000     }
16001     pub type nsBaseHashtable_fallible_t = root::mozilla::fallible_t;
16002     pub type nsBaseHashtable_KeyType = [u8; 0usize];
16003     pub type nsBaseHashtable_EntryType<KeyClass, DataType> =
16004         root::nsBaseHashtableET<KeyClass, DataType>;
16005     #[repr(C)]
16006     #[derive(Debug, Copy, Clone)]
16007     pub struct nsBaseHashtable_LookupResult<KeyClass, DataType> {
16008         pub mEntry: *mut root::nsBaseHashtable_EntryType<KeyClass, DataType>,
16009         pub mTable: *mut u8,
16010         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<KeyClass>>,
16011         pub _phantom_1: ::std::marker::PhantomData<::std::cell::UnsafeCell<DataType>>,
16012     }
16013     #[repr(C)]
16014     #[derive(Debug)]
16015     pub struct nsBaseHashtable_EntryPtr<KeyClass, DataType> {
16016         pub mEntry: *mut root::nsBaseHashtable_EntryType<KeyClass, DataType>,
16017         pub mExistingEntry: bool,
16018         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<KeyClass>>,
16019         pub _phantom_1: ::std::marker::PhantomData<::std::cell::UnsafeCell<DataType>>,
16020     }
16021     #[repr(C)]
16022     #[derive(Debug)]
16023     pub struct nsBaseHashtable_Iterator {
16024         pub _base: root::PLDHashTable_Iterator,
16025     }
16026     pub type nsBaseHashtable_Iterator_Base = root::PLDHashTable_Iterator;
16027     /// templated hashtable class maps keys to simple datatypes.
16028     /// See nsBaseHashtable for complete declaration
16029     /// @param KeyClass a wrapper-class for the hashtable key, see nsHashKeys.h
16030     /// for a complete specification.
16031     /// @param DataType the simple datatype being wrapped
16032     /// @see nsInterfaceHashtable, nsClassHashtable
16033     #[repr(C)]
16034     #[derive(Debug, Copy, Clone)]
16035     pub struct nsDataHashtable {
16036         pub _address: u8,
16037     }
16038     pub type nsDataHashtable_BaseClass = u8;
16039     #[repr(C)]
16040     #[derive(Debug, Copy)]
16041     pub struct nsTArrayHeader {
16042         pub mLength: u32,
16043         pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 4usize], u32>,
16044     }
16045     extern "C" {
16046         #[link_name = "\u{1}_ZN14nsTArrayHeader9sEmptyHdrE"]
16047         pub static mut nsTArrayHeader_sEmptyHdr: root::nsTArrayHeader;
16048     }
16049     #[test]
bindgen_test_layout_nsTArrayHeader()16050     fn bindgen_test_layout_nsTArrayHeader() {
16051         assert_eq!(
16052             ::std::mem::size_of::<nsTArrayHeader>(),
16053             8usize,
16054             concat!("Size of: ", stringify!(nsTArrayHeader))
16055         );
16056         assert_eq!(
16057             ::std::mem::align_of::<nsTArrayHeader>(),
16058             4usize,
16059             concat!("Alignment of ", stringify!(nsTArrayHeader))
16060         );
16061         assert_eq!(
16062             unsafe { &(*(::std::ptr::null::<nsTArrayHeader>())).mLength as *const _ as usize },
16063             0usize,
16064             concat!(
16065                 "Offset of field: ",
16066                 stringify!(nsTArrayHeader),
16067                 "::",
16068                 stringify!(mLength)
16069             )
16070         );
16071     }
16072     impl Clone for nsTArrayHeader {
clone(&self) -> Self16073         fn clone(&self) -> Self {
16074             *self
16075         }
16076     }
16077     impl nsTArrayHeader {
16078         #[inline]
mCapacity(&self) -> u3216079         pub fn mCapacity(&self) -> u32 {
16080             unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 31u8) as u32) }
16081         }
16082         #[inline]
set_mCapacity(&mut self, val: u32)16083         pub fn set_mCapacity(&mut self, val: u32) {
16084             unsafe {
16085                 let val: u32 = ::std::mem::transmute(val);
16086                 self._bitfield_1.set(0usize, 31u8, val as u64)
16087             }
16088         }
16089         #[inline]
mIsAutoArray(&self) -> u3216090         pub fn mIsAutoArray(&self) -> u32 {
16091             unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
16092         }
16093         #[inline]
set_mIsAutoArray(&mut self, val: u32)16094         pub fn set_mIsAutoArray(&mut self, val: u32) {
16095             unsafe {
16096                 let val: u32 = ::std::mem::transmute(val);
16097                 self._bitfield_1.set(31usize, 1u8, val as u64)
16098             }
16099         }
16100         #[inline]
new_bitfield_1( mCapacity: u32, mIsAutoArray: u32, ) -> root::__BindgenBitfieldUnit<[u8; 4usize], u32>16101         pub fn new_bitfield_1(
16102             mCapacity: u32,
16103             mIsAutoArray: u32,
16104         ) -> root::__BindgenBitfieldUnit<[u8; 4usize], u32> {
16105             let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
16106                 [u8; 4usize],
16107                 u32,
16108             > = Default::default();
16109             __bindgen_bitfield_unit.set(0usize, 31u8, {
16110                 let mCapacity: u32 = unsafe { ::std::mem::transmute(mCapacity) };
16111                 mCapacity as u64
16112             });
16113             __bindgen_bitfield_unit.set(31usize, 1u8, {
16114                 let mIsAutoArray: u32 = unsafe { ::std::mem::transmute(mIsAutoArray) };
16115                 mIsAutoArray as u64
16116             });
16117             __bindgen_bitfield_unit
16118         }
16119     }
16120     pub type AutoTArray_self_type = u8;
16121     pub type AutoTArray_base_type<E> = root::nsTArray<E>;
16122     pub type AutoTArray_Header<E> = root::AutoTArray_base_type<E>;
16123     pub type AutoTArray_elem_type<E> = root::AutoTArray_base_type<E>;
16124     #[repr(C)]
16125     #[derive(Debug, Copy, Clone)]
16126     pub struct AutoTArray__bindgen_ty_1 {
16127         pub mAutoBuf: root::__BindgenUnionField<*mut ::std::os::raw::c_char>,
16128         pub mAlign: root::__BindgenUnionField<u8>,
16129         pub bindgen_union_field: u64,
16130     }
16131     pub type nscoord = i32;
16132     pub type nscolor = u32;
16133     #[repr(C)]
16134     #[derive(Debug, Copy)]
16135     pub struct gfxFontFeature {
16136         pub mTag: u32,
16137         pub mValue: u32,
16138     }
16139     #[test]
bindgen_test_layout_gfxFontFeature()16140     fn bindgen_test_layout_gfxFontFeature() {
16141         assert_eq!(
16142             ::std::mem::size_of::<gfxFontFeature>(),
16143             8usize,
16144             concat!("Size of: ", stringify!(gfxFontFeature))
16145         );
16146         assert_eq!(
16147             ::std::mem::align_of::<gfxFontFeature>(),
16148             4usize,
16149             concat!("Alignment of ", stringify!(gfxFontFeature))
16150         );
16151         assert_eq!(
16152             unsafe { &(*(::std::ptr::null::<gfxFontFeature>())).mTag as *const _ as usize },
16153             0usize,
16154             concat!(
16155                 "Offset of field: ",
16156                 stringify!(gfxFontFeature),
16157                 "::",
16158                 stringify!(mTag)
16159             )
16160         );
16161         assert_eq!(
16162             unsafe { &(*(::std::ptr::null::<gfxFontFeature>())).mValue as *const _ as usize },
16163             4usize,
16164             concat!(
16165                 "Offset of field: ",
16166                 stringify!(gfxFontFeature),
16167                 "::",
16168                 stringify!(mValue)
16169             )
16170         );
16171     }
16172     impl Clone for gfxFontFeature {
clone(&self) -> Self16173         fn clone(&self) -> Self {
16174             *self
16175         }
16176     }
16177     #[repr(C)]
16178     pub struct gfxAlternateValue {
16179         pub alternate: u32,
16180         pub value: ::nsstring::nsStringRepr,
16181     }
16182     #[test]
bindgen_test_layout_gfxAlternateValue()16183     fn bindgen_test_layout_gfxAlternateValue() {
16184         assert_eq!(
16185             ::std::mem::size_of::<gfxAlternateValue>(),
16186             24usize,
16187             concat!("Size of: ", stringify!(gfxAlternateValue))
16188         );
16189         assert_eq!(
16190             ::std::mem::align_of::<gfxAlternateValue>(),
16191             8usize,
16192             concat!("Alignment of ", stringify!(gfxAlternateValue))
16193         );
16194         assert_eq!(
16195             unsafe { &(*(::std::ptr::null::<gfxAlternateValue>())).alternate as *const _ as usize },
16196             0usize,
16197             concat!(
16198                 "Offset of field: ",
16199                 stringify!(gfxAlternateValue),
16200                 "::",
16201                 stringify!(alternate)
16202             )
16203         );
16204         assert_eq!(
16205             unsafe { &(*(::std::ptr::null::<gfxAlternateValue>())).value as *const _ as usize },
16206             8usize,
16207             concat!(
16208                 "Offset of field: ",
16209                 stringify!(gfxAlternateValue),
16210                 "::",
16211                 stringify!(value)
16212             )
16213         );
16214     }
16215     #[repr(C)]
16216     #[derive(Debug)]
16217     pub struct gfxFontFeatureValueSet {
16218         pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
16219         pub mFontFeatureValues: [u64; 4usize],
16220     }
16221     pub type gfxFontFeatureValueSet_HasThreadSafeRefCnt = root::mozilla::TrueType;
16222     #[repr(C)]
16223     pub struct gfxFontFeatureValueSet_ValueList {
16224         pub name: ::nsstring::nsStringRepr,
16225         pub featureSelectors: root::nsTArray<u32>,
16226     }
16227     #[test]
bindgen_test_layout_gfxFontFeatureValueSet_ValueList()16228     fn bindgen_test_layout_gfxFontFeatureValueSet_ValueList() {
16229         assert_eq!(
16230             ::std::mem::size_of::<gfxFontFeatureValueSet_ValueList>(),
16231             24usize,
16232             concat!("Size of: ", stringify!(gfxFontFeatureValueSet_ValueList))
16233         );
16234         assert_eq!(
16235             ::std::mem::align_of::<gfxFontFeatureValueSet_ValueList>(),
16236             8usize,
16237             concat!(
16238                 "Alignment of ",
16239                 stringify!(gfxFontFeatureValueSet_ValueList)
16240             )
16241         );
16242         assert_eq!(
16243             unsafe {
16244                 &(*(::std::ptr::null::<gfxFontFeatureValueSet_ValueList>())).name as *const _
16245                     as usize
16246             },
16247             0usize,
16248             concat!(
16249                 "Offset of field: ",
16250                 stringify!(gfxFontFeatureValueSet_ValueList),
16251                 "::",
16252                 stringify!(name)
16253             )
16254         );
16255         assert_eq!(
16256             unsafe {
16257                 &(*(::std::ptr::null::<gfxFontFeatureValueSet_ValueList>())).featureSelectors
16258                     as *const _ as usize
16259             },
16260             16usize,
16261             concat!(
16262                 "Offset of field: ",
16263                 stringify!(gfxFontFeatureValueSet_ValueList),
16264                 "::",
16265                 stringify!(featureSelectors)
16266             )
16267         );
16268     }
16269     #[repr(C)]
16270     pub struct gfxFontFeatureValueSet_FeatureValues {
16271         pub alternate: u32,
16272         pub valuelist: root::nsTArray<root::gfxFontFeatureValueSet_ValueList>,
16273     }
16274     #[test]
bindgen_test_layout_gfxFontFeatureValueSet_FeatureValues()16275     fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValues() {
16276         assert_eq!(
16277             ::std::mem::size_of::<gfxFontFeatureValueSet_FeatureValues>(),
16278             16usize,
16279             concat!(
16280                 "Size of: ",
16281                 stringify!(gfxFontFeatureValueSet_FeatureValues)
16282             )
16283         );
16284         assert_eq!(
16285             ::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValues>(),
16286             8usize,
16287             concat!(
16288                 "Alignment of ",
16289                 stringify!(gfxFontFeatureValueSet_FeatureValues)
16290             )
16291         );
16292         assert_eq!(
16293             unsafe {
16294                 &(*(::std::ptr::null::<gfxFontFeatureValueSet_FeatureValues>())).alternate
16295                     as *const _ as usize
16296             },
16297             0usize,
16298             concat!(
16299                 "Offset of field: ",
16300                 stringify!(gfxFontFeatureValueSet_FeatureValues),
16301                 "::",
16302                 stringify!(alternate)
16303             )
16304         );
16305         assert_eq!(
16306             unsafe {
16307                 &(*(::std::ptr::null::<gfxFontFeatureValueSet_FeatureValues>())).valuelist
16308                     as *const _ as usize
16309             },
16310             8usize,
16311             concat!(
16312                 "Offset of field: ",
16313                 stringify!(gfxFontFeatureValueSet_FeatureValues),
16314                 "::",
16315                 stringify!(valuelist)
16316             )
16317         );
16318     }
16319     #[repr(C)]
16320     pub struct gfxFontFeatureValueSet_FeatureValueHashKey {
16321         pub mFamily: ::nsstring::nsStringRepr,
16322         pub mPropVal: u32,
16323         pub mName: ::nsstring::nsStringRepr,
16324     }
16325     #[test]
bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashKey()16326     fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashKey() {
16327         assert_eq!(
16328             ::std::mem::size_of::<gfxFontFeatureValueSet_FeatureValueHashKey>(),
16329             40usize,
16330             concat!(
16331                 "Size of: ",
16332                 stringify!(gfxFontFeatureValueSet_FeatureValueHashKey)
16333             )
16334         );
16335         assert_eq!(
16336             ::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashKey>(),
16337             8usize,
16338             concat!(
16339                 "Alignment of ",
16340                 stringify!(gfxFontFeatureValueSet_FeatureValueHashKey)
16341             )
16342         );
16343         assert_eq!(
16344             unsafe {
16345                 &(*(::std::ptr::null::<gfxFontFeatureValueSet_FeatureValueHashKey>())).mFamily
16346                     as *const _ as usize
16347             },
16348             0usize,
16349             concat!(
16350                 "Offset of field: ",
16351                 stringify!(gfxFontFeatureValueSet_FeatureValueHashKey),
16352                 "::",
16353                 stringify!(mFamily)
16354             )
16355         );
16356         assert_eq!(
16357             unsafe {
16358                 &(*(::std::ptr::null::<gfxFontFeatureValueSet_FeatureValueHashKey>())).mPropVal
16359                     as *const _ as usize
16360             },
16361             16usize,
16362             concat!(
16363                 "Offset of field: ",
16364                 stringify!(gfxFontFeatureValueSet_FeatureValueHashKey),
16365                 "::",
16366                 stringify!(mPropVal)
16367             )
16368         );
16369         assert_eq!(
16370             unsafe {
16371                 &(*(::std::ptr::null::<gfxFontFeatureValueSet_FeatureValueHashKey>())).mName
16372                     as *const _ as usize
16373             },
16374             24usize,
16375             concat!(
16376                 "Offset of field: ",
16377                 stringify!(gfxFontFeatureValueSet_FeatureValueHashKey),
16378                 "::",
16379                 stringify!(mName)
16380             )
16381         );
16382     }
16383     #[repr(C)]
16384     pub struct gfxFontFeatureValueSet_FeatureValueHashEntry {
16385         pub _base: root::PLDHashEntryHdr,
16386         pub mKey: root::gfxFontFeatureValueSet_FeatureValueHashKey,
16387         pub mValues: root::nsTArray<u32>,
16388     }
16389     pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyType =
16390         *const root::gfxFontFeatureValueSet_FeatureValueHashKey;
16391     pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyTypePointer =
16392         *const root::gfxFontFeatureValueSet_FeatureValueHashKey;
16393     pub const gfxFontFeatureValueSet_FeatureValueHashEntry_ALLOW_MEMMOVE:
16394         root::gfxFontFeatureValueSet_FeatureValueHashEntry__bindgen_ty_1 = 1;
16395     pub type gfxFontFeatureValueSet_FeatureValueHashEntry__bindgen_ty_1 = u32;
16396     #[test]
bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashEntry()16397     fn bindgen_test_layout_gfxFontFeatureValueSet_FeatureValueHashEntry() {
16398         assert_eq!(
16399             ::std::mem::size_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>(),
16400             56usize,
16401             concat!(
16402                 "Size of: ",
16403                 stringify!(gfxFontFeatureValueSet_FeatureValueHashEntry)
16404             )
16405         );
16406         assert_eq!(
16407             ::std::mem::align_of::<gfxFontFeatureValueSet_FeatureValueHashEntry>(),
16408             8usize,
16409             concat!(
16410                 "Alignment of ",
16411                 stringify!(gfxFontFeatureValueSet_FeatureValueHashEntry)
16412             )
16413         );
16414         assert_eq!(
16415             unsafe {
16416                 &(*(::std::ptr::null::<gfxFontFeatureValueSet_FeatureValueHashEntry>())).mKey
16417                     as *const _ as usize
16418             },
16419             8usize,
16420             concat!(
16421                 "Offset of field: ",
16422                 stringify!(gfxFontFeatureValueSet_FeatureValueHashEntry),
16423                 "::",
16424                 stringify!(mKey)
16425             )
16426         );
16427         assert_eq!(
16428             unsafe {
16429                 &(*(::std::ptr::null::<gfxFontFeatureValueSet_FeatureValueHashEntry>())).mValues
16430                     as *const _ as usize
16431             },
16432             48usize,
16433             concat!(
16434                 "Offset of field: ",
16435                 stringify!(gfxFontFeatureValueSet_FeatureValueHashEntry),
16436                 "::",
16437                 stringify!(mValues)
16438             )
16439         );
16440     }
16441     #[test]
bindgen_test_layout_gfxFontFeatureValueSet()16442     fn bindgen_test_layout_gfxFontFeatureValueSet() {
16443         assert_eq!(
16444             ::std::mem::size_of::<gfxFontFeatureValueSet>(),
16445             40usize,
16446             concat!("Size of: ", stringify!(gfxFontFeatureValueSet))
16447         );
16448         assert_eq!(
16449             ::std::mem::align_of::<gfxFontFeatureValueSet>(),
16450             8usize,
16451             concat!("Alignment of ", stringify!(gfxFontFeatureValueSet))
16452         );
16453         assert_eq!(
16454             unsafe {
16455                 &(*(::std::ptr::null::<gfxFontFeatureValueSet>())).mRefCnt as *const _ as usize
16456             },
16457             0usize,
16458             concat!(
16459                 "Offset of field: ",
16460                 stringify!(gfxFontFeatureValueSet),
16461                 "::",
16462                 stringify!(mRefCnt)
16463             )
16464         );
16465         assert_eq!(
16466             unsafe {
16467                 &(*(::std::ptr::null::<gfxFontFeatureValueSet>())).mFontFeatureValues as *const _
16468                     as usize
16469             },
16470             8usize,
16471             concat!(
16472                 "Offset of field: ",
16473                 stringify!(gfxFontFeatureValueSet),
16474                 "::",
16475                 stringify!(mFontFeatureValues)
16476             )
16477         );
16478     }
16479     pub type gfxFontVariation = root::mozilla::gfx::FontVariation;
16480     pub const kGenericFont_NONE: u8 = 0;
16481     pub const kGenericFont_moz_variable: u8 = 0;
16482     pub const kGenericFont_moz_fixed: u8 = 1;
16483     pub const kGenericFont_serif: u8 = 2;
16484     pub const kGenericFont_sans_serif: u8 = 4;
16485     pub const kGenericFont_monospace: u8 = 8;
16486     pub const kGenericFont_cursive: u8 = 16;
16487     pub const kGenericFont_fantasy: u8 = 32;
16488     #[repr(C)]
16489     pub struct nsFont {
16490         pub fontlist: root::mozilla::FontFamilyList,
16491         pub style: u8,
16492         pub systemFont: bool,
16493         pub variantCaps: u8,
16494         pub variantNumeric: u8,
16495         pub variantPosition: u8,
16496         pub variantWidth: u8,
16497         pub variantLigatures: u16,
16498         pub variantEastAsian: u16,
16499         pub variantAlternates: u16,
16500         pub smoothing: u8,
16501         pub fontSmoothingBackgroundColor: root::nscolor,
16502         pub weight: u16,
16503         pub stretch: i16,
16504         pub kerning: u8,
16505         pub opticalSizing: u8,
16506         pub synthesis: u8,
16507         pub size: root::nscoord,
16508         pub sizeAdjust: f32,
16509         pub alternateValues: root::nsTArray<root::gfxAlternateValue>,
16510         pub featureValueLookup: root::RefPtr<root::gfxFontFeatureValueSet>,
16511         pub fontFeatureSettings: root::nsTArray<root::gfxFontFeature>,
16512         pub fontVariationSettings: root::nsTArray<root::gfxFontVariation>,
16513         pub languageOverride: u32,
16514     }
16515     pub const nsFont_MaxDifference_eNone: root::nsFont_MaxDifference = 0;
16516     pub const nsFont_MaxDifference_eVisual: root::nsFont_MaxDifference = 1;
16517     pub const nsFont_MaxDifference_eLayoutAffecting: root::nsFont_MaxDifference = 2;
16518     pub type nsFont_MaxDifference = u8;
16519     #[test]
bindgen_test_layout_nsFont()16520     fn bindgen_test_layout_nsFont() {
16521         assert_eq!(
16522             ::std::mem::size_of::<nsFont>(),
16523             96usize,
16524             concat!("Size of: ", stringify!(nsFont))
16525         );
16526         assert_eq!(
16527             ::std::mem::align_of::<nsFont>(),
16528             8usize,
16529             concat!("Alignment of ", stringify!(nsFont))
16530         );
16531         assert_eq!(
16532             unsafe { &(*(::std::ptr::null::<nsFont>())).fontlist as *const _ as usize },
16533             0usize,
16534             concat!(
16535                 "Offset of field: ",
16536                 stringify!(nsFont),
16537                 "::",
16538                 stringify!(fontlist)
16539             )
16540         );
16541         assert_eq!(
16542             unsafe { &(*(::std::ptr::null::<nsFont>())).style as *const _ as usize },
16543             16usize,
16544             concat!(
16545                 "Offset of field: ",
16546                 stringify!(nsFont),
16547                 "::",
16548                 stringify!(style)
16549             )
16550         );
16551         assert_eq!(
16552             unsafe { &(*(::std::ptr::null::<nsFont>())).systemFont as *const _ as usize },
16553             17usize,
16554             concat!(
16555                 "Offset of field: ",
16556                 stringify!(nsFont),
16557                 "::",
16558                 stringify!(systemFont)
16559             )
16560         );
16561         assert_eq!(
16562             unsafe { &(*(::std::ptr::null::<nsFont>())).variantCaps as *const _ as usize },
16563             18usize,
16564             concat!(
16565                 "Offset of field: ",
16566                 stringify!(nsFont),
16567                 "::",
16568                 stringify!(variantCaps)
16569             )
16570         );
16571         assert_eq!(
16572             unsafe { &(*(::std::ptr::null::<nsFont>())).variantNumeric as *const _ as usize },
16573             19usize,
16574             concat!(
16575                 "Offset of field: ",
16576                 stringify!(nsFont),
16577                 "::",
16578                 stringify!(variantNumeric)
16579             )
16580         );
16581         assert_eq!(
16582             unsafe { &(*(::std::ptr::null::<nsFont>())).variantPosition as *const _ as usize },
16583             20usize,
16584             concat!(
16585                 "Offset of field: ",
16586                 stringify!(nsFont),
16587                 "::",
16588                 stringify!(variantPosition)
16589             )
16590         );
16591         assert_eq!(
16592             unsafe { &(*(::std::ptr::null::<nsFont>())).variantWidth as *const _ as usize },
16593             21usize,
16594             concat!(
16595                 "Offset of field: ",
16596                 stringify!(nsFont),
16597                 "::",
16598                 stringify!(variantWidth)
16599             )
16600         );
16601         assert_eq!(
16602             unsafe { &(*(::std::ptr::null::<nsFont>())).variantLigatures as *const _ as usize },
16603             22usize,
16604             concat!(
16605                 "Offset of field: ",
16606                 stringify!(nsFont),
16607                 "::",
16608                 stringify!(variantLigatures)
16609             )
16610         );
16611         assert_eq!(
16612             unsafe { &(*(::std::ptr::null::<nsFont>())).variantEastAsian as *const _ as usize },
16613             24usize,
16614             concat!(
16615                 "Offset of field: ",
16616                 stringify!(nsFont),
16617                 "::",
16618                 stringify!(variantEastAsian)
16619             )
16620         );
16621         assert_eq!(
16622             unsafe { &(*(::std::ptr::null::<nsFont>())).variantAlternates as *const _ as usize },
16623             26usize,
16624             concat!(
16625                 "Offset of field: ",
16626                 stringify!(nsFont),
16627                 "::",
16628                 stringify!(variantAlternates)
16629             )
16630         );
16631         assert_eq!(
16632             unsafe { &(*(::std::ptr::null::<nsFont>())).smoothing as *const _ as usize },
16633             28usize,
16634             concat!(
16635                 "Offset of field: ",
16636                 stringify!(nsFont),
16637                 "::",
16638                 stringify!(smoothing)
16639             )
16640         );
16641         assert_eq!(
16642             unsafe {
16643                 &(*(::std::ptr::null::<nsFont>())).fontSmoothingBackgroundColor as *const _ as usize
16644             },
16645             32usize,
16646             concat!(
16647                 "Offset of field: ",
16648                 stringify!(nsFont),
16649                 "::",
16650                 stringify!(fontSmoothingBackgroundColor)
16651             )
16652         );
16653         assert_eq!(
16654             unsafe { &(*(::std::ptr::null::<nsFont>())).weight as *const _ as usize },
16655             36usize,
16656             concat!(
16657                 "Offset of field: ",
16658                 stringify!(nsFont),
16659                 "::",
16660                 stringify!(weight)
16661             )
16662         );
16663         assert_eq!(
16664             unsafe { &(*(::std::ptr::null::<nsFont>())).stretch as *const _ as usize },
16665             38usize,
16666             concat!(
16667                 "Offset of field: ",
16668                 stringify!(nsFont),
16669                 "::",
16670                 stringify!(stretch)
16671             )
16672         );
16673         assert_eq!(
16674             unsafe { &(*(::std::ptr::null::<nsFont>())).kerning as *const _ as usize },
16675             40usize,
16676             concat!(
16677                 "Offset of field: ",
16678                 stringify!(nsFont),
16679                 "::",
16680                 stringify!(kerning)
16681             )
16682         );
16683         assert_eq!(
16684             unsafe { &(*(::std::ptr::null::<nsFont>())).opticalSizing as *const _ as usize },
16685             41usize,
16686             concat!(
16687                 "Offset of field: ",
16688                 stringify!(nsFont),
16689                 "::",
16690                 stringify!(opticalSizing)
16691             )
16692         );
16693         assert_eq!(
16694             unsafe { &(*(::std::ptr::null::<nsFont>())).synthesis as *const _ as usize },
16695             42usize,
16696             concat!(
16697                 "Offset of field: ",
16698                 stringify!(nsFont),
16699                 "::",
16700                 stringify!(synthesis)
16701             )
16702         );
16703         assert_eq!(
16704             unsafe { &(*(::std::ptr::null::<nsFont>())).size as *const _ as usize },
16705             44usize,
16706             concat!(
16707                 "Offset of field: ",
16708                 stringify!(nsFont),
16709                 "::",
16710                 stringify!(size)
16711             )
16712         );
16713         assert_eq!(
16714             unsafe { &(*(::std::ptr::null::<nsFont>())).sizeAdjust as *const _ as usize },
16715             48usize,
16716             concat!(
16717                 "Offset of field: ",
16718                 stringify!(nsFont),
16719                 "::",
16720                 stringify!(sizeAdjust)
16721             )
16722         );
16723         assert_eq!(
16724             unsafe { &(*(::std::ptr::null::<nsFont>())).alternateValues as *const _ as usize },
16725             56usize,
16726             concat!(
16727                 "Offset of field: ",
16728                 stringify!(nsFont),
16729                 "::",
16730                 stringify!(alternateValues)
16731             )
16732         );
16733         assert_eq!(
16734             unsafe { &(*(::std::ptr::null::<nsFont>())).featureValueLookup as *const _ as usize },
16735             64usize,
16736             concat!(
16737                 "Offset of field: ",
16738                 stringify!(nsFont),
16739                 "::",
16740                 stringify!(featureValueLookup)
16741             )
16742         );
16743         assert_eq!(
16744             unsafe { &(*(::std::ptr::null::<nsFont>())).fontFeatureSettings as *const _ as usize },
16745             72usize,
16746             concat!(
16747                 "Offset of field: ",
16748                 stringify!(nsFont),
16749                 "::",
16750                 stringify!(fontFeatureSettings)
16751             )
16752         );
16753         assert_eq!(
16754             unsafe {
16755                 &(*(::std::ptr::null::<nsFont>())).fontVariationSettings as *const _ as usize
16756             },
16757             80usize,
16758             concat!(
16759                 "Offset of field: ",
16760                 stringify!(nsFont),
16761                 "::",
16762                 stringify!(fontVariationSettings)
16763             )
16764         );
16765         assert_eq!(
16766             unsafe { &(*(::std::ptr::null::<nsFont>())).languageOverride as *const _ as usize },
16767             88usize,
16768             concat!(
16769                 "Offset of field: ",
16770                 stringify!(nsFont),
16771                 "::",
16772                 stringify!(languageOverride)
16773             )
16774         );
16775     }
16776     /// An array of objects, similar to AutoTArray<T,1> but which is memmovable. It
16777     /// always has length >= 1.
16778     #[repr(C)]
16779     #[derive(Debug)]
16780     pub struct nsStyleAutoArray<T> {
16781         pub mFirstElement: T,
16782         pub mOtherElements: root::nsTArray<T>,
16783         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
16784     }
16785     pub const nsStyleAutoArray_WithSingleInitialElement_WITH_SINGLE_INITIAL_ELEMENT:
16786         root::nsStyleAutoArray_WithSingleInitialElement = 0;
16787     pub type nsStyleAutoArray_WithSingleInitialElement = i32;
16788     pub const nsStyleUnit_eStyleUnit_MAX: root::nsStyleUnit = nsStyleUnit::eStyleUnit_Calc;
16789     #[repr(u8)]
16790     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
16791     pub enum nsStyleUnit {
16792         eStyleUnit_Null = 0,
16793         eStyleUnit_Normal = 1,
16794         eStyleUnit_Auto = 2,
16795         eStyleUnit_None = 3,
16796         eStyleUnit_Percent = 10,
16797         eStyleUnit_Factor = 11,
16798         eStyleUnit_Degree = 12,
16799         eStyleUnit_Grad = 13,
16800         eStyleUnit_Radian = 14,
16801         eStyleUnit_Turn = 15,
16802         eStyleUnit_FlexFraction = 16,
16803         eStyleUnit_Coord = 20,
16804         eStyleUnit_Integer = 30,
16805         eStyleUnit_Enumerated = 32,
16806         eStyleUnit_Calc = 40,
16807     }
16808     #[repr(C)]
16809     #[derive(Debug, Copy)]
16810     pub struct nsStyleUnion {
16811         pub mInt: root::__BindgenUnionField<i32>,
16812         pub mFloat: root::__BindgenUnionField<f32>,
16813         pub mPointer: root::__BindgenUnionField<*mut ::std::os::raw::c_void>,
16814         pub bindgen_union_field: u64,
16815     }
16816     #[test]
bindgen_test_layout_nsStyleUnion()16817     fn bindgen_test_layout_nsStyleUnion() {
16818         assert_eq!(
16819             ::std::mem::size_of::<nsStyleUnion>(),
16820             8usize,
16821             concat!("Size of: ", stringify!(nsStyleUnion))
16822         );
16823         assert_eq!(
16824             ::std::mem::align_of::<nsStyleUnion>(),
16825             8usize,
16826             concat!("Alignment of ", stringify!(nsStyleUnion))
16827         );
16828         assert_eq!(
16829             unsafe { &(*(::std::ptr::null::<nsStyleUnion>())).mInt as *const _ as usize },
16830             0usize,
16831             concat!(
16832                 "Offset of field: ",
16833                 stringify!(nsStyleUnion),
16834                 "::",
16835                 stringify!(mInt)
16836             )
16837         );
16838         assert_eq!(
16839             unsafe { &(*(::std::ptr::null::<nsStyleUnion>())).mFloat as *const _ as usize },
16840             0usize,
16841             concat!(
16842                 "Offset of field: ",
16843                 stringify!(nsStyleUnion),
16844                 "::",
16845                 stringify!(mFloat)
16846             )
16847         );
16848         assert_eq!(
16849             unsafe { &(*(::std::ptr::null::<nsStyleUnion>())).mPointer as *const _ as usize },
16850             0usize,
16851             concat!(
16852                 "Offset of field: ",
16853                 stringify!(nsStyleUnion),
16854                 "::",
16855                 stringify!(mPointer)
16856             )
16857         );
16858     }
16859     impl Clone for nsStyleUnion {
clone(&self) -> Self16860         fn clone(&self) -> Self {
16861             *self
16862         }
16863     }
16864     /// Class that hold a single size specification used by the style
16865     /// system.  The size specification consists of two parts -- a number
16866     /// and a unit.  The number is an integer, a floating point value, an
16867     /// nscoord, or undefined, and the unit is an nsStyleUnit.  Checking
16868     /// the unit is a must before asking for the value in any particular
16869     /// form.
16870     /// /
16871     /// /** <div rustbindgen private accessor="unsafe"></div>
16872     #[repr(C)]
16873     #[derive(Debug)]
16874     pub struct nsStyleCoord {
16875         mUnit: root::nsStyleUnit,
16876         mValue: root::nsStyleUnion,
16877     }
16878     #[repr(C)]
16879     #[derive(Debug, Copy)]
16880     pub struct nsStyleCoord_CalcValue {
16881         pub mLength: root::nscoord,
16882         pub mPercent: f32,
16883         pub mHasPercent: bool,
16884     }
16885     #[test]
bindgen_test_layout_nsStyleCoord_CalcValue()16886     fn bindgen_test_layout_nsStyleCoord_CalcValue() {
16887         assert_eq!(
16888             ::std::mem::size_of::<nsStyleCoord_CalcValue>(),
16889             12usize,
16890             concat!("Size of: ", stringify!(nsStyleCoord_CalcValue))
16891         );
16892         assert_eq!(
16893             ::std::mem::align_of::<nsStyleCoord_CalcValue>(),
16894             4usize,
16895             concat!("Alignment of ", stringify!(nsStyleCoord_CalcValue))
16896         );
16897         assert_eq!(
16898             unsafe {
16899                 &(*(::std::ptr::null::<nsStyleCoord_CalcValue>())).mLength as *const _ as usize
16900             },
16901             0usize,
16902             concat!(
16903                 "Offset of field: ",
16904                 stringify!(nsStyleCoord_CalcValue),
16905                 "::",
16906                 stringify!(mLength)
16907             )
16908         );
16909         assert_eq!(
16910             unsafe {
16911                 &(*(::std::ptr::null::<nsStyleCoord_CalcValue>())).mPercent as *const _ as usize
16912             },
16913             4usize,
16914             concat!(
16915                 "Offset of field: ",
16916                 stringify!(nsStyleCoord_CalcValue),
16917                 "::",
16918                 stringify!(mPercent)
16919             )
16920         );
16921         assert_eq!(
16922             unsafe {
16923                 &(*(::std::ptr::null::<nsStyleCoord_CalcValue>())).mHasPercent as *const _ as usize
16924             },
16925             8usize,
16926             concat!(
16927                 "Offset of field: ",
16928                 stringify!(nsStyleCoord_CalcValue),
16929                 "::",
16930                 stringify!(mHasPercent)
16931             )
16932         );
16933     }
16934     impl Clone for nsStyleCoord_CalcValue {
clone(&self) -> Self16935         fn clone(&self) -> Self {
16936             *self
16937         }
16938     }
16939     #[repr(C)]
16940     #[derive(Debug)]
16941     pub struct nsStyleCoord_Calc {
16942         pub _base: root::nsStyleCoord_CalcValue,
16943         pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
16944     }
16945     pub type nsStyleCoord_Calc_HasThreadSafeRefCnt = root::mozilla::TrueType;
16946     #[test]
bindgen_test_layout_nsStyleCoord_Calc()16947     fn bindgen_test_layout_nsStyleCoord_Calc() {
16948         assert_eq!(
16949             ::std::mem::size_of::<nsStyleCoord_Calc>(),
16950             24usize,
16951             concat!("Size of: ", stringify!(nsStyleCoord_Calc))
16952         );
16953         assert_eq!(
16954             ::std::mem::align_of::<nsStyleCoord_Calc>(),
16955             8usize,
16956             concat!("Alignment of ", stringify!(nsStyleCoord_Calc))
16957         );
16958         assert_eq!(
16959             unsafe { &(*(::std::ptr::null::<nsStyleCoord_Calc>())).mRefCnt as *const _ as usize },
16960             16usize,
16961             concat!(
16962                 "Offset of field: ",
16963                 stringify!(nsStyleCoord_Calc),
16964                 "::",
16965                 stringify!(mRefCnt)
16966             )
16967         );
16968     }
16969     pub const nsStyleCoord_CoordConstructorType_CoordConstructor:
16970         root::nsStyleCoord_CoordConstructorType = 0;
16971     pub type nsStyleCoord_CoordConstructorType = u32;
16972     #[test]
bindgen_test_layout_nsStyleCoord()16973     fn bindgen_test_layout_nsStyleCoord() {
16974         assert_eq!(
16975             ::std::mem::size_of::<nsStyleCoord>(),
16976             16usize,
16977             concat!("Size of: ", stringify!(nsStyleCoord))
16978         );
16979         assert_eq!(
16980             ::std::mem::align_of::<nsStyleCoord>(),
16981             8usize,
16982             concat!("Alignment of ", stringify!(nsStyleCoord))
16983         );
16984         assert_eq!(
16985             unsafe { &(*(::std::ptr::null::<nsStyleCoord>())).mUnit as *const _ as usize },
16986             0usize,
16987             concat!(
16988                 "Offset of field: ",
16989                 stringify!(nsStyleCoord),
16990                 "::",
16991                 stringify!(mUnit)
16992             )
16993         );
16994         assert_eq!(
16995             unsafe { &(*(::std::ptr::null::<nsStyleCoord>())).mValue as *const _ as usize },
16996             8usize,
16997             concat!(
16998                 "Offset of field: ",
16999                 stringify!(nsStyleCoord),
17000                 "::",
17001                 stringify!(mValue)
17002             )
17003         );
17004     }
17005     impl nsStyleCoord {
17006         #[inline]
get_mUnit(&self) -> &root::nsStyleUnit17007         pub unsafe fn get_mUnit(&self) -> &root::nsStyleUnit {
17008             &self.mUnit
17009         }
17010         #[inline]
get_mUnit_mut(&mut self) -> &mut root::nsStyleUnit17011         pub unsafe fn get_mUnit_mut(&mut self) -> &mut root::nsStyleUnit {
17012             &mut self.mUnit
17013         }
17014         #[inline]
get_mValue(&self) -> &root::nsStyleUnion17015         pub unsafe fn get_mValue(&self) -> &root::nsStyleUnion {
17016             &self.mValue
17017         }
17018         #[inline]
get_mValue_mut(&mut self) -> &mut root::nsStyleUnion17019         pub unsafe fn get_mValue_mut(&mut self) -> &mut root::nsStyleUnion {
17020             &mut self.mValue
17021         }
17022     }
17023     /// Class that represents a set of top/right/bottom/left nsStyleCoords.
17024     /// This is commonly used to hold the widths of the borders, margins,
17025     /// or paddings of a box.
17026     /// /
17027     /// /** <div rustbindgen private accessor="unsafe"></div>
17028     #[repr(C)]
17029     #[derive(Debug)]
17030     pub struct nsStyleSides {
17031         mUnits: [root::nsStyleUnit; 4usize],
17032         mValues: [root::nsStyleUnion; 4usize],
17033     }
17034     #[test]
bindgen_test_layout_nsStyleSides()17035     fn bindgen_test_layout_nsStyleSides() {
17036         assert_eq!(
17037             ::std::mem::size_of::<nsStyleSides>(),
17038             40usize,
17039             concat!("Size of: ", stringify!(nsStyleSides))
17040         );
17041         assert_eq!(
17042             ::std::mem::align_of::<nsStyleSides>(),
17043             8usize,
17044             concat!("Alignment of ", stringify!(nsStyleSides))
17045         );
17046         assert_eq!(
17047             unsafe { &(*(::std::ptr::null::<nsStyleSides>())).mUnits as *const _ as usize },
17048             0usize,
17049             concat!(
17050                 "Offset of field: ",
17051                 stringify!(nsStyleSides),
17052                 "::",
17053                 stringify!(mUnits)
17054             )
17055         );
17056         assert_eq!(
17057             unsafe { &(*(::std::ptr::null::<nsStyleSides>())).mValues as *const _ as usize },
17058             8usize,
17059             concat!(
17060                 "Offset of field: ",
17061                 stringify!(nsStyleSides),
17062                 "::",
17063                 stringify!(mValues)
17064             )
17065         );
17066     }
17067     impl nsStyleSides {
17068         #[inline]
get_mUnits(&self) -> &[root::nsStyleUnit; 4usize]17069         pub unsafe fn get_mUnits(&self) -> &[root::nsStyleUnit; 4usize] {
17070             &self.mUnits
17071         }
17072         #[inline]
get_mUnits_mut(&mut self) -> &mut [root::nsStyleUnit; 4usize]17073         pub unsafe fn get_mUnits_mut(&mut self) -> &mut [root::nsStyleUnit; 4usize] {
17074             &mut self.mUnits
17075         }
17076         #[inline]
get_mValues(&self) -> &[root::nsStyleUnion; 4usize]17077         pub unsafe fn get_mValues(&self) -> &[root::nsStyleUnion; 4usize] {
17078             &self.mValues
17079         }
17080         #[inline]
get_mValues_mut(&mut self) -> &mut [root::nsStyleUnion; 4usize]17081         pub unsafe fn get_mValues_mut(&mut self) -> &mut [root::nsStyleUnion; 4usize] {
17082             &mut self.mValues
17083         }
17084     }
17085     /// Class that represents a set of top-left/top-right/bottom-right/bottom-left
17086     /// nsStyleCoord pairs.  This is used to hold the dimensions of the
17087     /// corners of a box (for, e.g., border-radius and outline-radius).
17088     /// /
17089     /// /** <div rustbindgen private accessor="unsafe"></div>
17090     #[repr(C)]
17091     #[derive(Debug)]
17092     pub struct nsStyleCorners {
17093         mUnits: [root::nsStyleUnit; 8usize],
17094         mValues: [root::nsStyleUnion; 8usize],
17095     }
17096     #[test]
bindgen_test_layout_nsStyleCorners()17097     fn bindgen_test_layout_nsStyleCorners() {
17098         assert_eq!(
17099             ::std::mem::size_of::<nsStyleCorners>(),
17100             72usize,
17101             concat!("Size of: ", stringify!(nsStyleCorners))
17102         );
17103         assert_eq!(
17104             ::std::mem::align_of::<nsStyleCorners>(),
17105             8usize,
17106             concat!("Alignment of ", stringify!(nsStyleCorners))
17107         );
17108         assert_eq!(
17109             unsafe { &(*(::std::ptr::null::<nsStyleCorners>())).mUnits as *const _ as usize },
17110             0usize,
17111             concat!(
17112                 "Offset of field: ",
17113                 stringify!(nsStyleCorners),
17114                 "::",
17115                 stringify!(mUnits)
17116             )
17117         );
17118         assert_eq!(
17119             unsafe { &(*(::std::ptr::null::<nsStyleCorners>())).mValues as *const _ as usize },
17120             8usize,
17121             concat!(
17122                 "Offset of field: ",
17123                 stringify!(nsStyleCorners),
17124                 "::",
17125                 stringify!(mValues)
17126             )
17127         );
17128     }
17129     impl nsStyleCorners {
17130         #[inline]
get_mUnits(&self) -> &[root::nsStyleUnit; 8usize]17131         pub unsafe fn get_mUnits(&self) -> &[root::nsStyleUnit; 8usize] {
17132             &self.mUnits
17133         }
17134         #[inline]
get_mUnits_mut(&mut self) -> &mut [root::nsStyleUnit; 8usize]17135         pub unsafe fn get_mUnits_mut(&mut self) -> &mut [root::nsStyleUnit; 8usize] {
17136             &mut self.mUnits
17137         }
17138         #[inline]
get_mValues(&self) -> &[root::nsStyleUnion; 8usize]17139         pub unsafe fn get_mValues(&self) -> &[root::nsStyleUnion; 8usize] {
17140             &self.mValues
17141         }
17142         #[inline]
get_mValues_mut(&mut self) -> &mut [root::nsStyleUnion; 8usize]17143         pub unsafe fn get_mValues_mut(&mut self) -> &mut [root::nsStyleUnion; 8usize] {
17144             &mut self.mValues
17145         }
17146     }
17147     pub const nsChangeHint_nsChangeHint_Empty: root::nsChangeHint = root::nsChangeHint(0);
17148     pub const nsChangeHint_nsChangeHint_RepaintFrame: root::nsChangeHint = root::nsChangeHint(1);
17149     pub const nsChangeHint_nsChangeHint_NeedReflow: root::nsChangeHint = root::nsChangeHint(2);
17150     pub const nsChangeHint_nsChangeHint_ClearAncestorIntrinsics: root::nsChangeHint =
17151         root::nsChangeHint(4);
17152     pub const nsChangeHint_nsChangeHint_ClearDescendantIntrinsics: root::nsChangeHint =
17153         root::nsChangeHint(8);
17154     pub const nsChangeHint_nsChangeHint_NeedDirtyReflow: root::nsChangeHint =
17155         root::nsChangeHint(16);
17156     pub const nsChangeHint_nsChangeHint_SyncFrameView: root::nsChangeHint = root::nsChangeHint(32);
17157     pub const nsChangeHint_nsChangeHint_UpdateCursor: root::nsChangeHint = root::nsChangeHint(64);
17158     /// Used when the computed value (a URI) of one or more of an element's
17159     /// filter/mask/clip/etc CSS properties changes, causing the element's frame
17160     /// to start/stop referencing (or reference different) SVG resource elements.
17161     /// (_Not_ used to handle changes to referenced resource elements.) Using this
17162     /// hint results in SVGObserverUtils::UpdateEffects being called on the
17163     /// element's frame.
17164     pub const nsChangeHint_nsChangeHint_UpdateEffects: root::nsChangeHint = root::nsChangeHint(128);
17165     /// Visual change only, but the change can be handled entirely by
17166     /// updating the layer(s) for the frame.
17167     /// Updates all descendants (including following placeholders to out-of-flows).
17168     pub const nsChangeHint_nsChangeHint_UpdateOpacityLayer: root::nsChangeHint =
17169         root::nsChangeHint(256);
17170     /// Updates all descendants. Any placeholder descendants' out-of-flows
17171     /// are also descendants of the transformed frame, so they're updated.
17172     pub const nsChangeHint_nsChangeHint_UpdateTransformLayer: root::nsChangeHint =
17173         root::nsChangeHint(512);
17174     /// Change requires frame change (e.g., display:).
17175     /// Reconstructs all frame descendants, including following placeholders
17176     /// to out-of-flows.
17177     ///
17178     /// Note that this subsumes all the other change hints. (see
17179     /// RestyleManager::ProcessRestyledFrames for details).
17180     pub const nsChangeHint_nsChangeHint_ReconstructFrame: root::nsChangeHint =
17181         root::nsChangeHint(1024);
17182     /// The frame's overflow area has changed. Does not update any descendant
17183     /// frames.
17184     pub const nsChangeHint_nsChangeHint_UpdateOverflow: root::nsChangeHint =
17185         root::nsChangeHint(2048);
17186     /// The overflow area of the frame and all of its descendants has changed. This
17187     /// can happen through a text-decoration change.
17188     pub const nsChangeHint_nsChangeHint_UpdateSubtreeOverflow: root::nsChangeHint =
17189         root::nsChangeHint(4096);
17190     /// The frame's overflow area has changed, through a change in its transform.
17191     /// In other words, the frame's pre-transform overflow is unchanged, but
17192     /// its post-transform overflow has changed, and thus its effect on its
17193     /// parent's overflow has changed.  If the pre-transform overflow has
17194     /// changed, see nsChangeHint_UpdateOverflow.
17195     /// Does not update any descendant frames.
17196     pub const nsChangeHint_nsChangeHint_UpdatePostTransformOverflow: root::nsChangeHint =
17197         root::nsChangeHint(8192);
17198     /// This frame's effect on its parent's overflow area has changed.
17199     /// (But neither its pre-transform nor post-transform overflow have
17200     /// changed; if those are the case, see
17201     /// nsChangeHint_UpdatePostTransformOverflow.)
17202     pub const nsChangeHint_nsChangeHint_UpdateParentOverflow: root::nsChangeHint =
17203         root::nsChangeHint(16384);
17204     /// The children-only transform of an SVG frame changed, requiring the
17205     /// overflow rects of the frame's immediate children to be updated.
17206     pub const nsChangeHint_nsChangeHint_ChildrenOnlyTransform: root::nsChangeHint =
17207         root::nsChangeHint(32768);
17208     /// The frame's offsets have changed, while its dimensions might have
17209     /// changed as well.  This hint is used for positioned frames if their
17210     /// offset changes.  If we decide that the dimensions are likely to
17211     /// change, this will trigger a reflow.
17212     ///
17213     /// Note that this should probably be used in combination with
17214     /// nsChangeHint_UpdateOverflow in order to get the overflow areas of
17215     /// the ancestors updated as well.
17216     pub const nsChangeHint_nsChangeHint_RecomputePosition: root::nsChangeHint =
17217         root::nsChangeHint(65536);
17218     /// Behaves like ReconstructFrame, but only if the frame has descendants
17219     /// that are absolutely or fixed position. Use this hint when a style change
17220     /// has changed whether the frame is a container for fixed-pos or abs-pos
17221     /// elements, but reframing is otherwise not needed.
17222     ///
17223     /// Note that nsStyleContext::CalcStyleDifference adjusts results
17224     /// returned by style struct CalcDifference methods to return this hint
17225     /// only if there was a change to whether the element's overall style
17226     /// indicates that it establishes a containing block.
17227     pub const nsChangeHint_nsChangeHint_UpdateContainingBlock: root::nsChangeHint =
17228         root::nsChangeHint(131072);
17229     /// This change hint has *no* change handling behavior.  However, it
17230     /// exists to be a non-inherited hint, because when the border-style
17231     /// changes, and it's inherited by a child, that might require a reflow
17232     /// due to the border-width change on the child.
17233     pub const nsChangeHint_nsChangeHint_BorderStyleNoneChange: root::nsChangeHint =
17234         root::nsChangeHint(262144);
17235     /// SVG textPath needs to be recomputed because the path has changed.
17236     /// This means that the glyph positions of the text need to be recomputed.
17237     pub const nsChangeHint_nsChangeHint_UpdateTextPath: root::nsChangeHint =
17238         root::nsChangeHint(524288);
17239     /// This will schedule an invalidating paint. This is useful if something
17240     /// has changed which will be invalidated by DLBI.
17241     pub const nsChangeHint_nsChangeHint_SchedulePaint: root::nsChangeHint =
17242         root::nsChangeHint(1048576);
17243     /// A hint reflecting that style data changed with no change handling
17244     /// behavior.  We need to return this, rather than nsChangeHint(0),
17245     /// so that certain optimizations that manipulate the style context tree are
17246     /// correct.
17247     ///
17248     /// nsChangeHint_NeutralChange must be returned by CalcDifference on a given
17249     /// style struct if the data in the style structs are meaningfully different
17250     /// and if no other change hints are returned.  If any other change hints are
17251     /// set, then nsChangeHint_NeutralChange need not also be included, but it is
17252     /// safe to do so.  (An example of style structs having non-meaningfully
17253     /// different data would be cached information that would be re-calculated
17254     /// to the same values, such as nsStyleBorder::mSubImages.)
17255     pub const nsChangeHint_nsChangeHint_NeutralChange: root::nsChangeHint =
17256         root::nsChangeHint(2097152);
17257     /// This will cause rendering observers to be invalidated.
17258     pub const nsChangeHint_nsChangeHint_InvalidateRenderingObservers: root::nsChangeHint =
17259         root::nsChangeHint(4194304);
17260     /// Indicates that the reflow changes the size or position of the
17261     /// element, and thus the reflow must start from at least the frame's
17262     /// parent.  Must be not be set without also setting nsChangeHint_NeedReflow
17263     /// and nsChangeHint_ClearAncestorIntrinsics.
17264     pub const nsChangeHint_nsChangeHint_ReflowChangesSizeOrPosition: root::nsChangeHint =
17265         root::nsChangeHint(8388608);
17266     /// Indicates that the style changes the computed BSize --- e.g. 'height'.
17267     /// Must not be set without also setting nsChangeHint_NeedReflow.
17268     pub const nsChangeHint_nsChangeHint_UpdateComputedBSize: root::nsChangeHint =
17269         root::nsChangeHint(16777216);
17270     /// Indicates that the 'opacity' property changed between 1 and non-1.
17271     ///
17272     /// Used as extra data for handling UpdateOpacityLayer hints.
17273     ///
17274     /// Note that we do not send this hint if the non-1 value was 0.99 or
17275     /// greater, since in that case we send a RepaintFrame hint instead.
17276     pub const nsChangeHint_nsChangeHint_UpdateUsesOpacity: root::nsChangeHint =
17277         root::nsChangeHint(33554432);
17278     /// Indicates that the 'background-position' property changed.
17279     /// Regular frames can invalidate these changes using DLBI, but
17280     /// for some frame types we need to repaint the whole frame because
17281     /// the frame does not build individual background image display items
17282     /// for each background layer.
17283     pub const nsChangeHint_nsChangeHint_UpdateBackgroundPosition: root::nsChangeHint =
17284         root::nsChangeHint(67108864);
17285     /// Indicates that a frame has changed to or from having the CSS
17286     /// transform property set.
17287     pub const nsChangeHint_nsChangeHint_AddOrRemoveTransform: root::nsChangeHint =
17288         root::nsChangeHint(134217728);
17289     /// Indicates that the overflow-x and/or overflow-y property changed.
17290     ///
17291     /// In most cases, this is equivalent to nsChangeHint_ReconstructFrame. But
17292     /// in some special cases where the change is really targeting the viewport's
17293     /// scrollframe, this is instead equivalent to nsChangeHint_AllReflowHints
17294     /// (because the viewport always has an associated scrollframe).
17295     pub const nsChangeHint_nsChangeHint_CSSOverflowChange: root::nsChangeHint =
17296         root::nsChangeHint(268435456);
17297     /// Indicates that nsIFrame::UpdateWidgetProperties needs to be called.
17298     /// This is used for -moz-window-* properties.
17299     pub const nsChangeHint_nsChangeHint_UpdateWidgetProperties: root::nsChangeHint =
17300         root::nsChangeHint(536870912);
17301     /// Indicates that there has been a colspan or rowspan attribute change
17302     /// on the cells of a table.
17303     pub const nsChangeHint_nsChangeHint_UpdateTableCellSpans: root::nsChangeHint =
17304         root::nsChangeHint(1073741824);
17305     /// Indicates that the visiblity property changed.
17306     /// This change hint is used for skip restyling for animations on
17307     /// visibility:hidden elements in the case where the elements have no visible
17308     /// descendants.
17309     pub const nsChangeHint_nsChangeHint_VisibilityChange: root::nsChangeHint =
17310         root::nsChangeHint(2147483648);
17311     /// Dummy hint value for all hints. It exists for compile time check.
17312     pub const nsChangeHint_nsChangeHint_AllHints: root::nsChangeHint =
17313         root::nsChangeHint(4294967295);
17314     impl ::std::ops::BitOr<root::nsChangeHint> for root::nsChangeHint {
17315         type Output = Self;
17316         #[inline]
bitor(self, other: Self) -> Self17317         fn bitor(self, other: Self) -> Self {
17318             nsChangeHint(self.0 | other.0)
17319         }
17320     }
17321     impl ::std::ops::BitOrAssign for root::nsChangeHint {
17322         #[inline]
bitor_assign(&mut self, rhs: root::nsChangeHint)17323         fn bitor_assign(&mut self, rhs: root::nsChangeHint) {
17324             self.0 |= rhs.0;
17325         }
17326     }
17327     impl ::std::ops::BitAnd<root::nsChangeHint> for root::nsChangeHint {
17328         type Output = Self;
17329         #[inline]
bitand(self, other: Self) -> Self17330         fn bitand(self, other: Self) -> Self {
17331             nsChangeHint(self.0 & other.0)
17332         }
17333     }
17334     impl ::std::ops::BitAndAssign for root::nsChangeHint {
17335         #[inline]
bitand_assign(&mut self, rhs: root::nsChangeHint)17336         fn bitand_assign(&mut self, rhs: root::nsChangeHint) {
17337             self.0 &= rhs.0;
17338         }
17339     }
17340     #[repr(C)]
17341     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
17342     pub struct nsChangeHint(pub u32);
17343     pub const nsRestyleHint_eRestyle_Self: root::nsRestyleHint = root::nsRestyleHint(1);
17344     pub const nsRestyleHint_eRestyle_SomeDescendants: root::nsRestyleHint = root::nsRestyleHint(2);
17345     pub const nsRestyleHint_eRestyle_Subtree: root::nsRestyleHint = root::nsRestyleHint(4);
17346     pub const nsRestyleHint_eRestyle_LaterSiblings: root::nsRestyleHint = root::nsRestyleHint(8);
17347     pub const nsRestyleHint_eRestyle_CSSTransitions: root::nsRestyleHint = root::nsRestyleHint(16);
17348     pub const nsRestyleHint_eRestyle_CSSAnimations: root::nsRestyleHint = root::nsRestyleHint(32);
17349     pub const nsRestyleHint_eRestyle_StyleAttribute: root::nsRestyleHint = root::nsRestyleHint(64);
17350     pub const nsRestyleHint_eRestyle_StyleAttribute_Animations: root::nsRestyleHint =
17351         root::nsRestyleHint(128);
17352     pub const nsRestyleHint_eRestyle_Force: root::nsRestyleHint = root::nsRestyleHint(256);
17353     pub const nsRestyleHint_eRestyle_ForceDescendants: root::nsRestyleHint =
17354         root::nsRestyleHint(512);
17355     pub const nsRestyleHint_eRestyle_AllHintsWithAnimations: root::nsRestyleHint =
17356         root::nsRestyleHint(176);
17357     impl ::std::ops::BitOr<root::nsRestyleHint> for root::nsRestyleHint {
17358         type Output = Self;
17359         #[inline]
bitor(self, other: Self) -> Self17360         fn bitor(self, other: Self) -> Self {
17361             nsRestyleHint(self.0 | other.0)
17362         }
17363     }
17364     impl ::std::ops::BitOrAssign for root::nsRestyleHint {
17365         #[inline]
bitor_assign(&mut self, rhs: root::nsRestyleHint)17366         fn bitor_assign(&mut self, rhs: root::nsRestyleHint) {
17367             self.0 |= rhs.0;
17368         }
17369     }
17370     impl ::std::ops::BitAnd<root::nsRestyleHint> for root::nsRestyleHint {
17371         type Output = Self;
17372         #[inline]
bitand(self, other: Self) -> Self17373         fn bitand(self, other: Self) -> Self {
17374             nsRestyleHint(self.0 & other.0)
17375         }
17376     }
17377     impl ::std::ops::BitAndAssign for root::nsRestyleHint {
17378         #[inline]
bitand_assign(&mut self, rhs: root::nsRestyleHint)17379         fn bitand_assign(&mut self, rhs: root::nsRestyleHint) {
17380             self.0 &= rhs.0;
17381         }
17382     }
17383     #[repr(C)]
17384     /// |nsRestyleHint| is a bitfield for the result of
17385     /// |HasStateDependentStyle| and |HasAttributeDependentStyle|.  When no
17386     /// restyling is necessary, use |nsRestyleHint(0)|.
17387     ///
17388     /// Without eRestyle_Force or eRestyle_ForceDescendants, the restyling process
17389     /// can stop processing at a frame when it detects no style changes and it is
17390     /// known that the styles of the subtree beneath it will not change, leaving
17391     /// the old style context on the frame.  eRestyle_Force can be used to skip this
17392     /// optimization on a frame, and to force its new style context to be used.
17393     ///
17394     /// Similarly, eRestyle_ForceDescendants will cause the frame and all of its
17395     /// descendants to be traversed and for the new style contexts that are created
17396     /// to be set on the frames.
17397     ///
17398     /// NOTE: When adding new restyle hints, please also add them to
17399     /// RestyleManager::RestyleHintToString.
17400     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
17401     pub struct nsRestyleHint(pub u32);
17402     /// We want C++ to be able to read the style struct fields of ComputedValues
17403     /// so we define this type on the C++ side and use the bindgenned version
17404     /// on the Rust side.
17405     #[repr(C)]
17406     pub struct ServoComputedData {
17407         pub Font: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoFont>,
17408         pub Color: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoColor>,
17409         pub List: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoList>,
17410         pub Text: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoText>,
17411         pub Visibility:
17412             ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoVisibility>,
17413         pub UserInterface:
17414             ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoUserInterface>,
17415         pub TableBorder:
17416             ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoTableBorder>,
17417         pub SVG: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoSVG>,
17418         pub Background:
17419             ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoBackground>,
17420         pub Position: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoPosition>,
17421         pub TextReset: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoTextReset>,
17422         pub Display: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoDisplay>,
17423         pub Content: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoContent>,
17424         pub UIReset: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoUIReset>,
17425         pub Table: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoTable>,
17426         pub Margin: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoMargin>,
17427         pub Padding: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoPadding>,
17428         pub Border: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoBorder>,
17429         pub Outline: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoOutline>,
17430         pub XUL: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoXUL>,
17431         pub SVGReset: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoSVGReset>,
17432         pub Column: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoColumn>,
17433         pub Effects: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoEffects>,
17434         pub custom_properties: ::gecko_bindings::structs::ServoCustomPropertiesMap,
17435         pub writing_mode: ::gecko_bindings::structs::ServoWritingMode,
17436         pub flags: ::gecko_bindings::structs::ServoComputedValueFlags,
17437         /// The rule node representing the ordered list of rules matched for this
17438         /// /// node.  Can be None for default values and text nodes.  This is
17439         /// /// essentially an optimization to avoid referencing the root rule node.
17440         pub rules: ::gecko_bindings::structs::ServoRuleNode,
17441         /// The element's computed values if visited, only computed if there's a
17442         /// /// relevant link for this element. A element's "relevant link" is the
17443         /// /// element being matched if it is a link or the nearest ancestor link.
17444         pub visited_style: ::gecko_bindings::structs::ServoVisitedStyle,
17445     }
17446     #[test]
bindgen_test_layout_ServoComputedData()17447     fn bindgen_test_layout_ServoComputedData() {
17448         assert_eq!(
17449             ::std::mem::size_of::<ServoComputedData>(),
17450             216usize,
17451             concat!("Size of: ", stringify!(ServoComputedData))
17452         );
17453         assert_eq!(
17454             ::std::mem::align_of::<ServoComputedData>(),
17455             8usize,
17456             concat!("Alignment of ", stringify!(ServoComputedData))
17457         );
17458         assert_eq!(
17459             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Font as *const _ as usize },
17460             0usize,
17461             concat!(
17462                 "Offset of field: ",
17463                 stringify!(ServoComputedData),
17464                 "::",
17465                 stringify!(Font)
17466             )
17467         );
17468         assert_eq!(
17469             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Color as *const _ as usize },
17470             8usize,
17471             concat!(
17472                 "Offset of field: ",
17473                 stringify!(ServoComputedData),
17474                 "::",
17475                 stringify!(Color)
17476             )
17477         );
17478         assert_eq!(
17479             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).List as *const _ as usize },
17480             16usize,
17481             concat!(
17482                 "Offset of field: ",
17483                 stringify!(ServoComputedData),
17484                 "::",
17485                 stringify!(List)
17486             )
17487         );
17488         assert_eq!(
17489             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Text as *const _ as usize },
17490             24usize,
17491             concat!(
17492                 "Offset of field: ",
17493                 stringify!(ServoComputedData),
17494                 "::",
17495                 stringify!(Text)
17496             )
17497         );
17498         assert_eq!(
17499             unsafe {
17500                 &(*(::std::ptr::null::<ServoComputedData>())).Visibility as *const _ as usize
17501             },
17502             32usize,
17503             concat!(
17504                 "Offset of field: ",
17505                 stringify!(ServoComputedData),
17506                 "::",
17507                 stringify!(Visibility)
17508             )
17509         );
17510         assert_eq!(
17511             unsafe {
17512                 &(*(::std::ptr::null::<ServoComputedData>())).UserInterface as *const _ as usize
17513             },
17514             40usize,
17515             concat!(
17516                 "Offset of field: ",
17517                 stringify!(ServoComputedData),
17518                 "::",
17519                 stringify!(UserInterface)
17520             )
17521         );
17522         assert_eq!(
17523             unsafe {
17524                 &(*(::std::ptr::null::<ServoComputedData>())).TableBorder as *const _ as usize
17525             },
17526             48usize,
17527             concat!(
17528                 "Offset of field: ",
17529                 stringify!(ServoComputedData),
17530                 "::",
17531                 stringify!(TableBorder)
17532             )
17533         );
17534         assert_eq!(
17535             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).SVG as *const _ as usize },
17536             56usize,
17537             concat!(
17538                 "Offset of field: ",
17539                 stringify!(ServoComputedData),
17540                 "::",
17541                 stringify!(SVG)
17542             )
17543         );
17544         assert_eq!(
17545             unsafe {
17546                 &(*(::std::ptr::null::<ServoComputedData>())).Background as *const _ as usize
17547             },
17548             64usize,
17549             concat!(
17550                 "Offset of field: ",
17551                 stringify!(ServoComputedData),
17552                 "::",
17553                 stringify!(Background)
17554             )
17555         );
17556         assert_eq!(
17557             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Position as *const _ as usize },
17558             72usize,
17559             concat!(
17560                 "Offset of field: ",
17561                 stringify!(ServoComputedData),
17562                 "::",
17563                 stringify!(Position)
17564             )
17565         );
17566         assert_eq!(
17567             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).TextReset as *const _ as usize },
17568             80usize,
17569             concat!(
17570                 "Offset of field: ",
17571                 stringify!(ServoComputedData),
17572                 "::",
17573                 stringify!(TextReset)
17574             )
17575         );
17576         assert_eq!(
17577             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Display as *const _ as usize },
17578             88usize,
17579             concat!(
17580                 "Offset of field: ",
17581                 stringify!(ServoComputedData),
17582                 "::",
17583                 stringify!(Display)
17584             )
17585         );
17586         assert_eq!(
17587             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Content as *const _ as usize },
17588             96usize,
17589             concat!(
17590                 "Offset of field: ",
17591                 stringify!(ServoComputedData),
17592                 "::",
17593                 stringify!(Content)
17594             )
17595         );
17596         assert_eq!(
17597             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).UIReset as *const _ as usize },
17598             104usize,
17599             concat!(
17600                 "Offset of field: ",
17601                 stringify!(ServoComputedData),
17602                 "::",
17603                 stringify!(UIReset)
17604             )
17605         );
17606         assert_eq!(
17607             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Table as *const _ as usize },
17608             112usize,
17609             concat!(
17610                 "Offset of field: ",
17611                 stringify!(ServoComputedData),
17612                 "::",
17613                 stringify!(Table)
17614             )
17615         );
17616         assert_eq!(
17617             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Margin as *const _ as usize },
17618             120usize,
17619             concat!(
17620                 "Offset of field: ",
17621                 stringify!(ServoComputedData),
17622                 "::",
17623                 stringify!(Margin)
17624             )
17625         );
17626         assert_eq!(
17627             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Padding as *const _ as usize },
17628             128usize,
17629             concat!(
17630                 "Offset of field: ",
17631                 stringify!(ServoComputedData),
17632                 "::",
17633                 stringify!(Padding)
17634             )
17635         );
17636         assert_eq!(
17637             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Border as *const _ as usize },
17638             136usize,
17639             concat!(
17640                 "Offset of field: ",
17641                 stringify!(ServoComputedData),
17642                 "::",
17643                 stringify!(Border)
17644             )
17645         );
17646         assert_eq!(
17647             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Outline as *const _ as usize },
17648             144usize,
17649             concat!(
17650                 "Offset of field: ",
17651                 stringify!(ServoComputedData),
17652                 "::",
17653                 stringify!(Outline)
17654             )
17655         );
17656         assert_eq!(
17657             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).XUL as *const _ as usize },
17658             152usize,
17659             concat!(
17660                 "Offset of field: ",
17661                 stringify!(ServoComputedData),
17662                 "::",
17663                 stringify!(XUL)
17664             )
17665         );
17666         assert_eq!(
17667             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).SVGReset as *const _ as usize },
17668             160usize,
17669             concat!(
17670                 "Offset of field: ",
17671                 stringify!(ServoComputedData),
17672                 "::",
17673                 stringify!(SVGReset)
17674             )
17675         );
17676         assert_eq!(
17677             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Column as *const _ as usize },
17678             168usize,
17679             concat!(
17680                 "Offset of field: ",
17681                 stringify!(ServoComputedData),
17682                 "::",
17683                 stringify!(Column)
17684             )
17685         );
17686         assert_eq!(
17687             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).Effects as *const _ as usize },
17688             176usize,
17689             concat!(
17690                 "Offset of field: ",
17691                 stringify!(ServoComputedData),
17692                 "::",
17693                 stringify!(Effects)
17694             )
17695         );
17696         assert_eq!(
17697             unsafe {
17698                 &(*(::std::ptr::null::<ServoComputedData>())).custom_properties as *const _ as usize
17699             },
17700             184usize,
17701             concat!(
17702                 "Offset of field: ",
17703                 stringify!(ServoComputedData),
17704                 "::",
17705                 stringify!(custom_properties)
17706             )
17707         );
17708         assert_eq!(
17709             unsafe {
17710                 &(*(::std::ptr::null::<ServoComputedData>())).writing_mode as *const _ as usize
17711             },
17712             192usize,
17713             concat!(
17714                 "Offset of field: ",
17715                 stringify!(ServoComputedData),
17716                 "::",
17717                 stringify!(writing_mode)
17718             )
17719         );
17720         assert_eq!(
17721             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).flags as *const _ as usize },
17722             194usize,
17723             concat!(
17724                 "Offset of field: ",
17725                 stringify!(ServoComputedData),
17726                 "::",
17727                 stringify!(flags)
17728             )
17729         );
17730         assert_eq!(
17731             unsafe { &(*(::std::ptr::null::<ServoComputedData>())).rules as *const _ as usize },
17732             200usize,
17733             concat!(
17734                 "Offset of field: ",
17735                 stringify!(ServoComputedData),
17736                 "::",
17737                 stringify!(rules)
17738             )
17739         );
17740         assert_eq!(
17741             unsafe {
17742                 &(*(::std::ptr::null::<ServoComputedData>())).visited_style as *const _ as usize
17743             },
17744             208usize,
17745             concat!(
17746                 "Offset of field: ",
17747                 stringify!(ServoComputedData),
17748                 "::",
17749                 stringify!(visited_style)
17750             )
17751         );
17752     }
17753     #[repr(C)]
17754     #[derive(Debug, Copy)]
17755     pub struct ProfilerBacktrace {
17756         _unused: [u8; 0],
17757     }
17758     impl Clone for ProfilerBacktrace {
clone(&self) -> Self17759         fn clone(&self) -> Self {
17760             *self
17761         }
17762     }
17763     #[repr(C)]
17764     #[derive(Debug, Copy)]
17765     pub struct ProfilerMarkerPayload {
17766         _unused: [u8; 0],
17767     }
17768     impl Clone for ProfilerMarkerPayload {
clone(&self) -> Self17769         fn clone(&self) -> Self {
17770             *self
17771         }
17772     }
17773     #[repr(C)]
17774     #[derive(Debug, Copy)]
17775     pub struct ProfilerBacktraceDestructor {
17776         pub _address: u8,
17777     }
17778     #[test]
bindgen_test_layout_ProfilerBacktraceDestructor()17779     fn bindgen_test_layout_ProfilerBacktraceDestructor() {
17780         assert_eq!(
17781             ::std::mem::size_of::<ProfilerBacktraceDestructor>(),
17782             1usize,
17783             concat!("Size of: ", stringify!(ProfilerBacktraceDestructor))
17784         );
17785         assert_eq!(
17786             ::std::mem::align_of::<ProfilerBacktraceDestructor>(),
17787             1usize,
17788             concat!("Alignment of ", stringify!(ProfilerBacktraceDestructor))
17789         );
17790     }
17791     impl Clone for ProfilerBacktraceDestructor {
clone(&self) -> Self17792         fn clone(&self) -> Self {
17793             *self
17794         }
17795     }
17796     pub type UniqueProfilerBacktrace = root::mozilla::UniquePtr<root::ProfilerBacktrace>;
17797     pub const JSValueTag_JSVAL_TAG_MAX_DOUBLE: root::JSValueTag = 131056;
17798     pub const JSValueTag_JSVAL_TAG_INT32: root::JSValueTag = 131057;
17799     pub const JSValueTag_JSVAL_TAG_UNDEFINED: root::JSValueTag = 131059;
17800     pub const JSValueTag_JSVAL_TAG_NULL: root::JSValueTag = 131060;
17801     pub const JSValueTag_JSVAL_TAG_BOOLEAN: root::JSValueTag = 131058;
17802     pub const JSValueTag_JSVAL_TAG_MAGIC: root::JSValueTag = 131061;
17803     pub const JSValueTag_JSVAL_TAG_STRING: root::JSValueTag = 131062;
17804     pub const JSValueTag_JSVAL_TAG_SYMBOL: root::JSValueTag = 131063;
17805     pub const JSValueTag_JSVAL_TAG_PRIVATE_GCTHING: root::JSValueTag = 131064;
17806     pub const JSValueTag_JSVAL_TAG_OBJECT: root::JSValueTag = 131068;
17807     pub type JSValueTag = u32;
17808     /// a hole in a native object's elements
17809     pub const JSWhyMagic_JS_ELEMENTS_HOLE: root::JSWhyMagic = 0;
17810     /// there is not a pending iterator value
17811     pub const JSWhyMagic_JS_NO_ITER_VALUE: root::JSWhyMagic = 1;
17812     /// exception value thrown when closing a generator
17813     pub const JSWhyMagic_JS_GENERATOR_CLOSING: root::JSWhyMagic = 2;
17814     /// compiler sentinel value
17815     pub const JSWhyMagic_JS_NO_CONSTANT: root::JSWhyMagic = 3;
17816     /// used in debug builds to catch tracing errors
17817     pub const JSWhyMagic_JS_THIS_POISON: root::JSWhyMagic = 4;
17818     /// used in debug builds to catch tracing errors
17819     pub const JSWhyMagic_JS_ARG_POISON: root::JSWhyMagic = 5;
17820     /// an empty subnode in the AST serializer
17821     pub const JSWhyMagic_JS_SERIALIZE_NO_NODE: root::JSWhyMagic = 6;
17822     /// lazy arguments value on the stack
17823     pub const JSWhyMagic_JS_LAZY_ARGUMENTS: root::JSWhyMagic = 7;
17824     /// optimized-away 'arguments' value
17825     pub const JSWhyMagic_JS_OPTIMIZED_ARGUMENTS: root::JSWhyMagic = 8;
17826     /// magic value passed to natives to indicate construction
17827     pub const JSWhyMagic_JS_IS_CONSTRUCTING: root::JSWhyMagic = 9;
17828     /// value of static block object slot
17829     pub const JSWhyMagic_JS_BLOCK_NEEDS_CLONE: root::JSWhyMagic = 10;
17830     /// see class js::HashableValue
17831     pub const JSWhyMagic_JS_HASH_KEY_EMPTY: root::JSWhyMagic = 11;
17832     /// error while running Ion code
17833     pub const JSWhyMagic_JS_ION_ERROR: root::JSWhyMagic = 12;
17834     /// missing recover instruction result
17835     pub const JSWhyMagic_JS_ION_BAILOUT: root::JSWhyMagic = 13;
17836     /// optimized out slot
17837     pub const JSWhyMagic_JS_OPTIMIZED_OUT: root::JSWhyMagic = 14;
17838     /// uninitialized lexical bindings that produce ReferenceError on touch.
17839     pub const JSWhyMagic_JS_UNINITIALIZED_LEXICAL: root::JSWhyMagic = 15;
17840     /// standard constructors are not created for off-thread parsing.
17841     pub const JSWhyMagic_JS_OFF_THREAD_CONSTRUCTOR: root::JSWhyMagic = 16;
17842     /// for local use
17843     pub const JSWhyMagic_JS_GENERIC_MAGIC: root::JSWhyMagic = 17;
17844     /// for local use
17845     pub const JSWhyMagic_JS_WHY_MAGIC_COUNT: root::JSWhyMagic = 18;
17846     pub type JSWhyMagic = u32;
17847     /// This structure precedes the string buffers "we" allocate.  It may be the
17848     /// case that nsTAString::mData does not point to one of these special
17849     /// buffers.  The mDataFlags member variable distinguishes the buffer type.
17850     ///
17851     /// When this header is in use, it enables reference counting, and capacity
17852     /// tracking.  NOTE: A string buffer can be modified only if its reference
17853     /// count is 1.
17854     #[repr(C)]
17855     #[derive(Debug)]
17856     pub struct nsStringBuffer {
17857         pub mRefCount: u32,
17858         pub mStorageSize: u32,
17859         pub mCanary: u32,
17860     }
17861     #[test]
bindgen_test_layout_nsStringBuffer()17862     fn bindgen_test_layout_nsStringBuffer() {
17863         assert_eq!(
17864             ::std::mem::size_of::<nsStringBuffer>(),
17865             12usize,
17866             concat!("Size of: ", stringify!(nsStringBuffer))
17867         );
17868         assert_eq!(
17869             ::std::mem::align_of::<nsStringBuffer>(),
17870             4usize,
17871             concat!("Alignment of ", stringify!(nsStringBuffer))
17872         );
17873         assert_eq!(
17874             unsafe { &(*(::std::ptr::null::<nsStringBuffer>())).mRefCount as *const _ as usize },
17875             0usize,
17876             concat!(
17877                 "Offset of field: ",
17878                 stringify!(nsStringBuffer),
17879                 "::",
17880                 stringify!(mRefCount)
17881             )
17882         );
17883         assert_eq!(
17884             unsafe { &(*(::std::ptr::null::<nsStringBuffer>())).mStorageSize as *const _ as usize },
17885             4usize,
17886             concat!(
17887                 "Offset of field: ",
17888                 stringify!(nsStringBuffer),
17889                 "::",
17890                 stringify!(mStorageSize)
17891             )
17892         );
17893         assert_eq!(
17894             unsafe { &(*(::std::ptr::null::<nsStringBuffer>())).mCanary as *const _ as usize },
17895             8usize,
17896             concat!(
17897                 "Offset of field: ",
17898                 stringify!(nsStringBuffer),
17899                 "::",
17900                 stringify!(mCanary)
17901             )
17902         );
17903     }
17904     #[repr(C)]
17905     #[derive(Debug)]
17906     pub struct nsAtom {
17907         pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
17908         pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 4usize], u32>,
17909         pub mHash: u32,
17910         pub mString: *mut u16,
17911     }
17912     #[repr(u8)]
17913     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
17914     pub enum nsAtom_AtomKind {
17915         DynamicAtom = 0,
17916         StaticAtom = 1,
17917         HTML5Atom = 2,
17918     }
17919     pub type nsAtom_HasThreadSafeRefCnt = root::mozilla::TrueType;
17920     #[test]
bindgen_test_layout_nsAtom()17921     fn bindgen_test_layout_nsAtom() {
17922         assert_eq!(
17923             ::std::mem::size_of::<nsAtom>(),
17924             24usize,
17925             concat!("Size of: ", stringify!(nsAtom))
17926         );
17927         assert_eq!(
17928             ::std::mem::align_of::<nsAtom>(),
17929             8usize,
17930             concat!("Alignment of ", stringify!(nsAtom))
17931         );
17932         assert_eq!(
17933             unsafe { &(*(::std::ptr::null::<nsAtom>())).mRefCnt as *const _ as usize },
17934             0usize,
17935             concat!(
17936                 "Offset of field: ",
17937                 stringify!(nsAtom),
17938                 "::",
17939                 stringify!(mRefCnt)
17940             )
17941         );
17942         assert_eq!(
17943             unsafe { &(*(::std::ptr::null::<nsAtom>())).mHash as *const _ as usize },
17944             12usize,
17945             concat!(
17946                 "Offset of field: ",
17947                 stringify!(nsAtom),
17948                 "::",
17949                 stringify!(mHash)
17950             )
17951         );
17952         assert_eq!(
17953             unsafe { &(*(::std::ptr::null::<nsAtom>())).mString as *const _ as usize },
17954             16usize,
17955             concat!(
17956                 "Offset of field: ",
17957                 stringify!(nsAtom),
17958                 "::",
17959                 stringify!(mString)
17960             )
17961         );
17962     }
17963     impl nsAtom {
17964         #[inline]
mLength(&self) -> u3217965         pub fn mLength(&self) -> u32 {
17966             unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 30u8) as u32) }
17967         }
17968         #[inline]
set_mLength(&mut self, val: u32)17969         pub fn set_mLength(&mut self, val: u32) {
17970             unsafe {
17971                 let val: u32 = ::std::mem::transmute(val);
17972                 self._bitfield_1.set(0usize, 30u8, val as u64)
17973             }
17974         }
17975         #[inline]
mKind(&self) -> u3217976         pub fn mKind(&self) -> u32 {
17977             unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 2u8) as u32) }
17978         }
17979         #[inline]
set_mKind(&mut self, val: u32)17980         pub fn set_mKind(&mut self, val: u32) {
17981             unsafe {
17982                 let val: u32 = ::std::mem::transmute(val);
17983                 self._bitfield_1.set(30usize, 2u8, val as u64)
17984             }
17985         }
17986         #[inline]
new_bitfield_1( mLength: u32, mKind: u32, ) -> root::__BindgenBitfieldUnit<[u8; 4usize], u32>17987         pub fn new_bitfield_1(
17988             mLength: u32,
17989             mKind: u32,
17990         ) -> root::__BindgenBitfieldUnit<[u8; 4usize], u32> {
17991             let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
17992                 [u8; 4usize],
17993                 u32,
17994             > = Default::default();
17995             __bindgen_bitfield_unit.set(0usize, 30u8, {
17996                 let mLength: u32 = unsafe { ::std::mem::transmute(mLength) };
17997                 mLength as u64
17998             });
17999             __bindgen_bitfield_unit.set(30usize, 2u8, {
18000                 let mKind: u32 = unsafe { ::std::mem::transmute(mKind) };
18001                 mKind as u64
18002             });
18003             __bindgen_bitfield_unit
18004         }
18005     }
18006     #[repr(C)]
18007     #[derive(Debug)]
18008     pub struct nsStaticAtom {
18009         pub _base: root::nsAtom,
18010     }
18011     #[test]
bindgen_test_layout_nsStaticAtom()18012     fn bindgen_test_layout_nsStaticAtom() {
18013         assert_eq!(
18014             ::std::mem::size_of::<nsStaticAtom>(),
18015             24usize,
18016             concat!("Size of: ", stringify!(nsStaticAtom))
18017         );
18018         assert_eq!(
18019             ::std::mem::align_of::<nsStaticAtom>(),
18020             8usize,
18021             concat!("Alignment of ", stringify!(nsStaticAtom))
18022         );
18023     }
18024     pub type nsLoadFlags = u32;
18025     #[repr(C)]
18026     #[derive(Debug, Copy)]
18027     pub struct nsIRequest {
18028         pub _base: root::nsISupports,
18029     }
18030     #[repr(C)]
18031     #[derive(Debug, Copy, Clone)]
18032     pub struct nsIRequest_COMTypeInfo {
18033         pub _address: u8,
18034     }
18035     pub const nsIRequest_LOAD_REQUESTMASK: root::nsIRequest__bindgen_ty_1 = 65535;
18036     pub const nsIRequest_LOAD_NORMAL: root::nsIRequest__bindgen_ty_1 = 0;
18037     pub const nsIRequest_LOAD_BACKGROUND: root::nsIRequest__bindgen_ty_1 = 1;
18038     pub const nsIRequest_LOAD_HTML_OBJECT_DATA: root::nsIRequest__bindgen_ty_1 = 2;
18039     pub const nsIRequest_LOAD_DOCUMENT_NEEDS_COOKIE: root::nsIRequest__bindgen_ty_1 = 4;
18040     pub const nsIRequest_INHIBIT_CACHING: root::nsIRequest__bindgen_ty_1 = 128;
18041     pub const nsIRequest_INHIBIT_PERSISTENT_CACHING: root::nsIRequest__bindgen_ty_1 = 256;
18042     pub const nsIRequest_LOAD_BYPASS_CACHE: root::nsIRequest__bindgen_ty_1 = 512;
18043     pub const nsIRequest_LOAD_FROM_CACHE: root::nsIRequest__bindgen_ty_1 = 1024;
18044     pub const nsIRequest_VALIDATE_ALWAYS: root::nsIRequest__bindgen_ty_1 = 2048;
18045     pub const nsIRequest_VALIDATE_NEVER: root::nsIRequest__bindgen_ty_1 = 4096;
18046     pub const nsIRequest_VALIDATE_ONCE_PER_SESSION: root::nsIRequest__bindgen_ty_1 = 8192;
18047     pub const nsIRequest_LOAD_ANONYMOUS: root::nsIRequest__bindgen_ty_1 = 16384;
18048     pub const nsIRequest_LOAD_FRESH_CONNECTION: root::nsIRequest__bindgen_ty_1 = 32768;
18049     pub type nsIRequest__bindgen_ty_1 = u32;
18050     #[test]
bindgen_test_layout_nsIRequest()18051     fn bindgen_test_layout_nsIRequest() {
18052         assert_eq!(
18053             ::std::mem::size_of::<nsIRequest>(),
18054             8usize,
18055             concat!("Size of: ", stringify!(nsIRequest))
18056         );
18057         assert_eq!(
18058             ::std::mem::align_of::<nsIRequest>(),
18059             8usize,
18060             concat!("Alignment of ", stringify!(nsIRequest))
18061         );
18062     }
18063     impl Clone for nsIRequest {
clone(&self) -> Self18064         fn clone(&self) -> Self {
18065             *self
18066         }
18067     }
18068     #[repr(C)]
18069     #[derive(Debug, Copy)]
18070     pub struct nsIContentPolicy {
18071         pub _base: root::nsISupports,
18072     }
18073     #[repr(C)]
18074     #[derive(Debug, Copy, Clone)]
18075     pub struct nsIContentPolicy_COMTypeInfo {
18076         pub _address: u8,
18077     }
18078     pub const nsIContentPolicy_TYPE_INVALID: root::nsIContentPolicy__bindgen_ty_1 = 0;
18079     pub const nsIContentPolicy_TYPE_OTHER: root::nsIContentPolicy__bindgen_ty_1 = 1;
18080     pub const nsIContentPolicy_TYPE_SCRIPT: root::nsIContentPolicy__bindgen_ty_1 = 2;
18081     pub const nsIContentPolicy_TYPE_IMAGE: root::nsIContentPolicy__bindgen_ty_1 = 3;
18082     pub const nsIContentPolicy_TYPE_STYLESHEET: root::nsIContentPolicy__bindgen_ty_1 = 4;
18083     pub const nsIContentPolicy_TYPE_OBJECT: root::nsIContentPolicy__bindgen_ty_1 = 5;
18084     pub const nsIContentPolicy_TYPE_DOCUMENT: root::nsIContentPolicy__bindgen_ty_1 = 6;
18085     pub const nsIContentPolicy_TYPE_SUBDOCUMENT: root::nsIContentPolicy__bindgen_ty_1 = 7;
18086     pub const nsIContentPolicy_TYPE_REFRESH: root::nsIContentPolicy__bindgen_ty_1 = 8;
18087     pub const nsIContentPolicy_TYPE_XBL: root::nsIContentPolicy__bindgen_ty_1 = 9;
18088     pub const nsIContentPolicy_TYPE_PING: root::nsIContentPolicy__bindgen_ty_1 = 10;
18089     pub const nsIContentPolicy_TYPE_XMLHTTPREQUEST: root::nsIContentPolicy__bindgen_ty_1 = 11;
18090     pub const nsIContentPolicy_TYPE_DATAREQUEST: root::nsIContentPolicy__bindgen_ty_1 = 11;
18091     pub const nsIContentPolicy_TYPE_OBJECT_SUBREQUEST: root::nsIContentPolicy__bindgen_ty_1 = 12;
18092     pub const nsIContentPolicy_TYPE_DTD: root::nsIContentPolicy__bindgen_ty_1 = 13;
18093     pub const nsIContentPolicy_TYPE_FONT: root::nsIContentPolicy__bindgen_ty_1 = 14;
18094     pub const nsIContentPolicy_TYPE_MEDIA: root::nsIContentPolicy__bindgen_ty_1 = 15;
18095     pub const nsIContentPolicy_TYPE_WEBSOCKET: root::nsIContentPolicy__bindgen_ty_1 = 16;
18096     pub const nsIContentPolicy_TYPE_CSP_REPORT: root::nsIContentPolicy__bindgen_ty_1 = 17;
18097     pub const nsIContentPolicy_TYPE_XSLT: root::nsIContentPolicy__bindgen_ty_1 = 18;
18098     pub const nsIContentPolicy_TYPE_BEACON: root::nsIContentPolicy__bindgen_ty_1 = 19;
18099     pub const nsIContentPolicy_TYPE_FETCH: root::nsIContentPolicy__bindgen_ty_1 = 20;
18100     pub const nsIContentPolicy_TYPE_IMAGESET: root::nsIContentPolicy__bindgen_ty_1 = 21;
18101     pub const nsIContentPolicy_TYPE_WEB_MANIFEST: root::nsIContentPolicy__bindgen_ty_1 = 22;
18102     pub const nsIContentPolicy_TYPE_SAVEAS_DOWNLOAD: root::nsIContentPolicy__bindgen_ty_1 = 43;
18103     pub const nsIContentPolicy_TYPE_INTERNAL_SCRIPT: root::nsIContentPolicy__bindgen_ty_1 = 23;
18104     pub const nsIContentPolicy_TYPE_INTERNAL_WORKER: root::nsIContentPolicy__bindgen_ty_1 = 24;
18105     pub const nsIContentPolicy_TYPE_INTERNAL_SHARED_WORKER: root::nsIContentPolicy__bindgen_ty_1 =
18106         25;
18107     pub const nsIContentPolicy_TYPE_INTERNAL_EMBED: root::nsIContentPolicy__bindgen_ty_1 = 26;
18108     pub const nsIContentPolicy_TYPE_INTERNAL_OBJECT: root::nsIContentPolicy__bindgen_ty_1 = 27;
18109     pub const nsIContentPolicy_TYPE_INTERNAL_FRAME: root::nsIContentPolicy__bindgen_ty_1 = 28;
18110     pub const nsIContentPolicy_TYPE_INTERNAL_IFRAME: root::nsIContentPolicy__bindgen_ty_1 = 29;
18111     pub const nsIContentPolicy_TYPE_INTERNAL_AUDIO: root::nsIContentPolicy__bindgen_ty_1 = 30;
18112     pub const nsIContentPolicy_TYPE_INTERNAL_VIDEO: root::nsIContentPolicy__bindgen_ty_1 = 31;
18113     pub const nsIContentPolicy_TYPE_INTERNAL_TRACK: root::nsIContentPolicy__bindgen_ty_1 = 32;
18114     pub const nsIContentPolicy_TYPE_INTERNAL_XMLHTTPREQUEST: root::nsIContentPolicy__bindgen_ty_1 =
18115         33;
18116     pub const nsIContentPolicy_TYPE_INTERNAL_EVENTSOURCE: root::nsIContentPolicy__bindgen_ty_1 = 34;
18117     pub const nsIContentPolicy_TYPE_INTERNAL_SERVICE_WORKER: root::nsIContentPolicy__bindgen_ty_1 =
18118         35;
18119     pub const nsIContentPolicy_TYPE_INTERNAL_SCRIPT_PRELOAD: root::nsIContentPolicy__bindgen_ty_1 =
18120         36;
18121     pub const nsIContentPolicy_TYPE_INTERNAL_IMAGE: root::nsIContentPolicy__bindgen_ty_1 = 37;
18122     pub const nsIContentPolicy_TYPE_INTERNAL_IMAGE_PRELOAD: root::nsIContentPolicy__bindgen_ty_1 =
18123         38;
18124     pub const nsIContentPolicy_TYPE_INTERNAL_STYLESHEET: root::nsIContentPolicy__bindgen_ty_1 = 39;
18125     pub const nsIContentPolicy_TYPE_INTERNAL_STYLESHEET_PRELOAD:
18126         root::nsIContentPolicy__bindgen_ty_1 = 40;
18127     pub const nsIContentPolicy_TYPE_INTERNAL_IMAGE_FAVICON: root::nsIContentPolicy__bindgen_ty_1 =
18128         41;
18129     pub const nsIContentPolicy_TYPE_INTERNAL_WORKER_IMPORT_SCRIPTS:
18130         root::nsIContentPolicy__bindgen_ty_1 = 42;
18131     pub const nsIContentPolicy_REJECT_REQUEST: root::nsIContentPolicy__bindgen_ty_1 = -1;
18132     pub const nsIContentPolicy_REJECT_TYPE: root::nsIContentPolicy__bindgen_ty_1 = -2;
18133     pub const nsIContentPolicy_REJECT_SERVER: root::nsIContentPolicy__bindgen_ty_1 = -3;
18134     pub const nsIContentPolicy_REJECT_OTHER: root::nsIContentPolicy__bindgen_ty_1 = -4;
18135     pub const nsIContentPolicy_ACCEPT: root::nsIContentPolicy__bindgen_ty_1 = 1;
18136     pub type nsIContentPolicy__bindgen_ty_1 = i32;
18137     #[test]
bindgen_test_layout_nsIContentPolicy()18138     fn bindgen_test_layout_nsIContentPolicy() {
18139         assert_eq!(
18140             ::std::mem::size_of::<nsIContentPolicy>(),
18141             8usize,
18142             concat!("Size of: ", stringify!(nsIContentPolicy))
18143         );
18144         assert_eq!(
18145             ::std::mem::align_of::<nsIContentPolicy>(),
18146             8usize,
18147             concat!("Alignment of ", stringify!(nsIContentPolicy))
18148         );
18149     }
18150     impl Clone for nsIContentPolicy {
clone(&self) -> Self18151         fn clone(&self) -> Self {
18152             *self
18153         }
18154     }
18155     /// Base class that implements parts shared by JSErrorReport and
18156     /// JSErrorNotes::Note.
18157     #[repr(C)]
18158     #[derive(Debug)]
18159     pub struct JSErrorBase {
18160         pub message_: root::JS::ConstUTF8CharsZ,
18161         pub filename: *const ::std::os::raw::c_char,
18162         pub lineno: ::std::os::raw::c_uint,
18163         pub column: ::std::os::raw::c_uint,
18164         pub errorNumber: ::std::os::raw::c_uint,
18165         pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 1usize], u8>,
18166         pub __bindgen_padding_0: [u8; 3usize],
18167     }
18168     #[test]
bindgen_test_layout_JSErrorBase()18169     fn bindgen_test_layout_JSErrorBase() {
18170         assert_eq!(
18171             ::std::mem::size_of::<JSErrorBase>(),
18172             32usize,
18173             concat!("Size of: ", stringify!(JSErrorBase))
18174         );
18175         assert_eq!(
18176             ::std::mem::align_of::<JSErrorBase>(),
18177             8usize,
18178             concat!("Alignment of ", stringify!(JSErrorBase))
18179         );
18180         assert_eq!(
18181             unsafe { &(*(::std::ptr::null::<JSErrorBase>())).message_ as *const _ as usize },
18182             0usize,
18183             concat!(
18184                 "Offset of field: ",
18185                 stringify!(JSErrorBase),
18186                 "::",
18187                 stringify!(message_)
18188             )
18189         );
18190         assert_eq!(
18191             unsafe { &(*(::std::ptr::null::<JSErrorBase>())).filename as *const _ as usize },
18192             8usize,
18193             concat!(
18194                 "Offset of field: ",
18195                 stringify!(JSErrorBase),
18196                 "::",
18197                 stringify!(filename)
18198             )
18199         );
18200         assert_eq!(
18201             unsafe { &(*(::std::ptr::null::<JSErrorBase>())).lineno as *const _ as usize },
18202             16usize,
18203             concat!(
18204                 "Offset of field: ",
18205                 stringify!(JSErrorBase),
18206                 "::",
18207                 stringify!(lineno)
18208             )
18209         );
18210         assert_eq!(
18211             unsafe { &(*(::std::ptr::null::<JSErrorBase>())).column as *const _ as usize },
18212             20usize,
18213             concat!(
18214                 "Offset of field: ",
18215                 stringify!(JSErrorBase),
18216                 "::",
18217                 stringify!(column)
18218             )
18219         );
18220         assert_eq!(
18221             unsafe { &(*(::std::ptr::null::<JSErrorBase>())).errorNumber as *const _ as usize },
18222             24usize,
18223             concat!(
18224                 "Offset of field: ",
18225                 stringify!(JSErrorBase),
18226                 "::",
18227                 stringify!(errorNumber)
18228             )
18229         );
18230     }
18231     impl JSErrorBase {
18232         #[inline]
ownsMessage_(&self) -> bool18233         pub fn ownsMessage_(&self) -> bool {
18234             unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
18235         }
18236         #[inline]
set_ownsMessage_(&mut self, val: bool)18237         pub fn set_ownsMessage_(&mut self, val: bool) {
18238             unsafe {
18239                 let val: u8 = ::std::mem::transmute(val);
18240                 self._bitfield_1.set(0usize, 1u8, val as u64)
18241             }
18242         }
18243         #[inline]
new_bitfield_1(ownsMessage_: bool) -> root::__BindgenBitfieldUnit<[u8; 1usize], u8>18244         pub fn new_bitfield_1(ownsMessage_: bool) -> root::__BindgenBitfieldUnit<[u8; 1usize], u8> {
18245             let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
18246                 [u8; 1usize],
18247                 u8,
18248             > = Default::default();
18249             __bindgen_bitfield_unit.set(0usize, 1u8, {
18250                 let ownsMessage_: u8 = unsafe { ::std::mem::transmute(ownsMessage_) };
18251                 ownsMessage_ as u64
18252             });
18253             __bindgen_bitfield_unit
18254         }
18255     }
18256     /// Notes associated with JSErrorReport.
18257     #[repr(C)]
18258     #[derive(Debug)]
18259     pub struct JSErrorNotes {
18260         pub notes_: [u64; 4usize],
18261     }
18262     #[repr(C)]
18263     #[derive(Debug)]
18264     pub struct JSErrorNotes_Note {
18265         pub _base: root::JSErrorBase,
18266     }
18267     #[test]
bindgen_test_layout_JSErrorNotes_Note()18268     fn bindgen_test_layout_JSErrorNotes_Note() {
18269         assert_eq!(
18270             ::std::mem::size_of::<JSErrorNotes_Note>(),
18271             32usize,
18272             concat!("Size of: ", stringify!(JSErrorNotes_Note))
18273         );
18274         assert_eq!(
18275             ::std::mem::align_of::<JSErrorNotes_Note>(),
18276             8usize,
18277             concat!("Alignment of ", stringify!(JSErrorNotes_Note))
18278         );
18279     }
18280     #[repr(C)]
18281     #[derive(Debug)]
18282     pub struct JSErrorNotes_iterator {
18283         pub note_: *mut root::mozilla::UniquePtr<root::JSErrorNotes_Note>,
18284     }
18285     #[test]
bindgen_test_layout_JSErrorNotes_iterator()18286     fn bindgen_test_layout_JSErrorNotes_iterator() {
18287         assert_eq!(
18288             ::std::mem::size_of::<JSErrorNotes_iterator>(),
18289             8usize,
18290             concat!("Size of: ", stringify!(JSErrorNotes_iterator))
18291         );
18292         assert_eq!(
18293             ::std::mem::align_of::<JSErrorNotes_iterator>(),
18294             8usize,
18295             concat!("Alignment of ", stringify!(JSErrorNotes_iterator))
18296         );
18297         assert_eq!(
18298             unsafe { &(*(::std::ptr::null::<JSErrorNotes_iterator>())).note_ as *const _ as usize },
18299             0usize,
18300             concat!(
18301                 "Offset of field: ",
18302                 stringify!(JSErrorNotes_iterator),
18303                 "::",
18304                 stringify!(note_)
18305             )
18306         );
18307     }
18308     #[test]
bindgen_test_layout_JSErrorNotes()18309     fn bindgen_test_layout_JSErrorNotes() {
18310         assert_eq!(
18311             ::std::mem::size_of::<JSErrorNotes>(),
18312             32usize,
18313             concat!("Size of: ", stringify!(JSErrorNotes))
18314         );
18315         assert_eq!(
18316             ::std::mem::align_of::<JSErrorNotes>(),
18317             8usize,
18318             concat!("Alignment of ", stringify!(JSErrorNotes))
18319         );
18320         assert_eq!(
18321             unsafe { &(*(::std::ptr::null::<JSErrorNotes>())).notes_ as *const _ as usize },
18322             0usize,
18323             concat!(
18324                 "Offset of field: ",
18325                 stringify!(JSErrorNotes),
18326                 "::",
18327                 stringify!(notes_)
18328             )
18329         );
18330     }
18331     #[repr(C)]
18332     #[derive(Debug, Copy)]
18333     pub struct nsISerializable {
18334         pub _base: root::nsISupports,
18335     }
18336     #[repr(C)]
18337     #[derive(Debug, Copy, Clone)]
18338     pub struct nsISerializable_COMTypeInfo {
18339         pub _address: u8,
18340     }
18341     #[test]
bindgen_test_layout_nsISerializable()18342     fn bindgen_test_layout_nsISerializable() {
18343         assert_eq!(
18344             ::std::mem::size_of::<nsISerializable>(),
18345             8usize,
18346             concat!("Size of: ", stringify!(nsISerializable))
18347         );
18348         assert_eq!(
18349             ::std::mem::align_of::<nsISerializable>(),
18350             8usize,
18351             concat!("Alignment of ", stringify!(nsISerializable))
18352         );
18353     }
18354     impl Clone for nsISerializable {
clone(&self) -> Self18355         fn clone(&self) -> Self {
18356             *self
18357         }
18358     }
18359     #[repr(C)]
18360     #[derive(Debug, Copy)]
18361     pub struct nsIPrincipal {
18362         pub _base: root::nsISerializable,
18363     }
18364     #[repr(C)]
18365     #[derive(Debug, Copy, Clone)]
18366     pub struct nsIPrincipal_COMTypeInfo {
18367         pub _address: u8,
18368     }
18369     #[test]
bindgen_test_layout_nsIPrincipal()18370     fn bindgen_test_layout_nsIPrincipal() {
18371         assert_eq!(
18372             ::std::mem::size_of::<nsIPrincipal>(),
18373             8usize,
18374             concat!("Size of: ", stringify!(nsIPrincipal))
18375         );
18376         assert_eq!(
18377             ::std::mem::align_of::<nsIPrincipal>(),
18378             8usize,
18379             concat!("Alignment of ", stringify!(nsIPrincipal))
18380         );
18381     }
18382     impl Clone for nsIPrincipal {
clone(&self) -> Self18383         fn clone(&self) -> Self {
18384             *self
18385         }
18386     }
18387     #[repr(C)]
18388     #[derive(Debug, Copy)]
18389     pub struct nsIDocShell {
18390         _unused: [u8; 0],
18391     }
18392     impl Clone for nsIDocShell {
clone(&self) -> Self18393         fn clone(&self) -> Self {
18394             *self
18395         }
18396     }
18397     #[repr(C)]
18398     #[derive(Debug, Copy)]
18399     pub struct nsIScriptSecurityManager {
18400         pub _base: root::nsISupports,
18401     }
18402     #[repr(C)]
18403     #[derive(Debug, Copy, Clone)]
18404     pub struct nsIScriptSecurityManager_COMTypeInfo {
18405         pub _address: u8,
18406     }
18407     pub const nsIScriptSecurityManager_STANDARD: root::nsIScriptSecurityManager__bindgen_ty_1 = 0;
18408     pub const nsIScriptSecurityManager_LOAD_IS_AUTOMATIC_DOCUMENT_REPLACEMENT:
18409         root::nsIScriptSecurityManager__bindgen_ty_1 = 1;
18410     pub const nsIScriptSecurityManager_ALLOW_CHROME: root::nsIScriptSecurityManager__bindgen_ty_1 =
18411         2;
18412     pub const nsIScriptSecurityManager_DISALLOW_INHERIT_PRINCIPAL:
18413         root::nsIScriptSecurityManager__bindgen_ty_1 = 4;
18414     pub const nsIScriptSecurityManager_DISALLOW_SCRIPT_OR_DATA:
18415         root::nsIScriptSecurityManager__bindgen_ty_1 = 4;
18416     pub const nsIScriptSecurityManager_DISALLOW_SCRIPT:
18417         root::nsIScriptSecurityManager__bindgen_ty_1 = 8;
18418     pub const nsIScriptSecurityManager_DONT_REPORT_ERRORS:
18419         root::nsIScriptSecurityManager__bindgen_ty_1 = 16;
18420     pub type nsIScriptSecurityManager__bindgen_ty_1 = u32;
18421     pub const nsIScriptSecurityManager_NO_APP_ID: root::nsIScriptSecurityManager__bindgen_ty_2 = 0;
18422     pub const nsIScriptSecurityManager_UNKNOWN_APP_ID:
18423         root::nsIScriptSecurityManager__bindgen_ty_2 = 4294967295;
18424     pub const nsIScriptSecurityManager_DEFAULT_USER_CONTEXT_ID:
18425         root::nsIScriptSecurityManager__bindgen_ty_2 = 0;
18426     pub type nsIScriptSecurityManager__bindgen_ty_2 = u32;
18427     #[test]
bindgen_test_layout_nsIScriptSecurityManager()18428     fn bindgen_test_layout_nsIScriptSecurityManager() {
18429         assert_eq!(
18430             ::std::mem::size_of::<nsIScriptSecurityManager>(),
18431             8usize,
18432             concat!("Size of: ", stringify!(nsIScriptSecurityManager))
18433         );
18434         assert_eq!(
18435             ::std::mem::align_of::<nsIScriptSecurityManager>(),
18436             8usize,
18437             concat!("Alignment of ", stringify!(nsIScriptSecurityManager))
18438         );
18439     }
18440     impl Clone for nsIScriptSecurityManager {
clone(&self) -> Self18441         fn clone(&self) -> Self {
18442             *self
18443         }
18444     }
18445     #[repr(C)]
18446     #[derive(Debug, Copy)]
18447     pub struct nsIChannel {
18448         pub _base: root::nsIRequest,
18449     }
18450     #[repr(C)]
18451     #[derive(Debug, Copy, Clone)]
18452     pub struct nsIChannel_COMTypeInfo {
18453         pub _address: u8,
18454     }
18455     pub const nsIChannel_LOAD_DOCUMENT_URI: root::nsIChannel__bindgen_ty_1 = 65536;
18456     pub const nsIChannel_LOAD_RETARGETED_DOCUMENT_URI: root::nsIChannel__bindgen_ty_1 = 131072;
18457     pub const nsIChannel_LOAD_REPLACE: root::nsIChannel__bindgen_ty_1 = 262144;
18458     pub const nsIChannel_LOAD_INITIAL_DOCUMENT_URI: root::nsIChannel__bindgen_ty_1 = 524288;
18459     pub const nsIChannel_LOAD_TARGETED: root::nsIChannel__bindgen_ty_1 = 1048576;
18460     pub const nsIChannel_LOAD_CALL_CONTENT_SNIFFERS: root::nsIChannel__bindgen_ty_1 = 2097152;
18461     pub const nsIChannel_LOAD_CLASSIFY_URI: root::nsIChannel__bindgen_ty_1 = 4194304;
18462     pub const nsIChannel_LOAD_MEDIA_SNIFFER_OVERRIDES_CONTENT_TYPE: root::nsIChannel__bindgen_ty_1 =
18463         8388608;
18464     pub const nsIChannel_LOAD_EXPLICIT_CREDENTIALS: root::nsIChannel__bindgen_ty_1 = 16777216;
18465     pub const nsIChannel_LOAD_BYPASS_SERVICE_WORKER: root::nsIChannel__bindgen_ty_1 = 33554432;
18466     pub type nsIChannel__bindgen_ty_1 = u32;
18467     pub const nsIChannel_DISPOSITION_INLINE: root::nsIChannel__bindgen_ty_2 = 0;
18468     pub const nsIChannel_DISPOSITION_ATTACHMENT: root::nsIChannel__bindgen_ty_2 = 1;
18469     pub type nsIChannel__bindgen_ty_2 = u32;
18470     #[test]
bindgen_test_layout_nsIChannel()18471     fn bindgen_test_layout_nsIChannel() {
18472         assert_eq!(
18473             ::std::mem::size_of::<nsIChannel>(),
18474             8usize,
18475             concat!("Size of: ", stringify!(nsIChannel))
18476         );
18477         assert_eq!(
18478             ::std::mem::align_of::<nsIChannel>(),
18479             8usize,
18480             concat!("Alignment of ", stringify!(nsIChannel))
18481         );
18482     }
18483     impl Clone for nsIChannel {
clone(&self) -> Self18484         fn clone(&self) -> Self {
18485             *self
18486         }
18487     }
18488     #[repr(C)]
18489     #[derive(Debug, Copy)]
18490     pub struct nsICSSLoaderObserver {
18491         pub _base: root::nsISupports,
18492     }
18493     #[repr(C)]
18494     #[derive(Debug, Copy, Clone)]
18495     pub struct nsICSSLoaderObserver_COMTypeInfo {
18496         pub _address: u8,
18497     }
18498     #[test]
bindgen_test_layout_nsICSSLoaderObserver()18499     fn bindgen_test_layout_nsICSSLoaderObserver() {
18500         assert_eq!(
18501             ::std::mem::size_of::<nsICSSLoaderObserver>(),
18502             8usize,
18503             concat!("Size of: ", stringify!(nsICSSLoaderObserver))
18504         );
18505         assert_eq!(
18506             ::std::mem::align_of::<nsICSSLoaderObserver>(),
18507             8usize,
18508             concat!("Alignment of ", stringify!(nsICSSLoaderObserver))
18509         );
18510     }
18511     impl Clone for nsICSSLoaderObserver {
clone(&self) -> Self18512         fn clone(&self) -> Self {
18513             *self
18514         }
18515     }
18516     #[repr(C)]
18517     pub struct nsCycleCollectionParticipant__bindgen_vtable(::std::os::raw::c_void);
18518     /// Participant implementation classes
18519     #[repr(C)]
18520     #[derive(Debug, Copy)]
18521     pub struct nsCycleCollectionParticipant {
18522         pub vtable_: *const nsCycleCollectionParticipant__bindgen_vtable,
18523         pub mMightSkip: bool,
18524         pub mTraverseShouldTrace: bool,
18525     }
18526     #[test]
bindgen_test_layout_nsCycleCollectionParticipant()18527     fn bindgen_test_layout_nsCycleCollectionParticipant() {
18528         assert_eq!(
18529             ::std::mem::size_of::<nsCycleCollectionParticipant>(),
18530             16usize,
18531             concat!("Size of: ", stringify!(nsCycleCollectionParticipant))
18532         );
18533         assert_eq!(
18534             ::std::mem::align_of::<nsCycleCollectionParticipant>(),
18535             8usize,
18536             concat!("Alignment of ", stringify!(nsCycleCollectionParticipant))
18537         );
18538         assert_eq!(
18539             unsafe {
18540                 &(*(::std::ptr::null::<nsCycleCollectionParticipant>())).mMightSkip as *const _
18541                     as usize
18542             },
18543             8usize,
18544             concat!(
18545                 "Offset of field: ",
18546                 stringify!(nsCycleCollectionParticipant),
18547                 "::",
18548                 stringify!(mMightSkip)
18549             )
18550         );
18551         assert_eq!(
18552             unsafe {
18553                 &(*(::std::ptr::null::<nsCycleCollectionParticipant>())).mTraverseShouldTrace
18554                     as *const _ as usize
18555             },
18556             9usize,
18557             concat!(
18558                 "Offset of field: ",
18559                 stringify!(nsCycleCollectionParticipant),
18560                 "::",
18561                 stringify!(mTraverseShouldTrace)
18562             )
18563         );
18564     }
18565     impl Clone for nsCycleCollectionParticipant {
clone(&self) -> Self18566         fn clone(&self) -> Self {
18567             *self
18568         }
18569     }
18570     #[repr(C)]
18571     #[derive(Debug, Copy)]
18572     pub struct nsScriptObjectTracer {
18573         pub _base: root::nsCycleCollectionParticipant,
18574     }
18575     #[test]
bindgen_test_layout_nsScriptObjectTracer()18576     fn bindgen_test_layout_nsScriptObjectTracer() {
18577         assert_eq!(
18578             ::std::mem::size_of::<nsScriptObjectTracer>(),
18579             16usize,
18580             concat!("Size of: ", stringify!(nsScriptObjectTracer))
18581         );
18582         assert_eq!(
18583             ::std::mem::align_of::<nsScriptObjectTracer>(),
18584             8usize,
18585             concat!("Alignment of ", stringify!(nsScriptObjectTracer))
18586         );
18587     }
18588     impl Clone for nsScriptObjectTracer {
clone(&self) -> Self18589         fn clone(&self) -> Self {
18590             *self
18591         }
18592     }
18593     #[repr(C)]
18594     #[derive(Debug, Copy)]
18595     pub struct nsXPCOMCycleCollectionParticipant {
18596         pub _base: root::nsScriptObjectTracer,
18597     }
18598     #[repr(C)]
18599     #[derive(Debug, Copy, Clone)]
18600     pub struct nsXPCOMCycleCollectionParticipant_COMTypeInfo {
18601         pub _address: u8,
18602     }
18603     #[test]
bindgen_test_layout_nsXPCOMCycleCollectionParticipant()18604     fn bindgen_test_layout_nsXPCOMCycleCollectionParticipant() {
18605         assert_eq!(
18606             ::std::mem::size_of::<nsXPCOMCycleCollectionParticipant>(),
18607             16usize,
18608             concat!("Size of: ", stringify!(nsXPCOMCycleCollectionParticipant))
18609         );
18610         assert_eq!(
18611             ::std::mem::align_of::<nsXPCOMCycleCollectionParticipant>(),
18612             8usize,
18613             concat!(
18614                 "Alignment of ",
18615                 stringify!(nsXPCOMCycleCollectionParticipant)
18616             )
18617         );
18618     }
18619     impl Clone for nsXPCOMCycleCollectionParticipant {
clone(&self) -> Self18620         fn clone(&self) -> Self {
18621             *self
18622         }
18623     }
18624     #[repr(C)]
18625     pub struct nsWrapperCache__bindgen_vtable(::std::os::raw::c_void);
18626     /// Class to store the wrapper for an object. This can only be used with objects
18627     /// that only have one non-security wrapper at a time (for an XPCWrappedNative
18628     /// this is usually ensured by setting an explicit parent in the PreCreate hook
18629     /// for the class).
18630     ///
18631     /// An instance of nsWrapperCache can be gotten from an object that implements
18632     /// a wrapper cache by calling QueryInterface on it. Note that this breaks XPCOM
18633     /// rules a bit (this object doesn't derive from nsISupports).
18634     ///
18635     /// The cache can store objects other than wrappers. We allow wrappers to use a
18636     /// separate JSObject to store their state (mostly expandos). If the wrapper is
18637     /// collected and we want to preserve this state we actually store the state
18638     /// object in the cache.
18639     ///
18640     /// The cache can store 2 types of objects:
18641     ///
18642     /// If WRAPPER_IS_NOT_DOM_BINDING is set (IsDOMBinding() returns false):
18643     /// - the JSObject of an XPCWrappedNative wrapper
18644     ///
18645     /// If WRAPPER_IS_NOT_DOM_BINDING is not set (IsDOMBinding() returns true):
18646     /// - a DOM binding object (regular JS object or proxy)
18647     ///
18648     /// The finalizer for the wrapper clears the cache.
18649     ///
18650     /// A compacting GC can move the wrapper object. Pointers to moved objects are
18651     /// usually found and updated by tracing the heap, however non-preserved wrappers
18652     /// are weak references and are not traced, so another approach is
18653     /// necessary. Instead a class hook (objectMovedOp) is provided that is called
18654     /// when an object is moved and is responsible for ensuring pointers are
18655     /// updated. It does this by calling UpdateWrapper() on the wrapper
18656     /// cache. SetWrapper() asserts that the hook is implemented for any wrapper set.
18657     ///
18658     /// A number of the methods are implemented in nsWrapperCacheInlines.h because we
18659     /// have to include some JS headers that don't play nicely with the rest of the
18660     /// codebase. Include nsWrapperCacheInlines.h if you need to call those methods.
18661     #[repr(C)]
18662     #[derive(Debug)]
18663     pub struct nsWrapperCache {
18664         pub vtable_: *const nsWrapperCache__bindgen_vtable,
18665         pub mWrapper: *mut root::JSObject,
18666         pub mFlags: root::nsWrapperCache_FlagsType,
18667         pub mBoolFlags: u32,
18668     }
18669     #[repr(C)]
18670     #[derive(Debug, Copy, Clone)]
18671     pub struct nsWrapperCache_COMTypeInfo {
18672         pub _address: u8,
18673     }
18674     pub type nsWrapperCache_FlagsType = u32;
18675     pub const nsWrapperCache_WRAPPER_BIT_PRESERVED: root::nsWrapperCache__bindgen_ty_1 = 1;
18676     /// If this bit is set then we're preserving the wrapper, which in effect ties
18677     /// the lifetime of the JS object stored in the cache to the lifetime of the
18678     /// native object. We rely on the cycle collector to break the cycle that this
18679     /// causes between the native object and the JS object, so it is important that
18680     /// any native object that supports preserving of its wrapper
18681     /// traces/traverses/unlinks the cached JS object (see
18682     /// NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER and
18683     /// NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER).
18684     pub type nsWrapperCache__bindgen_ty_1 = u32;
18685     pub const nsWrapperCache_WRAPPER_IS_NOT_DOM_BINDING: root::nsWrapperCache__bindgen_ty_2 = 2;
18686     /// If this bit is set then the wrapper for the native object is not a DOM
18687     /// binding.
18688     pub type nsWrapperCache__bindgen_ty_2 = u32;
18689     pub const nsWrapperCache_kWrapperFlagsMask: root::nsWrapperCache__bindgen_ty_3 = 3;
18690     pub type nsWrapperCache__bindgen_ty_3 = u32;
18691     #[test]
bindgen_test_layout_nsWrapperCache()18692     fn bindgen_test_layout_nsWrapperCache() {
18693         assert_eq!(
18694             ::std::mem::size_of::<nsWrapperCache>(),
18695             24usize,
18696             concat!("Size of: ", stringify!(nsWrapperCache))
18697         );
18698         assert_eq!(
18699             ::std::mem::align_of::<nsWrapperCache>(),
18700             8usize,
18701             concat!("Alignment of ", stringify!(nsWrapperCache))
18702         );
18703         assert_eq!(
18704             unsafe { &(*(::std::ptr::null::<nsWrapperCache>())).mWrapper as *const _ as usize },
18705             8usize,
18706             concat!(
18707                 "Offset of field: ",
18708                 stringify!(nsWrapperCache),
18709                 "::",
18710                 stringify!(mWrapper)
18711             )
18712         );
18713         assert_eq!(
18714             unsafe { &(*(::std::ptr::null::<nsWrapperCache>())).mFlags as *const _ as usize },
18715             16usize,
18716             concat!(
18717                 "Offset of field: ",
18718                 stringify!(nsWrapperCache),
18719                 "::",
18720                 stringify!(mFlags)
18721             )
18722         );
18723         assert_eq!(
18724             unsafe { &(*(::std::ptr::null::<nsWrapperCache>())).mBoolFlags as *const _ as usize },
18725             20usize,
18726             concat!(
18727                 "Offset of field: ",
18728                 stringify!(nsWrapperCache),
18729                 "::",
18730                 stringify!(mBoolFlags)
18731             )
18732         );
18733     }
18734     pub type gfxSize = [u64; 2usize];
18735     #[repr(C)]
18736     #[derive(Debug, Copy)]
18737     pub struct nsIDOMNode {
18738         pub _base: root::nsISupports,
18739     }
18740     #[repr(C)]
18741     #[derive(Debug, Copy, Clone)]
18742     pub struct nsIDOMNode_COMTypeInfo {
18743         pub _address: u8,
18744     }
18745     #[test]
bindgen_test_layout_nsIDOMNode()18746     fn bindgen_test_layout_nsIDOMNode() {
18747         assert_eq!(
18748             ::std::mem::size_of::<nsIDOMNode>(),
18749             8usize,
18750             concat!("Size of: ", stringify!(nsIDOMNode))
18751         );
18752         assert_eq!(
18753             ::std::mem::align_of::<nsIDOMNode>(),
18754             8usize,
18755             concat!("Alignment of ", stringify!(nsIDOMNode))
18756         );
18757     }
18758     impl Clone for nsIDOMNode {
clone(&self) -> Self18759         fn clone(&self) -> Self {
18760             *self
18761         }
18762     }
18763     pub const kNameSpaceID_None: i32 = 0;
18764     pub type PLHashNumber = root::PRUint32;
18765     pub type PLHashFunction = ::std::option::Option<
18766         unsafe extern "C" fn(key: *const ::std::os::raw::c_void) -> root::PLHashNumber,
18767     >;
18768     pub type PLHashComparator = ::std::option::Option<
18769         unsafe extern "C" fn(v1: *const ::std::os::raw::c_void, v2: *const ::std::os::raw::c_void)
18770             -> root::PRIntn,
18771     >;
18772     #[repr(C)]
18773     #[derive(Debug, Copy)]
18774     pub struct PLHashAllocOps {
18775         pub allocTable: ::std::option::Option<
18776             unsafe extern "C" fn(pool: *mut ::std::os::raw::c_void, size: root::PRSize)
18777                 -> *mut ::std::os::raw::c_void,
18778         >,
18779         pub freeTable: ::std::option::Option<
18780             unsafe extern "C" fn(
18781                 pool: *mut ::std::os::raw::c_void,
18782                 item: *mut ::std::os::raw::c_void,
18783             ),
18784         >,
18785         pub allocEntry: ::std::option::Option<
18786             unsafe extern "C" fn(
18787                 pool: *mut ::std::os::raw::c_void,
18788                 key: *const ::std::os::raw::c_void,
18789             ) -> *mut root::PLHashEntry,
18790         >,
18791         pub freeEntry: ::std::option::Option<
18792             unsafe extern "C" fn(
18793                 pool: *mut ::std::os::raw::c_void,
18794                 he: *mut root::PLHashEntry,
18795                 flag: root::PRUintn,
18796             ),
18797         >,
18798     }
18799     #[test]
bindgen_test_layout_PLHashAllocOps()18800     fn bindgen_test_layout_PLHashAllocOps() {
18801         assert_eq!(
18802             ::std::mem::size_of::<PLHashAllocOps>(),
18803             32usize,
18804             concat!("Size of: ", stringify!(PLHashAllocOps))
18805         );
18806         assert_eq!(
18807             ::std::mem::align_of::<PLHashAllocOps>(),
18808             8usize,
18809             concat!("Alignment of ", stringify!(PLHashAllocOps))
18810         );
18811         assert_eq!(
18812             unsafe { &(*(::std::ptr::null::<PLHashAllocOps>())).allocTable as *const _ as usize },
18813             0usize,
18814             concat!(
18815                 "Offset of field: ",
18816                 stringify!(PLHashAllocOps),
18817                 "::",
18818                 stringify!(allocTable)
18819             )
18820         );
18821         assert_eq!(
18822             unsafe { &(*(::std::ptr::null::<PLHashAllocOps>())).freeTable as *const _ as usize },
18823             8usize,
18824             concat!(
18825                 "Offset of field: ",
18826                 stringify!(PLHashAllocOps),
18827                 "::",
18828                 stringify!(freeTable)
18829             )
18830         );
18831         assert_eq!(
18832             unsafe { &(*(::std::ptr::null::<PLHashAllocOps>())).allocEntry as *const _ as usize },
18833             16usize,
18834             concat!(
18835                 "Offset of field: ",
18836                 stringify!(PLHashAllocOps),
18837                 "::",
18838                 stringify!(allocEntry)
18839             )
18840         );
18841         assert_eq!(
18842             unsafe { &(*(::std::ptr::null::<PLHashAllocOps>())).freeEntry as *const _ as usize },
18843             24usize,
18844             concat!(
18845                 "Offset of field: ",
18846                 stringify!(PLHashAllocOps),
18847                 "::",
18848                 stringify!(freeEntry)
18849             )
18850         );
18851     }
18852     impl Clone for PLHashAllocOps {
clone(&self) -> Self18853         fn clone(&self) -> Self {
18854             *self
18855         }
18856     }
18857     #[repr(C)]
18858     #[derive(Debug, Copy)]
18859     pub struct PLHashEntry {
18860         pub next: *mut root::PLHashEntry,
18861         pub keyHash: root::PLHashNumber,
18862         pub key: *const ::std::os::raw::c_void,
18863         pub value: *mut ::std::os::raw::c_void,
18864     }
18865     #[test]
bindgen_test_layout_PLHashEntry()18866     fn bindgen_test_layout_PLHashEntry() {
18867         assert_eq!(
18868             ::std::mem::size_of::<PLHashEntry>(),
18869             32usize,
18870             concat!("Size of: ", stringify!(PLHashEntry))
18871         );
18872         assert_eq!(
18873             ::std::mem::align_of::<PLHashEntry>(),
18874             8usize,
18875             concat!("Alignment of ", stringify!(PLHashEntry))
18876         );
18877         assert_eq!(
18878             unsafe { &(*(::std::ptr::null::<PLHashEntry>())).next as *const _ as usize },
18879             0usize,
18880             concat!(
18881                 "Offset of field: ",
18882                 stringify!(PLHashEntry),
18883                 "::",
18884                 stringify!(next)
18885             )
18886         );
18887         assert_eq!(
18888             unsafe { &(*(::std::ptr::null::<PLHashEntry>())).keyHash as *const _ as usize },
18889             8usize,
18890             concat!(
18891                 "Offset of field: ",
18892                 stringify!(PLHashEntry),
18893                 "::",
18894                 stringify!(keyHash)
18895             )
18896         );
18897         assert_eq!(
18898             unsafe { &(*(::std::ptr::null::<PLHashEntry>())).key as *const _ as usize },
18899             16usize,
18900             concat!(
18901                 "Offset of field: ",
18902                 stringify!(PLHashEntry),
18903                 "::",
18904                 stringify!(key)
18905             )
18906         );
18907         assert_eq!(
18908             unsafe { &(*(::std::ptr::null::<PLHashEntry>())).value as *const _ as usize },
18909             24usize,
18910             concat!(
18911                 "Offset of field: ",
18912                 stringify!(PLHashEntry),
18913                 "::",
18914                 stringify!(value)
18915             )
18916         );
18917     }
18918     impl Clone for PLHashEntry {
clone(&self) -> Self18919         fn clone(&self) -> Self {
18920             *self
18921         }
18922     }
18923     #[repr(C)]
18924     #[derive(Debug, Copy)]
18925     pub struct PLHashTable {
18926         pub buckets: *mut *mut root::PLHashEntry,
18927         pub nentries: root::PRUint32,
18928         pub shift: root::PRUint32,
18929         pub keyHash: root::PLHashFunction,
18930         pub keyCompare: root::PLHashComparator,
18931         pub valueCompare: root::PLHashComparator,
18932         pub allocOps: *const root::PLHashAllocOps,
18933         pub allocPriv: *mut ::std::os::raw::c_void,
18934     }
18935     #[test]
bindgen_test_layout_PLHashTable()18936     fn bindgen_test_layout_PLHashTable() {
18937         assert_eq!(
18938             ::std::mem::size_of::<PLHashTable>(),
18939             56usize,
18940             concat!("Size of: ", stringify!(PLHashTable))
18941         );
18942         assert_eq!(
18943             ::std::mem::align_of::<PLHashTable>(),
18944             8usize,
18945             concat!("Alignment of ", stringify!(PLHashTable))
18946         );
18947         assert_eq!(
18948             unsafe { &(*(::std::ptr::null::<PLHashTable>())).buckets as *const _ as usize },
18949             0usize,
18950             concat!(
18951                 "Offset of field: ",
18952                 stringify!(PLHashTable),
18953                 "::",
18954                 stringify!(buckets)
18955             )
18956         );
18957         assert_eq!(
18958             unsafe { &(*(::std::ptr::null::<PLHashTable>())).nentries as *const _ as usize },
18959             8usize,
18960             concat!(
18961                 "Offset of field: ",
18962                 stringify!(PLHashTable),
18963                 "::",
18964                 stringify!(nentries)
18965             )
18966         );
18967         assert_eq!(
18968             unsafe { &(*(::std::ptr::null::<PLHashTable>())).shift as *const _ as usize },
18969             12usize,
18970             concat!(
18971                 "Offset of field: ",
18972                 stringify!(PLHashTable),
18973                 "::",
18974                 stringify!(shift)
18975             )
18976         );
18977         assert_eq!(
18978             unsafe { &(*(::std::ptr::null::<PLHashTable>())).keyHash as *const _ as usize },
18979             16usize,
18980             concat!(
18981                 "Offset of field: ",
18982                 stringify!(PLHashTable),
18983                 "::",
18984                 stringify!(keyHash)
18985             )
18986         );
18987         assert_eq!(
18988             unsafe { &(*(::std::ptr::null::<PLHashTable>())).keyCompare as *const _ as usize },
18989             24usize,
18990             concat!(
18991                 "Offset of field: ",
18992                 stringify!(PLHashTable),
18993                 "::",
18994                 stringify!(keyCompare)
18995             )
18996         );
18997         assert_eq!(
18998             unsafe { &(*(::std::ptr::null::<PLHashTable>())).valueCompare as *const _ as usize },
18999             32usize,
19000             concat!(
19001                 "Offset of field: ",
19002                 stringify!(PLHashTable),
19003                 "::",
19004                 stringify!(valueCompare)
19005             )
19006         );
19007         assert_eq!(
19008             unsafe { &(*(::std::ptr::null::<PLHashTable>())).allocOps as *const _ as usize },
19009             40usize,
19010             concat!(
19011                 "Offset of field: ",
19012                 stringify!(PLHashTable),
19013                 "::",
19014                 stringify!(allocOps)
19015             )
19016         );
19017         assert_eq!(
19018             unsafe { &(*(::std::ptr::null::<PLHashTable>())).allocPriv as *const _ as usize },
19019             48usize,
19020             concat!(
19021                 "Offset of field: ",
19022                 stringify!(PLHashTable),
19023                 "::",
19024                 stringify!(allocPriv)
19025             )
19026         );
19027     }
19028     impl Clone for PLHashTable {
clone(&self) -> Self19029         fn clone(&self) -> Self {
19030             *self
19031         }
19032     }
19033     #[repr(C)]
19034     #[derive(Debug, Copy)]
19035     pub struct nsIVariant {
19036         pub _base: root::nsISupports,
19037     }
19038     #[repr(C)]
19039     #[derive(Debug, Copy, Clone)]
19040     pub struct nsIVariant_COMTypeInfo {
19041         pub _address: u8,
19042     }
19043     #[test]
bindgen_test_layout_nsIVariant()19044     fn bindgen_test_layout_nsIVariant() {
19045         assert_eq!(
19046             ::std::mem::size_of::<nsIVariant>(),
19047             8usize,
19048             concat!("Size of: ", stringify!(nsIVariant))
19049         );
19050         assert_eq!(
19051             ::std::mem::align_of::<nsIVariant>(),
19052             8usize,
19053             concat!("Alignment of ", stringify!(nsIVariant))
19054         );
19055     }
19056     impl Clone for nsIVariant {
clone(&self) -> Self19057         fn clone(&self) -> Self {
19058             *self
19059         }
19060     }
19061     #[repr(C)]
19062     pub struct nsNodeInfoManager {
19063         pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
19064         pub mNodeInfoHash: *mut root::PLHashTable,
19065         pub mDocument: *mut root::nsIDocument,
19066         pub mNonDocumentNodeInfos: u32,
19067         pub mPrincipal: root::nsCOMPtr,
19068         pub mDefaultPrincipal: root::nsCOMPtr,
19069         pub mTextNodeInfo: *mut root::mozilla::dom::NodeInfo,
19070         pub mCommentNodeInfo: *mut root::mozilla::dom::NodeInfo,
19071         pub mDocumentNodeInfo: *mut root::mozilla::dom::NodeInfo,
19072         pub mBindingManager: root::RefPtr<root::nsBindingManager>,
19073         pub mRecentlyUsedNodeInfos: [*mut root::mozilla::dom::NodeInfo; 31usize],
19074         pub mSVGEnabled: root::nsNodeInfoManager_Tri,
19075         pub mMathMLEnabled: root::nsNodeInfoManager_Tri,
19076     }
19077     #[repr(C)]
19078     #[derive(Debug, Copy)]
19079     pub struct nsNodeInfoManager_cycleCollection {
19080         pub _base: root::nsCycleCollectionParticipant,
19081     }
19082     #[test]
bindgen_test_layout_nsNodeInfoManager_cycleCollection()19083     fn bindgen_test_layout_nsNodeInfoManager_cycleCollection() {
19084         assert_eq!(
19085             ::std::mem::size_of::<nsNodeInfoManager_cycleCollection>(),
19086             16usize,
19087             concat!("Size of: ", stringify!(nsNodeInfoManager_cycleCollection))
19088         );
19089         assert_eq!(
19090             ::std::mem::align_of::<nsNodeInfoManager_cycleCollection>(),
19091             8usize,
19092             concat!(
19093                 "Alignment of ",
19094                 stringify!(nsNodeInfoManager_cycleCollection)
19095             )
19096         );
19097     }
19098     impl Clone for nsNodeInfoManager_cycleCollection {
clone(&self) -> Self19099         fn clone(&self) -> Self {
19100             *self
19101         }
19102     }
19103     pub type nsNodeInfoManager_HasThreadSafeRefCnt = root::mozilla::FalseType;
19104     pub const nsNodeInfoManager_Tri_eTriUnset: root::nsNodeInfoManager_Tri = 0;
19105     pub const nsNodeInfoManager_Tri_eTriFalse: root::nsNodeInfoManager_Tri = 1;
19106     pub const nsNodeInfoManager_Tri_eTriTrue: root::nsNodeInfoManager_Tri = 2;
19107     pub type nsNodeInfoManager_Tri = u32;
19108     extern "C" {
19109         #[link_name = "\u{1}_ZN17nsNodeInfoManager21_cycleCollectorGlobalE"]
19110         pub static mut nsNodeInfoManager__cycleCollectorGlobal:
19111             root::nsNodeInfoManager_cycleCollection;
19112     }
19113     #[test]
bindgen_test_layout_nsNodeInfoManager()19114     fn bindgen_test_layout_nsNodeInfoManager() {
19115         assert_eq!(
19116             ::std::mem::size_of::<nsNodeInfoManager>(),
19117             336usize,
19118             concat!("Size of: ", stringify!(nsNodeInfoManager))
19119         );
19120         assert_eq!(
19121             ::std::mem::align_of::<nsNodeInfoManager>(),
19122             8usize,
19123             concat!("Alignment of ", stringify!(nsNodeInfoManager))
19124         );
19125         assert_eq!(
19126             unsafe { &(*(::std::ptr::null::<nsNodeInfoManager>())).mRefCnt as *const _ as usize },
19127             0usize,
19128             concat!(
19129                 "Offset of field: ",
19130                 stringify!(nsNodeInfoManager),
19131                 "::",
19132                 stringify!(mRefCnt)
19133             )
19134         );
19135         assert_eq!(
19136             unsafe {
19137                 &(*(::std::ptr::null::<nsNodeInfoManager>())).mNodeInfoHash as *const _ as usize
19138             },
19139             8usize,
19140             concat!(
19141                 "Offset of field: ",
19142                 stringify!(nsNodeInfoManager),
19143                 "::",
19144                 stringify!(mNodeInfoHash)
19145             )
19146         );
19147         assert_eq!(
19148             unsafe { &(*(::std::ptr::null::<nsNodeInfoManager>())).mDocument as *const _ as usize },
19149             16usize,
19150             concat!(
19151                 "Offset of field: ",
19152                 stringify!(nsNodeInfoManager),
19153                 "::",
19154                 stringify!(mDocument)
19155             )
19156         );
19157         assert_eq!(
19158             unsafe {
19159                 &(*(::std::ptr::null::<nsNodeInfoManager>())).mNonDocumentNodeInfos as *const _
19160                     as usize
19161             },
19162             24usize,
19163             concat!(
19164                 "Offset of field: ",
19165                 stringify!(nsNodeInfoManager),
19166                 "::",
19167                 stringify!(mNonDocumentNodeInfos)
19168             )
19169         );
19170         assert_eq!(
19171             unsafe {
19172                 &(*(::std::ptr::null::<nsNodeInfoManager>())).mPrincipal as *const _ as usize
19173             },
19174             32usize,
19175             concat!(
19176                 "Offset of field: ",
19177                 stringify!(nsNodeInfoManager),
19178                 "::",
19179                 stringify!(mPrincipal)
19180             )
19181         );
19182         assert_eq!(
19183             unsafe {
19184                 &(*(::std::ptr::null::<nsNodeInfoManager>())).mDefaultPrincipal as *const _ as usize
19185             },
19186             40usize,
19187             concat!(
19188                 "Offset of field: ",
19189                 stringify!(nsNodeInfoManager),
19190                 "::",
19191                 stringify!(mDefaultPrincipal)
19192             )
19193         );
19194         assert_eq!(
19195             unsafe {
19196                 &(*(::std::ptr::null::<nsNodeInfoManager>())).mTextNodeInfo as *const _ as usize
19197             },
19198             48usize,
19199             concat!(
19200                 "Offset of field: ",
19201                 stringify!(nsNodeInfoManager),
19202                 "::",
19203                 stringify!(mTextNodeInfo)
19204             )
19205         );
19206         assert_eq!(
19207             unsafe {
19208                 &(*(::std::ptr::null::<nsNodeInfoManager>())).mCommentNodeInfo as *const _ as usize
19209             },
19210             56usize,
19211             concat!(
19212                 "Offset of field: ",
19213                 stringify!(nsNodeInfoManager),
19214                 "::",
19215                 stringify!(mCommentNodeInfo)
19216             )
19217         );
19218         assert_eq!(
19219             unsafe {
19220                 &(*(::std::ptr::null::<nsNodeInfoManager>())).mDocumentNodeInfo as *const _ as usize
19221             },
19222             64usize,
19223             concat!(
19224                 "Offset of field: ",
19225                 stringify!(nsNodeInfoManager),
19226                 "::",
19227                 stringify!(mDocumentNodeInfo)
19228             )
19229         );
19230         assert_eq!(
19231             unsafe {
19232                 &(*(::std::ptr::null::<nsNodeInfoManager>())).mBindingManager as *const _ as usize
19233             },
19234             72usize,
19235             concat!(
19236                 "Offset of field: ",
19237                 stringify!(nsNodeInfoManager),
19238                 "::",
19239                 stringify!(mBindingManager)
19240             )
19241         );
19242         assert_eq!(
19243             unsafe {
19244                 &(*(::std::ptr::null::<nsNodeInfoManager>())).mRecentlyUsedNodeInfos as *const _
19245                     as usize
19246             },
19247             80usize,
19248             concat!(
19249                 "Offset of field: ",
19250                 stringify!(nsNodeInfoManager),
19251                 "::",
19252                 stringify!(mRecentlyUsedNodeInfos)
19253             )
19254         );
19255         assert_eq!(
19256             unsafe {
19257                 &(*(::std::ptr::null::<nsNodeInfoManager>())).mSVGEnabled as *const _ as usize
19258             },
19259             328usize,
19260             concat!(
19261                 "Offset of field: ",
19262                 stringify!(nsNodeInfoManager),
19263                 "::",
19264                 stringify!(mSVGEnabled)
19265             )
19266         );
19267         assert_eq!(
19268             unsafe {
19269                 &(*(::std::ptr::null::<nsNodeInfoManager>())).mMathMLEnabled as *const _ as usize
19270             },
19271             332usize,
19272             concat!(
19273                 "Offset of field: ",
19274                 stringify!(nsNodeInfoManager),
19275                 "::",
19276                 stringify!(mMathMLEnabled)
19277             )
19278         );
19279     }
19280     #[repr(C)]
19281     #[derive(Debug)]
19282     pub struct nsPropertyTable {
19283         pub mPropertyList: *mut root::nsPropertyTable_PropertyList,
19284     }
19285     #[repr(C)]
19286     #[derive(Debug, Copy)]
19287     pub struct nsPropertyTable_PropertyList {
19288         _unused: [u8; 0],
19289     }
19290     impl Clone for nsPropertyTable_PropertyList {
clone(&self) -> Self19291         fn clone(&self) -> Self {
19292             *self
19293         }
19294     }
19295     #[test]
bindgen_test_layout_nsPropertyTable()19296     fn bindgen_test_layout_nsPropertyTable() {
19297         assert_eq!(
19298             ::std::mem::size_of::<nsPropertyTable>(),
19299             8usize,
19300             concat!("Size of: ", stringify!(nsPropertyTable))
19301         );
19302         assert_eq!(
19303             ::std::mem::align_of::<nsPropertyTable>(),
19304             8usize,
19305             concat!("Alignment of ", stringify!(nsPropertyTable))
19306         );
19307         assert_eq!(
19308             unsafe {
19309                 &(*(::std::ptr::null::<nsPropertyTable>())).mPropertyList as *const _ as usize
19310             },
19311             0usize,
19312             concat!(
19313                 "Offset of field: ",
19314                 stringify!(nsPropertyTable),
19315                 "::",
19316                 stringify!(mPropertyList)
19317             )
19318         );
19319     }
19320     pub type nsTObserverArray_base_index_type = usize;
19321     pub type nsTObserverArray_base_size_type = usize;
19322     #[repr(C)]
19323     #[derive(Debug, Copy)]
19324     pub struct nsTObserverArray_base_Iterator_base {
19325         pub mPosition: root::nsTObserverArray_base_index_type,
19326         pub mNext: *mut root::nsTObserverArray_base_Iterator_base,
19327     }
19328     #[test]
bindgen_test_layout_nsTObserverArray_base_Iterator_base()19329     fn bindgen_test_layout_nsTObserverArray_base_Iterator_base() {
19330         assert_eq!(
19331             ::std::mem::size_of::<nsTObserverArray_base_Iterator_base>(),
19332             16usize,
19333             concat!("Size of: ", stringify!(nsTObserverArray_base_Iterator_base))
19334         );
19335         assert_eq!(
19336             ::std::mem::align_of::<nsTObserverArray_base_Iterator_base>(),
19337             8usize,
19338             concat!(
19339                 "Alignment of ",
19340                 stringify!(nsTObserverArray_base_Iterator_base)
19341             )
19342         );
19343         assert_eq!(
19344             unsafe {
19345                 &(*(::std::ptr::null::<nsTObserverArray_base_Iterator_base>())).mPosition
19346                     as *const _ as usize
19347             },
19348             0usize,
19349             concat!(
19350                 "Offset of field: ",
19351                 stringify!(nsTObserverArray_base_Iterator_base),
19352                 "::",
19353                 stringify!(mPosition)
19354             )
19355         );
19356         assert_eq!(
19357             unsafe {
19358                 &(*(::std::ptr::null::<nsTObserverArray_base_Iterator_base>())).mNext as *const _
19359                     as usize
19360             },
19361             8usize,
19362             concat!(
19363                 "Offset of field: ",
19364                 stringify!(nsTObserverArray_base_Iterator_base),
19365                 "::",
19366                 stringify!(mNext)
19367             )
19368         );
19369     }
19370     impl Clone for nsTObserverArray_base_Iterator_base {
clone(&self) -> Self19371         fn clone(&self) -> Self {
19372             *self
19373         }
19374     }
19375     pub type nsAutoTObserverArray_elem_type<T> = T;
19376     pub type nsAutoTObserverArray_array_type<T> = root::nsTArray<T>;
19377     #[repr(C)]
19378     #[derive(Debug)]
19379     pub struct nsAutoTObserverArray_Iterator {
19380         pub _base: root::nsTObserverArray_base_Iterator_base,
19381         pub mArray: *mut root::nsAutoTObserverArray_Iterator_array_type,
19382     }
19383     pub type nsAutoTObserverArray_Iterator_array_type = u8;
19384     #[repr(C)]
19385     #[derive(Debug)]
19386     pub struct nsAutoTObserverArray_ForwardIterator {
19387         pub _base: root::nsAutoTObserverArray_Iterator,
19388     }
19389     pub type nsAutoTObserverArray_ForwardIterator_array_type = u8;
19390     pub type nsAutoTObserverArray_ForwardIterator_base_type = root::nsAutoTObserverArray_Iterator;
19391     #[repr(C)]
19392     #[derive(Debug)]
19393     pub struct nsAutoTObserverArray_EndLimitedIterator {
19394         pub _base: root::nsAutoTObserverArray_ForwardIterator,
19395         pub mEnd: root::nsAutoTObserverArray_ForwardIterator,
19396     }
19397     pub type nsAutoTObserverArray_EndLimitedIterator_array_type = u8;
19398     pub type nsAutoTObserverArray_EndLimitedIterator_base_type =
19399         root::nsAutoTObserverArray_Iterator;
19400     #[repr(C)]
19401     #[derive(Debug)]
19402     pub struct nsAutoTObserverArray_BackwardIterator {
19403         pub _base: root::nsAutoTObserverArray_Iterator,
19404     }
19405     pub type nsAutoTObserverArray_BackwardIterator_array_type = u8;
19406     pub type nsAutoTObserverArray_BackwardIterator_base_type = root::nsAutoTObserverArray_Iterator;
19407     #[repr(C)]
19408     #[derive(Debug, Copy, Clone)]
19409     pub struct nsTObserverArray {
19410         pub _address: u8,
19411     }
19412     pub type nsTObserverArray_base_type = u8;
19413     pub type nsTObserverArray_size_type = root::nsTObserverArray_base_size_type;
19414     #[repr(C)]
19415     #[derive(Debug, Copy)]
19416     pub struct nsIDOMEventTarget {
19417         pub _base: root::nsISupports,
19418     }
19419     #[repr(C)]
19420     #[derive(Debug, Copy, Clone)]
19421     pub struct nsIDOMEventTarget_COMTypeInfo {
19422         pub _address: u8,
19423     }
19424     #[test]
bindgen_test_layout_nsIDOMEventTarget()19425     fn bindgen_test_layout_nsIDOMEventTarget() {
19426         assert_eq!(
19427             ::std::mem::size_of::<nsIDOMEventTarget>(),
19428             8usize,
19429             concat!("Size of: ", stringify!(nsIDOMEventTarget))
19430         );
19431         assert_eq!(
19432             ::std::mem::align_of::<nsIDOMEventTarget>(),
19433             8usize,
19434             concat!("Alignment of ", stringify!(nsIDOMEventTarget))
19435         );
19436     }
19437     impl Clone for nsIDOMEventTarget {
clone(&self) -> Self19438         fn clone(&self) -> Self {
19439             *self
19440         }
19441     }
19442     #[repr(C)]
19443     #[derive(Debug, Copy)]
19444     pub struct nsAttrChildContentList {
19445         _unused: [u8; 0],
19446     }
19447     impl Clone for nsAttrChildContentList {
clone(&self) -> Self19448         fn clone(&self) -> Self {
19449             *self
19450         }
19451     }
19452     #[repr(C)]
19453     #[derive(Debug, Copy)]
19454     pub struct nsCSSSelectorList {
19455         _unused: [u8; 0],
19456     }
19457     impl Clone for nsCSSSelectorList {
clone(&self) -> Self19458         fn clone(&self) -> Self {
19459             *self
19460         }
19461     }
19462     #[repr(C)]
19463     #[derive(Debug, Copy)]
19464     pub struct nsRange {
19465         _unused: [u8; 0],
19466     }
19467     impl Clone for nsRange {
clone(&self) -> Self19468         fn clone(&self) -> Self {
19469             *self
19470         }
19471     }
19472     #[repr(C)]
19473     #[derive(Debug, Copy)]
19474     pub struct RawServoSelectorList {
19475         _unused: [u8; 0],
19476     }
19477     impl Clone for RawServoSelectorList {
clone(&self) -> Self19478         fn clone(&self) -> Self {
19479             *self
19480         }
19481     }
19482     pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_77 = 4;
19483     pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_77 = 8;
19484     pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_77 = 16;
19485     pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_77 = 32;
19486     pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_77 = 64;
19487     pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_77 = 128;
19488     pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_77 = 256;
19489     pub const NODE_IS_EDITABLE: root::_bindgen_ty_77 = 512;
19490     pub const NODE_IS_NATIVE_ANONYMOUS: root::_bindgen_ty_77 = 1024;
19491     pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_77 = 2048;
19492     pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_77 = 4096;
19493     pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_77 = 8192;
19494     pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_77 = 16384;
19495     pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_77 = 32768;
19496     pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_77 = 61440;
19497     pub const NODE_NEEDS_FRAME: root::_bindgen_ty_77 = 65536;
19498     pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_77 = 131072;
19499     pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_77 = 262144;
19500     pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_77 = 524288;
19501     pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_77 = 1048576;
19502     pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_77 = 1572864;
19503     pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_77 = 2097152;
19504     pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_77 = 4194304;
19505     pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_77 = 21;
19506     pub type _bindgen_ty_77 = u32;
19507     /// An internal interface that abstracts some DOMNode-related parts that both
19508     /// nsIContent and nsIDocument share.  An instance of this interface has a list
19509     /// of nsIContent children and provides access to them.
19510     #[repr(C)]
19511     pub struct nsINode {
19512         pub _base: root::mozilla::dom::EventTarget,
19513         pub mNodeInfo: root::RefPtr<root::mozilla::dom::NodeInfo>,
19514         pub mParent: *mut root::nsINode,
19515         pub mNextSibling: *mut root::nsIContent,
19516         pub mPreviousSibling: *mut root::nsIContent,
19517         pub mFirstChild: *mut root::nsIContent,
19518         pub __bindgen_anon_1: root::nsINode__bindgen_ty_1,
19519         pub mSlots: *mut root::nsINode_nsSlots,
19520     }
19521     pub type nsINode_BoxQuadOptions = root::mozilla::dom::BoxQuadOptions;
19522     pub type nsINode_ConvertCoordinateOptions = root::mozilla::dom::ConvertCoordinateOptions;
19523     pub type nsINode_DocGroup = root::mozilla::dom::DocGroup;
19524     pub type nsINode_DOMPoint = root::mozilla::dom::DOMPoint;
19525     pub type nsINode_DOMPointInit = root::mozilla::dom::DOMPointInit;
19526     pub type nsINode_DOMQuad = root::mozilla::dom::DOMQuad;
19527     pub type nsINode_DOMRectReadOnly = root::mozilla::dom::DOMRectReadOnly;
19528     pub type nsINode_OwningNodeOrString = root::mozilla::dom::OwningNodeOrString;
19529     pub type nsINode_TextOrElementOrDocument = root::mozilla::dom::TextOrElementOrDocument;
19530     pub use self::super::root::mozilla::dom::CallerType as nsINode_CallerType;
19531     pub type nsINode_Sequence = u8;
19532     #[repr(C)]
19533     #[derive(Debug, Copy, Clone)]
19534     pub struct nsINode_COMTypeInfo {
19535         pub _address: u8,
19536     }
19537     /// nsIDocument nodes
19538     pub const nsINode_eDOCUMENT: root::nsINode__bindgen_ty_2 = 2;
19539     /// nsIAttribute nodes
19540     pub const nsINode_eATTRIBUTE: root::nsINode__bindgen_ty_2 = 4;
19541     /// text nodes
19542     pub const nsINode_eTEXT: root::nsINode__bindgen_ty_2 = 8;
19543     /// xml processing instructions
19544     pub const nsINode_ePROCESSING_INSTRUCTION: root::nsINode__bindgen_ty_2 = 16;
19545     /// comment nodes
19546     pub const nsINode_eCOMMENT: root::nsINode__bindgen_ty_2 = 32;
19547     /// form control elements
19548     pub const nsINode_eHTML_FORM_CONTROL: root::nsINode__bindgen_ty_2 = 64;
19549     /// document fragments
19550     pub const nsINode_eDOCUMENT_FRAGMENT: root::nsINode__bindgen_ty_2 = 128;
19551     /// data nodes (comments, PIs, text). Nodes of this type always
19552     /// returns a non-null value for nsIContent::GetText()
19553     pub const nsINode_eDATA_NODE: root::nsINode__bindgen_ty_2 = 256;
19554     /// HTMLMediaElement
19555     pub const nsINode_eMEDIA: root::nsINode__bindgen_ty_2 = 512;
19556     /// animation elements
19557     pub const nsINode_eANIMATION: root::nsINode__bindgen_ty_2 = 1024;
19558     /// filter elements that implement SVGFilterPrimitiveStandardAttributes
19559     pub const nsINode_eFILTER: root::nsINode__bindgen_ty_2 = 2048;
19560     /// Bit-flags to pass (or'ed together) to IsNodeOfType()
19561     pub type nsINode__bindgen_ty_2 = u32;
19562     pub const nsINode_FlattenedParentType_eNotForStyle: root::nsINode_FlattenedParentType = 0;
19563     pub const nsINode_FlattenedParentType_eForStyle: root::nsINode_FlattenedParentType = 1;
19564     pub type nsINode_FlattenedParentType = u32;
19565     #[repr(C)]
19566     pub struct nsINode_nsSlots__bindgen_vtable(::std::os::raw::c_void);
19567     #[repr(C)]
19568     #[derive(Debug)]
19569     pub struct nsINode_nsSlots {
19570         pub vtable_: *const nsINode_nsSlots__bindgen_vtable,
19571         /// A list of mutation observers
19572         pub mMutationObservers: [u64; 4usize],
19573         /// An object implementing nsIDOMNodeList for this content (childNodes)
19574         /// @see nsIDOMNodeList
19575         /// @see nsGenericHTMLElement::GetChildNodes
19576         pub mChildNodes: root::RefPtr<root::nsAttrChildContentList>,
19577         /// Weak reference to this node.  This is cleared by the destructor of
19578         /// nsNodeWeakReference.
19579         pub mWeakReference: *mut root::nsNodeWeakReference,
19580         /// A set of ranges which are in the selection and which have this node as
19581         /// their endpoints' common ancestor.  This is a UniquePtr instead of just a
19582         /// LinkedList, because that prevents us from pushing DOMSlots up to the next
19583         /// allocation bucket size, at the cost of some complexity.
19584         pub mCommonAncestorRanges: root::mozilla::UniquePtr<root::mozilla::LinkedList>,
19585         /// Number of descendant nodes in the uncomposed document that have been
19586         /// explicitly set as editable.
19587         pub mEditableDescendantCount: u32,
19588     }
19589     #[test]
bindgen_test_layout_nsINode_nsSlots()19590     fn bindgen_test_layout_nsINode_nsSlots() {
19591         assert_eq!(
19592             ::std::mem::size_of::<nsINode_nsSlots>(),
19593             72usize,
19594             concat!("Size of: ", stringify!(nsINode_nsSlots))
19595         );
19596         assert_eq!(
19597             ::std::mem::align_of::<nsINode_nsSlots>(),
19598             8usize,
19599             concat!("Alignment of ", stringify!(nsINode_nsSlots))
19600         );
19601         assert_eq!(
19602             unsafe {
19603                 &(*(::std::ptr::null::<nsINode_nsSlots>())).mMutationObservers as *const _ as usize
19604             },
19605             8usize,
19606             concat!(
19607                 "Offset of field: ",
19608                 stringify!(nsINode_nsSlots),
19609                 "::",
19610                 stringify!(mMutationObservers)
19611             )
19612         );
19613         assert_eq!(
19614             unsafe { &(*(::std::ptr::null::<nsINode_nsSlots>())).mChildNodes as *const _ as usize },
19615             40usize,
19616             concat!(
19617                 "Offset of field: ",
19618                 stringify!(nsINode_nsSlots),
19619                 "::",
19620                 stringify!(mChildNodes)
19621             )
19622         );
19623         assert_eq!(
19624             unsafe {
19625                 &(*(::std::ptr::null::<nsINode_nsSlots>())).mWeakReference as *const _ as usize
19626             },
19627             48usize,
19628             concat!(
19629                 "Offset of field: ",
19630                 stringify!(nsINode_nsSlots),
19631                 "::",
19632                 stringify!(mWeakReference)
19633             )
19634         );
19635         assert_eq!(
19636             unsafe {
19637                 &(*(::std::ptr::null::<nsINode_nsSlots>())).mCommonAncestorRanges as *const _
19638                     as usize
19639             },
19640             56usize,
19641             concat!(
19642                 "Offset of field: ",
19643                 stringify!(nsINode_nsSlots),
19644                 "::",
19645                 stringify!(mCommonAncestorRanges)
19646             )
19647         );
19648         assert_eq!(
19649             unsafe {
19650                 &(*(::std::ptr::null::<nsINode_nsSlots>())).mEditableDescendantCount as *const _
19651                     as usize
19652             },
19653             64usize,
19654             concat!(
19655                 "Offset of field: ",
19656                 stringify!(nsINode_nsSlots),
19657                 "::",
19658                 stringify!(mEditableDescendantCount)
19659             )
19660         );
19661     }
19662     #[repr(u32)]
19663     /// Boolean flags
19664     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
19665     pub enum nsINode_BooleanFlag {
19666         NodeHasRenderingObservers = 0,
19667         IsInDocument = 1,
19668         ParentIsContent = 2,
19669         NodeIsElement = 3,
19670         ElementHasID = 4,
19671         ElementMayHaveClass = 5,
19672         ElementMayHaveStyle = 6,
19673         ElementHasName = 7,
19674         ElementMayHaveContentEditableAttr = 8,
19675         NodeIsCommonAncestorForRangeInSelection = 9,
19676         NodeIsDescendantOfCommonAncestorForRangeInSelection = 10,
19677         NodeIsCCMarkedRoot = 11,
19678         NodeIsCCBlackTree = 12,
19679         NodeIsPurpleRoot = 13,
19680         ElementHasLockedStyleStates = 14,
19681         ElementHasPointerLock = 15,
19682         NodeMayHaveDOMMutationObserver = 16,
19683         NodeIsContent = 17,
19684         ElementHasAnimations = 18,
19685         NodeHasValidDirAttribute = 19,
19686         NodeHasDirAutoSet = 20,
19687         NodeHasTextNodeDirectionalityMap = 21,
19688         NodeAncestorHasDirAuto = 22,
19689         ElementIsInStyleScope = 23,
19690         ElementIsScopedStyleRoot = 24,
19691         NodeHandlingClick = 25,
19692         NodeHasRelevantHoverRules = 26,
19693         ElementHasWeirdParserInsertionMode = 27,
19694         ParserHasNotified = 28,
19695         MayBeApzAware = 29,
19696         ElementMayHaveAnonymousChildren = 30,
19697         NodeMayHaveChildrenWithLayoutBoxesDisabled = 31,
19698         BooleanFlagCount = 32,
19699     }
19700     #[repr(C)]
19701     #[derive(Debug, Copy)]
19702     pub struct nsINode__bindgen_ty_1 {
19703         pub mPrimaryFrame: root::__BindgenUnionField<*mut root::nsIFrame>,
19704         pub mSubtreeRoot: root::__BindgenUnionField<*mut root::nsINode>,
19705         pub bindgen_union_field: u64,
19706     }
19707     #[test]
bindgen_test_layout_nsINode__bindgen_ty_1()19708     fn bindgen_test_layout_nsINode__bindgen_ty_1() {
19709         assert_eq!(
19710             ::std::mem::size_of::<nsINode__bindgen_ty_1>(),
19711             8usize,
19712             concat!("Size of: ", stringify!(nsINode__bindgen_ty_1))
19713         );
19714         assert_eq!(
19715             ::std::mem::align_of::<nsINode__bindgen_ty_1>(),
19716             8usize,
19717             concat!("Alignment of ", stringify!(nsINode__bindgen_ty_1))
19718         );
19719         assert_eq!(
19720             unsafe {
19721                 &(*(::std::ptr::null::<nsINode__bindgen_ty_1>())).mPrimaryFrame as *const _ as usize
19722             },
19723             0usize,
19724             concat!(
19725                 "Offset of field: ",
19726                 stringify!(nsINode__bindgen_ty_1),
19727                 "::",
19728                 stringify!(mPrimaryFrame)
19729             )
19730         );
19731         assert_eq!(
19732             unsafe {
19733                 &(*(::std::ptr::null::<nsINode__bindgen_ty_1>())).mSubtreeRoot as *const _ as usize
19734             },
19735             0usize,
19736             concat!(
19737                 "Offset of field: ",
19738                 stringify!(nsINode__bindgen_ty_1),
19739                 "::",
19740                 stringify!(mSubtreeRoot)
19741             )
19742         );
19743     }
19744     impl Clone for nsINode__bindgen_ty_1 {
clone(&self) -> Self19745         fn clone(&self) -> Self {
19746             *self
19747         }
19748     }
19749     pub const nsINode_ELEMENT_NODE: ::std::os::raw::c_ushort = 1;
19750     pub const nsINode_ATTRIBUTE_NODE: ::std::os::raw::c_ushort = 2;
19751     pub const nsINode_TEXT_NODE: ::std::os::raw::c_ushort = 3;
19752     pub const nsINode_CDATA_SECTION_NODE: ::std::os::raw::c_ushort = 4;
19753     pub const nsINode_ENTITY_REFERENCE_NODE: ::std::os::raw::c_ushort = 5;
19754     pub const nsINode_ENTITY_NODE: ::std::os::raw::c_ushort = 6;
19755     pub const nsINode_PROCESSING_INSTRUCTION_NODE: ::std::os::raw::c_ushort = 7;
19756     pub const nsINode_COMMENT_NODE: ::std::os::raw::c_ushort = 8;
19757     pub const nsINode_DOCUMENT_NODE: ::std::os::raw::c_ushort = 9;
19758     pub const nsINode_DOCUMENT_TYPE_NODE: ::std::os::raw::c_ushort = 10;
19759     pub const nsINode_DOCUMENT_FRAGMENT_NODE: ::std::os::raw::c_ushort = 11;
19760     pub const nsINode_NOTATION_NODE: ::std::os::raw::c_ushort = 12;
19761     #[test]
bindgen_test_layout_nsINode()19762     fn bindgen_test_layout_nsINode() {
19763         assert_eq!(
19764             ::std::mem::size_of::<nsINode>(),
19765             88usize,
19766             concat!("Size of: ", stringify!(nsINode))
19767         );
19768         assert_eq!(
19769             ::std::mem::align_of::<nsINode>(),
19770             8usize,
19771             concat!("Alignment of ", stringify!(nsINode))
19772         );
19773         assert_eq!(
19774             unsafe { &(*(::std::ptr::null::<nsINode>())).mNodeInfo as *const _ as usize },
19775             32usize,
19776             concat!(
19777                 "Offset of field: ",
19778                 stringify!(nsINode),
19779                 "::",
19780                 stringify!(mNodeInfo)
19781             )
19782         );
19783         assert_eq!(
19784             unsafe { &(*(::std::ptr::null::<nsINode>())).mParent as *const _ as usize },
19785             40usize,
19786             concat!(
19787                 "Offset of field: ",
19788                 stringify!(nsINode),
19789                 "::",
19790                 stringify!(mParent)
19791             )
19792         );
19793         assert_eq!(
19794             unsafe { &(*(::std::ptr::null::<nsINode>())).mNextSibling as *const _ as usize },
19795             48usize,
19796             concat!(
19797                 "Offset of field: ",
19798                 stringify!(nsINode),
19799                 "::",
19800                 stringify!(mNextSibling)
19801             )
19802         );
19803         assert_eq!(
19804             unsafe { &(*(::std::ptr::null::<nsINode>())).mPreviousSibling as *const _ as usize },
19805             56usize,
19806             concat!(
19807                 "Offset of field: ",
19808                 stringify!(nsINode),
19809                 "::",
19810                 stringify!(mPreviousSibling)
19811             )
19812         );
19813         assert_eq!(
19814             unsafe { &(*(::std::ptr::null::<nsINode>())).mFirstChild as *const _ as usize },
19815             64usize,
19816             concat!(
19817                 "Offset of field: ",
19818                 stringify!(nsINode),
19819                 "::",
19820                 stringify!(mFirstChild)
19821             )
19822         );
19823         assert_eq!(
19824             unsafe { &(*(::std::ptr::null::<nsINode>())).mSlots as *const _ as usize },
19825             80usize,
19826             concat!(
19827                 "Offset of field: ",
19828                 stringify!(nsINode),
19829                 "::",
19830                 stringify!(mSlots)
19831             )
19832         );
19833     }
19834     /// Functions to create content, to be used only inside Gecko
19835     /// (mozilla/content and mozilla/layout).
19836     #[repr(C)]
19837     pub struct nsIContent {
19838         pub _base: root::nsINode,
19839     }
19840     pub type nsIContent_IMEState = root::mozilla::widget::IMEState;
19841     #[repr(C)]
19842     #[derive(Debug, Copy, Clone)]
19843     pub struct nsIContent_COMTypeInfo {
19844         pub _address: u8,
19845     }
19846     /// All XBL flattened tree children of the node, as well as :before and
19847     /// :after anonymous content and native anonymous children.
19848     ///
19849     /// @note the result children order is
19850     /// 1. :before generated node
19851     /// 2. XBL flattened tree children of this node
19852     /// 3. native anonymous nodes
19853     /// 4. :after generated node
19854     pub const nsIContent_eAllChildren: root::nsIContent__bindgen_ty_1 = 0;
19855     /// All XBL explicit children of the node (see
19856     /// http://www.w3.org/TR/xbl/#explicit3 ), as well as :before and :after
19857     /// anonymous content and native anonymous children.
19858     ///
19859     /// @note the result children order is
19860     /// 1. :before generated node
19861     /// 2. XBL explicit children of the node
19862     /// 3. native anonymous nodes
19863     /// 4. :after generated node
19864     pub const nsIContent_eAllButXBL: root::nsIContent__bindgen_ty_1 = 1;
19865     /// Skip native anonymous content created for placeholder of HTML input,
19866     /// used in conjunction with eAllChildren or eAllButXBL.
19867     pub const nsIContent_eSkipPlaceholderContent: root::nsIContent__bindgen_ty_1 = 2;
19868     /// Skip native anonymous content created by ancestor frames of the root
19869     /// element's primary frame, such as scrollbar elements created by the root
19870     /// scroll frame.
19871     pub const nsIContent_eSkipDocumentLevelNativeAnonymousContent: root::nsIContent__bindgen_ty_1 =
19872         4;
19873     pub type nsIContent__bindgen_ty_1 = u32;
19874     #[repr(C)]
19875     pub struct nsIContent_nsExtendedContentSlots__bindgen_vtable(::std::os::raw::c_void);
19876     /// Lazily allocated extended slots to avoid
19877     /// that may only be instantiated when a content object is accessed
19878     /// through the DOM. Rather than burn actual slots in the content
19879     /// objects for each of these instance variables, we put them off
19880     /// in a side structure that's only allocated when the content is
19881     /// accessed through the DOM.
19882     #[repr(C)]
19883     pub struct nsIContent_nsExtendedContentSlots {
19884         pub vtable_: *const nsIContent_nsExtendedContentSlots__bindgen_vtable,
19885         /// The nearest enclosing content node with a binding that created us.
19886         /// @see nsIContent::GetBindingParent
19887         pub mBindingParent: *mut root::nsIContent,
19888         /// @see nsIContent::GetXBLInsertionPoint
19889         pub mXBLInsertionPoint: root::nsCOMPtr,
19890         /// @see nsIContent::GetContainingShadow
19891         pub mContainingShadow: root::RefPtr<root::mozilla::dom::ShadowRoot>,
19892         /// @see nsIContent::GetAssignedSlot
19893         pub mAssignedSlot: root::RefPtr<root::mozilla::dom::HTMLSlotElement>,
19894     }
19895     #[test]
bindgen_test_layout_nsIContent_nsExtendedContentSlots()19896     fn bindgen_test_layout_nsIContent_nsExtendedContentSlots() {
19897         assert_eq!(
19898             ::std::mem::size_of::<nsIContent_nsExtendedContentSlots>(),
19899             40usize,
19900             concat!("Size of: ", stringify!(nsIContent_nsExtendedContentSlots))
19901         );
19902         assert_eq!(
19903             ::std::mem::align_of::<nsIContent_nsExtendedContentSlots>(),
19904             8usize,
19905             concat!(
19906                 "Alignment of ",
19907                 stringify!(nsIContent_nsExtendedContentSlots)
19908             )
19909         );
19910         assert_eq!(
19911             unsafe {
19912                 &(*(::std::ptr::null::<nsIContent_nsExtendedContentSlots>())).mBindingParent
19913                     as *const _ as usize
19914             },
19915             8usize,
19916             concat!(
19917                 "Offset of field: ",
19918                 stringify!(nsIContent_nsExtendedContentSlots),
19919                 "::",
19920                 stringify!(mBindingParent)
19921             )
19922         );
19923         assert_eq!(
19924             unsafe {
19925                 &(*(::std::ptr::null::<nsIContent_nsExtendedContentSlots>())).mXBLInsertionPoint
19926                     as *const _ as usize
19927             },
19928             16usize,
19929             concat!(
19930                 "Offset of field: ",
19931                 stringify!(nsIContent_nsExtendedContentSlots),
19932                 "::",
19933                 stringify!(mXBLInsertionPoint)
19934             )
19935         );
19936         assert_eq!(
19937             unsafe {
19938                 &(*(::std::ptr::null::<nsIContent_nsExtendedContentSlots>())).mContainingShadow
19939                     as *const _ as usize
19940             },
19941             24usize,
19942             concat!(
19943                 "Offset of field: ",
19944                 stringify!(nsIContent_nsExtendedContentSlots),
19945                 "::",
19946                 stringify!(mContainingShadow)
19947             )
19948         );
19949         assert_eq!(
19950             unsafe {
19951                 &(*(::std::ptr::null::<nsIContent_nsExtendedContentSlots>())).mAssignedSlot
19952                     as *const _ as usize
19953             },
19954             32usize,
19955             concat!(
19956                 "Offset of field: ",
19957                 stringify!(nsIContent_nsExtendedContentSlots),
19958                 "::",
19959                 stringify!(mAssignedSlot)
19960             )
19961         );
19962     }
19963     #[repr(C)]
19964     pub struct nsIContent_nsContentSlots {
19965         pub _base: root::nsINode_nsSlots,
19966         pub mExtendedSlots: root::mozilla::UniquePtr<root::nsIContent_nsExtendedContentSlots>,
19967     }
19968     #[test]
bindgen_test_layout_nsIContent_nsContentSlots()19969     fn bindgen_test_layout_nsIContent_nsContentSlots() {
19970         assert_eq!(
19971             ::std::mem::size_of::<nsIContent_nsContentSlots>(),
19972             80usize,
19973             concat!("Size of: ", stringify!(nsIContent_nsContentSlots))
19974         );
19975         assert_eq!(
19976             ::std::mem::align_of::<nsIContent_nsContentSlots>(),
19977             8usize,
19978             concat!("Alignment of ", stringify!(nsIContent_nsContentSlots))
19979         );
19980         assert_eq!(
19981             unsafe {
19982                 &(*(::std::ptr::null::<nsIContent_nsContentSlots>())).mExtendedSlots as *const _
19983                     as usize
19984             },
19985             72usize,
19986             concat!(
19987                 "Offset of field: ",
19988                 stringify!(nsIContent_nsContentSlots),
19989                 "::",
19990                 stringify!(mExtendedSlots)
19991             )
19992         );
19993     }
19994     pub const nsIContent_ETabFocusType_eTabFocus_textControlsMask: root::nsIContent_ETabFocusType =
19995         1;
19996     pub const nsIContent_ETabFocusType_eTabFocus_formElementsMask: root::nsIContent_ETabFocusType =
19997         2;
19998     pub const nsIContent_ETabFocusType_eTabFocus_linksMask: root::nsIContent_ETabFocusType = 4;
19999     pub const nsIContent_ETabFocusType_eTabFocus_any: root::nsIContent_ETabFocusType = 7;
20000     pub type nsIContent_ETabFocusType = u32;
20001     extern "C" {
20002         #[link_name = "\u{1}_ZN10nsIContent14sTabFocusModelE"]
20003         pub static mut nsIContent_sTabFocusModel: i32;
20004     }
20005     extern "C" {
20006         #[link_name = "\u{1}_ZN10nsIContent26sTabFocusModelAppliesToXULE"]
20007         pub static mut nsIContent_sTabFocusModelAppliesToXUL: bool;
20008     }
20009     #[test]
bindgen_test_layout_nsIContent()20010     fn bindgen_test_layout_nsIContent() {
20011         assert_eq!(
20012             ::std::mem::size_of::<nsIContent>(),
20013             88usize,
20014             concat!("Size of: ", stringify!(nsIContent))
20015         );
20016         assert_eq!(
20017             ::std::mem::align_of::<nsIContent>(),
20018             8usize,
20019             concat!("Alignment of ", stringify!(nsIContent))
20020         );
20021     }
20022     #[repr(C)]
20023     #[derive(Debug, Copy)]
20024     pub struct nsFrameManagerBase {
20025         pub mPresShell: *mut root::nsIPresShell,
20026         pub mRootFrame: *mut root::nsIFrame,
20027         pub mDisplayNoneMap: *mut root::nsFrameManagerBase_UndisplayedMap,
20028         pub mDisplayContentsMap: *mut root::nsFrameManagerBase_UndisplayedMap,
20029         pub mIsDestroyingFrames: bool,
20030     }
20031     #[repr(C)]
20032     #[derive(Debug, Copy)]
20033     pub struct nsFrameManagerBase_UndisplayedMap {
20034         _unused: [u8; 0],
20035     }
20036     impl Clone for nsFrameManagerBase_UndisplayedMap {
clone(&self) -> Self20037         fn clone(&self) -> Self {
20038             *self
20039         }
20040     }
20041     #[test]
bindgen_test_layout_nsFrameManagerBase()20042     fn bindgen_test_layout_nsFrameManagerBase() {
20043         assert_eq!(
20044             ::std::mem::size_of::<nsFrameManagerBase>(),
20045             40usize,
20046             concat!("Size of: ", stringify!(nsFrameManagerBase))
20047         );
20048         assert_eq!(
20049             ::std::mem::align_of::<nsFrameManagerBase>(),
20050             8usize,
20051             concat!("Alignment of ", stringify!(nsFrameManagerBase))
20052         );
20053         assert_eq!(
20054             unsafe {
20055                 &(*(::std::ptr::null::<nsFrameManagerBase>())).mPresShell as *const _ as usize
20056             },
20057             0usize,
20058             concat!(
20059                 "Offset of field: ",
20060                 stringify!(nsFrameManagerBase),
20061                 "::",
20062                 stringify!(mPresShell)
20063             )
20064         );
20065         assert_eq!(
20066             unsafe {
20067                 &(*(::std::ptr::null::<nsFrameManagerBase>())).mRootFrame as *const _ as usize
20068             },
20069             8usize,
20070             concat!(
20071                 "Offset of field: ",
20072                 stringify!(nsFrameManagerBase),
20073                 "::",
20074                 stringify!(mRootFrame)
20075             )
20076         );
20077         assert_eq!(
20078             unsafe {
20079                 &(*(::std::ptr::null::<nsFrameManagerBase>())).mDisplayNoneMap as *const _ as usize
20080             },
20081             16usize,
20082             concat!(
20083                 "Offset of field: ",
20084                 stringify!(nsFrameManagerBase),
20085                 "::",
20086                 stringify!(mDisplayNoneMap)
20087             )
20088         );
20089         assert_eq!(
20090             unsafe {
20091                 &(*(::std::ptr::null::<nsFrameManagerBase>())).mDisplayContentsMap as *const _
20092                     as usize
20093             },
20094             24usize,
20095             concat!(
20096                 "Offset of field: ",
20097                 stringify!(nsFrameManagerBase),
20098                 "::",
20099                 stringify!(mDisplayContentsMap)
20100             )
20101         );
20102         assert_eq!(
20103             unsafe {
20104                 &(*(::std::ptr::null::<nsFrameManagerBase>())).mIsDestroyingFrames as *const _
20105                     as usize
20106             },
20107             32usize,
20108             concat!(
20109                 "Offset of field: ",
20110                 stringify!(nsFrameManagerBase),
20111                 "::",
20112                 stringify!(mIsDestroyingFrames)
20113             )
20114         );
20115     }
20116     impl Clone for nsFrameManagerBase {
clone(&self) -> Self20117         fn clone(&self) -> Self {
20118             *self
20119         }
20120     }
20121     #[repr(C)]
20122     #[derive(Debug, Copy)]
20123     pub struct nsIWeakReference {
20124         pub _base: root::nsISupports,
20125         pub mObject: *mut root::nsISupports,
20126     }
20127     #[repr(C)]
20128     #[derive(Debug, Copy, Clone)]
20129     pub struct nsIWeakReference_COMTypeInfo {
20130         pub _address: u8,
20131     }
20132     #[test]
bindgen_test_layout_nsIWeakReference()20133     fn bindgen_test_layout_nsIWeakReference() {
20134         assert_eq!(
20135             ::std::mem::size_of::<nsIWeakReference>(),
20136             16usize,
20137             concat!("Size of: ", stringify!(nsIWeakReference))
20138         );
20139         assert_eq!(
20140             ::std::mem::align_of::<nsIWeakReference>(),
20141             8usize,
20142             concat!("Alignment of ", stringify!(nsIWeakReference))
20143         );
20144         assert_eq!(
20145             unsafe { &(*(::std::ptr::null::<nsIWeakReference>())).mObject as *const _ as usize },
20146             8usize,
20147             concat!(
20148                 "Offset of field: ",
20149                 stringify!(nsIWeakReference),
20150                 "::",
20151                 stringify!(mObject)
20152             )
20153         );
20154     }
20155     impl Clone for nsIWeakReference {
clone(&self) -> Self20156         fn clone(&self) -> Self {
20157             *self
20158         }
20159     }
20160     pub type nsWeakPtr = root::nsCOMPtr;
20161     /// templated hashtable class maps keys to reference pointers.
20162     /// See nsBaseHashtable for complete declaration.
20163     /// @param KeyClass a wrapper-class for the hashtable key, see nsHashKeys.h
20164     /// for a complete specification.
20165     /// @param PtrType the reference-type being wrapped
20166     /// @see nsDataHashtable, nsClassHashtable
20167     #[repr(C)]
20168     #[derive(Debug, Copy, Clone)]
20169     pub struct nsRefPtrHashtable {
20170         pub _address: u8,
20171     }
20172     pub type nsRefPtrHashtable_KeyType = [u8; 0usize];
20173     pub type nsRefPtrHashtable_UserDataType<PtrType> = *mut PtrType;
20174     pub type nsRefPtrHashtable_base_type = u8;
20175     /// templated hashtable class maps keys to C++ object pointers.
20176     /// See nsBaseHashtable for complete declaration.
20177     /// @param KeyClass a wrapper-class for the hashtable key, see nsHashKeys.h
20178     /// for a complete specification.
20179     /// @param Class the class-type being wrapped
20180     /// @see nsInterfaceHashtable, nsClassHashtable
20181     #[repr(C)]
20182     #[derive(Debug, Copy, Clone)]
20183     pub struct nsClassHashtable {
20184         pub _address: u8,
20185     }
20186     pub type nsClassHashtable_KeyType = [u8; 0usize];
20187     pub type nsClassHashtable_UserDataType<T> = *mut T;
20188     pub type nsClassHashtable_base_type = u8;
20189     #[repr(C)]
20190     pub struct nsPresArena {
20191         pub mFreeLists: [root::nsPresArena_FreeList; 211usize],
20192         pub mPool: [u64; 5usize],
20193         pub mArenaRefPtrs: [u64; 4usize],
20194     }
20195     #[repr(C)]
20196     #[derive(Debug)]
20197     pub struct nsPresArena_FreeList {
20198         pub mEntries: root::nsTArray<*mut ::std::os::raw::c_void>,
20199         pub mEntrySize: usize,
20200         pub mEntriesEverAllocated: usize,
20201     }
20202     #[test]
bindgen_test_layout_nsPresArena_FreeList()20203     fn bindgen_test_layout_nsPresArena_FreeList() {
20204         assert_eq!(
20205             ::std::mem::size_of::<nsPresArena_FreeList>(),
20206             24usize,
20207             concat!("Size of: ", stringify!(nsPresArena_FreeList))
20208         );
20209         assert_eq!(
20210             ::std::mem::align_of::<nsPresArena_FreeList>(),
20211             8usize,
20212             concat!("Alignment of ", stringify!(nsPresArena_FreeList))
20213         );
20214         assert_eq!(
20215             unsafe {
20216                 &(*(::std::ptr::null::<nsPresArena_FreeList>())).mEntries as *const _ as usize
20217             },
20218             0usize,
20219             concat!(
20220                 "Offset of field: ",
20221                 stringify!(nsPresArena_FreeList),
20222                 "::",
20223                 stringify!(mEntries)
20224             )
20225         );
20226         assert_eq!(
20227             unsafe {
20228                 &(*(::std::ptr::null::<nsPresArena_FreeList>())).mEntrySize as *const _ as usize
20229             },
20230             8usize,
20231             concat!(
20232                 "Offset of field: ",
20233                 stringify!(nsPresArena_FreeList),
20234                 "::",
20235                 stringify!(mEntrySize)
20236             )
20237         );
20238         assert_eq!(
20239             unsafe {
20240                 &(*(::std::ptr::null::<nsPresArena_FreeList>())).mEntriesEverAllocated as *const _
20241                     as usize
20242             },
20243             16usize,
20244             concat!(
20245                 "Offset of field: ",
20246                 stringify!(nsPresArena_FreeList),
20247                 "::",
20248                 stringify!(mEntriesEverAllocated)
20249             )
20250         );
20251     }
20252     #[test]
bindgen_test_layout_nsPresArena()20253     fn bindgen_test_layout_nsPresArena() {
20254         assert_eq!(
20255             ::std::mem::size_of::<nsPresArena>(),
20256             5136usize,
20257             concat!("Size of: ", stringify!(nsPresArena))
20258         );
20259         assert_eq!(
20260             ::std::mem::align_of::<nsPresArena>(),
20261             8usize,
20262             concat!("Alignment of ", stringify!(nsPresArena))
20263         );
20264         assert_eq!(
20265             unsafe { &(*(::std::ptr::null::<nsPresArena>())).mFreeLists as *const _ as usize },
20266             0usize,
20267             concat!(
20268                 "Offset of field: ",
20269                 stringify!(nsPresArena),
20270                 "::",
20271                 stringify!(mFreeLists)
20272             )
20273         );
20274         assert_eq!(
20275             unsafe { &(*(::std::ptr::null::<nsPresArena>())).mPool as *const _ as usize },
20276             5064usize,
20277             concat!(
20278                 "Offset of field: ",
20279                 stringify!(nsPresArena),
20280                 "::",
20281                 stringify!(mPool)
20282             )
20283         );
20284         assert_eq!(
20285             unsafe { &(*(::std::ptr::null::<nsPresArena>())).mArenaRefPtrs as *const _ as usize },
20286             5104usize,
20287             concat!(
20288                 "Offset of field: ",
20289                 stringify!(nsPresArena),
20290                 "::",
20291                 stringify!(mArenaRefPtrs)
20292             )
20293         );
20294     }
20295     #[repr(C)]
20296     #[derive(Debug, Copy)]
20297     pub struct imgINotificationObserver {
20298         pub _base: root::nsISupports,
20299     }
20300     #[repr(C)]
20301     #[derive(Debug, Copy, Clone)]
20302     pub struct imgINotificationObserver_COMTypeInfo {
20303         pub _address: u8,
20304     }
20305     pub const imgINotificationObserver_SIZE_AVAILABLE:
20306         root::imgINotificationObserver__bindgen_ty_1 = 1;
20307     pub const imgINotificationObserver_FRAME_UPDATE: root::imgINotificationObserver__bindgen_ty_1 =
20308         2;
20309     pub const imgINotificationObserver_FRAME_COMPLETE:
20310         root::imgINotificationObserver__bindgen_ty_1 = 3;
20311     pub const imgINotificationObserver_LOAD_COMPLETE: root::imgINotificationObserver__bindgen_ty_1 =
20312         4;
20313     pub const imgINotificationObserver_DECODE_COMPLETE:
20314         root::imgINotificationObserver__bindgen_ty_1 = 5;
20315     pub const imgINotificationObserver_DISCARD: root::imgINotificationObserver__bindgen_ty_1 = 6;
20316     pub const imgINotificationObserver_UNLOCKED_DRAW: root::imgINotificationObserver__bindgen_ty_1 =
20317         7;
20318     pub const imgINotificationObserver_IS_ANIMATED: root::imgINotificationObserver__bindgen_ty_1 =
20319         8;
20320     pub const imgINotificationObserver_HAS_TRANSPARENCY:
20321         root::imgINotificationObserver__bindgen_ty_1 = 9;
20322     pub type imgINotificationObserver__bindgen_ty_1 = u32;
20323     #[test]
bindgen_test_layout_imgINotificationObserver()20324     fn bindgen_test_layout_imgINotificationObserver() {
20325         assert_eq!(
20326             ::std::mem::size_of::<imgINotificationObserver>(),
20327             8usize,
20328             concat!("Size of: ", stringify!(imgINotificationObserver))
20329         );
20330         assert_eq!(
20331             ::std::mem::align_of::<imgINotificationObserver>(),
20332             8usize,
20333             concat!("Alignment of ", stringify!(imgINotificationObserver))
20334         );
20335     }
20336     impl Clone for imgINotificationObserver {
clone(&self) -> Self20337         fn clone(&self) -> Self {
20338             *self
20339         }
20340     }
20341     /// Mutation observer interface
20342     ///
20343     /// See nsINode::AddMutationObserver, nsINode::RemoveMutationObserver for how to
20344     /// attach or remove your observers.
20345     ///
20346     /// WARNING: During these notifications, you are not allowed to perform
20347     /// any mutations to the current or any other document, or start a
20348     /// network load.  If you need to perform such operations do that
20349     /// during the _last_ nsIDocumentObserver::EndUpdate notification.  The
20350     /// expection for this is ParentChainChanged, where mutations should be
20351     /// done from an async event, as the notification might not be
20352     /// surrounded by BeginUpdate/EndUpdate calls.
20353     #[repr(C)]
20354     #[derive(Debug, Copy)]
20355     pub struct nsIMutationObserver {
20356         pub _base: root::nsISupports,
20357     }
20358     #[repr(C)]
20359     #[derive(Debug, Copy, Clone)]
20360     pub struct nsIMutationObserver_COMTypeInfo {
20361         pub _address: u8,
20362     }
20363     #[test]
bindgen_test_layout_nsIMutationObserver()20364     fn bindgen_test_layout_nsIMutationObserver() {
20365         assert_eq!(
20366             ::std::mem::size_of::<nsIMutationObserver>(),
20367             8usize,
20368             concat!("Size of: ", stringify!(nsIMutationObserver))
20369         );
20370         assert_eq!(
20371             ::std::mem::align_of::<nsIMutationObserver>(),
20372             8usize,
20373             concat!("Alignment of ", stringify!(nsIMutationObserver))
20374         );
20375     }
20376     impl Clone for nsIMutationObserver {
clone(&self) -> Self20377         fn clone(&self) -> Self {
20378             *self
20379         }
20380     }
20381     #[repr(C)]
20382     #[derive(Debug, Copy)]
20383     pub struct nsIDocumentObserver {
20384         pub _base: root::nsIMutationObserver,
20385     }
20386     #[repr(C)]
20387     #[derive(Debug, Copy, Clone)]
20388     pub struct nsIDocumentObserver_COMTypeInfo {
20389         pub _address: u8,
20390     }
20391     #[test]
bindgen_test_layout_nsIDocumentObserver()20392     fn bindgen_test_layout_nsIDocumentObserver() {
20393         assert_eq!(
20394             ::std::mem::size_of::<nsIDocumentObserver>(),
20395             8usize,
20396             concat!("Size of: ", stringify!(nsIDocumentObserver))
20397         );
20398         assert_eq!(
20399             ::std::mem::align_of::<nsIDocumentObserver>(),
20400             8usize,
20401             concat!("Alignment of ", stringify!(nsIDocumentObserver))
20402         );
20403     }
20404     impl Clone for nsIDocumentObserver {
clone(&self) -> Self20405         fn clone(&self) -> Self {
20406             *self
20407         }
20408     }
20409     /// There are two advantages to inheriting from nsStubDocumentObserver
20410     /// rather than directly from nsIDocumentObserver:
20411     /// 1. smaller compiled code size (since there's no need for the code
20412     /// for the empty virtual function implementations for every
20413     /// nsIDocumentObserver implementation)
20414     /// 2. the performance of document's loop over observers benefits from
20415     /// the fact that more of the functions called are the same (which
20416     /// can reduce instruction cache misses and perhaps improve branch
20417     /// prediction)
20418     #[repr(C)]
20419     #[derive(Debug, Copy)]
20420     pub struct nsStubDocumentObserver {
20421         pub _base: root::nsIDocumentObserver,
20422     }
20423     #[test]
bindgen_test_layout_nsStubDocumentObserver()20424     fn bindgen_test_layout_nsStubDocumentObserver() {
20425         assert_eq!(
20426             ::std::mem::size_of::<nsStubDocumentObserver>(),
20427             8usize,
20428             concat!("Size of: ", stringify!(nsStubDocumentObserver))
20429         );
20430         assert_eq!(
20431             ::std::mem::align_of::<nsStubDocumentObserver>(),
20432             8usize,
20433             concat!("Alignment of ", stringify!(nsStubDocumentObserver))
20434         );
20435     }
20436     impl Clone for nsStubDocumentObserver {
clone(&self) -> Self20437         fn clone(&self) -> Self {
20438             *self
20439         }
20440     }
20441     #[repr(C)]
20442     #[derive(Debug, Copy)]
20443     pub struct nsDocShell {
20444         _unused: [u8; 0],
20445     }
20446     impl Clone for nsDocShell {
clone(&self) -> Self20447         fn clone(&self) -> Self {
20448             *self
20449         }
20450     }
20451     #[repr(C)]
20452     #[derive(Debug, Copy)]
20453     pub struct nsViewManager {
20454         _unused: [u8; 0],
20455     }
20456     impl Clone for nsViewManager {
clone(&self) -> Self20457         fn clone(&self) -> Self {
20458             *self
20459         }
20460     }
20461     #[repr(C)]
20462     #[derive(Debug, Copy)]
20463     pub struct nsFrameSelection {
20464         _unused: [u8; 0],
20465     }
20466     impl Clone for nsFrameSelection {
clone(&self) -> Self20467         fn clone(&self) -> Self {
20468             *self
20469         }
20470     }
20471     #[repr(C)]
20472     #[derive(Debug, Copy)]
20473     pub struct nsCSSFrameConstructor {
20474         _unused: [u8; 0],
20475     }
20476     impl Clone for nsCSSFrameConstructor {
clone(&self) -> Self20477         fn clone(&self) -> Self {
20478             *self
20479         }
20480     }
20481     #[repr(C)]
20482     #[derive(Debug, Copy)]
20483     pub struct AutoWeakFrame {
20484         _unused: [u8; 0],
20485     }
20486     impl Clone for AutoWeakFrame {
clone(&self) -> Self20487         fn clone(&self) -> Self {
20488             *self
20489         }
20490     }
20491     #[repr(C)]
20492     #[derive(Debug, Copy)]
20493     pub struct WeakFrame {
20494         _unused: [u8; 0],
20495     }
20496     impl Clone for WeakFrame {
clone(&self) -> Self20497         fn clone(&self) -> Self {
20498             *self
20499         }
20500     }
20501     #[repr(C)]
20502     #[derive(Debug, Copy)]
20503     pub struct nsRefreshDriver {
20504         _unused: [u8; 0],
20505     }
20506     impl Clone for nsRefreshDriver {
clone(&self) -> Self20507         fn clone(&self) -> Self {
20508             *self
20509         }
20510     }
20511     #[repr(C)]
20512     pub struct CapturingContentInfo {
20513         pub mAllowed: bool,
20514         pub mPointerLock: bool,
20515         pub mRetargetToElement: bool,
20516         pub mPreventDrag: bool,
20517         pub mContent: root::mozilla::StaticRefPtr<root::nsIContent>,
20518     }
20519     #[test]
bindgen_test_layout_CapturingContentInfo()20520     fn bindgen_test_layout_CapturingContentInfo() {
20521         assert_eq!(
20522             ::std::mem::size_of::<CapturingContentInfo>(),
20523             16usize,
20524             concat!("Size of: ", stringify!(CapturingContentInfo))
20525         );
20526         assert_eq!(
20527             ::std::mem::align_of::<CapturingContentInfo>(),
20528             8usize,
20529             concat!("Alignment of ", stringify!(CapturingContentInfo))
20530         );
20531         assert_eq!(
20532             unsafe {
20533                 &(*(::std::ptr::null::<CapturingContentInfo>())).mAllowed as *const _ as usize
20534             },
20535             0usize,
20536             concat!(
20537                 "Offset of field: ",
20538                 stringify!(CapturingContentInfo),
20539                 "::",
20540                 stringify!(mAllowed)
20541             )
20542         );
20543         assert_eq!(
20544             unsafe {
20545                 &(*(::std::ptr::null::<CapturingContentInfo>())).mPointerLock as *const _ as usize
20546             },
20547             1usize,
20548             concat!(
20549                 "Offset of field: ",
20550                 stringify!(CapturingContentInfo),
20551                 "::",
20552                 stringify!(mPointerLock)
20553             )
20554         );
20555         assert_eq!(
20556             unsafe {
20557                 &(*(::std::ptr::null::<CapturingContentInfo>())).mRetargetToElement as *const _
20558                     as usize
20559             },
20560             2usize,
20561             concat!(
20562                 "Offset of field: ",
20563                 stringify!(CapturingContentInfo),
20564                 "::",
20565                 stringify!(mRetargetToElement)
20566             )
20567         );
20568         assert_eq!(
20569             unsafe {
20570                 &(*(::std::ptr::null::<CapturingContentInfo>())).mPreventDrag as *const _ as usize
20571             },
20572             3usize,
20573             concat!(
20574                 "Offset of field: ",
20575                 stringify!(CapturingContentInfo),
20576                 "::",
20577                 stringify!(mPreventDrag)
20578             )
20579         );
20580         assert_eq!(
20581             unsafe {
20582                 &(*(::std::ptr::null::<CapturingContentInfo>())).mContent as *const _ as usize
20583             },
20584             8usize,
20585             concat!(
20586                 "Offset of field: ",
20587                 stringify!(CapturingContentInfo),
20588                 "::",
20589                 stringify!(mContent)
20590             )
20591         );
20592     }
20593     /// Presentation shell interface. Presentation shells are the
20594     /// controlling point for managing the presentation of a document. The
20595     /// presentation shell holds a live reference to the document, the
20596     /// presentation context, the style manager, the style set and the root
20597     /// frame. <p>
20598     ///
20599     /// When this object is Release'd, it will release the document, the
20600     /// presentation context, the style manager, the style set and the root
20601     /// frame.
20602     #[repr(C)]
20603     pub struct nsIPresShell {
20604         pub _base: root::nsStubDocumentObserver,
20605         pub mDocument: root::nsCOMPtr,
20606         pub mPresContext: root::RefPtr<root::nsPresContext>,
20607         pub mStyleSet: root::mozilla::StyleSetHandle,
20608         pub mFrameConstructor: *mut root::nsCSSFrameConstructor,
20609         pub mViewManager: *mut root::nsViewManager,
20610         pub mFrameArena: root::nsPresArena,
20611         pub mSelection: root::RefPtr<root::nsFrameSelection>,
20612         pub mFrameManager: *mut root::nsFrameManagerBase,
20613         pub mForwardingContainer: u64,
20614         pub mDocAccessible: *mut root::mozilla::a11y::DocAccessible,
20615         pub mReflowContinueTimer: root::nsCOMPtr,
20616         pub mPaintCount: u64,
20617         pub mScrollPositionClampingScrollPortSize: root::nsSize,
20618         pub mAutoWeakFrames: *mut root::AutoWeakFrame,
20619         pub mWeakFrames: [u64; 4usize],
20620         pub mStyleCause: root::UniqueProfilerBacktrace,
20621         pub mReflowCause: root::UniqueProfilerBacktrace,
20622         pub mCanvasBackgroundColor: root::nscolor,
20623         pub mResolution: [u32; 2usize],
20624         pub mSelectionFlags: i16,
20625         pub mChangeNestCount: u16,
20626         pub mRenderFlags: root::nsIPresShell_RenderFlags,
20627         pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 3usize], u8>,
20628         pub mPresShellId: u32,
20629         pub mFontSizeInflationEmPerLine: u32,
20630         pub mFontSizeInflationMinTwips: u32,
20631         pub mFontSizeInflationLineThreshold: u32,
20632         pub mFontSizeInflationForceEnabled: bool,
20633         pub mFontSizeInflationDisabledInMasterProcess: bool,
20634         pub mFontSizeInflationEnabled: bool,
20635         pub mFontSizeInflationEnabledIsDirty: bool,
20636         pub mPaintingIsFrozen: bool,
20637         pub mIsNeverPainting: bool,
20638         pub mInFlush: bool,
20639     }
20640     #[repr(C)]
20641     #[derive(Debug, Copy, Clone)]
20642     pub struct nsIPresShell_COMTypeInfo {
20643         pub _address: u8,
20644     }
20645     pub type nsIPresShell_LayerManager = root::mozilla::layers::LayerManager;
20646     pub type nsIPresShell_SourceSurface = root::mozilla::gfx::SourceSurface;
20647     pub const nsIPresShell_eRenderFlag_STATE_IGNORING_VIEWPORT_SCROLLING:
20648         root::nsIPresShell_eRenderFlag = 1;
20649     pub const nsIPresShell_eRenderFlag_STATE_DRAWWINDOW_NOT_FLUSHING:
20650         root::nsIPresShell_eRenderFlag = 2;
20651     pub type nsIPresShell_eRenderFlag = u32;
20652     pub type nsIPresShell_RenderFlags = u8;
20653     pub const nsIPresShell_ResizeReflowOptions_eBSizeExact: root::nsIPresShell_ResizeReflowOptions =
20654         0;
20655     pub const nsIPresShell_ResizeReflowOptions_eBSizeLimit: root::nsIPresShell_ResizeReflowOptions =
20656         1;
20657     pub type nsIPresShell_ResizeReflowOptions = u32;
20658     pub const nsIPresShell_ScrollDirection_eHorizontal: root::nsIPresShell_ScrollDirection = 0;
20659     pub const nsIPresShell_ScrollDirection_eVertical: root::nsIPresShell_ScrollDirection = 1;
20660     pub const nsIPresShell_ScrollDirection_eEither: root::nsIPresShell_ScrollDirection = 2;
20661     /// Gets nearest scrollable frame from the specified content node. The frame
20662     /// is scrollable with overflow:scroll or overflow:auto in some direction when
20663     /// aDirection is eEither.  Otherwise, this returns a nearest frame that is
20664     /// scrollable in the specified direction.
20665     pub type nsIPresShell_ScrollDirection = u32;
20666     pub const nsIPresShell_IntrinsicDirty_eResize: root::nsIPresShell_IntrinsicDirty = 0;
20667     pub const nsIPresShell_IntrinsicDirty_eTreeChange: root::nsIPresShell_IntrinsicDirty = 1;
20668     pub const nsIPresShell_IntrinsicDirty_eStyleChange: root::nsIPresShell_IntrinsicDirty = 2;
20669     /// Tell the pres shell that a frame needs to be marked dirty and needs
20670     /// Reflow.  It's OK if this is an ancestor of the frame needing reflow as
20671     /// long as the ancestor chain between them doesn't cross a reflow root.
20672     ///
20673     /// The bit to add should be NS_FRAME_IS_DIRTY, NS_FRAME_HAS_DIRTY_CHILDREN
20674     /// or nsFrameState(0); passing 0 means that dirty bits won't be set on the
20675     /// frame or its ancestors/descendants, but that intrinsic widths will still
20676     /// be marked dirty.  Passing aIntrinsicDirty = eResize and aBitToAdd = 0
20677     /// would result in no work being done, so don't do that.
20678     pub type nsIPresShell_IntrinsicDirty = u32;
20679     pub const nsIPresShell_ReflowRootHandling_ePositionOrSizeChange:
20680         root::nsIPresShell_ReflowRootHandling = 0;
20681     pub const nsIPresShell_ReflowRootHandling_eNoPositionOrSizeChange:
20682         root::nsIPresShell_ReflowRootHandling = 1;
20683     pub const nsIPresShell_ReflowRootHandling_eInferFromBitToAdd:
20684         root::nsIPresShell_ReflowRootHandling = 2;
20685     pub type nsIPresShell_ReflowRootHandling = u32;
20686     pub const nsIPresShell_SCROLL_TOP: root::nsIPresShell__bindgen_ty_1 = 0;
20687     pub const nsIPresShell_SCROLL_BOTTOM: root::nsIPresShell__bindgen_ty_1 = 100;
20688     pub const nsIPresShell_SCROLL_LEFT: root::nsIPresShell__bindgen_ty_1 = 0;
20689     pub const nsIPresShell_SCROLL_RIGHT: root::nsIPresShell__bindgen_ty_1 = 100;
20690     pub const nsIPresShell_SCROLL_CENTER: root::nsIPresShell__bindgen_ty_1 = 50;
20691     pub const nsIPresShell_SCROLL_MINIMUM: root::nsIPresShell__bindgen_ty_1 = -1;
20692     pub type nsIPresShell__bindgen_ty_1 = i32;
20693     pub const nsIPresShell_WhenToScroll_SCROLL_ALWAYS: root::nsIPresShell_WhenToScroll = 0;
20694     pub const nsIPresShell_WhenToScroll_SCROLL_IF_NOT_VISIBLE: root::nsIPresShell_WhenToScroll = 1;
20695     pub const nsIPresShell_WhenToScroll_SCROLL_IF_NOT_FULLY_VISIBLE:
20696         root::nsIPresShell_WhenToScroll = 2;
20697     pub type nsIPresShell_WhenToScroll = u32;
20698     #[repr(C)]
20699     #[derive(Debug, Copy)]
20700     pub struct nsIPresShell_ScrollAxis {
20701         pub _bindgen_opaque_blob: u32,
20702     }
20703     #[test]
bindgen_test_layout_nsIPresShell_ScrollAxis()20704     fn bindgen_test_layout_nsIPresShell_ScrollAxis() {
20705         assert_eq!(
20706             ::std::mem::size_of::<nsIPresShell_ScrollAxis>(),
20707             4usize,
20708             concat!("Size of: ", stringify!(nsIPresShell_ScrollAxis))
20709         );
20710         assert_eq!(
20711             ::std::mem::align_of::<nsIPresShell_ScrollAxis>(),
20712             4usize,
20713             concat!("Alignment of ", stringify!(nsIPresShell_ScrollAxis))
20714         );
20715     }
20716     impl Clone for nsIPresShell_ScrollAxis {
clone(&self) -> Self20717         fn clone(&self) -> Self {
20718             *self
20719         }
20720     }
20721     pub const nsIPresShell_SCROLL_FIRST_ANCESTOR_ONLY: root::nsIPresShell__bindgen_ty_2 = 1;
20722     pub const nsIPresShell_SCROLL_OVERFLOW_HIDDEN: root::nsIPresShell__bindgen_ty_2 = 2;
20723     pub const nsIPresShell_SCROLL_NO_PARENT_FRAMES: root::nsIPresShell__bindgen_ty_2 = 4;
20724     pub const nsIPresShell_SCROLL_SMOOTH: root::nsIPresShell__bindgen_ty_2 = 8;
20725     pub const nsIPresShell_SCROLL_SMOOTH_AUTO: root::nsIPresShell__bindgen_ty_2 = 16;
20726     pub type nsIPresShell__bindgen_ty_2 = u32;
20727     pub const nsIPresShell_RENDER_IS_UNTRUSTED: root::nsIPresShell__bindgen_ty_3 = 1;
20728     pub const nsIPresShell_RENDER_IGNORE_VIEWPORT_SCROLLING: root::nsIPresShell__bindgen_ty_3 = 2;
20729     pub const nsIPresShell_RENDER_CARET: root::nsIPresShell__bindgen_ty_3 = 4;
20730     pub const nsIPresShell_RENDER_USE_WIDGET_LAYERS: root::nsIPresShell__bindgen_ty_3 = 8;
20731     pub const nsIPresShell_RENDER_ASYNC_DECODE_IMAGES: root::nsIPresShell__bindgen_ty_3 = 16;
20732     pub const nsIPresShell_RENDER_DOCUMENT_RELATIVE: root::nsIPresShell__bindgen_ty_3 = 32;
20733     pub const nsIPresShell_RENDER_DRAWWINDOW_NOT_FLUSHING: root::nsIPresShell__bindgen_ty_3 = 64;
20734     /// Render the document into an arbitrary gfxContext
20735     /// Designed for getting a picture of a document or a piece of a document
20736     /// Note that callers will generally want to call FlushPendingNotifications
20737     /// to get an up-to-date view of the document
20738     /// @param aRect is the region to capture into the offscreen buffer, in the
20739     /// root frame's coordinate system (if aIgnoreViewportScrolling is false)
20740     /// or in the root scrolled frame's coordinate system
20741     /// (if aIgnoreViewportScrolling is true). The coordinates are in appunits.
20742     /// @param aFlags see below;
20743     /// set RENDER_IS_UNTRUSTED if the contents may be passed to malicious
20744     /// agents. E.g. we might choose not to paint the contents of sensitive widgets
20745     /// such as the file name in a file upload widget, and we might choose not
20746     /// to paint themes.
20747     /// set RENDER_IGNORE_VIEWPORT_SCROLLING to ignore
20748     /// clipping and scrollbar painting due to scrolling in the viewport
20749     /// set RENDER_CARET to draw the caret if one would be visible
20750     /// (by default the caret is never drawn)
20751     /// set RENDER_USE_LAYER_MANAGER to force rendering to go through
20752     /// the layer manager for the window. This may be unexpectedly slow
20753     /// (if the layer manager must read back data from the GPU) or low-quality
20754     /// (if the layer manager reads back pixel data and scales it
20755     /// instead of rendering using the appropriate scaling). It may also
20756     /// slow everything down if the area rendered does not correspond to the
20757     /// normal visible area of the window.
20758     /// set RENDER_ASYNC_DECODE_IMAGES to avoid having images synchronously
20759     /// decoded during rendering.
20760     /// (by default images decode synchronously with RenderDocument)
20761     /// set RENDER_DOCUMENT_RELATIVE to render the document as if there has been
20762     /// no scrolling and interpret |aRect| relative to the document instead of the
20763     /// CSS viewport. Only considered if RENDER_IGNORE_VIEWPORT_SCROLLING is set
20764     /// or the document is in ignore viewport scrolling mode
20765     /// (nsIPresShell::SetIgnoreViewportScrolling/IgnoringViewportScrolling).
20766     /// @param aBackgroundColor a background color to render onto
20767     /// @param aRenderedContext the gfxContext to render to. We render so that
20768     /// one CSS pixel in the source document is rendered to one unit in the current
20769     /// transform.
20770     pub type nsIPresShell__bindgen_ty_3 = u32;
20771     pub const nsIPresShell_RENDER_IS_IMAGE: root::nsIPresShell__bindgen_ty_4 = 256;
20772     pub const nsIPresShell_RENDER_AUTO_SCALE: root::nsIPresShell__bindgen_ty_4 = 128;
20773     pub type nsIPresShell__bindgen_ty_4 = u32;
20774     pub const nsIPresShell_FORCE_DRAW: root::nsIPresShell__bindgen_ty_5 = 1;
20775     pub const nsIPresShell_ADD_FOR_SUBDOC: root::nsIPresShell__bindgen_ty_5 = 2;
20776     pub const nsIPresShell_APPEND_UNSCROLLED_ONLY: root::nsIPresShell__bindgen_ty_5 = 4;
20777     /// Add a solid color item to the bottom of aList with frame aFrame and bounds
20778     /// aBounds. Checks first if this needs to be done by checking if aFrame is a
20779     /// canvas frame (if the FORCE_DRAW flag is passed then this check is skipped).
20780     /// aBackstopColor is composed behind the background color of the canvas, it is
20781     /// transparent by default.
20782     /// We attempt to make the background color part of the scrolled canvas (to reduce
20783     /// transparent layers), and if async scrolling is enabled (and the background
20784     /// is opaque) then we add a second, unscrolled item to handle the checkerboarding
20785     /// case.
20786     /// ADD_FOR_SUBDOC shoud be specified when calling this for a subdocument, and
20787     /// LayoutUseContainersForRootFrame might cause the whole list to be scrolled. In
20788     /// that case the second unscrolled item will be elided.
20789     /// APPEND_UNSCROLLED_ONLY only attempts to add the unscrolled item, so that we
20790     /// can add it manually after LayoutUseContainersForRootFrame has built the
20791     /// scrolling ContainerLayer.
20792     pub type nsIPresShell__bindgen_ty_5 = u32;
20793     pub const nsIPresShell_PaintFlags_PAINT_LAYERS: root::nsIPresShell_PaintFlags = 1;
20794     pub const nsIPresShell_PaintFlags_PAINT_COMPOSITE: root::nsIPresShell_PaintFlags = 2;
20795     pub const nsIPresShell_PaintFlags_PAINT_SYNC_DECODE_IMAGES: root::nsIPresShell_PaintFlags = 4;
20796     pub type nsIPresShell_PaintFlags = u32;
20797     pub const nsIPresShell_PaintType_PAINT_DEFAULT: root::nsIPresShell_PaintType = 0;
20798     pub const nsIPresShell_PaintType_PAINT_DELAYED_COMPRESS: root::nsIPresShell_PaintType = 1;
20799     /// Ensures that the refresh driver is running, and schedules a view
20800     /// manager flush on the next tick.
20801     ///
20802     /// @param aType PAINT_DELAYED_COMPRESS : Schedule a paint to be executed after a delay, and
20803     /// put FrameLayerBuilder in 'compressed' mode that avoids short cut optimizations.
20804     pub type nsIPresShell_PaintType = u32;
20805     extern "C" {
20806         #[link_name = "\u{1}_ZN12nsIPresShell12gCaptureInfoE"]
20807         pub static mut nsIPresShell_gCaptureInfo: root::CapturingContentInfo;
20808     }
20809     extern "C" {
20810         #[link_name = "\u{1}_ZN12nsIPresShell14gKeyDownTargetE"]
20811         pub static mut nsIPresShell_gKeyDownTarget: *mut root::nsIContent;
20812     }
20813     #[test]
bindgen_test_layout_nsIPresShell()20814     fn bindgen_test_layout_nsIPresShell() {
20815         assert_eq!(
20816             ::std::mem::size_of::<nsIPresShell>(),
20817             5344usize,
20818             concat!("Size of: ", stringify!(nsIPresShell))
20819         );
20820         assert_eq!(
20821             ::std::mem::align_of::<nsIPresShell>(),
20822             8usize,
20823             concat!("Alignment of ", stringify!(nsIPresShell))
20824         );
20825         assert_eq!(
20826             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mDocument as *const _ as usize },
20827             8usize,
20828             concat!(
20829                 "Offset of field: ",
20830                 stringify!(nsIPresShell),
20831                 "::",
20832                 stringify!(mDocument)
20833             )
20834         );
20835         assert_eq!(
20836             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mPresContext as *const _ as usize },
20837             16usize,
20838             concat!(
20839                 "Offset of field: ",
20840                 stringify!(nsIPresShell),
20841                 "::",
20842                 stringify!(mPresContext)
20843             )
20844         );
20845         assert_eq!(
20846             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mStyleSet as *const _ as usize },
20847             24usize,
20848             concat!(
20849                 "Offset of field: ",
20850                 stringify!(nsIPresShell),
20851                 "::",
20852                 stringify!(mStyleSet)
20853             )
20854         );
20855         assert_eq!(
20856             unsafe {
20857                 &(*(::std::ptr::null::<nsIPresShell>())).mFrameConstructor as *const _ as usize
20858             },
20859             32usize,
20860             concat!(
20861                 "Offset of field: ",
20862                 stringify!(nsIPresShell),
20863                 "::",
20864                 stringify!(mFrameConstructor)
20865             )
20866         );
20867         assert_eq!(
20868             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mViewManager as *const _ as usize },
20869             40usize,
20870             concat!(
20871                 "Offset of field: ",
20872                 stringify!(nsIPresShell),
20873                 "::",
20874                 stringify!(mViewManager)
20875             )
20876         );
20877         assert_eq!(
20878             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mFrameArena as *const _ as usize },
20879             48usize,
20880             concat!(
20881                 "Offset of field: ",
20882                 stringify!(nsIPresShell),
20883                 "::",
20884                 stringify!(mFrameArena)
20885             )
20886         );
20887         assert_eq!(
20888             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mSelection as *const _ as usize },
20889             5184usize,
20890             concat!(
20891                 "Offset of field: ",
20892                 stringify!(nsIPresShell),
20893                 "::",
20894                 stringify!(mSelection)
20895             )
20896         );
20897         assert_eq!(
20898             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mFrameManager as *const _ as usize },
20899             5192usize,
20900             concat!(
20901                 "Offset of field: ",
20902                 stringify!(nsIPresShell),
20903                 "::",
20904                 stringify!(mFrameManager)
20905             )
20906         );
20907         assert_eq!(
20908             unsafe {
20909                 &(*(::std::ptr::null::<nsIPresShell>())).mForwardingContainer as *const _ as usize
20910             },
20911             5200usize,
20912             concat!(
20913                 "Offset of field: ",
20914                 stringify!(nsIPresShell),
20915                 "::",
20916                 stringify!(mForwardingContainer)
20917             )
20918         );
20919         assert_eq!(
20920             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mDocAccessible as *const _ as usize },
20921             5208usize,
20922             concat!(
20923                 "Offset of field: ",
20924                 stringify!(nsIPresShell),
20925                 "::",
20926                 stringify!(mDocAccessible)
20927             )
20928         );
20929         assert_eq!(
20930             unsafe {
20931                 &(*(::std::ptr::null::<nsIPresShell>())).mReflowContinueTimer as *const _ as usize
20932             },
20933             5216usize,
20934             concat!(
20935                 "Offset of field: ",
20936                 stringify!(nsIPresShell),
20937                 "::",
20938                 stringify!(mReflowContinueTimer)
20939             )
20940         );
20941         assert_eq!(
20942             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mPaintCount as *const _ as usize },
20943             5224usize,
20944             concat!(
20945                 "Offset of field: ",
20946                 stringify!(nsIPresShell),
20947                 "::",
20948                 stringify!(mPaintCount)
20949             )
20950         );
20951         assert_eq!(
20952             unsafe {
20953                 &(*(::std::ptr::null::<nsIPresShell>())).mScrollPositionClampingScrollPortSize
20954                     as *const _ as usize
20955             },
20956             5232usize,
20957             concat!(
20958                 "Offset of field: ",
20959                 stringify!(nsIPresShell),
20960                 "::",
20961                 stringify!(mScrollPositionClampingScrollPortSize)
20962             )
20963         );
20964         assert_eq!(
20965             unsafe {
20966                 &(*(::std::ptr::null::<nsIPresShell>())).mAutoWeakFrames as *const _ as usize
20967             },
20968             5240usize,
20969             concat!(
20970                 "Offset of field: ",
20971                 stringify!(nsIPresShell),
20972                 "::",
20973                 stringify!(mAutoWeakFrames)
20974             )
20975         );
20976         assert_eq!(
20977             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mWeakFrames as *const _ as usize },
20978             5248usize,
20979             concat!(
20980                 "Offset of field: ",
20981                 stringify!(nsIPresShell),
20982                 "::",
20983                 stringify!(mWeakFrames)
20984             )
20985         );
20986         assert_eq!(
20987             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mStyleCause as *const _ as usize },
20988             5280usize,
20989             concat!(
20990                 "Offset of field: ",
20991                 stringify!(nsIPresShell),
20992                 "::",
20993                 stringify!(mStyleCause)
20994             )
20995         );
20996         assert_eq!(
20997             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mReflowCause as *const _ as usize },
20998             5288usize,
20999             concat!(
21000                 "Offset of field: ",
21001                 stringify!(nsIPresShell),
21002                 "::",
21003                 stringify!(mReflowCause)
21004             )
21005         );
21006         assert_eq!(
21007             unsafe {
21008                 &(*(::std::ptr::null::<nsIPresShell>())).mCanvasBackgroundColor as *const _ as usize
21009             },
21010             5296usize,
21011             concat!(
21012                 "Offset of field: ",
21013                 stringify!(nsIPresShell),
21014                 "::",
21015                 stringify!(mCanvasBackgroundColor)
21016             )
21017         );
21018         assert_eq!(
21019             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mResolution as *const _ as usize },
21020             5300usize,
21021             concat!(
21022                 "Offset of field: ",
21023                 stringify!(nsIPresShell),
21024                 "::",
21025                 stringify!(mResolution)
21026             )
21027         );
21028         assert_eq!(
21029             unsafe {
21030                 &(*(::std::ptr::null::<nsIPresShell>())).mSelectionFlags as *const _ as usize
21031             },
21032             5308usize,
21033             concat!(
21034                 "Offset of field: ",
21035                 stringify!(nsIPresShell),
21036                 "::",
21037                 stringify!(mSelectionFlags)
21038             )
21039         );
21040         assert_eq!(
21041             unsafe {
21042                 &(*(::std::ptr::null::<nsIPresShell>())).mChangeNestCount as *const _ as usize
21043             },
21044             5310usize,
21045             concat!(
21046                 "Offset of field: ",
21047                 stringify!(nsIPresShell),
21048                 "::",
21049                 stringify!(mChangeNestCount)
21050             )
21051         );
21052         assert_eq!(
21053             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mRenderFlags as *const _ as usize },
21054             5312usize,
21055             concat!(
21056                 "Offset of field: ",
21057                 stringify!(nsIPresShell),
21058                 "::",
21059                 stringify!(mRenderFlags)
21060             )
21061         );
21062         assert_eq!(
21063             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mPresShellId as *const _ as usize },
21064             5316usize,
21065             concat!(
21066                 "Offset of field: ",
21067                 stringify!(nsIPresShell),
21068                 "::",
21069                 stringify!(mPresShellId)
21070             )
21071         );
21072         assert_eq!(
21073             unsafe {
21074                 &(*(::std::ptr::null::<nsIPresShell>())).mFontSizeInflationEmPerLine as *const _
21075                     as usize
21076             },
21077             5320usize,
21078             concat!(
21079                 "Offset of field: ",
21080                 stringify!(nsIPresShell),
21081                 "::",
21082                 stringify!(mFontSizeInflationEmPerLine)
21083             )
21084         );
21085         assert_eq!(
21086             unsafe {
21087                 &(*(::std::ptr::null::<nsIPresShell>())).mFontSizeInflationMinTwips as *const _
21088                     as usize
21089             },
21090             5324usize,
21091             concat!(
21092                 "Offset of field: ",
21093                 stringify!(nsIPresShell),
21094                 "::",
21095                 stringify!(mFontSizeInflationMinTwips)
21096             )
21097         );
21098         assert_eq!(
21099             unsafe {
21100                 &(*(::std::ptr::null::<nsIPresShell>())).mFontSizeInflationLineThreshold as *const _
21101                     as usize
21102             },
21103             5328usize,
21104             concat!(
21105                 "Offset of field: ",
21106                 stringify!(nsIPresShell),
21107                 "::",
21108                 stringify!(mFontSizeInflationLineThreshold)
21109             )
21110         );
21111         assert_eq!(
21112             unsafe {
21113                 &(*(::std::ptr::null::<nsIPresShell>())).mFontSizeInflationForceEnabled as *const _
21114                     as usize
21115             },
21116             5332usize,
21117             concat!(
21118                 "Offset of field: ",
21119                 stringify!(nsIPresShell),
21120                 "::",
21121                 stringify!(mFontSizeInflationForceEnabled)
21122             )
21123         );
21124         assert_eq!(
21125             unsafe {
21126                 &(*(::std::ptr::null::<nsIPresShell>())).mFontSizeInflationDisabledInMasterProcess
21127                     as *const _ as usize
21128             },
21129             5333usize,
21130             concat!(
21131                 "Offset of field: ",
21132                 stringify!(nsIPresShell),
21133                 "::",
21134                 stringify!(mFontSizeInflationDisabledInMasterProcess)
21135             )
21136         );
21137         assert_eq!(
21138             unsafe {
21139                 &(*(::std::ptr::null::<nsIPresShell>())).mFontSizeInflationEnabled as *const _
21140                     as usize
21141             },
21142             5334usize,
21143             concat!(
21144                 "Offset of field: ",
21145                 stringify!(nsIPresShell),
21146                 "::",
21147                 stringify!(mFontSizeInflationEnabled)
21148             )
21149         );
21150         assert_eq!(
21151             unsafe {
21152                 &(*(::std::ptr::null::<nsIPresShell>())).mFontSizeInflationEnabledIsDirty
21153                     as *const _ as usize
21154             },
21155             5335usize,
21156             concat!(
21157                 "Offset of field: ",
21158                 stringify!(nsIPresShell),
21159                 "::",
21160                 stringify!(mFontSizeInflationEnabledIsDirty)
21161             )
21162         );
21163         assert_eq!(
21164             unsafe {
21165                 &(*(::std::ptr::null::<nsIPresShell>())).mPaintingIsFrozen as *const _ as usize
21166             },
21167             5336usize,
21168             concat!(
21169                 "Offset of field: ",
21170                 stringify!(nsIPresShell),
21171                 "::",
21172                 stringify!(mPaintingIsFrozen)
21173             )
21174         );
21175         assert_eq!(
21176             unsafe {
21177                 &(*(::std::ptr::null::<nsIPresShell>())).mIsNeverPainting as *const _ as usize
21178             },
21179             5337usize,
21180             concat!(
21181                 "Offset of field: ",
21182                 stringify!(nsIPresShell),
21183                 "::",
21184                 stringify!(mIsNeverPainting)
21185             )
21186         );
21187         assert_eq!(
21188             unsafe { &(*(::std::ptr::null::<nsIPresShell>())).mInFlush as *const _ as usize },
21189             5338usize,
21190             concat!(
21191                 "Offset of field: ",
21192                 stringify!(nsIPresShell),
21193                 "::",
21194                 stringify!(mInFlush)
21195             )
21196         );
21197     }
21198     impl nsIPresShell {
21199         #[inline]
mDidInitialize(&self) -> bool21200         pub fn mDidInitialize(&self) -> bool {
21201             unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
21202         }
21203         #[inline]
set_mDidInitialize(&mut self, val: bool)21204         pub fn set_mDidInitialize(&mut self, val: bool) {
21205             unsafe {
21206                 let val: u8 = ::std::mem::transmute(val);
21207                 self._bitfield_1.set(0usize, 1u8, val as u64)
21208             }
21209         }
21210         #[inline]
mIsDestroying(&self) -> bool21211         pub fn mIsDestroying(&self) -> bool {
21212             unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
21213         }
21214         #[inline]
set_mIsDestroying(&mut self, val: bool)21215         pub fn set_mIsDestroying(&mut self, val: bool) {
21216             unsafe {
21217                 let val: u8 = ::std::mem::transmute(val);
21218                 self._bitfield_1.set(1usize, 1u8, val as u64)
21219             }
21220         }
21221         #[inline]
mIsReflowing(&self) -> bool21222         pub fn mIsReflowing(&self) -> bool {
21223             unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
21224         }
21225         #[inline]
set_mIsReflowing(&mut self, val: bool)21226         pub fn set_mIsReflowing(&mut self, val: bool) {
21227             unsafe {
21228                 let val: u8 = ::std::mem::transmute(val);
21229                 self._bitfield_1.set(2usize, 1u8, val as u64)
21230             }
21231         }
21232         #[inline]
mIsObservingDocument(&self) -> bool21233         pub fn mIsObservingDocument(&self) -> bool {
21234             unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
21235         }
21236         #[inline]
set_mIsObservingDocument(&mut self, val: bool)21237         pub fn set_mIsObservingDocument(&mut self, val: bool) {
21238             unsafe {
21239                 let val: u8 = ::std::mem::transmute(val);
21240                 self._bitfield_1.set(3usize, 1u8, val as u64)
21241             }
21242         }
21243         #[inline]
mIsDocumentGone(&self) -> bool21244         pub fn mIsDocumentGone(&self) -> bool {
21245             unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
21246         }
21247         #[inline]
set_mIsDocumentGone(&mut self, val: bool)21248         pub fn set_mIsDocumentGone(&mut self, val: bool) {
21249             unsafe {
21250                 let val: u8 = ::std::mem::transmute(val);
21251                 self._bitfield_1.set(4usize, 1u8, val as u64)
21252             }
21253         }
21254         #[inline]
mPaintingSuppressed(&self) -> bool21255         pub fn mPaintingSuppressed(&self) -> bool {
21256             unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) }
21257         }
21258         #[inline]
set_mPaintingSuppressed(&mut self, val: bool)21259         pub fn set_mPaintingSuppressed(&mut self, val: bool) {
21260             unsafe {
21261                 let val: u8 = ::std::mem::transmute(val);
21262                 self._bitfield_1.set(5usize, 1u8, val as u64)
21263             }
21264         }
21265         #[inline]
mIsActive(&self) -> bool21266         pub fn mIsActive(&self) -> bool {
21267             unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) }
21268         }
21269         #[inline]
set_mIsActive(&mut self, val: bool)21270         pub fn set_mIsActive(&mut self, val: bool) {
21271             unsafe {
21272                 let val: u8 = ::std::mem::transmute(val);
21273                 self._bitfield_1.set(6usize, 1u8, val as u64)
21274             }
21275         }
21276         #[inline]
mFrozen(&self) -> bool21277         pub fn mFrozen(&self) -> bool {
21278             unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
21279         }
21280         #[inline]
set_mFrozen(&mut self, val: bool)21281         pub fn set_mFrozen(&mut self, val: bool) {
21282             unsafe {
21283                 let val: u8 = ::std::mem::transmute(val);
21284                 self._bitfield_1.set(7usize, 1u8, val as u64)
21285             }
21286         }
21287         #[inline]
mIsFirstPaint(&self) -> bool21288         pub fn mIsFirstPaint(&self) -> bool {
21289             unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
21290         }
21291         #[inline]
set_mIsFirstPaint(&mut self, val: bool)21292         pub fn set_mIsFirstPaint(&mut self, val: bool) {
21293             unsafe {
21294                 let val: u8 = ::std::mem::transmute(val);
21295                 self._bitfield_1.set(8usize, 1u8, val as u64)
21296             }
21297         }
21298         #[inline]
mObservesMutationsForPrint(&self) -> bool21299         pub fn mObservesMutationsForPrint(&self) -> bool {
21300             unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) }
21301         }
21302         #[inline]
set_mObservesMutationsForPrint(&mut self, val: bool)21303         pub fn set_mObservesMutationsForPrint(&mut self, val: bool) {
21304             unsafe {
21305                 let val: u8 = ::std::mem::transmute(val);
21306                 self._bitfield_1.set(9usize, 1u8, val as u64)
21307             }
21308         }
21309         #[inline]
mWasLastReflowInterrupted(&self) -> bool21310         pub fn mWasLastReflowInterrupted(&self) -> bool {
21311             unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u8) }
21312         }
21313         #[inline]
set_mWasLastReflowInterrupted(&mut self, val: bool)21314         pub fn set_mWasLastReflowInterrupted(&mut self, val: bool) {
21315             unsafe {
21316                 let val: u8 = ::std::mem::transmute(val);
21317                 self._bitfield_1.set(10usize, 1u8, val as u64)
21318             }
21319         }
21320         #[inline]
mScrollPositionClampingScrollPortSizeSet(&self) -> bool21321         pub fn mScrollPositionClampingScrollPortSizeSet(&self) -> bool {
21322             unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u8) }
21323         }
21324         #[inline]
set_mScrollPositionClampingScrollPortSizeSet(&mut self, val: bool)21325         pub fn set_mScrollPositionClampingScrollPortSizeSet(&mut self, val: bool) {
21326             unsafe {
21327                 let val: u8 = ::std::mem::transmute(val);
21328                 self._bitfield_1.set(11usize, 1u8, val as u64)
21329             }
21330         }
21331         #[inline]
mNeedLayoutFlush(&self) -> bool21332         pub fn mNeedLayoutFlush(&self) -> bool {
21333             unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u8) }
21334         }
21335         #[inline]
set_mNeedLayoutFlush(&mut self, val: bool)21336         pub fn set_mNeedLayoutFlush(&mut self, val: bool) {
21337             unsafe {
21338                 let val: u8 = ::std::mem::transmute(val);
21339                 self._bitfield_1.set(12usize, 1u8, val as u64)
21340             }
21341         }
21342         #[inline]
mNeedStyleFlush(&self) -> bool21343         pub fn mNeedStyleFlush(&self) -> bool {
21344             unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u8) }
21345         }
21346         #[inline]
set_mNeedStyleFlush(&mut self, val: bool)21347         pub fn set_mNeedStyleFlush(&mut self, val: bool) {
21348             unsafe {
21349                 let val: u8 = ::std::mem::transmute(val);
21350                 self._bitfield_1.set(13usize, 1u8, val as u64)
21351             }
21352         }
21353         #[inline]
mObservingStyleFlushes(&self) -> bool21354         pub fn mObservingStyleFlushes(&self) -> bool {
21355             unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u8) }
21356         }
21357         #[inline]
set_mObservingStyleFlushes(&mut self, val: bool)21358         pub fn set_mObservingStyleFlushes(&mut self, val: bool) {
21359             unsafe {
21360                 let val: u8 = ::std::mem::transmute(val);
21361                 self._bitfield_1.set(14usize, 1u8, val as u64)
21362             }
21363         }
21364         #[inline]
mObservingLayoutFlushes(&self) -> bool21365         pub fn mObservingLayoutFlushes(&self) -> bool {
21366             unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u8) }
21367         }
21368         #[inline]
set_mObservingLayoutFlushes(&mut self, val: bool)21369         pub fn set_mObservingLayoutFlushes(&mut self, val: bool) {
21370             unsafe {
21371                 let val: u8 = ::std::mem::transmute(val);
21372                 self._bitfield_1.set(15usize, 1u8, val as u64)
21373             }
21374         }
21375         #[inline]
mNeedThrottledAnimationFlush(&self) -> bool21376         pub fn mNeedThrottledAnimationFlush(&self) -> bool {
21377             unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u8) }
21378         }
21379         #[inline]
set_mNeedThrottledAnimationFlush(&mut self, val: bool)21380         pub fn set_mNeedThrottledAnimationFlush(&mut self, val: bool) {
21381             unsafe {
21382                 let val: u8 = ::std::mem::transmute(val);
21383                 self._bitfield_1.set(16usize, 1u8, val as u64)
21384             }
21385         }
21386         #[inline]
new_bitfield_1( mDidInitialize: bool, mIsDestroying: bool, mIsReflowing: bool, mIsObservingDocument: bool, mIsDocumentGone: bool, mPaintingSuppressed: bool, mIsActive: bool, mFrozen: bool, mIsFirstPaint: bool, mObservesMutationsForPrint: bool, mWasLastReflowInterrupted: bool, mScrollPositionClampingScrollPortSizeSet: bool, mNeedLayoutFlush: bool, mNeedStyleFlush: bool, mObservingStyleFlushes: bool, mObservingLayoutFlushes: bool, mNeedThrottledAnimationFlush: bool, ) -> root::__BindgenBitfieldUnit<[u8; 3usize], u8>21387         pub fn new_bitfield_1(
21388             mDidInitialize: bool,
21389             mIsDestroying: bool,
21390             mIsReflowing: bool,
21391             mIsObservingDocument: bool,
21392             mIsDocumentGone: bool,
21393             mPaintingSuppressed: bool,
21394             mIsActive: bool,
21395             mFrozen: bool,
21396             mIsFirstPaint: bool,
21397             mObservesMutationsForPrint: bool,
21398             mWasLastReflowInterrupted: bool,
21399             mScrollPositionClampingScrollPortSizeSet: bool,
21400             mNeedLayoutFlush: bool,
21401             mNeedStyleFlush: bool,
21402             mObservingStyleFlushes: bool,
21403             mObservingLayoutFlushes: bool,
21404             mNeedThrottledAnimationFlush: bool,
21405         ) -> root::__BindgenBitfieldUnit<[u8; 3usize], u8> {
21406             let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
21407                 [u8; 3usize],
21408                 u8,
21409             > = Default::default();
21410             __bindgen_bitfield_unit.set(0usize, 1u8, {
21411                 let mDidInitialize: u8 = unsafe { ::std::mem::transmute(mDidInitialize) };
21412                 mDidInitialize as u64
21413             });
21414             __bindgen_bitfield_unit.set(1usize, 1u8, {
21415                 let mIsDestroying: u8 = unsafe { ::std::mem::transmute(mIsDestroying) };
21416                 mIsDestroying as u64
21417             });
21418             __bindgen_bitfield_unit.set(2usize, 1u8, {
21419                 let mIsReflowing: u8 = unsafe { ::std::mem::transmute(mIsReflowing) };
21420                 mIsReflowing as u64
21421             });
21422             __bindgen_bitfield_unit.set(3usize, 1u8, {
21423                 let mIsObservingDocument: u8 =
21424                     unsafe { ::std::mem::transmute(mIsObservingDocument) };
21425                 mIsObservingDocument as u64
21426             });
21427             __bindgen_bitfield_unit.set(4usize, 1u8, {
21428                 let mIsDocumentGone: u8 = unsafe { ::std::mem::transmute(mIsDocumentGone) };
21429                 mIsDocumentGone as u64
21430             });
21431             __bindgen_bitfield_unit.set(5usize, 1u8, {
21432                 let mPaintingSuppressed: u8 = unsafe { ::std::mem::transmute(mPaintingSuppressed) };
21433                 mPaintingSuppressed as u64
21434             });
21435             __bindgen_bitfield_unit.set(6usize, 1u8, {
21436                 let mIsActive: u8 = unsafe { ::std::mem::transmute(mIsActive) };
21437                 mIsActive as u64
21438             });
21439             __bindgen_bitfield_unit.set(7usize, 1u8, {
21440                 let mFrozen: u8 = unsafe { ::std::mem::transmute(mFrozen) };
21441                 mFrozen as u64
21442             });
21443             __bindgen_bitfield_unit.set(8usize, 1u8, {
21444                 let mIsFirstPaint: u8 = unsafe { ::std::mem::transmute(mIsFirstPaint) };
21445                 mIsFirstPaint as u64
21446             });
21447             __bindgen_bitfield_unit.set(9usize, 1u8, {
21448                 let mObservesMutationsForPrint: u8 =
21449                     unsafe { ::std::mem::transmute(mObservesMutationsForPrint) };
21450                 mObservesMutationsForPrint as u64
21451             });
21452             __bindgen_bitfield_unit.set(10usize, 1u8, {
21453                 let mWasLastReflowInterrupted: u8 =
21454                     unsafe { ::std::mem::transmute(mWasLastReflowInterrupted) };
21455                 mWasLastReflowInterrupted as u64
21456             });
21457             __bindgen_bitfield_unit.set(11usize, 1u8, {
21458                 let mScrollPositionClampingScrollPortSizeSet: u8 =
21459                     unsafe { ::std::mem::transmute(mScrollPositionClampingScrollPortSizeSet) };
21460                 mScrollPositionClampingScrollPortSizeSet as u64
21461             });
21462             __bindgen_bitfield_unit.set(12usize, 1u8, {
21463                 let mNeedLayoutFlush: u8 = unsafe { ::std::mem::transmute(mNeedLayoutFlush) };
21464                 mNeedLayoutFlush as u64
21465             });
21466             __bindgen_bitfield_unit.set(13usize, 1u8, {
21467                 let mNeedStyleFlush: u8 = unsafe { ::std::mem::transmute(mNeedStyleFlush) };
21468                 mNeedStyleFlush as u64
21469             });
21470             __bindgen_bitfield_unit.set(14usize, 1u8, {
21471                 let mObservingStyleFlushes: u8 =
21472                     unsafe { ::std::mem::transmute(mObservingStyleFlushes) };
21473                 mObservingStyleFlushes as u64
21474             });
21475             __bindgen_bitfield_unit.set(15usize, 1u8, {
21476                 let mObservingLayoutFlushes: u8 =
21477                     unsafe { ::std::mem::transmute(mObservingLayoutFlushes) };
21478                 mObservingLayoutFlushes as u64
21479             });
21480             __bindgen_bitfield_unit.set(16usize, 1u8, {
21481                 let mNeedThrottledAnimationFlush: u8 =
21482                     unsafe { ::std::mem::transmute(mNeedThrottledAnimationFlush) };
21483                 mNeedThrottledAnimationFlush as u64
21484             });
21485             __bindgen_bitfield_unit
21486         }
21487     }
21488     #[repr(u32)]
21489     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
21490     pub enum nsCompatibility {
21491         eCompatibility_FullStandards = 1,
21492         eCompatibility_AlmostStandards = 2,
21493         eCompatibility_NavQuirks = 3,
21494     }
21495     #[repr(C)]
21496     #[derive(Debug, Copy)]
21497     pub struct nsILoadGroup {
21498         pub _base: root::nsIRequest,
21499     }
21500     #[repr(C)]
21501     #[derive(Debug, Copy, Clone)]
21502     pub struct nsILoadGroup_COMTypeInfo {
21503         pub _address: u8,
21504     }
21505     #[test]
bindgen_test_layout_nsILoadGroup()21506     fn bindgen_test_layout_nsILoadGroup() {
21507         assert_eq!(
21508             ::std::mem::size_of::<nsILoadGroup>(),
21509             8usize,
21510             concat!("Size of: ", stringify!(nsILoadGroup))
21511         );
21512         assert_eq!(
21513             ::std::mem::align_of::<nsILoadGroup>(),
21514             8usize,
21515             concat!("Alignment of ", stringify!(nsILoadGroup))
21516         );
21517     }
21518     impl Clone for nsILoadGroup {
clone(&self) -> Self21519         fn clone(&self) -> Self {
21520             *self
21521         }
21522     }
21523     #[repr(C)]
21524     #[derive(Debug, Copy)]
21525     pub struct nsIRequestObserver {
21526         pub _base: root::nsISupports,
21527     }
21528     #[repr(C)]
21529     #[derive(Debug, Copy, Clone)]
21530     pub struct nsIRequestObserver_COMTypeInfo {
21531         pub _address: u8,
21532     }
21533     #[test]
bindgen_test_layout_nsIRequestObserver()21534     fn bindgen_test_layout_nsIRequestObserver() {
21535         assert_eq!(
21536             ::std::mem::size_of::<nsIRequestObserver>(),
21537             8usize,
21538             concat!("Size of: ", stringify!(nsIRequestObserver))
21539         );
21540         assert_eq!(
21541             ::std::mem::align_of::<nsIRequestObserver>(),
21542             8usize,
21543             concat!("Alignment of ", stringify!(nsIRequestObserver))
21544         );
21545     }
21546     impl Clone for nsIRequestObserver {
clone(&self) -> Self21547         fn clone(&self) -> Self {
21548             *self
21549         }
21550     }
21551     #[repr(C)]
21552     #[derive(Debug, Copy)]
21553     pub struct nsIStreamListener {
21554         pub _base: root::nsIRequestObserver,
21555     }
21556     #[repr(C)]
21557     #[derive(Debug, Copy, Clone)]
21558     pub struct nsIStreamListener_COMTypeInfo {
21559         pub _address: u8,
21560     }
21561     #[test]
bindgen_test_layout_nsIStreamListener()21562     fn bindgen_test_layout_nsIStreamListener() {
21563         assert_eq!(
21564             ::std::mem::size_of::<nsIStreamListener>(),
21565             8usize,
21566             concat!("Size of: ", stringify!(nsIStreamListener))
21567         );
21568         assert_eq!(
21569             ::std::mem::align_of::<nsIStreamListener>(),
21570             8usize,
21571             concat!("Alignment of ", stringify!(nsIStreamListener))
21572         );
21573     }
21574     impl Clone for nsIStreamListener {
clone(&self) -> Self21575         fn clone(&self) -> Self {
21576             *self
21577         }
21578     }
21579     #[repr(C)]
21580     #[derive(Debug, Copy)]
21581     pub struct nsParserBase {
21582         pub _base: root::nsISupports,
21583     }
21584     #[test]
bindgen_test_layout_nsParserBase()21585     fn bindgen_test_layout_nsParserBase() {
21586         assert_eq!(
21587             ::std::mem::size_of::<nsParserBase>(),
21588             8usize,
21589             concat!("Size of: ", stringify!(nsParserBase))
21590         );
21591         assert_eq!(
21592             ::std::mem::align_of::<nsParserBase>(),
21593             8usize,
21594             concat!("Alignment of ", stringify!(nsParserBase))
21595         );
21596     }
21597     impl Clone for nsParserBase {
clone(&self) -> Self21598         fn clone(&self) -> Self {
21599             *self
21600         }
21601     }
21602     /// This GECKO-INTERNAL interface is on track to being REMOVED (or refactored
21603     /// to the point of being near-unrecognizable).
21604     ///
21605     /// Please DO NOT #include this file in comm-central code, in your XULRunner
21606     /// app or binary extensions.
21607     ///
21608     /// Please DO NOT #include this into new files even inside Gecko. It is more
21609     /// likely than not that #including this header is the wrong thing to do.
21610     #[repr(C)]
21611     #[derive(Debug, Copy)]
21612     pub struct nsIParser {
21613         pub _base: root::nsParserBase,
21614     }
21615     pub type nsIParser_Encoding = root::mozilla::Encoding;
21616     pub type nsIParser_NotNull<T> = root::mozilla::NotNull<T>;
21617     #[repr(C)]
21618     #[derive(Debug, Copy, Clone)]
21619     pub struct nsIParser_COMTypeInfo {
21620         pub _address: u8,
21621     }
21622     #[test]
bindgen_test_layout_nsIParser()21623     fn bindgen_test_layout_nsIParser() {
21624         assert_eq!(
21625             ::std::mem::size_of::<nsIParser>(),
21626             8usize,
21627             concat!("Size of: ", stringify!(nsIParser))
21628         );
21629         assert_eq!(
21630             ::std::mem::align_of::<nsIParser>(),
21631             8usize,
21632             concat!("Alignment of ", stringify!(nsIParser))
21633         );
21634     }
21635     impl Clone for nsIParser {
clone(&self) -> Self21636         fn clone(&self) -> Self {
21637             *self
21638         }
21639     }
21640     #[repr(C)]
21641     #[derive(Debug)]
21642     pub struct nsIGlobalObject {
21643         pub _base: root::nsISupports,
21644         pub _base_1: root::mozilla::dom::DispatcherTrait,
21645         pub mHostObjectURIs: root::nsTArray<root::nsCString>,
21646         pub mEventTargetObjects: [u64; 4usize],
21647         pub mIsDying: bool,
21648     }
21649     #[repr(C)]
21650     #[derive(Debug, Copy, Clone)]
21651     pub struct nsIGlobalObject_COMTypeInfo {
21652         pub _address: u8,
21653     }
21654     #[test]
bindgen_test_layout_nsIGlobalObject()21655     fn bindgen_test_layout_nsIGlobalObject() {
21656         assert_eq!(
21657             ::std::mem::size_of::<nsIGlobalObject>(),
21658             64usize,
21659             concat!("Size of: ", stringify!(nsIGlobalObject))
21660         );
21661         assert_eq!(
21662             ::std::mem::align_of::<nsIGlobalObject>(),
21663             8usize,
21664             concat!("Alignment of ", stringify!(nsIGlobalObject))
21665         );
21666     }
21667     /// The global object which keeps a script context for each supported script
21668     /// language. This often used to store per-window global state.
21669     /// This is a heavyweight interface implemented only by DOM globals, and
21670     /// it might go away some time in the future.
21671     #[repr(C)]
21672     #[derive(Debug)]
21673     pub struct nsIScriptGlobalObject {
21674         pub _base: root::nsIGlobalObject,
21675     }
21676     #[repr(C)]
21677     #[derive(Debug, Copy, Clone)]
21678     pub struct nsIScriptGlobalObject_COMTypeInfo {
21679         pub _address: u8,
21680     }
21681     #[test]
bindgen_test_layout_nsIScriptGlobalObject()21682     fn bindgen_test_layout_nsIScriptGlobalObject() {
21683         assert_eq!(
21684             ::std::mem::size_of::<nsIScriptGlobalObject>(),
21685             64usize,
21686             concat!("Size of: ", stringify!(nsIScriptGlobalObject))
21687         );
21688         assert_eq!(
21689             ::std::mem::align_of::<nsIScriptGlobalObject>(),
21690             8usize,
21691             concat!("Alignment of ", stringify!(nsIScriptGlobalObject))
21692         );
21693     }
21694     #[repr(C)]
21695     #[derive(Debug, Copy)]
21696     pub struct nsIURI {
21697         pub _base: root::nsISupports,
21698     }
21699     #[repr(C)]
21700     #[derive(Debug, Copy, Clone)]
21701     pub struct nsIURI_COMTypeInfo {
21702         pub _address: u8,
21703     }
21704     #[test]
bindgen_test_layout_nsIURI()21705     fn bindgen_test_layout_nsIURI() {
21706         assert_eq!(
21707             ::std::mem::size_of::<nsIURI>(),
21708             8usize,
21709             concat!("Size of: ", stringify!(nsIURI))
21710         );
21711         assert_eq!(
21712             ::std::mem::align_of::<nsIURI>(),
21713             8usize,
21714             concat!("Alignment of ", stringify!(nsIURI))
21715         );
21716     }
21717     impl Clone for nsIURI {
clone(&self) -> Self21718         fn clone(&self) -> Self {
21719             *self
21720         }
21721     }
21722     #[repr(C)]
21723     #[derive(Debug, Copy)]
21724     pub struct nsIUUIDGenerator {
21725         pub _base: root::nsISupports,
21726     }
21727     #[repr(C)]
21728     #[derive(Debug, Copy, Clone)]
21729     pub struct nsIUUIDGenerator_COMTypeInfo {
21730         pub _address: u8,
21731     }
21732     #[test]
bindgen_test_layout_nsIUUIDGenerator()21733     fn bindgen_test_layout_nsIUUIDGenerator() {
21734         assert_eq!(
21735             ::std::mem::size_of::<nsIUUIDGenerator>(),
21736             8usize,
21737             concat!("Size of: ", stringify!(nsIUUIDGenerator))
21738         );
21739         assert_eq!(
21740             ::std::mem::align_of::<nsIUUIDGenerator>(),
21741             8usize,
21742             concat!("Alignment of ", stringify!(nsIUUIDGenerator))
21743         );
21744     }
21745     impl Clone for nsIUUIDGenerator {
clone(&self) -> Self21746         fn clone(&self) -> Self {
21747             *self
21748         }
21749     }
21750     #[repr(C)]
21751     #[derive(Debug, Copy)]
21752     pub struct nsIControllers {
21753         _unused: [u8; 0],
21754     }
21755     impl Clone for nsIControllers {
clone(&self) -> Self21756         fn clone(&self) -> Self {
21757             *self
21758         }
21759     }
21760     #[repr(C)]
21761     #[derive(Debug, Copy)]
21762     pub struct mozIDOMWindow {
21763         pub _base: root::nsISupports,
21764     }
21765     #[repr(C)]
21766     #[derive(Debug, Copy, Clone)]
21767     pub struct mozIDOMWindow_COMTypeInfo {
21768         pub _address: u8,
21769     }
21770     #[test]
bindgen_test_layout_mozIDOMWindow()21771     fn bindgen_test_layout_mozIDOMWindow() {
21772         assert_eq!(
21773             ::std::mem::size_of::<mozIDOMWindow>(),
21774             8usize,
21775             concat!("Size of: ", stringify!(mozIDOMWindow))
21776         );
21777         assert_eq!(
21778             ::std::mem::align_of::<mozIDOMWindow>(),
21779             8usize,
21780             concat!("Alignment of ", stringify!(mozIDOMWindow))
21781         );
21782     }
21783     impl Clone for mozIDOMWindow {
clone(&self) -> Self21784         fn clone(&self) -> Self {
21785             *self
21786         }
21787     }
21788     #[repr(C)]
21789     #[derive(Debug, Copy)]
21790     pub struct mozIDOMWindowProxy {
21791         pub _base: root::nsISupports,
21792     }
21793     #[repr(C)]
21794     #[derive(Debug, Copy, Clone)]
21795     pub struct mozIDOMWindowProxy_COMTypeInfo {
21796         pub _address: u8,
21797     }
21798     #[test]
bindgen_test_layout_mozIDOMWindowProxy()21799     fn bindgen_test_layout_mozIDOMWindowProxy() {
21800         assert_eq!(
21801             ::std::mem::size_of::<mozIDOMWindowProxy>(),
21802             8usize,
21803             concat!("Size of: ", stringify!(mozIDOMWindowProxy))
21804         );
21805         assert_eq!(
21806             ::std::mem::align_of::<mozIDOMWindowProxy>(),
21807             8usize,
21808             concat!("Alignment of ", stringify!(mozIDOMWindowProxy))
21809         );
21810     }
21811     impl Clone for mozIDOMWindowProxy {
clone(&self) -> Self21812         fn clone(&self) -> Self {
21813             *self
21814         }
21815     }
21816     pub type SuspendTypes = u32;
21817     pub const PopupControlState_openAllowed: root::PopupControlState = 0;
21818     pub const PopupControlState_openControlled: root::PopupControlState = 1;
21819     pub const PopupControlState_openBlocked: root::PopupControlState = 2;
21820     pub const PopupControlState_openAbused: root::PopupControlState = 3;
21821     pub const PopupControlState_openOverridden: root::PopupControlState = 4;
21822     pub type PopupControlState = u32;
21823     #[repr(C)]
21824     pub struct nsPIDOMWindowInner {
21825         pub _base: root::mozIDOMWindow,
21826         pub mChromeEventHandler: root::nsCOMPtr,
21827         pub mDoc: root::nsCOMPtr,
21828         pub mDocumentURI: root::nsCOMPtr,
21829         pub mDocBaseURI: root::nsCOMPtr,
21830         pub mParentTarget: root::nsCOMPtr,
21831         pub mPerformance: root::RefPtr<root::mozilla::dom::Performance>,
21832         pub mTimeoutManager: root::mozilla::UniquePtr<root::mozilla::dom::TimeoutManager>,
21833         pub mNavigator: root::RefPtr<root::mozilla::dom::Navigator>,
21834         pub mServiceWorkerRegistrationTable:
21835             root::nsPIDOMWindowInner_ServiceWorkerRegistrationTable,
21836         pub mMutationBits: u32,
21837         pub mActivePeerConnections: u32,
21838         pub mIsDocumentLoaded: bool,
21839         pub mIsHandlingResizeEvent: bool,
21840         pub mMayHavePaintEventListener: bool,
21841         pub mMayHaveTouchEventListener: bool,
21842         pub mMayHaveSelectionChangeEventListener: bool,
21843         pub mMayHaveMouseEnterLeaveEventListener: bool,
21844         pub mMayHavePointerEnterLeaveEventListener: bool,
21845         pub mInnerObjectsFreed: bool,
21846         pub mAudioCaptured: bool,
21847         pub mOuterWindow: root::nsCOMPtr,
21848         pub mFocusedNode: root::nsCOMPtr,
21849         pub mAudioContexts: root::nsTArray<*mut root::mozilla::dom::AudioContext>,
21850         pub mTabGroup: root::RefPtr<root::mozilla::dom::TabGroup>,
21851         pub mWindowID: u64,
21852         pub mHasNotifiedGlobalCreated: bool,
21853         pub mMarkedCCGeneration: u32,
21854         pub mTopInnerWindow: root::nsCOMPtr,
21855         pub mHasTriedToCacheTopInnerWindow: bool,
21856         pub mNumOfIndexedDBDatabases: u32,
21857         pub mNumOfOpenWebSockets: u32,
21858     }
21859     #[repr(C)]
21860     #[derive(Debug, Copy, Clone)]
21861     pub struct nsPIDOMWindowInner_COMTypeInfo {
21862         pub _address: u8,
21863     }
21864     pub type nsPIDOMWindowInner_ServiceWorkerRegistrationTable = [u64; 4usize];
21865     #[test]
bindgen_test_layout_nsPIDOMWindowInner()21866     fn bindgen_test_layout_nsPIDOMWindowInner() {
21867         assert_eq!(
21868             ::std::mem::size_of::<nsPIDOMWindowInner>(),
21869             200usize,
21870             concat!("Size of: ", stringify!(nsPIDOMWindowInner))
21871         );
21872         assert_eq!(
21873             ::std::mem::align_of::<nsPIDOMWindowInner>(),
21874             8usize,
21875             concat!("Alignment of ", stringify!(nsPIDOMWindowInner))
21876         );
21877         assert_eq!(
21878             unsafe {
21879                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mChromeEventHandler as *const _
21880                     as usize
21881             },
21882             8usize,
21883             concat!(
21884                 "Offset of field: ",
21885                 stringify!(nsPIDOMWindowInner),
21886                 "::",
21887                 stringify!(mChromeEventHandler)
21888             )
21889         );
21890         assert_eq!(
21891             unsafe { &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mDoc as *const _ as usize },
21892             16usize,
21893             concat!(
21894                 "Offset of field: ",
21895                 stringify!(nsPIDOMWindowInner),
21896                 "::",
21897                 stringify!(mDoc)
21898             )
21899         );
21900         assert_eq!(
21901             unsafe {
21902                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mDocumentURI as *const _ as usize
21903             },
21904             24usize,
21905             concat!(
21906                 "Offset of field: ",
21907                 stringify!(nsPIDOMWindowInner),
21908                 "::",
21909                 stringify!(mDocumentURI)
21910             )
21911         );
21912         assert_eq!(
21913             unsafe {
21914                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mDocBaseURI as *const _ as usize
21915             },
21916             32usize,
21917             concat!(
21918                 "Offset of field: ",
21919                 stringify!(nsPIDOMWindowInner),
21920                 "::",
21921                 stringify!(mDocBaseURI)
21922             )
21923         );
21924         assert_eq!(
21925             unsafe {
21926                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mParentTarget as *const _ as usize
21927             },
21928             40usize,
21929             concat!(
21930                 "Offset of field: ",
21931                 stringify!(nsPIDOMWindowInner),
21932                 "::",
21933                 stringify!(mParentTarget)
21934             )
21935         );
21936         assert_eq!(
21937             unsafe {
21938                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mPerformance as *const _ as usize
21939             },
21940             48usize,
21941             concat!(
21942                 "Offset of field: ",
21943                 stringify!(nsPIDOMWindowInner),
21944                 "::",
21945                 stringify!(mPerformance)
21946             )
21947         );
21948         assert_eq!(
21949             unsafe {
21950                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mTimeoutManager as *const _ as usize
21951             },
21952             56usize,
21953             concat!(
21954                 "Offset of field: ",
21955                 stringify!(nsPIDOMWindowInner),
21956                 "::",
21957                 stringify!(mTimeoutManager)
21958             )
21959         );
21960         assert_eq!(
21961             unsafe {
21962                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mNavigator as *const _ as usize
21963             },
21964             64usize,
21965             concat!(
21966                 "Offset of field: ",
21967                 stringify!(nsPIDOMWindowInner),
21968                 "::",
21969                 stringify!(mNavigator)
21970             )
21971         );
21972         assert_eq!(
21973             unsafe {
21974                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mServiceWorkerRegistrationTable
21975                     as *const _ as usize
21976             },
21977             72usize,
21978             concat!(
21979                 "Offset of field: ",
21980                 stringify!(nsPIDOMWindowInner),
21981                 "::",
21982                 stringify!(mServiceWorkerRegistrationTable)
21983             )
21984         );
21985         assert_eq!(
21986             unsafe {
21987                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mMutationBits as *const _ as usize
21988             },
21989             104usize,
21990             concat!(
21991                 "Offset of field: ",
21992                 stringify!(nsPIDOMWindowInner),
21993                 "::",
21994                 stringify!(mMutationBits)
21995             )
21996         );
21997         assert_eq!(
21998             unsafe {
21999                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mActivePeerConnections as *const _
22000                     as usize
22001             },
22002             108usize,
22003             concat!(
22004                 "Offset of field: ",
22005                 stringify!(nsPIDOMWindowInner),
22006                 "::",
22007                 stringify!(mActivePeerConnections)
22008             )
22009         );
22010         assert_eq!(
22011             unsafe {
22012                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mIsDocumentLoaded as *const _
22013                     as usize
22014             },
22015             112usize,
22016             concat!(
22017                 "Offset of field: ",
22018                 stringify!(nsPIDOMWindowInner),
22019                 "::",
22020                 stringify!(mIsDocumentLoaded)
22021             )
22022         );
22023         assert_eq!(
22024             unsafe {
22025                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mIsHandlingResizeEvent as *const _
22026                     as usize
22027             },
22028             113usize,
22029             concat!(
22030                 "Offset of field: ",
22031                 stringify!(nsPIDOMWindowInner),
22032                 "::",
22033                 stringify!(mIsHandlingResizeEvent)
22034             )
22035         );
22036         assert_eq!(
22037             unsafe {
22038                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mMayHavePaintEventListener
22039                     as *const _ as usize
22040             },
22041             114usize,
22042             concat!(
22043                 "Offset of field: ",
22044                 stringify!(nsPIDOMWindowInner),
22045                 "::",
22046                 stringify!(mMayHavePaintEventListener)
22047             )
22048         );
22049         assert_eq!(
22050             unsafe {
22051                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mMayHaveTouchEventListener
22052                     as *const _ as usize
22053             },
22054             115usize,
22055             concat!(
22056                 "Offset of field: ",
22057                 stringify!(nsPIDOMWindowInner),
22058                 "::",
22059                 stringify!(mMayHaveTouchEventListener)
22060             )
22061         );
22062         assert_eq!(
22063             unsafe {
22064                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mMayHaveSelectionChangeEventListener
22065                     as *const _ as usize
22066             },
22067             116usize,
22068             concat!(
22069                 "Offset of field: ",
22070                 stringify!(nsPIDOMWindowInner),
22071                 "::",
22072                 stringify!(mMayHaveSelectionChangeEventListener)
22073             )
22074         );
22075         assert_eq!(
22076             unsafe {
22077                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mMayHaveMouseEnterLeaveEventListener
22078                     as *const _ as usize
22079             },
22080             117usize,
22081             concat!(
22082                 "Offset of field: ",
22083                 stringify!(nsPIDOMWindowInner),
22084                 "::",
22085                 stringify!(mMayHaveMouseEnterLeaveEventListener)
22086             )
22087         );
22088         assert_eq!(
22089             unsafe {
22090                 &(*(::std::ptr::null::<nsPIDOMWindowInner>()))
22091                     .mMayHavePointerEnterLeaveEventListener as *const _ as usize
22092             },
22093             118usize,
22094             concat!(
22095                 "Offset of field: ",
22096                 stringify!(nsPIDOMWindowInner),
22097                 "::",
22098                 stringify!(mMayHavePointerEnterLeaveEventListener)
22099             )
22100         );
22101         assert_eq!(
22102             unsafe {
22103                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mInnerObjectsFreed as *const _
22104                     as usize
22105             },
22106             119usize,
22107             concat!(
22108                 "Offset of field: ",
22109                 stringify!(nsPIDOMWindowInner),
22110                 "::",
22111                 stringify!(mInnerObjectsFreed)
22112             )
22113         );
22114         assert_eq!(
22115             unsafe {
22116                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mAudioCaptured as *const _ as usize
22117             },
22118             120usize,
22119             concat!(
22120                 "Offset of field: ",
22121                 stringify!(nsPIDOMWindowInner),
22122                 "::",
22123                 stringify!(mAudioCaptured)
22124             )
22125         );
22126         assert_eq!(
22127             unsafe {
22128                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mOuterWindow as *const _ as usize
22129             },
22130             128usize,
22131             concat!(
22132                 "Offset of field: ",
22133                 stringify!(nsPIDOMWindowInner),
22134                 "::",
22135                 stringify!(mOuterWindow)
22136             )
22137         );
22138         assert_eq!(
22139             unsafe {
22140                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mFocusedNode as *const _ as usize
22141             },
22142             136usize,
22143             concat!(
22144                 "Offset of field: ",
22145                 stringify!(nsPIDOMWindowInner),
22146                 "::",
22147                 stringify!(mFocusedNode)
22148             )
22149         );
22150         assert_eq!(
22151             unsafe {
22152                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mAudioContexts as *const _ as usize
22153             },
22154             144usize,
22155             concat!(
22156                 "Offset of field: ",
22157                 stringify!(nsPIDOMWindowInner),
22158                 "::",
22159                 stringify!(mAudioContexts)
22160             )
22161         );
22162         assert_eq!(
22163             unsafe {
22164                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mTabGroup as *const _ as usize
22165             },
22166             152usize,
22167             concat!(
22168                 "Offset of field: ",
22169                 stringify!(nsPIDOMWindowInner),
22170                 "::",
22171                 stringify!(mTabGroup)
22172             )
22173         );
22174         assert_eq!(
22175             unsafe {
22176                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mWindowID as *const _ as usize
22177             },
22178             160usize,
22179             concat!(
22180                 "Offset of field: ",
22181                 stringify!(nsPIDOMWindowInner),
22182                 "::",
22183                 stringify!(mWindowID)
22184             )
22185         );
22186         assert_eq!(
22187             unsafe {
22188                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mHasNotifiedGlobalCreated as *const _
22189                     as usize
22190             },
22191             168usize,
22192             concat!(
22193                 "Offset of field: ",
22194                 stringify!(nsPIDOMWindowInner),
22195                 "::",
22196                 stringify!(mHasNotifiedGlobalCreated)
22197             )
22198         );
22199         assert_eq!(
22200             unsafe {
22201                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mMarkedCCGeneration as *const _
22202                     as usize
22203             },
22204             172usize,
22205             concat!(
22206                 "Offset of field: ",
22207                 stringify!(nsPIDOMWindowInner),
22208                 "::",
22209                 stringify!(mMarkedCCGeneration)
22210             )
22211         );
22212         assert_eq!(
22213             unsafe {
22214                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mTopInnerWindow as *const _ as usize
22215             },
22216             176usize,
22217             concat!(
22218                 "Offset of field: ",
22219                 stringify!(nsPIDOMWindowInner),
22220                 "::",
22221                 stringify!(mTopInnerWindow)
22222             )
22223         );
22224         assert_eq!(
22225             unsafe {
22226                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mHasTriedToCacheTopInnerWindow
22227                     as *const _ as usize
22228             },
22229             184usize,
22230             concat!(
22231                 "Offset of field: ",
22232                 stringify!(nsPIDOMWindowInner),
22233                 "::",
22234                 stringify!(mHasTriedToCacheTopInnerWindow)
22235             )
22236         );
22237         assert_eq!(
22238             unsafe {
22239                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mNumOfIndexedDBDatabases as *const _
22240                     as usize
22241             },
22242             188usize,
22243             concat!(
22244                 "Offset of field: ",
22245                 stringify!(nsPIDOMWindowInner),
22246                 "::",
22247                 stringify!(mNumOfIndexedDBDatabases)
22248             )
22249         );
22250         assert_eq!(
22251             unsafe {
22252                 &(*(::std::ptr::null::<nsPIDOMWindowInner>())).mNumOfOpenWebSockets as *const _
22253                     as usize
22254             },
22255             192usize,
22256             concat!(
22257                 "Offset of field: ",
22258                 stringify!(nsPIDOMWindowInner),
22259                 "::",
22260                 stringify!(mNumOfOpenWebSockets)
22261             )
22262         );
22263     }
22264     #[repr(C)]
22265     pub struct nsPIDOMWindowOuter {
22266         pub _base: root::mozIDOMWindowProxy,
22267         pub mChromeEventHandler: root::nsCOMPtr,
22268         pub mDoc: root::nsCOMPtr,
22269         pub mDocumentURI: root::nsCOMPtr,
22270         pub mDocBaseURI: root::nsCOMPtr,
22271         pub mParentTarget: root::nsCOMPtr,
22272         pub mFrameElement: root::nsCOMPtr,
22273         pub mDocShell: root::nsCOMPtr,
22274         pub mModalStateDepth: u32,
22275         pub mIsActive: bool,
22276         pub mIsBackground: bool,
22277         /// The suspended types can be "disposable" or "permanent". This varable only
22278         /// stores the value about permanent suspend.
22279         /// - disposable
22280         /// To pause all playing media in that window, but doesn't affect the media
22281         /// which starts after that.
22282         ///
22283         /// - permanent
22284         /// To pause all media in that window, and also affect the media which starts
22285         /// after that.
22286         pub mMediaSuspend: root::SuspendTypes,
22287         pub mAudioMuted: bool,
22288         pub mAudioVolume: f32,
22289         pub mDesktopModeViewport: bool,
22290         pub mIsRootOuterWindow: bool,
22291         pub mInnerWindow: *mut root::nsPIDOMWindowInner,
22292         pub mTabGroup: root::RefPtr<root::mozilla::dom::TabGroup>,
22293         pub mWindowID: u64,
22294         pub mMarkedCCGeneration: u32,
22295         pub mServiceWorkersTestingEnabled: bool,
22296         pub mLargeAllocStatus: root::mozilla::dom::LargeAllocStatus,
22297         pub mOpenerForInitialContentBrowser: root::nsCOMPtr,
22298     }
22299     #[repr(C)]
22300     #[derive(Debug, Copy, Clone)]
22301     pub struct nsPIDOMWindowOuter_COMTypeInfo {
22302         pub _address: u8,
22303     }
22304     #[test]
bindgen_test_layout_nsPIDOMWindowOuter()22305     fn bindgen_test_layout_nsPIDOMWindowOuter() {
22306         assert_eq!(
22307             ::std::mem::size_of::<nsPIDOMWindowOuter>(),
22308             128usize,
22309             concat!("Size of: ", stringify!(nsPIDOMWindowOuter))
22310         );
22311         assert_eq!(
22312             ::std::mem::align_of::<nsPIDOMWindowOuter>(),
22313             8usize,
22314             concat!("Alignment of ", stringify!(nsPIDOMWindowOuter))
22315         );
22316         assert_eq!(
22317             unsafe {
22318                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mChromeEventHandler as *const _
22319                     as usize
22320             },
22321             8usize,
22322             concat!(
22323                 "Offset of field: ",
22324                 stringify!(nsPIDOMWindowOuter),
22325                 "::",
22326                 stringify!(mChromeEventHandler)
22327             )
22328         );
22329         assert_eq!(
22330             unsafe { &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mDoc as *const _ as usize },
22331             16usize,
22332             concat!(
22333                 "Offset of field: ",
22334                 stringify!(nsPIDOMWindowOuter),
22335                 "::",
22336                 stringify!(mDoc)
22337             )
22338         );
22339         assert_eq!(
22340             unsafe {
22341                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mDocumentURI as *const _ as usize
22342             },
22343             24usize,
22344             concat!(
22345                 "Offset of field: ",
22346                 stringify!(nsPIDOMWindowOuter),
22347                 "::",
22348                 stringify!(mDocumentURI)
22349             )
22350         );
22351         assert_eq!(
22352             unsafe {
22353                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mDocBaseURI as *const _ as usize
22354             },
22355             32usize,
22356             concat!(
22357                 "Offset of field: ",
22358                 stringify!(nsPIDOMWindowOuter),
22359                 "::",
22360                 stringify!(mDocBaseURI)
22361             )
22362         );
22363         assert_eq!(
22364             unsafe {
22365                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mParentTarget as *const _ as usize
22366             },
22367             40usize,
22368             concat!(
22369                 "Offset of field: ",
22370                 stringify!(nsPIDOMWindowOuter),
22371                 "::",
22372                 stringify!(mParentTarget)
22373             )
22374         );
22375         assert_eq!(
22376             unsafe {
22377                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mFrameElement as *const _ as usize
22378             },
22379             48usize,
22380             concat!(
22381                 "Offset of field: ",
22382                 stringify!(nsPIDOMWindowOuter),
22383                 "::",
22384                 stringify!(mFrameElement)
22385             )
22386         );
22387         assert_eq!(
22388             unsafe {
22389                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mDocShell as *const _ as usize
22390             },
22391             56usize,
22392             concat!(
22393                 "Offset of field: ",
22394                 stringify!(nsPIDOMWindowOuter),
22395                 "::",
22396                 stringify!(mDocShell)
22397             )
22398         );
22399         assert_eq!(
22400             unsafe {
22401                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mModalStateDepth as *const _ as usize
22402             },
22403             64usize,
22404             concat!(
22405                 "Offset of field: ",
22406                 stringify!(nsPIDOMWindowOuter),
22407                 "::",
22408                 stringify!(mModalStateDepth)
22409             )
22410         );
22411         assert_eq!(
22412             unsafe {
22413                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mIsActive as *const _ as usize
22414             },
22415             68usize,
22416             concat!(
22417                 "Offset of field: ",
22418                 stringify!(nsPIDOMWindowOuter),
22419                 "::",
22420                 stringify!(mIsActive)
22421             )
22422         );
22423         assert_eq!(
22424             unsafe {
22425                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mIsBackground as *const _ as usize
22426             },
22427             69usize,
22428             concat!(
22429                 "Offset of field: ",
22430                 stringify!(nsPIDOMWindowOuter),
22431                 "::",
22432                 stringify!(mIsBackground)
22433             )
22434         );
22435         assert_eq!(
22436             unsafe {
22437                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mMediaSuspend as *const _ as usize
22438             },
22439             72usize,
22440             concat!(
22441                 "Offset of field: ",
22442                 stringify!(nsPIDOMWindowOuter),
22443                 "::",
22444                 stringify!(mMediaSuspend)
22445             )
22446         );
22447         assert_eq!(
22448             unsafe {
22449                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mAudioMuted as *const _ as usize
22450             },
22451             76usize,
22452             concat!(
22453                 "Offset of field: ",
22454                 stringify!(nsPIDOMWindowOuter),
22455                 "::",
22456                 stringify!(mAudioMuted)
22457             )
22458         );
22459         assert_eq!(
22460             unsafe {
22461                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mAudioVolume as *const _ as usize
22462             },
22463             80usize,
22464             concat!(
22465                 "Offset of field: ",
22466                 stringify!(nsPIDOMWindowOuter),
22467                 "::",
22468                 stringify!(mAudioVolume)
22469             )
22470         );
22471         assert_eq!(
22472             unsafe {
22473                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mDesktopModeViewport as *const _
22474                     as usize
22475             },
22476             84usize,
22477             concat!(
22478                 "Offset of field: ",
22479                 stringify!(nsPIDOMWindowOuter),
22480                 "::",
22481                 stringify!(mDesktopModeViewport)
22482             )
22483         );
22484         assert_eq!(
22485             unsafe {
22486                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mIsRootOuterWindow as *const _
22487                     as usize
22488             },
22489             85usize,
22490             concat!(
22491                 "Offset of field: ",
22492                 stringify!(nsPIDOMWindowOuter),
22493                 "::",
22494                 stringify!(mIsRootOuterWindow)
22495             )
22496         );
22497         assert_eq!(
22498             unsafe {
22499                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mInnerWindow as *const _ as usize
22500             },
22501             88usize,
22502             concat!(
22503                 "Offset of field: ",
22504                 stringify!(nsPIDOMWindowOuter),
22505                 "::",
22506                 stringify!(mInnerWindow)
22507             )
22508         );
22509         assert_eq!(
22510             unsafe {
22511                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mTabGroup as *const _ as usize
22512             },
22513             96usize,
22514             concat!(
22515                 "Offset of field: ",
22516                 stringify!(nsPIDOMWindowOuter),
22517                 "::",
22518                 stringify!(mTabGroup)
22519             )
22520         );
22521         assert_eq!(
22522             unsafe {
22523                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mWindowID as *const _ as usize
22524             },
22525             104usize,
22526             concat!(
22527                 "Offset of field: ",
22528                 stringify!(nsPIDOMWindowOuter),
22529                 "::",
22530                 stringify!(mWindowID)
22531             )
22532         );
22533         assert_eq!(
22534             unsafe {
22535                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mMarkedCCGeneration as *const _
22536                     as usize
22537             },
22538             112usize,
22539             concat!(
22540                 "Offset of field: ",
22541                 stringify!(nsPIDOMWindowOuter),
22542                 "::",
22543                 stringify!(mMarkedCCGeneration)
22544             )
22545         );
22546         assert_eq!(
22547             unsafe {
22548                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mServiceWorkersTestingEnabled
22549                     as *const _ as usize
22550             },
22551             116usize,
22552             concat!(
22553                 "Offset of field: ",
22554                 stringify!(nsPIDOMWindowOuter),
22555                 "::",
22556                 stringify!(mServiceWorkersTestingEnabled)
22557             )
22558         );
22559         assert_eq!(
22560             unsafe {
22561                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mLargeAllocStatus as *const _
22562                     as usize
22563             },
22564             117usize,
22565             concat!(
22566                 "Offset of field: ",
22567                 stringify!(nsPIDOMWindowOuter),
22568                 "::",
22569                 stringify!(mLargeAllocStatus)
22570             )
22571         );
22572         assert_eq!(
22573             unsafe {
22574                 &(*(::std::ptr::null::<nsPIDOMWindowOuter>())).mOpenerForInitialContentBrowser
22575                     as *const _ as usize
22576             },
22577             120usize,
22578             concat!(
22579                 "Offset of field: ",
22580                 stringify!(nsPIDOMWindowOuter),
22581                 "::",
22582                 stringify!(mOpenerForInitialContentBrowser)
22583             )
22584         );
22585     }
22586     #[repr(C)]
22587     #[derive(Debug, Copy)]
22588     pub struct nsContentList {
22589         _unused: [u8; 0],
22590     }
22591     impl Clone for nsContentList {
clone(&self) -> Self22592         fn clone(&self) -> Self {
22593             *self
22594         }
22595     }
22596     /// The signature of the timer callback function passed to initWithFuncCallback.
22597     /// This is the function that will get called when the timer expires if the
22598     /// timer is initialized via initWithFuncCallback.
22599     ///
22600     /// @param aTimer the timer which has expired
22601     /// @param aClosure opaque parameter passed to initWithFuncCallback
22602     #[repr(C)]
22603     #[derive(Debug, Copy)]
22604     pub struct nsITimer {
22605         pub _base: root::nsISupports,
22606     }
22607     #[repr(C)]
22608     #[derive(Debug, Copy, Clone)]
22609     pub struct nsITimer_COMTypeInfo {
22610         pub _address: u8,
22611     }
22612     pub const nsITimer_TYPE_ONE_SHOT: root::nsITimer__bindgen_ty_1 = 0;
22613     pub const nsITimer_TYPE_REPEATING_SLACK: root::nsITimer__bindgen_ty_1 = 1;
22614     pub const nsITimer_TYPE_REPEATING_PRECISE: root::nsITimer__bindgen_ty_1 = 2;
22615     pub const nsITimer_TYPE_REPEATING_PRECISE_CAN_SKIP: root::nsITimer__bindgen_ty_1 = 3;
22616     pub const nsITimer_TYPE_REPEATING_SLACK_LOW_PRIORITY: root::nsITimer__bindgen_ty_1 = 4;
22617     pub const nsITimer_TYPE_ONE_SHOT_LOW_PRIORITY: root::nsITimer__bindgen_ty_1 = 5;
22618     pub type nsITimer__bindgen_ty_1 = u32;
22619     #[test]
bindgen_test_layout_nsITimer()22620     fn bindgen_test_layout_nsITimer() {
22621         assert_eq!(
22622             ::std::mem::size_of::<nsITimer>(),
22623             8usize,
22624             concat!("Size of: ", stringify!(nsITimer))
22625         );
22626         assert_eq!(
22627             ::std::mem::align_of::<nsITimer>(),
22628             8usize,
22629             concat!("Alignment of ", stringify!(nsITimer))
22630         );
22631     }
22632     impl Clone for nsITimer {
clone(&self) -> Self22633         fn clone(&self) -> Self {
22634             *self
22635         }
22636     }
22637     #[repr(C)]
22638     #[derive(Debug, Copy)]
22639     pub struct nsIRunnable {
22640         pub _base: root::nsISupports,
22641     }
22642     #[repr(C)]
22643     #[derive(Debug, Copy, Clone)]
22644     pub struct nsIRunnable_COMTypeInfo {
22645         pub _address: u8,
22646     }
22647     #[test]
bindgen_test_layout_nsIRunnable()22648     fn bindgen_test_layout_nsIRunnable() {
22649         assert_eq!(
22650             ::std::mem::size_of::<nsIRunnable>(),
22651             8usize,
22652             concat!("Size of: ", stringify!(nsIRunnable))
22653         );
22654         assert_eq!(
22655             ::std::mem::align_of::<nsIRunnable>(),
22656             8usize,
22657             concat!("Alignment of ", stringify!(nsIRunnable))
22658         );
22659     }
22660     impl Clone for nsIRunnable {
clone(&self) -> Self22661         fn clone(&self) -> Self {
22662             *self
22663         }
22664     }
22665     #[repr(C)]
22666     #[derive(Debug, Copy)]
22667     pub struct nsIEventTarget {
22668         pub _base: root::nsISupports,
22669         pub mVirtualThread: *mut root::PRThread,
22670     }
22671     #[repr(C)]
22672     #[derive(Debug, Copy, Clone)]
22673     pub struct nsIEventTarget_COMTypeInfo {
22674         pub _address: u8,
22675     }
22676     pub const nsIEventTarget_DISPATCH_NORMAL: root::nsIEventTarget__bindgen_ty_1 = 0;
22677     pub const nsIEventTarget_DISPATCH_SYNC: root::nsIEventTarget__bindgen_ty_1 = 1;
22678     pub const nsIEventTarget_DISPATCH_AT_END: root::nsIEventTarget__bindgen_ty_1 = 2;
22679     pub type nsIEventTarget__bindgen_ty_1 = u32;
22680     #[test]
bindgen_test_layout_nsIEventTarget()22681     fn bindgen_test_layout_nsIEventTarget() {
22682         assert_eq!(
22683             ::std::mem::size_of::<nsIEventTarget>(),
22684             16usize,
22685             concat!("Size of: ", stringify!(nsIEventTarget))
22686         );
22687         assert_eq!(
22688             ::std::mem::align_of::<nsIEventTarget>(),
22689             8usize,
22690             concat!("Alignment of ", stringify!(nsIEventTarget))
22691         );
22692         assert_eq!(
22693             unsafe {
22694                 &(*(::std::ptr::null::<nsIEventTarget>())).mVirtualThread as *const _ as usize
22695             },
22696             8usize,
22697             concat!(
22698                 "Offset of field: ",
22699                 stringify!(nsIEventTarget),
22700                 "::",
22701                 stringify!(mVirtualThread)
22702             )
22703         );
22704     }
22705     impl Clone for nsIEventTarget {
clone(&self) -> Self22706         fn clone(&self) -> Self {
22707             *self
22708         }
22709     }
22710     #[repr(C)]
22711     #[derive(Debug, Copy)]
22712     pub struct nsIObserver {
22713         pub _base: root::nsISupports,
22714     }
22715     #[repr(C)]
22716     #[derive(Debug, Copy, Clone)]
22717     pub struct nsIObserver_COMTypeInfo {
22718         pub _address: u8,
22719     }
22720     #[test]
bindgen_test_layout_nsIObserver()22721     fn bindgen_test_layout_nsIObserver() {
22722         assert_eq!(
22723             ::std::mem::size_of::<nsIObserver>(),
22724             8usize,
22725             concat!("Size of: ", stringify!(nsIObserver))
22726         );
22727         assert_eq!(
22728             ::std::mem::align_of::<nsIObserver>(),
22729             8usize,
22730             concat!("Alignment of ", stringify!(nsIObserver))
22731         );
22732     }
22733     impl Clone for nsIObserver {
clone(&self) -> Self22734         fn clone(&self) -> Self {
22735             *self
22736         }
22737     }
22738     #[repr(C)]
22739     #[derive(Debug)]
22740     pub struct nsICancelableRunnable {
22741         pub _base: root::nsISupports,
22742     }
22743     #[repr(C)]
22744     #[derive(Debug, Copy, Clone)]
22745     pub struct nsICancelableRunnable_COMTypeInfo {
22746         pub _address: u8,
22747     }
22748     #[test]
bindgen_test_layout_nsICancelableRunnable()22749     fn bindgen_test_layout_nsICancelableRunnable() {
22750         assert_eq!(
22751             ::std::mem::size_of::<nsICancelableRunnable>(),
22752             8usize,
22753             concat!("Size of: ", stringify!(nsICancelableRunnable))
22754         );
22755         assert_eq!(
22756             ::std::mem::align_of::<nsICancelableRunnable>(),
22757             8usize,
22758             concat!("Alignment of ", stringify!(nsICancelableRunnable))
22759         );
22760     }
22761     #[repr(C)]
22762     #[derive(Debug, Copy)]
22763     pub struct nsINamed {
22764         pub _base: root::nsISupports,
22765     }
22766     #[repr(C)]
22767     #[derive(Debug, Copy, Clone)]
22768     pub struct nsINamed_COMTypeInfo {
22769         pub _address: u8,
22770     }
22771     #[test]
bindgen_test_layout_nsINamed()22772     fn bindgen_test_layout_nsINamed() {
22773         assert_eq!(
22774             ::std::mem::size_of::<nsINamed>(),
22775             8usize,
22776             concat!("Size of: ", stringify!(nsINamed))
22777         );
22778         assert_eq!(
22779             ::std::mem::align_of::<nsINamed>(),
22780             8usize,
22781             concat!("Alignment of ", stringify!(nsINamed))
22782         );
22783     }
22784     impl Clone for nsINamed {
clone(&self) -> Self22785         fn clone(&self) -> Self {
22786             *self
22787         }
22788     }
22789     #[repr(C)]
22790     #[derive(Debug, Copy)]
22791     pub struct nsISerialEventTarget {
22792         pub _base: root::nsIEventTarget,
22793     }
22794     #[repr(C)]
22795     #[derive(Debug, Copy, Clone)]
22796     pub struct nsISerialEventTarget_COMTypeInfo {
22797         pub _address: u8,
22798     }
22799     #[test]
bindgen_test_layout_nsISerialEventTarget()22800     fn bindgen_test_layout_nsISerialEventTarget() {
22801         assert_eq!(
22802             ::std::mem::size_of::<nsISerialEventTarget>(),
22803             16usize,
22804             concat!("Size of: ", stringify!(nsISerialEventTarget))
22805         );
22806         assert_eq!(
22807             ::std::mem::align_of::<nsISerialEventTarget>(),
22808             8usize,
22809             concat!("Alignment of ", stringify!(nsISerialEventTarget))
22810         );
22811     }
22812     impl Clone for nsISerialEventTarget {
clone(&self) -> Self22813         fn clone(&self) -> Self {
22814             *self
22815         }
22816     }
22817     pub type nsRunnableMethod_BaseType = u8;
22818     #[repr(C)]
22819     #[derive(Debug, Copy, Clone)]
22820     pub struct nsRunnableMethod_ReturnTypeEnforcer {
22821         pub _address: u8,
22822     }
22823     pub type nsRunnableMethod_ReturnTypeEnforcer_ReturnTypeIsSafe = ::std::os::raw::c_int;
22824     pub type nsRunnableMethod_check = root::nsRunnableMethod_ReturnTypeEnforcer;
22825     #[repr(C)]
22826     #[derive(Debug, Copy)]
22827     pub struct nsIIOService {
22828         _unused: [u8; 0],
22829     }
22830     impl Clone for nsIIOService {
clone(&self) -> Self22831         fn clone(&self) -> Self {
22832             *self
22833         }
22834     }
22835     #[repr(C)]
22836     #[derive(Debug, Copy)]
22837     pub struct nsIStringBundleService {
22838         _unused: [u8; 0],
22839     }
22840     impl Clone for nsIStringBundleService {
clone(&self) -> Self22841         fn clone(&self) -> Self {
22842             *self
22843         }
22844     }
22845     /// Data used to track the expiration state of an object. We promise that this
22846     /// is 32 bits so that objects that includes this as a field can pad and align
22847     /// efficiently.
22848     #[repr(C)]
22849     #[derive(Debug, Copy)]
22850     pub struct nsExpirationState {
22851         pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 4usize], u32>,
22852         pub __bindgen_align: [u32; 0usize],
22853     }
22854     pub const nsExpirationState_NOT_TRACKED: root::nsExpirationState__bindgen_ty_1 = 15;
22855     pub const nsExpirationState_MAX_INDEX_IN_GENERATION: root::nsExpirationState__bindgen_ty_1 =
22856         268435455;
22857     pub type nsExpirationState__bindgen_ty_1 = u32;
22858     #[test]
bindgen_test_layout_nsExpirationState()22859     fn bindgen_test_layout_nsExpirationState() {
22860         assert_eq!(
22861             ::std::mem::size_of::<nsExpirationState>(),
22862             4usize,
22863             concat!("Size of: ", stringify!(nsExpirationState))
22864         );
22865         assert_eq!(
22866             ::std::mem::align_of::<nsExpirationState>(),
22867             4usize,
22868             concat!("Alignment of ", stringify!(nsExpirationState))
22869         );
22870     }
22871     impl Clone for nsExpirationState {
clone(&self) -> Self22872         fn clone(&self) -> Self {
22873             *self
22874         }
22875     }
22876     impl nsExpirationState {
22877         #[inline]
mGeneration(&self) -> u3222878         pub fn mGeneration(&self) -> u32 {
22879             unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u32) }
22880         }
22881         #[inline]
set_mGeneration(&mut self, val: u32)22882         pub fn set_mGeneration(&mut self, val: u32) {
22883             unsafe {
22884                 let val: u32 = ::std::mem::transmute(val);
22885                 self._bitfield_1.set(0usize, 4u8, val as u64)
22886             }
22887         }
22888         #[inline]
mIndexInGeneration(&self) -> u3222889         pub fn mIndexInGeneration(&self) -> u32 {
22890             unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) }
22891         }
22892         #[inline]
set_mIndexInGeneration(&mut self, val: u32)22893         pub fn set_mIndexInGeneration(&mut self, val: u32) {
22894             unsafe {
22895                 let val: u32 = ::std::mem::transmute(val);
22896                 self._bitfield_1.set(4usize, 28u8, val as u64)
22897             }
22898         }
22899         #[inline]
new_bitfield_1( mGeneration: u32, mIndexInGeneration: u32, ) -> root::__BindgenBitfieldUnit<[u8; 4usize], u32>22900         pub fn new_bitfield_1(
22901             mGeneration: u32,
22902             mIndexInGeneration: u32,
22903         ) -> root::__BindgenBitfieldUnit<[u8; 4usize], u32> {
22904             let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
22905                 [u8; 4usize],
22906                 u32,
22907             > = Default::default();
22908             __bindgen_bitfield_unit.set(0usize, 4u8, {
22909                 let mGeneration: u32 = unsafe { ::std::mem::transmute(mGeneration) };
22910                 mGeneration as u64
22911             });
22912             __bindgen_bitfield_unit.set(4usize, 28u8, {
22913                 let mIndexInGeneration: u32 = unsafe { ::std::mem::transmute(mIndexInGeneration) };
22914                 mIndexInGeneration as u64
22915             });
22916             __bindgen_bitfield_unit
22917         }
22918     }
22919     #[repr(C)]
22920     #[derive(Debug, Copy)]
22921     pub struct nsBaseContentList {
22922         _unused: [u8; 0],
22923     }
22924     impl Clone for nsBaseContentList {
clone(&self) -> Self22925         fn clone(&self) -> Self {
22926             *self
22927         }
22928     }
22929     /// Right now our identifier map entries contain information for 'name'
22930     /// and 'id' mappings of a given string. This is so that
22931     /// nsHTMLDocument::ResolveName only has to do one hash lookup instead
22932     /// of two. It's not clear whether this still matters for performance.
22933     ///
22934     /// We also store the document.all result list here. This is mainly so that
22935     /// when all elements with the given ID are removed and we remove
22936     /// the ID's nsIdentifierMapEntry, the document.all result is released too.
22937     /// Perhaps the document.all results should have their own hashtable
22938     /// in nsHTMLDocument.
22939     #[repr(C)]
22940     pub struct nsIdentifierMapEntry {
22941         pub _base: root::PLDHashEntryHdr,
22942         pub mKey: root::nsIdentifierMapEntry_AtomOrString,
22943         pub mIdContentList: [u64; 3usize],
22944         pub mNameContentList: root::RefPtr<root::nsBaseContentList>,
22945         pub mChangeCallbacks: u64,
22946         pub mImageElement: root::RefPtr<root::nsIdentifierMapEntry_Element>,
22947     }
22948     pub type nsIdentifierMapEntry_Element = root::mozilla::dom::Element;
22949     pub use self::super::root::mozilla::net::ReferrerPolicy as nsIdentifierMapEntry_ReferrerPolicy;
22950     /// @see nsIDocument::IDTargetObserver, this is just here to avoid include
22951     /// hell.
22952     pub type nsIdentifierMapEntry_IDTargetObserver = ::std::option::Option<
22953         unsafe extern "C" fn(
22954             aOldElement: *mut root::nsIdentifierMapEntry_Element,
22955             aNewelement: *mut root::nsIdentifierMapEntry_Element,
22956             aData: *mut ::std::os::raw::c_void,
22957         ) -> bool,
22958     >;
22959     #[repr(C)]
22960     pub struct nsIdentifierMapEntry_AtomOrString {
22961         pub mAtom: root::RefPtr<root::nsAtom>,
22962         pub mString: ::nsstring::nsStringRepr,
22963     }
22964     #[test]
bindgen_test_layout_nsIdentifierMapEntry_AtomOrString()22965     fn bindgen_test_layout_nsIdentifierMapEntry_AtomOrString() {
22966         assert_eq!(
22967             ::std::mem::size_of::<nsIdentifierMapEntry_AtomOrString>(),
22968             24usize,
22969             concat!("Size of: ", stringify!(nsIdentifierMapEntry_AtomOrString))
22970         );
22971         assert_eq!(
22972             ::std::mem::align_of::<nsIdentifierMapEntry_AtomOrString>(),
22973             8usize,
22974             concat!(
22975                 "Alignment of ",
22976                 stringify!(nsIdentifierMapEntry_AtomOrString)
22977             )
22978         );
22979         assert_eq!(
22980             unsafe {
22981                 &(*(::std::ptr::null::<nsIdentifierMapEntry_AtomOrString>())).mAtom as *const _
22982                     as usize
22983             },
22984             0usize,
22985             concat!(
22986                 "Offset of field: ",
22987                 stringify!(nsIdentifierMapEntry_AtomOrString),
22988                 "::",
22989                 stringify!(mAtom)
22990             )
22991         );
22992         assert_eq!(
22993             unsafe {
22994                 &(*(::std::ptr::null::<nsIdentifierMapEntry_AtomOrString>())).mString as *const _
22995                     as usize
22996             },
22997             8usize,
22998             concat!(
22999                 "Offset of field: ",
23000                 stringify!(nsIdentifierMapEntry_AtomOrString),
23001                 "::",
23002                 stringify!(mString)
23003             )
23004         );
23005     }
23006     pub type nsIdentifierMapEntry_KeyType = *const root::nsIdentifierMapEntry_AtomOrString;
23007     pub type nsIdentifierMapEntry_KeyTypePointer = *const root::nsIdentifierMapEntry_AtomOrString;
23008     pub const nsIdentifierMapEntry_ALLOW_MEMMOVE: root::nsIdentifierMapEntry__bindgen_ty_1 = 0;
23009     pub type nsIdentifierMapEntry__bindgen_ty_1 = u32;
23010     #[repr(C)]
23011     #[derive(Debug, Copy)]
23012     pub struct nsIdentifierMapEntry_ChangeCallback {
23013         pub mCallback: root::nsIdentifierMapEntry_IDTargetObserver,
23014         pub mData: *mut ::std::os::raw::c_void,
23015         pub mForImage: bool,
23016     }
23017     #[test]
bindgen_test_layout_nsIdentifierMapEntry_ChangeCallback()23018     fn bindgen_test_layout_nsIdentifierMapEntry_ChangeCallback() {
23019         assert_eq!(
23020             ::std::mem::size_of::<nsIdentifierMapEntry_ChangeCallback>(),
23021             24usize,
23022             concat!("Size of: ", stringify!(nsIdentifierMapEntry_ChangeCallback))
23023         );
23024         assert_eq!(
23025             ::std::mem::align_of::<nsIdentifierMapEntry_ChangeCallback>(),
23026             8usize,
23027             concat!(
23028                 "Alignment of ",
23029                 stringify!(nsIdentifierMapEntry_ChangeCallback)
23030             )
23031         );
23032         assert_eq!(
23033             unsafe {
23034                 &(*(::std::ptr::null::<nsIdentifierMapEntry_ChangeCallback>())).mCallback
23035                     as *const _ as usize
23036             },
23037             0usize,
23038             concat!(
23039                 "Offset of field: ",
23040                 stringify!(nsIdentifierMapEntry_ChangeCallback),
23041                 "::",
23042                 stringify!(mCallback)
23043             )
23044         );
23045         assert_eq!(
23046             unsafe {
23047                 &(*(::std::ptr::null::<nsIdentifierMapEntry_ChangeCallback>())).mData as *const _
23048                     as usize
23049             },
23050             8usize,
23051             concat!(
23052                 "Offset of field: ",
23053                 stringify!(nsIdentifierMapEntry_ChangeCallback),
23054                 "::",
23055                 stringify!(mData)
23056             )
23057         );
23058         assert_eq!(
23059             unsafe {
23060                 &(*(::std::ptr::null::<nsIdentifierMapEntry_ChangeCallback>())).mForImage
23061                     as *const _ as usize
23062             },
23063             16usize,
23064             concat!(
23065                 "Offset of field: ",
23066                 stringify!(nsIdentifierMapEntry_ChangeCallback),
23067                 "::",
23068                 stringify!(mForImage)
23069             )
23070         );
23071     }
23072     impl Clone for nsIdentifierMapEntry_ChangeCallback {
clone(&self) -> Self23073         fn clone(&self) -> Self {
23074             *self
23075         }
23076     }
23077     #[repr(C)]
23078     #[derive(Debug, Copy)]
23079     pub struct nsIdentifierMapEntry_ChangeCallbackEntry {
23080         pub _base: root::PLDHashEntryHdr,
23081         pub mKey: root::nsIdentifierMapEntry_ChangeCallback,
23082     }
23083     pub type nsIdentifierMapEntry_ChangeCallbackEntry_KeyType =
23084         root::nsIdentifierMapEntry_ChangeCallback;
23085     pub type nsIdentifierMapEntry_ChangeCallbackEntry_KeyTypePointer =
23086         *const root::nsIdentifierMapEntry_ChangeCallback;
23087     pub const nsIdentifierMapEntry_ChangeCallbackEntry_ALLOW_MEMMOVE:
23088         root::nsIdentifierMapEntry_ChangeCallbackEntry__bindgen_ty_1 = 1;
23089     pub type nsIdentifierMapEntry_ChangeCallbackEntry__bindgen_ty_1 = u32;
23090     #[test]
bindgen_test_layout_nsIdentifierMapEntry_ChangeCallbackEntry()23091     fn bindgen_test_layout_nsIdentifierMapEntry_ChangeCallbackEntry() {
23092         assert_eq!(
23093             ::std::mem::size_of::<nsIdentifierMapEntry_ChangeCallbackEntry>(),
23094             32usize,
23095             concat!(
23096                 "Size of: ",
23097                 stringify!(nsIdentifierMapEntry_ChangeCallbackEntry)
23098             )
23099         );
23100         assert_eq!(
23101             ::std::mem::align_of::<nsIdentifierMapEntry_ChangeCallbackEntry>(),
23102             8usize,
23103             concat!(
23104                 "Alignment of ",
23105                 stringify!(nsIdentifierMapEntry_ChangeCallbackEntry)
23106             )
23107         );
23108         assert_eq!(
23109             unsafe {
23110                 &(*(::std::ptr::null::<nsIdentifierMapEntry_ChangeCallbackEntry>())).mKey
23111                     as *const _ as usize
23112             },
23113             8usize,
23114             concat!(
23115                 "Offset of field: ",
23116                 stringify!(nsIdentifierMapEntry_ChangeCallbackEntry),
23117                 "::",
23118                 stringify!(mKey)
23119             )
23120         );
23121     }
23122     impl Clone for nsIdentifierMapEntry_ChangeCallbackEntry {
clone(&self) -> Self23123         fn clone(&self) -> Self {
23124             *self
23125         }
23126     }
23127     #[test]
bindgen_test_layout_nsIdentifierMapEntry()23128     fn bindgen_test_layout_nsIdentifierMapEntry() {
23129         assert_eq!(
23130             ::std::mem::size_of::<nsIdentifierMapEntry>(),
23131             80usize,
23132             concat!("Size of: ", stringify!(nsIdentifierMapEntry))
23133         );
23134         assert_eq!(
23135             ::std::mem::align_of::<nsIdentifierMapEntry>(),
23136             8usize,
23137             concat!("Alignment of ", stringify!(nsIdentifierMapEntry))
23138         );
23139         assert_eq!(
23140             unsafe { &(*(::std::ptr::null::<nsIdentifierMapEntry>())).mKey as *const _ as usize },
23141             8usize,
23142             concat!(
23143                 "Offset of field: ",
23144                 stringify!(nsIdentifierMapEntry),
23145                 "::",
23146                 stringify!(mKey)
23147             )
23148         );
23149         assert_eq!(
23150             unsafe {
23151                 &(*(::std::ptr::null::<nsIdentifierMapEntry>())).mIdContentList as *const _ as usize
23152             },
23153             32usize,
23154             concat!(
23155                 "Offset of field: ",
23156                 stringify!(nsIdentifierMapEntry),
23157                 "::",
23158                 stringify!(mIdContentList)
23159             )
23160         );
23161         assert_eq!(
23162             unsafe {
23163                 &(*(::std::ptr::null::<nsIdentifierMapEntry>())).mNameContentList as *const _
23164                     as usize
23165             },
23166             56usize,
23167             concat!(
23168                 "Offset of field: ",
23169                 stringify!(nsIdentifierMapEntry),
23170                 "::",
23171                 stringify!(mNameContentList)
23172             )
23173         );
23174         assert_eq!(
23175             unsafe {
23176                 &(*(::std::ptr::null::<nsIdentifierMapEntry>())).mChangeCallbacks as *const _
23177                     as usize
23178             },
23179             64usize,
23180             concat!(
23181                 "Offset of field: ",
23182                 stringify!(nsIdentifierMapEntry),
23183                 "::",
23184                 stringify!(mChangeCallbacks)
23185             )
23186         );
23187         assert_eq!(
23188             unsafe {
23189                 &(*(::std::ptr::null::<nsIdentifierMapEntry>())).mImageElement as *const _ as usize
23190             },
23191             72usize,
23192             concat!(
23193                 "Offset of field: ",
23194                 stringify!(nsIdentifierMapEntry),
23195                 "::",
23196                 stringify!(mImageElement)
23197             )
23198         );
23199     }
23200     pub const nsCSSPropertyID_eCSSProperty_COUNT_no_shorthands: root::nsCSSPropertyID =
23201         nsCSSPropertyID::eCSSProperty_all;
23202     pub const nsCSSPropertyID_eCSSProperty_COUNT_DUMMY: root::nsCSSPropertyID =
23203         nsCSSPropertyID::eCSSProperty_z_index;
23204     pub const nsCSSPropertyID_eCSSProperty_COUNT: root::nsCSSPropertyID =
23205         nsCSSPropertyID::eCSSPropertyAlias_WordWrap;
23206     pub const nsCSSPropertyID_eCSSProperty_COUNT_DUMMY2: root::nsCSSPropertyID =
23207         nsCSSPropertyID::eCSSProperty_transition;
23208     pub const nsCSSPropertyID_eCSSProperty_COUNT_with_aliases: root::nsCSSPropertyID =
23209         nsCSSPropertyID::eCSSPropertyExtra_no_properties;
23210     pub const nsCSSPropertyID_eCSSProperty_COUNT_DUMMY3: root::nsCSSPropertyID =
23211         nsCSSPropertyID::eCSSPropertyAlias_WebkitMaskSize;
23212     #[repr(i32)]
23213     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
23214     pub enum nsCSSPropertyID {
23215         eCSSProperty_UNKNOWN = -1,
23216         eCSSProperty_align_content = 0,
23217         eCSSProperty_align_items = 1,
23218         eCSSProperty_align_self = 2,
23219         eCSSProperty_animation_delay = 3,
23220         eCSSProperty_animation_direction = 4,
23221         eCSSProperty_animation_duration = 5,
23222         eCSSProperty_animation_fill_mode = 6,
23223         eCSSProperty_animation_iteration_count = 7,
23224         eCSSProperty_animation_name = 8,
23225         eCSSProperty_animation_play_state = 9,
23226         eCSSProperty_animation_timing_function = 10,
23227         eCSSProperty__moz_appearance = 11,
23228         eCSSProperty_backface_visibility = 12,
23229         eCSSProperty_background_attachment = 13,
23230         eCSSProperty_background_blend_mode = 14,
23231         eCSSProperty_background_clip = 15,
23232         eCSSProperty_background_color = 16,
23233         eCSSProperty_background_image = 17,
23234         eCSSProperty_background_origin = 18,
23235         eCSSProperty_background_position_x = 19,
23236         eCSSProperty_background_position_y = 20,
23237         eCSSProperty_background_repeat = 21,
23238         eCSSProperty_background_size = 22,
23239         eCSSProperty__moz_binding = 23,
23240         eCSSProperty_block_size = 24,
23241         eCSSProperty_border_block_end_color = 25,
23242         eCSSProperty_border_block_end_style = 26,
23243         eCSSProperty_border_block_end_width = 27,
23244         eCSSProperty_border_block_start_color = 28,
23245         eCSSProperty_border_block_start_style = 29,
23246         eCSSProperty_border_block_start_width = 30,
23247         eCSSProperty_border_bottom_color = 31,
23248         eCSSProperty_border_bottom_left_radius = 32,
23249         eCSSProperty_border_bottom_right_radius = 33,
23250         eCSSProperty_border_bottom_style = 34,
23251         eCSSProperty_border_bottom_width = 35,
23252         eCSSProperty_border_collapse = 36,
23253         eCSSProperty_border_image_outset = 37,
23254         eCSSProperty_border_image_repeat = 38,
23255         eCSSProperty_border_image_slice = 39,
23256         eCSSProperty_border_image_source = 40,
23257         eCSSProperty_border_image_width = 41,
23258         eCSSProperty_border_inline_end_color = 42,
23259         eCSSProperty_border_inline_end_style = 43,
23260         eCSSProperty_border_inline_end_width = 44,
23261         eCSSProperty_border_inline_start_color = 45,
23262         eCSSProperty_border_inline_start_style = 46,
23263         eCSSProperty_border_inline_start_width = 47,
23264         eCSSProperty_border_left_color = 48,
23265         eCSSProperty_border_left_style = 49,
23266         eCSSProperty_border_left_width = 50,
23267         eCSSProperty_border_right_color = 51,
23268         eCSSProperty_border_right_style = 52,
23269         eCSSProperty_border_right_width = 53,
23270         eCSSProperty_border_spacing = 54,
23271         eCSSProperty_border_top_color = 55,
23272         eCSSProperty_border_top_left_radius = 56,
23273         eCSSProperty_border_top_right_radius = 57,
23274         eCSSProperty_border_top_style = 58,
23275         eCSSProperty_border_top_width = 59,
23276         eCSSProperty_bottom = 60,
23277         eCSSProperty__moz_box_align = 61,
23278         eCSSProperty_box_decoration_break = 62,
23279         eCSSProperty__moz_box_direction = 63,
23280         eCSSProperty__moz_box_flex = 64,
23281         eCSSProperty__moz_box_ordinal_group = 65,
23282         eCSSProperty__moz_box_orient = 66,
23283         eCSSProperty__moz_box_pack = 67,
23284         eCSSProperty_box_shadow = 68,
23285         eCSSProperty_box_sizing = 69,
23286         eCSSProperty_caption_side = 70,
23287         eCSSProperty_caret_color = 71,
23288         eCSSProperty_clear = 72,
23289         eCSSProperty_clip = 73,
23290         eCSSProperty_clip_path = 74,
23291         eCSSProperty_clip_rule = 75,
23292         eCSSProperty_color = 76,
23293         eCSSProperty_color_adjust = 77,
23294         eCSSProperty_color_interpolation = 78,
23295         eCSSProperty_color_interpolation_filters = 79,
23296         eCSSProperty_column_count = 80,
23297         eCSSProperty_column_fill = 81,
23298         eCSSProperty_column_gap = 82,
23299         eCSSProperty_column_rule_color = 83,
23300         eCSSProperty_column_rule_style = 84,
23301         eCSSProperty_column_rule_width = 85,
23302         eCSSProperty_column_span = 86,
23303         eCSSProperty_column_width = 87,
23304         eCSSProperty_contain = 88,
23305         eCSSProperty_content = 89,
23306         eCSSProperty__moz_context_properties = 90,
23307         eCSSProperty__moz_control_character_visibility = 91,
23308         eCSSProperty_counter_increment = 92,
23309         eCSSProperty_counter_reset = 93,
23310         eCSSProperty_cursor = 94,
23311         eCSSProperty_direction = 95,
23312         eCSSProperty_display = 96,
23313         eCSSProperty_dominant_baseline = 97,
23314         eCSSProperty_empty_cells = 98,
23315         eCSSProperty_fill = 99,
23316         eCSSProperty_fill_opacity = 100,
23317         eCSSProperty_fill_rule = 101,
23318         eCSSProperty_filter = 102,
23319         eCSSProperty_flex_basis = 103,
23320         eCSSProperty_flex_direction = 104,
23321         eCSSProperty_flex_grow = 105,
23322         eCSSProperty_flex_shrink = 106,
23323         eCSSProperty_flex_wrap = 107,
23324         eCSSProperty_float_ = 108,
23325         eCSSProperty__moz_float_edge = 109,
23326         eCSSProperty_flood_color = 110,
23327         eCSSProperty_flood_opacity = 111,
23328         eCSSProperty_font_family = 112,
23329         eCSSProperty_font_feature_settings = 113,
23330         eCSSProperty_font_kerning = 114,
23331         eCSSProperty_font_language_override = 115,
23332         eCSSProperty_font_optical_sizing = 116,
23333         eCSSProperty_font_size = 117,
23334         eCSSProperty_font_size_adjust = 118,
23335         eCSSProperty__moz_font_smoothing_background_color = 119,
23336         eCSSProperty_font_stretch = 120,
23337         eCSSProperty_font_style = 121,
23338         eCSSProperty_font_synthesis = 122,
23339         eCSSProperty_font_variant_alternates = 123,
23340         eCSSProperty_font_variant_caps = 124,
23341         eCSSProperty_font_variant_east_asian = 125,
23342         eCSSProperty_font_variant_ligatures = 126,
23343         eCSSProperty_font_variant_numeric = 127,
23344         eCSSProperty_font_variant_position = 128,
23345         eCSSProperty_font_variation_settings = 129,
23346         eCSSProperty_font_weight = 130,
23347         eCSSProperty__moz_force_broken_image_icon = 131,
23348         eCSSProperty_grid_auto_columns = 132,
23349         eCSSProperty_grid_auto_flow = 133,
23350         eCSSProperty_grid_auto_rows = 134,
23351         eCSSProperty_grid_column_end = 135,
23352         eCSSProperty_grid_column_gap = 136,
23353         eCSSProperty_grid_column_start = 137,
23354         eCSSProperty_grid_row_end = 138,
23355         eCSSProperty_grid_row_gap = 139,
23356         eCSSProperty_grid_row_start = 140,
23357         eCSSProperty_grid_template_areas = 141,
23358         eCSSProperty_grid_template_columns = 142,
23359         eCSSProperty_grid_template_rows = 143,
23360         eCSSProperty_height = 144,
23361         eCSSProperty_hyphens = 145,
23362         eCSSProperty_initial_letter = 146,
23363         eCSSProperty_image_orientation = 147,
23364         eCSSProperty__moz_image_region = 148,
23365         eCSSProperty_image_rendering = 149,
23366         eCSSProperty_ime_mode = 150,
23367         eCSSProperty_inline_size = 151,
23368         eCSSProperty_isolation = 152,
23369         eCSSProperty_justify_content = 153,
23370         eCSSProperty_justify_items = 154,
23371         eCSSProperty_justify_self = 155,
23372         eCSSProperty__x_lang = 156,
23373         eCSSProperty_left = 157,
23374         eCSSProperty_letter_spacing = 158,
23375         eCSSProperty_lighting_color = 159,
23376         eCSSProperty_line_height = 160,
23377         eCSSProperty_list_style_image = 161,
23378         eCSSProperty_list_style_position = 162,
23379         eCSSProperty_list_style_type = 163,
23380         eCSSProperty_margin_block_end = 164,
23381         eCSSProperty_margin_block_start = 165,
23382         eCSSProperty_margin_bottom = 166,
23383         eCSSProperty_margin_inline_end = 167,
23384         eCSSProperty_margin_inline_start = 168,
23385         eCSSProperty_margin_left = 169,
23386         eCSSProperty_margin_right = 170,
23387         eCSSProperty_margin_top = 171,
23388         eCSSProperty_marker_end = 172,
23389         eCSSProperty_marker_mid = 173,
23390         eCSSProperty_marker_start = 174,
23391         eCSSProperty_mask_clip = 175,
23392         eCSSProperty_mask_composite = 176,
23393         eCSSProperty_mask_image = 177,
23394         eCSSProperty_mask_mode = 178,
23395         eCSSProperty_mask_origin = 179,
23396         eCSSProperty_mask_position_x = 180,
23397         eCSSProperty_mask_position_y = 181,
23398         eCSSProperty_mask_repeat = 182,
23399         eCSSProperty_mask_size = 183,
23400         eCSSProperty_mask_type = 184,
23401         eCSSProperty__moz_math_display = 185,
23402         eCSSProperty__moz_math_variant = 186,
23403         eCSSProperty_max_block_size = 187,
23404         eCSSProperty_max_height = 188,
23405         eCSSProperty_max_inline_size = 189,
23406         eCSSProperty_max_width = 190,
23407         eCSSProperty_min_block_size = 191,
23408         eCSSProperty__moz_min_font_size_ratio = 192,
23409         eCSSProperty_min_height = 193,
23410         eCSSProperty_min_inline_size = 194,
23411         eCSSProperty_min_width = 195,
23412         eCSSProperty_mix_blend_mode = 196,
23413         eCSSProperty_object_fit = 197,
23414         eCSSProperty_object_position = 198,
23415         eCSSProperty_offset_block_end = 199,
23416         eCSSProperty_offset_block_start = 200,
23417         eCSSProperty_offset_inline_end = 201,
23418         eCSSProperty_offset_inline_start = 202,
23419         eCSSProperty_opacity = 203,
23420         eCSSProperty_order = 204,
23421         eCSSProperty__moz_orient = 205,
23422         eCSSProperty__moz_osx_font_smoothing = 206,
23423         eCSSProperty_outline_color = 207,
23424         eCSSProperty_outline_offset = 208,
23425         eCSSProperty__moz_outline_radius_bottomleft = 209,
23426         eCSSProperty__moz_outline_radius_bottomright = 210,
23427         eCSSProperty__moz_outline_radius_topleft = 211,
23428         eCSSProperty__moz_outline_radius_topright = 212,
23429         eCSSProperty_outline_style = 213,
23430         eCSSProperty_outline_width = 214,
23431         eCSSProperty_overflow_clip_box_block = 215,
23432         eCSSProperty_overflow_clip_box_inline = 216,
23433         eCSSProperty_overflow_x = 217,
23434         eCSSProperty_overflow_y = 218,
23435         eCSSProperty_padding_block_end = 219,
23436         eCSSProperty_padding_block_start = 220,
23437         eCSSProperty_padding_bottom = 221,
23438         eCSSProperty_padding_inline_end = 222,
23439         eCSSProperty_padding_inline_start = 223,
23440         eCSSProperty_padding_left = 224,
23441         eCSSProperty_padding_right = 225,
23442         eCSSProperty_padding_top = 226,
23443         eCSSProperty_page_break_after = 227,
23444         eCSSProperty_page_break_before = 228,
23445         eCSSProperty_page_break_inside = 229,
23446         eCSSProperty_paint_order = 230,
23447         eCSSProperty_perspective = 231,
23448         eCSSProperty_perspective_origin = 232,
23449         eCSSProperty_pointer_events = 233,
23450         eCSSProperty_position = 234,
23451         eCSSProperty_quotes = 235,
23452         eCSSProperty_resize = 236,
23453         eCSSProperty_right = 237,
23454         eCSSProperty_rotate = 238,
23455         eCSSProperty_ruby_align = 239,
23456         eCSSProperty_ruby_position = 240,
23457         eCSSProperty__moz_script_level = 241,
23458         eCSSProperty__moz_script_min_size = 242,
23459         eCSSProperty__moz_script_size_multiplier = 243,
23460         eCSSProperty_scroll_behavior = 244,
23461         eCSSProperty_overscroll_behavior_x = 245,
23462         eCSSProperty_overscroll_behavior_y = 246,
23463         eCSSProperty_scroll_snap_coordinate = 247,
23464         eCSSProperty_scroll_snap_destination = 248,
23465         eCSSProperty_scroll_snap_points_x = 249,
23466         eCSSProperty_scroll_snap_points_y = 250,
23467         eCSSProperty_scroll_snap_type_x = 251,
23468         eCSSProperty_scroll_snap_type_y = 252,
23469         eCSSProperty_shape_image_threshold = 253,
23470         eCSSProperty_shape_outside = 254,
23471         eCSSProperty_shape_rendering = 255,
23472         eCSSProperty__x_span = 256,
23473         eCSSProperty__moz_stack_sizing = 257,
23474         eCSSProperty_stop_color = 258,
23475         eCSSProperty_stop_opacity = 259,
23476         eCSSProperty_stroke = 260,
23477         eCSSProperty_stroke_dasharray = 261,
23478         eCSSProperty_stroke_dashoffset = 262,
23479         eCSSProperty_stroke_linecap = 263,
23480         eCSSProperty_stroke_linejoin = 264,
23481         eCSSProperty_stroke_miterlimit = 265,
23482         eCSSProperty_stroke_opacity = 266,
23483         eCSSProperty_stroke_width = 267,
23484         eCSSProperty__x_system_font = 268,
23485         eCSSProperty__moz_tab_size = 269,
23486         eCSSProperty_table_layout = 270,
23487         eCSSProperty_text_align = 271,
23488         eCSSProperty_text_align_last = 272,
23489         eCSSProperty_text_anchor = 273,
23490         eCSSProperty_text_combine_upright = 274,
23491         eCSSProperty_text_decoration_color = 275,
23492         eCSSProperty_text_decoration_line = 276,
23493         eCSSProperty_text_decoration_style = 277,
23494         eCSSProperty_text_emphasis_color = 278,
23495         eCSSProperty_text_emphasis_position = 279,
23496         eCSSProperty_text_emphasis_style = 280,
23497         eCSSProperty__webkit_text_fill_color = 281,
23498         eCSSProperty_text_indent = 282,
23499         eCSSProperty_text_justify = 283,
23500         eCSSProperty_text_orientation = 284,
23501         eCSSProperty_text_overflow = 285,
23502         eCSSProperty_text_rendering = 286,
23503         eCSSProperty_text_shadow = 287,
23504         eCSSProperty__moz_text_size_adjust = 288,
23505         eCSSProperty__webkit_text_stroke_color = 289,
23506         eCSSProperty__webkit_text_stroke_width = 290,
23507         eCSSProperty_scale = 291,
23508         eCSSProperty_text_transform = 292,
23509         eCSSProperty__x_text_zoom = 293,
23510         eCSSProperty_top = 294,
23511         eCSSProperty__moz_top_layer = 295,
23512         eCSSProperty_touch_action = 296,
23513         eCSSProperty_transform = 297,
23514         eCSSProperty_transform_box = 298,
23515         eCSSProperty_transform_origin = 299,
23516         eCSSProperty_transform_style = 300,
23517         eCSSProperty_transition_delay = 301,
23518         eCSSProperty_transition_duration = 302,
23519         eCSSProperty_transition_property = 303,
23520         eCSSProperty_transition_timing_function = 304,
23521         eCSSProperty_translate = 305,
23522         eCSSProperty_unicode_bidi = 306,
23523         eCSSProperty__moz_user_focus = 307,
23524         eCSSProperty__moz_user_input = 308,
23525         eCSSProperty__moz_user_modify = 309,
23526         eCSSProperty__moz_user_select = 310,
23527         eCSSProperty_vector_effect = 311,
23528         eCSSProperty_vertical_align = 312,
23529         eCSSProperty_visibility = 313,
23530         eCSSProperty_white_space = 314,
23531         eCSSProperty_width = 315,
23532         eCSSProperty_will_change = 316,
23533         eCSSProperty__moz_window_dragging = 317,
23534         eCSSProperty__moz_window_shadow = 318,
23535         eCSSProperty__moz_window_opacity = 319,
23536         eCSSProperty__moz_window_transform = 320,
23537         eCSSProperty__moz_window_transform_origin = 321,
23538         eCSSProperty_word_break = 322,
23539         eCSSProperty_word_spacing = 323,
23540         eCSSProperty_overflow_wrap = 324,
23541         eCSSProperty_writing_mode = 325,
23542         eCSSProperty_z_index = 326,
23543         eCSSProperty_all = 327,
23544         eCSSProperty_animation = 328,
23545         eCSSProperty_background = 329,
23546         eCSSProperty_background_position = 330,
23547         eCSSProperty_border = 331,
23548         eCSSProperty_border_block_end = 332,
23549         eCSSProperty_border_block_start = 333,
23550         eCSSProperty_border_bottom = 334,
23551         eCSSProperty_border_color = 335,
23552         eCSSProperty_border_image = 336,
23553         eCSSProperty_border_inline_end = 337,
23554         eCSSProperty_border_inline_start = 338,
23555         eCSSProperty_border_left = 339,
23556         eCSSProperty_border_radius = 340,
23557         eCSSProperty_border_right = 341,
23558         eCSSProperty_border_style = 342,
23559         eCSSProperty_border_top = 343,
23560         eCSSProperty_border_width = 344,
23561         eCSSProperty_column_rule = 345,
23562         eCSSProperty_columns = 346,
23563         eCSSProperty_flex = 347,
23564         eCSSProperty_flex_flow = 348,
23565         eCSSProperty_font = 349,
23566         eCSSProperty_font_variant = 350,
23567         eCSSProperty_grid = 351,
23568         eCSSProperty_grid_area = 352,
23569         eCSSProperty_grid_column = 353,
23570         eCSSProperty_grid_gap = 354,
23571         eCSSProperty_grid_row = 355,
23572         eCSSProperty_grid_template = 356,
23573         eCSSProperty_list_style = 357,
23574         eCSSProperty_margin = 358,
23575         eCSSProperty_marker = 359,
23576         eCSSProperty_mask = 360,
23577         eCSSProperty_mask_position = 361,
23578         eCSSProperty_outline = 362,
23579         eCSSProperty__moz_outline_radius = 363,
23580         eCSSProperty_overflow = 364,
23581         eCSSProperty_overflow_clip_box = 365,
23582         eCSSProperty_padding = 366,
23583         eCSSProperty_place_content = 367,
23584         eCSSProperty_place_items = 368,
23585         eCSSProperty_place_self = 369,
23586         eCSSProperty_overscroll_behavior = 370,
23587         eCSSProperty_scroll_snap_type = 371,
23588         eCSSProperty_text_decoration = 372,
23589         eCSSProperty_text_emphasis = 373,
23590         eCSSProperty__webkit_text_stroke = 374,
23591         eCSSProperty_transition = 375,
23592         eCSSPropertyAlias_WordWrap = 376,
23593         eCSSPropertyAlias_MozTransform = 377,
23594         eCSSPropertyAlias_MozTransformOrigin = 378,
23595         eCSSPropertyAlias_MozPerspectiveOrigin = 379,
23596         eCSSPropertyAlias_MozPerspective = 380,
23597         eCSSPropertyAlias_MozTransformStyle = 381,
23598         eCSSPropertyAlias_MozBackfaceVisibility = 382,
23599         eCSSPropertyAlias_MozBorderImage = 383,
23600         eCSSPropertyAlias_MozTransition = 384,
23601         eCSSPropertyAlias_MozTransitionDelay = 385,
23602         eCSSPropertyAlias_MozTransitionDuration = 386,
23603         eCSSPropertyAlias_MozTransitionProperty = 387,
23604         eCSSPropertyAlias_MozTransitionTimingFunction = 388,
23605         eCSSPropertyAlias_MozAnimation = 389,
23606         eCSSPropertyAlias_MozAnimationDelay = 390,
23607         eCSSPropertyAlias_MozAnimationDirection = 391,
23608         eCSSPropertyAlias_MozAnimationDuration = 392,
23609         eCSSPropertyAlias_MozAnimationFillMode = 393,
23610         eCSSPropertyAlias_MozAnimationIterationCount = 394,
23611         eCSSPropertyAlias_MozAnimationName = 395,
23612         eCSSPropertyAlias_MozAnimationPlayState = 396,
23613         eCSSPropertyAlias_MozAnimationTimingFunction = 397,
23614         eCSSPropertyAlias_MozBoxSizing = 398,
23615         eCSSPropertyAlias_MozFontFeatureSettings = 399,
23616         eCSSPropertyAlias_MozFontLanguageOverride = 400,
23617         eCSSPropertyAlias_MozPaddingEnd = 401,
23618         eCSSPropertyAlias_MozPaddingStart = 402,
23619         eCSSPropertyAlias_MozMarginEnd = 403,
23620         eCSSPropertyAlias_MozMarginStart = 404,
23621         eCSSPropertyAlias_MozBorderEnd = 405,
23622         eCSSPropertyAlias_MozBorderEndColor = 406,
23623         eCSSPropertyAlias_MozBorderEndStyle = 407,
23624         eCSSPropertyAlias_MozBorderEndWidth = 408,
23625         eCSSPropertyAlias_MozBorderStart = 409,
23626         eCSSPropertyAlias_MozBorderStartColor = 410,
23627         eCSSPropertyAlias_MozBorderStartStyle = 411,
23628         eCSSPropertyAlias_MozBorderStartWidth = 412,
23629         eCSSPropertyAlias_MozHyphens = 413,
23630         eCSSPropertyAlias_MozColumnCount = 414,
23631         eCSSPropertyAlias_MozColumnFill = 415,
23632         eCSSPropertyAlias_MozColumnGap = 416,
23633         eCSSPropertyAlias_MozColumnRule = 417,
23634         eCSSPropertyAlias_MozColumnRuleColor = 418,
23635         eCSSPropertyAlias_MozColumnRuleStyle = 419,
23636         eCSSPropertyAlias_MozColumnRuleWidth = 420,
23637         eCSSPropertyAlias_MozColumnSpan = 421,
23638         eCSSPropertyAlias_MozColumnWidth = 422,
23639         eCSSPropertyAlias_MozColumns = 423,
23640         eCSSPropertyAlias_WebkitAnimation = 424,
23641         eCSSPropertyAlias_WebkitAnimationDelay = 425,
23642         eCSSPropertyAlias_WebkitAnimationDirection = 426,
23643         eCSSPropertyAlias_WebkitAnimationDuration = 427,
23644         eCSSPropertyAlias_WebkitAnimationFillMode = 428,
23645         eCSSPropertyAlias_WebkitAnimationIterationCount = 429,
23646         eCSSPropertyAlias_WebkitAnimationName = 430,
23647         eCSSPropertyAlias_WebkitAnimationPlayState = 431,
23648         eCSSPropertyAlias_WebkitAnimationTimingFunction = 432,
23649         eCSSPropertyAlias_WebkitFilter = 433,
23650         eCSSPropertyAlias_WebkitTextSizeAdjust = 434,
23651         eCSSPropertyAlias_WebkitTransform = 435,
23652         eCSSPropertyAlias_WebkitTransformOrigin = 436,
23653         eCSSPropertyAlias_WebkitTransformStyle = 437,
23654         eCSSPropertyAlias_WebkitBackfaceVisibility = 438,
23655         eCSSPropertyAlias_WebkitPerspective = 439,
23656         eCSSPropertyAlias_WebkitPerspectiveOrigin = 440,
23657         eCSSPropertyAlias_WebkitTransition = 441,
23658         eCSSPropertyAlias_WebkitTransitionDelay = 442,
23659         eCSSPropertyAlias_WebkitTransitionDuration = 443,
23660         eCSSPropertyAlias_WebkitTransitionProperty = 444,
23661         eCSSPropertyAlias_WebkitTransitionTimingFunction = 445,
23662         eCSSPropertyAlias_WebkitBorderRadius = 446,
23663         eCSSPropertyAlias_WebkitBorderTopLeftRadius = 447,
23664         eCSSPropertyAlias_WebkitBorderTopRightRadius = 448,
23665         eCSSPropertyAlias_WebkitBorderBottomLeftRadius = 449,
23666         eCSSPropertyAlias_WebkitBorderBottomRightRadius = 450,
23667         eCSSPropertyAlias_WebkitBackgroundClip = 451,
23668         eCSSPropertyAlias_WebkitBackgroundOrigin = 452,
23669         eCSSPropertyAlias_WebkitBackgroundSize = 453,
23670         eCSSPropertyAlias_WebkitBorderImage = 454,
23671         eCSSPropertyAlias_WebkitBoxShadow = 455,
23672         eCSSPropertyAlias_WebkitBoxSizing = 456,
23673         eCSSPropertyAlias_WebkitBoxFlex = 457,
23674         eCSSPropertyAlias_WebkitBoxOrdinalGroup = 458,
23675         eCSSPropertyAlias_WebkitBoxOrient = 459,
23676         eCSSPropertyAlias_WebkitBoxDirection = 460,
23677         eCSSPropertyAlias_WebkitBoxAlign = 461,
23678         eCSSPropertyAlias_WebkitBoxPack = 462,
23679         eCSSPropertyAlias_WebkitFlexDirection = 463,
23680         eCSSPropertyAlias_WebkitFlexWrap = 464,
23681         eCSSPropertyAlias_WebkitFlexFlow = 465,
23682         eCSSPropertyAlias_WebkitOrder = 466,
23683         eCSSPropertyAlias_WebkitFlex = 467,
23684         eCSSPropertyAlias_WebkitFlexGrow = 468,
23685         eCSSPropertyAlias_WebkitFlexShrink = 469,
23686         eCSSPropertyAlias_WebkitFlexBasis = 470,
23687         eCSSPropertyAlias_WebkitJustifyContent = 471,
23688         eCSSPropertyAlias_WebkitAlignItems = 472,
23689         eCSSPropertyAlias_WebkitAlignSelf = 473,
23690         eCSSPropertyAlias_WebkitAlignContent = 474,
23691         eCSSPropertyAlias_WebkitUserSelect = 475,
23692         eCSSPropertyAlias_WebkitMask = 476,
23693         eCSSPropertyAlias_WebkitMaskClip = 477,
23694         eCSSPropertyAlias_WebkitMaskComposite = 478,
23695         eCSSPropertyAlias_WebkitMaskImage = 479,
23696         eCSSPropertyAlias_WebkitMaskOrigin = 480,
23697         eCSSPropertyAlias_WebkitMaskPosition = 481,
23698         eCSSPropertyAlias_WebkitMaskPositionX = 482,
23699         eCSSPropertyAlias_WebkitMaskPositionY = 483,
23700         eCSSPropertyAlias_WebkitMaskRepeat = 484,
23701         eCSSPropertyAlias_WebkitMaskSize = 485,
23702         eCSSPropertyExtra_no_properties = 486,
23703         eCSSPropertyExtra_all_properties = 487,
23704         eCSSPropertyExtra_x_none_value = 488,
23705         eCSSPropertyExtra_x_auto_value = 489,
23706         eCSSPropertyExtra_variable = 490,
23707         eCSSProperty_DOM = 491,
23708     }
23709     #[repr(i32)]
23710     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
23711     pub enum nsCSSFontDesc {
23712         eCSSFontDesc_UNKNOWN = -1,
23713         eCSSFontDesc_Family = 0,
23714         eCSSFontDesc_Style = 1,
23715         eCSSFontDesc_Weight = 2,
23716         eCSSFontDesc_Stretch = 3,
23717         eCSSFontDesc_Src = 4,
23718         eCSSFontDesc_UnicodeRange = 5,
23719         eCSSFontDesc_FontFeatureSettings = 6,
23720         eCSSFontDesc_FontVariationSettings = 7,
23721         eCSSFontDesc_FontLanguageOverride = 8,
23722         eCSSFontDesc_Display = 9,
23723         eCSSFontDesc_COUNT = 10,
23724     }
23725     #[repr(i32)]
23726     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
23727     pub enum nsCSSCounterDesc {
23728         eCSSCounterDesc_UNKNOWN = -1,
23729         eCSSCounterDesc_System = 0,
23730         eCSSCounterDesc_Symbols = 1,
23731         eCSSCounterDesc_AdditiveSymbols = 2,
23732         eCSSCounterDesc_Negative = 3,
23733         eCSSCounterDesc_Prefix = 4,
23734         eCSSCounterDesc_Suffix = 5,
23735         eCSSCounterDesc_Range = 6,
23736         eCSSCounterDesc_Pad = 7,
23737         eCSSCounterDesc_Fallback = 8,
23738         eCSSCounterDesc_SpeakAs = 9,
23739         eCSSCounterDesc_COUNT = 10,
23740     }
23741     #[repr(C)]
23742     #[derive(Debug, Copy)]
23743     pub struct RawServoAuthorStyles {
23744         _unused: [u8; 0],
23745     }
23746     impl Clone for RawServoAuthorStyles {
clone(&self) -> Self23747         fn clone(&self) -> Self {
23748             *self
23749         }
23750     }
23751     #[repr(C)]
23752     #[derive(Debug, Copy)]
23753     pub struct RawServoStyleSet {
23754         _unused: [u8; 0],
23755     }
23756     impl Clone for RawServoStyleSet {
clone(&self) -> Self23757         fn clone(&self) -> Self {
23758             *self
23759         }
23760     }
23761     #[repr(C)]
23762     #[derive(Debug, Copy)]
23763     pub struct RawServoSourceSizeList {
23764         _unused: [u8; 0],
23765     }
23766     impl Clone for RawServoSourceSizeList {
clone(&self) -> Self23767         fn clone(&self) -> Self {
23768             *self
23769         }
23770     }
23771     #[repr(C)]
23772     #[derive(Debug, Copy)]
23773     pub struct RustString {
23774         _unused: [u8; 0],
23775     }
23776     impl Clone for RustString {
clone(&self) -> Self23777         fn clone(&self) -> Self {
23778             *self
23779         }
23780     }
23781     #[repr(C)]
23782     #[derive(Debug, Copy)]
23783     pub struct RawServoStyleSheetContents {
23784         _unused: [u8; 0],
23785     }
23786     impl Clone for RawServoStyleSheetContents {
clone(&self) -> Self23787         fn clone(&self) -> Self {
23788             *self
23789         }
23790     }
23791     #[repr(C)]
23792     #[derive(Debug, Copy)]
23793     pub struct RawServoDeclarationBlock {
23794         _unused: [u8; 0],
23795     }
23796     impl Clone for RawServoDeclarationBlock {
clone(&self) -> Self23797         fn clone(&self) -> Self {
23798             *self
23799         }
23800     }
23801     #[repr(C)]
23802     #[derive(Debug, Copy)]
23803     pub struct RawServoStyleRule {
23804         _unused: [u8; 0],
23805     }
23806     impl Clone for RawServoStyleRule {
clone(&self) -> Self23807         fn clone(&self) -> Self {
23808             *self
23809         }
23810     }
23811     #[repr(C)]
23812     #[derive(Debug, Copy)]
23813     pub struct RawServoAnimationValue {
23814         _unused: [u8; 0],
23815     }
23816     impl Clone for RawServoAnimationValue {
clone(&self) -> Self23817         fn clone(&self) -> Self {
23818             *self
23819         }
23820     }
23821     #[repr(C)]
23822     #[derive(Debug, Copy)]
23823     pub struct RawServoMediaList {
23824         _unused: [u8; 0],
23825     }
23826     impl Clone for RawServoMediaList {
clone(&self) -> Self23827         fn clone(&self) -> Self {
23828             *self
23829         }
23830     }
23831     pub mod nsStyleTransformMatrix {
23832         #[allow(unused_imports)]
23833         use self::super::super::root;
23834         #[repr(u8)]
23835         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
23836         pub enum MatrixTransformOperator {
23837             Interpolate = 0,
23838             Accumulate = 1,
23839         }
23840     }
23841     #[repr(C)]
23842     #[derive(Debug, Copy)]
23843     pub struct nsCSSPropertyIDSet {
23844         _unused: [u8; 0],
23845     }
23846     impl Clone for nsCSSPropertyIDSet {
clone(&self) -> Self23847         fn clone(&self) -> Self {
23848             *self
23849         }
23850     }
23851     #[repr(C)]
23852     #[derive(Debug, Copy)]
23853     pub struct nsSimpleContentList {
23854         _unused: [u8; 0],
23855     }
23856     impl Clone for nsSimpleContentList {
clone(&self) -> Self23857         fn clone(&self) -> Self {
23858             *self
23859         }
23860     }
23861     pub type RawGeckoNode = root::nsINode;
23862     pub type RawGeckoElement = root::mozilla::dom::Element;
23863     pub type RawGeckoDocument = root::nsIDocument;
23864     pub type RawGeckoPresContext = root::nsPresContext;
23865     pub type RawGeckoXBLBinding = root::nsXBLBinding;
23866     pub type RawGeckoURLExtraData = root::mozilla::URLExtraData;
23867     pub type RawGeckoServoAnimationValueList =
23868         root::nsTArray<root::RefPtr<root::RawServoAnimationValue>>;
23869     pub type RawGeckoKeyframeList = root::nsTArray<root::mozilla::Keyframe>;
23870     pub type RawGeckoPropertyValuePairList = root::nsTArray<root::mozilla::PropertyValuePair>;
23871     pub type RawGeckoComputedKeyframeValuesList =
23872         root::nsTArray<root::mozilla::ComputedKeyframeValues>;
23873     pub type RawGeckoStyleAnimationList = root::nsStyleAutoArray<root::mozilla::StyleAnimation>;
23874     pub type RawGeckoFontFaceRuleList = root::nsTArray<root::nsFontFaceRuleContainer>;
23875     pub type RawGeckoAnimationPropertySegment = root::mozilla::AnimationPropertySegment;
23876     pub type RawGeckoComputedTiming = root::mozilla::ComputedTiming;
23877     pub type RawGeckoServoStyleRuleList = root::nsTArray<*const root::RawServoStyleRule>;
23878     pub type RawGeckoCSSPropertyIDList = root::nsTArray<root::nsCSSPropertyID>;
23879     pub type RawGeckoGfxMatrix4x4 = [root::mozilla::gfx::Float; 16usize];
23880     pub type RawGeckoStyleChildrenIterator = root::mozilla::dom::StyleChildrenIterator;
23881     pub type ServoStyleContextBorrowed = *const root::mozilla::ServoStyleContext;
23882     pub type ServoStyleContextBorrowedOrNull = *const root::mozilla::ServoStyleContext;
23883     pub type ServoComputedDataBorrowed = *const root::ServoComputedData;
23884     pub type RawGeckoNodeBorrowed = *const root::RawGeckoNode;
23885     pub type RawGeckoNodeBorrowedOrNull = *const root::RawGeckoNode;
23886     pub type RawGeckoElementBorrowed = *const root::RawGeckoElement;
23887     pub type RawGeckoElementBorrowedOrNull = *const root::RawGeckoElement;
23888     pub type RawGeckoDocumentBorrowed = *const root::RawGeckoDocument;
23889     pub type RawGeckoDocumentBorrowedOrNull = *const root::RawGeckoDocument;
23890     pub type RawGeckoXBLBindingBorrowed = *const root::RawGeckoXBLBinding;
23891     pub type RawGeckoXBLBindingBorrowedOrNull = *const root::RawGeckoXBLBinding;
23892     pub type RawGeckoPresContextOwned = *mut root::RawGeckoPresContext;
23893     pub type RawGeckoPresContextBorrowed = *const root::RawGeckoPresContext;
23894     pub type RawGeckoPresContextBorrowedMut = *mut root::RawGeckoPresContext;
23895     pub type RawGeckoServoAnimationValueListBorrowedMut =
23896         *mut root::RawGeckoServoAnimationValueList;
23897     pub type RawGeckoServoAnimationValueListBorrowed = *const root::RawGeckoServoAnimationValueList;
23898     pub type RawGeckoKeyframeListBorrowedMut = *mut root::RawGeckoKeyframeList;
23899     pub type RawGeckoKeyframeListBorrowed = *const root::RawGeckoKeyframeList;
23900     pub type RawGeckoPropertyValuePairListBorrowedMut = *mut root::RawGeckoPropertyValuePairList;
23901     pub type RawGeckoPropertyValuePairListBorrowed = *const root::RawGeckoPropertyValuePairList;
23902     pub type RawGeckoComputedKeyframeValuesListBorrowedMut =
23903         *mut root::RawGeckoComputedKeyframeValuesList;
23904     pub type RawGeckoStyleAnimationListBorrowedMut = *mut root::RawGeckoStyleAnimationList;
23905     pub type RawGeckoStyleAnimationListBorrowed = *const root::RawGeckoStyleAnimationList;
23906     pub type RawGeckoFontFaceRuleListBorrowedMut = *mut root::RawGeckoFontFaceRuleList;
23907     pub type RawGeckoAnimationPropertySegmentBorrowed =
23908         *const root::RawGeckoAnimationPropertySegment;
23909     pub type RawGeckoComputedTimingBorrowed = *const root::RawGeckoComputedTiming;
23910     pub type RawGeckoServoStyleRuleListBorrowedMut = *mut root::RawGeckoServoStyleRuleList;
23911     pub type RawGeckoCSSPropertyIDListBorrowed = *const root::RawGeckoCSSPropertyIDList;
23912     pub type RawGeckoStyleChildrenIteratorBorrowedMut = *mut root::RawGeckoStyleChildrenIterator;
23913     #[repr(C)]
23914     #[derive(Debug, Copy)]
23915     pub struct nsHTMLCSSStyleSheet {
23916         _unused: [u8; 0],
23917     }
23918     impl Clone for nsHTMLCSSStyleSheet {
clone(&self) -> Self23919         fn clone(&self) -> Self {
23920             *self
23921         }
23922     }
23923     #[repr(C)]
23924     #[derive(Debug, Copy)]
23925     pub struct nsHTMLStyleSheet {
23926         _unused: [u8; 0],
23927     }
23928     impl Clone for nsHTMLStyleSheet {
clone(&self) -> Self23929         fn clone(&self) -> Self {
23930             *self
23931         }
23932     }
23933     #[repr(C)]
23934     #[derive(Debug, Copy)]
23935     pub struct nsIBFCacheEntry {
23936         _unused: [u8; 0],
23937     }
23938     impl Clone for nsIBFCacheEntry {
clone(&self) -> Self23939         fn clone(&self) -> Self {
23940             *self
23941         }
23942     }
23943     #[repr(C)]
23944     #[derive(Debug, Copy)]
23945     pub struct nsIDocumentEncoder {
23946         _unused: [u8; 0],
23947     }
23948     impl Clone for nsIDocumentEncoder {
clone(&self) -> Self23949         fn clone(&self) -> Self {
23950             *self
23951         }
23952     }
23953     #[repr(C)]
23954     #[derive(Debug, Copy)]
23955     pub struct nsIStructuredCloneContainer {
23956         _unused: [u8; 0],
23957     }
23958     impl Clone for nsIStructuredCloneContainer {
clone(&self) -> Self23959         fn clone(&self) -> Self {
23960             *self
23961         }
23962     }
23963     #[repr(C)]
23964     #[derive(Debug, Copy)]
23965     pub struct nsSMILAnimationController {
23966         _unused: [u8; 0],
23967     }
23968     impl Clone for nsSMILAnimationController {
clone(&self) -> Self23969         fn clone(&self) -> Self {
23970             *self
23971         }
23972     }
23973     #[repr(C)]
23974     pub struct nsIDocument {
23975         pub _base: root::nsINode,
23976         pub _base_1: root::mozilla::dom::DocumentOrShadowRoot,
23977         pub _base_2: root::mozilla::dom::DispatcherTrait,
23978         pub mDeprecationWarnedAbout: u64,
23979         pub mDocWarningWarnedAbout: u64,
23980         pub mServoSelectorCache: root::mozilla::UniquePtr<root::nsIDocument_SelectorCache>,
23981         pub mGeckoSelectorCache: root::mozilla::UniquePtr<root::nsIDocument_SelectorCache>,
23982         pub mReferrer: root::nsCString,
23983         pub mLastModified: ::nsstring::nsStringRepr,
23984         pub mDocumentURI: root::nsCOMPtr,
23985         pub mOriginalURI: root::nsCOMPtr,
23986         pub mChromeXHRDocURI: root::nsCOMPtr,
23987         pub mDocumentBaseURI: root::nsCOMPtr,
23988         pub mChromeXHRDocBaseURI: root::nsCOMPtr,
23989         pub mCachedURLData: root::RefPtr<root::mozilla::URLExtraData>,
23990         pub mDocumentLoadGroup: root::nsWeakPtr,
23991         pub mReferrerPolicySet: bool,
23992         pub mReferrerPolicy: root::nsIDocument_ReferrerPolicyEnum,
23993         pub mBlockAllMixedContent: bool,
23994         pub mBlockAllMixedContentPreloads: bool,
23995         pub mUpgradeInsecureRequests: bool,
23996         pub mUpgradeInsecurePreloads: bool,
23997         pub mDocumentContainer: u64,
23998         pub mCharacterSet: root::mozilla::NotNull<*const root::nsIDocument_Encoding>,
23999         pub mCharacterSetSource: i32,
24000         pub mParentDocument: *mut root::nsIDocument,
24001         pub mCachedRootElement: *mut root::mozilla::dom::Element,
24002         pub mNodeInfoManager: *mut root::nsNodeInfoManager,
24003         pub mCSSLoader: root::RefPtr<root::mozilla::css::Loader>,
24004         pub mStyleImageLoader: root::RefPtr<root::mozilla::css::ImageLoader>,
24005         pub mAttrStyleSheet: root::RefPtr<root::nsHTMLStyleSheet>,
24006         pub mStyleAttrStyleSheet: root::RefPtr<root::nsHTMLCSSStyleSheet>,
24007         pub mImageTracker: root::RefPtr<root::mozilla::dom::ImageTracker>,
24008         pub mActivityObservers: u64,
24009         pub mLinksToUpdate: root::nsIDocument_LinksToUpdateList,
24010         pub mAnimationController: root::RefPtr<root::nsSMILAnimationController>,
24011         pub mPropertyTable: root::nsPropertyTable,
24012         pub mExtraPropertyTables: root::nsTArray<root::nsAutoPtr<root::nsPropertyTable>>,
24013         pub mChildrenCollection: root::nsCOMPtr,
24014         pub mFontFaceSet: root::RefPtr<root::mozilla::dom::FontFaceSet>,
24015         pub mLastFocusTime: root::mozilla::TimeStamp,
24016         pub mDocumentState: root::mozilla::EventStates,
24017         pub mReadyForIdle: root::RefPtr<root::mozilla::dom::Promise>,
24018         pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 7usize], u8>,
24019         pub mCompatMode: root::nsCompatibility,
24020         pub mReadyState: root::nsIDocument_ReadyState,
24021         pub mStyleBackendType: root::mozilla::StyleBackendType,
24022         pub mVisibilityState: root::mozilla::dom::VisibilityState,
24023         pub mType: root::nsIDocument_Type,
24024         pub mDefaultElementType: u8,
24025         pub mAllowXULXBL: root::nsIDocument_Tri,
24026         pub mScriptGlobalObject: root::nsCOMPtr,
24027         pub mOriginalDocument: root::nsCOMPtr,
24028         pub mBidiOptions: u32,
24029         pub mSandboxFlags: u32,
24030         pub mContentLanguage: root::nsCString,
24031         pub mChannel: root::nsCOMPtr,
24032         pub mContentType: root::nsCString,
24033         pub mSecurityInfo: root::nsCOMPtr,
24034         pub mFailedChannel: root::nsCOMPtr,
24035         pub mPartID: u32,
24036         pub mMarkedCCGeneration: u32,
24037         pub mPresShell: *mut root::nsIPresShell,
24038         pub mSubtreeModifiedTargets: root::nsCOMArray,
24039         pub mSubtreeModifiedDepth: u32,
24040         pub mDisplayDocument: root::nsCOMPtr,
24041         pub mEventsSuppressed: u32,
24042         /// https://html.spec.whatwg.org/#ignore-destructive-writes-counter
24043         pub mIgnoreDestructiveWritesCounter: u32,
24044         /// The current frame request callback handle
24045         pub mFrameRequestCallbackCounter: i32,
24046         pub mStaticCloneCount: u32,
24047         pub mBlockedTrackingNodes: root::nsTArray<root::nsWeakPtr>,
24048         pub mWindow: *mut root::nsPIDOMWindowInner,
24049         pub mCachedEncoder: root::nsCOMPtr,
24050         pub mFrameRequestCallbacks: root::nsTArray<root::nsIDocument_FrameRequest>,
24051         pub mBFCacheEntry: *mut root::nsIBFCacheEntry,
24052         pub mBaseTarget: ::nsstring::nsStringRepr,
24053         pub mStateObjectContainer: root::nsCOMPtr,
24054         pub mStateObjectCached: root::nsCOMPtr,
24055         pub mInSyncOperationCount: u32,
24056         pub mXPathEvaluator: root::mozilla::UniquePtr<root::mozilla::dom::XPathEvaluator>,
24057         pub mAnonymousContents: root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>,
24058         pub mBlockDOMContentLoaded: u32,
24059         pub mDOMMediaQueryLists: root::mozilla::LinkedList,
24060         pub mUseCounters: [u64; 2usize],
24061         pub mChildDocumentUseCounters: [u64; 2usize],
24062         pub mNotifiedPageForUseCounter: [u64; 2usize],
24063         pub mIncCounters: u16,
24064         pub mUserHasInteracted: bool,
24065         pub mUserHasActivatedInteraction: bool,
24066         pub mPageUnloadingEventTimeStamp: root::mozilla::TimeStamp,
24067         pub mDocGroup: root::RefPtr<root::mozilla::dom::DocGroup>,
24068         pub mTrackingScripts: [u64; 4usize],
24069         pub mBufferedCSPViolations: root::nsTArray<root::nsCOMPtr>,
24070         pub mAncestorPrincipals: root::nsTArray<root::nsCOMPtr>,
24071         pub mAncestorOuterWindowIDs: root::nsTArray<u64>,
24072         pub mServoRestyleRoot: root::nsCOMPtr,
24073         pub mServoRestyleRootDirtyBits: u32,
24074         pub mThrowOnDynamicMarkupInsertionCounter: u32,
24075         pub mIgnoreOpensDuringUnloadCounter: u32,
24076     }
24077     pub type nsIDocument_GlobalObject = root::mozilla::dom::GlobalObject;
24078     pub type nsIDocument_Encoding = root::mozilla::Encoding;
24079     pub type nsIDocument_NotNull<T> = root::mozilla::NotNull<T>;
24080     pub use self::super::root::mozilla::net::ReferrerPolicy as nsIDocument_ReferrerPolicyEnum;
24081     pub type nsIDocument_Element = root::mozilla::dom::Element;
24082     pub type nsIDocument_FullscreenRequest = root::mozilla::dom::FullscreenRequest;
24083     #[repr(C)]
24084     #[derive(Debug, Copy, Clone)]
24085     pub struct nsIDocument_COMTypeInfo {
24086         pub _address: u8,
24087     }
24088     #[repr(C)]
24089     pub struct nsIDocument_PageUnloadingEventTimeStamp {
24090         pub mDocument: root::nsCOMPtr,
24091         pub mSet: bool,
24092     }
24093     #[test]
bindgen_test_layout_nsIDocument_PageUnloadingEventTimeStamp()24094     fn bindgen_test_layout_nsIDocument_PageUnloadingEventTimeStamp() {
24095         assert_eq!(
24096             ::std::mem::size_of::<nsIDocument_PageUnloadingEventTimeStamp>(),
24097             16usize,
24098             concat!(
24099                 "Size of: ",
24100                 stringify!(nsIDocument_PageUnloadingEventTimeStamp)
24101             )
24102         );
24103         assert_eq!(
24104             ::std::mem::align_of::<nsIDocument_PageUnloadingEventTimeStamp>(),
24105             8usize,
24106             concat!(
24107                 "Alignment of ",
24108                 stringify!(nsIDocument_PageUnloadingEventTimeStamp)
24109             )
24110         );
24111         assert_eq!(
24112             unsafe {
24113                 &(*(::std::ptr::null::<nsIDocument_PageUnloadingEventTimeStamp>())).mDocument
24114                     as *const _ as usize
24115             },
24116             0usize,
24117             concat!(
24118                 "Offset of field: ",
24119                 stringify!(nsIDocument_PageUnloadingEventTimeStamp),
24120                 "::",
24121                 stringify!(mDocument)
24122             )
24123         );
24124         assert_eq!(
24125             unsafe {
24126                 &(*(::std::ptr::null::<nsIDocument_PageUnloadingEventTimeStamp>())).mSet as *const _
24127                     as usize
24128             },
24129             8usize,
24130             concat!(
24131                 "Offset of field: ",
24132                 stringify!(nsIDocument_PageUnloadingEventTimeStamp),
24133                 "::",
24134                 stringify!(mSet)
24135             )
24136         );
24137     }
24138     /// This gets fired when the element that an id refers to changes.
24139     /// This fires at difficult times. It is generally not safe to do anything
24140     /// which could modify the DOM in any way. Use
24141     /// nsContentUtils::AddScriptRunner.
24142     /// @return true to keep the callback in the callback set, false
24143     /// to remove it.
24144     pub type nsIDocument_IDTargetObserver = ::std::option::Option<
24145         unsafe extern "C" fn(
24146             aOldElement: *mut root::nsIDocument_Element,
24147             aNewelement: *mut root::nsIDocument_Element,
24148             aData: *mut ::std::os::raw::c_void,
24149         ) -> bool,
24150     >;
24151     #[repr(C)]
24152     pub struct nsIDocument_SelectorCacheKey {
24153         pub mKey: ::nsstring::nsStringRepr,
24154         pub mState: root::nsExpirationState,
24155     }
24156     #[test]
bindgen_test_layout_nsIDocument_SelectorCacheKey()24157     fn bindgen_test_layout_nsIDocument_SelectorCacheKey() {
24158         assert_eq!(
24159             ::std::mem::size_of::<nsIDocument_SelectorCacheKey>(),
24160             24usize,
24161             concat!("Size of: ", stringify!(nsIDocument_SelectorCacheKey))
24162         );
24163         assert_eq!(
24164             ::std::mem::align_of::<nsIDocument_SelectorCacheKey>(),
24165             8usize,
24166             concat!("Alignment of ", stringify!(nsIDocument_SelectorCacheKey))
24167         );
24168         assert_eq!(
24169             unsafe {
24170                 &(*(::std::ptr::null::<nsIDocument_SelectorCacheKey>())).mKey as *const _ as usize
24171             },
24172             0usize,
24173             concat!(
24174                 "Offset of field: ",
24175                 stringify!(nsIDocument_SelectorCacheKey),
24176                 "::",
24177                 stringify!(mKey)
24178             )
24179         );
24180         assert_eq!(
24181             unsafe {
24182                 &(*(::std::ptr::null::<nsIDocument_SelectorCacheKey>())).mState as *const _ as usize
24183             },
24184             16usize,
24185             concat!(
24186                 "Offset of field: ",
24187                 stringify!(nsIDocument_SelectorCacheKey),
24188                 "::",
24189                 stringify!(mState)
24190             )
24191         );
24192     }
24193     #[repr(C)]
24194     #[derive(Debug, Copy)]
24195     pub struct nsIDocument_SelectorCacheKeyDeleter {
24196         _unused: [u8; 0],
24197     }
24198     impl Clone for nsIDocument_SelectorCacheKeyDeleter {
clone(&self) -> Self24199         fn clone(&self) -> Self {
24200             *self
24201         }
24202     }
24203     #[repr(C)]
24204     #[derive(Debug, Copy)]
24205     pub struct nsIDocument_SelectorCache {
24206         pub _bindgen_opaque_blob: [u64; 16usize],
24207     }
24208     #[repr(C)]
24209     #[derive(Debug)]
24210     pub struct nsIDocument_SelectorCache_SelectorList {
24211         pub mIsServo: bool,
24212         pub __bindgen_anon_1: root::nsIDocument_SelectorCache_SelectorList__bindgen_ty_1,
24213     }
24214     #[repr(C)]
24215     #[derive(Debug, Copy)]
24216     pub struct nsIDocument_SelectorCache_SelectorList__bindgen_ty_1 {
24217         pub mGecko: root::__BindgenUnionField<*mut root::nsCSSSelectorList>,
24218         pub mServo: root::__BindgenUnionField<*mut root::RawServoSelectorList>,
24219         pub bindgen_union_field: u64,
24220     }
24221     #[test]
bindgen_test_layout_nsIDocument_SelectorCache_SelectorList__bindgen_ty_1()24222     fn bindgen_test_layout_nsIDocument_SelectorCache_SelectorList__bindgen_ty_1() {
24223         assert_eq!(
24224             ::std::mem::size_of::<nsIDocument_SelectorCache_SelectorList__bindgen_ty_1>(),
24225             8usize,
24226             concat!(
24227                 "Size of: ",
24228                 stringify!(nsIDocument_SelectorCache_SelectorList__bindgen_ty_1)
24229             )
24230         );
24231         assert_eq!(
24232             ::std::mem::align_of::<nsIDocument_SelectorCache_SelectorList__bindgen_ty_1>(),
24233             8usize,
24234             concat!(
24235                 "Alignment of ",
24236                 stringify!(nsIDocument_SelectorCache_SelectorList__bindgen_ty_1)
24237             )
24238         );
24239         assert_eq!(
24240             unsafe {
24241                 &(*(::std::ptr::null::<nsIDocument_SelectorCache_SelectorList__bindgen_ty_1>()))
24242                     .mGecko as *const _ as usize
24243             },
24244             0usize,
24245             concat!(
24246                 "Offset of field: ",
24247                 stringify!(nsIDocument_SelectorCache_SelectorList__bindgen_ty_1),
24248                 "::",
24249                 stringify!(mGecko)
24250             )
24251         );
24252         assert_eq!(
24253             unsafe {
24254                 &(*(::std::ptr::null::<nsIDocument_SelectorCache_SelectorList__bindgen_ty_1>()))
24255                     .mServo as *const _ as usize
24256             },
24257             0usize,
24258             concat!(
24259                 "Offset of field: ",
24260                 stringify!(nsIDocument_SelectorCache_SelectorList__bindgen_ty_1),
24261                 "::",
24262                 stringify!(mServo)
24263             )
24264         );
24265     }
24266     impl Clone for nsIDocument_SelectorCache_SelectorList__bindgen_ty_1 {
clone(&self) -> Self24267         fn clone(&self) -> Self {
24268             *self
24269         }
24270     }
24271     #[test]
bindgen_test_layout_nsIDocument_SelectorCache_SelectorList()24272     fn bindgen_test_layout_nsIDocument_SelectorCache_SelectorList() {
24273         assert_eq!(
24274             ::std::mem::size_of::<nsIDocument_SelectorCache_SelectorList>(),
24275             16usize,
24276             concat!(
24277                 "Size of: ",
24278                 stringify!(nsIDocument_SelectorCache_SelectorList)
24279             )
24280         );
24281         assert_eq!(
24282             ::std::mem::align_of::<nsIDocument_SelectorCache_SelectorList>(),
24283             8usize,
24284             concat!(
24285                 "Alignment of ",
24286                 stringify!(nsIDocument_SelectorCache_SelectorList)
24287             )
24288         );
24289         assert_eq!(
24290             unsafe {
24291                 &(*(::std::ptr::null::<nsIDocument_SelectorCache_SelectorList>())).mIsServo
24292                     as *const _ as usize
24293             },
24294             0usize,
24295             concat!(
24296                 "Offset of field: ",
24297                 stringify!(nsIDocument_SelectorCache_SelectorList),
24298                 "::",
24299                 stringify!(mIsServo)
24300             )
24301         );
24302     }
24303     #[test]
bindgen_test_layout_nsIDocument_SelectorCache()24304     fn bindgen_test_layout_nsIDocument_SelectorCache() {
24305         assert_eq!(
24306             ::std::mem::size_of::<nsIDocument_SelectorCache>(),
24307             128usize,
24308             concat!("Size of: ", stringify!(nsIDocument_SelectorCache))
24309         );
24310         assert_eq!(
24311             ::std::mem::align_of::<nsIDocument_SelectorCache>(),
24312             8usize,
24313             concat!("Alignment of ", stringify!(nsIDocument_SelectorCache))
24314         );
24315     }
24316     impl Clone for nsIDocument_SelectorCache {
clone(&self) -> Self24317         fn clone(&self) -> Self {
24318             *self
24319         }
24320     }
24321     pub const nsIDocument_additionalSheetType_eAgentSheet: root::nsIDocument_additionalSheetType =
24322         0;
24323     pub const nsIDocument_additionalSheetType_eUserSheet: root::nsIDocument_additionalSheetType = 1;
24324     pub const nsIDocument_additionalSheetType_eAuthorSheet: root::nsIDocument_additionalSheetType =
24325         2;
24326     pub const nsIDocument_additionalSheetType_AdditionalSheetTypeCount:
24327         root::nsIDocument_additionalSheetType = 3;
24328     pub type nsIDocument_additionalSheetType = u32;
24329     pub const nsIDocument_ReadyState_READYSTATE_UNINITIALIZED: root::nsIDocument_ReadyState = 0;
24330     pub const nsIDocument_ReadyState_READYSTATE_LOADING: root::nsIDocument_ReadyState = 1;
24331     pub const nsIDocument_ReadyState_READYSTATE_INTERACTIVE: root::nsIDocument_ReadyState = 3;
24332     pub const nsIDocument_ReadyState_READYSTATE_COMPLETE: root::nsIDocument_ReadyState = 4;
24333     pub type nsIDocument_ReadyState = u32;
24334     /// Enumerate all subdocuments.
24335     /// The enumerator callback should return true to continue enumerating, or
24336     /// false to stop.  This will never get passed a null aDocument.
24337     pub type nsIDocument_nsSubDocEnumFunc = ::std::option::Option<
24338         unsafe extern "C" fn(aDocument: *mut root::nsIDocument, aData: *mut ::std::os::raw::c_void)
24339             -> bool,
24340     >;
24341     /// Collect all the descendant documents for which |aCalback| returns true.
24342     /// The callback function must not mutate any state for the given document.
24343     pub type nsIDocument_nsDocTestFunc =
24344         ::std::option::Option<unsafe extern "C" fn(aDocument: *const root::nsIDocument) -> bool>;
24345     /// A class that represents an external resource load that has begun but
24346     /// doesn't have a document yet.  Observers can be registered on this object,
24347     /// and will be notified after the document is created.  Observers registered
24348     /// after the document has been created will NOT be notified.  When observers
24349     /// are notified, the subject will be the newly-created document, the topic
24350     /// will be "external-resource-document-created", and the data will be null.
24351     /// If document creation fails for some reason, observers will still be
24352     /// notified, with a null document pointer.
24353     #[repr(C)]
24354     #[derive(Debug)]
24355     pub struct nsIDocument_ExternalResourceLoad {
24356         pub _base: root::nsISupports,
24357         pub mObservers: [u64; 10usize],
24358     }
24359     #[test]
bindgen_test_layout_nsIDocument_ExternalResourceLoad()24360     fn bindgen_test_layout_nsIDocument_ExternalResourceLoad() {
24361         assert_eq!(
24362             ::std::mem::size_of::<nsIDocument_ExternalResourceLoad>(),
24363             88usize,
24364             concat!("Size of: ", stringify!(nsIDocument_ExternalResourceLoad))
24365         );
24366         assert_eq!(
24367             ::std::mem::align_of::<nsIDocument_ExternalResourceLoad>(),
24368             8usize,
24369             concat!(
24370                 "Alignment of ",
24371                 stringify!(nsIDocument_ExternalResourceLoad)
24372             )
24373         );
24374         assert_eq!(
24375             unsafe {
24376                 &(*(::std::ptr::null::<nsIDocument_ExternalResourceLoad>())).mObservers as *const _
24377                     as usize
24378             },
24379             8usize,
24380             concat!(
24381                 "Offset of field: ",
24382                 stringify!(nsIDocument_ExternalResourceLoad),
24383                 "::",
24384                 stringify!(mObservers)
24385             )
24386         );
24387     }
24388     pub type nsIDocument_ActivityObserverEnumerator = ::std::option::Option<
24389         unsafe extern "C" fn(arg1: *mut root::nsISupports, arg2: *mut ::std::os::raw::c_void),
24390     >;
24391     #[repr(u32)]
24392     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
24393     pub enum nsIDocument_DocumentTheme {
24394         Doc_Theme_Uninitialized = 0,
24395         Doc_Theme_None = 1,
24396         Doc_Theme_Neutral = 2,
24397         Doc_Theme_Dark = 3,
24398         Doc_Theme_Bright = 4,
24399     }
24400     pub type nsIDocument_FrameRequestCallbackList =
24401         root::nsTArray<root::RefPtr<root::mozilla::dom::FrameRequestCallback>>;
24402     pub const nsIDocument_DeprecatedOperations_eEnablePrivilege:
24403         root::nsIDocument_DeprecatedOperations = 0;
24404     pub const nsIDocument_DeprecatedOperations_eDOMExceptionCode:
24405         root::nsIDocument_DeprecatedOperations = 1;
24406     pub const nsIDocument_DeprecatedOperations_eMutationEvent:
24407         root::nsIDocument_DeprecatedOperations = 2;
24408     pub const nsIDocument_DeprecatedOperations_eComponents: root::nsIDocument_DeprecatedOperations =
24409         3;
24410     pub const nsIDocument_DeprecatedOperations_ePrefixedVisibilityAPI:
24411         root::nsIDocument_DeprecatedOperations = 4;
24412     pub const nsIDocument_DeprecatedOperations_eNodeIteratorDetach:
24413         root::nsIDocument_DeprecatedOperations = 5;
24414     pub const nsIDocument_DeprecatedOperations_eLenientThis:
24415         root::nsIDocument_DeprecatedOperations = 6;
24416     pub const nsIDocument_DeprecatedOperations_eGetSetUserData:
24417         root::nsIDocument_DeprecatedOperations = 7;
24418     pub const nsIDocument_DeprecatedOperations_eMozGetAsFile:
24419         root::nsIDocument_DeprecatedOperations = 8;
24420     pub const nsIDocument_DeprecatedOperations_eUseOfCaptureEvents:
24421         root::nsIDocument_DeprecatedOperations = 9;
24422     pub const nsIDocument_DeprecatedOperations_eUseOfReleaseEvents:
24423         root::nsIDocument_DeprecatedOperations = 10;
24424     pub const nsIDocument_DeprecatedOperations_eUseOfDOM3LoadMethod:
24425         root::nsIDocument_DeprecatedOperations = 11;
24426     pub const nsIDocument_DeprecatedOperations_eChromeUseOfDOM3LoadMethod:
24427         root::nsIDocument_DeprecatedOperations = 12;
24428     pub const nsIDocument_DeprecatedOperations_eShowModalDialog:
24429         root::nsIDocument_DeprecatedOperations = 13;
24430     pub const nsIDocument_DeprecatedOperations_eSyncXMLHttpRequest:
24431         root::nsIDocument_DeprecatedOperations = 14;
24432     pub const nsIDocument_DeprecatedOperations_eWindow_Cc_ontrollers:
24433         root::nsIDocument_DeprecatedOperations = 15;
24434     pub const nsIDocument_DeprecatedOperations_eImportXULIntoContent:
24435         root::nsIDocument_DeprecatedOperations = 16;
24436     pub const nsIDocument_DeprecatedOperations_ePannerNodeDoppler:
24437         root::nsIDocument_DeprecatedOperations = 17;
24438     pub const nsIDocument_DeprecatedOperations_eNavigatorGetUserMedia:
24439         root::nsIDocument_DeprecatedOperations = 18;
24440     pub const nsIDocument_DeprecatedOperations_eWebrtcDeprecatedPrefix:
24441         root::nsIDocument_DeprecatedOperations = 19;
24442     pub const nsIDocument_DeprecatedOperations_eRTCPeerConnectionGetStreams:
24443         root::nsIDocument_DeprecatedOperations = 20;
24444     pub const nsIDocument_DeprecatedOperations_eAppCache: root::nsIDocument_DeprecatedOperations =
24445         21;
24446     pub const nsIDocument_DeprecatedOperations_eAppCacheInsecure:
24447         root::nsIDocument_DeprecatedOperations = 22;
24448     pub const nsIDocument_DeprecatedOperations_ePrefixedImageSmoothingEnabled:
24449         root::nsIDocument_DeprecatedOperations = 23;
24450     pub const nsIDocument_DeprecatedOperations_ePrefixedFullscreenAPI:
24451         root::nsIDocument_DeprecatedOperations = 24;
24452     pub const nsIDocument_DeprecatedOperations_eLenientSetter:
24453         root::nsIDocument_DeprecatedOperations = 25;
24454     pub const nsIDocument_DeprecatedOperations_eFileLastModifiedDate:
24455         root::nsIDocument_DeprecatedOperations = 26;
24456     pub const nsIDocument_DeprecatedOperations_eImageBitmapRenderingContext_TransferImageBitmap:
24457         root::nsIDocument_DeprecatedOperations = 27;
24458     pub const nsIDocument_DeprecatedOperations_eURLCreateObjectURL_MediaStream:
24459         root::nsIDocument_DeprecatedOperations = 28;
24460     pub const nsIDocument_DeprecatedOperations_eXMLBaseAttribute:
24461         root::nsIDocument_DeprecatedOperations = 29;
24462     pub const nsIDocument_DeprecatedOperations_eWindowContentUntrusted:
24463         root::nsIDocument_DeprecatedOperations = 30;
24464     pub const nsIDocument_DeprecatedOperations_eRegisterProtocolHandlerInsecure:
24465         root::nsIDocument_DeprecatedOperations = 31;
24466     pub const nsIDocument_DeprecatedOperations_eMixedDisplayObjectSubrequest:
24467         root::nsIDocument_DeprecatedOperations = 32;
24468     pub const nsIDocument_DeprecatedOperations_eMotionEvent:
24469         root::nsIDocument_DeprecatedOperations = 33;
24470     pub const nsIDocument_DeprecatedOperations_eOrientationEvent:
24471         root::nsIDocument_DeprecatedOperations = 34;
24472     pub const nsIDocument_DeprecatedOperations_eProximityEvent:
24473         root::nsIDocument_DeprecatedOperations = 35;
24474     pub const nsIDocument_DeprecatedOperations_eAmbientLightEvent:
24475         root::nsIDocument_DeprecatedOperations = 36;
24476     pub const nsIDocument_DeprecatedOperations_eDeprecatedOperationCount:
24477         root::nsIDocument_DeprecatedOperations = 37;
24478     pub type nsIDocument_DeprecatedOperations = u32;
24479     pub const nsIDocument_DocumentWarnings_eIgnoringWillChangeOverBudget:
24480         root::nsIDocument_DocumentWarnings = 0;
24481     pub const nsIDocument_DocumentWarnings_ePreventDefaultFromPassiveListener:
24482         root::nsIDocument_DocumentWarnings = 1;
24483     pub const nsIDocument_DocumentWarnings_eSVGRefLoop: root::nsIDocument_DocumentWarnings = 2;
24484     pub const nsIDocument_DocumentWarnings_eSVGRefChainLengthExceeded:
24485         root::nsIDocument_DocumentWarnings = 3;
24486     pub const nsIDocument_DocumentWarnings_eDocumentWarningCount:
24487         root::nsIDocument_DocumentWarnings = 4;
24488     pub type nsIDocument_DocumentWarnings = u32;
24489     pub const nsIDocument_ElementCallbackType_eConnected: root::nsIDocument_ElementCallbackType = 0;
24490     pub const nsIDocument_ElementCallbackType_eDisconnected: root::nsIDocument_ElementCallbackType =
24491         1;
24492     pub const nsIDocument_ElementCallbackType_eAdopted: root::nsIDocument_ElementCallbackType = 2;
24493     pub const nsIDocument_ElementCallbackType_eAttributeChanged:
24494         root::nsIDocument_ElementCallbackType = 3;
24495     pub type nsIDocument_ElementCallbackType = u32;
24496     pub type nsIDocument_LinksToUpdateList = [u64; 3usize];
24497     pub const nsIDocument_eScopedStyle_Unknown: root::nsIDocument__bindgen_ty_1 = 0;
24498     pub const nsIDocument_eScopedStyle_Disabled: root::nsIDocument__bindgen_ty_1 = 1;
24499     pub const nsIDocument_eScopedStyle_Enabled: root::nsIDocument__bindgen_ty_1 = 2;
24500     pub type nsIDocument__bindgen_ty_1 = u32;
24501     #[repr(u32)]
24502     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
24503     pub enum nsIDocument_Type {
24504         eUnknown = 0,
24505         eHTML = 1,
24506         eXHTML = 2,
24507         eGenericXML = 3,
24508         eSVG = 4,
24509         eXUL = 5,
24510     }
24511     pub const nsIDocument_Tri_eTriUnset: root::nsIDocument_Tri = 0;
24512     pub const nsIDocument_Tri_eTriFalse: root::nsIDocument_Tri = 1;
24513     pub const nsIDocument_Tri_eTriTrue: root::nsIDocument_Tri = 2;
24514     pub type nsIDocument_Tri = u32;
24515     #[repr(C)]
24516     #[derive(Debug, Copy)]
24517     pub struct nsIDocument_FrameRequest {
24518         _unused: [u8; 0],
24519     }
24520     impl Clone for nsIDocument_FrameRequest {
clone(&self) -> Self24521         fn clone(&self) -> Self {
24522             *self
24523         }
24524     }
24525     pub const nsIDocument_kSegmentSize: usize = 128;
24526     #[test]
bindgen_test_layout_nsIDocument()24527     fn bindgen_test_layout_nsIDocument() {
24528         assert_eq!(
24529             ::std::mem::size_of::<nsIDocument>(),
24530             928usize,
24531             concat!("Size of: ", stringify!(nsIDocument))
24532         );
24533         assert_eq!(
24534             ::std::mem::align_of::<nsIDocument>(),
24535             8usize,
24536             concat!("Alignment of ", stringify!(nsIDocument))
24537         );
24538     }
24539     impl nsIDocument {
24540         #[inline]
mBidiEnabled(&self) -> bool24541         pub fn mBidiEnabled(&self) -> bool {
24542             unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
24543         }
24544         #[inline]
set_mBidiEnabled(&mut self, val: bool)24545         pub fn set_mBidiEnabled(&mut self, val: bool) {
24546             unsafe {
24547                 let val: u8 = ::std::mem::transmute(val);
24548                 self._bitfield_1.set(0usize, 1u8, val as u64)
24549             }
24550         }
24551         #[inline]
mMathMLEnabled(&self) -> bool24552         pub fn mMathMLEnabled(&self) -> bool {
24553             unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
24554         }
24555         #[inline]
set_mMathMLEnabled(&mut self, val: bool)24556         pub fn set_mMathMLEnabled(&mut self, val: bool) {
24557             unsafe {
24558                 let val: u8 = ::std::mem::transmute(val);
24559                 self._bitfield_1.set(1usize, 1u8, val as u64)
24560             }
24561         }
24562         #[inline]
mIsInitialDocumentInWindow(&self) -> bool24563         pub fn mIsInitialDocumentInWindow(&self) -> bool {
24564             unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
24565         }
24566         #[inline]
set_mIsInitialDocumentInWindow(&mut self, val: bool)24567         pub fn set_mIsInitialDocumentInWindow(&mut self, val: bool) {
24568             unsafe {
24569                 let val: u8 = ::std::mem::transmute(val);
24570                 self._bitfield_1.set(2usize, 1u8, val as u64)
24571             }
24572         }
24573         #[inline]
mIgnoreDocGroupMismatches(&self) -> bool24574         pub fn mIgnoreDocGroupMismatches(&self) -> bool {
24575             unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
24576         }
24577         #[inline]
set_mIgnoreDocGroupMismatches(&mut self, val: bool)24578         pub fn set_mIgnoreDocGroupMismatches(&mut self, val: bool) {
24579             unsafe {
24580                 let val: u8 = ::std::mem::transmute(val);
24581                 self._bitfield_1.set(3usize, 1u8, val as u64)
24582             }
24583         }
24584         #[inline]
mLoadedAsData(&self) -> bool24585         pub fn mLoadedAsData(&self) -> bool {
24586             unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
24587         }
24588         #[inline]
set_mLoadedAsData(&mut self, val: bool)24589         pub fn set_mLoadedAsData(&mut self, val: bool) {
24590             unsafe {
24591                 let val: u8 = ::std::mem::transmute(val);
24592                 self._bitfield_1.set(4usize, 1u8, val as u64)
24593             }
24594         }
24595         #[inline]
mLoadedAsInteractiveData(&self) -> bool24596         pub fn mLoadedAsInteractiveData(&self) -> bool {
24597             unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) }
24598         }
24599         #[inline]
set_mLoadedAsInteractiveData(&mut self, val: bool)24600         pub fn set_mLoadedAsInteractiveData(&mut self, val: bool) {
24601             unsafe {
24602                 let val: u8 = ::std::mem::transmute(val);
24603                 self._bitfield_1.set(5usize, 1u8, val as u64)
24604             }
24605         }
24606         #[inline]
mMayStartLayout(&self) -> bool24607         pub fn mMayStartLayout(&self) -> bool {
24608             unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) }
24609         }
24610         #[inline]
set_mMayStartLayout(&mut self, val: bool)24611         pub fn set_mMayStartLayout(&mut self, val: bool) {
24612             unsafe {
24613                 let val: u8 = ::std::mem::transmute(val);
24614                 self._bitfield_1.set(6usize, 1u8, val as u64)
24615             }
24616         }
24617         #[inline]
mHaveFiredTitleChange(&self) -> bool24618         pub fn mHaveFiredTitleChange(&self) -> bool {
24619             unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
24620         }
24621         #[inline]
set_mHaveFiredTitleChange(&mut self, val: bool)24622         pub fn set_mHaveFiredTitleChange(&mut self, val: bool) {
24623             unsafe {
24624                 let val: u8 = ::std::mem::transmute(val);
24625                 self._bitfield_1.set(7usize, 1u8, val as u64)
24626             }
24627         }
24628         #[inline]
mIsShowing(&self) -> bool24629         pub fn mIsShowing(&self) -> bool {
24630             unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
24631         }
24632         #[inline]
set_mIsShowing(&mut self, val: bool)24633         pub fn set_mIsShowing(&mut self, val: bool) {
24634             unsafe {
24635                 let val: u8 = ::std::mem::transmute(val);
24636                 self._bitfield_1.set(8usize, 1u8, val as u64)
24637             }
24638         }
24639         #[inline]
mVisible(&self) -> bool24640         pub fn mVisible(&self) -> bool {
24641             unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) }
24642         }
24643         #[inline]
set_mVisible(&mut self, val: bool)24644         pub fn set_mVisible(&mut self, val: bool) {
24645             unsafe {
24646                 let val: u8 = ::std::mem::transmute(val);
24647                 self._bitfield_1.set(9usize, 1u8, val as u64)
24648             }
24649         }
24650         #[inline]
mHasReferrerPolicyCSP(&self) -> bool24651         pub fn mHasReferrerPolicyCSP(&self) -> bool {
24652             unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u8) }
24653         }
24654         #[inline]
set_mHasReferrerPolicyCSP(&mut self, val: bool)24655         pub fn set_mHasReferrerPolicyCSP(&mut self, val: bool) {
24656             unsafe {
24657                 let val: u8 = ::std::mem::transmute(val);
24658                 self._bitfield_1.set(10usize, 1u8, val as u64)
24659             }
24660         }
24661         #[inline]
mRemovedFromDocShell(&self) -> bool24662         pub fn mRemovedFromDocShell(&self) -> bool {
24663             unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u8) }
24664         }
24665         #[inline]
set_mRemovedFromDocShell(&mut self, val: bool)24666         pub fn set_mRemovedFromDocShell(&mut self, val: bool) {
24667             unsafe {
24668                 let val: u8 = ::std::mem::transmute(val);
24669                 self._bitfield_1.set(11usize, 1u8, val as u64)
24670             }
24671         }
24672         #[inline]
mAllowDNSPrefetch(&self) -> bool24673         pub fn mAllowDNSPrefetch(&self) -> bool {
24674             unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u8) }
24675         }
24676         #[inline]
set_mAllowDNSPrefetch(&mut self, val: bool)24677         pub fn set_mAllowDNSPrefetch(&mut self, val: bool) {
24678             unsafe {
24679                 let val: u8 = ::std::mem::transmute(val);
24680                 self._bitfield_1.set(12usize, 1u8, val as u64)
24681             }
24682         }
24683         #[inline]
mIsStaticDocument(&self) -> bool24684         pub fn mIsStaticDocument(&self) -> bool {
24685             unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u8) }
24686         }
24687         #[inline]
set_mIsStaticDocument(&mut self, val: bool)24688         pub fn set_mIsStaticDocument(&mut self, val: bool) {
24689             unsafe {
24690                 let val: u8 = ::std::mem::transmute(val);
24691                 self._bitfield_1.set(13usize, 1u8, val as u64)
24692             }
24693         }
24694         #[inline]
mCreatingStaticClone(&self) -> bool24695         pub fn mCreatingStaticClone(&self) -> bool {
24696             unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u8) }
24697         }
24698         #[inline]
set_mCreatingStaticClone(&mut self, val: bool)24699         pub fn set_mCreatingStaticClone(&mut self, val: bool) {
24700             unsafe {
24701                 let val: u8 = ::std::mem::transmute(val);
24702                 self._bitfield_1.set(14usize, 1u8, val as u64)
24703             }
24704         }
24705         #[inline]
mInUnlinkOrDeletion(&self) -> bool24706         pub fn mInUnlinkOrDeletion(&self) -> bool {
24707             unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u8) }
24708         }
24709         #[inline]
set_mInUnlinkOrDeletion(&mut self, val: bool)24710         pub fn set_mInUnlinkOrDeletion(&mut self, val: bool) {
24711             unsafe {
24712                 let val: u8 = ::std::mem::transmute(val);
24713                 self._bitfield_1.set(15usize, 1u8, val as u64)
24714             }
24715         }
24716         #[inline]
mHasHadScriptHandlingObject(&self) -> bool24717         pub fn mHasHadScriptHandlingObject(&self) -> bool {
24718             unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u8) }
24719         }
24720         #[inline]
set_mHasHadScriptHandlingObject(&mut self, val: bool)24721         pub fn set_mHasHadScriptHandlingObject(&mut self, val: bool) {
24722             unsafe {
24723                 let val: u8 = ::std::mem::transmute(val);
24724                 self._bitfield_1.set(16usize, 1u8, val as u64)
24725             }
24726         }
24727         #[inline]
mIsBeingUsedAsImage(&self) -> bool24728         pub fn mIsBeingUsedAsImage(&self) -> bool {
24729             unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u8) }
24730         }
24731         #[inline]
set_mIsBeingUsedAsImage(&mut self, val: bool)24732         pub fn set_mIsBeingUsedAsImage(&mut self, val: bool) {
24733             unsafe {
24734                 let val: u8 = ::std::mem::transmute(val);
24735                 self._bitfield_1.set(17usize, 1u8, val as u64)
24736             }
24737         }
24738         #[inline]
mIsSyntheticDocument(&self) -> bool24739         pub fn mIsSyntheticDocument(&self) -> bool {
24740             unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u8) }
24741         }
24742         #[inline]
set_mIsSyntheticDocument(&mut self, val: bool)24743         pub fn set_mIsSyntheticDocument(&mut self, val: bool) {
24744             unsafe {
24745                 let val: u8 = ::std::mem::transmute(val);
24746                 self._bitfield_1.set(18usize, 1u8, val as u64)
24747             }
24748         }
24749         #[inline]
mHasLinksToUpdateRunnable(&self) -> bool24750         pub fn mHasLinksToUpdateRunnable(&self) -> bool {
24751             unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u8) }
24752         }
24753         #[inline]
set_mHasLinksToUpdateRunnable(&mut self, val: bool)24754         pub fn set_mHasLinksToUpdateRunnable(&mut self, val: bool) {
24755             unsafe {
24756                 let val: u8 = ::std::mem::transmute(val);
24757                 self._bitfield_1.set(19usize, 1u8, val as u64)
24758             }
24759         }
24760         #[inline]
mFlushingPendingLinkUpdates(&self) -> bool24761         pub fn mFlushingPendingLinkUpdates(&self) -> bool {
24762             unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u8) }
24763         }
24764         #[inline]
set_mFlushingPendingLinkUpdates(&mut self, val: bool)24765         pub fn set_mFlushingPendingLinkUpdates(&mut self, val: bool) {
24766             unsafe {
24767                 let val: u8 = ::std::mem::transmute(val);
24768                 self._bitfield_1.set(20usize, 1u8, val as u64)
24769             }
24770         }
24771         #[inline]
mMayHaveDOMMutationObservers(&self) -> bool24772         pub fn mMayHaveDOMMutationObservers(&self) -> bool {
24773             unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u8) }
24774         }
24775         #[inline]
set_mMayHaveDOMMutationObservers(&mut self, val: bool)24776         pub fn set_mMayHaveDOMMutationObservers(&mut self, val: bool) {
24777             unsafe {
24778                 let val: u8 = ::std::mem::transmute(val);
24779                 self._bitfield_1.set(21usize, 1u8, val as u64)
24780             }
24781         }
24782         #[inline]
mMayHaveAnimationObservers(&self) -> bool24783         pub fn mMayHaveAnimationObservers(&self) -> bool {
24784             unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u8) }
24785         }
24786         #[inline]
set_mMayHaveAnimationObservers(&mut self, val: bool)24787         pub fn set_mMayHaveAnimationObservers(&mut self, val: bool) {
24788             unsafe {
24789                 let val: u8 = ::std::mem::transmute(val);
24790                 self._bitfield_1.set(22usize, 1u8, val as u64)
24791             }
24792         }
24793         #[inline]
mHasMixedActiveContentLoaded(&self) -> bool24794         pub fn mHasMixedActiveContentLoaded(&self) -> bool {
24795             unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u8) }
24796         }
24797         #[inline]
set_mHasMixedActiveContentLoaded(&mut self, val: bool)24798         pub fn set_mHasMixedActiveContentLoaded(&mut self, val: bool) {
24799             unsafe {
24800                 let val: u8 = ::std::mem::transmute(val);
24801                 self._bitfield_1.set(23usize, 1u8, val as u64)
24802             }
24803         }
24804         #[inline]
mHasMixedActiveContentBlocked(&self) -> bool24805         pub fn mHasMixedActiveContentBlocked(&self) -> bool {
24806             unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u8) }
24807         }
24808         #[inline]
set_mHasMixedActiveContentBlocked(&mut self, val: bool)24809         pub fn set_mHasMixedActiveContentBlocked(&mut self, val: bool) {
24810             unsafe {
24811                 let val: u8 = ::std::mem::transmute(val);
24812                 self._bitfield_1.set(24usize, 1u8, val as u64)
24813             }
24814         }
24815         #[inline]
mHasMixedDisplayContentLoaded(&self) -> bool24816         pub fn mHasMixedDisplayContentLoaded(&self) -> bool {
24817             unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u8) }
24818         }
24819         #[inline]
set_mHasMixedDisplayContentLoaded(&mut self, val: bool)24820         pub fn set_mHasMixedDisplayContentLoaded(&mut self, val: bool) {
24821             unsafe {
24822                 let val: u8 = ::std::mem::transmute(val);
24823                 self._bitfield_1.set(25usize, 1u8, val as u64)
24824             }
24825         }
24826         #[inline]
mHasMixedDisplayContentBlocked(&self) -> bool24827         pub fn mHasMixedDisplayContentBlocked(&self) -> bool {
24828             unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u8) }
24829         }
24830         #[inline]
set_mHasMixedDisplayContentBlocked(&mut self, val: bool)24831         pub fn set_mHasMixedDisplayContentBlocked(&mut self, val: bool) {
24832             unsafe {
24833                 let val: u8 = ::std::mem::transmute(val);
24834                 self._bitfield_1.set(26usize, 1u8, val as u64)
24835             }
24836         }
24837         #[inline]
mHasMixedContentObjectSubrequest(&self) -> bool24838         pub fn mHasMixedContentObjectSubrequest(&self) -> bool {
24839             unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u8) }
24840         }
24841         #[inline]
set_mHasMixedContentObjectSubrequest(&mut self, val: bool)24842         pub fn set_mHasMixedContentObjectSubrequest(&mut self, val: bool) {
24843             unsafe {
24844                 let val: u8 = ::std::mem::transmute(val);
24845                 self._bitfield_1.set(27usize, 1u8, val as u64)
24846             }
24847         }
24848         #[inline]
mHasCSP(&self) -> bool24849         pub fn mHasCSP(&self) -> bool {
24850             unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u8) }
24851         }
24852         #[inline]
set_mHasCSP(&mut self, val: bool)24853         pub fn set_mHasCSP(&mut self, val: bool) {
24854             unsafe {
24855                 let val: u8 = ::std::mem::transmute(val);
24856                 self._bitfield_1.set(28usize, 1u8, val as u64)
24857             }
24858         }
24859         #[inline]
mHasUnsafeEvalCSP(&self) -> bool24860         pub fn mHasUnsafeEvalCSP(&self) -> bool {
24861             unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u8) }
24862         }
24863         #[inline]
set_mHasUnsafeEvalCSP(&mut self, val: bool)24864         pub fn set_mHasUnsafeEvalCSP(&mut self, val: bool) {
24865             unsafe {
24866                 let val: u8 = ::std::mem::transmute(val);
24867                 self._bitfield_1.set(29usize, 1u8, val as u64)
24868             }
24869         }
24870         #[inline]
mHasUnsafeInlineCSP(&self) -> bool24871         pub fn mHasUnsafeInlineCSP(&self) -> bool {
24872             unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u8) }
24873         }
24874         #[inline]
set_mHasUnsafeInlineCSP(&mut self, val: bool)24875         pub fn set_mHasUnsafeInlineCSP(&mut self, val: bool) {
24876             unsafe {
24877                 let val: u8 = ::std::mem::transmute(val);
24878                 self._bitfield_1.set(30usize, 1u8, val as u64)
24879             }
24880         }
24881         #[inline]
mHasTrackingContentBlocked(&self) -> bool24882         pub fn mHasTrackingContentBlocked(&self) -> bool {
24883             unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u8) }
24884         }
24885         #[inline]
set_mHasTrackingContentBlocked(&mut self, val: bool)24886         pub fn set_mHasTrackingContentBlocked(&mut self, val: bool) {
24887             unsafe {
24888                 let val: u8 = ::std::mem::transmute(val);
24889                 self._bitfield_1.set(31usize, 1u8, val as u64)
24890             }
24891         }
24892         #[inline]
mHasTrackingContentLoaded(&self) -> bool24893         pub fn mHasTrackingContentLoaded(&self) -> bool {
24894             unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u8) }
24895         }
24896         #[inline]
set_mHasTrackingContentLoaded(&mut self, val: bool)24897         pub fn set_mHasTrackingContentLoaded(&mut self, val: bool) {
24898             unsafe {
24899                 let val: u8 = ::std::mem::transmute(val);
24900                 self._bitfield_1.set(32usize, 1u8, val as u64)
24901             }
24902         }
24903         #[inline]
mBFCacheDisallowed(&self) -> bool24904         pub fn mBFCacheDisallowed(&self) -> bool {
24905             unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u8) }
24906         }
24907         #[inline]
set_mBFCacheDisallowed(&mut self, val: bool)24908         pub fn set_mBFCacheDisallowed(&mut self, val: bool) {
24909             unsafe {
24910                 let val: u8 = ::std::mem::transmute(val);
24911                 self._bitfield_1.set(33usize, 1u8, val as u64)
24912             }
24913         }
24914         #[inline]
mHasHadDefaultView(&self) -> bool24915         pub fn mHasHadDefaultView(&self) -> bool {
24916             unsafe { ::std::mem::transmute(self._bitfield_1.get(34usize, 1u8) as u8) }
24917         }
24918         #[inline]
set_mHasHadDefaultView(&mut self, val: bool)24919         pub fn set_mHasHadDefaultView(&mut self, val: bool) {
24920             unsafe {
24921                 let val: u8 = ::std::mem::transmute(val);
24922                 self._bitfield_1.set(34usize, 1u8, val as u64)
24923             }
24924         }
24925         #[inline]
mStyleSheetChangeEventsEnabled(&self) -> bool24926         pub fn mStyleSheetChangeEventsEnabled(&self) -> bool {
24927             unsafe { ::std::mem::transmute(self._bitfield_1.get(35usize, 1u8) as u8) }
24928         }
24929         #[inline]
set_mStyleSheetChangeEventsEnabled(&mut self, val: bool)24930         pub fn set_mStyleSheetChangeEventsEnabled(&mut self, val: bool) {
24931             unsafe {
24932                 let val: u8 = ::std::mem::transmute(val);
24933                 self._bitfield_1.set(35usize, 1u8, val as u64)
24934             }
24935         }
24936         #[inline]
mIsSrcdocDocument(&self) -> bool24937         pub fn mIsSrcdocDocument(&self) -> bool {
24938             unsafe { ::std::mem::transmute(self._bitfield_1.get(36usize, 1u8) as u8) }
24939         }
24940         #[inline]
set_mIsSrcdocDocument(&mut self, val: bool)24941         pub fn set_mIsSrcdocDocument(&mut self, val: bool) {
24942             unsafe {
24943                 let val: u8 = ::std::mem::transmute(val);
24944                 self._bitfield_1.set(36usize, 1u8, val as u64)
24945             }
24946         }
24947         #[inline]
mDidDocumentOpen(&self) -> bool24948         pub fn mDidDocumentOpen(&self) -> bool {
24949             unsafe { ::std::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u8) }
24950         }
24951         #[inline]
set_mDidDocumentOpen(&mut self, val: bool)24952         pub fn set_mDidDocumentOpen(&mut self, val: bool) {
24953             unsafe {
24954                 let val: u8 = ::std::mem::transmute(val);
24955                 self._bitfield_1.set(37usize, 1u8, val as u64)
24956             }
24957         }
24958         #[inline]
mHasDisplayDocument(&self) -> bool24959         pub fn mHasDisplayDocument(&self) -> bool {
24960             unsafe { ::std::mem::transmute(self._bitfield_1.get(38usize, 1u8) as u8) }
24961         }
24962         #[inline]
set_mHasDisplayDocument(&mut self, val: bool)24963         pub fn set_mHasDisplayDocument(&mut self, val: bool) {
24964             unsafe {
24965                 let val: u8 = ::std::mem::transmute(val);
24966                 self._bitfield_1.set(38usize, 1u8, val as u64)
24967             }
24968         }
24969         #[inline]
mFontFaceSetDirty(&self) -> bool24970         pub fn mFontFaceSetDirty(&self) -> bool {
24971             unsafe { ::std::mem::transmute(self._bitfield_1.get(39usize, 1u8) as u8) }
24972         }
24973         #[inline]
set_mFontFaceSetDirty(&mut self, val: bool)24974         pub fn set_mFontFaceSetDirty(&mut self, val: bool) {
24975             unsafe {
24976                 let val: u8 = ::std::mem::transmute(val);
24977                 self._bitfield_1.set(39usize, 1u8, val as u64)
24978             }
24979         }
24980         #[inline]
mGetUserFontSetCalled(&self) -> bool24981         pub fn mGetUserFontSetCalled(&self) -> bool {
24982             unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 1u8) as u8) }
24983         }
24984         #[inline]
set_mGetUserFontSetCalled(&mut self, val: bool)24985         pub fn set_mGetUserFontSetCalled(&mut self, val: bool) {
24986             unsafe {
24987                 let val: u8 = ::std::mem::transmute(val);
24988                 self._bitfield_1.set(40usize, 1u8, val as u64)
24989             }
24990         }
24991         #[inline]
mDidFireDOMContentLoaded(&self) -> bool24992         pub fn mDidFireDOMContentLoaded(&self) -> bool {
24993             unsafe { ::std::mem::transmute(self._bitfield_1.get(41usize, 1u8) as u8) }
24994         }
24995         #[inline]
set_mDidFireDOMContentLoaded(&mut self, val: bool)24996         pub fn set_mDidFireDOMContentLoaded(&mut self, val: bool) {
24997             unsafe {
24998                 let val: u8 = ::std::mem::transmute(val);
24999                 self._bitfield_1.set(41usize, 1u8, val as u64)
25000             }
25001         }
25002         #[inline]
mHasScrollLinkedEffect(&self) -> bool25003         pub fn mHasScrollLinkedEffect(&self) -> bool {
25004             unsafe { ::std::mem::transmute(self._bitfield_1.get(42usize, 1u8) as u8) }
25005         }
25006         #[inline]
set_mHasScrollLinkedEffect(&mut self, val: bool)25007         pub fn set_mHasScrollLinkedEffect(&mut self, val: bool) {
25008             unsafe {
25009                 let val: u8 = ::std::mem::transmute(val);
25010                 self._bitfield_1.set(42usize, 1u8, val as u64)
25011             }
25012         }
25013         #[inline]
mFrameRequestCallbacksScheduled(&self) -> bool25014         pub fn mFrameRequestCallbacksScheduled(&self) -> bool {
25015             unsafe { ::std::mem::transmute(self._bitfield_1.get(43usize, 1u8) as u8) }
25016         }
25017         #[inline]
set_mFrameRequestCallbacksScheduled(&mut self, val: bool)25018         pub fn set_mFrameRequestCallbacksScheduled(&mut self, val: bool) {
25019             unsafe {
25020                 let val: u8 = ::std::mem::transmute(val);
25021                 self._bitfield_1.set(43usize, 1u8, val as u64)
25022             }
25023         }
25024         #[inline]
mIsTopLevelContentDocument(&self) -> bool25025         pub fn mIsTopLevelContentDocument(&self) -> bool {
25026             unsafe { ::std::mem::transmute(self._bitfield_1.get(44usize, 1u8) as u8) }
25027         }
25028         #[inline]
set_mIsTopLevelContentDocument(&mut self, val: bool)25029         pub fn set_mIsTopLevelContentDocument(&mut self, val: bool) {
25030             unsafe {
25031                 let val: u8 = ::std::mem::transmute(val);
25032                 self._bitfield_1.set(44usize, 1u8, val as u64)
25033             }
25034         }
25035         #[inline]
mIsContentDocument(&self) -> bool25036         pub fn mIsContentDocument(&self) -> bool {
25037             unsafe { ::std::mem::transmute(self._bitfield_1.get(45usize, 1u8) as u8) }
25038         }
25039         #[inline]
set_mIsContentDocument(&mut self, val: bool)25040         pub fn set_mIsContentDocument(&mut self, val: bool) {
25041             unsafe {
25042                 let val: u8 = ::std::mem::transmute(val);
25043                 self._bitfield_1.set(45usize, 1u8, val as u64)
25044             }
25045         }
25046         #[inline]
mDidCallBeginLoad(&self) -> bool25047         pub fn mDidCallBeginLoad(&self) -> bool {
25048             unsafe { ::std::mem::transmute(self._bitfield_1.get(46usize, 1u8) as u8) }
25049         }
25050         #[inline]
set_mDidCallBeginLoad(&mut self, val: bool)25051         pub fn set_mDidCallBeginLoad(&mut self, val: bool) {
25052             unsafe {
25053                 let val: u8 = ::std::mem::transmute(val);
25054                 self._bitfield_1.set(46usize, 1u8, val as u64)
25055             }
25056         }
25057         #[inline]
mBufferingCSPViolations(&self) -> bool25058         pub fn mBufferingCSPViolations(&self) -> bool {
25059             unsafe { ::std::mem::transmute(self._bitfield_1.get(47usize, 1u8) as u8) }
25060         }
25061         #[inline]
set_mBufferingCSPViolations(&mut self, val: bool)25062         pub fn set_mBufferingCSPViolations(&mut self, val: bool) {
25063             unsafe {
25064                 let val: u8 = ::std::mem::transmute(val);
25065                 self._bitfield_1.set(47usize, 1u8, val as u64)
25066             }
25067         }
25068         #[inline]
mAllowPaymentRequest(&self) -> bool25069         pub fn mAllowPaymentRequest(&self) -> bool {
25070             unsafe { ::std::mem::transmute(self._bitfield_1.get(48usize, 1u8) as u8) }
25071         }
25072         #[inline]
set_mAllowPaymentRequest(&mut self, val: bool)25073         pub fn set_mAllowPaymentRequest(&mut self, val: bool) {
25074             unsafe {
25075                 let val: u8 = ::std::mem::transmute(val);
25076                 self._bitfield_1.set(48usize, 1u8, val as u64)
25077             }
25078         }
25079         #[inline]
mEncodingMenuDisabled(&self) -> bool25080         pub fn mEncodingMenuDisabled(&self) -> bool {
25081             unsafe { ::std::mem::transmute(self._bitfield_1.get(49usize, 1u8) as u8) }
25082         }
25083         #[inline]
set_mEncodingMenuDisabled(&mut self, val: bool)25084         pub fn set_mEncodingMenuDisabled(&mut self, val: bool) {
25085             unsafe {
25086                 let val: u8 = ::std::mem::transmute(val);
25087                 self._bitfield_1.set(49usize, 1u8, val as u64)
25088             }
25089         }
25090         #[inline]
mIsShadowDOMEnabled(&self) -> bool25091         pub fn mIsShadowDOMEnabled(&self) -> bool {
25092             unsafe { ::std::mem::transmute(self._bitfield_1.get(50usize, 1u8) as u8) }
25093         }
25094         #[inline]
set_mIsShadowDOMEnabled(&mut self, val: bool)25095         pub fn set_mIsShadowDOMEnabled(&mut self, val: bool) {
25096             unsafe {
25097                 let val: u8 = ::std::mem::transmute(val);
25098                 self._bitfield_1.set(50usize, 1u8, val as u64)
25099             }
25100         }
25101         #[inline]
mIsSVGGlyphsDocument(&self) -> bool25102         pub fn mIsSVGGlyphsDocument(&self) -> bool {
25103             unsafe { ::std::mem::transmute(self._bitfield_1.get(51usize, 1u8) as u8) }
25104         }
25105         #[inline]
set_mIsSVGGlyphsDocument(&mut self, val: bool)25106         pub fn set_mIsSVGGlyphsDocument(&mut self, val: bool) {
25107             unsafe {
25108                 let val: u8 = ::std::mem::transmute(val);
25109                 self._bitfield_1.set(51usize, 1u8, val as u64)
25110             }
25111         }
25112         #[inline]
mAllowUnsafeHTML(&self) -> bool25113         pub fn mAllowUnsafeHTML(&self) -> bool {
25114             unsafe { ::std::mem::transmute(self._bitfield_1.get(52usize, 1u8) as u8) }
25115         }
25116         #[inline]
set_mAllowUnsafeHTML(&mut self, val: bool)25117         pub fn set_mAllowUnsafeHTML(&mut self, val: bool) {
25118             unsafe {
25119                 let val: u8 = ::std::mem::transmute(val);
25120                 self._bitfield_1.set(52usize, 1u8, val as u64)
25121             }
25122         }
25123         #[inline]
mIsScopedStyleEnabled(&self) -> ::std::os::raw::c_uint25124         pub fn mIsScopedStyleEnabled(&self) -> ::std::os::raw::c_uint {
25125             unsafe { ::std::mem::transmute(self._bitfield_1.get(53usize, 2u8) as u32) }
25126         }
25127         #[inline]
set_mIsScopedStyleEnabled(&mut self, val: ::std::os::raw::c_uint)25128         pub fn set_mIsScopedStyleEnabled(&mut self, val: ::std::os::raw::c_uint) {
25129             unsafe {
25130                 let val: u32 = ::std::mem::transmute(val);
25131                 self._bitfield_1.set(53usize, 2u8, val as u64)
25132             }
25133         }
25134         #[inline]
new_bitfield_1( mBidiEnabled: bool, mMathMLEnabled: bool, mIsInitialDocumentInWindow: bool, mIgnoreDocGroupMismatches: bool, mLoadedAsData: bool, mLoadedAsInteractiveData: bool, mMayStartLayout: bool, mHaveFiredTitleChange: bool, mIsShowing: bool, mVisible: bool, mHasReferrerPolicyCSP: bool, mRemovedFromDocShell: bool, mAllowDNSPrefetch: bool, mIsStaticDocument: bool, mCreatingStaticClone: bool, mInUnlinkOrDeletion: bool, mHasHadScriptHandlingObject: bool, mIsBeingUsedAsImage: bool, mIsSyntheticDocument: bool, mHasLinksToUpdateRunnable: bool, mFlushingPendingLinkUpdates: bool, mMayHaveDOMMutationObservers: bool, mMayHaveAnimationObservers: bool, mHasMixedActiveContentLoaded: bool, mHasMixedActiveContentBlocked: bool, mHasMixedDisplayContentLoaded: bool, mHasMixedDisplayContentBlocked: bool, mHasMixedContentObjectSubrequest: bool, mHasCSP: bool, mHasUnsafeEvalCSP: bool, mHasUnsafeInlineCSP: bool, mHasTrackingContentBlocked: bool, mHasTrackingContentLoaded: bool, mBFCacheDisallowed: bool, mHasHadDefaultView: bool, mStyleSheetChangeEventsEnabled: bool, mIsSrcdocDocument: bool, mDidDocumentOpen: bool, mHasDisplayDocument: bool, mFontFaceSetDirty: bool, mGetUserFontSetCalled: bool, mDidFireDOMContentLoaded: bool, mHasScrollLinkedEffect: bool, mFrameRequestCallbacksScheduled: bool, mIsTopLevelContentDocument: bool, mIsContentDocument: bool, mDidCallBeginLoad: bool, mBufferingCSPViolations: bool, mAllowPaymentRequest: bool, mEncodingMenuDisabled: bool, mIsShadowDOMEnabled: bool, mIsSVGGlyphsDocument: bool, mAllowUnsafeHTML: bool, mIsScopedStyleEnabled: ::std::os::raw::c_uint, ) -> root::__BindgenBitfieldUnit<[u8; 7usize], u8>25135         pub fn new_bitfield_1(
25136             mBidiEnabled: bool,
25137             mMathMLEnabled: bool,
25138             mIsInitialDocumentInWindow: bool,
25139             mIgnoreDocGroupMismatches: bool,
25140             mLoadedAsData: bool,
25141             mLoadedAsInteractiveData: bool,
25142             mMayStartLayout: bool,
25143             mHaveFiredTitleChange: bool,
25144             mIsShowing: bool,
25145             mVisible: bool,
25146             mHasReferrerPolicyCSP: bool,
25147             mRemovedFromDocShell: bool,
25148             mAllowDNSPrefetch: bool,
25149             mIsStaticDocument: bool,
25150             mCreatingStaticClone: bool,
25151             mInUnlinkOrDeletion: bool,
25152             mHasHadScriptHandlingObject: bool,
25153             mIsBeingUsedAsImage: bool,
25154             mIsSyntheticDocument: bool,
25155             mHasLinksToUpdateRunnable: bool,
25156             mFlushingPendingLinkUpdates: bool,
25157             mMayHaveDOMMutationObservers: bool,
25158             mMayHaveAnimationObservers: bool,
25159             mHasMixedActiveContentLoaded: bool,
25160             mHasMixedActiveContentBlocked: bool,
25161             mHasMixedDisplayContentLoaded: bool,
25162             mHasMixedDisplayContentBlocked: bool,
25163             mHasMixedContentObjectSubrequest: bool,
25164             mHasCSP: bool,
25165             mHasUnsafeEvalCSP: bool,
25166             mHasUnsafeInlineCSP: bool,
25167             mHasTrackingContentBlocked: bool,
25168             mHasTrackingContentLoaded: bool,
25169             mBFCacheDisallowed: bool,
25170             mHasHadDefaultView: bool,
25171             mStyleSheetChangeEventsEnabled: bool,
25172             mIsSrcdocDocument: bool,
25173             mDidDocumentOpen: bool,
25174             mHasDisplayDocument: bool,
25175             mFontFaceSetDirty: bool,
25176             mGetUserFontSetCalled: bool,
25177             mDidFireDOMContentLoaded: bool,
25178             mHasScrollLinkedEffect: bool,
25179             mFrameRequestCallbacksScheduled: bool,
25180             mIsTopLevelContentDocument: bool,
25181             mIsContentDocument: bool,
25182             mDidCallBeginLoad: bool,
25183             mBufferingCSPViolations: bool,
25184             mAllowPaymentRequest: bool,
25185             mEncodingMenuDisabled: bool,
25186             mIsShadowDOMEnabled: bool,
25187             mIsSVGGlyphsDocument: bool,
25188             mAllowUnsafeHTML: bool,
25189             mIsScopedStyleEnabled: ::std::os::raw::c_uint,
25190         ) -> root::__BindgenBitfieldUnit<[u8; 7usize], u8> {
25191             let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
25192                 [u8; 7usize],
25193                 u8,
25194             > = Default::default();
25195             __bindgen_bitfield_unit.set(0usize, 1u8, {
25196                 let mBidiEnabled: u8 = unsafe { ::std::mem::transmute(mBidiEnabled) };
25197                 mBidiEnabled as u64
25198             });
25199             __bindgen_bitfield_unit.set(1usize, 1u8, {
25200                 let mMathMLEnabled: u8 = unsafe { ::std::mem::transmute(mMathMLEnabled) };
25201                 mMathMLEnabled as u64
25202             });
25203             __bindgen_bitfield_unit.set(2usize, 1u8, {
25204                 let mIsInitialDocumentInWindow: u8 =
25205                     unsafe { ::std::mem::transmute(mIsInitialDocumentInWindow) };
25206                 mIsInitialDocumentInWindow as u64
25207             });
25208             __bindgen_bitfield_unit.set(3usize, 1u8, {
25209                 let mIgnoreDocGroupMismatches: u8 =
25210                     unsafe { ::std::mem::transmute(mIgnoreDocGroupMismatches) };
25211                 mIgnoreDocGroupMismatches as u64
25212             });
25213             __bindgen_bitfield_unit.set(4usize, 1u8, {
25214                 let mLoadedAsData: u8 = unsafe { ::std::mem::transmute(mLoadedAsData) };
25215                 mLoadedAsData as u64
25216             });
25217             __bindgen_bitfield_unit.set(5usize, 1u8, {
25218                 let mLoadedAsInteractiveData: u8 =
25219                     unsafe { ::std::mem::transmute(mLoadedAsInteractiveData) };
25220                 mLoadedAsInteractiveData as u64
25221             });
25222             __bindgen_bitfield_unit.set(6usize, 1u8, {
25223                 let mMayStartLayout: u8 = unsafe { ::std::mem::transmute(mMayStartLayout) };
25224                 mMayStartLayout as u64
25225             });
25226             __bindgen_bitfield_unit.set(7usize, 1u8, {
25227                 let mHaveFiredTitleChange: u8 =
25228                     unsafe { ::std::mem::transmute(mHaveFiredTitleChange) };
25229                 mHaveFiredTitleChange as u64
25230             });
25231             __bindgen_bitfield_unit.set(8usize, 1u8, {
25232                 let mIsShowing: u8 = unsafe { ::std::mem::transmute(mIsShowing) };
25233                 mIsShowing as u64
25234             });
25235             __bindgen_bitfield_unit.set(9usize, 1u8, {
25236                 let mVisible: u8 = unsafe { ::std::mem::transmute(mVisible) };
25237                 mVisible as u64
25238             });
25239             __bindgen_bitfield_unit.set(10usize, 1u8, {
25240                 let mHasReferrerPolicyCSP: u8 =
25241                     unsafe { ::std::mem::transmute(mHasReferrerPolicyCSP) };
25242                 mHasReferrerPolicyCSP as u64
25243             });
25244             __bindgen_bitfield_unit.set(11usize, 1u8, {
25245                 let mRemovedFromDocShell: u8 =
25246                     unsafe { ::std::mem::transmute(mRemovedFromDocShell) };
25247                 mRemovedFromDocShell as u64
25248             });
25249             __bindgen_bitfield_unit.set(12usize, 1u8, {
25250                 let mAllowDNSPrefetch: u8 = unsafe { ::std::mem::transmute(mAllowDNSPrefetch) };
25251                 mAllowDNSPrefetch as u64
25252             });
25253             __bindgen_bitfield_unit.set(13usize, 1u8, {
25254                 let mIsStaticDocument: u8 = unsafe { ::std::mem::transmute(mIsStaticDocument) };
25255                 mIsStaticDocument as u64
25256             });
25257             __bindgen_bitfield_unit.set(14usize, 1u8, {
25258                 let mCreatingStaticClone: u8 =
25259                     unsafe { ::std::mem::transmute(mCreatingStaticClone) };
25260                 mCreatingStaticClone as u64
25261             });
25262             __bindgen_bitfield_unit.set(15usize, 1u8, {
25263                 let mInUnlinkOrDeletion: u8 = unsafe { ::std::mem::transmute(mInUnlinkOrDeletion) };
25264                 mInUnlinkOrDeletion as u64
25265             });
25266             __bindgen_bitfield_unit.set(16usize, 1u8, {
25267                 let mHasHadScriptHandlingObject: u8 =
25268                     unsafe { ::std::mem::transmute(mHasHadScriptHandlingObject) };
25269                 mHasHadScriptHandlingObject as u64
25270             });
25271             __bindgen_bitfield_unit.set(17usize, 1u8, {
25272                 let mIsBeingUsedAsImage: u8 = unsafe { ::std::mem::transmute(mIsBeingUsedAsImage) };
25273                 mIsBeingUsedAsImage as u64
25274             });
25275             __bindgen_bitfield_unit.set(18usize, 1u8, {
25276                 let mIsSyntheticDocument: u8 =
25277                     unsafe { ::std::mem::transmute(mIsSyntheticDocument) };
25278                 mIsSyntheticDocument as u64
25279             });
25280             __bindgen_bitfield_unit.set(19usize, 1u8, {
25281                 let mHasLinksToUpdateRunnable: u8 =
25282                     unsafe { ::std::mem::transmute(mHasLinksToUpdateRunnable) };
25283                 mHasLinksToUpdateRunnable as u64
25284             });
25285             __bindgen_bitfield_unit.set(20usize, 1u8, {
25286                 let mFlushingPendingLinkUpdates: u8 =
25287                     unsafe { ::std::mem::transmute(mFlushingPendingLinkUpdates) };
25288                 mFlushingPendingLinkUpdates as u64
25289             });
25290             __bindgen_bitfield_unit.set(21usize, 1u8, {
25291                 let mMayHaveDOMMutationObservers: u8 =
25292                     unsafe { ::std::mem::transmute(mMayHaveDOMMutationObservers) };
25293                 mMayHaveDOMMutationObservers as u64
25294             });
25295             __bindgen_bitfield_unit.set(22usize, 1u8, {
25296                 let mMayHaveAnimationObservers: u8 =
25297                     unsafe { ::std::mem::transmute(mMayHaveAnimationObservers) };
25298                 mMayHaveAnimationObservers as u64
25299             });
25300             __bindgen_bitfield_unit.set(23usize, 1u8, {
25301                 let mHasMixedActiveContentLoaded: u8 =
25302                     unsafe { ::std::mem::transmute(mHasMixedActiveContentLoaded) };
25303                 mHasMixedActiveContentLoaded as u64
25304             });
25305             __bindgen_bitfield_unit.set(24usize, 1u8, {
25306                 let mHasMixedActiveContentBlocked: u8 =
25307                     unsafe { ::std::mem::transmute(mHasMixedActiveContentBlocked) };
25308                 mHasMixedActiveContentBlocked as u64
25309             });
25310             __bindgen_bitfield_unit.set(25usize, 1u8, {
25311                 let mHasMixedDisplayContentLoaded: u8 =
25312                     unsafe { ::std::mem::transmute(mHasMixedDisplayContentLoaded) };
25313                 mHasMixedDisplayContentLoaded as u64
25314             });
25315             __bindgen_bitfield_unit.set(26usize, 1u8, {
25316                 let mHasMixedDisplayContentBlocked: u8 =
25317                     unsafe { ::std::mem::transmute(mHasMixedDisplayContentBlocked) };
25318                 mHasMixedDisplayContentBlocked as u64
25319             });
25320             __bindgen_bitfield_unit.set(27usize, 1u8, {
25321                 let mHasMixedContentObjectSubrequest: u8 =
25322                     unsafe { ::std::mem::transmute(mHasMixedContentObjectSubrequest) };
25323                 mHasMixedContentObjectSubrequest as u64
25324             });
25325             __bindgen_bitfield_unit.set(28usize, 1u8, {
25326                 let mHasCSP: u8 = unsafe { ::std::mem::transmute(mHasCSP) };
25327                 mHasCSP as u64
25328             });
25329             __bindgen_bitfield_unit.set(29usize, 1u8, {
25330                 let mHasUnsafeEvalCSP: u8 = unsafe { ::std::mem::transmute(mHasUnsafeEvalCSP) };
25331                 mHasUnsafeEvalCSP as u64
25332             });
25333             __bindgen_bitfield_unit.set(30usize, 1u8, {
25334                 let mHasUnsafeInlineCSP: u8 = unsafe { ::std::mem::transmute(mHasUnsafeInlineCSP) };
25335                 mHasUnsafeInlineCSP as u64
25336             });
25337             __bindgen_bitfield_unit.set(31usize, 1u8, {
25338                 let mHasTrackingContentBlocked: u8 =
25339                     unsafe { ::std::mem::transmute(mHasTrackingContentBlocked) };
25340                 mHasTrackingContentBlocked as u64
25341             });
25342             __bindgen_bitfield_unit.set(32usize, 1u8, {
25343                 let mHasTrackingContentLoaded: u8 =
25344                     unsafe { ::std::mem::transmute(mHasTrackingContentLoaded) };
25345                 mHasTrackingContentLoaded as u64
25346             });
25347             __bindgen_bitfield_unit.set(33usize, 1u8, {
25348                 let mBFCacheDisallowed: u8 = unsafe { ::std::mem::transmute(mBFCacheDisallowed) };
25349                 mBFCacheDisallowed as u64
25350             });
25351             __bindgen_bitfield_unit.set(34usize, 1u8, {
25352                 let mHasHadDefaultView: u8 = unsafe { ::std::mem::transmute(mHasHadDefaultView) };
25353                 mHasHadDefaultView as u64
25354             });
25355             __bindgen_bitfield_unit.set(35usize, 1u8, {
25356                 let mStyleSheetChangeEventsEnabled: u8 =
25357                     unsafe { ::std::mem::transmute(mStyleSheetChangeEventsEnabled) };
25358                 mStyleSheetChangeEventsEnabled as u64
25359             });
25360             __bindgen_bitfield_unit.set(36usize, 1u8, {
25361                 let mIsSrcdocDocument: u8 = unsafe { ::std::mem::transmute(mIsSrcdocDocument) };
25362                 mIsSrcdocDocument as u64
25363             });
25364             __bindgen_bitfield_unit.set(37usize, 1u8, {
25365                 let mDidDocumentOpen: u8 = unsafe { ::std::mem::transmute(mDidDocumentOpen) };
25366                 mDidDocumentOpen as u64
25367             });
25368             __bindgen_bitfield_unit.set(38usize, 1u8, {
25369                 let mHasDisplayDocument: u8 = unsafe { ::std::mem::transmute(mHasDisplayDocument) };
25370                 mHasDisplayDocument as u64
25371             });
25372             __bindgen_bitfield_unit.set(39usize, 1u8, {
25373                 let mFontFaceSetDirty: u8 = unsafe { ::std::mem::transmute(mFontFaceSetDirty) };
25374                 mFontFaceSetDirty as u64
25375             });
25376             __bindgen_bitfield_unit.set(40usize, 1u8, {
25377                 let mGetUserFontSetCalled: u8 =
25378                     unsafe { ::std::mem::transmute(mGetUserFontSetCalled) };
25379                 mGetUserFontSetCalled as u64
25380             });
25381             __bindgen_bitfield_unit.set(41usize, 1u8, {
25382                 let mDidFireDOMContentLoaded: u8 =
25383                     unsafe { ::std::mem::transmute(mDidFireDOMContentLoaded) };
25384                 mDidFireDOMContentLoaded as u64
25385             });
25386             __bindgen_bitfield_unit.set(42usize, 1u8, {
25387                 let mHasScrollLinkedEffect: u8 =
25388                     unsafe { ::std::mem::transmute(mHasScrollLinkedEffect) };
25389                 mHasScrollLinkedEffect as u64
25390             });
25391             __bindgen_bitfield_unit.set(43usize, 1u8, {
25392                 let mFrameRequestCallbacksScheduled: u8 =
25393                     unsafe { ::std::mem::transmute(mFrameRequestCallbacksScheduled) };
25394                 mFrameRequestCallbacksScheduled as u64
25395             });
25396             __bindgen_bitfield_unit.set(44usize, 1u8, {
25397                 let mIsTopLevelContentDocument: u8 =
25398                     unsafe { ::std::mem::transmute(mIsTopLevelContentDocument) };
25399                 mIsTopLevelContentDocument as u64
25400             });
25401             __bindgen_bitfield_unit.set(45usize, 1u8, {
25402                 let mIsContentDocument: u8 = unsafe { ::std::mem::transmute(mIsContentDocument) };
25403                 mIsContentDocument as u64
25404             });
25405             __bindgen_bitfield_unit.set(46usize, 1u8, {
25406                 let mDidCallBeginLoad: u8 = unsafe { ::std::mem::transmute(mDidCallBeginLoad) };
25407                 mDidCallBeginLoad as u64
25408             });
25409             __bindgen_bitfield_unit.set(47usize, 1u8, {
25410                 let mBufferingCSPViolations: u8 =
25411                     unsafe { ::std::mem::transmute(mBufferingCSPViolations) };
25412                 mBufferingCSPViolations as u64
25413             });
25414             __bindgen_bitfield_unit.set(48usize, 1u8, {
25415                 let mAllowPaymentRequest: u8 =
25416                     unsafe { ::std::mem::transmute(mAllowPaymentRequest) };
25417                 mAllowPaymentRequest as u64
25418             });
25419             __bindgen_bitfield_unit.set(49usize, 1u8, {
25420                 let mEncodingMenuDisabled: u8 =
25421                     unsafe { ::std::mem::transmute(mEncodingMenuDisabled) };
25422                 mEncodingMenuDisabled as u64
25423             });
25424             __bindgen_bitfield_unit.set(50usize, 1u8, {
25425                 let mIsShadowDOMEnabled: u8 = unsafe { ::std::mem::transmute(mIsShadowDOMEnabled) };
25426                 mIsShadowDOMEnabled as u64
25427             });
25428             __bindgen_bitfield_unit.set(51usize, 1u8, {
25429                 let mIsSVGGlyphsDocument: u8 =
25430                     unsafe { ::std::mem::transmute(mIsSVGGlyphsDocument) };
25431                 mIsSVGGlyphsDocument as u64
25432             });
25433             __bindgen_bitfield_unit.set(52usize, 1u8, {
25434                 let mAllowUnsafeHTML: u8 = unsafe { ::std::mem::transmute(mAllowUnsafeHTML) };
25435                 mAllowUnsafeHTML as u64
25436             });
25437             __bindgen_bitfield_unit.set(53usize, 2u8, {
25438                 let mIsScopedStyleEnabled: u32 =
25439                     unsafe { ::std::mem::transmute(mIsScopedStyleEnabled) };
25440                 mIsScopedStyleEnabled as u64
25441             });
25442             __bindgen_bitfield_unit
25443         }
25444     }
25445     #[repr(C)]
25446     #[derive(Debug)]
25447     pub struct nsLanguageAtomService {
25448         pub mLangToGroup: [u64; 4usize],
25449         pub mLocaleLanguage: root::RefPtr<root::nsAtom>,
25450     }
25451     pub type nsLanguageAtomService_Encoding = root::mozilla::Encoding;
25452     pub type nsLanguageAtomService_NotNull<T> = root::mozilla::NotNull<T>;
25453     #[test]
bindgen_test_layout_nsLanguageAtomService()25454     fn bindgen_test_layout_nsLanguageAtomService() {
25455         assert_eq!(
25456             ::std::mem::size_of::<nsLanguageAtomService>(),
25457             40usize,
25458             concat!("Size of: ", stringify!(nsLanguageAtomService))
25459         );
25460         assert_eq!(
25461             ::std::mem::align_of::<nsLanguageAtomService>(),
25462             8usize,
25463             concat!("Alignment of ", stringify!(nsLanguageAtomService))
25464         );
25465         assert_eq!(
25466             unsafe {
25467                 &(*(::std::ptr::null::<nsLanguageAtomService>())).mLangToGroup as *const _ as usize
25468             },
25469             0usize,
25470             concat!(
25471                 "Offset of field: ",
25472                 stringify!(nsLanguageAtomService),
25473                 "::",
25474                 stringify!(mLangToGroup)
25475             )
25476         );
25477         assert_eq!(
25478             unsafe {
25479                 &(*(::std::ptr::null::<nsLanguageAtomService>())).mLocaleLanguage as *const _
25480                     as usize
25481             },
25482             32usize,
25483             concat!(
25484                 "Offset of field: ",
25485                 stringify!(nsLanguageAtomService),
25486                 "::",
25487                 stringify!(mLocaleLanguage)
25488             )
25489         );
25490     }
25491     #[repr(C)]
25492     #[derive(Debug, Copy)]
25493     pub struct nsIXPConnectJSObjectHolder {
25494         pub _base: root::nsISupports,
25495     }
25496     #[repr(C)]
25497     #[derive(Debug, Copy, Clone)]
25498     pub struct nsIXPConnectJSObjectHolder_COMTypeInfo {
25499         pub _address: u8,
25500     }
25501     #[test]
bindgen_test_layout_nsIXPConnectJSObjectHolder()25502     fn bindgen_test_layout_nsIXPConnectJSObjectHolder() {
25503         assert_eq!(
25504             ::std::mem::size_of::<nsIXPConnectJSObjectHolder>(),
25505             8usize,
25506             concat!("Size of: ", stringify!(nsIXPConnectJSObjectHolder))
25507         );
25508         assert_eq!(
25509             ::std::mem::align_of::<nsIXPConnectJSObjectHolder>(),
25510             8usize,
25511             concat!("Alignment of ", stringify!(nsIXPConnectJSObjectHolder))
25512         );
25513     }
25514     impl Clone for nsIXPConnectJSObjectHolder {
clone(&self) -> Self25515         fn clone(&self) -> Self {
25516             *self
25517         }
25518     }
25519     #[repr(C)]
25520     #[derive(Debug, Copy)]
25521     pub struct nsIXPConnectWrappedJS {
25522         pub _base: root::nsIXPConnectJSObjectHolder,
25523     }
25524     #[repr(C)]
25525     #[derive(Debug, Copy, Clone)]
25526     pub struct nsIXPConnectWrappedJS_COMTypeInfo {
25527         pub _address: u8,
25528     }
25529     #[test]
bindgen_test_layout_nsIXPConnectWrappedJS()25530     fn bindgen_test_layout_nsIXPConnectWrappedJS() {
25531         assert_eq!(
25532             ::std::mem::size_of::<nsIXPConnectWrappedJS>(),
25533             8usize,
25534             concat!("Size of: ", stringify!(nsIXPConnectWrappedJS))
25535         );
25536         assert_eq!(
25537             ::std::mem::align_of::<nsIXPConnectWrappedJS>(),
25538             8usize,
25539             concat!("Alignment of ", stringify!(nsIXPConnectWrappedJS))
25540         );
25541     }
25542     impl Clone for nsIXPConnectWrappedJS {
clone(&self) -> Self25543         fn clone(&self) -> Self {
25544             *self
25545         }
25546     }
25547     #[repr(C)]
25548     #[derive(Debug, Copy)]
25549     pub struct nsIXPConnect {
25550         pub _base: root::nsISupports,
25551     }
25552     #[repr(C)]
25553     #[derive(Debug, Copy, Clone)]
25554     pub struct nsIXPConnect_COMTypeInfo {
25555         pub _address: u8,
25556     }
25557     #[test]
bindgen_test_layout_nsIXPConnect()25558     fn bindgen_test_layout_nsIXPConnect() {
25559         assert_eq!(
25560             ::std::mem::size_of::<nsIXPConnect>(),
25561             8usize,
25562             concat!("Size of: ", stringify!(nsIXPConnect))
25563         );
25564         assert_eq!(
25565             ::std::mem::align_of::<nsIXPConnect>(),
25566             8usize,
25567             concat!("Alignment of ", stringify!(nsIXPConnect))
25568         );
25569     }
25570     impl Clone for nsIXPConnect {
clone(&self) -> Self25571         fn clone(&self) -> Self {
25572             *self
25573         }
25574     }
25575     pub mod xpc {
25576         #[allow(unused_imports)]
25577         use self::super::super::root;
25578     }
25579     #[repr(C)]
25580     #[derive(Debug, Copy)]
25581     pub struct nsBidi {
25582         _unused: [u8; 0],
25583     }
25584     impl Clone for nsBidi {
clone(&self) -> Self25585         fn clone(&self) -> Self {
25586             *self
25587         }
25588     }
25589     #[repr(C)]
25590     #[derive(Debug, Copy)]
25591     pub struct nsIPrintSettings {
25592         _unused: [u8; 0],
25593     }
25594     impl Clone for nsIPrintSettings {
clone(&self) -> Self25595         fn clone(&self) -> Self {
25596             *self
25597         }
25598     }
25599     #[repr(C)]
25600     #[derive(Debug, Copy)]
25601     pub struct gfxTextPerfMetrics {
25602         _unused: [u8; 0],
25603     }
25604     impl Clone for gfxTextPerfMetrics {
clone(&self) -> Self25605         fn clone(&self) -> Self {
25606             *self
25607         }
25608     }
25609     #[repr(C)]
25610     #[derive(Debug, Copy)]
25611     pub struct nsTransitionManager {
25612         _unused: [u8; 0],
25613     }
25614     impl Clone for nsTransitionManager {
clone(&self) -> Self25615         fn clone(&self) -> Self {
25616             *self
25617         }
25618     }
25619     #[repr(C)]
25620     #[derive(Debug, Copy)]
25621     pub struct nsAnimationManager {
25622         _unused: [u8; 0],
25623     }
25624     impl Clone for nsAnimationManager {
clone(&self) -> Self25625         fn clone(&self) -> Self {
25626             *self
25627         }
25628     }
25629     #[repr(C)]
25630     #[derive(Debug, Copy)]
25631     pub struct nsDeviceContext {
25632         _unused: [u8; 0],
25633     }
25634     impl Clone for nsDeviceContext {
clone(&self) -> Self25635         fn clone(&self) -> Self {
25636             *self
25637         }
25638     }
25639     #[repr(C)]
25640     #[derive(Debug, Copy)]
25641     pub struct gfxMissingFontRecorder {
25642         _unused: [u8; 0],
25643     }
25644     impl Clone for gfxMissingFontRecorder {
clone(&self) -> Self25645         fn clone(&self) -> Self {
25646             *self
25647         }
25648     }
25649     pub const kPresContext_DefaultVariableFont_ID: u8 = 0;
25650     pub const kPresContext_DefaultFixedFont_ID: u8 = 1;
25651     #[repr(C)]
25652     pub struct nsPresContext {
25653         pub _base: root::nsISupports,
25654         pub _base_1: u64,
25655         pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
25656         pub mType: root::nsPresContext_nsPresContextType,
25657         pub mShell: *mut root::nsIPresShell,
25658         pub mDocument: root::nsCOMPtr,
25659         pub mDeviceContext: root::RefPtr<root::nsDeviceContext>,
25660         pub mEventManager: root::RefPtr<root::mozilla::EventStateManager>,
25661         pub mRefreshDriver: root::RefPtr<root::nsRefreshDriver>,
25662         pub mAnimationEventDispatcher: root::RefPtr<root::mozilla::AnimationEventDispatcher>,
25663         pub mEffectCompositor: root::RefPtr<root::mozilla::EffectCompositor>,
25664         pub mTransitionManager: root::RefPtr<root::nsTransitionManager>,
25665         pub mAnimationManager: root::RefPtr<root::nsAnimationManager>,
25666         pub mRestyleManager: root::RefPtr<root::mozilla::RestyleManager>,
25667         pub mCounterStyleManager: root::RefPtr<root::mozilla::CounterStyleManager>,
25668         pub mMedium: *mut root::nsAtom,
25669         pub mMediaEmulated: root::RefPtr<root::nsAtom>,
25670         pub mFontFeatureValuesLookup: root::RefPtr<root::gfxFontFeatureValueSet>,
25671         pub mLinkHandler: *mut root::nsILinkHandler,
25672         pub mLanguage: root::RefPtr<root::nsAtom>,
25673         pub mInflationDisabledForShrinkWrap: bool,
25674         pub mContainer: u64,
25675         pub mBaseMinFontSize: i32,
25676         pub mSystemFontScale: f32,
25677         pub mTextZoom: f32,
25678         pub mEffectiveTextZoom: f32,
25679         pub mFullZoom: f32,
25680         pub mOverrideDPPX: f32,
25681         pub mLastFontInflationScreenSize: root::gfxSize,
25682         pub mCurAppUnitsPerDevPixel: i32,
25683         pub mAutoQualityMinFontSizePixelsPref: i32,
25684         pub mTheme: root::nsCOMPtr,
25685         pub mLangService: *mut root::nsLanguageAtomService,
25686         pub mPrintSettings: root::nsCOMPtr,
25687         pub mPrefChangedTimer: root::nsCOMPtr,
25688         pub mBidiEngine: root::mozilla::UniquePtr<root::nsBidi>,
25689         pub mTransactions: [u64; 10usize],
25690         pub mTextPerf: root::nsAutoPtr<root::gfxTextPerfMetrics>,
25691         pub mMissingFonts: root::nsAutoPtr<root::gfxMissingFontRecorder>,
25692         pub mVisibleArea: root::nsRect,
25693         pub mLastResizeEventVisibleArea: root::nsRect,
25694         pub mPageSize: root::nsSize,
25695         pub mPageScale: f32,
25696         pub mPPScale: f32,
25697         pub mDefaultColor: root::nscolor,
25698         pub mBackgroundColor: root::nscolor,
25699         pub mLinkColor: root::nscolor,
25700         pub mActiveLinkColor: root::nscolor,
25701         pub mVisitedLinkColor: root::nscolor,
25702         pub mFocusBackgroundColor: root::nscolor,
25703         pub mFocusTextColor: root::nscolor,
25704         pub mBodyTextColor: root::nscolor,
25705         pub mViewportScrollbarOverrideElement: *mut root::mozilla::dom::Element,
25706         pub mViewportStyleScrollbar: root::nsPresContext_ScrollbarStyles,
25707         pub mFocusRingWidth: u8,
25708         pub mExistThrottledUpdates: bool,
25709         pub mImageAnimationMode: u16,
25710         pub mImageAnimationModePref: u16,
25711         pub mLangGroupFontPrefs: root::nsPresContext_LangGroupFontPrefs,
25712         pub mFontGroupCacheDirty: bool,
25713         pub mLanguagesUsed: [u64; 4usize],
25714         pub mBorderWidthTable: [root::nscoord; 3usize],
25715         pub mInterruptChecksToSkip: u32,
25716         pub mElementsRestyled: u64,
25717         pub mFramesConstructed: u64,
25718         pub mFramesReflowed: u64,
25719         pub mReflowStartTime: root::mozilla::TimeStamp,
25720         pub mFirstNonBlankPaintTime: root::mozilla::TimeStamp,
25721         pub mFirstClickTime: root::mozilla::TimeStamp,
25722         pub mFirstKeyTime: root::mozilla::TimeStamp,
25723         pub mFirstMouseMoveTime: root::mozilla::TimeStamp,
25724         pub mFirstScrollTime: root::mozilla::TimeStamp,
25725         pub mInteractionTimeEnabled: bool,
25726         pub mLastStyleUpdateForAllAnimations: root::mozilla::TimeStamp,
25727         pub mTelemetryScrollLastY: root::nscoord,
25728         pub mTelemetryScrollMaxY: root::nscoord,
25729         pub mTelemetryScrollTotalY: root::nscoord,
25730         pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 6usize], u8>,
25731         pub mPendingMediaFeatureValuesChange: [u32; 4usize],
25732     }
25733     pub type nsPresContext_Encoding = root::mozilla::Encoding;
25734     pub type nsPresContext_NotNull<T> = root::mozilla::NotNull<T>;
25735     pub type nsPresContext_LangGroupFontPrefs = root::mozilla::LangGroupFontPrefs;
25736     pub type nsPresContext_ScrollbarStyles = root::mozilla::ScrollbarStyles;
25737     pub type nsPresContext_StaticPresData = root::mozilla::StaticPresData;
25738     pub type nsPresContext_HasThreadSafeRefCnt = root::mozilla::FalseType;
25739     #[repr(C)]
25740     #[derive(Debug, Copy)]
25741     pub struct nsPresContext_cycleCollection {
25742         pub _base: root::nsXPCOMCycleCollectionParticipant,
25743     }
25744     #[test]
bindgen_test_layout_nsPresContext_cycleCollection()25745     fn bindgen_test_layout_nsPresContext_cycleCollection() {
25746         assert_eq!(
25747             ::std::mem::size_of::<nsPresContext_cycleCollection>(),
25748             16usize,
25749             concat!("Size of: ", stringify!(nsPresContext_cycleCollection))
25750         );
25751         assert_eq!(
25752             ::std::mem::align_of::<nsPresContext_cycleCollection>(),
25753             8usize,
25754             concat!("Alignment of ", stringify!(nsPresContext_cycleCollection))
25755         );
25756     }
25757     impl Clone for nsPresContext_cycleCollection {
clone(&self) -> Self25758         fn clone(&self) -> Self {
25759             *self
25760         }
25761     }
25762     pub const nsPresContext_nsPresContextType_eContext_Galley:
25763         root::nsPresContext_nsPresContextType = 0;
25764     pub const nsPresContext_nsPresContextType_eContext_PrintPreview:
25765         root::nsPresContext_nsPresContextType = 1;
25766     pub const nsPresContext_nsPresContextType_eContext_Print:
25767         root::nsPresContext_nsPresContextType = 2;
25768     pub const nsPresContext_nsPresContextType_eContext_PageLayout:
25769         root::nsPresContext_nsPresContextType = 3;
25770     pub type nsPresContext_nsPresContextType = u32;
25771     pub const nsPresContext_InteractionType_eClickInteraction: root::nsPresContext_InteractionType =
25772         0;
25773     pub const nsPresContext_InteractionType_eKeyInteraction: root::nsPresContext_InteractionType =
25774         1;
25775     pub const nsPresContext_InteractionType_eMouseMoveInteraction:
25776         root::nsPresContext_InteractionType = 2;
25777     pub const nsPresContext_InteractionType_eScrollInteraction:
25778         root::nsPresContext_InteractionType = 3;
25779     pub type nsPresContext_InteractionType = u32;
25780     /// A class that can be used to temporarily disable reflow interruption.
25781     #[repr(C)]
25782     #[derive(Debug)]
25783     pub struct nsPresContext_InterruptPreventer {
25784         pub mCtx: *mut root::nsPresContext,
25785         pub mInterruptsEnabled: bool,
25786         pub mHasPendingInterrupt: bool,
25787     }
25788     #[test]
bindgen_test_layout_nsPresContext_InterruptPreventer()25789     fn bindgen_test_layout_nsPresContext_InterruptPreventer() {
25790         assert_eq!(
25791             ::std::mem::size_of::<nsPresContext_InterruptPreventer>(),
25792             16usize,
25793             concat!("Size of: ", stringify!(nsPresContext_InterruptPreventer))
25794         );
25795         assert_eq!(
25796             ::std::mem::align_of::<nsPresContext_InterruptPreventer>(),
25797             8usize,
25798             concat!(
25799                 "Alignment of ",
25800                 stringify!(nsPresContext_InterruptPreventer)
25801             )
25802         );
25803         assert_eq!(
25804             unsafe {
25805                 &(*(::std::ptr::null::<nsPresContext_InterruptPreventer>())).mCtx as *const _
25806                     as usize
25807             },
25808             0usize,
25809             concat!(
25810                 "Offset of field: ",
25811                 stringify!(nsPresContext_InterruptPreventer),
25812                 "::",
25813                 stringify!(mCtx)
25814             )
25815         );
25816         assert_eq!(
25817             unsafe {
25818                 &(*(::std::ptr::null::<nsPresContext_InterruptPreventer>())).mInterruptsEnabled
25819                     as *const _ as usize
25820             },
25821             8usize,
25822             concat!(
25823                 "Offset of field: ",
25824                 stringify!(nsPresContext_InterruptPreventer),
25825                 "::",
25826                 stringify!(mInterruptsEnabled)
25827             )
25828         );
25829         assert_eq!(
25830             unsafe {
25831                 &(*(::std::ptr::null::<nsPresContext_InterruptPreventer>())).mHasPendingInterrupt
25832                     as *const _ as usize
25833             },
25834             9usize,
25835             concat!(
25836                 "Offset of field: ",
25837                 stringify!(nsPresContext_InterruptPreventer),
25838                 "::",
25839                 stringify!(mHasPendingInterrupt)
25840             )
25841         );
25842     }
25843     #[repr(C)]
25844     #[derive(Debug)]
25845     pub struct nsPresContext_TransactionInvalidations {
25846         pub mTransactionId: u64,
25847         pub mInvalidations: root::nsTArray<root::nsRect>,
25848     }
25849     #[test]
bindgen_test_layout_nsPresContext_TransactionInvalidations()25850     fn bindgen_test_layout_nsPresContext_TransactionInvalidations() {
25851         assert_eq!(
25852             ::std::mem::size_of::<nsPresContext_TransactionInvalidations>(),
25853             16usize,
25854             concat!(
25855                 "Size of: ",
25856                 stringify!(nsPresContext_TransactionInvalidations)
25857             )
25858         );
25859         assert_eq!(
25860             ::std::mem::align_of::<nsPresContext_TransactionInvalidations>(),
25861             8usize,
25862             concat!(
25863                 "Alignment of ",
25864                 stringify!(nsPresContext_TransactionInvalidations)
25865             )
25866         );
25867         assert_eq!(
25868             unsafe {
25869                 &(*(::std::ptr::null::<nsPresContext_TransactionInvalidations>())).mTransactionId
25870                     as *const _ as usize
25871             },
25872             0usize,
25873             concat!(
25874                 "Offset of field: ",
25875                 stringify!(nsPresContext_TransactionInvalidations),
25876                 "::",
25877                 stringify!(mTransactionId)
25878             )
25879         );
25880         assert_eq!(
25881             unsafe {
25882                 &(*(::std::ptr::null::<nsPresContext_TransactionInvalidations>())).mInvalidations
25883                     as *const _ as usize
25884             },
25885             8usize,
25886             concat!(
25887                 "Offset of field: ",
25888                 stringify!(nsPresContext_TransactionInvalidations),
25889                 "::",
25890                 stringify!(mInvalidations)
25891             )
25892         );
25893     }
25894     extern "C" {
25895         #[link_name = "\u{1}_ZN13nsPresContext21_cycleCollectorGlobalE"]
25896         pub static mut nsPresContext__cycleCollectorGlobal: root::nsPresContext_cycleCollection;
25897     }
25898     #[test]
bindgen_test_layout_nsPresContext()25899     fn bindgen_test_layout_nsPresContext() {
25900         assert_eq!(
25901             ::std::mem::size_of::<nsPresContext>(),
25902             1400usize,
25903             concat!("Size of: ", stringify!(nsPresContext))
25904         );
25905         assert_eq!(
25906             ::std::mem::align_of::<nsPresContext>(),
25907             8usize,
25908             concat!("Alignment of ", stringify!(nsPresContext))
25909         );
25910         assert_eq!(
25911             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mRefCnt as *const _ as usize },
25912             16usize,
25913             concat!(
25914                 "Offset of field: ",
25915                 stringify!(nsPresContext),
25916                 "::",
25917                 stringify!(mRefCnt)
25918             )
25919         );
25920         assert_eq!(
25921             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mType as *const _ as usize },
25922             24usize,
25923             concat!(
25924                 "Offset of field: ",
25925                 stringify!(nsPresContext),
25926                 "::",
25927                 stringify!(mType)
25928             )
25929         );
25930         assert_eq!(
25931             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mShell as *const _ as usize },
25932             32usize,
25933             concat!(
25934                 "Offset of field: ",
25935                 stringify!(nsPresContext),
25936                 "::",
25937                 stringify!(mShell)
25938             )
25939         );
25940         assert_eq!(
25941             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mDocument as *const _ as usize },
25942             40usize,
25943             concat!(
25944                 "Offset of field: ",
25945                 stringify!(nsPresContext),
25946                 "::",
25947                 stringify!(mDocument)
25948             )
25949         );
25950         assert_eq!(
25951             unsafe {
25952                 &(*(::std::ptr::null::<nsPresContext>())).mDeviceContext as *const _ as usize
25953             },
25954             48usize,
25955             concat!(
25956                 "Offset of field: ",
25957                 stringify!(nsPresContext),
25958                 "::",
25959                 stringify!(mDeviceContext)
25960             )
25961         );
25962         assert_eq!(
25963             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mEventManager as *const _ as usize },
25964             56usize,
25965             concat!(
25966                 "Offset of field: ",
25967                 stringify!(nsPresContext),
25968                 "::",
25969                 stringify!(mEventManager)
25970             )
25971         );
25972         assert_eq!(
25973             unsafe {
25974                 &(*(::std::ptr::null::<nsPresContext>())).mRefreshDriver as *const _ as usize
25975             },
25976             64usize,
25977             concat!(
25978                 "Offset of field: ",
25979                 stringify!(nsPresContext),
25980                 "::",
25981                 stringify!(mRefreshDriver)
25982             )
25983         );
25984         assert_eq!(
25985             unsafe {
25986                 &(*(::std::ptr::null::<nsPresContext>())).mAnimationEventDispatcher as *const _
25987                     as usize
25988             },
25989             72usize,
25990             concat!(
25991                 "Offset of field: ",
25992                 stringify!(nsPresContext),
25993                 "::",
25994                 stringify!(mAnimationEventDispatcher)
25995             )
25996         );
25997         assert_eq!(
25998             unsafe {
25999                 &(*(::std::ptr::null::<nsPresContext>())).mEffectCompositor as *const _ as usize
26000             },
26001             80usize,
26002             concat!(
26003                 "Offset of field: ",
26004                 stringify!(nsPresContext),
26005                 "::",
26006                 stringify!(mEffectCompositor)
26007             )
26008         );
26009         assert_eq!(
26010             unsafe {
26011                 &(*(::std::ptr::null::<nsPresContext>())).mTransitionManager as *const _ as usize
26012             },
26013             88usize,
26014             concat!(
26015                 "Offset of field: ",
26016                 stringify!(nsPresContext),
26017                 "::",
26018                 stringify!(mTransitionManager)
26019             )
26020         );
26021         assert_eq!(
26022             unsafe {
26023                 &(*(::std::ptr::null::<nsPresContext>())).mAnimationManager as *const _ as usize
26024             },
26025             96usize,
26026             concat!(
26027                 "Offset of field: ",
26028                 stringify!(nsPresContext),
26029                 "::",
26030                 stringify!(mAnimationManager)
26031             )
26032         );
26033         assert_eq!(
26034             unsafe {
26035                 &(*(::std::ptr::null::<nsPresContext>())).mRestyleManager as *const _ as usize
26036             },
26037             104usize,
26038             concat!(
26039                 "Offset of field: ",
26040                 stringify!(nsPresContext),
26041                 "::",
26042                 stringify!(mRestyleManager)
26043             )
26044         );
26045         assert_eq!(
26046             unsafe {
26047                 &(*(::std::ptr::null::<nsPresContext>())).mCounterStyleManager as *const _ as usize
26048             },
26049             112usize,
26050             concat!(
26051                 "Offset of field: ",
26052                 stringify!(nsPresContext),
26053                 "::",
26054                 stringify!(mCounterStyleManager)
26055             )
26056         );
26057         assert_eq!(
26058             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mMedium as *const _ as usize },
26059             120usize,
26060             concat!(
26061                 "Offset of field: ",
26062                 stringify!(nsPresContext),
26063                 "::",
26064                 stringify!(mMedium)
26065             )
26066         );
26067         assert_eq!(
26068             unsafe {
26069                 &(*(::std::ptr::null::<nsPresContext>())).mMediaEmulated as *const _ as usize
26070             },
26071             128usize,
26072             concat!(
26073                 "Offset of field: ",
26074                 stringify!(nsPresContext),
26075                 "::",
26076                 stringify!(mMediaEmulated)
26077             )
26078         );
26079         assert_eq!(
26080             unsafe {
26081                 &(*(::std::ptr::null::<nsPresContext>())).mFontFeatureValuesLookup as *const _
26082                     as usize
26083             },
26084             136usize,
26085             concat!(
26086                 "Offset of field: ",
26087                 stringify!(nsPresContext),
26088                 "::",
26089                 stringify!(mFontFeatureValuesLookup)
26090             )
26091         );
26092         assert_eq!(
26093             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mLinkHandler as *const _ as usize },
26094             144usize,
26095             concat!(
26096                 "Offset of field: ",
26097                 stringify!(nsPresContext),
26098                 "::",
26099                 stringify!(mLinkHandler)
26100             )
26101         );
26102         assert_eq!(
26103             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mLanguage as *const _ as usize },
26104             152usize,
26105             concat!(
26106                 "Offset of field: ",
26107                 stringify!(nsPresContext),
26108                 "::",
26109                 stringify!(mLanguage)
26110             )
26111         );
26112         assert_eq!(
26113             unsafe {
26114                 &(*(::std::ptr::null::<nsPresContext>())).mInflationDisabledForShrinkWrap
26115                     as *const _ as usize
26116             },
26117             160usize,
26118             concat!(
26119                 "Offset of field: ",
26120                 stringify!(nsPresContext),
26121                 "::",
26122                 stringify!(mInflationDisabledForShrinkWrap)
26123             )
26124         );
26125         assert_eq!(
26126             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mContainer as *const _ as usize },
26127             168usize,
26128             concat!(
26129                 "Offset of field: ",
26130                 stringify!(nsPresContext),
26131                 "::",
26132                 stringify!(mContainer)
26133             )
26134         );
26135         assert_eq!(
26136             unsafe {
26137                 &(*(::std::ptr::null::<nsPresContext>())).mBaseMinFontSize as *const _ as usize
26138             },
26139             176usize,
26140             concat!(
26141                 "Offset of field: ",
26142                 stringify!(nsPresContext),
26143                 "::",
26144                 stringify!(mBaseMinFontSize)
26145             )
26146         );
26147         assert_eq!(
26148             unsafe {
26149                 &(*(::std::ptr::null::<nsPresContext>())).mSystemFontScale as *const _ as usize
26150             },
26151             180usize,
26152             concat!(
26153                 "Offset of field: ",
26154                 stringify!(nsPresContext),
26155                 "::",
26156                 stringify!(mSystemFontScale)
26157             )
26158         );
26159         assert_eq!(
26160             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mTextZoom as *const _ as usize },
26161             184usize,
26162             concat!(
26163                 "Offset of field: ",
26164                 stringify!(nsPresContext),
26165                 "::",
26166                 stringify!(mTextZoom)
26167             )
26168         );
26169         assert_eq!(
26170             unsafe {
26171                 &(*(::std::ptr::null::<nsPresContext>())).mEffectiveTextZoom as *const _ as usize
26172             },
26173             188usize,
26174             concat!(
26175                 "Offset of field: ",
26176                 stringify!(nsPresContext),
26177                 "::",
26178                 stringify!(mEffectiveTextZoom)
26179             )
26180         );
26181         assert_eq!(
26182             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mFullZoom as *const _ as usize },
26183             192usize,
26184             concat!(
26185                 "Offset of field: ",
26186                 stringify!(nsPresContext),
26187                 "::",
26188                 stringify!(mFullZoom)
26189             )
26190         );
26191         assert_eq!(
26192             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mOverrideDPPX as *const _ as usize },
26193             196usize,
26194             concat!(
26195                 "Offset of field: ",
26196                 stringify!(nsPresContext),
26197                 "::",
26198                 stringify!(mOverrideDPPX)
26199             )
26200         );
26201         assert_eq!(
26202             unsafe {
26203                 &(*(::std::ptr::null::<nsPresContext>())).mLastFontInflationScreenSize as *const _
26204                     as usize
26205             },
26206             200usize,
26207             concat!(
26208                 "Offset of field: ",
26209                 stringify!(nsPresContext),
26210                 "::",
26211                 stringify!(mLastFontInflationScreenSize)
26212             )
26213         );
26214         assert_eq!(
26215             unsafe {
26216                 &(*(::std::ptr::null::<nsPresContext>())).mCurAppUnitsPerDevPixel as *const _
26217                     as usize
26218             },
26219             216usize,
26220             concat!(
26221                 "Offset of field: ",
26222                 stringify!(nsPresContext),
26223                 "::",
26224                 stringify!(mCurAppUnitsPerDevPixel)
26225             )
26226         );
26227         assert_eq!(
26228             unsafe {
26229                 &(*(::std::ptr::null::<nsPresContext>())).mAutoQualityMinFontSizePixelsPref
26230                     as *const _ as usize
26231             },
26232             220usize,
26233             concat!(
26234                 "Offset of field: ",
26235                 stringify!(nsPresContext),
26236                 "::",
26237                 stringify!(mAutoQualityMinFontSizePixelsPref)
26238             )
26239         );
26240         assert_eq!(
26241             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mTheme as *const _ as usize },
26242             224usize,
26243             concat!(
26244                 "Offset of field: ",
26245                 stringify!(nsPresContext),
26246                 "::",
26247                 stringify!(mTheme)
26248             )
26249         );
26250         assert_eq!(
26251             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mLangService as *const _ as usize },
26252             232usize,
26253             concat!(
26254                 "Offset of field: ",
26255                 stringify!(nsPresContext),
26256                 "::",
26257                 stringify!(mLangService)
26258             )
26259         );
26260         assert_eq!(
26261             unsafe {
26262                 &(*(::std::ptr::null::<nsPresContext>())).mPrintSettings as *const _ as usize
26263             },
26264             240usize,
26265             concat!(
26266                 "Offset of field: ",
26267                 stringify!(nsPresContext),
26268                 "::",
26269                 stringify!(mPrintSettings)
26270             )
26271         );
26272         assert_eq!(
26273             unsafe {
26274                 &(*(::std::ptr::null::<nsPresContext>())).mPrefChangedTimer as *const _ as usize
26275             },
26276             248usize,
26277             concat!(
26278                 "Offset of field: ",
26279                 stringify!(nsPresContext),
26280                 "::",
26281                 stringify!(mPrefChangedTimer)
26282             )
26283         );
26284         assert_eq!(
26285             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mBidiEngine as *const _ as usize },
26286             256usize,
26287             concat!(
26288                 "Offset of field: ",
26289                 stringify!(nsPresContext),
26290                 "::",
26291                 stringify!(mBidiEngine)
26292             )
26293         );
26294         assert_eq!(
26295             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mTransactions as *const _ as usize },
26296             264usize,
26297             concat!(
26298                 "Offset of field: ",
26299                 stringify!(nsPresContext),
26300                 "::",
26301                 stringify!(mTransactions)
26302             )
26303         );
26304         assert_eq!(
26305             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mTextPerf as *const _ as usize },
26306             344usize,
26307             concat!(
26308                 "Offset of field: ",
26309                 stringify!(nsPresContext),
26310                 "::",
26311                 stringify!(mTextPerf)
26312             )
26313         );
26314         assert_eq!(
26315             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mMissingFonts as *const _ as usize },
26316             352usize,
26317             concat!(
26318                 "Offset of field: ",
26319                 stringify!(nsPresContext),
26320                 "::",
26321                 stringify!(mMissingFonts)
26322             )
26323         );
26324         assert_eq!(
26325             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mVisibleArea as *const _ as usize },
26326             360usize,
26327             concat!(
26328                 "Offset of field: ",
26329                 stringify!(nsPresContext),
26330                 "::",
26331                 stringify!(mVisibleArea)
26332             )
26333         );
26334         assert_eq!(
26335             unsafe {
26336                 &(*(::std::ptr::null::<nsPresContext>())).mLastResizeEventVisibleArea as *const _
26337                     as usize
26338             },
26339             376usize,
26340             concat!(
26341                 "Offset of field: ",
26342                 stringify!(nsPresContext),
26343                 "::",
26344                 stringify!(mLastResizeEventVisibleArea)
26345             )
26346         );
26347         assert_eq!(
26348             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mPageSize as *const _ as usize },
26349             392usize,
26350             concat!(
26351                 "Offset of field: ",
26352                 stringify!(nsPresContext),
26353                 "::",
26354                 stringify!(mPageSize)
26355             )
26356         );
26357         assert_eq!(
26358             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mPageScale as *const _ as usize },
26359             400usize,
26360             concat!(
26361                 "Offset of field: ",
26362                 stringify!(nsPresContext),
26363                 "::",
26364                 stringify!(mPageScale)
26365             )
26366         );
26367         assert_eq!(
26368             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mPPScale as *const _ as usize },
26369             404usize,
26370             concat!(
26371                 "Offset of field: ",
26372                 stringify!(nsPresContext),
26373                 "::",
26374                 stringify!(mPPScale)
26375             )
26376         );
26377         assert_eq!(
26378             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mDefaultColor as *const _ as usize },
26379             408usize,
26380             concat!(
26381                 "Offset of field: ",
26382                 stringify!(nsPresContext),
26383                 "::",
26384                 stringify!(mDefaultColor)
26385             )
26386         );
26387         assert_eq!(
26388             unsafe {
26389                 &(*(::std::ptr::null::<nsPresContext>())).mBackgroundColor as *const _ as usize
26390             },
26391             412usize,
26392             concat!(
26393                 "Offset of field: ",
26394                 stringify!(nsPresContext),
26395                 "::",
26396                 stringify!(mBackgroundColor)
26397             )
26398         );
26399         assert_eq!(
26400             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mLinkColor as *const _ as usize },
26401             416usize,
26402             concat!(
26403                 "Offset of field: ",
26404                 stringify!(nsPresContext),
26405                 "::",
26406                 stringify!(mLinkColor)
26407             )
26408         );
26409         assert_eq!(
26410             unsafe {
26411                 &(*(::std::ptr::null::<nsPresContext>())).mActiveLinkColor as *const _ as usize
26412             },
26413             420usize,
26414             concat!(
26415                 "Offset of field: ",
26416                 stringify!(nsPresContext),
26417                 "::",
26418                 stringify!(mActiveLinkColor)
26419             )
26420         );
26421         assert_eq!(
26422             unsafe {
26423                 &(*(::std::ptr::null::<nsPresContext>())).mVisitedLinkColor as *const _ as usize
26424             },
26425             424usize,
26426             concat!(
26427                 "Offset of field: ",
26428                 stringify!(nsPresContext),
26429                 "::",
26430                 stringify!(mVisitedLinkColor)
26431             )
26432         );
26433         assert_eq!(
26434             unsafe {
26435                 &(*(::std::ptr::null::<nsPresContext>())).mFocusBackgroundColor as *const _ as usize
26436             },
26437             428usize,
26438             concat!(
26439                 "Offset of field: ",
26440                 stringify!(nsPresContext),
26441                 "::",
26442                 stringify!(mFocusBackgroundColor)
26443             )
26444         );
26445         assert_eq!(
26446             unsafe {
26447                 &(*(::std::ptr::null::<nsPresContext>())).mFocusTextColor as *const _ as usize
26448             },
26449             432usize,
26450             concat!(
26451                 "Offset of field: ",
26452                 stringify!(nsPresContext),
26453                 "::",
26454                 stringify!(mFocusTextColor)
26455             )
26456         );
26457         assert_eq!(
26458             unsafe {
26459                 &(*(::std::ptr::null::<nsPresContext>())).mBodyTextColor as *const _ as usize
26460             },
26461             436usize,
26462             concat!(
26463                 "Offset of field: ",
26464                 stringify!(nsPresContext),
26465                 "::",
26466                 stringify!(mBodyTextColor)
26467             )
26468         );
26469         assert_eq!(
26470             unsafe {
26471                 &(*(::std::ptr::null::<nsPresContext>())).mViewportScrollbarOverrideElement
26472                     as *const _ as usize
26473             },
26474             440usize,
26475             concat!(
26476                 "Offset of field: ",
26477                 stringify!(nsPresContext),
26478                 "::",
26479                 stringify!(mViewportScrollbarOverrideElement)
26480             )
26481         );
26482         assert_eq!(
26483             unsafe {
26484                 &(*(::std::ptr::null::<nsPresContext>())).mViewportStyleScrollbar as *const _
26485                     as usize
26486             },
26487             448usize,
26488             concat!(
26489                 "Offset of field: ",
26490                 stringify!(nsPresContext),
26491                 "::",
26492                 stringify!(mViewportStyleScrollbar)
26493             )
26494         );
26495         assert_eq!(
26496             unsafe {
26497                 &(*(::std::ptr::null::<nsPresContext>())).mFocusRingWidth as *const _ as usize
26498             },
26499             512usize,
26500             concat!(
26501                 "Offset of field: ",
26502                 stringify!(nsPresContext),
26503                 "::",
26504                 stringify!(mFocusRingWidth)
26505             )
26506         );
26507         assert_eq!(
26508             unsafe {
26509                 &(*(::std::ptr::null::<nsPresContext>())).mExistThrottledUpdates as *const _
26510                     as usize
26511             },
26512             513usize,
26513             concat!(
26514                 "Offset of field: ",
26515                 stringify!(nsPresContext),
26516                 "::",
26517                 stringify!(mExistThrottledUpdates)
26518             )
26519         );
26520         assert_eq!(
26521             unsafe {
26522                 &(*(::std::ptr::null::<nsPresContext>())).mImageAnimationMode as *const _ as usize
26523             },
26524             514usize,
26525             concat!(
26526                 "Offset of field: ",
26527                 stringify!(nsPresContext),
26528                 "::",
26529                 stringify!(mImageAnimationMode)
26530             )
26531         );
26532         assert_eq!(
26533             unsafe {
26534                 &(*(::std::ptr::null::<nsPresContext>())).mImageAnimationModePref as *const _
26535                     as usize
26536             },
26537             516usize,
26538             concat!(
26539                 "Offset of field: ",
26540                 stringify!(nsPresContext),
26541                 "::",
26542                 stringify!(mImageAnimationModePref)
26543             )
26544         );
26545         assert_eq!(
26546             unsafe {
26547                 &(*(::std::ptr::null::<nsPresContext>())).mLangGroupFontPrefs as *const _ as usize
26548             },
26549             520usize,
26550             concat!(
26551                 "Offset of field: ",
26552                 stringify!(nsPresContext),
26553                 "::",
26554                 stringify!(mLangGroupFontPrefs)
26555             )
26556         );
26557         assert_eq!(
26558             unsafe {
26559                 &(*(::std::ptr::null::<nsPresContext>())).mFontGroupCacheDirty as *const _ as usize
26560             },
26561             1216usize,
26562             concat!(
26563                 "Offset of field: ",
26564                 stringify!(nsPresContext),
26565                 "::",
26566                 stringify!(mFontGroupCacheDirty)
26567             )
26568         );
26569         assert_eq!(
26570             unsafe {
26571                 &(*(::std::ptr::null::<nsPresContext>())).mLanguagesUsed as *const _ as usize
26572             },
26573             1224usize,
26574             concat!(
26575                 "Offset of field: ",
26576                 stringify!(nsPresContext),
26577                 "::",
26578                 stringify!(mLanguagesUsed)
26579             )
26580         );
26581         assert_eq!(
26582             unsafe {
26583                 &(*(::std::ptr::null::<nsPresContext>())).mBorderWidthTable as *const _ as usize
26584             },
26585             1256usize,
26586             concat!(
26587                 "Offset of field: ",
26588                 stringify!(nsPresContext),
26589                 "::",
26590                 stringify!(mBorderWidthTable)
26591             )
26592         );
26593         assert_eq!(
26594             unsafe {
26595                 &(*(::std::ptr::null::<nsPresContext>())).mInterruptChecksToSkip as *const _
26596                     as usize
26597             },
26598             1268usize,
26599             concat!(
26600                 "Offset of field: ",
26601                 stringify!(nsPresContext),
26602                 "::",
26603                 stringify!(mInterruptChecksToSkip)
26604             )
26605         );
26606         assert_eq!(
26607             unsafe {
26608                 &(*(::std::ptr::null::<nsPresContext>())).mElementsRestyled as *const _ as usize
26609             },
26610             1272usize,
26611             concat!(
26612                 "Offset of field: ",
26613                 stringify!(nsPresContext),
26614                 "::",
26615                 stringify!(mElementsRestyled)
26616             )
26617         );
26618         assert_eq!(
26619             unsafe {
26620                 &(*(::std::ptr::null::<nsPresContext>())).mFramesConstructed as *const _ as usize
26621             },
26622             1280usize,
26623             concat!(
26624                 "Offset of field: ",
26625                 stringify!(nsPresContext),
26626                 "::",
26627                 stringify!(mFramesConstructed)
26628             )
26629         );
26630         assert_eq!(
26631             unsafe {
26632                 &(*(::std::ptr::null::<nsPresContext>())).mFramesReflowed as *const _ as usize
26633             },
26634             1288usize,
26635             concat!(
26636                 "Offset of field: ",
26637                 stringify!(nsPresContext),
26638                 "::",
26639                 stringify!(mFramesReflowed)
26640             )
26641         );
26642         assert_eq!(
26643             unsafe {
26644                 &(*(::std::ptr::null::<nsPresContext>())).mReflowStartTime as *const _ as usize
26645             },
26646             1296usize,
26647             concat!(
26648                 "Offset of field: ",
26649                 stringify!(nsPresContext),
26650                 "::",
26651                 stringify!(mReflowStartTime)
26652             )
26653         );
26654         assert_eq!(
26655             unsafe {
26656                 &(*(::std::ptr::null::<nsPresContext>())).mFirstNonBlankPaintTime as *const _
26657                     as usize
26658             },
26659             1304usize,
26660             concat!(
26661                 "Offset of field: ",
26662                 stringify!(nsPresContext),
26663                 "::",
26664                 stringify!(mFirstNonBlankPaintTime)
26665             )
26666         );
26667         assert_eq!(
26668             unsafe {
26669                 &(*(::std::ptr::null::<nsPresContext>())).mFirstClickTime as *const _ as usize
26670             },
26671             1312usize,
26672             concat!(
26673                 "Offset of field: ",
26674                 stringify!(nsPresContext),
26675                 "::",
26676                 stringify!(mFirstClickTime)
26677             )
26678         );
26679         assert_eq!(
26680             unsafe { &(*(::std::ptr::null::<nsPresContext>())).mFirstKeyTime as *const _ as usize },
26681             1320usize,
26682             concat!(
26683                 "Offset of field: ",
26684                 stringify!(nsPresContext),
26685                 "::",
26686                 stringify!(mFirstKeyTime)
26687             )
26688         );
26689         assert_eq!(
26690             unsafe {
26691                 &(*(::std::ptr::null::<nsPresContext>())).mFirstMouseMoveTime as *const _ as usize
26692             },
26693             1328usize,
26694             concat!(
26695                 "Offset of field: ",
26696                 stringify!(nsPresContext),
26697                 "::",
26698                 stringify!(mFirstMouseMoveTime)
26699             )
26700         );
26701         assert_eq!(
26702             unsafe {
26703                 &(*(::std::ptr::null::<nsPresContext>())).mFirstScrollTime as *const _ as usize
26704             },
26705             1336usize,
26706             concat!(
26707                 "Offset of field: ",
26708                 stringify!(nsPresContext),
26709                 "::",
26710                 stringify!(mFirstScrollTime)
26711             )
26712         );
26713         assert_eq!(
26714             unsafe {
26715                 &(*(::std::ptr::null::<nsPresContext>())).mInteractionTimeEnabled as *const _
26716                     as usize
26717             },
26718             1344usize,
26719             concat!(
26720                 "Offset of field: ",
26721                 stringify!(nsPresContext),
26722                 "::",
26723                 stringify!(mInteractionTimeEnabled)
26724             )
26725         );
26726         assert_eq!(
26727             unsafe {
26728                 &(*(::std::ptr::null::<nsPresContext>())).mLastStyleUpdateForAllAnimations
26729                     as *const _ as usize
26730             },
26731             1352usize,
26732             concat!(
26733                 "Offset of field: ",
26734                 stringify!(nsPresContext),
26735                 "::",
26736                 stringify!(mLastStyleUpdateForAllAnimations)
26737             )
26738         );
26739         assert_eq!(
26740             unsafe {
26741                 &(*(::std::ptr::null::<nsPresContext>())).mTelemetryScrollLastY as *const _ as usize
26742             },
26743             1360usize,
26744             concat!(
26745                 "Offset of field: ",
26746                 stringify!(nsPresContext),
26747                 "::",
26748                 stringify!(mTelemetryScrollLastY)
26749             )
26750         );
26751         assert_eq!(
26752             unsafe {
26753                 &(*(::std::ptr::null::<nsPresContext>())).mTelemetryScrollMaxY as *const _ as usize
26754             },
26755             1364usize,
26756             concat!(
26757                 "Offset of field: ",
26758                 stringify!(nsPresContext),
26759                 "::",
26760                 stringify!(mTelemetryScrollMaxY)
26761             )
26762         );
26763         assert_eq!(
26764             unsafe {
26765                 &(*(::std::ptr::null::<nsPresContext>())).mTelemetryScrollTotalY as *const _
26766                     as usize
26767             },
26768             1368usize,
26769             concat!(
26770                 "Offset of field: ",
26771                 stringify!(nsPresContext),
26772                 "::",
26773                 stringify!(mTelemetryScrollTotalY)
26774             )
26775         );
26776         assert_eq!(
26777             unsafe {
26778                 &(*(::std::ptr::null::<nsPresContext>())).mPendingMediaFeatureValuesChange
26779                     as *const _ as usize
26780             },
26781             1380usize,
26782             concat!(
26783                 "Offset of field: ",
26784                 stringify!(nsPresContext),
26785                 "::",
26786                 stringify!(mPendingMediaFeatureValuesChange)
26787             )
26788         );
26789     }
26790     impl nsPresContext {
26791         #[inline]
mHasPendingInterrupt(&self) -> ::std::os::raw::c_uint26792         pub fn mHasPendingInterrupt(&self) -> ::std::os::raw::c_uint {
26793             unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
26794         }
26795         #[inline]
set_mHasPendingInterrupt(&mut self, val: ::std::os::raw::c_uint)26796         pub fn set_mHasPendingInterrupt(&mut self, val: ::std::os::raw::c_uint) {
26797             unsafe {
26798                 let val: u32 = ::std::mem::transmute(val);
26799                 self._bitfield_1.set(0usize, 1u8, val as u64)
26800             }
26801         }
26802         #[inline]
mPendingInterruptFromTest(&self) -> ::std::os::raw::c_uint26803         pub fn mPendingInterruptFromTest(&self) -> ::std::os::raw::c_uint {
26804             unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
26805         }
26806         #[inline]
set_mPendingInterruptFromTest(&mut self, val: ::std::os::raw::c_uint)26807         pub fn set_mPendingInterruptFromTest(&mut self, val: ::std::os::raw::c_uint) {
26808             unsafe {
26809                 let val: u32 = ::std::mem::transmute(val);
26810                 self._bitfield_1.set(1usize, 1u8, val as u64)
26811             }
26812         }
26813         #[inline]
mInterruptsEnabled(&self) -> ::std::os::raw::c_uint26814         pub fn mInterruptsEnabled(&self) -> ::std::os::raw::c_uint {
26815             unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
26816         }
26817         #[inline]
set_mInterruptsEnabled(&mut self, val: ::std::os::raw::c_uint)26818         pub fn set_mInterruptsEnabled(&mut self, val: ::std::os::raw::c_uint) {
26819             unsafe {
26820                 let val: u32 = ::std::mem::transmute(val);
26821                 self._bitfield_1.set(2usize, 1u8, val as u64)
26822             }
26823         }
26824         #[inline]
mUseDocumentFonts(&self) -> ::std::os::raw::c_uint26825         pub fn mUseDocumentFonts(&self) -> ::std::os::raw::c_uint {
26826             unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
26827         }
26828         #[inline]
set_mUseDocumentFonts(&mut self, val: ::std::os::raw::c_uint)26829         pub fn set_mUseDocumentFonts(&mut self, val: ::std::os::raw::c_uint) {
26830             unsafe {
26831                 let val: u32 = ::std::mem::transmute(val);
26832                 self._bitfield_1.set(3usize, 1u8, val as u64)
26833             }
26834         }
26835         #[inline]
mUseDocumentColors(&self) -> ::std::os::raw::c_uint26836         pub fn mUseDocumentColors(&self) -> ::std::os::raw::c_uint {
26837             unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
26838         }
26839         #[inline]
set_mUseDocumentColors(&mut self, val: ::std::os::raw::c_uint)26840         pub fn set_mUseDocumentColors(&mut self, val: ::std::os::raw::c_uint) {
26841             unsafe {
26842                 let val: u32 = ::std::mem::transmute(val);
26843                 self._bitfield_1.set(4usize, 1u8, val as u64)
26844             }
26845         }
26846         #[inline]
mUnderlineLinks(&self) -> ::std::os::raw::c_uint26847         pub fn mUnderlineLinks(&self) -> ::std::os::raw::c_uint {
26848             unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
26849         }
26850         #[inline]
set_mUnderlineLinks(&mut self, val: ::std::os::raw::c_uint)26851         pub fn set_mUnderlineLinks(&mut self, val: ::std::os::raw::c_uint) {
26852             unsafe {
26853                 let val: u32 = ::std::mem::transmute(val);
26854                 self._bitfield_1.set(5usize, 1u8, val as u64)
26855             }
26856         }
26857         #[inline]
mSendAfterPaintToContent(&self) -> ::std::os::raw::c_uint26858         pub fn mSendAfterPaintToContent(&self) -> ::std::os::raw::c_uint {
26859             unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
26860         }
26861         #[inline]
set_mSendAfterPaintToContent(&mut self, val: ::std::os::raw::c_uint)26862         pub fn set_mSendAfterPaintToContent(&mut self, val: ::std::os::raw::c_uint) {
26863             unsafe {
26864                 let val: u32 = ::std::mem::transmute(val);
26865                 self._bitfield_1.set(6usize, 1u8, val as u64)
26866             }
26867         }
26868         #[inline]
mUseFocusColors(&self) -> ::std::os::raw::c_uint26869         pub fn mUseFocusColors(&self) -> ::std::os::raw::c_uint {
26870             unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
26871         }
26872         #[inline]
set_mUseFocusColors(&mut self, val: ::std::os::raw::c_uint)26873         pub fn set_mUseFocusColors(&mut self, val: ::std::os::raw::c_uint) {
26874             unsafe {
26875                 let val: u32 = ::std::mem::transmute(val);
26876                 self._bitfield_1.set(7usize, 1u8, val as u64)
26877             }
26878         }
26879         #[inline]
mFocusRingOnAnything(&self) -> ::std::os::raw::c_uint26880         pub fn mFocusRingOnAnything(&self) -> ::std::os::raw::c_uint {
26881             unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
26882         }
26883         #[inline]
set_mFocusRingOnAnything(&mut self, val: ::std::os::raw::c_uint)26884         pub fn set_mFocusRingOnAnything(&mut self, val: ::std::os::raw::c_uint) {
26885             unsafe {
26886                 let val: u32 = ::std::mem::transmute(val);
26887                 self._bitfield_1.set(8usize, 1u8, val as u64)
26888             }
26889         }
26890         #[inline]
mFocusRingStyle(&self) -> ::std::os::raw::c_uint26891         pub fn mFocusRingStyle(&self) -> ::std::os::raw::c_uint {
26892             unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
26893         }
26894         #[inline]
set_mFocusRingStyle(&mut self, val: ::std::os::raw::c_uint)26895         pub fn set_mFocusRingStyle(&mut self, val: ::std::os::raw::c_uint) {
26896             unsafe {
26897                 let val: u32 = ::std::mem::transmute(val);
26898                 self._bitfield_1.set(9usize, 1u8, val as u64)
26899             }
26900         }
26901         #[inline]
mDrawImageBackground(&self) -> ::std::os::raw::c_uint26902         pub fn mDrawImageBackground(&self) -> ::std::os::raw::c_uint {
26903             unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
26904         }
26905         #[inline]
set_mDrawImageBackground(&mut self, val: ::std::os::raw::c_uint)26906         pub fn set_mDrawImageBackground(&mut self, val: ::std::os::raw::c_uint) {
26907             unsafe {
26908                 let val: u32 = ::std::mem::transmute(val);
26909                 self._bitfield_1.set(10usize, 1u8, val as u64)
26910             }
26911         }
26912         #[inline]
mDrawColorBackground(&self) -> ::std::os::raw::c_uint26913         pub fn mDrawColorBackground(&self) -> ::std::os::raw::c_uint {
26914             unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
26915         }
26916         #[inline]
set_mDrawColorBackground(&mut self, val: ::std::os::raw::c_uint)26917         pub fn set_mDrawColorBackground(&mut self, val: ::std::os::raw::c_uint) {
26918             unsafe {
26919                 let val: u32 = ::std::mem::transmute(val);
26920                 self._bitfield_1.set(11usize, 1u8, val as u64)
26921             }
26922         }
26923         #[inline]
mNeverAnimate(&self) -> ::std::os::raw::c_uint26924         pub fn mNeverAnimate(&self) -> ::std::os::raw::c_uint {
26925             unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
26926         }
26927         #[inline]
set_mNeverAnimate(&mut self, val: ::std::os::raw::c_uint)26928         pub fn set_mNeverAnimate(&mut self, val: ::std::os::raw::c_uint) {
26929             unsafe {
26930                 let val: u32 = ::std::mem::transmute(val);
26931                 self._bitfield_1.set(12usize, 1u8, val as u64)
26932             }
26933         }
26934         #[inline]
mIsRenderingOnlySelection(&self) -> ::std::os::raw::c_uint26935         pub fn mIsRenderingOnlySelection(&self) -> ::std::os::raw::c_uint {
26936             unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
26937         }
26938         #[inline]
set_mIsRenderingOnlySelection(&mut self, val: ::std::os::raw::c_uint)26939         pub fn set_mIsRenderingOnlySelection(&mut self, val: ::std::os::raw::c_uint) {
26940             unsafe {
26941                 let val: u32 = ::std::mem::transmute(val);
26942                 self._bitfield_1.set(13usize, 1u8, val as u64)
26943             }
26944         }
26945         #[inline]
mPaginated(&self) -> ::std::os::raw::c_uint26946         pub fn mPaginated(&self) -> ::std::os::raw::c_uint {
26947             unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
26948         }
26949         #[inline]
set_mPaginated(&mut self, val: ::std::os::raw::c_uint)26950         pub fn set_mPaginated(&mut self, val: ::std::os::raw::c_uint) {
26951             unsafe {
26952                 let val: u32 = ::std::mem::transmute(val);
26953                 self._bitfield_1.set(14usize, 1u8, val as u64)
26954             }
26955         }
26956         #[inline]
mCanPaginatedScroll(&self) -> ::std::os::raw::c_uint26957         pub fn mCanPaginatedScroll(&self) -> ::std::os::raw::c_uint {
26958             unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
26959         }
26960         #[inline]
set_mCanPaginatedScroll(&mut self, val: ::std::os::raw::c_uint)26961         pub fn set_mCanPaginatedScroll(&mut self, val: ::std::os::raw::c_uint) {
26962             unsafe {
26963                 let val: u32 = ::std::mem::transmute(val);
26964                 self._bitfield_1.set(15usize, 1u8, val as u64)
26965             }
26966         }
26967         #[inline]
mDoScaledTwips(&self) -> ::std::os::raw::c_uint26968         pub fn mDoScaledTwips(&self) -> ::std::os::raw::c_uint {
26969             unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
26970         }
26971         #[inline]
set_mDoScaledTwips(&mut self, val: ::std::os::raw::c_uint)26972         pub fn set_mDoScaledTwips(&mut self, val: ::std::os::raw::c_uint) {
26973             unsafe {
26974                 let val: u32 = ::std::mem::transmute(val);
26975                 self._bitfield_1.set(16usize, 1u8, val as u64)
26976             }
26977         }
26978         #[inline]
mIsRootPaginatedDocument(&self) -> ::std::os::raw::c_uint26979         pub fn mIsRootPaginatedDocument(&self) -> ::std::os::raw::c_uint {
26980             unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
26981         }
26982         #[inline]
set_mIsRootPaginatedDocument(&mut self, val: ::std::os::raw::c_uint)26983         pub fn set_mIsRootPaginatedDocument(&mut self, val: ::std::os::raw::c_uint) {
26984             unsafe {
26985                 let val: u32 = ::std::mem::transmute(val);
26986                 self._bitfield_1.set(17usize, 1u8, val as u64)
26987             }
26988         }
26989         #[inline]
mPrefBidiDirection(&self) -> ::std::os::raw::c_uint26990         pub fn mPrefBidiDirection(&self) -> ::std::os::raw::c_uint {
26991             unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
26992         }
26993         #[inline]
set_mPrefBidiDirection(&mut self, val: ::std::os::raw::c_uint)26994         pub fn set_mPrefBidiDirection(&mut self, val: ::std::os::raw::c_uint) {
26995             unsafe {
26996                 let val: u32 = ::std::mem::transmute(val);
26997                 self._bitfield_1.set(18usize, 1u8, val as u64)
26998             }
26999         }
27000         #[inline]
mPrefScrollbarSide(&self) -> ::std::os::raw::c_uint27001         pub fn mPrefScrollbarSide(&self) -> ::std::os::raw::c_uint {
27002             unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 2u8) as u32) }
27003         }
27004         #[inline]
set_mPrefScrollbarSide(&mut self, val: ::std::os::raw::c_uint)27005         pub fn set_mPrefScrollbarSide(&mut self, val: ::std::os::raw::c_uint) {
27006             unsafe {
27007                 let val: u32 = ::std::mem::transmute(val);
27008                 self._bitfield_1.set(19usize, 2u8, val as u64)
27009             }
27010         }
27011         #[inline]
mPendingSysColorChanged(&self) -> ::std::os::raw::c_uint27012         pub fn mPendingSysColorChanged(&self) -> ::std::os::raw::c_uint {
27013             unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
27014         }
27015         #[inline]
set_mPendingSysColorChanged(&mut self, val: ::std::os::raw::c_uint)27016         pub fn set_mPendingSysColorChanged(&mut self, val: ::std::os::raw::c_uint) {
27017             unsafe {
27018                 let val: u32 = ::std::mem::transmute(val);
27019                 self._bitfield_1.set(21usize, 1u8, val as u64)
27020             }
27021         }
27022         #[inline]
mPendingThemeChanged(&self) -> ::std::os::raw::c_uint27023         pub fn mPendingThemeChanged(&self) -> ::std::os::raw::c_uint {
27024             unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) }
27025         }
27026         #[inline]
set_mPendingThemeChanged(&mut self, val: ::std::os::raw::c_uint)27027         pub fn set_mPendingThemeChanged(&mut self, val: ::std::os::raw::c_uint) {
27028             unsafe {
27029                 let val: u32 = ::std::mem::transmute(val);
27030                 self._bitfield_1.set(22usize, 1u8, val as u64)
27031             }
27032         }
27033         #[inline]
mPendingUIResolutionChanged(&self) -> ::std::os::raw::c_uint27034         pub fn mPendingUIResolutionChanged(&self) -> ::std::os::raw::c_uint {
27035             unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) }
27036         }
27037         #[inline]
set_mPendingUIResolutionChanged(&mut self, val: ::std::os::raw::c_uint)27038         pub fn set_mPendingUIResolutionChanged(&mut self, val: ::std::os::raw::c_uint) {
27039             unsafe {
27040                 let val: u32 = ::std::mem::transmute(val);
27041                 self._bitfield_1.set(23usize, 1u8, val as u64)
27042             }
27043         }
27044         #[inline]
mPrefChangePendingNeedsReflow(&self) -> ::std::os::raw::c_uint27045         pub fn mPrefChangePendingNeedsReflow(&self) -> ::std::os::raw::c_uint {
27046             unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u32) }
27047         }
27048         #[inline]
set_mPrefChangePendingNeedsReflow(&mut self, val: ::std::os::raw::c_uint)27049         pub fn set_mPrefChangePendingNeedsReflow(&mut self, val: ::std::os::raw::c_uint) {
27050             unsafe {
27051                 let val: u32 = ::std::mem::transmute(val);
27052                 self._bitfield_1.set(24usize, 1u8, val as u64)
27053             }
27054         }
27055         #[inline]
mIsEmulatingMedia(&self) -> ::std::os::raw::c_uint27056         pub fn mIsEmulatingMedia(&self) -> ::std::os::raw::c_uint {
27057             unsafe { ::std::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u32) }
27058         }
27059         #[inline]
set_mIsEmulatingMedia(&mut self, val: ::std::os::raw::c_uint)27060         pub fn set_mIsEmulatingMedia(&mut self, val: ::std::os::raw::c_uint) {
27061             unsafe {
27062                 let val: u32 = ::std::mem::transmute(val);
27063                 self._bitfield_1.set(25usize, 1u8, val as u64)
27064             }
27065         }
27066         #[inline]
mIsGlyph(&self) -> ::std::os::raw::c_uint27067         pub fn mIsGlyph(&self) -> ::std::os::raw::c_uint {
27068             unsafe { ::std::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u32) }
27069         }
27070         #[inline]
set_mIsGlyph(&mut self, val: ::std::os::raw::c_uint)27071         pub fn set_mIsGlyph(&mut self, val: ::std::os::raw::c_uint) {
27072             unsafe {
27073                 let val: u32 = ::std::mem::transmute(val);
27074                 self._bitfield_1.set(26usize, 1u8, val as u64)
27075             }
27076         }
27077         #[inline]
mUsesRootEMUnits(&self) -> ::std::os::raw::c_uint27078         pub fn mUsesRootEMUnits(&self) -> ::std::os::raw::c_uint {
27079             unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u32) }
27080         }
27081         #[inline]
set_mUsesRootEMUnits(&mut self, val: ::std::os::raw::c_uint)27082         pub fn set_mUsesRootEMUnits(&mut self, val: ::std::os::raw::c_uint) {
27083             unsafe {
27084                 let val: u32 = ::std::mem::transmute(val);
27085                 self._bitfield_1.set(27usize, 1u8, val as u64)
27086             }
27087         }
27088         #[inline]
mUsesExChUnits(&self) -> ::std::os::raw::c_uint27089         pub fn mUsesExChUnits(&self) -> ::std::os::raw::c_uint {
27090             unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u32) }
27091         }
27092         #[inline]
set_mUsesExChUnits(&mut self, val: ::std::os::raw::c_uint)27093         pub fn set_mUsesExChUnits(&mut self, val: ::std::os::raw::c_uint) {
27094             unsafe {
27095                 let val: u32 = ::std::mem::transmute(val);
27096                 self._bitfield_1.set(28usize, 1u8, val as u64)
27097             }
27098         }
27099         #[inline]
mCounterStylesDirty(&self) -> ::std::os::raw::c_uint27100         pub fn mCounterStylesDirty(&self) -> ::std::os::raw::c_uint {
27101             unsafe { ::std::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u32) }
27102         }
27103         #[inline]
set_mCounterStylesDirty(&mut self, val: ::std::os::raw::c_uint)27104         pub fn set_mCounterStylesDirty(&mut self, val: ::std::os::raw::c_uint) {
27105             unsafe {
27106                 let val: u32 = ::std::mem::transmute(val);
27107                 self._bitfield_1.set(29usize, 1u8, val as u64)
27108             }
27109         }
27110         #[inline]
mFontFeatureValuesDirty(&self) -> ::std::os::raw::c_uint27111         pub fn mFontFeatureValuesDirty(&self) -> ::std::os::raw::c_uint {
27112             unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) }
27113         }
27114         #[inline]
set_mFontFeatureValuesDirty(&mut self, val: ::std::os::raw::c_uint)27115         pub fn set_mFontFeatureValuesDirty(&mut self, val: ::std::os::raw::c_uint) {
27116             unsafe {
27117                 let val: u32 = ::std::mem::transmute(val);
27118                 self._bitfield_1.set(30usize, 1u8, val as u64)
27119             }
27120         }
27121         #[inline]
mSuppressResizeReflow(&self) -> ::std::os::raw::c_uint27122         pub fn mSuppressResizeReflow(&self) -> ::std::os::raw::c_uint {
27123             unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
27124         }
27125         #[inline]
set_mSuppressResizeReflow(&mut self, val: ::std::os::raw::c_uint)27126         pub fn set_mSuppressResizeReflow(&mut self, val: ::std::os::raw::c_uint) {
27127             unsafe {
27128                 let val: u32 = ::std::mem::transmute(val);
27129                 self._bitfield_1.set(31usize, 1u8, val as u64)
27130             }
27131         }
27132         #[inline]
mIsVisual(&self) -> ::std::os::raw::c_uint27133         pub fn mIsVisual(&self) -> ::std::os::raw::c_uint {
27134             unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u32) }
27135         }
27136         #[inline]
set_mIsVisual(&mut self, val: ::std::os::raw::c_uint)27137         pub fn set_mIsVisual(&mut self, val: ::std::os::raw::c_uint) {
27138             unsafe {
27139                 let val: u32 = ::std::mem::transmute(val);
27140                 self._bitfield_1.set(32usize, 1u8, val as u64)
27141             }
27142         }
27143         #[inline]
mIsChrome(&self) -> ::std::os::raw::c_uint27144         pub fn mIsChrome(&self) -> ::std::os::raw::c_uint {
27145             unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u32) }
27146         }
27147         #[inline]
set_mIsChrome(&mut self, val: ::std::os::raw::c_uint)27148         pub fn set_mIsChrome(&mut self, val: ::std::os::raw::c_uint) {
27149             unsafe {
27150                 let val: u32 = ::std::mem::transmute(val);
27151                 self._bitfield_1.set(33usize, 1u8, val as u64)
27152             }
27153         }
27154         #[inline]
mIsChromeOriginImage(&self) -> ::std::os::raw::c_uint27155         pub fn mIsChromeOriginImage(&self) -> ::std::os::raw::c_uint {
27156             unsafe { ::std::mem::transmute(self._bitfield_1.get(34usize, 1u8) as u32) }
27157         }
27158         #[inline]
set_mIsChromeOriginImage(&mut self, val: ::std::os::raw::c_uint)27159         pub fn set_mIsChromeOriginImage(&mut self, val: ::std::os::raw::c_uint) {
27160             unsafe {
27161                 let val: u32 = ::std::mem::transmute(val);
27162                 self._bitfield_1.set(34usize, 1u8, val as u64)
27163             }
27164         }
27165         #[inline]
mPaintFlashing(&self) -> ::std::os::raw::c_uint27166         pub fn mPaintFlashing(&self) -> ::std::os::raw::c_uint {
27167             unsafe { ::std::mem::transmute(self._bitfield_1.get(35usize, 1u8) as u32) }
27168         }
27169         #[inline]
set_mPaintFlashing(&mut self, val: ::std::os::raw::c_uint)27170         pub fn set_mPaintFlashing(&mut self, val: ::std::os::raw::c_uint) {
27171             unsafe {
27172                 let val: u32 = ::std::mem::transmute(val);
27173                 self._bitfield_1.set(35usize, 1u8, val as u64)
27174             }
27175         }
27176         #[inline]
mPaintFlashingInitialized(&self) -> ::std::os::raw::c_uint27177         pub fn mPaintFlashingInitialized(&self) -> ::std::os::raw::c_uint {
27178             unsafe { ::std::mem::transmute(self._bitfield_1.get(36usize, 1u8) as u32) }
27179         }
27180         #[inline]
set_mPaintFlashingInitialized(&mut self, val: ::std::os::raw::c_uint)27181         pub fn set_mPaintFlashingInitialized(&mut self, val: ::std::os::raw::c_uint) {
27182             unsafe {
27183                 let val: u32 = ::std::mem::transmute(val);
27184                 self._bitfield_1.set(36usize, 1u8, val as u64)
27185             }
27186         }
27187         #[inline]
mHasWarnedAboutPositionedTableParts(&self) -> ::std::os::raw::c_uint27188         pub fn mHasWarnedAboutPositionedTableParts(&self) -> ::std::os::raw::c_uint {
27189             unsafe { ::std::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u32) }
27190         }
27191         #[inline]
set_mHasWarnedAboutPositionedTableParts(&mut self, val: ::std::os::raw::c_uint)27192         pub fn set_mHasWarnedAboutPositionedTableParts(&mut self, val: ::std::os::raw::c_uint) {
27193             unsafe {
27194                 let val: u32 = ::std::mem::transmute(val);
27195                 self._bitfield_1.set(37usize, 1u8, val as u64)
27196             }
27197         }
27198         #[inline]
mHasWarnedAboutTooLargeDashedOrDottedRadius(&self) -> ::std::os::raw::c_uint27199         pub fn mHasWarnedAboutTooLargeDashedOrDottedRadius(&self) -> ::std::os::raw::c_uint {
27200             unsafe { ::std::mem::transmute(self._bitfield_1.get(38usize, 1u8) as u32) }
27201         }
27202         #[inline]
set_mHasWarnedAboutTooLargeDashedOrDottedRadius( &mut self, val: ::std::os::raw::c_uint, )27203         pub fn set_mHasWarnedAboutTooLargeDashedOrDottedRadius(
27204             &mut self,
27205             val: ::std::os::raw::c_uint,
27206         ) {
27207             unsafe {
27208                 let val: u32 = ::std::mem::transmute(val);
27209                 self._bitfield_1.set(38usize, 1u8, val as u64)
27210             }
27211         }
27212         #[inline]
mQuirkSheetAdded(&self) -> ::std::os::raw::c_uint27213         pub fn mQuirkSheetAdded(&self) -> ::std::os::raw::c_uint {
27214             unsafe { ::std::mem::transmute(self._bitfield_1.get(39usize, 1u8) as u32) }
27215         }
27216         #[inline]
set_mQuirkSheetAdded(&mut self, val: ::std::os::raw::c_uint)27217         pub fn set_mQuirkSheetAdded(&mut self, val: ::std::os::raw::c_uint) {
27218             unsafe {
27219                 let val: u32 = ::std::mem::transmute(val);
27220                 self._bitfield_1.set(39usize, 1u8, val as u64)
27221             }
27222         }
27223         #[inline]
mNeedsPrefUpdate(&self) -> ::std::os::raw::c_uint27224         pub fn mNeedsPrefUpdate(&self) -> ::std::os::raw::c_uint {
27225             unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 1u8) as u32) }
27226         }
27227         #[inline]
set_mNeedsPrefUpdate(&mut self, val: ::std::os::raw::c_uint)27228         pub fn set_mNeedsPrefUpdate(&mut self, val: ::std::os::raw::c_uint) {
27229             unsafe {
27230                 let val: u32 = ::std::mem::transmute(val);
27231                 self._bitfield_1.set(40usize, 1u8, val as u64)
27232             }
27233         }
27234         #[inline]
mHadNonBlankPaint(&self) -> ::std::os::raw::c_uint27235         pub fn mHadNonBlankPaint(&self) -> ::std::os::raw::c_uint {
27236             unsafe { ::std::mem::transmute(self._bitfield_1.get(41usize, 1u8) as u32) }
27237         }
27238         #[inline]
set_mHadNonBlankPaint(&mut self, val: ::std::os::raw::c_uint)27239         pub fn set_mHadNonBlankPaint(&mut self, val: ::std::os::raw::c_uint) {
27240             unsafe {
27241                 let val: u32 = ::std::mem::transmute(val);
27242                 self._bitfield_1.set(41usize, 1u8, val as u64)
27243             }
27244         }
27245         #[inline]
new_bitfield_1( mHasPendingInterrupt: ::std::os::raw::c_uint, mPendingInterruptFromTest: ::std::os::raw::c_uint, mInterruptsEnabled: ::std::os::raw::c_uint, mUseDocumentFonts: ::std::os::raw::c_uint, mUseDocumentColors: ::std::os::raw::c_uint, mUnderlineLinks: ::std::os::raw::c_uint, mSendAfterPaintToContent: ::std::os::raw::c_uint, mUseFocusColors: ::std::os::raw::c_uint, mFocusRingOnAnything: ::std::os::raw::c_uint, mFocusRingStyle: ::std::os::raw::c_uint, mDrawImageBackground: ::std::os::raw::c_uint, mDrawColorBackground: ::std::os::raw::c_uint, mNeverAnimate: ::std::os::raw::c_uint, mIsRenderingOnlySelection: ::std::os::raw::c_uint, mPaginated: ::std::os::raw::c_uint, mCanPaginatedScroll: ::std::os::raw::c_uint, mDoScaledTwips: ::std::os::raw::c_uint, mIsRootPaginatedDocument: ::std::os::raw::c_uint, mPrefBidiDirection: ::std::os::raw::c_uint, mPrefScrollbarSide: ::std::os::raw::c_uint, mPendingSysColorChanged: ::std::os::raw::c_uint, mPendingThemeChanged: ::std::os::raw::c_uint, mPendingUIResolutionChanged: ::std::os::raw::c_uint, mPrefChangePendingNeedsReflow: ::std::os::raw::c_uint, mIsEmulatingMedia: ::std::os::raw::c_uint, mIsGlyph: ::std::os::raw::c_uint, mUsesRootEMUnits: ::std::os::raw::c_uint, mUsesExChUnits: ::std::os::raw::c_uint, mCounterStylesDirty: ::std::os::raw::c_uint, mFontFeatureValuesDirty: ::std::os::raw::c_uint, mSuppressResizeReflow: ::std::os::raw::c_uint, mIsVisual: ::std::os::raw::c_uint, mIsChrome: ::std::os::raw::c_uint, mIsChromeOriginImage: ::std::os::raw::c_uint, mPaintFlashing: ::std::os::raw::c_uint, mPaintFlashingInitialized: ::std::os::raw::c_uint, mHasWarnedAboutPositionedTableParts: ::std::os::raw::c_uint, mHasWarnedAboutTooLargeDashedOrDottedRadius: ::std::os::raw::c_uint, mQuirkSheetAdded: ::std::os::raw::c_uint, mNeedsPrefUpdate: ::std::os::raw::c_uint, mHadNonBlankPaint: ::std::os::raw::c_uint, ) -> root::__BindgenBitfieldUnit<[u8; 6usize], u8>27246         pub fn new_bitfield_1(
27247             mHasPendingInterrupt: ::std::os::raw::c_uint,
27248             mPendingInterruptFromTest: ::std::os::raw::c_uint,
27249             mInterruptsEnabled: ::std::os::raw::c_uint,
27250             mUseDocumentFonts: ::std::os::raw::c_uint,
27251             mUseDocumentColors: ::std::os::raw::c_uint,
27252             mUnderlineLinks: ::std::os::raw::c_uint,
27253             mSendAfterPaintToContent: ::std::os::raw::c_uint,
27254             mUseFocusColors: ::std::os::raw::c_uint,
27255             mFocusRingOnAnything: ::std::os::raw::c_uint,
27256             mFocusRingStyle: ::std::os::raw::c_uint,
27257             mDrawImageBackground: ::std::os::raw::c_uint,
27258             mDrawColorBackground: ::std::os::raw::c_uint,
27259             mNeverAnimate: ::std::os::raw::c_uint,
27260             mIsRenderingOnlySelection: ::std::os::raw::c_uint,
27261             mPaginated: ::std::os::raw::c_uint,
27262             mCanPaginatedScroll: ::std::os::raw::c_uint,
27263             mDoScaledTwips: ::std::os::raw::c_uint,
27264             mIsRootPaginatedDocument: ::std::os::raw::c_uint,
27265             mPrefBidiDirection: ::std::os::raw::c_uint,
27266             mPrefScrollbarSide: ::std::os::raw::c_uint,
27267             mPendingSysColorChanged: ::std::os::raw::c_uint,
27268             mPendingThemeChanged: ::std::os::raw::c_uint,
27269             mPendingUIResolutionChanged: ::std::os::raw::c_uint,
27270             mPrefChangePendingNeedsReflow: ::std::os::raw::c_uint,
27271             mIsEmulatingMedia: ::std::os::raw::c_uint,
27272             mIsGlyph: ::std::os::raw::c_uint,
27273             mUsesRootEMUnits: ::std::os::raw::c_uint,
27274             mUsesExChUnits: ::std::os::raw::c_uint,
27275             mCounterStylesDirty: ::std::os::raw::c_uint,
27276             mFontFeatureValuesDirty: ::std::os::raw::c_uint,
27277             mSuppressResizeReflow: ::std::os::raw::c_uint,
27278             mIsVisual: ::std::os::raw::c_uint,
27279             mIsChrome: ::std::os::raw::c_uint,
27280             mIsChromeOriginImage: ::std::os::raw::c_uint,
27281             mPaintFlashing: ::std::os::raw::c_uint,
27282             mPaintFlashingInitialized: ::std::os::raw::c_uint,
27283             mHasWarnedAboutPositionedTableParts: ::std::os::raw::c_uint,
27284             mHasWarnedAboutTooLargeDashedOrDottedRadius: ::std::os::raw::c_uint,
27285             mQuirkSheetAdded: ::std::os::raw::c_uint,
27286             mNeedsPrefUpdate: ::std::os::raw::c_uint,
27287             mHadNonBlankPaint: ::std::os::raw::c_uint,
27288         ) -> root::__BindgenBitfieldUnit<[u8; 6usize], u8> {
27289             let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
27290                 [u8; 6usize],
27291                 u8,
27292             > = Default::default();
27293             __bindgen_bitfield_unit.set(0usize, 1u8, {
27294                 let mHasPendingInterrupt: u32 =
27295                     unsafe { ::std::mem::transmute(mHasPendingInterrupt) };
27296                 mHasPendingInterrupt as u64
27297             });
27298             __bindgen_bitfield_unit.set(1usize, 1u8, {
27299                 let mPendingInterruptFromTest: u32 =
27300                     unsafe { ::std::mem::transmute(mPendingInterruptFromTest) };
27301                 mPendingInterruptFromTest as u64
27302             });
27303             __bindgen_bitfield_unit.set(2usize, 1u8, {
27304                 let mInterruptsEnabled: u32 = unsafe { ::std::mem::transmute(mInterruptsEnabled) };
27305                 mInterruptsEnabled as u64
27306             });
27307             __bindgen_bitfield_unit.set(3usize, 1u8, {
27308                 let mUseDocumentFonts: u32 = unsafe { ::std::mem::transmute(mUseDocumentFonts) };
27309                 mUseDocumentFonts as u64
27310             });
27311             __bindgen_bitfield_unit.set(4usize, 1u8, {
27312                 let mUseDocumentColors: u32 = unsafe { ::std::mem::transmute(mUseDocumentColors) };
27313                 mUseDocumentColors as u64
27314             });
27315             __bindgen_bitfield_unit.set(5usize, 1u8, {
27316                 let mUnderlineLinks: u32 = unsafe { ::std::mem::transmute(mUnderlineLinks) };
27317                 mUnderlineLinks as u64
27318             });
27319             __bindgen_bitfield_unit.set(6usize, 1u8, {
27320                 let mSendAfterPaintToContent: u32 =
27321                     unsafe { ::std::mem::transmute(mSendAfterPaintToContent) };
27322                 mSendAfterPaintToContent as u64
27323             });
27324             __bindgen_bitfield_unit.set(7usize, 1u8, {
27325                 let mUseFocusColors: u32 = unsafe { ::std::mem::transmute(mUseFocusColors) };
27326                 mUseFocusColors as u64
27327             });
27328             __bindgen_bitfield_unit.set(8usize, 1u8, {
27329                 let mFocusRingOnAnything: u32 =
27330                     unsafe { ::std::mem::transmute(mFocusRingOnAnything) };
27331                 mFocusRingOnAnything as u64
27332             });
27333             __bindgen_bitfield_unit.set(9usize, 1u8, {
27334                 let mFocusRingStyle: u32 = unsafe { ::std::mem::transmute(mFocusRingStyle) };
27335                 mFocusRingStyle as u64
27336             });
27337             __bindgen_bitfield_unit.set(10usize, 1u8, {
27338                 let mDrawImageBackground: u32 =
27339                     unsafe { ::std::mem::transmute(mDrawImageBackground) };
27340                 mDrawImageBackground as u64
27341             });
27342             __bindgen_bitfield_unit.set(11usize, 1u8, {
27343                 let mDrawColorBackground: u32 =
27344                     unsafe { ::std::mem::transmute(mDrawColorBackground) };
27345                 mDrawColorBackground as u64
27346             });
27347             __bindgen_bitfield_unit.set(12usize, 1u8, {
27348                 let mNeverAnimate: u32 = unsafe { ::std::mem::transmute(mNeverAnimate) };
27349                 mNeverAnimate as u64
27350             });
27351             __bindgen_bitfield_unit.set(13usize, 1u8, {
27352                 let mIsRenderingOnlySelection: u32 =
27353                     unsafe { ::std::mem::transmute(mIsRenderingOnlySelection) };
27354                 mIsRenderingOnlySelection as u64
27355             });
27356             __bindgen_bitfield_unit.set(14usize, 1u8, {
27357                 let mPaginated: u32 = unsafe { ::std::mem::transmute(mPaginated) };
27358                 mPaginated as u64
27359             });
27360             __bindgen_bitfield_unit.set(15usize, 1u8, {
27361                 let mCanPaginatedScroll: u32 =
27362                     unsafe { ::std::mem::transmute(mCanPaginatedScroll) };
27363                 mCanPaginatedScroll as u64
27364             });
27365             __bindgen_bitfield_unit.set(16usize, 1u8, {
27366                 let mDoScaledTwips: u32 = unsafe { ::std::mem::transmute(mDoScaledTwips) };
27367                 mDoScaledTwips as u64
27368             });
27369             __bindgen_bitfield_unit.set(17usize, 1u8, {
27370                 let mIsRootPaginatedDocument: u32 =
27371                     unsafe { ::std::mem::transmute(mIsRootPaginatedDocument) };
27372                 mIsRootPaginatedDocument as u64
27373             });
27374             __bindgen_bitfield_unit.set(18usize, 1u8, {
27375                 let mPrefBidiDirection: u32 = unsafe { ::std::mem::transmute(mPrefBidiDirection) };
27376                 mPrefBidiDirection as u64
27377             });
27378             __bindgen_bitfield_unit.set(19usize, 2u8, {
27379                 let mPrefScrollbarSide: u32 = unsafe { ::std::mem::transmute(mPrefScrollbarSide) };
27380                 mPrefScrollbarSide as u64
27381             });
27382             __bindgen_bitfield_unit.set(21usize, 1u8, {
27383                 let mPendingSysColorChanged: u32 =
27384                     unsafe { ::std::mem::transmute(mPendingSysColorChanged) };
27385                 mPendingSysColorChanged as u64
27386             });
27387             __bindgen_bitfield_unit.set(22usize, 1u8, {
27388                 let mPendingThemeChanged: u32 =
27389                     unsafe { ::std::mem::transmute(mPendingThemeChanged) };
27390                 mPendingThemeChanged as u64
27391             });
27392             __bindgen_bitfield_unit.set(23usize, 1u8, {
27393                 let mPendingUIResolutionChanged: u32 =
27394                     unsafe { ::std::mem::transmute(mPendingUIResolutionChanged) };
27395                 mPendingUIResolutionChanged as u64
27396             });
27397             __bindgen_bitfield_unit.set(24usize, 1u8, {
27398                 let mPrefChangePendingNeedsReflow: u32 =
27399                     unsafe { ::std::mem::transmute(mPrefChangePendingNeedsReflow) };
27400                 mPrefChangePendingNeedsReflow as u64
27401             });
27402             __bindgen_bitfield_unit.set(25usize, 1u8, {
27403                 let mIsEmulatingMedia: u32 = unsafe { ::std::mem::transmute(mIsEmulatingMedia) };
27404                 mIsEmulatingMedia as u64
27405             });
27406             __bindgen_bitfield_unit.set(26usize, 1u8, {
27407                 let mIsGlyph: u32 = unsafe { ::std::mem::transmute(mIsGlyph) };
27408                 mIsGlyph as u64
27409             });
27410             __bindgen_bitfield_unit.set(27usize, 1u8, {
27411                 let mUsesRootEMUnits: u32 = unsafe { ::std::mem::transmute(mUsesRootEMUnits) };
27412                 mUsesRootEMUnits as u64
27413             });
27414             __bindgen_bitfield_unit.set(28usize, 1u8, {
27415                 let mUsesExChUnits: u32 = unsafe { ::std::mem::transmute(mUsesExChUnits) };
27416                 mUsesExChUnits as u64
27417             });
27418             __bindgen_bitfield_unit.set(29usize, 1u8, {
27419                 let mCounterStylesDirty: u32 =
27420                     unsafe { ::std::mem::transmute(mCounterStylesDirty) };
27421                 mCounterStylesDirty as u64
27422             });
27423             __bindgen_bitfield_unit.set(30usize, 1u8, {
27424                 let mFontFeatureValuesDirty: u32 =
27425                     unsafe { ::std::mem::transmute(mFontFeatureValuesDirty) };
27426                 mFontFeatureValuesDirty as u64
27427             });
27428             __bindgen_bitfield_unit.set(31usize, 1u8, {
27429                 let mSuppressResizeReflow: u32 =
27430                     unsafe { ::std::mem::transmute(mSuppressResizeReflow) };
27431                 mSuppressResizeReflow as u64
27432             });
27433             __bindgen_bitfield_unit.set(32usize, 1u8, {
27434                 let mIsVisual: u32 = unsafe { ::std::mem::transmute(mIsVisual) };
27435                 mIsVisual as u64
27436             });
27437             __bindgen_bitfield_unit.set(33usize, 1u8, {
27438                 let mIsChrome: u32 = unsafe { ::std::mem::transmute(mIsChrome) };
27439                 mIsChrome as u64
27440             });
27441             __bindgen_bitfield_unit.set(34usize, 1u8, {
27442                 let mIsChromeOriginImage: u32 =
27443                     unsafe { ::std::mem::transmute(mIsChromeOriginImage) };
27444                 mIsChromeOriginImage as u64
27445             });
27446             __bindgen_bitfield_unit.set(35usize, 1u8, {
27447                 let mPaintFlashing: u32 = unsafe { ::std::mem::transmute(mPaintFlashing) };
27448                 mPaintFlashing as u64
27449             });
27450             __bindgen_bitfield_unit.set(36usize, 1u8, {
27451                 let mPaintFlashingInitialized: u32 =
27452                     unsafe { ::std::mem::transmute(mPaintFlashingInitialized) };
27453                 mPaintFlashingInitialized as u64
27454             });
27455             __bindgen_bitfield_unit.set(37usize, 1u8, {
27456                 let mHasWarnedAboutPositionedTableParts: u32 =
27457                     unsafe { ::std::mem::transmute(mHasWarnedAboutPositionedTableParts) };
27458                 mHasWarnedAboutPositionedTableParts as u64
27459             });
27460             __bindgen_bitfield_unit.set(38usize, 1u8, {
27461                 let mHasWarnedAboutTooLargeDashedOrDottedRadius: u32 =
27462                     unsafe { ::std::mem::transmute(mHasWarnedAboutTooLargeDashedOrDottedRadius) };
27463                 mHasWarnedAboutTooLargeDashedOrDottedRadius as u64
27464             });
27465             __bindgen_bitfield_unit.set(39usize, 1u8, {
27466                 let mQuirkSheetAdded: u32 = unsafe { ::std::mem::transmute(mQuirkSheetAdded) };
27467                 mQuirkSheetAdded as u64
27468             });
27469             __bindgen_bitfield_unit.set(40usize, 1u8, {
27470                 let mNeedsPrefUpdate: u32 = unsafe { ::std::mem::transmute(mNeedsPrefUpdate) };
27471                 mNeedsPrefUpdate as u64
27472             });
27473             __bindgen_bitfield_unit.set(41usize, 1u8, {
27474                 let mHadNonBlankPaint: u32 = unsafe { ::std::mem::transmute(mHadNonBlankPaint) };
27475                 mHadNonBlankPaint as u64
27476             });
27477             __bindgen_bitfield_unit
27478         }
27479     }
27480     #[repr(i16)]
27481     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
27482     pub enum nsCSSKeyword {
27483         eCSSKeyword_UNKNOWN = -1,
27484         eCSSKeyword__moz_activehyperlinktext = 0,
27485         eCSSKeyword__moz_all = 1,
27486         eCSSKeyword__moz_alt_content = 2,
27487         eCSSKeyword__moz_available = 3,
27488         eCSSKeyword__moz_box = 4,
27489         eCSSKeyword__moz_button = 5,
27490         eCSSKeyword__moz_buttondefault = 6,
27491         eCSSKeyword__moz_buttonhoverface = 7,
27492         eCSSKeyword__moz_buttonhovertext = 8,
27493         eCSSKeyword__moz_cellhighlight = 9,
27494         eCSSKeyword__moz_cellhighlighttext = 10,
27495         eCSSKeyword__moz_center = 11,
27496         eCSSKeyword__moz_combobox = 12,
27497         eCSSKeyword__moz_comboboxtext = 13,
27498         eCSSKeyword__moz_context_properties = 14,
27499         eCSSKeyword__moz_block_height = 15,
27500         eCSSKeyword__moz_deck = 16,
27501         eCSSKeyword__moz_default_background_color = 17,
27502         eCSSKeyword__moz_default_color = 18,
27503         eCSSKeyword__moz_desktop = 19,
27504         eCSSKeyword__moz_dialog = 20,
27505         eCSSKeyword__moz_dialogtext = 21,
27506         eCSSKeyword__moz_document = 22,
27507         eCSSKeyword__moz_dragtargetzone = 23,
27508         eCSSKeyword__moz_element = 24,
27509         eCSSKeyword__moz_eventreerow = 25,
27510         eCSSKeyword__moz_field = 26,
27511         eCSSKeyword__moz_fieldtext = 27,
27512         eCSSKeyword__moz_fit_content = 28,
27513         eCSSKeyword__moz_fixed = 29,
27514         eCSSKeyword__moz_grabbing = 30,
27515         eCSSKeyword__moz_grab = 31,
27516         eCSSKeyword__moz_grid_group = 32,
27517         eCSSKeyword__moz_grid_line = 33,
27518         eCSSKeyword__moz_grid = 34,
27519         eCSSKeyword__moz_groupbox = 35,
27520         eCSSKeyword__moz_gtk_info_bar = 36,
27521         eCSSKeyword__moz_gtk_info_bar_text = 37,
27522         eCSSKeyword__moz_hidden_unscrollable = 38,
27523         eCSSKeyword__moz_hyperlinktext = 39,
27524         eCSSKeyword__moz_html_cellhighlight = 40,
27525         eCSSKeyword__moz_html_cellhighlighttext = 41,
27526         eCSSKeyword__moz_image_rect = 42,
27527         eCSSKeyword__moz_info = 43,
27528         eCSSKeyword__moz_inline_box = 44,
27529         eCSSKeyword__moz_inline_grid = 45,
27530         eCSSKeyword__moz_inline_stack = 46,
27531         eCSSKeyword__moz_left = 47,
27532         eCSSKeyword__moz_list = 48,
27533         eCSSKeyword__moz_mac_buttonactivetext = 49,
27534         eCSSKeyword__moz_mac_chrome_active = 50,
27535         eCSSKeyword__moz_mac_chrome_inactive = 51,
27536         eCSSKeyword__moz_mac_defaultbuttontext = 52,
27537         eCSSKeyword__moz_mac_focusring = 53,
27538         eCSSKeyword__moz_mac_fullscreen_button = 54,
27539         eCSSKeyword__moz_mac_menuselect = 55,
27540         eCSSKeyword__moz_mac_menushadow = 56,
27541         eCSSKeyword__moz_mac_menutextdisable = 57,
27542         eCSSKeyword__moz_mac_menutextselect = 58,
27543         eCSSKeyword__moz_mac_disabledtoolbartext = 59,
27544         eCSSKeyword__moz_mac_secondaryhighlight = 60,
27545         eCSSKeyword__moz_mac_menuitem = 61,
27546         eCSSKeyword__moz_mac_active_menuitem = 62,
27547         eCSSKeyword__moz_mac_menupopup = 63,
27548         eCSSKeyword__moz_mac_tooltip = 64,
27549         eCSSKeyword__moz_max_content = 65,
27550         eCSSKeyword__moz_menuhover = 66,
27551         eCSSKeyword__moz_menuhovertext = 67,
27552         eCSSKeyword__moz_menubartext = 68,
27553         eCSSKeyword__moz_menubarhovertext = 69,
27554         eCSSKeyword__moz_middle_with_baseline = 70,
27555         eCSSKeyword__moz_min_content = 71,
27556         eCSSKeyword__moz_nativehyperlinktext = 72,
27557         eCSSKeyword__moz_none = 73,
27558         eCSSKeyword__moz_oddtreerow = 74,
27559         eCSSKeyword__moz_popup = 75,
27560         eCSSKeyword__moz_pre_space = 76,
27561         eCSSKeyword__moz_pull_down_menu = 77,
27562         eCSSKeyword__moz_right = 78,
27563         eCSSKeyword__moz_scrollbars_horizontal = 79,
27564         eCSSKeyword__moz_scrollbars_none = 80,
27565         eCSSKeyword__moz_scrollbars_vertical = 81,
27566         eCSSKeyword__moz_stack = 82,
27567         eCSSKeyword__moz_text = 83,
27568         eCSSKeyword__moz_use_system_font = 84,
27569         eCSSKeyword__moz_visitedhyperlinktext = 85,
27570         eCSSKeyword__moz_window = 86,
27571         eCSSKeyword__moz_workspace = 87,
27572         eCSSKeyword__moz_zoom_in = 88,
27573         eCSSKeyword__moz_zoom_out = 89,
27574         eCSSKeyword__webkit_box = 90,
27575         eCSSKeyword__webkit_flex = 91,
27576         eCSSKeyword__webkit_inline_box = 92,
27577         eCSSKeyword__webkit_inline_flex = 93,
27578         eCSSKeyword_absolute = 94,
27579         eCSSKeyword_active = 95,
27580         eCSSKeyword_activeborder = 96,
27581         eCSSKeyword_activecaption = 97,
27582         eCSSKeyword_add = 98,
27583         eCSSKeyword_additive = 99,
27584         eCSSKeyword_alias = 100,
27585         eCSSKeyword_all = 101,
27586         eCSSKeyword_all_petite_caps = 102,
27587         eCSSKeyword_all_scroll = 103,
27588         eCSSKeyword_all_small_caps = 104,
27589         eCSSKeyword_alpha = 105,
27590         eCSSKeyword_alternate = 106,
27591         eCSSKeyword_alternate_reverse = 107,
27592         eCSSKeyword_always = 108,
27593         eCSSKeyword_annotation = 109,
27594         eCSSKeyword_appworkspace = 110,
27595         eCSSKeyword_auto = 111,
27596         eCSSKeyword_auto_fill = 112,
27597         eCSSKeyword_auto_fit = 113,
27598         eCSSKeyword_auto_flow = 114,
27599         eCSSKeyword_avoid = 115,
27600         eCSSKeyword_background = 116,
27601         eCSSKeyword_backwards = 117,
27602         eCSSKeyword_balance = 118,
27603         eCSSKeyword_baseline = 119,
27604         eCSSKeyword_bidi_override = 120,
27605         eCSSKeyword_blink = 121,
27606         eCSSKeyword_block = 122,
27607         eCSSKeyword_block_axis = 123,
27608         eCSSKeyword_blur = 124,
27609         eCSSKeyword_bold = 125,
27610         eCSSKeyword_bold_fraktur = 126,
27611         eCSSKeyword_bold_italic = 127,
27612         eCSSKeyword_bold_sans_serif = 128,
27613         eCSSKeyword_bold_script = 129,
27614         eCSSKeyword_bolder = 130,
27615         eCSSKeyword_border_box = 131,
27616         eCSSKeyword_both = 132,
27617         eCSSKeyword_bottom = 133,
27618         eCSSKeyword_bottom_outside = 134,
27619         eCSSKeyword_break_all = 135,
27620         eCSSKeyword_break_word = 136,
27621         eCSSKeyword_brightness = 137,
27622         eCSSKeyword_browser = 138,
27623         eCSSKeyword_bullets = 139,
27624         eCSSKeyword_button = 140,
27625         eCSSKeyword_buttonface = 141,
27626         eCSSKeyword_buttonhighlight = 142,
27627         eCSSKeyword_buttonshadow = 143,
27628         eCSSKeyword_buttontext = 144,
27629         eCSSKeyword_capitalize = 145,
27630         eCSSKeyword_caption = 146,
27631         eCSSKeyword_captiontext = 147,
27632         eCSSKeyword_cell = 148,
27633         eCSSKeyword_center = 149,
27634         eCSSKeyword_ch = 150,
27635         eCSSKeyword_character_variant = 151,
27636         eCSSKeyword_circle = 152,
27637         eCSSKeyword_cjk_decimal = 153,
27638         eCSSKeyword_clip = 154,
27639         eCSSKeyword_clone = 155,
27640         eCSSKeyword_close_quote = 156,
27641         eCSSKeyword_closest_corner = 157,
27642         eCSSKeyword_closest_side = 158,
27643         eCSSKeyword_cm = 159,
27644         eCSSKeyword_col_resize = 160,
27645         eCSSKeyword_collapse = 161,
27646         eCSSKeyword_color = 162,
27647         eCSSKeyword_color_burn = 163,
27648         eCSSKeyword_color_dodge = 164,
27649         eCSSKeyword_common_ligatures = 165,
27650         eCSSKeyword_column = 166,
27651         eCSSKeyword_column_reverse = 167,
27652         eCSSKeyword_condensed = 168,
27653         eCSSKeyword_contain = 169,
27654         eCSSKeyword_content_box = 170,
27655         eCSSKeyword_contents = 171,
27656         eCSSKeyword_context_fill = 172,
27657         eCSSKeyword_context_fill_opacity = 173,
27658         eCSSKeyword_context_menu = 174,
27659         eCSSKeyword_context_stroke = 175,
27660         eCSSKeyword_context_stroke_opacity = 176,
27661         eCSSKeyword_context_value = 177,
27662         eCSSKeyword_continuous = 178,
27663         eCSSKeyword_contrast = 179,
27664         eCSSKeyword_copy = 180,
27665         eCSSKeyword_contextual = 181,
27666         eCSSKeyword_cover = 182,
27667         eCSSKeyword_crop = 183,
27668         eCSSKeyword_cross = 184,
27669         eCSSKeyword_crosshair = 185,
27670         eCSSKeyword_currentcolor = 186,
27671         eCSSKeyword_cursive = 187,
27672         eCSSKeyword_cyclic = 188,
27673         eCSSKeyword_darken = 189,
27674         eCSSKeyword_dashed = 190,
27675         eCSSKeyword_dense = 191,
27676         eCSSKeyword_decimal = 192,
27677         eCSSKeyword_default = 193,
27678         eCSSKeyword_deg = 194,
27679         eCSSKeyword_diagonal_fractions = 195,
27680         eCSSKeyword_dialog = 196,
27681         eCSSKeyword_difference = 197,
27682         eCSSKeyword_digits = 198,
27683         eCSSKeyword_disabled = 199,
27684         eCSSKeyword_disc = 200,
27685         eCSSKeyword_discretionary_ligatures = 201,
27686         eCSSKeyword_distribute = 202,
27687         eCSSKeyword_dot = 203,
27688         eCSSKeyword_dotted = 204,
27689         eCSSKeyword_double = 205,
27690         eCSSKeyword_double_circle = 206,
27691         eCSSKeyword_double_struck = 207,
27692         eCSSKeyword_drag = 208,
27693         eCSSKeyword_drop_shadow = 209,
27694         eCSSKeyword_e_resize = 210,
27695         eCSSKeyword_ease = 211,
27696         eCSSKeyword_ease_in = 212,
27697         eCSSKeyword_ease_in_out = 213,
27698         eCSSKeyword_ease_out = 214,
27699         eCSSKeyword_economy = 215,
27700         eCSSKeyword_element = 216,
27701         eCSSKeyword_elements = 217,
27702         eCSSKeyword_ellipse = 218,
27703         eCSSKeyword_ellipsis = 219,
27704         eCSSKeyword_em = 220,
27705         eCSSKeyword_embed = 221,
27706         eCSSKeyword_enabled = 222,
27707         eCSSKeyword_end = 223,
27708         eCSSKeyword_ex = 224,
27709         eCSSKeyword_exact = 225,
27710         eCSSKeyword_exclude = 226,
27711         eCSSKeyword_exclusion = 227,
27712         eCSSKeyword_expanded = 228,
27713         eCSSKeyword_extends = 229,
27714         eCSSKeyword_extra_condensed = 230,
27715         eCSSKeyword_extra_expanded = 231,
27716         eCSSKeyword_ew_resize = 232,
27717         eCSSKeyword_fallback = 233,
27718         eCSSKeyword_fantasy = 234,
27719         eCSSKeyword_farthest_side = 235,
27720         eCSSKeyword_farthest_corner = 236,
27721         eCSSKeyword_fill = 237,
27722         eCSSKeyword_filled = 238,
27723         eCSSKeyword_fill_box = 239,
27724         eCSSKeyword_first = 240,
27725         eCSSKeyword_fit_content = 241,
27726         eCSSKeyword_fixed = 242,
27727         eCSSKeyword_flat = 243,
27728         eCSSKeyword_flex = 244,
27729         eCSSKeyword_flex_end = 245,
27730         eCSSKeyword_flex_start = 246,
27731         eCSSKeyword_flip = 247,
27732         eCSSKeyword_flow_root = 248,
27733         eCSSKeyword_forwards = 249,
27734         eCSSKeyword_fraktur = 250,
27735         eCSSKeyword_frames = 251,
27736         eCSSKeyword_from_image = 252,
27737         eCSSKeyword_full_width = 253,
27738         eCSSKeyword_fullscreen = 254,
27739         eCSSKeyword_grab = 255,
27740         eCSSKeyword_grabbing = 256,
27741         eCSSKeyword_grad = 257,
27742         eCSSKeyword_grayscale = 258,
27743         eCSSKeyword_graytext = 259,
27744         eCSSKeyword_grid = 260,
27745         eCSSKeyword_groove = 261,
27746         eCSSKeyword_hard_light = 262,
27747         eCSSKeyword_help = 263,
27748         eCSSKeyword_hidden = 264,
27749         eCSSKeyword_hide = 265,
27750         eCSSKeyword_highlight = 266,
27751         eCSSKeyword_highlighttext = 267,
27752         eCSSKeyword_historical_forms = 268,
27753         eCSSKeyword_historical_ligatures = 269,
27754         eCSSKeyword_horizontal = 270,
27755         eCSSKeyword_horizontal_tb = 271,
27756         eCSSKeyword_hue = 272,
27757         eCSSKeyword_hue_rotate = 273,
27758         eCSSKeyword_hz = 274,
27759         eCSSKeyword_icon = 275,
27760         eCSSKeyword_ignore = 276,
27761         eCSSKeyword_ignore_horizontal = 277,
27762         eCSSKeyword_ignore_vertical = 278,
27763         eCSSKeyword_in = 279,
27764         eCSSKeyword_interlace = 280,
27765         eCSSKeyword_inactive = 281,
27766         eCSSKeyword_inactiveborder = 282,
27767         eCSSKeyword_inactivecaption = 283,
27768         eCSSKeyword_inactivecaptiontext = 284,
27769         eCSSKeyword_infinite = 285,
27770         eCSSKeyword_infobackground = 286,
27771         eCSSKeyword_infotext = 287,
27772         eCSSKeyword_inherit = 288,
27773         eCSSKeyword_initial = 289,
27774         eCSSKeyword_inline = 290,
27775         eCSSKeyword_inline_axis = 291,
27776         eCSSKeyword_inline_block = 292,
27777         eCSSKeyword_inline_end = 293,
27778         eCSSKeyword_inline_flex = 294,
27779         eCSSKeyword_inline_grid = 295,
27780         eCSSKeyword_inline_start = 296,
27781         eCSSKeyword_inline_table = 297,
27782         eCSSKeyword_inset = 298,
27783         eCSSKeyword_inside = 299,
27784         eCSSKeyword_inter_character = 300,
27785         eCSSKeyword_inter_word = 301,
27786         eCSSKeyword_interpolatematrix = 302,
27787         eCSSKeyword_accumulatematrix = 303,
27788         eCSSKeyword_intersect = 304,
27789         eCSSKeyword_isolate = 305,
27790         eCSSKeyword_isolate_override = 306,
27791         eCSSKeyword_invert = 307,
27792         eCSSKeyword_italic = 308,
27793         eCSSKeyword_jis78 = 309,
27794         eCSSKeyword_jis83 = 310,
27795         eCSSKeyword_jis90 = 311,
27796         eCSSKeyword_jis04 = 312,
27797         eCSSKeyword_justify = 313,
27798         eCSSKeyword_keep_all = 314,
27799         eCSSKeyword_khz = 315,
27800         eCSSKeyword_landscape = 316,
27801         eCSSKeyword_large = 317,
27802         eCSSKeyword_larger = 318,
27803         eCSSKeyword_last = 319,
27804         eCSSKeyword_last_baseline = 320,
27805         eCSSKeyword_layout = 321,
27806         eCSSKeyword_left = 322,
27807         eCSSKeyword_legacy = 323,
27808         eCSSKeyword_lighten = 324,
27809         eCSSKeyword_lighter = 325,
27810         eCSSKeyword_line_through = 326,
27811         eCSSKeyword_linear = 327,
27812         eCSSKeyword_lining_nums = 328,
27813         eCSSKeyword_list_item = 329,
27814         eCSSKeyword_local = 330,
27815         eCSSKeyword_logical = 331,
27816         eCSSKeyword_looped = 332,
27817         eCSSKeyword_lowercase = 333,
27818         eCSSKeyword_lr = 334,
27819         eCSSKeyword_lr_tb = 335,
27820         eCSSKeyword_ltr = 336,
27821         eCSSKeyword_luminance = 337,
27822         eCSSKeyword_luminosity = 338,
27823         eCSSKeyword_mandatory = 339,
27824         eCSSKeyword_manipulation = 340,
27825         eCSSKeyword_manual = 341,
27826         eCSSKeyword_margin_box = 342,
27827         eCSSKeyword_markers = 343,
27828         eCSSKeyword_match_parent = 344,
27829         eCSSKeyword_match_source = 345,
27830         eCSSKeyword_matrix = 346,
27831         eCSSKeyword_matrix3d = 347,
27832         eCSSKeyword_max_content = 348,
27833         eCSSKeyword_medium = 349,
27834         eCSSKeyword_menu = 350,
27835         eCSSKeyword_menutext = 351,
27836         eCSSKeyword_message_box = 352,
27837         eCSSKeyword_middle = 353,
27838         eCSSKeyword_min_content = 354,
27839         eCSSKeyword_minmax = 355,
27840         eCSSKeyword_mix = 356,
27841         eCSSKeyword_mixed = 357,
27842         eCSSKeyword_mm = 358,
27843         eCSSKeyword_monospace = 359,
27844         eCSSKeyword_move = 360,
27845         eCSSKeyword_ms = 361,
27846         eCSSKeyword_multiply = 362,
27847         eCSSKeyword_n_resize = 363,
27848         eCSSKeyword_narrower = 364,
27849         eCSSKeyword_ne_resize = 365,
27850         eCSSKeyword_nesw_resize = 366,
27851         eCSSKeyword_no_clip = 367,
27852         eCSSKeyword_no_close_quote = 368,
27853         eCSSKeyword_no_common_ligatures = 369,
27854         eCSSKeyword_no_contextual = 370,
27855         eCSSKeyword_no_discretionary_ligatures = 371,
27856         eCSSKeyword_no_drag = 372,
27857         eCSSKeyword_no_drop = 373,
27858         eCSSKeyword_no_historical_ligatures = 374,
27859         eCSSKeyword_no_open_quote = 375,
27860         eCSSKeyword_no_repeat = 376,
27861         eCSSKeyword_none = 377,
27862         eCSSKeyword_normal = 378,
27863         eCSSKeyword_not_allowed = 379,
27864         eCSSKeyword_nowrap = 380,
27865         eCSSKeyword_numeric = 381,
27866         eCSSKeyword_ns_resize = 382,
27867         eCSSKeyword_nw_resize = 383,
27868         eCSSKeyword_nwse_resize = 384,
27869         eCSSKeyword_oblique = 385,
27870         eCSSKeyword_oldstyle_nums = 386,
27871         eCSSKeyword_opacity = 387,
27872         eCSSKeyword_open = 388,
27873         eCSSKeyword_open_quote = 389,
27874         eCSSKeyword_optional = 390,
27875         eCSSKeyword_ordinal = 391,
27876         eCSSKeyword_ornaments = 392,
27877         eCSSKeyword_outset = 393,
27878         eCSSKeyword_outside = 394,
27879         eCSSKeyword_over = 395,
27880         eCSSKeyword_overlay = 396,
27881         eCSSKeyword_overline = 397,
27882         eCSSKeyword_paint = 398,
27883         eCSSKeyword_padding_box = 399,
27884         eCSSKeyword_painted = 400,
27885         eCSSKeyword_pan_x = 401,
27886         eCSSKeyword_pan_y = 402,
27887         eCSSKeyword_paused = 403,
27888         eCSSKeyword_pc = 404,
27889         eCSSKeyword_perspective = 405,
27890         eCSSKeyword_petite_caps = 406,
27891         eCSSKeyword_physical = 407,
27892         eCSSKeyword_plaintext = 408,
27893         eCSSKeyword_pointer = 409,
27894         eCSSKeyword_polygon = 410,
27895         eCSSKeyword_portrait = 411,
27896         eCSSKeyword_pre = 412,
27897         eCSSKeyword_pre_wrap = 413,
27898         eCSSKeyword_pre_line = 414,
27899         eCSSKeyword_preserve_3d = 415,
27900         eCSSKeyword_progress = 416,
27901         eCSSKeyword_progressive = 417,
27902         eCSSKeyword_proportional_nums = 418,
27903         eCSSKeyword_proportional_width = 419,
27904         eCSSKeyword_proximity = 420,
27905         eCSSKeyword_pt = 421,
27906         eCSSKeyword_px = 422,
27907         eCSSKeyword_rad = 423,
27908         eCSSKeyword_read_only = 424,
27909         eCSSKeyword_read_write = 425,
27910         eCSSKeyword_relative = 426,
27911         eCSSKeyword_repeat = 427,
27912         eCSSKeyword_repeat_x = 428,
27913         eCSSKeyword_repeat_y = 429,
27914         eCSSKeyword_reverse = 430,
27915         eCSSKeyword_ridge = 431,
27916         eCSSKeyword_right = 432,
27917         eCSSKeyword_rl = 433,
27918         eCSSKeyword_rl_tb = 434,
27919         eCSSKeyword_rotate = 435,
27920         eCSSKeyword_rotate3d = 436,
27921         eCSSKeyword_rotatex = 437,
27922         eCSSKeyword_rotatey = 438,
27923         eCSSKeyword_rotatez = 439,
27924         eCSSKeyword_round = 440,
27925         eCSSKeyword_row = 441,
27926         eCSSKeyword_row_resize = 442,
27927         eCSSKeyword_row_reverse = 443,
27928         eCSSKeyword_rtl = 444,
27929         eCSSKeyword_ruby = 445,
27930         eCSSKeyword_ruby_base = 446,
27931         eCSSKeyword_ruby_base_container = 447,
27932         eCSSKeyword_ruby_text = 448,
27933         eCSSKeyword_ruby_text_container = 449,
27934         eCSSKeyword_running = 450,
27935         eCSSKeyword_s = 451,
27936         eCSSKeyword_s_resize = 452,
27937         eCSSKeyword_safe = 453,
27938         eCSSKeyword_saturate = 454,
27939         eCSSKeyword_saturation = 455,
27940         eCSSKeyword_scale = 456,
27941         eCSSKeyword_scale_down = 457,
27942         eCSSKeyword_scale3d = 458,
27943         eCSSKeyword_scalex = 459,
27944         eCSSKeyword_scaley = 460,
27945         eCSSKeyword_scalez = 461,
27946         eCSSKeyword_screen = 462,
27947         eCSSKeyword_script = 463,
27948         eCSSKeyword_scroll = 464,
27949         eCSSKeyword_scrollbar = 465,
27950         eCSSKeyword_scrollbar_small = 466,
27951         eCSSKeyword_scrollbar_horizontal = 467,
27952         eCSSKeyword_scrollbar_vertical = 468,
27953         eCSSKeyword_se_resize = 469,
27954         eCSSKeyword_select_after = 470,
27955         eCSSKeyword_select_all = 471,
27956         eCSSKeyword_select_before = 472,
27957         eCSSKeyword_select_menu = 473,
27958         eCSSKeyword_select_same = 474,
27959         eCSSKeyword_self_end = 475,
27960         eCSSKeyword_self_start = 476,
27961         eCSSKeyword_semi_condensed = 477,
27962         eCSSKeyword_semi_expanded = 478,
27963         eCSSKeyword_separate = 479,
27964         eCSSKeyword_sepia = 480,
27965         eCSSKeyword_serif = 481,
27966         eCSSKeyword_sesame = 482,
27967         eCSSKeyword_show = 483,
27968         eCSSKeyword_sideways = 484,
27969         eCSSKeyword_sideways_lr = 485,
27970         eCSSKeyword_sideways_right = 486,
27971         eCSSKeyword_sideways_rl = 487,
27972         eCSSKeyword_simplified = 488,
27973         eCSSKeyword_skew = 489,
27974         eCSSKeyword_skewx = 490,
27975         eCSSKeyword_skewy = 491,
27976         eCSSKeyword_slashed_zero = 492,
27977         eCSSKeyword_slice = 493,
27978         eCSSKeyword_small = 494,
27979         eCSSKeyword_small_caps = 495,
27980         eCSSKeyword_small_caption = 496,
27981         eCSSKeyword_smaller = 497,
27982         eCSSKeyword_smooth = 498,
27983         eCSSKeyword_soft = 499,
27984         eCSSKeyword_soft_light = 500,
27985         eCSSKeyword_solid = 501,
27986         eCSSKeyword_space_around = 502,
27987         eCSSKeyword_space_between = 503,
27988         eCSSKeyword_space_evenly = 504,
27989         eCSSKeyword_span = 505,
27990         eCSSKeyword_spell_out = 506,
27991         eCSSKeyword_square = 507,
27992         eCSSKeyword_stacked_fractions = 508,
27993         eCSSKeyword_start = 509,
27994         eCSSKeyword_static = 510,
27995         eCSSKeyword_standalone = 511,
27996         eCSSKeyword_status_bar = 512,
27997         eCSSKeyword_step_end = 513,
27998         eCSSKeyword_step_start = 514,
27999         eCSSKeyword_sticky = 515,
28000         eCSSKeyword_stretch = 516,
28001         eCSSKeyword_stretch_to_fit = 517,
28002         eCSSKeyword_stretched = 518,
28003         eCSSKeyword_strict = 519,
28004         eCSSKeyword_stroke = 520,
28005         eCSSKeyword_stroke_box = 521,
28006         eCSSKeyword_style = 522,
28007         eCSSKeyword_styleset = 523,
28008         eCSSKeyword_stylistic = 524,
28009         eCSSKeyword_sub = 525,
28010         eCSSKeyword_subgrid = 526,
28011         eCSSKeyword_subtract = 527,
28012         eCSSKeyword_super = 528,
28013         eCSSKeyword_sw_resize = 529,
28014         eCSSKeyword_swash = 530,
28015         eCSSKeyword_swap = 531,
28016         eCSSKeyword_table = 532,
28017         eCSSKeyword_table_caption = 533,
28018         eCSSKeyword_table_cell = 534,
28019         eCSSKeyword_table_column = 535,
28020         eCSSKeyword_table_column_group = 536,
28021         eCSSKeyword_table_footer_group = 537,
28022         eCSSKeyword_table_header_group = 538,
28023         eCSSKeyword_table_row = 539,
28024         eCSSKeyword_table_row_group = 540,
28025         eCSSKeyword_tabular_nums = 541,
28026         eCSSKeyword_tailed = 542,
28027         eCSSKeyword_tb = 543,
28028         eCSSKeyword_tb_rl = 544,
28029         eCSSKeyword_text = 545,
28030         eCSSKeyword_text_bottom = 546,
28031         eCSSKeyword_text_top = 547,
28032         eCSSKeyword_thick = 548,
28033         eCSSKeyword_thin = 549,
28034         eCSSKeyword_threeddarkshadow = 550,
28035         eCSSKeyword_threedface = 551,
28036         eCSSKeyword_threedhighlight = 552,
28037         eCSSKeyword_threedlightshadow = 553,
28038         eCSSKeyword_threedshadow = 554,
28039         eCSSKeyword_titling_caps = 555,
28040         eCSSKeyword_toggle = 556,
28041         eCSSKeyword_top = 557,
28042         eCSSKeyword_top_outside = 558,
28043         eCSSKeyword_traditional = 559,
28044         eCSSKeyword_translate = 560,
28045         eCSSKeyword_translate3d = 561,
28046         eCSSKeyword_translatex = 562,
28047         eCSSKeyword_translatey = 563,
28048         eCSSKeyword_translatez = 564,
28049         eCSSKeyword_transparent = 565,
28050         eCSSKeyword_triangle = 566,
28051         eCSSKeyword_tri_state = 567,
28052         eCSSKeyword_ultra_condensed = 568,
28053         eCSSKeyword_ultra_expanded = 569,
28054         eCSSKeyword_under = 570,
28055         eCSSKeyword_underline = 571,
28056         eCSSKeyword_unicase = 572,
28057         eCSSKeyword_unsafe = 573,
28058         eCSSKeyword_unset = 574,
28059         eCSSKeyword_uppercase = 575,
28060         eCSSKeyword_upright = 576,
28061         eCSSKeyword_vertical = 577,
28062         eCSSKeyword_vertical_lr = 578,
28063         eCSSKeyword_vertical_rl = 579,
28064         eCSSKeyword_vertical_text = 580,
28065         eCSSKeyword_view_box = 581,
28066         eCSSKeyword_visible = 582,
28067         eCSSKeyword_visiblefill = 583,
28068         eCSSKeyword_visiblepainted = 584,
28069         eCSSKeyword_visiblestroke = 585,
28070         eCSSKeyword_w_resize = 586,
28071         eCSSKeyword_wait = 587,
28072         eCSSKeyword_wavy = 588,
28073         eCSSKeyword_weight = 589,
28074         eCSSKeyword_wider = 590,
28075         eCSSKeyword_window = 591,
28076         eCSSKeyword_windowframe = 592,
28077         eCSSKeyword_windowtext = 593,
28078         eCSSKeyword_words = 594,
28079         eCSSKeyword_wrap = 595,
28080         eCSSKeyword_wrap_reverse = 596,
28081         eCSSKeyword_write_only = 597,
28082         eCSSKeyword_x_large = 598,
28083         eCSSKeyword_x_small = 599,
28084         eCSSKeyword_xx_large = 600,
28085         eCSSKeyword_xx_small = 601,
28086         eCSSKeyword_zoom_in = 602,
28087         eCSSKeyword_zoom_out = 603,
28088         eCSSKeyword_radio = 604,
28089         eCSSKeyword_checkbox = 605,
28090         eCSSKeyword_button_bevel = 606,
28091         eCSSKeyword_toolbox = 607,
28092         eCSSKeyword_toolbar = 608,
28093         eCSSKeyword_toolbarbutton = 609,
28094         eCSSKeyword_toolbargripper = 610,
28095         eCSSKeyword_dualbutton = 611,
28096         eCSSKeyword_toolbarbutton_dropdown = 612,
28097         eCSSKeyword_button_arrow_up = 613,
28098         eCSSKeyword_button_arrow_down = 614,
28099         eCSSKeyword_button_arrow_next = 615,
28100         eCSSKeyword_button_arrow_previous = 616,
28101         eCSSKeyword_separator = 617,
28102         eCSSKeyword_splitter = 618,
28103         eCSSKeyword_statusbar = 619,
28104         eCSSKeyword_statusbarpanel = 620,
28105         eCSSKeyword_resizerpanel = 621,
28106         eCSSKeyword_resizer = 622,
28107         eCSSKeyword_listbox = 623,
28108         eCSSKeyword_listitem = 624,
28109         eCSSKeyword_numbers = 625,
28110         eCSSKeyword_number_input = 626,
28111         eCSSKeyword_treeview = 627,
28112         eCSSKeyword_treeitem = 628,
28113         eCSSKeyword_treetwisty = 629,
28114         eCSSKeyword_treetwistyopen = 630,
28115         eCSSKeyword_treeline = 631,
28116         eCSSKeyword_treeheader = 632,
28117         eCSSKeyword_treeheadercell = 633,
28118         eCSSKeyword_treeheadersortarrow = 634,
28119         eCSSKeyword_progressbar = 635,
28120         eCSSKeyword_progressbar_vertical = 636,
28121         eCSSKeyword_progresschunk = 637,
28122         eCSSKeyword_progresschunk_vertical = 638,
28123         eCSSKeyword_tab = 639,
28124         eCSSKeyword_tabpanels = 640,
28125         eCSSKeyword_tabpanel = 641,
28126         eCSSKeyword_tab_scroll_arrow_back = 642,
28127         eCSSKeyword_tab_scroll_arrow_forward = 643,
28128         eCSSKeyword_tooltip = 644,
28129         eCSSKeyword_inner_spin_button = 645,
28130         eCSSKeyword_spinner = 646,
28131         eCSSKeyword_spinner_upbutton = 647,
28132         eCSSKeyword_spinner_downbutton = 648,
28133         eCSSKeyword_spinner_textfield = 649,
28134         eCSSKeyword_scrollbarbutton_up = 650,
28135         eCSSKeyword_scrollbarbutton_down = 651,
28136         eCSSKeyword_scrollbarbutton_left = 652,
28137         eCSSKeyword_scrollbarbutton_right = 653,
28138         eCSSKeyword_scrollbartrack_horizontal = 654,
28139         eCSSKeyword_scrollbartrack_vertical = 655,
28140         eCSSKeyword_scrollbarthumb_horizontal = 656,
28141         eCSSKeyword_scrollbarthumb_vertical = 657,
28142         eCSSKeyword_sheet = 658,
28143         eCSSKeyword_textfield = 659,
28144         eCSSKeyword_textfield_multiline = 660,
28145         eCSSKeyword_caret = 661,
28146         eCSSKeyword_searchfield = 662,
28147         eCSSKeyword_menubar = 663,
28148         eCSSKeyword_menupopup = 664,
28149         eCSSKeyword_menuitem = 665,
28150         eCSSKeyword_checkmenuitem = 666,
28151         eCSSKeyword_radiomenuitem = 667,
28152         eCSSKeyword_menucheckbox = 668,
28153         eCSSKeyword_menuradio = 669,
28154         eCSSKeyword_menuseparator = 670,
28155         eCSSKeyword_menuarrow = 671,
28156         eCSSKeyword_menuimage = 672,
28157         eCSSKeyword_menuitemtext = 673,
28158         eCSSKeyword_menulist = 674,
28159         eCSSKeyword_menulist_button = 675,
28160         eCSSKeyword_menulist_text = 676,
28161         eCSSKeyword_menulist_textfield = 677,
28162         eCSSKeyword_meterbar = 678,
28163         eCSSKeyword_meterchunk = 679,
28164         eCSSKeyword_minimal_ui = 680,
28165         eCSSKeyword_range = 681,
28166         eCSSKeyword_range_thumb = 682,
28167         eCSSKeyword_sans_serif = 683,
28168         eCSSKeyword_sans_serif_bold_italic = 684,
28169         eCSSKeyword_sans_serif_italic = 685,
28170         eCSSKeyword_scale_horizontal = 686,
28171         eCSSKeyword_scale_vertical = 687,
28172         eCSSKeyword_scalethumb_horizontal = 688,
28173         eCSSKeyword_scalethumb_vertical = 689,
28174         eCSSKeyword_scalethumbstart = 690,
28175         eCSSKeyword_scalethumbend = 691,
28176         eCSSKeyword_scalethumbtick = 692,
28177         eCSSKeyword_groupbox = 693,
28178         eCSSKeyword_checkbox_container = 694,
28179         eCSSKeyword_radio_container = 695,
28180         eCSSKeyword_checkbox_label = 696,
28181         eCSSKeyword_radio_label = 697,
28182         eCSSKeyword_button_focus = 698,
28183         eCSSKeyword__moz_win_media_toolbox = 699,
28184         eCSSKeyword__moz_win_communications_toolbox = 700,
28185         eCSSKeyword__moz_win_browsertabbar_toolbox = 701,
28186         eCSSKeyword__moz_win_accentcolor = 702,
28187         eCSSKeyword__moz_win_accentcolortext = 703,
28188         eCSSKeyword__moz_win_mediatext = 704,
28189         eCSSKeyword__moz_win_communicationstext = 705,
28190         eCSSKeyword__moz_win_glass = 706,
28191         eCSSKeyword__moz_win_borderless_glass = 707,
28192         eCSSKeyword__moz_window_titlebar = 708,
28193         eCSSKeyword__moz_window_titlebar_maximized = 709,
28194         eCSSKeyword__moz_window_frame_left = 710,
28195         eCSSKeyword__moz_window_frame_right = 711,
28196         eCSSKeyword__moz_window_frame_bottom = 712,
28197         eCSSKeyword__moz_window_button_close = 713,
28198         eCSSKeyword__moz_window_button_minimize = 714,
28199         eCSSKeyword__moz_window_button_maximize = 715,
28200         eCSSKeyword__moz_window_button_restore = 716,
28201         eCSSKeyword__moz_window_button_box = 717,
28202         eCSSKeyword__moz_window_button_box_maximized = 718,
28203         eCSSKeyword__moz_mac_help_button = 719,
28204         eCSSKeyword__moz_win_exclude_glass = 720,
28205         eCSSKeyword__moz_mac_vibrancy_light = 721,
28206         eCSSKeyword__moz_mac_vibrancy_dark = 722,
28207         eCSSKeyword__moz_mac_vibrant_titlebar_light = 723,
28208         eCSSKeyword__moz_mac_vibrant_titlebar_dark = 724,
28209         eCSSKeyword__moz_mac_disclosure_button_closed = 725,
28210         eCSSKeyword__moz_mac_disclosure_button_open = 726,
28211         eCSSKeyword__moz_mac_source_list = 727,
28212         eCSSKeyword__moz_mac_source_list_selection = 728,
28213         eCSSKeyword__moz_mac_active_source_list_selection = 729,
28214         eCSSKeyword_alphabetic = 730,
28215         eCSSKeyword_bevel = 731,
28216         eCSSKeyword_butt = 732,
28217         eCSSKeyword_central = 733,
28218         eCSSKeyword_crispedges = 734,
28219         eCSSKeyword_evenodd = 735,
28220         eCSSKeyword_geometricprecision = 736,
28221         eCSSKeyword_hanging = 737,
28222         eCSSKeyword_ideographic = 738,
28223         eCSSKeyword_linearrgb = 739,
28224         eCSSKeyword_mathematical = 740,
28225         eCSSKeyword_miter = 741,
28226         eCSSKeyword_no_change = 742,
28227         eCSSKeyword_non_scaling_stroke = 743,
28228         eCSSKeyword_nonzero = 744,
28229         eCSSKeyword_optimizelegibility = 745,
28230         eCSSKeyword_optimizequality = 746,
28231         eCSSKeyword_optimizespeed = 747,
28232         eCSSKeyword_reset_size = 748,
28233         eCSSKeyword_srgb = 749,
28234         eCSSKeyword_symbolic = 750,
28235         eCSSKeyword_symbols = 751,
28236         eCSSKeyword_text_after_edge = 752,
28237         eCSSKeyword_text_before_edge = 753,
28238         eCSSKeyword_use_script = 754,
28239         eCSSKeyword__moz_crisp_edges = 755,
28240         eCSSKeyword_space = 756,
28241         eCSSKeyword_COUNT = 757,
28242     }
28243     pub const nsStyleStructID_nsStyleStructID_None: root::nsStyleStructID = -1;
28244     pub const nsStyleStructID_nsStyleStructID_Inherited_Start: root::nsStyleStructID = 0;
28245     pub const nsStyleStructID_nsStyleStructID_DUMMY1: root::nsStyleStructID = -1;
28246     pub const nsStyleStructID_eStyleStruct_Font: root::nsStyleStructID = 0;
28247     pub const nsStyleStructID_eStyleStruct_Color: root::nsStyleStructID = 1;
28248     pub const nsStyleStructID_eStyleStruct_List: root::nsStyleStructID = 2;
28249     pub const nsStyleStructID_eStyleStruct_Text: root::nsStyleStructID = 3;
28250     pub const nsStyleStructID_eStyleStruct_Visibility: root::nsStyleStructID = 4;
28251     pub const nsStyleStructID_eStyleStruct_UserInterface: root::nsStyleStructID = 5;
28252     pub const nsStyleStructID_eStyleStruct_TableBorder: root::nsStyleStructID = 6;
28253     pub const nsStyleStructID_eStyleStruct_SVG: root::nsStyleStructID = 7;
28254     pub const nsStyleStructID_eStyleStruct_Variables: root::nsStyleStructID = 8;
28255     pub const nsStyleStructID_nsStyleStructID_Reset_Start: root::nsStyleStructID = 9;
28256     pub const nsStyleStructID_nsStyleStructID_DUMMY2: root::nsStyleStructID = 8;
28257     pub const nsStyleStructID_eStyleStruct_Background: root::nsStyleStructID = 9;
28258     pub const nsStyleStructID_eStyleStruct_Position: root::nsStyleStructID = 10;
28259     pub const nsStyleStructID_eStyleStruct_TextReset: root::nsStyleStructID = 11;
28260     pub const nsStyleStructID_eStyleStruct_Display: root::nsStyleStructID = 12;
28261     pub const nsStyleStructID_eStyleStruct_Content: root::nsStyleStructID = 13;
28262     pub const nsStyleStructID_eStyleStruct_UIReset: root::nsStyleStructID = 14;
28263     pub const nsStyleStructID_eStyleStruct_Table: root::nsStyleStructID = 15;
28264     pub const nsStyleStructID_eStyleStruct_Margin: root::nsStyleStructID = 16;
28265     pub const nsStyleStructID_eStyleStruct_Padding: root::nsStyleStructID = 17;
28266     pub const nsStyleStructID_eStyleStruct_Border: root::nsStyleStructID = 18;
28267     pub const nsStyleStructID_eStyleStruct_Outline: root::nsStyleStructID = 19;
28268     pub const nsStyleStructID_eStyleStruct_XUL: root::nsStyleStructID = 20;
28269     pub const nsStyleStructID_eStyleStruct_SVGReset: root::nsStyleStructID = 21;
28270     pub const nsStyleStructID_eStyleStruct_Column: root::nsStyleStructID = 22;
28271     pub const nsStyleStructID_eStyleStruct_Effects: root::nsStyleStructID = 23;
28272     pub const nsStyleStructID_nsStyleStructID_Length: root::nsStyleStructID = 24;
28273     pub const nsStyleStructID_nsStyleStructID_Inherited_Count: root::nsStyleStructID = 9;
28274     pub const nsStyleStructID_nsStyleStructID_Reset_Count: root::nsStyleStructID = 15;
28275     pub type nsStyleStructID = i32;
28276     pub const nsStyleAnimType_eStyleAnimType_Custom: root::nsStyleAnimType = 0;
28277     pub const nsStyleAnimType_eStyleAnimType_Coord: root::nsStyleAnimType = 1;
28278     pub const nsStyleAnimType_eStyleAnimType_Sides_Top: root::nsStyleAnimType = 2;
28279     pub const nsStyleAnimType_eStyleAnimType_Sides_Right: root::nsStyleAnimType = 3;
28280     pub const nsStyleAnimType_eStyleAnimType_Sides_Bottom: root::nsStyleAnimType = 4;
28281     pub const nsStyleAnimType_eStyleAnimType_Sides_Left: root::nsStyleAnimType = 5;
28282     pub const nsStyleAnimType_eStyleAnimType_Corner_TopLeft: root::nsStyleAnimType = 6;
28283     pub const nsStyleAnimType_eStyleAnimType_Corner_TopRight: root::nsStyleAnimType = 7;
28284     pub const nsStyleAnimType_eStyleAnimType_Corner_BottomRight: root::nsStyleAnimType = 8;
28285     pub const nsStyleAnimType_eStyleAnimType_Corner_BottomLeft: root::nsStyleAnimType = 9;
28286     pub const nsStyleAnimType_eStyleAnimType_nscoord: root::nsStyleAnimType = 10;
28287     pub const nsStyleAnimType_eStyleAnimType_float: root::nsStyleAnimType = 11;
28288     pub const nsStyleAnimType_eStyleAnimType_Color: root::nsStyleAnimType = 12;
28289     pub const nsStyleAnimType_eStyleAnimType_ComplexColor: root::nsStyleAnimType = 13;
28290     pub const nsStyleAnimType_eStyleAnimType_PaintServer: root::nsStyleAnimType = 14;
28291     pub const nsStyleAnimType_eStyleAnimType_Shadow: root::nsStyleAnimType = 15;
28292     pub const nsStyleAnimType_eStyleAnimType_Discrete: root::nsStyleAnimType = 16;
28293     pub const nsStyleAnimType_eStyleAnimType_None: root::nsStyleAnimType = 17;
28294     /// Types of animatable values.
28295     pub type nsStyleAnimType = u32;
28296     #[repr(C)]
28297     #[derive(Debug, Copy)]
28298     pub struct nsCSSProps {
28299         pub _address: u8,
28300     }
28301     pub use self::super::root::mozilla::CSSEnabledState as nsCSSProps_EnabledState;
28302     #[repr(C)]
28303     #[derive(Debug, Copy)]
28304     pub struct nsCSSProps_KTableEntry {
28305         pub mKeyword: root::nsCSSKeyword,
28306         pub mValue: i16,
28307     }
28308     #[test]
bindgen_test_layout_nsCSSProps_KTableEntry()28309     fn bindgen_test_layout_nsCSSProps_KTableEntry() {
28310         assert_eq!(
28311             ::std::mem::size_of::<nsCSSProps_KTableEntry>(),
28312             4usize,
28313             concat!("Size of: ", stringify!(nsCSSProps_KTableEntry))
28314         );
28315         assert_eq!(
28316             ::std::mem::align_of::<nsCSSProps_KTableEntry>(),
28317             2usize,
28318             concat!("Alignment of ", stringify!(nsCSSProps_KTableEntry))
28319         );
28320         assert_eq!(
28321             unsafe {
28322                 &(*(::std::ptr::null::<nsCSSProps_KTableEntry>())).mKeyword as *const _ as usize
28323             },
28324             0usize,
28325             concat!(
28326                 "Offset of field: ",
28327                 stringify!(nsCSSProps_KTableEntry),
28328                 "::",
28329                 stringify!(mKeyword)
28330             )
28331         );
28332         assert_eq!(
28333             unsafe {
28334                 &(*(::std::ptr::null::<nsCSSProps_KTableEntry>())).mValue as *const _ as usize
28335             },
28336             2usize,
28337             concat!(
28338                 "Offset of field: ",
28339                 stringify!(nsCSSProps_KTableEntry),
28340                 "::",
28341                 stringify!(mValue)
28342             )
28343         );
28344     }
28345     impl Clone for nsCSSProps_KTableEntry {
clone(&self) -> Self28346         fn clone(&self) -> Self {
28347             *self
28348         }
28349     }
28350     extern "C" {
28351         #[link_name = "\u{1}_ZN10nsCSSProps9kSIDTableE"]
28352         pub static mut nsCSSProps_kSIDTable: [root::nsStyleStructID; 327usize];
28353     }
28354     extern "C" {
28355         #[link_name = "\u{1}_ZN10nsCSSProps18kKeywordTableTableE"]
28356         pub static mut nsCSSProps_kKeywordTableTable:
28357             [*const root::nsCSSProps_KTableEntry; 327usize];
28358     }
28359     extern "C" {
28360         #[link_name = "\u{1}_ZN10nsCSSProps14kAnimTypeTableE"]
28361         pub static mut nsCSSProps_kAnimTypeTable: [root::nsStyleAnimType; 327usize];
28362     }
28363     extern "C" {
28364         #[link_name = "\u{1}_ZN10nsCSSProps23kStyleStructOffsetTableE"]
28365         pub static mut nsCSSProps_kStyleStructOffsetTable: [isize; 327usize];
28366     }
28367     extern "C" {
28368         #[link_name = "\u{1}_ZN10nsCSSProps11kFlagsTableE"]
28369         pub static mut nsCSSProps_kFlagsTable: [u32; 376usize];
28370     }
28371     extern "C" {
28372         #[link_name = "\u{1}_ZN10nsCSSProps19kParserVariantTableE"]
28373         pub static mut nsCSSProps_kParserVariantTable: [u32; 327usize];
28374     }
28375     extern "C" {
28376         #[link_name = "\u{1}_ZN10nsCSSProps17kSubpropertyTableE"]
28377         pub static mut nsCSSProps_kSubpropertyTable: [*const root::nsCSSPropertyID; 49usize];
28378     }
28379     extern "C" {
28380         #[link_name = "\u{1}_ZN10nsCSSProps26gShorthandsContainingTableE"]
28381         pub static mut nsCSSProps_gShorthandsContainingTable:
28382             [*mut root::nsCSSPropertyID; 327usize];
28383     }
28384     extern "C" {
28385         #[link_name = "\u{1}_ZN10nsCSSProps25gShorthandsContainingPoolE"]
28386         pub static mut nsCSSProps_gShorthandsContainingPool: *mut root::nsCSSPropertyID;
28387     }
28388     extern "C" {
28389         #[link_name = "\u{1}_ZN10nsCSSProps22gPropertyCountInStructE"]
28390         pub static mut nsCSSProps_gPropertyCountInStruct: [usize; 24usize];
28391     }
28392     extern "C" {
28393         #[link_name = "\u{1}_ZN10nsCSSProps22gPropertyIndexInStructE"]
28394         pub static mut nsCSSProps_gPropertyIndexInStruct: [usize; 327usize];
28395     }
28396     extern "C" {
28397         #[link_name = "\u{1}_ZN10nsCSSProps18kLogicalGroupTableE"]
28398         pub static mut nsCSSProps_kLogicalGroupTable: [*const root::nsCSSPropertyID; 9usize];
28399     }
28400     extern "C" {
28401         #[link_name = "\u{1}_ZN10nsCSSProps16gPropertyEnabledE"]
28402         pub static mut nsCSSProps_gPropertyEnabled: [bool; 486usize];
28403     }
28404     extern "C" {
28405         #[link_name = "\u{1}_ZN10nsCSSProps13kIDLNameTableE"]
28406         pub static mut nsCSSProps_kIDLNameTable: [*const ::std::os::raw::c_char; 376usize];
28407     }
28408     extern "C" {
28409         #[link_name = "\u{1}_ZN10nsCSSProps25kIDLNameSortPositionTableE"]
28410         pub static mut nsCSSProps_kIDLNameSortPositionTable: [i32; 376usize];
28411     }
28412     extern "C" {
28413         #[link_name = "\u{1}_ZN10nsCSSProps19gPropertyUseCounterE"]
28414         pub static mut nsCSSProps_gPropertyUseCounter: [root::mozilla::UseCounter; 327usize];
28415     }
28416     extern "C" {
28417         #[link_name = "\u{1}_ZN10nsCSSProps25kAnimationDirectionKTableE"]
28418         pub static mut nsCSSProps_kAnimationDirectionKTable: [root::nsCSSProps_KTableEntry; 0usize];
28419     }
28420     extern "C" {
28421         #[link_name = "\u{1}_ZN10nsCSSProps24kAnimationFillModeKTableE"]
28422         pub static mut nsCSSProps_kAnimationFillModeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28423     }
28424     extern "C" {
28425         #[link_name = "\u{1}_ZN10nsCSSProps30kAnimationIterationCountKTableE"]
28426         pub static mut nsCSSProps_kAnimationIterationCountKTable:
28427             [root::nsCSSProps_KTableEntry; 0usize];
28428     }
28429     extern "C" {
28430         #[link_name = "\u{1}_ZN10nsCSSProps25kAnimationPlayStateKTableE"]
28431         pub static mut nsCSSProps_kAnimationPlayStateKTable: [root::nsCSSProps_KTableEntry; 0usize];
28432     }
28433     extern "C" {
28434         #[link_name = "\u{1}_ZN10nsCSSProps30kAnimationTimingFunctionKTableE"]
28435         pub static mut nsCSSProps_kAnimationTimingFunctionKTable:
28436             [root::nsCSSProps_KTableEntry; 0usize];
28437     }
28438     extern "C" {
28439         #[link_name = "\u{1}_ZN10nsCSSProps17kAppearanceKTableE"]
28440         pub static mut nsCSSProps_kAppearanceKTable: [root::nsCSSProps_KTableEntry; 0usize];
28441     }
28442     extern "C" {
28443         #[link_name = "\u{1}_ZN10nsCSSProps14kAzimuthKTableE"]
28444         pub static mut nsCSSProps_kAzimuthKTable: [root::nsCSSProps_KTableEntry; 0usize];
28445     }
28446     extern "C" {
28447         #[link_name = "\u{1}_ZN10nsCSSProps25kBackfaceVisibilityKTableE"]
28448         pub static mut nsCSSProps_kBackfaceVisibilityKTable: [root::nsCSSProps_KTableEntry; 0usize];
28449     }
28450     extern "C" {
28451         #[link_name = "\u{1}_ZN10nsCSSProps21kTransformStyleKTableE"]
28452         pub static mut nsCSSProps_kTransformStyleKTable: [root::nsCSSProps_KTableEntry; 0usize];
28453     }
28454     extern "C" {
28455         #[link_name = "\u{1}_ZN10nsCSSProps27kImageLayerAttachmentKTableE"]
28456         pub static mut nsCSSProps_kImageLayerAttachmentKTable:
28457             [root::nsCSSProps_KTableEntry; 0usize];
28458     }
28459     extern "C" {
28460         #[link_name = "\u{1}_ZN10nsCSSProps23kBackgroundOriginKTableE"]
28461         pub static mut nsCSSProps_kBackgroundOriginKTable: [root::nsCSSProps_KTableEntry; 0usize];
28462     }
28463     extern "C" {
28464         #[link_name = "\u{1}_ZN10nsCSSProps17kMaskOriginKTableE"]
28465         pub static mut nsCSSProps_kMaskOriginKTable: [root::nsCSSProps_KTableEntry; 0usize];
28466     }
28467     extern "C" {
28468         #[link_name = "\u{1}_ZN10nsCSSProps25kImageLayerPositionKTableE"]
28469         pub static mut nsCSSProps_kImageLayerPositionKTable: [root::nsCSSProps_KTableEntry; 0usize];
28470     }
28471     extern "C" {
28472         #[link_name = "\u{1}_ZN10nsCSSProps23kImageLayerRepeatKTableE"]
28473         pub static mut nsCSSProps_kImageLayerRepeatKTable: [root::nsCSSProps_KTableEntry; 0usize];
28474     }
28475     extern "C" {
28476         #[link_name = "\u{1}_ZN10nsCSSProps27kImageLayerRepeatPartKTableE"]
28477         pub static mut nsCSSProps_kImageLayerRepeatPartKTable:
28478             [root::nsCSSProps_KTableEntry; 0usize];
28479     }
28480     extern "C" {
28481         #[link_name = "\u{1}_ZN10nsCSSProps21kImageLayerSizeKTableE"]
28482         pub static mut nsCSSProps_kImageLayerSizeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28483     }
28484     extern "C" {
28485         #[link_name = "\u{1}_ZN10nsCSSProps26kImageLayerCompositeKTableE"]
28486         pub static mut nsCSSProps_kImageLayerCompositeKTable:
28487             [root::nsCSSProps_KTableEntry; 0usize];
28488     }
28489     extern "C" {
28490         #[link_name = "\u{1}_ZN10nsCSSProps21kImageLayerModeKTableE"]
28491         pub static mut nsCSSProps_kImageLayerModeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28492     }
28493     extern "C" {
28494         #[link_name = "\u{1}_ZN10nsCSSProps21kBackgroundClipKTableE"]
28495         pub static mut nsCSSProps_kBackgroundClipKTable: [root::nsCSSProps_KTableEntry; 0usize];
28496     }
28497     extern "C" {
28498         #[link_name = "\u{1}_ZN10nsCSSProps15kMaskClipKTableE"]
28499         pub static mut nsCSSProps_kMaskClipKTable: [root::nsCSSProps_KTableEntry; 0usize];
28500     }
28501     extern "C" {
28502         #[link_name = "\u{1}_ZN10nsCSSProps16kBlendModeKTableE"]
28503         pub static mut nsCSSProps_kBlendModeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28504     }
28505     extern "C" {
28506         #[link_name = "\u{1}_ZN10nsCSSProps21kBorderCollapseKTableE"]
28507         pub static mut nsCSSProps_kBorderCollapseKTable: [root::nsCSSProps_KTableEntry; 0usize];
28508     }
28509     extern "C" {
28510         #[link_name = "\u{1}_ZN10nsCSSProps24kBorderImageRepeatKTableE"]
28511         pub static mut nsCSSProps_kBorderImageRepeatKTable: [root::nsCSSProps_KTableEntry; 0usize];
28512     }
28513     extern "C" {
28514         #[link_name = "\u{1}_ZN10nsCSSProps23kBorderImageSliceKTableE"]
28515         pub static mut nsCSSProps_kBorderImageSliceKTable: [root::nsCSSProps_KTableEntry; 0usize];
28516     }
28517     extern "C" {
28518         #[link_name = "\u{1}_ZN10nsCSSProps18kBorderStyleKTableE"]
28519         pub static mut nsCSSProps_kBorderStyleKTable: [root::nsCSSProps_KTableEntry; 0usize];
28520     }
28521     extern "C" {
28522         #[link_name = "\u{1}_ZN10nsCSSProps18kBorderWidthKTableE"]
28523         pub static mut nsCSSProps_kBorderWidthKTable: [root::nsCSSProps_KTableEntry; 0usize];
28524     }
28525     extern "C" {
28526         #[link_name = "\u{1}_ZN10nsCSSProps15kBoxAlignKTableE"]
28527         pub static mut nsCSSProps_kBoxAlignKTable: [root::nsCSSProps_KTableEntry; 0usize];
28528     }
28529     extern "C" {
28530         #[link_name = "\u{1}_ZN10nsCSSProps25kBoxDecorationBreakKTableE"]
28531         pub static mut nsCSSProps_kBoxDecorationBreakKTable: [root::nsCSSProps_KTableEntry; 0usize];
28532     }
28533     extern "C" {
28534         #[link_name = "\u{1}_ZN10nsCSSProps19kBoxDirectionKTableE"]
28535         pub static mut nsCSSProps_kBoxDirectionKTable: [root::nsCSSProps_KTableEntry; 0usize];
28536     }
28537     extern "C" {
28538         #[link_name = "\u{1}_ZN10nsCSSProps16kBoxOrientKTableE"]
28539         pub static mut nsCSSProps_kBoxOrientKTable: [root::nsCSSProps_KTableEntry; 0usize];
28540     }
28541     extern "C" {
28542         #[link_name = "\u{1}_ZN10nsCSSProps14kBoxPackKTableE"]
28543         pub static mut nsCSSProps_kBoxPackKTable: [root::nsCSSProps_KTableEntry; 0usize];
28544     }
28545     extern "C" {
28546         #[link_name = "\u{1}_ZN10nsCSSProps26kClipPathGeometryBoxKTableE"]
28547         pub static mut nsCSSProps_kClipPathGeometryBoxKTable:
28548             [root::nsCSSProps_KTableEntry; 0usize];
28549     }
28550     extern "C" {
28551         #[link_name = "\u{1}_ZN10nsCSSProps19kCounterRangeKTableE"]
28552         pub static mut nsCSSProps_kCounterRangeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28553     }
28554     extern "C" {
28555         #[link_name = "\u{1}_ZN10nsCSSProps21kCounterSpeakAsKTableE"]
28556         pub static mut nsCSSProps_kCounterSpeakAsKTable: [root::nsCSSProps_KTableEntry; 0usize];
28557     }
28558     extern "C" {
28559         #[link_name = "\u{1}_ZN10nsCSSProps27kCounterSymbolsSystemKTableE"]
28560         pub static mut nsCSSProps_kCounterSymbolsSystemKTable:
28561             [root::nsCSSProps_KTableEntry; 0usize];
28562     }
28563     extern "C" {
28564         #[link_name = "\u{1}_ZN10nsCSSProps20kCounterSystemKTableE"]
28565         pub static mut nsCSSProps_kCounterSystemKTable: [root::nsCSSProps_KTableEntry; 0usize];
28566     }
28567     extern "C" {
28568         #[link_name = "\u{1}_ZN10nsCSSProps23kDominantBaselineKTableE"]
28569         pub static mut nsCSSProps_kDominantBaselineKTable: [root::nsCSSProps_KTableEntry; 0usize];
28570     }
28571     extern "C" {
28572         #[link_name = "\u{1}_ZN10nsCSSProps18kShapeRadiusKTableE"]
28573         pub static mut nsCSSProps_kShapeRadiusKTable: [root::nsCSSProps_KTableEntry; 0usize];
28574     }
28575     extern "C" {
28576         #[link_name = "\u{1}_ZN10nsCSSProps15kFillRuleKTableE"]
28577         pub static mut nsCSSProps_kFillRuleKTable: [root::nsCSSProps_KTableEntry; 0usize];
28578     }
28579     extern "C" {
28580         #[link_name = "\u{1}_ZN10nsCSSProps21kFilterFunctionKTableE"]
28581         pub static mut nsCSSProps_kFilterFunctionKTable: [root::nsCSSProps_KTableEntry; 0usize];
28582     }
28583     extern "C" {
28584         #[link_name = "\u{1}_ZN10nsCSSProps21kImageRenderingKTableE"]
28585         pub static mut nsCSSProps_kImageRenderingKTable: [root::nsCSSProps_KTableEntry; 0usize];
28586     }
28587     extern "C" {
28588         #[link_name = "\u{1}_ZN10nsCSSProps27kShapeOutsideShapeBoxKTableE"]
28589         pub static mut nsCSSProps_kShapeOutsideShapeBoxKTable:
28590             [root::nsCSSProps_KTableEntry; 0usize];
28591     }
28592     extern "C" {
28593         #[link_name = "\u{1}_ZN10nsCSSProps21kShapeRenderingKTableE"]
28594         pub static mut nsCSSProps_kShapeRenderingKTable: [root::nsCSSProps_KTableEntry; 0usize];
28595     }
28596     extern "C" {
28597         #[link_name = "\u{1}_ZN10nsCSSProps20kStrokeLinecapKTableE"]
28598         pub static mut nsCSSProps_kStrokeLinecapKTable: [root::nsCSSProps_KTableEntry; 0usize];
28599     }
28600     extern "C" {
28601         #[link_name = "\u{1}_ZN10nsCSSProps21kStrokeLinejoinKTableE"]
28602         pub static mut nsCSSProps_kStrokeLinejoinKTable: [root::nsCSSProps_KTableEntry; 0usize];
28603     }
28604     extern "C" {
28605         #[link_name = "\u{1}_ZN10nsCSSProps25kStrokeContextValueKTableE"]
28606         pub static mut nsCSSProps_kStrokeContextValueKTable: [root::nsCSSProps_KTableEntry; 0usize];
28607     }
28608     extern "C" {
28609         #[link_name = "\u{1}_ZN10nsCSSProps19kVectorEffectKTableE"]
28610         pub static mut nsCSSProps_kVectorEffectKTable: [root::nsCSSProps_KTableEntry; 0usize];
28611     }
28612     extern "C" {
28613         #[link_name = "\u{1}_ZN10nsCSSProps17kTextAnchorKTableE"]
28614         pub static mut nsCSSProps_kTextAnchorKTable: [root::nsCSSProps_KTableEntry; 0usize];
28615     }
28616     extern "C" {
28617         #[link_name = "\u{1}_ZN10nsCSSProps20kTextRenderingKTableE"]
28618         pub static mut nsCSSProps_kTextRenderingKTable: [root::nsCSSProps_KTableEntry; 0usize];
28619     }
28620     extern "C" {
28621         #[link_name = "\u{1}_ZN10nsCSSProps18kColorAdjustKTableE"]
28622         pub static mut nsCSSProps_kColorAdjustKTable: [root::nsCSSProps_KTableEntry; 0usize];
28623     }
28624     extern "C" {
28625         #[link_name = "\u{1}_ZN10nsCSSProps25kColorInterpolationKTableE"]
28626         pub static mut nsCSSProps_kColorInterpolationKTable: [root::nsCSSProps_KTableEntry; 0usize];
28627     }
28628     extern "C" {
28629         #[link_name = "\u{1}_ZN10nsCSSProps17kColumnFillKTableE"]
28630         pub static mut nsCSSProps_kColumnFillKTable: [root::nsCSSProps_KTableEntry; 0usize];
28631     }
28632     extern "C" {
28633         #[link_name = "\u{1}_ZN10nsCSSProps17kColumnSpanKTableE"]
28634         pub static mut nsCSSProps_kColumnSpanKTable: [root::nsCSSProps_KTableEntry; 0usize];
28635     }
28636     extern "C" {
28637         #[link_name = "\u{1}_ZN10nsCSSProps20kBoxPropSourceKTableE"]
28638         pub static mut nsCSSProps_kBoxPropSourceKTable: [root::nsCSSProps_KTableEntry; 0usize];
28639     }
28640     extern "C" {
28641         #[link_name = "\u{1}_ZN10nsCSSProps20kBoxShadowTypeKTableE"]
28642         pub static mut nsCSSProps_kBoxShadowTypeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28643     }
28644     extern "C" {
28645         #[link_name = "\u{1}_ZN10nsCSSProps16kBoxSizingKTableE"]
28646         pub static mut nsCSSProps_kBoxSizingKTable: [root::nsCSSProps_KTableEntry; 0usize];
28647     }
28648     extern "C" {
28649         #[link_name = "\u{1}_ZN10nsCSSProps18kCaptionSideKTableE"]
28650         pub static mut nsCSSProps_kCaptionSideKTable: [root::nsCSSProps_KTableEntry; 0usize];
28651     }
28652     extern "C" {
28653         #[link_name = "\u{1}_ZN10nsCSSProps12kClearKTableE"]
28654         pub static mut nsCSSProps_kClearKTable: [root::nsCSSProps_KTableEntry; 0usize];
28655     }
28656     extern "C" {
28657         #[link_name = "\u{1}_ZN10nsCSSProps12kColorKTableE"]
28658         pub static mut nsCSSProps_kColorKTable: [root::nsCSSProps_KTableEntry; 0usize];
28659     }
28660     extern "C" {
28661         #[link_name = "\u{1}_ZN10nsCSSProps14kContentKTableE"]
28662         pub static mut nsCSSProps_kContentKTable: [root::nsCSSProps_KTableEntry; 0usize];
28663     }
28664     extern "C" {
28665         #[link_name = "\u{1}_ZN10nsCSSProps33kControlCharacterVisibilityKTableE"]
28666         pub static mut nsCSSProps_kControlCharacterVisibilityKTable:
28667             [root::nsCSSProps_KTableEntry; 0usize];
28668     }
28669     extern "C" {
28670         #[link_name = "\u{1}_ZN10nsCSSProps13kCursorKTableE"]
28671         pub static mut nsCSSProps_kCursorKTable: [root::nsCSSProps_KTableEntry; 0usize];
28672     }
28673     extern "C" {
28674         #[link_name = "\u{1}_ZN10nsCSSProps16kDirectionKTableE"]
28675         pub static mut nsCSSProps_kDirectionKTable: [root::nsCSSProps_KTableEntry; 0usize];
28676     }
28677     extern "C" {
28678         #[link_name = "\u{1}_ZN10nsCSSProps14kDisplayKTableE"]
28679         pub static mut nsCSSProps_kDisplayKTable: [root::nsCSSProps_KTableEntry; 0usize];
28680     }
28681     extern "C" {
28682         #[link_name = "\u{1}_ZN10nsCSSProps16kElevationKTableE"]
28683         pub static mut nsCSSProps_kElevationKTable: [root::nsCSSProps_KTableEntry; 0usize];
28684     }
28685     extern "C" {
28686         #[link_name = "\u{1}_ZN10nsCSSProps17kEmptyCellsKTableE"]
28687         pub static mut nsCSSProps_kEmptyCellsKTable: [root::nsCSSProps_KTableEntry; 0usize];
28688     }
28689     extern "C" {
28690         #[link_name = "\u{1}_ZN10nsCSSProps17kAlignAllKeywordsE"]
28691         pub static mut nsCSSProps_kAlignAllKeywords: [root::nsCSSProps_KTableEntry; 0usize];
28692     }
28693     extern "C" {
28694         #[link_name = "\u{1}_ZN10nsCSSProps22kAlignOverflowPositionE"]
28695         pub static mut nsCSSProps_kAlignOverflowPosition: [root::nsCSSProps_KTableEntry; 0usize];
28696     }
28697     extern "C" {
28698         #[link_name = "\u{1}_ZN10nsCSSProps18kAlignSelfPositionE"]
28699         pub static mut nsCSSProps_kAlignSelfPosition: [root::nsCSSProps_KTableEntry; 0usize];
28700     }
28701     extern "C" {
28702         #[link_name = "\u{1}_ZN10nsCSSProps12kAlignLegacyE"]
28703         pub static mut nsCSSProps_kAlignLegacy: [root::nsCSSProps_KTableEntry; 0usize];
28704     }
28705     extern "C" {
28706         #[link_name = "\u{1}_ZN10nsCSSProps20kAlignLegacyPositionE"]
28707         pub static mut nsCSSProps_kAlignLegacyPosition: [root::nsCSSProps_KTableEntry; 0usize];
28708     }
28709     extern "C" {
28710         #[link_name = "\u{1}_ZN10nsCSSProps31kAlignAutoNormalStretchBaselineE"]
28711         pub static mut nsCSSProps_kAlignAutoNormalStretchBaseline:
28712             [root::nsCSSProps_KTableEntry; 0usize];
28713     }
28714     extern "C" {
28715         #[link_name = "\u{1}_ZN10nsCSSProps27kAlignNormalStretchBaselineE"]
28716         pub static mut nsCSSProps_kAlignNormalStretchBaseline:
28717             [root::nsCSSProps_KTableEntry; 0usize];
28718     }
28719     extern "C" {
28720         #[link_name = "\u{1}_ZN10nsCSSProps20kAlignNormalBaselineE"]
28721         pub static mut nsCSSProps_kAlignNormalBaseline: [root::nsCSSProps_KTableEntry; 0usize];
28722     }
28723     extern "C" {
28724         #[link_name = "\u{1}_ZN10nsCSSProps25kAlignContentDistributionE"]
28725         pub static mut nsCSSProps_kAlignContentDistribution: [root::nsCSSProps_KTableEntry; 0usize];
28726     }
28727     extern "C" {
28728         #[link_name = "\u{1}_ZN10nsCSSProps21kAlignContentPositionE"]
28729         pub static mut nsCSSProps_kAlignContentPosition: [root::nsCSSProps_KTableEntry; 0usize];
28730     }
28731     extern "C" {
28732         #[link_name = "\u{1}_ZN10nsCSSProps31kAutoCompletionAlignJustifySelfE"]
28733         pub static mut nsCSSProps_kAutoCompletionAlignJustifySelf:
28734             [root::nsCSSProps_KTableEntry; 0usize];
28735     }
28736     extern "C" {
28737         #[link_name = "\u{1}_ZN10nsCSSProps25kAutoCompletionAlignItemsE"]
28738         pub static mut nsCSSProps_kAutoCompletionAlignItems: [root::nsCSSProps_KTableEntry; 0usize];
28739     }
28740     extern "C" {
28741         #[link_name = "\u{1}_ZN10nsCSSProps34kAutoCompletionAlignJustifyContentE"]
28742         pub static mut nsCSSProps_kAutoCompletionAlignJustifyContent:
28743             [root::nsCSSProps_KTableEntry; 0usize];
28744     }
28745     extern "C" {
28746         #[link_name = "\u{1}_ZN10nsCSSProps20kFlexDirectionKTableE"]
28747         pub static mut nsCSSProps_kFlexDirectionKTable: [root::nsCSSProps_KTableEntry; 0usize];
28748     }
28749     extern "C" {
28750         #[link_name = "\u{1}_ZN10nsCSSProps15kFlexWrapKTableE"]
28751         pub static mut nsCSSProps_kFlexWrapKTable: [root::nsCSSProps_KTableEntry; 0usize];
28752     }
28753     extern "C" {
28754         #[link_name = "\u{1}_ZN10nsCSSProps12kFloatKTableE"]
28755         pub static mut nsCSSProps_kFloatKTable: [root::nsCSSProps_KTableEntry; 0usize];
28756     }
28757     extern "C" {
28758         #[link_name = "\u{1}_ZN10nsCSSProps16kFloatEdgeKTableE"]
28759         pub static mut nsCSSProps_kFloatEdgeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28760     }
28761     extern "C" {
28762         #[link_name = "\u{1}_ZN10nsCSSProps18kFontDisplayKTableE"]
28763         pub static mut nsCSSProps_kFontDisplayKTable: [root::nsCSSProps_KTableEntry; 0usize];
28764     }
28765     extern "C" {
28766         #[link_name = "\u{1}_ZN10nsCSSProps11kFontKTableE"]
28767         pub static mut nsCSSProps_kFontKTable: [root::nsCSSProps_KTableEntry; 0usize];
28768     }
28769     extern "C" {
28770         #[link_name = "\u{1}_ZN10nsCSSProps18kFontKerningKTableE"]
28771         pub static mut nsCSSProps_kFontKerningKTable: [root::nsCSSProps_KTableEntry; 0usize];
28772     }
28773     extern "C" {
28774         #[link_name = "\u{1}_ZN10nsCSSProps24kFontOpticalSizingKTableE"]
28775         pub static mut nsCSSProps_kFontOpticalSizingKTable: [root::nsCSSProps_KTableEntry; 0usize];
28776     }
28777     extern "C" {
28778         #[link_name = "\u{1}_ZN10nsCSSProps15kFontSizeKTableE"]
28779         pub static mut nsCSSProps_kFontSizeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28780     }
28781     extern "C" {
28782         #[link_name = "\u{1}_ZN10nsCSSProps20kFontSmoothingKTableE"]
28783         pub static mut nsCSSProps_kFontSmoothingKTable: [root::nsCSSProps_KTableEntry; 0usize];
28784     }
28785     extern "C" {
28786         #[link_name = "\u{1}_ZN10nsCSSProps18kFontStretchKTableE"]
28787         pub static mut nsCSSProps_kFontStretchKTable: [root::nsCSSProps_KTableEntry; 0usize];
28788     }
28789     extern "C" {
28790         #[link_name = "\u{1}_ZN10nsCSSProps16kFontStyleKTableE"]
28791         pub static mut nsCSSProps_kFontStyleKTable: [root::nsCSSProps_KTableEntry; 0usize];
28792     }
28793     extern "C" {
28794         #[link_name = "\u{1}_ZN10nsCSSProps20kFontSynthesisKTableE"]
28795         pub static mut nsCSSProps_kFontSynthesisKTable: [root::nsCSSProps_KTableEntry; 0usize];
28796     }
28797     extern "C" {
28798         #[link_name = "\u{1}_ZN10nsCSSProps18kFontVariantKTableE"]
28799         pub static mut nsCSSProps_kFontVariantKTable: [root::nsCSSProps_KTableEntry; 0usize];
28800     }
28801     extern "C" {
28802         #[link_name = "\u{1}_ZN10nsCSSProps28kFontVariantAlternatesKTableE"]
28803         pub static mut nsCSSProps_kFontVariantAlternatesKTable:
28804             [root::nsCSSProps_KTableEntry; 0usize];
28805     }
28806     extern "C" {
28807         #[link_name = "\u{1}_ZN10nsCSSProps33kFontVariantAlternatesFuncsKTableE"]
28808         pub static mut nsCSSProps_kFontVariantAlternatesFuncsKTable:
28809             [root::nsCSSProps_KTableEntry; 0usize];
28810     }
28811     extern "C" {
28812         #[link_name = "\u{1}_ZN10nsCSSProps22kFontVariantCapsKTableE"]
28813         pub static mut nsCSSProps_kFontVariantCapsKTable: [root::nsCSSProps_KTableEntry; 0usize];
28814     }
28815     extern "C" {
28816         #[link_name = "\u{1}_ZN10nsCSSProps27kFontVariantEastAsianKTableE"]
28817         pub static mut nsCSSProps_kFontVariantEastAsianKTable:
28818             [root::nsCSSProps_KTableEntry; 0usize];
28819     }
28820     extern "C" {
28821         #[link_name = "\u{1}_ZN10nsCSSProps27kFontVariantLigaturesKTableE"]
28822         pub static mut nsCSSProps_kFontVariantLigaturesKTable:
28823             [root::nsCSSProps_KTableEntry; 0usize];
28824     }
28825     extern "C" {
28826         #[link_name = "\u{1}_ZN10nsCSSProps25kFontVariantNumericKTableE"]
28827         pub static mut nsCSSProps_kFontVariantNumericKTable: [root::nsCSSProps_KTableEntry; 0usize];
28828     }
28829     extern "C" {
28830         #[link_name = "\u{1}_ZN10nsCSSProps26kFontVariantPositionKTableE"]
28831         pub static mut nsCSSProps_kFontVariantPositionKTable:
28832             [root::nsCSSProps_KTableEntry; 0usize];
28833     }
28834     extern "C" {
28835         #[link_name = "\u{1}_ZN10nsCSSProps17kFontWeightKTableE"]
28836         pub static mut nsCSSProps_kFontWeightKTable: [root::nsCSSProps_KTableEntry; 0usize];
28837     }
28838     extern "C" {
28839         #[link_name = "\u{1}_ZN10nsCSSProps19kGridAutoFlowKTableE"]
28840         pub static mut nsCSSProps_kGridAutoFlowKTable: [root::nsCSSProps_KTableEntry; 0usize];
28841     }
28842     extern "C" {
28843         #[link_name = "\u{1}_ZN10nsCSSProps23kGridTrackBreadthKTableE"]
28844         pub static mut nsCSSProps_kGridTrackBreadthKTable: [root::nsCSSProps_KTableEntry; 0usize];
28845     }
28846     extern "C" {
28847         #[link_name = "\u{1}_ZN10nsCSSProps14kHyphensKTableE"]
28848         pub static mut nsCSSProps_kHyphensKTable: [root::nsCSSProps_KTableEntry; 0usize];
28849     }
28850     extern "C" {
28851         #[link_name = "\u{1}_ZN10nsCSSProps23kImageOrientationKTableE"]
28852         pub static mut nsCSSProps_kImageOrientationKTable: [root::nsCSSProps_KTableEntry; 0usize];
28853     }
28854     extern "C" {
28855         #[link_name = "\u{1}_ZN10nsCSSProps27kImageOrientationFlipKTableE"]
28856         pub static mut nsCSSProps_kImageOrientationFlipKTable:
28857             [root::nsCSSProps_KTableEntry; 0usize];
28858     }
28859     extern "C" {
28860         #[link_name = "\u{1}_ZN10nsCSSProps16kIsolationKTableE"]
28861         pub static mut nsCSSProps_kIsolationKTable: [root::nsCSSProps_KTableEntry; 0usize];
28862     }
28863     extern "C" {
28864         #[link_name = "\u{1}_ZN10nsCSSProps14kIMEModeKTableE"]
28865         pub static mut nsCSSProps_kIMEModeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28866     }
28867     extern "C" {
28868         #[link_name = "\u{1}_ZN10nsCSSProps17kLineHeightKTableE"]
28869         pub static mut nsCSSProps_kLineHeightKTable: [root::nsCSSProps_KTableEntry; 0usize];
28870     }
28871     extern "C" {
28872         #[link_name = "\u{1}_ZN10nsCSSProps24kListStylePositionKTableE"]
28873         pub static mut nsCSSProps_kListStylePositionKTable: [root::nsCSSProps_KTableEntry; 0usize];
28874     }
28875     extern "C" {
28876         #[link_name = "\u{1}_ZN10nsCSSProps15kMaskTypeKTableE"]
28877         pub static mut nsCSSProps_kMaskTypeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28878     }
28879     extern "C" {
28880         #[link_name = "\u{1}_ZN10nsCSSProps18kMathVariantKTableE"]
28881         pub static mut nsCSSProps_kMathVariantKTable: [root::nsCSSProps_KTableEntry; 0usize];
28882     }
28883     extern "C" {
28884         #[link_name = "\u{1}_ZN10nsCSSProps18kMathDisplayKTableE"]
28885         pub static mut nsCSSProps_kMathDisplayKTable: [root::nsCSSProps_KTableEntry; 0usize];
28886     }
28887     extern "C" {
28888         #[link_name = "\u{1}_ZN10nsCSSProps14kContainKTableE"]
28889         pub static mut nsCSSProps_kContainKTable: [root::nsCSSProps_KTableEntry; 0usize];
28890     }
28891     extern "C" {
28892         #[link_name = "\u{1}_ZN10nsCSSProps21kContextOpacityKTableE"]
28893         pub static mut nsCSSProps_kContextOpacityKTable: [root::nsCSSProps_KTableEntry; 0usize];
28894     }
28895     extern "C" {
28896         #[link_name = "\u{1}_ZN10nsCSSProps21kContextPatternKTableE"]
28897         pub static mut nsCSSProps_kContextPatternKTable: [root::nsCSSProps_KTableEntry; 0usize];
28898     }
28899     extern "C" {
28900         #[link_name = "\u{1}_ZN10nsCSSProps16kObjectFitKTableE"]
28901         pub static mut nsCSSProps_kObjectFitKTable: [root::nsCSSProps_KTableEntry; 0usize];
28902     }
28903     extern "C" {
28904         #[link_name = "\u{1}_ZN10nsCSSProps13kOrientKTableE"]
28905         pub static mut nsCSSProps_kOrientKTable: [root::nsCSSProps_KTableEntry; 0usize];
28906     }
28907     extern "C" {
28908         #[link_name = "\u{1}_ZN10nsCSSProps19kOutlineStyleKTableE"]
28909         pub static mut nsCSSProps_kOutlineStyleKTable: [root::nsCSSProps_KTableEntry; 0usize];
28910     }
28911     extern "C" {
28912         #[link_name = "\u{1}_ZN10nsCSSProps15kOverflowKTableE"]
28913         pub static mut nsCSSProps_kOverflowKTable: [root::nsCSSProps_KTableEntry; 0usize];
28914     }
28915     extern "C" {
28916         #[link_name = "\u{1}_ZN10nsCSSProps18kOverflowSubKTableE"]
28917         pub static mut nsCSSProps_kOverflowSubKTable: [root::nsCSSProps_KTableEntry; 0usize];
28918     }
28919     extern "C" {
28920         #[link_name = "\u{1}_ZN10nsCSSProps22kOverflowClipBoxKTableE"]
28921         pub static mut nsCSSProps_kOverflowClipBoxKTable: [root::nsCSSProps_KTableEntry; 0usize];
28922     }
28923     extern "C" {
28924         #[link_name = "\u{1}_ZN10nsCSSProps19kOverflowWrapKTableE"]
28925         pub static mut nsCSSProps_kOverflowWrapKTable: [root::nsCSSProps_KTableEntry; 0usize];
28926     }
28927     extern "C" {
28928         #[link_name = "\u{1}_ZN10nsCSSProps16kPageBreakKTableE"]
28929         pub static mut nsCSSProps_kPageBreakKTable: [root::nsCSSProps_KTableEntry; 0usize];
28930     }
28931     extern "C" {
28932         #[link_name = "\u{1}_ZN10nsCSSProps22kPageBreakInsideKTableE"]
28933         pub static mut nsCSSProps_kPageBreakInsideKTable: [root::nsCSSProps_KTableEntry; 0usize];
28934     }
28935     extern "C" {
28936         #[link_name = "\u{1}_ZN10nsCSSProps16kPageMarksKTableE"]
28937         pub static mut nsCSSProps_kPageMarksKTable: [root::nsCSSProps_KTableEntry; 0usize];
28938     }
28939     extern "C" {
28940         #[link_name = "\u{1}_ZN10nsCSSProps15kPageSizeKTableE"]
28941         pub static mut nsCSSProps_kPageSizeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28942     }
28943     extern "C" {
28944         #[link_name = "\u{1}_ZN10nsCSSProps12kPitchKTableE"]
28945         pub static mut nsCSSProps_kPitchKTable: [root::nsCSSProps_KTableEntry; 0usize];
28946     }
28947     extern "C" {
28948         #[link_name = "\u{1}_ZN10nsCSSProps20kPointerEventsKTableE"]
28949         pub static mut nsCSSProps_kPointerEventsKTable: [root::nsCSSProps_KTableEntry; 0usize];
28950     }
28951     extern "C" {
28952         #[link_name = "\u{1}_ZN10nsCSSProps15kPositionKTableE"]
28953         pub static mut nsCSSProps_kPositionKTable: [root::nsCSSProps_KTableEntry; 0usize];
28954     }
28955     extern "C" {
28956         #[link_name = "\u{1}_ZN10nsCSSProps26kRadialGradientShapeKTableE"]
28957         pub static mut nsCSSProps_kRadialGradientShapeKTable:
28958             [root::nsCSSProps_KTableEntry; 0usize];
28959     }
28960     extern "C" {
28961         #[link_name = "\u{1}_ZN10nsCSSProps25kRadialGradientSizeKTableE"]
28962         pub static mut nsCSSProps_kRadialGradientSizeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28963     }
28964     extern "C" {
28965         #[link_name = "\u{1}_ZN10nsCSSProps31kRadialGradientLegacySizeKTableE"]
28966         pub static mut nsCSSProps_kRadialGradientLegacySizeKTable:
28967             [root::nsCSSProps_KTableEntry; 0usize];
28968     }
28969     extern "C" {
28970         #[link_name = "\u{1}_ZN10nsCSSProps13kResizeKTableE"]
28971         pub static mut nsCSSProps_kResizeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28972     }
28973     extern "C" {
28974         #[link_name = "\u{1}_ZN10nsCSSProps16kRubyAlignKTableE"]
28975         pub static mut nsCSSProps_kRubyAlignKTable: [root::nsCSSProps_KTableEntry; 0usize];
28976     }
28977     extern "C" {
28978         #[link_name = "\u{1}_ZN10nsCSSProps19kRubyPositionKTableE"]
28979         pub static mut nsCSSProps_kRubyPositionKTable: [root::nsCSSProps_KTableEntry; 0usize];
28980     }
28981     extern "C" {
28982         #[link_name = "\u{1}_ZN10nsCSSProps21kScrollBehaviorKTableE"]
28983         pub static mut nsCSSProps_kScrollBehaviorKTable: [root::nsCSSProps_KTableEntry; 0usize];
28984     }
28985     extern "C" {
28986         #[link_name = "\u{1}_ZN10nsCSSProps25kOverscrollBehaviorKTableE"]
28987         pub static mut nsCSSProps_kOverscrollBehaviorKTable: [root::nsCSSProps_KTableEntry; 0usize];
28988     }
28989     extern "C" {
28990         #[link_name = "\u{1}_ZN10nsCSSProps21kScrollSnapTypeKTableE"]
28991         pub static mut nsCSSProps_kScrollSnapTypeKTable: [root::nsCSSProps_KTableEntry; 0usize];
28992     }
28993     extern "C" {
28994         #[link_name = "\u{1}_ZN10nsCSSProps12kSpeakKTableE"]
28995         pub static mut nsCSSProps_kSpeakKTable: [root::nsCSSProps_KTableEntry; 0usize];
28996     }
28997     extern "C" {
28998         #[link_name = "\u{1}_ZN10nsCSSProps18kSpeakHeaderKTableE"]
28999         pub static mut nsCSSProps_kSpeakHeaderKTable: [root::nsCSSProps_KTableEntry; 0usize];
29000     }
29001     extern "C" {
29002         #[link_name = "\u{1}_ZN10nsCSSProps19kSpeakNumeralKTableE"]
29003         pub static mut nsCSSProps_kSpeakNumeralKTable: [root::nsCSSProps_KTableEntry; 0usize];
29004     }
29005     extern "C" {
29006         #[link_name = "\u{1}_ZN10nsCSSProps23kSpeakPunctuationKTableE"]
29007         pub static mut nsCSSProps_kSpeakPunctuationKTable: [root::nsCSSProps_KTableEntry; 0usize];
29008     }
29009     extern "C" {
29010         #[link_name = "\u{1}_ZN10nsCSSProps17kSpeechRateKTableE"]
29011         pub static mut nsCSSProps_kSpeechRateKTable: [root::nsCSSProps_KTableEntry; 0usize];
29012     }
29013     extern "C" {
29014         #[link_name = "\u{1}_ZN10nsCSSProps18kStackSizingKTableE"]
29015         pub static mut nsCSSProps_kStackSizingKTable: [root::nsCSSProps_KTableEntry; 0usize];
29016     }
29017     extern "C" {
29018         #[link_name = "\u{1}_ZN10nsCSSProps18kTableLayoutKTableE"]
29019         pub static mut nsCSSProps_kTableLayoutKTable: [root::nsCSSProps_KTableEntry; 0usize];
29020     }
29021     extern "C" {
29022         #[link_name = "\u{1}_ZN10nsCSSProps16kTextAlignKTableE"]
29023         pub static mut nsCSSProps_kTextAlignKTable: [root::nsCSSProps_KTableEntry; 0usize];
29024     }
29025     extern "C" {
29026         #[link_name = "\u{1}_ZN10nsCSSProps20kTextAlignLastKTableE"]
29027         pub static mut nsCSSProps_kTextAlignLastKTable: [root::nsCSSProps_KTableEntry; 0usize];
29028     }
29029     extern "C" {
29030         #[link_name = "\u{1}_ZN10nsCSSProps25kTextCombineUprightKTableE"]
29031         pub static mut nsCSSProps_kTextCombineUprightKTable: [root::nsCSSProps_KTableEntry; 0usize];
29032     }
29033     extern "C" {
29034         #[link_name = "\u{1}_ZN10nsCSSProps25kTextDecorationLineKTableE"]
29035         pub static mut nsCSSProps_kTextDecorationLineKTable: [root::nsCSSProps_KTableEntry; 0usize];
29036     }
29037     extern "C" {
29038         #[link_name = "\u{1}_ZN10nsCSSProps26kTextDecorationStyleKTableE"]
29039         pub static mut nsCSSProps_kTextDecorationStyleKTable:
29040             [root::nsCSSProps_KTableEntry; 0usize];
29041     }
29042     extern "C" {
29043         #[link_name = "\u{1}_ZN10nsCSSProps27kTextEmphasisPositionKTableE"]
29044         pub static mut nsCSSProps_kTextEmphasisPositionKTable:
29045             [root::nsCSSProps_KTableEntry; 0usize];
29046     }
29047     extern "C" {
29048         #[link_name = "\u{1}_ZN10nsCSSProps28kTextEmphasisStyleFillKTableE"]
29049         pub static mut nsCSSProps_kTextEmphasisStyleFillKTable:
29050             [root::nsCSSProps_KTableEntry; 0usize];
29051     }
29052     extern "C" {
29053         #[link_name = "\u{1}_ZN10nsCSSProps29kTextEmphasisStyleShapeKTableE"]
29054         pub static mut nsCSSProps_kTextEmphasisStyleShapeKTable:
29055             [root::nsCSSProps_KTableEntry; 0usize];
29056     }
29057     extern "C" {
29058         #[link_name = "\u{1}_ZN10nsCSSProps18kTextJustifyKTableE"]
29059         pub static mut nsCSSProps_kTextJustifyKTable: [root::nsCSSProps_KTableEntry; 0usize];
29060     }
29061     extern "C" {
29062         #[link_name = "\u{1}_ZN10nsCSSProps22kTextOrientationKTableE"]
29063         pub static mut nsCSSProps_kTextOrientationKTable: [root::nsCSSProps_KTableEntry; 0usize];
29064     }
29065     extern "C" {
29066         #[link_name = "\u{1}_ZN10nsCSSProps19kTextOverflowKTableE"]
29067         pub static mut nsCSSProps_kTextOverflowKTable: [root::nsCSSProps_KTableEntry; 0usize];
29068     }
29069     extern "C" {
29070         #[link_name = "\u{1}_ZN10nsCSSProps21kTextSizeAdjustKTableE"]
29071         pub static mut nsCSSProps_kTextSizeAdjustKTable: [root::nsCSSProps_KTableEntry; 0usize];
29072     }
29073     extern "C" {
29074         #[link_name = "\u{1}_ZN10nsCSSProps20kTextTransformKTableE"]
29075         pub static mut nsCSSProps_kTextTransformKTable: [root::nsCSSProps_KTableEntry; 0usize];
29076     }
29077     extern "C" {
29078         #[link_name = "\u{1}_ZN10nsCSSProps18kTouchActionKTableE"]
29079         pub static mut nsCSSProps_kTouchActionKTable: [root::nsCSSProps_KTableEntry; 0usize];
29080     }
29081     extern "C" {
29082         #[link_name = "\u{1}_ZN10nsCSSProps15kTopLayerKTableE"]
29083         pub static mut nsCSSProps_kTopLayerKTable: [root::nsCSSProps_KTableEntry; 0usize];
29084     }
29085     extern "C" {
29086         #[link_name = "\u{1}_ZN10nsCSSProps19kTransformBoxKTableE"]
29087         pub static mut nsCSSProps_kTransformBoxKTable: [root::nsCSSProps_KTableEntry; 0usize];
29088     }
29089     extern "C" {
29090         #[link_name = "\u{1}_ZN10nsCSSProps31kTransitionTimingFunctionKTableE"]
29091         pub static mut nsCSSProps_kTransitionTimingFunctionKTable:
29092             [root::nsCSSProps_KTableEntry; 0usize];
29093     }
29094     extern "C" {
29095         #[link_name = "\u{1}_ZN10nsCSSProps18kUnicodeBidiKTableE"]
29096         pub static mut nsCSSProps_kUnicodeBidiKTable: [root::nsCSSProps_KTableEntry; 0usize];
29097     }
29098     extern "C" {
29099         #[link_name = "\u{1}_ZN10nsCSSProps16kUserFocusKTableE"]
29100         pub static mut nsCSSProps_kUserFocusKTable: [root::nsCSSProps_KTableEntry; 0usize];
29101     }
29102     extern "C" {
29103         #[link_name = "\u{1}_ZN10nsCSSProps16kUserInputKTableE"]
29104         pub static mut nsCSSProps_kUserInputKTable: [root::nsCSSProps_KTableEntry; 0usize];
29105     }
29106     extern "C" {
29107         #[link_name = "\u{1}_ZN10nsCSSProps17kUserModifyKTableE"]
29108         pub static mut nsCSSProps_kUserModifyKTable: [root::nsCSSProps_KTableEntry; 0usize];
29109     }
29110     extern "C" {
29111         #[link_name = "\u{1}_ZN10nsCSSProps17kUserSelectKTableE"]
29112         pub static mut nsCSSProps_kUserSelectKTable: [root::nsCSSProps_KTableEntry; 0usize];
29113     }
29114     extern "C" {
29115         #[link_name = "\u{1}_ZN10nsCSSProps20kVerticalAlignKTableE"]
29116         pub static mut nsCSSProps_kVerticalAlignKTable: [root::nsCSSProps_KTableEntry; 0usize];
29117     }
29118     extern "C" {
29119         #[link_name = "\u{1}_ZN10nsCSSProps17kVisibilityKTableE"]
29120         pub static mut nsCSSProps_kVisibilityKTable: [root::nsCSSProps_KTableEntry; 0usize];
29121     }
29122     extern "C" {
29123         #[link_name = "\u{1}_ZN10nsCSSProps13kVolumeKTableE"]
29124         pub static mut nsCSSProps_kVolumeKTable: [root::nsCSSProps_KTableEntry; 0usize];
29125     }
29126     extern "C" {
29127         #[link_name = "\u{1}_ZN10nsCSSProps17kWhitespaceKTableE"]
29128         pub static mut nsCSSProps_kWhitespaceKTable: [root::nsCSSProps_KTableEntry; 0usize];
29129     }
29130     extern "C" {
29131         #[link_name = "\u{1}_ZN10nsCSSProps12kWidthKTableE"]
29132         pub static mut nsCSSProps_kWidthKTable: [root::nsCSSProps_KTableEntry; 0usize];
29133     }
29134     extern "C" {
29135         #[link_name = "\u{1}_ZN10nsCSSProps21kWindowDraggingKTableE"]
29136         pub static mut nsCSSProps_kWindowDraggingKTable: [root::nsCSSProps_KTableEntry; 0usize];
29137     }
29138     extern "C" {
29139         #[link_name = "\u{1}_ZN10nsCSSProps19kWindowShadowKTableE"]
29140         pub static mut nsCSSProps_kWindowShadowKTable: [root::nsCSSProps_KTableEntry; 0usize];
29141     }
29142     extern "C" {
29143         #[link_name = "\u{1}_ZN10nsCSSProps16kWordBreakKTableE"]
29144         pub static mut nsCSSProps_kWordBreakKTable: [root::nsCSSProps_KTableEntry; 0usize];
29145     }
29146     extern "C" {
29147         #[link_name = "\u{1}_ZN10nsCSSProps18kWritingModeKTableE"]
29148         pub static mut nsCSSProps_kWritingModeKTable: [root::nsCSSProps_KTableEntry; 0usize];
29149     }
29150     #[test]
bindgen_test_layout_nsCSSProps()29151     fn bindgen_test_layout_nsCSSProps() {
29152         assert_eq!(
29153             ::std::mem::size_of::<nsCSSProps>(),
29154             1usize,
29155             concat!("Size of: ", stringify!(nsCSSProps))
29156         );
29157         assert_eq!(
29158             ::std::mem::align_of::<nsCSSProps>(),
29159             1usize,
29160             concat!("Alignment of ", stringify!(nsCSSProps))
29161         );
29162     }
29163     impl Clone for nsCSSProps {
clone(&self) -> Self29164         fn clone(&self) -> Self {
29165             *self
29166         }
29167     }
29168     /// Class to safely handle main-thread-only pointers off the main thread.
29169     ///
29170     /// Classes like XPCWrappedJS are main-thread-only, which means that it is
29171     /// forbidden to call methods on instances of these classes off the main thread.
29172     /// For various reasons (see bug 771074), this restriction recently began to
29173     /// apply to AddRef/Release as well.
29174     ///
29175     /// This presents a problem for consumers that wish to hold a callback alive
29176     /// on non-main-thread code. A common example of this is the proxy callback
29177     /// pattern, where non-main-thread code holds a strong-reference to the callback
29178     /// object, and dispatches new Runnables (also with a strong reference) to the
29179     /// main thread in order to execute the callback. This involves several AddRef
29180     /// and Release calls on the other thread, which is (now) verboten.
29181     ///
29182     /// The basic idea of this class is to introduce a layer of indirection.
29183     /// nsMainThreadPtrHolder is a threadsafe reference-counted class that internally
29184     /// maintains one strong reference to the main-thread-only object. It must be
29185     /// instantiated on the main thread (so that the AddRef of the underlying object
29186     /// happens on the main thread), but consumers may subsequently pass references
29187     /// to the holder anywhere they please. These references are meant to be opaque
29188     /// when accessed off-main-thread (assertions enforce this).
29189     ///
29190     /// The semantics of RefPtr<nsMainThreadPtrHolder<T> > would be cumbersome, so
29191     /// we also introduce nsMainThreadPtrHandle<T>, which is conceptually identical
29192     /// to the above (though it includes various convenience methods). The basic
29193     /// pattern is as follows.
29194     ///
29195     /// // On the main thread:
29196     /// nsCOMPtr<nsIFooCallback> callback = ...;
29197     /// nsMainThreadPtrHandle<nsIFooCallback> callbackHandle =
29198     /// new nsMainThreadPtrHolder<nsIFooCallback>(callback);
29199     /// // Pass callbackHandle to structs/classes that might be accessed on other
29200     /// // threads.
29201     ///
29202     /// All structs and classes that might be accessed on other threads should store
29203     /// an nsMainThreadPtrHandle<T> rather than an nsCOMPtr<T>.
29204     #[repr(C)]
29205     #[derive(Debug)]
29206     pub struct nsMainThreadPtrHolder<T> {
29207         pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
29208         pub mRawPtr: *mut T,
29209         pub mStrict: bool,
29210         pub mMainThreadEventTarget: root::nsCOMPtr,
29211         pub mName: *const ::std::os::raw::c_char,
29212         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
29213     }
29214     pub type nsMainThreadPtrHolder_HasThreadSafeRefCnt = root::mozilla::TrueType;
29215     #[repr(C)]
29216     #[derive(Debug)]
29217     pub struct nsMainThreadPtrHandle<T> {
29218         pub mPtr: root::RefPtr<root::nsMainThreadPtrHolder<T>>,
29219         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
29220     }
29221     #[repr(u32)]
29222     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
29223     pub enum nsCSSUnit {
29224         eCSSUnit_Null = 0,
29225         eCSSUnit_Auto = 1,
29226         eCSSUnit_Inherit = 2,
29227         eCSSUnit_Initial = 3,
29228         eCSSUnit_Unset = 4,
29229         eCSSUnit_None = 5,
29230         eCSSUnit_Normal = 6,
29231         eCSSUnit_System_Font = 7,
29232         eCSSUnit_All = 8,
29233         eCSSUnit_Dummy = 9,
29234         eCSSUnit_DummyInherit = 10,
29235         eCSSUnit_String = 11,
29236         eCSSUnit_Ident = 12,
29237         eCSSUnit_Attr = 14,
29238         eCSSUnit_Local_Font = 15,
29239         eCSSUnit_Font_Format = 16,
29240         eCSSUnit_Element = 17,
29241         eCSSUnit_Array = 20,
29242         eCSSUnit_Counter = 21,
29243         eCSSUnit_Counters = 22,
29244         eCSSUnit_Cubic_Bezier = 23,
29245         eCSSUnit_Steps = 24,
29246         eCSSUnit_Symbols = 25,
29247         eCSSUnit_Function = 26,
29248         eCSSUnit_Calc = 30,
29249         eCSSUnit_Calc_Plus = 31,
29250         eCSSUnit_Calc_Minus = 32,
29251         eCSSUnit_Calc_Times_L = 33,
29252         eCSSUnit_Calc_Times_R = 34,
29253         eCSSUnit_Calc_Divided = 35,
29254         eCSSUnit_URL = 40,
29255         eCSSUnit_Image = 41,
29256         eCSSUnit_Gradient = 42,
29257         eCSSUnit_TokenStream = 43,
29258         eCSSUnit_GridTemplateAreas = 44,
29259         eCSSUnit_Pair = 50,
29260         eCSSUnit_Triplet = 51,
29261         eCSSUnit_Rect = 52,
29262         eCSSUnit_List = 53,
29263         eCSSUnit_ListDep = 54,
29264         eCSSUnit_SharedList = 55,
29265         eCSSUnit_PairList = 56,
29266         eCSSUnit_PairListDep = 57,
29267         eCSSUnit_FontFamilyList = 58,
29268         eCSSUnit_AtomIdent = 60,
29269         eCSSUnit_Integer = 70,
29270         eCSSUnit_Enumerated = 71,
29271         eCSSUnit_EnumColor = 80,
29272         eCSSUnit_RGBColor = 81,
29273         eCSSUnit_RGBAColor = 82,
29274         eCSSUnit_HexColor = 83,
29275         eCSSUnit_ShortHexColor = 84,
29276         eCSSUnit_HexColorAlpha = 85,
29277         eCSSUnit_ShortHexColorAlpha = 86,
29278         eCSSUnit_PercentageRGBColor = 87,
29279         eCSSUnit_PercentageRGBAColor = 88,
29280         eCSSUnit_HSLColor = 89,
29281         eCSSUnit_HSLAColor = 90,
29282         eCSSUnit_ComplexColor = 91,
29283         eCSSUnit_Percent = 100,
29284         eCSSUnit_Number = 101,
29285         eCSSUnit_ViewportWidth = 700,
29286         eCSSUnit_ViewportHeight = 701,
29287         eCSSUnit_ViewportMin = 702,
29288         eCSSUnit_ViewportMax = 703,
29289         eCSSUnit_EM = 800,
29290         eCSSUnit_XHeight = 801,
29291         eCSSUnit_Char = 802,
29292         eCSSUnit_RootEM = 803,
29293         eCSSUnit_Point = 900,
29294         eCSSUnit_Inch = 901,
29295         eCSSUnit_Millimeter = 902,
29296         eCSSUnit_Centimeter = 903,
29297         eCSSUnit_Pica = 904,
29298         eCSSUnit_Quarter = 905,
29299         eCSSUnit_Pixel = 906,
29300         eCSSUnit_Degree = 1000,
29301         eCSSUnit_Grad = 1001,
29302         eCSSUnit_Radian = 1002,
29303         eCSSUnit_Turn = 1003,
29304         eCSSUnit_Hertz = 2000,
29305         eCSSUnit_Kilohertz = 2001,
29306         eCSSUnit_Seconds = 3000,
29307         eCSSUnit_Milliseconds = 3001,
29308         eCSSUnit_FlexFraction = 4000,
29309     }
29310     #[repr(C)]
29311     #[derive(Debug)]
29312     pub struct nsCSSValue {
29313         pub mUnit: root::nsCSSUnit,
29314         pub mValue: root::nsCSSValue__bindgen_ty_1,
29315     }
29316     #[repr(C)]
29317     #[derive(Debug, Copy)]
29318     pub struct nsCSSValue__bindgen_ty_1 {
29319         pub mInt: root::__BindgenUnionField<i32>,
29320         pub mFloat: root::__BindgenUnionField<f32>,
29321         pub mString: root::__BindgenUnionField<*mut root::nsStringBuffer>,
29322         pub mColor: root::__BindgenUnionField<root::nscolor>,
29323         pub mAtom: root::__BindgenUnionField<*mut root::nsAtom>,
29324         pub mArray: root::__BindgenUnionField<*mut root::nsCSSValue_Array>,
29325         pub mURL: root::__BindgenUnionField<*mut root::mozilla::css::URLValue>,
29326         pub mImage: root::__BindgenUnionField<*mut root::mozilla::css::ImageValue>,
29327         pub mGridTemplateAreas:
29328             root::__BindgenUnionField<*mut root::mozilla::css::GridTemplateAreasValue>,
29329         pub mGradient: root::__BindgenUnionField<*mut root::nsCSSValueGradient>,
29330         pub mTokenStream: root::__BindgenUnionField<*mut root::nsCSSValueTokenStream>,
29331         pub mPair: root::__BindgenUnionField<*mut root::nsCSSValuePair_heap>,
29332         pub mRect: root::__BindgenUnionField<*mut root::nsCSSRect_heap>,
29333         pub mTriplet: root::__BindgenUnionField<*mut root::nsCSSValueTriplet_heap>,
29334         pub mList: root::__BindgenUnionField<*mut root::nsCSSValueList_heap>,
29335         pub mListDependent: root::__BindgenUnionField<*mut root::nsCSSValueList>,
29336         pub mSharedList: root::__BindgenUnionField<*mut root::nsCSSValueSharedList>,
29337         pub mPairList: root::__BindgenUnionField<*mut root::nsCSSValuePairList_heap>,
29338         pub mPairListDependent: root::__BindgenUnionField<*mut root::nsCSSValuePairList>,
29339         pub mFloatColor: root::__BindgenUnionField<*mut root::nsCSSValueFloatColor>,
29340         pub mFontFamilyList: root::__BindgenUnionField<*mut root::mozilla::SharedFontList>,
29341         pub mComplexColor: root::__BindgenUnionField<*mut root::mozilla::css::ComplexColorValue>,
29342         pub bindgen_union_field: u64,
29343     }
29344     #[test]
bindgen_test_layout_nsCSSValue__bindgen_ty_1()29345     fn bindgen_test_layout_nsCSSValue__bindgen_ty_1() {
29346         assert_eq!(
29347             ::std::mem::size_of::<nsCSSValue__bindgen_ty_1>(),
29348             8usize,
29349             concat!("Size of: ", stringify!(nsCSSValue__bindgen_ty_1))
29350         );
29351         assert_eq!(
29352             ::std::mem::align_of::<nsCSSValue__bindgen_ty_1>(),
29353             8usize,
29354             concat!("Alignment of ", stringify!(nsCSSValue__bindgen_ty_1))
29355         );
29356         assert_eq!(
29357             unsafe {
29358                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mInt as *const _ as usize
29359             },
29360             0usize,
29361             concat!(
29362                 "Offset of field: ",
29363                 stringify!(nsCSSValue__bindgen_ty_1),
29364                 "::",
29365                 stringify!(mInt)
29366             )
29367         );
29368         assert_eq!(
29369             unsafe {
29370                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mFloat as *const _ as usize
29371             },
29372             0usize,
29373             concat!(
29374                 "Offset of field: ",
29375                 stringify!(nsCSSValue__bindgen_ty_1),
29376                 "::",
29377                 stringify!(mFloat)
29378             )
29379         );
29380         assert_eq!(
29381             unsafe {
29382                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mString as *const _ as usize
29383             },
29384             0usize,
29385             concat!(
29386                 "Offset of field: ",
29387                 stringify!(nsCSSValue__bindgen_ty_1),
29388                 "::",
29389                 stringify!(mString)
29390             )
29391         );
29392         assert_eq!(
29393             unsafe {
29394                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mColor as *const _ as usize
29395             },
29396             0usize,
29397             concat!(
29398                 "Offset of field: ",
29399                 stringify!(nsCSSValue__bindgen_ty_1),
29400                 "::",
29401                 stringify!(mColor)
29402             )
29403         );
29404         assert_eq!(
29405             unsafe {
29406                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mAtom as *const _ as usize
29407             },
29408             0usize,
29409             concat!(
29410                 "Offset of field: ",
29411                 stringify!(nsCSSValue__bindgen_ty_1),
29412                 "::",
29413                 stringify!(mAtom)
29414             )
29415         );
29416         assert_eq!(
29417             unsafe {
29418                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mArray as *const _ as usize
29419             },
29420             0usize,
29421             concat!(
29422                 "Offset of field: ",
29423                 stringify!(nsCSSValue__bindgen_ty_1),
29424                 "::",
29425                 stringify!(mArray)
29426             )
29427         );
29428         assert_eq!(
29429             unsafe {
29430                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mURL as *const _ as usize
29431             },
29432             0usize,
29433             concat!(
29434                 "Offset of field: ",
29435                 stringify!(nsCSSValue__bindgen_ty_1),
29436                 "::",
29437                 stringify!(mURL)
29438             )
29439         );
29440         assert_eq!(
29441             unsafe {
29442                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mImage as *const _ as usize
29443             },
29444             0usize,
29445             concat!(
29446                 "Offset of field: ",
29447                 stringify!(nsCSSValue__bindgen_ty_1),
29448                 "::",
29449                 stringify!(mImage)
29450             )
29451         );
29452         assert_eq!(
29453             unsafe {
29454                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mGridTemplateAreas as *const _
29455                     as usize
29456             },
29457             0usize,
29458             concat!(
29459                 "Offset of field: ",
29460                 stringify!(nsCSSValue__bindgen_ty_1),
29461                 "::",
29462                 stringify!(mGridTemplateAreas)
29463             )
29464         );
29465         assert_eq!(
29466             unsafe {
29467                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mGradient as *const _ as usize
29468             },
29469             0usize,
29470             concat!(
29471                 "Offset of field: ",
29472                 stringify!(nsCSSValue__bindgen_ty_1),
29473                 "::",
29474                 stringify!(mGradient)
29475             )
29476         );
29477         assert_eq!(
29478             unsafe {
29479                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mTokenStream as *const _
29480                     as usize
29481             },
29482             0usize,
29483             concat!(
29484                 "Offset of field: ",
29485                 stringify!(nsCSSValue__bindgen_ty_1),
29486                 "::",
29487                 stringify!(mTokenStream)
29488             )
29489         );
29490         assert_eq!(
29491             unsafe {
29492                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mPair as *const _ as usize
29493             },
29494             0usize,
29495             concat!(
29496                 "Offset of field: ",
29497                 stringify!(nsCSSValue__bindgen_ty_1),
29498                 "::",
29499                 stringify!(mPair)
29500             )
29501         );
29502         assert_eq!(
29503             unsafe {
29504                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mRect as *const _ as usize
29505             },
29506             0usize,
29507             concat!(
29508                 "Offset of field: ",
29509                 stringify!(nsCSSValue__bindgen_ty_1),
29510                 "::",
29511                 stringify!(mRect)
29512             )
29513         );
29514         assert_eq!(
29515             unsafe {
29516                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mTriplet as *const _ as usize
29517             },
29518             0usize,
29519             concat!(
29520                 "Offset of field: ",
29521                 stringify!(nsCSSValue__bindgen_ty_1),
29522                 "::",
29523                 stringify!(mTriplet)
29524             )
29525         );
29526         assert_eq!(
29527             unsafe {
29528                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mList as *const _ as usize
29529             },
29530             0usize,
29531             concat!(
29532                 "Offset of field: ",
29533                 stringify!(nsCSSValue__bindgen_ty_1),
29534                 "::",
29535                 stringify!(mList)
29536             )
29537         );
29538         assert_eq!(
29539             unsafe {
29540                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mListDependent as *const _
29541                     as usize
29542             },
29543             0usize,
29544             concat!(
29545                 "Offset of field: ",
29546                 stringify!(nsCSSValue__bindgen_ty_1),
29547                 "::",
29548                 stringify!(mListDependent)
29549             )
29550         );
29551         assert_eq!(
29552             unsafe {
29553                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mSharedList as *const _
29554                     as usize
29555             },
29556             0usize,
29557             concat!(
29558                 "Offset of field: ",
29559                 stringify!(nsCSSValue__bindgen_ty_1),
29560                 "::",
29561                 stringify!(mSharedList)
29562             )
29563         );
29564         assert_eq!(
29565             unsafe {
29566                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mPairList as *const _ as usize
29567             },
29568             0usize,
29569             concat!(
29570                 "Offset of field: ",
29571                 stringify!(nsCSSValue__bindgen_ty_1),
29572                 "::",
29573                 stringify!(mPairList)
29574             )
29575         );
29576         assert_eq!(
29577             unsafe {
29578                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mPairListDependent as *const _
29579                     as usize
29580             },
29581             0usize,
29582             concat!(
29583                 "Offset of field: ",
29584                 stringify!(nsCSSValue__bindgen_ty_1),
29585                 "::",
29586                 stringify!(mPairListDependent)
29587             )
29588         );
29589         assert_eq!(
29590             unsafe {
29591                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mFloatColor as *const _
29592                     as usize
29593             },
29594             0usize,
29595             concat!(
29596                 "Offset of field: ",
29597                 stringify!(nsCSSValue__bindgen_ty_1),
29598                 "::",
29599                 stringify!(mFloatColor)
29600             )
29601         );
29602         assert_eq!(
29603             unsafe {
29604                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mFontFamilyList as *const _
29605                     as usize
29606             },
29607             0usize,
29608             concat!(
29609                 "Offset of field: ",
29610                 stringify!(nsCSSValue__bindgen_ty_1),
29611                 "::",
29612                 stringify!(mFontFamilyList)
29613             )
29614         );
29615         assert_eq!(
29616             unsafe {
29617                 &(*(::std::ptr::null::<nsCSSValue__bindgen_ty_1>())).mComplexColor as *const _
29618                     as usize
29619             },
29620             0usize,
29621             concat!(
29622                 "Offset of field: ",
29623                 stringify!(nsCSSValue__bindgen_ty_1),
29624                 "::",
29625                 stringify!(mComplexColor)
29626             )
29627         );
29628     }
29629     impl Clone for nsCSSValue__bindgen_ty_1 {
clone(&self) -> Self29630         fn clone(&self) -> Self {
29631             *self
29632         }
29633     }
29634     #[test]
bindgen_test_layout_nsCSSValue()29635     fn bindgen_test_layout_nsCSSValue() {
29636         assert_eq!(
29637             ::std::mem::size_of::<nsCSSValue>(),
29638             16usize,
29639             concat!("Size of: ", stringify!(nsCSSValue))
29640         );
29641         assert_eq!(
29642             ::std::mem::align_of::<nsCSSValue>(),
29643             8usize,
29644             concat!("Alignment of ", stringify!(nsCSSValue))
29645         );
29646         assert_eq!(
29647             unsafe { &(*(::std::ptr::null::<nsCSSValue>())).mUnit as *const _ as usize },
29648             0usize,
29649             concat!(
29650                 "Offset of field: ",
29651                 stringify!(nsCSSValue),
29652                 "::",
29653                 stringify!(mUnit)
29654             )
29655         );
29656         assert_eq!(
29657             unsafe { &(*(::std::ptr::null::<nsCSSValue>())).mValue as *const _ as usize },
29658             8usize,
29659             concat!(
29660                 "Offset of field: ",
29661                 stringify!(nsCSSValue),
29662                 "::",
29663                 stringify!(mValue)
29664             )
29665         );
29666     }
29667     #[repr(C)]
29668     #[derive(Debug)]
29669     pub struct nsCSSValue_Array {
29670         pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
29671         pub mCount: usize,
29672         pub mArray: [root::nsCSSValue; 1usize],
29673     }
29674     pub type nsCSSValue_Array_HasThreadSafeRefCnt = root::mozilla::TrueType;
29675     #[test]
bindgen_test_layout_nsCSSValue_Array()29676     fn bindgen_test_layout_nsCSSValue_Array() {
29677         assert_eq!(
29678             ::std::mem::size_of::<nsCSSValue_Array>(),
29679             32usize,
29680             concat!("Size of: ", stringify!(nsCSSValue_Array))
29681         );
29682         assert_eq!(
29683             ::std::mem::align_of::<nsCSSValue_Array>(),
29684             8usize,
29685             concat!("Alignment of ", stringify!(nsCSSValue_Array))
29686         );
29687         assert_eq!(
29688             unsafe { &(*(::std::ptr::null::<nsCSSValue_Array>())).mRefCnt as *const _ as usize },
29689             0usize,
29690             concat!(
29691                 "Offset of field: ",
29692                 stringify!(nsCSSValue_Array),
29693                 "::",
29694                 stringify!(mRefCnt)
29695             )
29696         );
29697         assert_eq!(
29698             unsafe { &(*(::std::ptr::null::<nsCSSValue_Array>())).mCount as *const _ as usize },
29699             8usize,
29700             concat!(
29701                 "Offset of field: ",
29702                 stringify!(nsCSSValue_Array),
29703                 "::",
29704                 stringify!(mCount)
29705             )
29706         );
29707         assert_eq!(
29708             unsafe { &(*(::std::ptr::null::<nsCSSValue_Array>())).mArray as *const _ as usize },
29709             16usize,
29710             concat!(
29711                 "Offset of field: ",
29712                 stringify!(nsCSSValue_Array),
29713                 "::",
29714                 stringify!(mArray)
29715             )
29716         );
29717     }
29718     #[repr(C)]
29719     #[derive(Debug)]
29720     pub struct nsCSSValueList {
29721         pub mValue: root::nsCSSValue,
29722         pub mNext: *mut root::nsCSSValueList,
29723     }
29724     #[test]
bindgen_test_layout_nsCSSValueList()29725     fn bindgen_test_layout_nsCSSValueList() {
29726         assert_eq!(
29727             ::std::mem::size_of::<nsCSSValueList>(),
29728             24usize,
29729             concat!("Size of: ", stringify!(nsCSSValueList))
29730         );
29731         assert_eq!(
29732             ::std::mem::align_of::<nsCSSValueList>(),
29733             8usize,
29734             concat!("Alignment of ", stringify!(nsCSSValueList))
29735         );
29736         assert_eq!(
29737             unsafe { &(*(::std::ptr::null::<nsCSSValueList>())).mValue as *const _ as usize },
29738             0usize,
29739             concat!(
29740                 "Offset of field: ",
29741                 stringify!(nsCSSValueList),
29742                 "::",
29743                 stringify!(mValue)
29744             )
29745         );
29746         assert_eq!(
29747             unsafe { &(*(::std::ptr::null::<nsCSSValueList>())).mNext as *const _ as usize },
29748             16usize,
29749             concat!(
29750                 "Offset of field: ",
29751                 stringify!(nsCSSValueList),
29752                 "::",
29753                 stringify!(mNext)
29754             )
29755         );
29756     }
29757     #[repr(C)]
29758     #[derive(Debug)]
29759     pub struct nsCSSValueList_heap {
29760         pub _base: root::nsCSSValueList,
29761         pub mRefCnt: root::nsAutoRefCnt,
29762     }
29763     pub type nsCSSValueList_heap_HasThreadSafeRefCnt = root::mozilla::FalseType;
29764     #[test]
bindgen_test_layout_nsCSSValueList_heap()29765     fn bindgen_test_layout_nsCSSValueList_heap() {
29766         assert_eq!(
29767             ::std::mem::size_of::<nsCSSValueList_heap>(),
29768             32usize,
29769             concat!("Size of: ", stringify!(nsCSSValueList_heap))
29770         );
29771         assert_eq!(
29772             ::std::mem::align_of::<nsCSSValueList_heap>(),
29773             8usize,
29774             concat!("Alignment of ", stringify!(nsCSSValueList_heap))
29775         );
29776         assert_eq!(
29777             unsafe { &(*(::std::ptr::null::<nsCSSValueList_heap>())).mRefCnt as *const _ as usize },
29778             24usize,
29779             concat!(
29780                 "Offset of field: ",
29781                 stringify!(nsCSSValueList_heap),
29782                 "::",
29783                 stringify!(mRefCnt)
29784             )
29785         );
29786     }
29787     #[repr(C)]
29788     #[derive(Debug)]
29789     pub struct nsCSSValueSharedList {
29790         pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
29791         pub mHead: *mut root::nsCSSValueList,
29792     }
29793     pub type nsCSSValueSharedList_HasThreadSafeRefCnt = root::mozilla::TrueType;
29794     #[test]
bindgen_test_layout_nsCSSValueSharedList()29795     fn bindgen_test_layout_nsCSSValueSharedList() {
29796         assert_eq!(
29797             ::std::mem::size_of::<nsCSSValueSharedList>(),
29798             16usize,
29799             concat!("Size of: ", stringify!(nsCSSValueSharedList))
29800         );
29801         assert_eq!(
29802             ::std::mem::align_of::<nsCSSValueSharedList>(),
29803             8usize,
29804             concat!("Alignment of ", stringify!(nsCSSValueSharedList))
29805         );
29806         assert_eq!(
29807             unsafe {
29808                 &(*(::std::ptr::null::<nsCSSValueSharedList>())).mRefCnt as *const _ as usize
29809             },
29810             0usize,
29811             concat!(
29812                 "Offset of field: ",
29813                 stringify!(nsCSSValueSharedList),
29814                 "::",
29815                 stringify!(mRefCnt)
29816             )
29817         );
29818         assert_eq!(
29819             unsafe { &(*(::std::ptr::null::<nsCSSValueSharedList>())).mHead as *const _ as usize },
29820             8usize,
29821             concat!(
29822                 "Offset of field: ",
29823                 stringify!(nsCSSValueSharedList),
29824                 "::",
29825                 stringify!(mHead)
29826             )
29827         );
29828     }
29829     #[repr(C)]
29830     #[derive(Debug)]
29831     pub struct nsCSSRect {
29832         pub mTop: root::nsCSSValue,
29833         pub mRight: root::nsCSSValue,
29834         pub mBottom: root::nsCSSValue,
29835         pub mLeft: root::nsCSSValue,
29836     }
29837     pub type nsCSSRect_side_type = *mut root::nsCSSValue;
29838     extern "C" {
29839         #[link_name = "\u{1}_ZN9nsCSSRect5sidesE"]
29840         pub static mut nsCSSRect_sides: [root::nsCSSRect_side_type; 4usize];
29841     }
29842     #[test]
bindgen_test_layout_nsCSSRect()29843     fn bindgen_test_layout_nsCSSRect() {
29844         assert_eq!(
29845             ::std::mem::size_of::<nsCSSRect>(),
29846             64usize,
29847             concat!("Size of: ", stringify!(nsCSSRect))
29848         );
29849         assert_eq!(
29850             ::std::mem::align_of::<nsCSSRect>(),
29851             8usize,
29852             concat!("Alignment of ", stringify!(nsCSSRect))
29853         );
29854         assert_eq!(
29855             unsafe { &(*(::std::ptr::null::<nsCSSRect>())).mTop as *const _ as usize },
29856             0usize,
29857             concat!(
29858                 "Offset of field: ",
29859                 stringify!(nsCSSRect),
29860                 "::",
29861                 stringify!(mTop)
29862             )
29863         );
29864         assert_eq!(
29865             unsafe { &(*(::std::ptr::null::<nsCSSRect>())).mRight as *const _ as usize },
29866             16usize,
29867             concat!(
29868                 "Offset of field: ",
29869                 stringify!(nsCSSRect),
29870                 "::",
29871                 stringify!(mRight)
29872             )
29873         );
29874         assert_eq!(
29875             unsafe { &(*(::std::ptr::null::<nsCSSRect>())).mBottom as *const _ as usize },
29876             32usize,
29877             concat!(
29878                 "Offset of field: ",
29879                 stringify!(nsCSSRect),
29880                 "::",
29881                 stringify!(mBottom)
29882             )
29883         );
29884         assert_eq!(
29885             unsafe { &(*(::std::ptr::null::<nsCSSRect>())).mLeft as *const _ as usize },
29886             48usize,
29887             concat!(
29888                 "Offset of field: ",
29889                 stringify!(nsCSSRect),
29890                 "::",
29891                 stringify!(mLeft)
29892             )
29893         );
29894     }
29895     #[repr(C)]
29896     #[derive(Debug)]
29897     pub struct nsCSSRect_heap {
29898         pub _base: root::nsCSSRect,
29899         pub mRefCnt: root::nsAutoRefCnt,
29900     }
29901     pub type nsCSSRect_heap_HasThreadSafeRefCnt = root::mozilla::FalseType;
29902     #[test]
bindgen_test_layout_nsCSSRect_heap()29903     fn bindgen_test_layout_nsCSSRect_heap() {
29904         assert_eq!(
29905             ::std::mem::size_of::<nsCSSRect_heap>(),
29906             72usize,
29907             concat!("Size of: ", stringify!(nsCSSRect_heap))
29908         );
29909         assert_eq!(
29910             ::std::mem::align_of::<nsCSSRect_heap>(),
29911             8usize,
29912             concat!("Alignment of ", stringify!(nsCSSRect_heap))
29913         );
29914         assert_eq!(
29915             unsafe { &(*(::std::ptr::null::<nsCSSRect_heap>())).mRefCnt as *const _ as usize },
29916             64usize,
29917             concat!(
29918                 "Offset of field: ",
29919                 stringify!(nsCSSRect_heap),
29920                 "::",
29921                 stringify!(mRefCnt)
29922             )
29923         );
29924     }
29925     #[repr(C)]
29926     #[derive(Debug)]
29927     pub struct nsCSSValuePair {
29928         pub mXValue: root::nsCSSValue,
29929         pub mYValue: root::nsCSSValue,
29930     }
29931     #[test]
bindgen_test_layout_nsCSSValuePair()29932     fn bindgen_test_layout_nsCSSValuePair() {
29933         assert_eq!(
29934             ::std::mem::size_of::<nsCSSValuePair>(),
29935             32usize,
29936             concat!("Size of: ", stringify!(nsCSSValuePair))
29937         );
29938         assert_eq!(
29939             ::std::mem::align_of::<nsCSSValuePair>(),
29940             8usize,
29941             concat!("Alignment of ", stringify!(nsCSSValuePair))
29942         );
29943         assert_eq!(
29944             unsafe { &(*(::std::ptr::null::<nsCSSValuePair>())).mXValue as *const _ as usize },
29945             0usize,
29946             concat!(
29947                 "Offset of field: ",
29948                 stringify!(nsCSSValuePair),
29949                 "::",
29950                 stringify!(mXValue)
29951             )
29952         );
29953         assert_eq!(
29954             unsafe { &(*(::std::ptr::null::<nsCSSValuePair>())).mYValue as *const _ as usize },
29955             16usize,
29956             concat!(
29957                 "Offset of field: ",
29958                 stringify!(nsCSSValuePair),
29959                 "::",
29960                 stringify!(mYValue)
29961             )
29962         );
29963     }
29964     #[repr(C)]
29965     #[derive(Debug)]
29966     pub struct nsCSSValuePair_heap {
29967         pub _base: root::nsCSSValuePair,
29968         pub mRefCnt: root::nsAutoRefCnt,
29969     }
29970     pub type nsCSSValuePair_heap_HasThreadSafeRefCnt = root::mozilla::FalseType;
29971     #[test]
bindgen_test_layout_nsCSSValuePair_heap()29972     fn bindgen_test_layout_nsCSSValuePair_heap() {
29973         assert_eq!(
29974             ::std::mem::size_of::<nsCSSValuePair_heap>(),
29975             40usize,
29976             concat!("Size of: ", stringify!(nsCSSValuePair_heap))
29977         );
29978         assert_eq!(
29979             ::std::mem::align_of::<nsCSSValuePair_heap>(),
29980             8usize,
29981             concat!("Alignment of ", stringify!(nsCSSValuePair_heap))
29982         );
29983         assert_eq!(
29984             unsafe { &(*(::std::ptr::null::<nsCSSValuePair_heap>())).mRefCnt as *const _ as usize },
29985             32usize,
29986             concat!(
29987                 "Offset of field: ",
29988                 stringify!(nsCSSValuePair_heap),
29989                 "::",
29990                 stringify!(mRefCnt)
29991             )
29992         );
29993     }
29994     #[repr(C)]
29995     #[derive(Debug)]
29996     pub struct nsCSSValueTriplet {
29997         pub mXValue: root::nsCSSValue,
29998         pub mYValue: root::nsCSSValue,
29999         pub mZValue: root::nsCSSValue,
30000     }
30001     #[test]
bindgen_test_layout_nsCSSValueTriplet()30002     fn bindgen_test_layout_nsCSSValueTriplet() {
30003         assert_eq!(
30004             ::std::mem::size_of::<nsCSSValueTriplet>(),
30005             48usize,
30006             concat!("Size of: ", stringify!(nsCSSValueTriplet))
30007         );
30008         assert_eq!(
30009             ::std::mem::align_of::<nsCSSValueTriplet>(),
30010             8usize,
30011             concat!("Alignment of ", stringify!(nsCSSValueTriplet))
30012         );
30013         assert_eq!(
30014             unsafe { &(*(::std::ptr::null::<nsCSSValueTriplet>())).mXValue as *const _ as usize },
30015             0usize,
30016             concat!(
30017                 "Offset of field: ",
30018                 stringify!(nsCSSValueTriplet),
30019                 "::",
30020                 stringify!(mXValue)
30021             )
30022         );
30023         assert_eq!(
30024             unsafe { &(*(::std::ptr::null::<nsCSSValueTriplet>())).mYValue as *const _ as usize },
30025             16usize,
30026             concat!(
30027                 "Offset of field: ",
30028                 stringify!(nsCSSValueTriplet),
30029                 "::",
30030                 stringify!(mYValue)
30031             )
30032         );
30033         assert_eq!(
30034             unsafe { &(*(::std::ptr::null::<nsCSSValueTriplet>())).mZValue as *const _ as usize },
30035             32usize,
30036             concat!(
30037                 "Offset of field: ",
30038                 stringify!(nsCSSValueTriplet),
30039                 "::",
30040                 stringify!(mZValue)
30041             )
30042         );
30043     }
30044     #[repr(C)]
30045     #[derive(Debug)]
30046     pub struct nsCSSValueTriplet_heap {
30047         pub _base: root::nsCSSValueTriplet,
30048         pub mRefCnt: root::nsAutoRefCnt,
30049     }
30050     pub type nsCSSValueTriplet_heap_HasThreadSafeRefCnt = root::mozilla::FalseType;
30051     #[test]
bindgen_test_layout_nsCSSValueTriplet_heap()30052     fn bindgen_test_layout_nsCSSValueTriplet_heap() {
30053         assert_eq!(
30054             ::std::mem::size_of::<nsCSSValueTriplet_heap>(),
30055             56usize,
30056             concat!("Size of: ", stringify!(nsCSSValueTriplet_heap))
30057         );
30058         assert_eq!(
30059             ::std::mem::align_of::<nsCSSValueTriplet_heap>(),
30060             8usize,
30061             concat!("Alignment of ", stringify!(nsCSSValueTriplet_heap))
30062         );
30063         assert_eq!(
30064             unsafe {
30065                 &(*(::std::ptr::null::<nsCSSValueTriplet_heap>())).mRefCnt as *const _ as usize
30066             },
30067             48usize,
30068             concat!(
30069                 "Offset of field: ",
30070                 stringify!(nsCSSValueTriplet_heap),
30071                 "::",
30072                 stringify!(mRefCnt)
30073             )
30074         );
30075     }
30076     #[repr(C)]
30077     #[derive(Debug)]
30078     pub struct nsCSSValuePairList {
30079         pub mXValue: root::nsCSSValue,
30080         pub mYValue: root::nsCSSValue,
30081         pub mNext: *mut root::nsCSSValuePairList,
30082     }
30083     #[test]
bindgen_test_layout_nsCSSValuePairList()30084     fn bindgen_test_layout_nsCSSValuePairList() {
30085         assert_eq!(
30086             ::std::mem::size_of::<nsCSSValuePairList>(),
30087             40usize,
30088             concat!("Size of: ", stringify!(nsCSSValuePairList))
30089         );
30090         assert_eq!(
30091             ::std::mem::align_of::<nsCSSValuePairList>(),
30092             8usize,
30093             concat!("Alignment of ", stringify!(nsCSSValuePairList))
30094         );
30095         assert_eq!(
30096             unsafe { &(*(::std::ptr::null::<nsCSSValuePairList>())).mXValue as *const _ as usize },
30097             0usize,
30098             concat!(
30099                 "Offset of field: ",
30100                 stringify!(nsCSSValuePairList),
30101                 "::",
30102                 stringify!(mXValue)
30103             )
30104         );
30105         assert_eq!(
30106             unsafe { &(*(::std::ptr::null::<nsCSSValuePairList>())).mYValue as *const _ as usize },
30107             16usize,
30108             concat!(
30109                 "Offset of field: ",
30110                 stringify!(nsCSSValuePairList),
30111                 "::",
30112                 stringify!(mYValue)
30113             )
30114         );
30115         assert_eq!(
30116             unsafe { &(*(::std::ptr::null::<nsCSSValuePairList>())).mNext as *const _ as usize },
30117             32usize,
30118             concat!(
30119                 "Offset of field: ",
30120                 stringify!(nsCSSValuePairList),
30121                 "::",
30122                 stringify!(mNext)
30123             )
30124         );
30125     }
30126     #[repr(C)]
30127     #[derive(Debug)]
30128     pub struct nsCSSValuePairList_heap {
30129         pub _base: root::nsCSSValuePairList,
30130         pub mRefCnt: root::nsAutoRefCnt,
30131     }
30132     pub type nsCSSValuePairList_heap_HasThreadSafeRefCnt = root::mozilla::FalseType;
30133     #[test]
bindgen_test_layout_nsCSSValuePairList_heap()30134     fn bindgen_test_layout_nsCSSValuePairList_heap() {
30135         assert_eq!(
30136             ::std::mem::size_of::<nsCSSValuePairList_heap>(),
30137             48usize,
30138             concat!("Size of: ", stringify!(nsCSSValuePairList_heap))
30139         );
30140         assert_eq!(
30141             ::std::mem::align_of::<nsCSSValuePairList_heap>(),
30142             8usize,
30143             concat!("Alignment of ", stringify!(nsCSSValuePairList_heap))
30144         );
30145         assert_eq!(
30146             unsafe {
30147                 &(*(::std::ptr::null::<nsCSSValuePairList_heap>())).mRefCnt as *const _ as usize
30148             },
30149             40usize,
30150             concat!(
30151                 "Offset of field: ",
30152                 stringify!(nsCSSValuePairList_heap),
30153                 "::",
30154                 stringify!(mRefCnt)
30155             )
30156         );
30157     }
30158     #[repr(C)]
30159     #[derive(Debug)]
30160     pub struct nsCSSValueGradientStop {
30161         pub mLocation: root::nsCSSValue,
30162         pub mColor: root::nsCSSValue,
30163         pub mIsInterpolationHint: bool,
30164     }
30165     #[test]
bindgen_test_layout_nsCSSValueGradientStop()30166     fn bindgen_test_layout_nsCSSValueGradientStop() {
30167         assert_eq!(
30168             ::std::mem::size_of::<nsCSSValueGradientStop>(),
30169             40usize,
30170             concat!("Size of: ", stringify!(nsCSSValueGradientStop))
30171         );
30172         assert_eq!(
30173             ::std::mem::align_of::<nsCSSValueGradientStop>(),
30174             8usize,
30175             concat!("Alignment of ", stringify!(nsCSSValueGradientStop))
30176         );
30177         assert_eq!(
30178             unsafe {
30179                 &(*(::std::ptr::null::<nsCSSValueGradientStop>())).mLocation as *const _ as usize
30180             },
30181             0usize,
30182             concat!(
30183                 "Offset of field: ",
30184                 stringify!(nsCSSValueGradientStop),
30185                 "::",
30186                 stringify!(mLocation)
30187             )
30188         );
30189         assert_eq!(
30190             unsafe {
30191                 &(*(::std::ptr::null::<nsCSSValueGradientStop>())).mColor as *const _ as usize
30192             },
30193             16usize,
30194             concat!(
30195                 "Offset of field: ",
30196                 stringify!(nsCSSValueGradientStop),
30197                 "::",
30198                 stringify!(mColor)
30199             )
30200         );
30201         assert_eq!(
30202             unsafe {
30203                 &(*(::std::ptr::null::<nsCSSValueGradientStop>())).mIsInterpolationHint as *const _
30204                     as usize
30205             },
30206             32usize,
30207             concat!(
30208                 "Offset of field: ",
30209                 stringify!(nsCSSValueGradientStop),
30210                 "::",
30211                 stringify!(mIsInterpolationHint)
30212             )
30213         );
30214     }
30215     #[repr(C)]
30216     #[derive(Debug)]
30217     pub struct nsCSSValueGradient {
30218         pub mIsRadial: bool,
30219         pub mIsRepeating: bool,
30220         pub mIsLegacySyntax: bool,
30221         pub mIsMozLegacySyntax: bool,
30222         pub mIsExplicitSize: bool,
30223         pub mBgPos: root::nsCSSValuePair,
30224         pub mAngle: root::nsCSSValue,
30225         pub mRadialValues: [root::nsCSSValue; 2usize],
30226         pub mStops: root::nsTArray<root::nsCSSValueGradientStop>,
30227         pub mRefCnt: root::nsAutoRefCnt,
30228     }
30229     pub type nsCSSValueGradient_HasThreadSafeRefCnt = root::mozilla::FalseType;
30230     #[test]
bindgen_test_layout_nsCSSValueGradient()30231     fn bindgen_test_layout_nsCSSValueGradient() {
30232         assert_eq!(
30233             ::std::mem::size_of::<nsCSSValueGradient>(),
30234             104usize,
30235             concat!("Size of: ", stringify!(nsCSSValueGradient))
30236         );
30237         assert_eq!(
30238             ::std::mem::align_of::<nsCSSValueGradient>(),
30239             8usize,
30240             concat!("Alignment of ", stringify!(nsCSSValueGradient))
30241         );
30242         assert_eq!(
30243             unsafe {
30244                 &(*(::std::ptr::null::<nsCSSValueGradient>())).mIsRadial as *const _ as usize
30245             },
30246             0usize,
30247             concat!(
30248                 "Offset of field: ",
30249                 stringify!(nsCSSValueGradient),
30250                 "::",
30251                 stringify!(mIsRadial)
30252             )
30253         );
30254         assert_eq!(
30255             unsafe {
30256                 &(*(::std::ptr::null::<nsCSSValueGradient>())).mIsRepeating as *const _ as usize
30257             },
30258             1usize,
30259             concat!(
30260                 "Offset of field: ",
30261                 stringify!(nsCSSValueGradient),
30262                 "::",
30263                 stringify!(mIsRepeating)
30264             )
30265         );
30266         assert_eq!(
30267             unsafe {
30268                 &(*(::std::ptr::null::<nsCSSValueGradient>())).mIsLegacySyntax as *const _ as usize
30269             },
30270             2usize,
30271             concat!(
30272                 "Offset of field: ",
30273                 stringify!(nsCSSValueGradient),
30274                 "::",
30275                 stringify!(mIsLegacySyntax)
30276             )
30277         );
30278         assert_eq!(
30279             unsafe {
30280                 &(*(::std::ptr::null::<nsCSSValueGradient>())).mIsMozLegacySyntax as *const _
30281                     as usize
30282             },
30283             3usize,
30284             concat!(
30285                 "Offset of field: ",
30286                 stringify!(nsCSSValueGradient),
30287                 "::",
30288                 stringify!(mIsMozLegacySyntax)
30289             )
30290         );
30291         assert_eq!(
30292             unsafe {
30293                 &(*(::std::ptr::null::<nsCSSValueGradient>())).mIsExplicitSize as *const _ as usize
30294             },
30295             4usize,
30296             concat!(
30297                 "Offset of field: ",
30298                 stringify!(nsCSSValueGradient),
30299                 "::",
30300                 stringify!(mIsExplicitSize)
30301             )
30302         );
30303         assert_eq!(
30304             unsafe { &(*(::std::ptr::null::<nsCSSValueGradient>())).mBgPos as *const _ as usize },
30305             8usize,
30306             concat!(
30307                 "Offset of field: ",
30308                 stringify!(nsCSSValueGradient),
30309                 "::",
30310                 stringify!(mBgPos)
30311             )
30312         );
30313         assert_eq!(
30314             unsafe { &(*(::std::ptr::null::<nsCSSValueGradient>())).mAngle as *const _ as usize },
30315             40usize,
30316             concat!(
30317                 "Offset of field: ",
30318                 stringify!(nsCSSValueGradient),
30319                 "::",
30320                 stringify!(mAngle)
30321             )
30322         );
30323         assert_eq!(
30324             unsafe {
30325                 &(*(::std::ptr::null::<nsCSSValueGradient>())).mRadialValues as *const _ as usize
30326             },
30327             56usize,
30328             concat!(
30329                 "Offset of field: ",
30330                 stringify!(nsCSSValueGradient),
30331                 "::",
30332                 stringify!(mRadialValues)
30333             )
30334         );
30335         assert_eq!(
30336             unsafe { &(*(::std::ptr::null::<nsCSSValueGradient>())).mStops as *const _ as usize },
30337             88usize,
30338             concat!(
30339                 "Offset of field: ",
30340                 stringify!(nsCSSValueGradient),
30341                 "::",
30342                 stringify!(mStops)
30343             )
30344         );
30345         assert_eq!(
30346             unsafe { &(*(::std::ptr::null::<nsCSSValueGradient>())).mRefCnt as *const _ as usize },
30347             96usize,
30348             concat!(
30349                 "Offset of field: ",
30350                 stringify!(nsCSSValueGradient),
30351                 "::",
30352                 stringify!(mRefCnt)
30353             )
30354         );
30355     }
30356     #[repr(C)]
30357     pub struct nsCSSValueTokenStream {
30358         pub mRefCnt: root::nsAutoRefCnt,
30359         pub mPropertyID: root::nsCSSPropertyID,
30360         pub mShorthandPropertyID: root::nsCSSPropertyID,
30361         pub mTokenStream: ::nsstring::nsStringRepr,
30362         pub mBaseURI: root::nsCOMPtr,
30363         pub mSheetURI: root::nsCOMPtr,
30364         pub mSheetPrincipal: root::nsCOMPtr,
30365         pub mLineNumber: u32,
30366         pub mLineOffset: u32,
30367         pub mLevel: root::mozilla::SheetType,
30368     }
30369     pub type nsCSSValueTokenStream_HasThreadSafeRefCnt = root::mozilla::FalseType;
30370     #[test]
bindgen_test_layout_nsCSSValueTokenStream()30371     fn bindgen_test_layout_nsCSSValueTokenStream() {
30372         assert_eq!(
30373             ::std::mem::size_of::<nsCSSValueTokenStream>(),
30374             72usize,
30375             concat!("Size of: ", stringify!(nsCSSValueTokenStream))
30376         );
30377         assert_eq!(
30378             ::std::mem::align_of::<nsCSSValueTokenStream>(),
30379             8usize,
30380             concat!("Alignment of ", stringify!(nsCSSValueTokenStream))
30381         );
30382         assert_eq!(
30383             unsafe {
30384                 &(*(::std::ptr::null::<nsCSSValueTokenStream>())).mRefCnt as *const _ as usize
30385             },
30386             0usize,
30387             concat!(
30388                 "Offset of field: ",
30389                 stringify!(nsCSSValueTokenStream),
30390                 "::",
30391                 stringify!(mRefCnt)
30392             )
30393         );
30394         assert_eq!(
30395             unsafe {
30396                 &(*(::std::ptr::null::<nsCSSValueTokenStream>())).mPropertyID as *const _ as usize
30397             },
30398             8usize,
30399             concat!(
30400                 "Offset of field: ",
30401                 stringify!(nsCSSValueTokenStream),
30402                 "::",
30403                 stringify!(mPropertyID)
30404             )
30405         );
30406         assert_eq!(
30407             unsafe {
30408                 &(*(::std::ptr::null::<nsCSSValueTokenStream>())).mShorthandPropertyID as *const _
30409                     as usize
30410             },
30411             12usize,
30412             concat!(
30413                 "Offset of field: ",
30414                 stringify!(nsCSSValueTokenStream),
30415                 "::",
30416                 stringify!(mShorthandPropertyID)
30417             )
30418         );
30419         assert_eq!(
30420             unsafe {
30421                 &(*(::std::ptr::null::<nsCSSValueTokenStream>())).mTokenStream as *const _ as usize
30422             },
30423             16usize,
30424             concat!(
30425                 "Offset of field: ",
30426                 stringify!(nsCSSValueTokenStream),
30427                 "::",
30428                 stringify!(mTokenStream)
30429             )
30430         );
30431         assert_eq!(
30432             unsafe {
30433                 &(*(::std::ptr::null::<nsCSSValueTokenStream>())).mBaseURI as *const _ as usize
30434             },
30435             32usize,
30436             concat!(
30437                 "Offset of field: ",
30438                 stringify!(nsCSSValueTokenStream),
30439                 "::",
30440                 stringify!(mBaseURI)
30441             )
30442         );
30443         assert_eq!(
30444             unsafe {
30445                 &(*(::std::ptr::null::<nsCSSValueTokenStream>())).mSheetURI as *const _ as usize
30446             },
30447             40usize,
30448             concat!(
30449                 "Offset of field: ",
30450                 stringify!(nsCSSValueTokenStream),
30451                 "::",
30452                 stringify!(mSheetURI)
30453             )
30454         );
30455         assert_eq!(
30456             unsafe {
30457                 &(*(::std::ptr::null::<nsCSSValueTokenStream>())).mSheetPrincipal as *const _
30458                     as usize
30459             },
30460             48usize,
30461             concat!(
30462                 "Offset of field: ",
30463                 stringify!(nsCSSValueTokenStream),
30464                 "::",
30465                 stringify!(mSheetPrincipal)
30466             )
30467         );
30468         assert_eq!(
30469             unsafe {
30470                 &(*(::std::ptr::null::<nsCSSValueTokenStream>())).mLineNumber as *const _ as usize
30471             },
30472             56usize,
30473             concat!(
30474                 "Offset of field: ",
30475                 stringify!(nsCSSValueTokenStream),
30476                 "::",
30477                 stringify!(mLineNumber)
30478             )
30479         );
30480         assert_eq!(
30481             unsafe {
30482                 &(*(::std::ptr::null::<nsCSSValueTokenStream>())).mLineOffset as *const _ as usize
30483             },
30484             60usize,
30485             concat!(
30486                 "Offset of field: ",
30487                 stringify!(nsCSSValueTokenStream),
30488                 "::",
30489                 stringify!(mLineOffset)
30490             )
30491         );
30492         assert_eq!(
30493             unsafe {
30494                 &(*(::std::ptr::null::<nsCSSValueTokenStream>())).mLevel as *const _ as usize
30495             },
30496             64usize,
30497             concat!(
30498                 "Offset of field: ",
30499                 stringify!(nsCSSValueTokenStream),
30500                 "::",
30501                 stringify!(mLevel)
30502             )
30503         );
30504     }
30505     #[repr(C)]
30506     #[derive(Debug)]
30507     pub struct nsCSSValueFloatColor {
30508         pub mRefCnt: root::nsAutoRefCnt,
30509         pub mComponent1: f32,
30510         pub mComponent2: f32,
30511         pub mComponent3: f32,
30512         pub mAlpha: f32,
30513     }
30514     pub type nsCSSValueFloatColor_HasThreadSafeRefCnt = root::mozilla::FalseType;
30515     #[test]
bindgen_test_layout_nsCSSValueFloatColor()30516     fn bindgen_test_layout_nsCSSValueFloatColor() {
30517         assert_eq!(
30518             ::std::mem::size_of::<nsCSSValueFloatColor>(),
30519             24usize,
30520             concat!("Size of: ", stringify!(nsCSSValueFloatColor))
30521         );
30522         assert_eq!(
30523             ::std::mem::align_of::<nsCSSValueFloatColor>(),
30524             8usize,
30525             concat!("Alignment of ", stringify!(nsCSSValueFloatColor))
30526         );
30527         assert_eq!(
30528             unsafe {
30529                 &(*(::std::ptr::null::<nsCSSValueFloatColor>())).mRefCnt as *const _ as usize
30530             },
30531             0usize,
30532             concat!(
30533                 "Offset of field: ",
30534                 stringify!(nsCSSValueFloatColor),
30535                 "::",
30536                 stringify!(mRefCnt)
30537             )
30538         );
30539         assert_eq!(
30540             unsafe {
30541                 &(*(::std::ptr::null::<nsCSSValueFloatColor>())).mComponent1 as *const _ as usize
30542             },
30543             8usize,
30544             concat!(
30545                 "Offset of field: ",
30546                 stringify!(nsCSSValueFloatColor),
30547                 "::",
30548                 stringify!(mComponent1)
30549             )
30550         );
30551         assert_eq!(
30552             unsafe {
30553                 &(*(::std::ptr::null::<nsCSSValueFloatColor>())).mComponent2 as *const _ as usize
30554             },
30555             12usize,
30556             concat!(
30557                 "Offset of field: ",
30558                 stringify!(nsCSSValueFloatColor),
30559                 "::",
30560                 stringify!(mComponent2)
30561             )
30562         );
30563         assert_eq!(
30564             unsafe {
30565                 &(*(::std::ptr::null::<nsCSSValueFloatColor>())).mComponent3 as *const _ as usize
30566             },
30567             16usize,
30568             concat!(
30569                 "Offset of field: ",
30570                 stringify!(nsCSSValueFloatColor),
30571                 "::",
30572                 stringify!(mComponent3)
30573             )
30574         );
30575         assert_eq!(
30576             unsafe { &(*(::std::ptr::null::<nsCSSValueFloatColor>())).mAlpha as *const _ as usize },
30577             20usize,
30578             concat!(
30579                 "Offset of field: ",
30580                 stringify!(nsCSSValueFloatColor),
30581                 "::",
30582                 stringify!(mAlpha)
30583             )
30584         );
30585     }
30586     #[repr(C)]
30587     #[derive(Debug, Copy)]
30588     pub struct imgIContainer {
30589         _unused: [u8; 0],
30590     }
30591     impl Clone for imgIContainer {
clone(&self) -> Self30592         fn clone(&self) -> Self {
30593             *self
30594         }
30595     }
30596     #[repr(C)]
30597     #[derive(Debug, Copy)]
30598     pub struct imgIRequest {
30599         pub _base: root::nsIRequest,
30600     }
30601     #[repr(C)]
30602     #[derive(Debug, Copy, Clone)]
30603     pub struct imgIRequest_COMTypeInfo {
30604         pub _address: u8,
30605     }
30606     pub const imgIRequest_STATUS_NONE: root::imgIRequest__bindgen_ty_1 = 0;
30607     pub const imgIRequest_STATUS_SIZE_AVAILABLE: root::imgIRequest__bindgen_ty_1 = 1;
30608     pub const imgIRequest_STATUS_LOAD_COMPLETE: root::imgIRequest__bindgen_ty_1 = 2;
30609     pub const imgIRequest_STATUS_ERROR: root::imgIRequest__bindgen_ty_1 = 4;
30610     pub const imgIRequest_STATUS_FRAME_COMPLETE: root::imgIRequest__bindgen_ty_1 = 8;
30611     pub const imgIRequest_STATUS_DECODE_COMPLETE: root::imgIRequest__bindgen_ty_1 = 16;
30612     pub const imgIRequest_STATUS_IS_ANIMATED: root::imgIRequest__bindgen_ty_1 = 32;
30613     pub const imgIRequest_STATUS_HAS_TRANSPARENCY: root::imgIRequest__bindgen_ty_1 = 64;
30614     pub type imgIRequest__bindgen_ty_1 = u32;
30615     pub const imgIRequest_CORS_NONE: root::imgIRequest__bindgen_ty_2 = 1;
30616     pub const imgIRequest_CORS_ANONYMOUS: root::imgIRequest__bindgen_ty_2 = 2;
30617     pub const imgIRequest_CORS_USE_CREDENTIALS: root::imgIRequest__bindgen_ty_2 = 3;
30618     pub type imgIRequest__bindgen_ty_2 = u32;
30619     pub const imgIRequest_CATEGORY_FRAME_INIT: root::imgIRequest__bindgen_ty_3 = 1;
30620     pub const imgIRequest_CATEGORY_SIZE_QUERY: root::imgIRequest__bindgen_ty_3 = 2;
30621     pub const imgIRequest_CATEGORY_DISPLAY: root::imgIRequest__bindgen_ty_3 = 4;
30622     pub type imgIRequest__bindgen_ty_3 = u32;
30623     #[test]
bindgen_test_layout_imgIRequest()30624     fn bindgen_test_layout_imgIRequest() {
30625         assert_eq!(
30626             ::std::mem::size_of::<imgIRequest>(),
30627             8usize,
30628             concat!("Size of: ", stringify!(imgIRequest))
30629         );
30630         assert_eq!(
30631             ::std::mem::align_of::<imgIRequest>(),
30632             8usize,
30633             concat!("Alignment of ", stringify!(imgIRequest))
30634         );
30635     }
30636     impl Clone for imgIRequest {
clone(&self) -> Self30637         fn clone(&self) -> Self {
30638             *self
30639         }
30640     }
30641     #[repr(C)]
30642     #[derive(Debug, Copy)]
30643     pub struct nsISecurityInfoProvider {
30644         pub _base: root::nsISupports,
30645     }
30646     #[repr(C)]
30647     #[derive(Debug, Copy, Clone)]
30648     pub struct nsISecurityInfoProvider_COMTypeInfo {
30649         pub _address: u8,
30650     }
30651     #[test]
bindgen_test_layout_nsISecurityInfoProvider()30652     fn bindgen_test_layout_nsISecurityInfoProvider() {
30653         assert_eq!(
30654             ::std::mem::size_of::<nsISecurityInfoProvider>(),
30655             8usize,
30656             concat!("Size of: ", stringify!(nsISecurityInfoProvider))
30657         );
30658         assert_eq!(
30659             ::std::mem::align_of::<nsISecurityInfoProvider>(),
30660             8usize,
30661             concat!("Alignment of ", stringify!(nsISecurityInfoProvider))
30662         );
30663     }
30664     impl Clone for nsISecurityInfoProvider {
clone(&self) -> Self30665         fn clone(&self) -> Self {
30666             *self
30667         }
30668     }
30669     #[repr(C)]
30670     #[derive(Debug, Copy)]
30671     pub struct nsISupportsPriority {
30672         pub _base: root::nsISupports,
30673     }
30674     #[repr(C)]
30675     #[derive(Debug, Copy, Clone)]
30676     pub struct nsISupportsPriority_COMTypeInfo {
30677         pub _address: u8,
30678     }
30679     pub const nsISupportsPriority_PRIORITY_HIGHEST: root::nsISupportsPriority__bindgen_ty_1 = -20;
30680     pub const nsISupportsPriority_PRIORITY_HIGH: root::nsISupportsPriority__bindgen_ty_1 = -10;
30681     pub const nsISupportsPriority_PRIORITY_NORMAL: root::nsISupportsPriority__bindgen_ty_1 = 0;
30682     pub const nsISupportsPriority_PRIORITY_LOW: root::nsISupportsPriority__bindgen_ty_1 = 10;
30683     pub const nsISupportsPriority_PRIORITY_LOWEST: root::nsISupportsPriority__bindgen_ty_1 = 20;
30684     pub type nsISupportsPriority__bindgen_ty_1 = i32;
30685     #[test]
bindgen_test_layout_nsISupportsPriority()30686     fn bindgen_test_layout_nsISupportsPriority() {
30687         assert_eq!(
30688             ::std::mem::size_of::<nsISupportsPriority>(),
30689             8usize,
30690             concat!("Size of: ", stringify!(nsISupportsPriority))
30691         );
30692         assert_eq!(
30693             ::std::mem::align_of::<nsISupportsPriority>(),
30694             8usize,
30695             concat!("Alignment of ", stringify!(nsISupportsPriority))
30696         );
30697     }
30698     impl Clone for nsISupportsPriority {
clone(&self) -> Self30699         fn clone(&self) -> Self {
30700             *self
30701         }
30702     }
30703     #[repr(C)]
30704     #[derive(Debug, Copy)]
30705     pub struct nsITimedChannel {
30706         pub _base: root::nsISupports,
30707     }
30708     #[repr(C)]
30709     #[derive(Debug, Copy, Clone)]
30710     pub struct nsITimedChannel_COMTypeInfo {
30711         pub _address: u8,
30712     }
30713     #[test]
bindgen_test_layout_nsITimedChannel()30714     fn bindgen_test_layout_nsITimedChannel() {
30715         assert_eq!(
30716             ::std::mem::size_of::<nsITimedChannel>(),
30717             8usize,
30718             concat!("Size of: ", stringify!(nsITimedChannel))
30719         );
30720         assert_eq!(
30721             ::std::mem::align_of::<nsITimedChannel>(),
30722             8usize,
30723             concat!("Alignment of ", stringify!(nsITimedChannel))
30724         );
30725     }
30726     impl Clone for nsITimedChannel {
clone(&self) -> Self30727         fn clone(&self) -> Self {
30728             *self
30729         }
30730     }
30731     #[repr(C)]
30732     #[derive(Debug, Copy)]
30733     pub struct nsIInterfaceRequestor {
30734         pub _base: root::nsISupports,
30735     }
30736     #[repr(C)]
30737     #[derive(Debug, Copy, Clone)]
30738     pub struct nsIInterfaceRequestor_COMTypeInfo {
30739         pub _address: u8,
30740     }
30741     #[test]
bindgen_test_layout_nsIInterfaceRequestor()30742     fn bindgen_test_layout_nsIInterfaceRequestor() {
30743         assert_eq!(
30744             ::std::mem::size_of::<nsIInterfaceRequestor>(),
30745             8usize,
30746             concat!("Size of: ", stringify!(nsIInterfaceRequestor))
30747         );
30748         assert_eq!(
30749             ::std::mem::align_of::<nsIInterfaceRequestor>(),
30750             8usize,
30751             concat!("Alignment of ", stringify!(nsIInterfaceRequestor))
30752         );
30753     }
30754     impl Clone for nsIInterfaceRequestor {
clone(&self) -> Self30755         fn clone(&self) -> Self {
30756             *self
30757         }
30758     }
30759     #[repr(C)]
30760     #[derive(Debug, Copy)]
30761     pub struct ProxyBehaviour {
30762         _unused: [u8; 0],
30763     }
30764     impl Clone for ProxyBehaviour {
clone(&self) -> Self30765         fn clone(&self) -> Self {
30766             *self
30767         }
30768     }
30769     #[repr(C)]
30770     #[derive(Debug)]
30771     pub struct imgRequestProxy {
30772         pub _base: root::imgIRequest,
30773         pub _base_1: root::mozilla::image::IProgressObserver,
30774         pub _base_2: root::nsISupportsPriority,
30775         pub _base_3: root::nsISecurityInfoProvider,
30776         pub _base_4: root::nsITimedChannel,
30777         pub mRefCnt: root::nsAutoRefCnt,
30778         pub mBehaviour: root::mozilla::UniquePtr<root::ProxyBehaviour>,
30779         pub mURI: root::RefPtr<root::imgRequestProxy_ImageURL>,
30780         pub mListener: *mut root::imgINotificationObserver,
30781         pub mLoadGroup: root::nsCOMPtr,
30782         pub mTabGroup: root::RefPtr<root::mozilla::dom::TabGroup>,
30783         pub mEventTarget: root::nsCOMPtr,
30784         pub mLoadFlags: root::nsLoadFlags,
30785         pub mLockCount: u32,
30786         pub mAnimationConsumers: u32,
30787         pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 2usize], u8>,
30788         pub __bindgen_padding_0: u16,
30789     }
30790     pub type imgRequestProxy_Image = root::mozilla::image::Image;
30791     pub type imgRequestProxy_ImageURL = root::mozilla::image::ImageURL;
30792     pub type imgRequestProxy_ProgressTracker = root::mozilla::image::ProgressTracker;
30793     pub type imgRequestProxy_HasThreadSafeRefCnt = root::mozilla::FalseType;
30794     #[repr(C)]
30795     #[derive(Debug)]
30796     pub struct imgRequestProxy_imgCancelRunnable {
30797         pub _base: root::mozilla::Runnable,
30798         pub mOwner: root::RefPtr<root::imgRequestProxy>,
30799         pub mStatus: root::nsresult,
30800     }
30801     #[test]
bindgen_test_layout_imgRequestProxy_imgCancelRunnable()30802     fn bindgen_test_layout_imgRequestProxy_imgCancelRunnable() {
30803         assert_eq!(
30804             ::std::mem::size_of::<imgRequestProxy_imgCancelRunnable>(),
30805             48usize,
30806             concat!("Size of: ", stringify!(imgRequestProxy_imgCancelRunnable))
30807         );
30808         assert_eq!(
30809             ::std::mem::align_of::<imgRequestProxy_imgCancelRunnable>(),
30810             8usize,
30811             concat!(
30812                 "Alignment of ",
30813                 stringify!(imgRequestProxy_imgCancelRunnable)
30814             )
30815         );
30816         assert_eq!(
30817             unsafe {
30818                 &(*(::std::ptr::null::<imgRequestProxy_imgCancelRunnable>())).mOwner as *const _
30819                     as usize
30820             },
30821             32usize,
30822             concat!(
30823                 "Offset of field: ",
30824                 stringify!(imgRequestProxy_imgCancelRunnable),
30825                 "::",
30826                 stringify!(mOwner)
30827             )
30828         );
30829         assert_eq!(
30830             unsafe {
30831                 &(*(::std::ptr::null::<imgRequestProxy_imgCancelRunnable>())).mStatus as *const _
30832                     as usize
30833             },
30834             40usize,
30835             concat!(
30836                 "Offset of field: ",
30837                 stringify!(imgRequestProxy_imgCancelRunnable),
30838                 "::",
30839                 stringify!(mStatus)
30840             )
30841         );
30842     }
30843     #[test]
bindgen_test_layout_imgRequestProxy()30844     fn bindgen_test_layout_imgRequestProxy() {
30845         assert_eq!(
30846             ::std::mem::size_of::<imgRequestProxy>(),
30847             120usize,
30848             concat!("Size of: ", stringify!(imgRequestProxy))
30849         );
30850         assert_eq!(
30851             ::std::mem::align_of::<imgRequestProxy>(),
30852             8usize,
30853             concat!("Alignment of ", stringify!(imgRequestProxy))
30854         );
30855     }
30856     impl imgRequestProxy {
30857         #[inline]
mCanceled(&self) -> bool30858         pub fn mCanceled(&self) -> bool {
30859             unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
30860         }
30861         #[inline]
set_mCanceled(&mut self, val: bool)30862         pub fn set_mCanceled(&mut self, val: bool) {
30863             unsafe {
30864                 let val: u8 = ::std::mem::transmute(val);
30865                 self._bitfield_1.set(0usize, 1u8, val as u64)
30866             }
30867         }
30868         #[inline]
mIsInLoadGroup(&self) -> bool30869         pub fn mIsInLoadGroup(&self) -> bool {
30870             unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
30871         }
30872         #[inline]
set_mIsInLoadGroup(&mut self, val: bool)30873         pub fn set_mIsInLoadGroup(&mut self, val: bool) {
30874             unsafe {
30875                 let val: u8 = ::std::mem::transmute(val);
30876                 self._bitfield_1.set(1usize, 1u8, val as u64)
30877             }
30878         }
30879         #[inline]
mForceDispatchLoadGroup(&self) -> bool30880         pub fn mForceDispatchLoadGroup(&self) -> bool {
30881             unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
30882         }
30883         #[inline]
set_mForceDispatchLoadGroup(&mut self, val: bool)30884         pub fn set_mForceDispatchLoadGroup(&mut self, val: bool) {
30885             unsafe {
30886                 let val: u8 = ::std::mem::transmute(val);
30887                 self._bitfield_1.set(2usize, 1u8, val as u64)
30888             }
30889         }
30890         #[inline]
mListenerIsStrongRef(&self) -> bool30891         pub fn mListenerIsStrongRef(&self) -> bool {
30892             unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
30893         }
30894         #[inline]
set_mListenerIsStrongRef(&mut self, val: bool)30895         pub fn set_mListenerIsStrongRef(&mut self, val: bool) {
30896             unsafe {
30897                 let val: u8 = ::std::mem::transmute(val);
30898                 self._bitfield_1.set(3usize, 1u8, val as u64)
30899             }
30900         }
30901         #[inline]
mDecodeRequested(&self) -> bool30902         pub fn mDecodeRequested(&self) -> bool {
30903             unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
30904         }
30905         #[inline]
set_mDecodeRequested(&mut self, val: bool)30906         pub fn set_mDecodeRequested(&mut self, val: bool) {
30907             unsafe {
30908                 let val: u8 = ::std::mem::transmute(val);
30909                 self._bitfield_1.set(4usize, 1u8, val as u64)
30910             }
30911         }
30912         #[inline]
mPendingNotify(&self) -> bool30913         pub fn mPendingNotify(&self) -> bool {
30914             unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) }
30915         }
30916         #[inline]
set_mPendingNotify(&mut self, val: bool)30917         pub fn set_mPendingNotify(&mut self, val: bool) {
30918             unsafe {
30919                 let val: u8 = ::std::mem::transmute(val);
30920                 self._bitfield_1.set(5usize, 1u8, val as u64)
30921             }
30922         }
30923         #[inline]
mValidating(&self) -> bool30924         pub fn mValidating(&self) -> bool {
30925             unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) }
30926         }
30927         #[inline]
set_mValidating(&mut self, val: bool)30928         pub fn set_mValidating(&mut self, val: bool) {
30929             unsafe {
30930                 let val: u8 = ::std::mem::transmute(val);
30931                 self._bitfield_1.set(6usize, 1u8, val as u64)
30932             }
30933         }
30934         #[inline]
mHadListener(&self) -> bool30935         pub fn mHadListener(&self) -> bool {
30936             unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
30937         }
30938         #[inline]
set_mHadListener(&mut self, val: bool)30939         pub fn set_mHadListener(&mut self, val: bool) {
30940             unsafe {
30941                 let val: u8 = ::std::mem::transmute(val);
30942                 self._bitfield_1.set(7usize, 1u8, val as u64)
30943             }
30944         }
30945         #[inline]
mHadDispatch(&self) -> bool30946         pub fn mHadDispatch(&self) -> bool {
30947             unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
30948         }
30949         #[inline]
set_mHadDispatch(&mut self, val: bool)30950         pub fn set_mHadDispatch(&mut self, val: bool) {
30951             unsafe {
30952                 let val: u8 = ::std::mem::transmute(val);
30953                 self._bitfield_1.set(8usize, 1u8, val as u64)
30954             }
30955         }
30956         #[inline]
new_bitfield_1( mCanceled: bool, mIsInLoadGroup: bool, mForceDispatchLoadGroup: bool, mListenerIsStrongRef: bool, mDecodeRequested: bool, mPendingNotify: bool, mValidating: bool, mHadListener: bool, mHadDispatch: bool, ) -> root::__BindgenBitfieldUnit<[u8; 2usize], u8>30957         pub fn new_bitfield_1(
30958             mCanceled: bool,
30959             mIsInLoadGroup: bool,
30960             mForceDispatchLoadGroup: bool,
30961             mListenerIsStrongRef: bool,
30962             mDecodeRequested: bool,
30963             mPendingNotify: bool,
30964             mValidating: bool,
30965             mHadListener: bool,
30966             mHadDispatch: bool,
30967         ) -> root::__BindgenBitfieldUnit<[u8; 2usize], u8> {
30968             let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
30969                 [u8; 2usize],
30970                 u8,
30971             > = Default::default();
30972             __bindgen_bitfield_unit.set(0usize, 1u8, {
30973                 let mCanceled: u8 = unsafe { ::std::mem::transmute(mCanceled) };
30974                 mCanceled as u64
30975             });
30976             __bindgen_bitfield_unit.set(1usize, 1u8, {
30977                 let mIsInLoadGroup: u8 = unsafe { ::std::mem::transmute(mIsInLoadGroup) };
30978                 mIsInLoadGroup as u64
30979             });
30980             __bindgen_bitfield_unit.set(2usize, 1u8, {
30981                 let mForceDispatchLoadGroup: u8 =
30982                     unsafe { ::std::mem::transmute(mForceDispatchLoadGroup) };
30983                 mForceDispatchLoadGroup as u64
30984             });
30985             __bindgen_bitfield_unit.set(3usize, 1u8, {
30986                 let mListenerIsStrongRef: u8 =
30987                     unsafe { ::std::mem::transmute(mListenerIsStrongRef) };
30988                 mListenerIsStrongRef as u64
30989             });
30990             __bindgen_bitfield_unit.set(4usize, 1u8, {
30991                 let mDecodeRequested: u8 = unsafe { ::std::mem::transmute(mDecodeRequested) };
30992                 mDecodeRequested as u64
30993             });
30994             __bindgen_bitfield_unit.set(5usize, 1u8, {
30995                 let mPendingNotify: u8 = unsafe { ::std::mem::transmute(mPendingNotify) };
30996                 mPendingNotify as u64
30997             });
30998             __bindgen_bitfield_unit.set(6usize, 1u8, {
30999                 let mValidating: u8 = unsafe { ::std::mem::transmute(mValidating) };
31000                 mValidating as u64
31001             });
31002             __bindgen_bitfield_unit.set(7usize, 1u8, {
31003                 let mHadListener: u8 = unsafe { ::std::mem::transmute(mHadListener) };
31004                 mHadListener as u64
31005             });
31006             __bindgen_bitfield_unit.set(8usize, 1u8, {
31007                 let mHadDispatch: u8 = unsafe { ::std::mem::transmute(mHadDispatch) };
31008                 mHadDispatch as u64
31009             });
31010             __bindgen_bitfield_unit
31011         }
31012     }
31013     #[repr(C)]
31014     pub struct nsStyleFont {
31015         pub mFont: root::nsFont,
31016         pub mSize: root::nscoord,
31017         pub mFontSizeFactor: f32,
31018         pub mFontSizeOffset: root::nscoord,
31019         pub mFontSizeKeyword: u8,
31020         pub mGenericID: u8,
31021         pub mScriptLevel: i8,
31022         pub mMathVariant: u8,
31023         pub mMathDisplay: u8,
31024         pub mMinFontSizeRatio: u8,
31025         pub mExplicitLanguage: bool,
31026         pub mAllowZoom: bool,
31027         pub mScriptUnconstrainedSize: root::nscoord,
31028         pub mScriptMinSize: root::nscoord,
31029         pub mScriptSizeMultiplier: f32,
31030         pub mLanguage: root::RefPtr<root::nsAtom>,
31031     }
31032     pub const nsStyleFont_kHasFinishStyle: bool = false;
31033     #[test]
bindgen_test_layout_nsStyleFont()31034     fn bindgen_test_layout_nsStyleFont() {
31035         assert_eq!(
31036             ::std::mem::size_of::<nsStyleFont>(),
31037             136usize,
31038             concat!("Size of: ", stringify!(nsStyleFont))
31039         );
31040         assert_eq!(
31041             ::std::mem::align_of::<nsStyleFont>(),
31042             8usize,
31043             concat!("Alignment of ", stringify!(nsStyleFont))
31044         );
31045         assert_eq!(
31046             unsafe { &(*(::std::ptr::null::<nsStyleFont>())).mFont as *const _ as usize },
31047             0usize,
31048             concat!(
31049                 "Offset of field: ",
31050                 stringify!(nsStyleFont),
31051                 "::",
31052                 stringify!(mFont)
31053             )
31054         );
31055         assert_eq!(
31056             unsafe { &(*(::std::ptr::null::<nsStyleFont>())).mSize as *const _ as usize },
31057             96usize,
31058             concat!(
31059                 "Offset of field: ",
31060                 stringify!(nsStyleFont),
31061                 "::",
31062                 stringify!(mSize)
31063             )
31064         );
31065         assert_eq!(
31066             unsafe { &(*(::std::ptr::null::<nsStyleFont>())).mFontSizeFactor as *const _ as usize },
31067             100usize,
31068             concat!(
31069                 "Offset of field: ",
31070                 stringify!(nsStyleFont),
31071                 "::",
31072                 stringify!(mFontSizeFactor)
31073             )
31074         );
31075         assert_eq!(
31076             unsafe { &(*(::std::ptr::null::<nsStyleFont>())).mFontSizeOffset as *const _ as usize },
31077             104usize,
31078             concat!(
31079                 "Offset of field: ",
31080                 stringify!(nsStyleFont),
31081                 "::",
31082                 stringify!(mFontSizeOffset)
31083             )
31084         );
31085         assert_eq!(
31086             unsafe {
31087                 &(*(::std::ptr::null::<nsStyleFont>())).mFontSizeKeyword as *const _ as usize
31088             },
31089             108usize,
31090             concat!(
31091                 "Offset of field: ",
31092                 stringify!(nsStyleFont),
31093                 "::",
31094                 stringify!(mFontSizeKeyword)
31095             )
31096         );
31097         assert_eq!(
31098             unsafe { &(*(::std::ptr::null::<nsStyleFont>())).mGenericID as *const _ as usize },
31099             109usize,
31100             concat!(
31101                 "Offset of field: ",
31102                 stringify!(nsStyleFont),
31103                 "::",
31104                 stringify!(mGenericID)
31105             )
31106         );
31107         assert_eq!(
31108             unsafe { &(*(::std::ptr::null::<nsStyleFont>())).mScriptLevel as *const _ as usize },
31109             110usize,
31110             concat!(
31111                 "Offset of field: ",
31112                 stringify!(nsStyleFont),
31113                 "::",
31114                 stringify!(mScriptLevel)
31115             )
31116         );
31117         assert_eq!(
31118             unsafe { &(*(::std::ptr::null::<nsStyleFont>())).mMathVariant as *const _ as usize },
31119             111usize,
31120             concat!(
31121                 "Offset of field: ",
31122                 stringify!(nsStyleFont),
31123                 "::",
31124                 stringify!(mMathVariant)
31125             )
31126         );
31127         assert_eq!(
31128             unsafe { &(*(::std::ptr::null::<nsStyleFont>())).mMathDisplay as *const _ as usize },
31129             112usize,
31130             concat!(
31131                 "Offset of field: ",
31132                 stringify!(nsStyleFont),
31133                 "::",
31134                 stringify!(mMathDisplay)
31135             )
31136         );
31137         assert_eq!(
31138             unsafe {
31139                 &(*(::std::ptr::null::<nsStyleFont>())).mMinFontSizeRatio as *const _ as usize
31140             },
31141             113usize,
31142             concat!(
31143                 "Offset of field: ",
31144                 stringify!(nsStyleFont),
31145                 "::",
31146                 stringify!(mMinFontSizeRatio)
31147             )
31148         );
31149         assert_eq!(
31150             unsafe {
31151                 &(*(::std::ptr::null::<nsStyleFont>())).mExplicitLanguage as *const _ as usize
31152             },
31153             114usize,
31154             concat!(
31155                 "Offset of field: ",
31156                 stringify!(nsStyleFont),
31157                 "::",
31158                 stringify!(mExplicitLanguage)
31159             )
31160         );
31161         assert_eq!(
31162             unsafe { &(*(::std::ptr::null::<nsStyleFont>())).mAllowZoom as *const _ as usize },
31163             115usize,
31164             concat!(
31165                 "Offset of field: ",
31166                 stringify!(nsStyleFont),
31167                 "::",
31168                 stringify!(mAllowZoom)
31169             )
31170         );
31171         assert_eq!(
31172             unsafe {
31173                 &(*(::std::ptr::null::<nsStyleFont>())).mScriptUnconstrainedSize as *const _
31174                     as usize
31175             },
31176             116usize,
31177             concat!(
31178                 "Offset of field: ",
31179                 stringify!(nsStyleFont),
31180                 "::",
31181                 stringify!(mScriptUnconstrainedSize)
31182             )
31183         );
31184         assert_eq!(
31185             unsafe { &(*(::std::ptr::null::<nsStyleFont>())).mScriptMinSize as *const _ as usize },
31186             120usize,
31187             concat!(
31188                 "Offset of field: ",
31189                 stringify!(nsStyleFont),
31190                 "::",
31191                 stringify!(mScriptMinSize)
31192             )
31193         );
31194         assert_eq!(
31195             unsafe {
31196                 &(*(::std::ptr::null::<nsStyleFont>())).mScriptSizeMultiplier as *const _ as usize
31197             },
31198             124usize,
31199             concat!(
31200                 "Offset of field: ",
31201                 stringify!(nsStyleFont),
31202                 "::",
31203                 stringify!(mScriptSizeMultiplier)
31204             )
31205         );
31206         assert_eq!(
31207             unsafe { &(*(::std::ptr::null::<nsStyleFont>())).mLanguage as *const _ as usize },
31208             128usize,
31209             concat!(
31210                 "Offset of field: ",
31211                 stringify!(nsStyleFont),
31212                 "::",
31213                 stringify!(mLanguage)
31214             )
31215         );
31216     }
31217     #[repr(C)]
31218     #[derive(Debug)]
31219     pub struct nsStyleGradientStop {
31220         pub mLocation: root::nsStyleCoord,
31221         pub mColor: root::nscolor,
31222         pub mIsInterpolationHint: bool,
31223     }
31224     #[test]
bindgen_test_layout_nsStyleGradientStop()31225     fn bindgen_test_layout_nsStyleGradientStop() {
31226         assert_eq!(
31227             ::std::mem::size_of::<nsStyleGradientStop>(),
31228             24usize,
31229             concat!("Size of: ", stringify!(nsStyleGradientStop))
31230         );
31231         assert_eq!(
31232             ::std::mem::align_of::<nsStyleGradientStop>(),
31233             8usize,
31234             concat!("Alignment of ", stringify!(nsStyleGradientStop))
31235         );
31236         assert_eq!(
31237             unsafe {
31238                 &(*(::std::ptr::null::<nsStyleGradientStop>())).mLocation as *const _ as usize
31239             },
31240             0usize,
31241             concat!(
31242                 "Offset of field: ",
31243                 stringify!(nsStyleGradientStop),
31244                 "::",
31245                 stringify!(mLocation)
31246             )
31247         );
31248         assert_eq!(
31249             unsafe { &(*(::std::ptr::null::<nsStyleGradientStop>())).mColor as *const _ as usize },
31250             16usize,
31251             concat!(
31252                 "Offset of field: ",
31253                 stringify!(nsStyleGradientStop),
31254                 "::",
31255                 stringify!(mColor)
31256             )
31257         );
31258         assert_eq!(
31259             unsafe {
31260                 &(*(::std::ptr::null::<nsStyleGradientStop>())).mIsInterpolationHint as *const _
31261                     as usize
31262             },
31263             20usize,
31264             concat!(
31265                 "Offset of field: ",
31266                 stringify!(nsStyleGradientStop),
31267                 "::",
31268                 stringify!(mIsInterpolationHint)
31269             )
31270         );
31271     }
31272     #[repr(C)]
31273     #[derive(Debug)]
31274     pub struct nsStyleGradient {
31275         pub mShape: u8,
31276         pub mSize: u8,
31277         pub mRepeating: bool,
31278         pub mLegacySyntax: bool,
31279         pub mMozLegacySyntax: bool,
31280         pub mBgPosX: root::nsStyleCoord,
31281         pub mBgPosY: root::nsStyleCoord,
31282         pub mAngle: root::nsStyleCoord,
31283         pub mRadiusX: root::nsStyleCoord,
31284         pub mRadiusY: root::nsStyleCoord,
31285         pub mStops: root::nsTArray<root::nsStyleGradientStop>,
31286         pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
31287     }
31288     pub type nsStyleGradient_HasThreadSafeRefCnt = root::mozilla::TrueType;
31289     #[test]
bindgen_test_layout_nsStyleGradient()31290     fn bindgen_test_layout_nsStyleGradient() {
31291         assert_eq!(
31292             ::std::mem::size_of::<nsStyleGradient>(),
31293             104usize,
31294             concat!("Size of: ", stringify!(nsStyleGradient))
31295         );
31296         assert_eq!(
31297             ::std::mem::align_of::<nsStyleGradient>(),
31298             8usize,
31299             concat!("Alignment of ", stringify!(nsStyleGradient))
31300         );
31301         assert_eq!(
31302             unsafe { &(*(::std::ptr::null::<nsStyleGradient>())).mShape as *const _ as usize },
31303             0usize,
31304             concat!(
31305                 "Offset of field: ",
31306                 stringify!(nsStyleGradient),
31307                 "::",
31308                 stringify!(mShape)
31309             )
31310         );
31311         assert_eq!(
31312             unsafe { &(*(::std::ptr::null::<nsStyleGradient>())).mSize as *const _ as usize },
31313             1usize,
31314             concat!(
31315                 "Offset of field: ",
31316                 stringify!(nsStyleGradient),
31317                 "::",
31318                 stringify!(mSize)
31319             )
31320         );
31321         assert_eq!(
31322             unsafe { &(*(::std::ptr::null::<nsStyleGradient>())).mRepeating as *const _ as usize },
31323             2usize,
31324             concat!(
31325                 "Offset of field: ",
31326                 stringify!(nsStyleGradient),
31327                 "::",
31328                 stringify!(mRepeating)
31329             )
31330         );
31331         assert_eq!(
31332             unsafe {
31333                 &(*(::std::ptr::null::<nsStyleGradient>())).mLegacySyntax as *const _ as usize
31334             },
31335             3usize,
31336             concat!(
31337                 "Offset of field: ",
31338                 stringify!(nsStyleGradient),
31339                 "::",
31340                 stringify!(mLegacySyntax)
31341             )
31342         );
31343         assert_eq!(
31344             unsafe {
31345                 &(*(::std::ptr::null::<nsStyleGradient>())).mMozLegacySyntax as *const _ as usize
31346             },
31347             4usize,
31348             concat!(
31349                 "Offset of field: ",
31350                 stringify!(nsStyleGradient),
31351                 "::",
31352                 stringify!(mMozLegacySyntax)
31353             )
31354         );
31355         assert_eq!(
31356             unsafe { &(*(::std::ptr::null::<nsStyleGradient>())).mBgPosX as *const _ as usize },
31357             8usize,
31358             concat!(
31359                 "Offset of field: ",
31360                 stringify!(nsStyleGradient),
31361                 "::",
31362                 stringify!(mBgPosX)
31363             )
31364         );
31365         assert_eq!(
31366             unsafe { &(*(::std::ptr::null::<nsStyleGradient>())).mBgPosY as *const _ as usize },
31367             24usize,
31368             concat!(
31369                 "Offset of field: ",
31370                 stringify!(nsStyleGradient),
31371                 "::",
31372                 stringify!(mBgPosY)
31373             )
31374         );
31375         assert_eq!(
31376             unsafe { &(*(::std::ptr::null::<nsStyleGradient>())).mAngle as *const _ as usize },
31377             40usize,
31378             concat!(
31379                 "Offset of field: ",
31380                 stringify!(nsStyleGradient),
31381                 "::",
31382                 stringify!(mAngle)
31383             )
31384         );
31385         assert_eq!(
31386             unsafe { &(*(::std::ptr::null::<nsStyleGradient>())).mRadiusX as *const _ as usize },
31387             56usize,
31388             concat!(
31389                 "Offset of field: ",
31390                 stringify!(nsStyleGradient),
31391                 "::",
31392                 stringify!(mRadiusX)
31393             )
31394         );
31395         assert_eq!(
31396             unsafe { &(*(::std::ptr::null::<nsStyleGradient>())).mRadiusY as *const _ as usize },
31397             72usize,
31398             concat!(
31399                 "Offset of field: ",
31400                 stringify!(nsStyleGradient),
31401                 "::",
31402                 stringify!(mRadiusY)
31403             )
31404         );
31405         assert_eq!(
31406             unsafe { &(*(::std::ptr::null::<nsStyleGradient>())).mStops as *const _ as usize },
31407             88usize,
31408             concat!(
31409                 "Offset of field: ",
31410                 stringify!(nsStyleGradient),
31411                 "::",
31412                 stringify!(mStops)
31413             )
31414         );
31415         assert_eq!(
31416             unsafe { &(*(::std::ptr::null::<nsStyleGradient>())).mRefCnt as *const _ as usize },
31417             96usize,
31418             concat!(
31419                 "Offset of field: ",
31420                 stringify!(nsStyleGradient),
31421                 "::",
31422                 stringify!(mRefCnt)
31423             )
31424         );
31425     }
31426     /// A wrapper for an imgRequestProxy that supports off-main-thread creation
31427     /// and equality comparison.
31428     ///
31429     /// An nsStyleImageRequest can be created in two ways:
31430     ///
31431     /// 1. Using the constructor that takes an imgRequestProxy.  This must
31432     /// be called from the main thread.  The nsStyleImageRequest is
31433     /// immediately considered "resolved", and the get() method that
31434     /// returns the imgRequestProxy can be called.
31435     ///
31436     /// 2. Using the constructor that takes the URL, base URI, referrer
31437     /// and principal that can be used to inititiate an image load and
31438     /// produce an imgRequestProxy later.  This can be called from
31439     /// any thread.  The nsStyleImageRequest is not considered "resolved"
31440     /// at this point, and the Resolve() method must be called later
31441     /// to initiate the image load and make calls to get() valid.
31442     ///
31443     /// Calls to TrackImage(), UntrackImage(), LockImage(), UnlockImage() and
31444     /// RequestDiscard() are made to the imgRequestProxy and ImageTracker as
31445     /// appropriate, according to the mode flags passed in to the constructor.
31446     ///
31447     /// The main thread constructor takes a pointer to the css::ImageValue that
31448     /// is the specified url() value, while the off-main-thread constructor
31449     /// creates a new css::ImageValue to represent the url() information passed
31450     /// to the constructor.  This ImageValue is held on to for the comparisons done
31451     /// in DefinitelyEquals(), so that we don't need to call into the non-OMT-safe
31452     /// Equals() on the nsIURI objects returned from imgRequestProxy::GetURI().
31453     #[repr(C)]
31454     #[derive(Debug)]
31455     pub struct nsStyleImageRequest {
31456         pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
31457         pub mRequestProxy: root::RefPtr<root::imgRequestProxy>,
31458         pub mImageValue: root::RefPtr<root::mozilla::css::ImageValue>,
31459         pub mImageTracker: root::RefPtr<root::mozilla::dom::ImageTracker>,
31460         pub mDocGroup: root::RefPtr<root::mozilla::dom::DocGroup>,
31461         pub mModeFlags: root::nsStyleImageRequest_Mode,
31462         pub mResolved: bool,
31463     }
31464     pub type nsStyleImageRequest_URLValueData = root::mozilla::css::URLValueData;
31465     pub const nsStyleImageRequest_Mode_Track: root::nsStyleImageRequest_Mode = 1;
31466     pub const nsStyleImageRequest_Mode_Discard: root::nsStyleImageRequest_Mode = 2;
31467     pub type nsStyleImageRequest_Mode = u8;
31468     pub type nsStyleImageRequest_HasThreadSafeRefCnt = root::mozilla::TrueType;
31469     #[test]
bindgen_test_layout_nsStyleImageRequest()31470     fn bindgen_test_layout_nsStyleImageRequest() {
31471         assert_eq!(
31472             ::std::mem::size_of::<nsStyleImageRequest>(),
31473             48usize,
31474             concat!("Size of: ", stringify!(nsStyleImageRequest))
31475         );
31476         assert_eq!(
31477             ::std::mem::align_of::<nsStyleImageRequest>(),
31478             8usize,
31479             concat!("Alignment of ", stringify!(nsStyleImageRequest))
31480         );
31481         assert_eq!(
31482             unsafe { &(*(::std::ptr::null::<nsStyleImageRequest>())).mRefCnt as *const _ as usize },
31483             0usize,
31484             concat!(
31485                 "Offset of field: ",
31486                 stringify!(nsStyleImageRequest),
31487                 "::",
31488                 stringify!(mRefCnt)
31489             )
31490         );
31491         assert_eq!(
31492             unsafe {
31493                 &(*(::std::ptr::null::<nsStyleImageRequest>())).mRequestProxy as *const _ as usize
31494             },
31495             8usize,
31496             concat!(
31497                 "Offset of field: ",
31498                 stringify!(nsStyleImageRequest),
31499                 "::",
31500                 stringify!(mRequestProxy)
31501             )
31502         );
31503         assert_eq!(
31504             unsafe {
31505                 &(*(::std::ptr::null::<nsStyleImageRequest>())).mImageValue as *const _ as usize
31506             },
31507             16usize,
31508             concat!(
31509                 "Offset of field: ",
31510                 stringify!(nsStyleImageRequest),
31511                 "::",
31512                 stringify!(mImageValue)
31513             )
31514         );
31515         assert_eq!(
31516             unsafe {
31517                 &(*(::std::ptr::null::<nsStyleImageRequest>())).mImageTracker as *const _ as usize
31518             },
31519             24usize,
31520             concat!(
31521                 "Offset of field: ",
31522                 stringify!(nsStyleImageRequest),
31523                 "::",
31524                 stringify!(mImageTracker)
31525             )
31526         );
31527         assert_eq!(
31528             unsafe {
31529                 &(*(::std::ptr::null::<nsStyleImageRequest>())).mDocGroup as *const _ as usize
31530             },
31531             32usize,
31532             concat!(
31533                 "Offset of field: ",
31534                 stringify!(nsStyleImageRequest),
31535                 "::",
31536                 stringify!(mDocGroup)
31537             )
31538         );
31539         assert_eq!(
31540             unsafe {
31541                 &(*(::std::ptr::null::<nsStyleImageRequest>())).mModeFlags as *const _ as usize
31542             },
31543             40usize,
31544             concat!(
31545                 "Offset of field: ",
31546                 stringify!(nsStyleImageRequest),
31547                 "::",
31548                 stringify!(mModeFlags)
31549             )
31550         );
31551         assert_eq!(
31552             unsafe {
31553                 &(*(::std::ptr::null::<nsStyleImageRequest>())).mResolved as *const _ as usize
31554             },
31555             41usize,
31556             concat!(
31557                 "Offset of field: ",
31558                 stringify!(nsStyleImageRequest),
31559                 "::",
31560                 stringify!(mResolved)
31561             )
31562         );
31563     }
31564     #[repr(u32)]
31565     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
31566     pub enum nsStyleImageType {
31567         eStyleImageType_Null = 0,
31568         eStyleImageType_Image = 1,
31569         eStyleImageType_Gradient = 2,
31570         eStyleImageType_Element = 3,
31571         eStyleImageType_URL = 4,
31572     }
31573     #[repr(C)]
31574     #[derive(Debug)]
31575     pub struct CachedBorderImageData {
31576         pub mCachedSVGViewportSize: [u32; 3usize],
31577         pub mSubImages: root::nsCOMArray,
31578     }
31579     #[test]
bindgen_test_layout_CachedBorderImageData()31580     fn bindgen_test_layout_CachedBorderImageData() {
31581         assert_eq!(
31582             ::std::mem::size_of::<CachedBorderImageData>(),
31583             24usize,
31584             concat!("Size of: ", stringify!(CachedBorderImageData))
31585         );
31586         assert_eq!(
31587             ::std::mem::align_of::<CachedBorderImageData>(),
31588             8usize,
31589             concat!("Alignment of ", stringify!(CachedBorderImageData))
31590         );
31591         assert_eq!(
31592             unsafe {
31593                 &(*(::std::ptr::null::<CachedBorderImageData>())).mCachedSVGViewportSize as *const _
31594                     as usize
31595             },
31596             0usize,
31597             concat!(
31598                 "Offset of field: ",
31599                 stringify!(CachedBorderImageData),
31600                 "::",
31601                 stringify!(mCachedSVGViewportSize)
31602             )
31603         );
31604         assert_eq!(
31605             unsafe {
31606                 &(*(::std::ptr::null::<CachedBorderImageData>())).mSubImages as *const _ as usize
31607             },
31608             16usize,
31609             concat!(
31610                 "Offset of field: ",
31611                 stringify!(CachedBorderImageData),
31612                 "::",
31613                 stringify!(mSubImages)
31614             )
31615         );
31616     }
31617     /// Represents a paintable image of one of the following types.
31618     /// (1) A real image loaded from an external source.
31619     /// (2) A CSS linear or radial gradient.
31620     /// (3) An element within a document, or an <img>, <video>, or <canvas> element
31621     /// not in a document.
31622     /// (*) Optionally a crop rect can be set to paint a partial (rectangular)
31623     /// region of an image. (Currently, this feature is only supported with an
31624     /// image of type (1)).
31625     #[repr(C)]
31626     #[derive(Debug)]
31627     pub struct nsStyleImage {
31628         pub mCachedBIData: root::mozilla::UniquePtr<root::CachedBorderImageData>,
31629         pub mType: root::nsStyleImageType,
31630         pub __bindgen_anon_1: root::nsStyleImage__bindgen_ty_1,
31631         pub mCropRect: root::mozilla::UniquePtr<root::nsStyleSides>,
31632     }
31633     pub type nsStyleImage_URLValue = root::mozilla::css::URLValue;
31634     pub type nsStyleImage_URLValueData = root::mozilla::css::URLValueData;
31635     #[repr(C)]
31636     #[derive(Debug, Copy)]
31637     pub struct nsStyleImage__bindgen_ty_1 {
31638         pub mImage: root::__BindgenUnionField<*mut root::nsStyleImageRequest>,
31639         pub mGradient: root::__BindgenUnionField<*mut root::nsStyleGradient>,
31640         pub mURLValue: root::__BindgenUnionField<*mut root::nsStyleImage_URLValue>,
31641         pub mElementId: root::__BindgenUnionField<*mut root::nsAtom>,
31642         pub bindgen_union_field: u64,
31643     }
31644     #[test]
bindgen_test_layout_nsStyleImage__bindgen_ty_1()31645     fn bindgen_test_layout_nsStyleImage__bindgen_ty_1() {
31646         assert_eq!(
31647             ::std::mem::size_of::<nsStyleImage__bindgen_ty_1>(),
31648             8usize,
31649             concat!("Size of: ", stringify!(nsStyleImage__bindgen_ty_1))
31650         );
31651         assert_eq!(
31652             ::std::mem::align_of::<nsStyleImage__bindgen_ty_1>(),
31653             8usize,
31654             concat!("Alignment of ", stringify!(nsStyleImage__bindgen_ty_1))
31655         );
31656         assert_eq!(
31657             unsafe {
31658                 &(*(::std::ptr::null::<nsStyleImage__bindgen_ty_1>())).mImage as *const _ as usize
31659             },
31660             0usize,
31661             concat!(
31662                 "Offset of field: ",
31663                 stringify!(nsStyleImage__bindgen_ty_1),
31664                 "::",
31665                 stringify!(mImage)
31666             )
31667         );
31668         assert_eq!(
31669             unsafe {
31670                 &(*(::std::ptr::null::<nsStyleImage__bindgen_ty_1>())).mGradient as *const _
31671                     as usize
31672             },
31673             0usize,
31674             concat!(
31675                 "Offset of field: ",
31676                 stringify!(nsStyleImage__bindgen_ty_1),
31677                 "::",
31678                 stringify!(mGradient)
31679             )
31680         );
31681         assert_eq!(
31682             unsafe {
31683                 &(*(::std::ptr::null::<nsStyleImage__bindgen_ty_1>())).mURLValue as *const _
31684                     as usize
31685             },
31686             0usize,
31687             concat!(
31688                 "Offset of field: ",
31689                 stringify!(nsStyleImage__bindgen_ty_1),
31690                 "::",
31691                 stringify!(mURLValue)
31692             )
31693         );
31694         assert_eq!(
31695             unsafe {
31696                 &(*(::std::ptr::null::<nsStyleImage__bindgen_ty_1>())).mElementId as *const _
31697                     as usize
31698             },
31699             0usize,
31700             concat!(
31701                 "Offset of field: ",
31702                 stringify!(nsStyleImage__bindgen_ty_1),
31703                 "::",
31704                 stringify!(mElementId)
31705             )
31706         );
31707     }
31708     impl Clone for nsStyleImage__bindgen_ty_1 {
clone(&self) -> Self31709         fn clone(&self) -> Self {
31710             *self
31711         }
31712     }
31713     #[test]
bindgen_test_layout_nsStyleImage()31714     fn bindgen_test_layout_nsStyleImage() {
31715         assert_eq!(
31716             ::std::mem::size_of::<nsStyleImage>(),
31717             32usize,
31718             concat!("Size of: ", stringify!(nsStyleImage))
31719         );
31720         assert_eq!(
31721             ::std::mem::align_of::<nsStyleImage>(),
31722             8usize,
31723             concat!("Alignment of ", stringify!(nsStyleImage))
31724         );
31725         assert_eq!(
31726             unsafe { &(*(::std::ptr::null::<nsStyleImage>())).mCachedBIData as *const _ as usize },
31727             0usize,
31728             concat!(
31729                 "Offset of field: ",
31730                 stringify!(nsStyleImage),
31731                 "::",
31732                 stringify!(mCachedBIData)
31733             )
31734         );
31735         assert_eq!(
31736             unsafe { &(*(::std::ptr::null::<nsStyleImage>())).mType as *const _ as usize },
31737             8usize,
31738             concat!(
31739                 "Offset of field: ",
31740                 stringify!(nsStyleImage),
31741                 "::",
31742                 stringify!(mType)
31743             )
31744         );
31745         assert_eq!(
31746             unsafe { &(*(::std::ptr::null::<nsStyleImage>())).mCropRect as *const _ as usize },
31747             24usize,
31748             concat!(
31749                 "Offset of field: ",
31750                 stringify!(nsStyleImage),
31751                 "::",
31752                 stringify!(mCropRect)
31753             )
31754         );
31755     }
31756     #[repr(C)]
31757     #[derive(Debug)]
31758     pub struct nsStyleColor {
31759         pub mColor: root::nscolor,
31760     }
31761     pub const nsStyleColor_kHasFinishStyle: bool = false;
31762     #[test]
bindgen_test_layout_nsStyleColor()31763     fn bindgen_test_layout_nsStyleColor() {
31764         assert_eq!(
31765             ::std::mem::size_of::<nsStyleColor>(),
31766             4usize,
31767             concat!("Size of: ", stringify!(nsStyleColor))
31768         );
31769         assert_eq!(
31770             ::std::mem::align_of::<nsStyleColor>(),
31771             4usize,
31772             concat!("Alignment of ", stringify!(nsStyleColor))
31773         );
31774         assert_eq!(
31775             unsafe { &(*(::std::ptr::null::<nsStyleColor>())).mColor as *const _ as usize },
31776             0usize,
31777             concat!(
31778                 "Offset of field: ",
31779                 stringify!(nsStyleColor),
31780                 "::",
31781                 stringify!(mColor)
31782             )
31783         );
31784     }
31785     #[repr(C)]
31786     #[derive(Debug)]
31787     pub struct nsStyleImageLayers {
31788         pub mAttachmentCount: u32,
31789         pub mClipCount: u32,
31790         pub mOriginCount: u32,
31791         pub mRepeatCount: u32,
31792         pub mPositionXCount: u32,
31793         pub mPositionYCount: u32,
31794         pub mImageCount: u32,
31795         pub mSizeCount: u32,
31796         pub mMaskModeCount: u32,
31797         pub mBlendModeCount: u32,
31798         pub mCompositeCount: u32,
31799         pub mLayers: root::nsStyleAutoArray<root::nsStyleImageLayers_Layer>,
31800     }
31801     pub const nsStyleImageLayers_shorthand: root::nsStyleImageLayers__bindgen_ty_1 = 0;
31802     pub const nsStyleImageLayers_color: root::nsStyleImageLayers__bindgen_ty_1 = 1;
31803     pub const nsStyleImageLayers_image: root::nsStyleImageLayers__bindgen_ty_1 = 2;
31804     pub const nsStyleImageLayers_repeat: root::nsStyleImageLayers__bindgen_ty_1 = 3;
31805     pub const nsStyleImageLayers_positionX: root::nsStyleImageLayers__bindgen_ty_1 = 4;
31806     pub const nsStyleImageLayers_positionY: root::nsStyleImageLayers__bindgen_ty_1 = 5;
31807     pub const nsStyleImageLayers_clip: root::nsStyleImageLayers__bindgen_ty_1 = 6;
31808     pub const nsStyleImageLayers_origin: root::nsStyleImageLayers__bindgen_ty_1 = 7;
31809     pub const nsStyleImageLayers_size: root::nsStyleImageLayers__bindgen_ty_1 = 8;
31810     pub const nsStyleImageLayers_attachment: root::nsStyleImageLayers__bindgen_ty_1 = 9;
31811     pub const nsStyleImageLayers_maskMode: root::nsStyleImageLayers__bindgen_ty_1 = 10;
31812     pub const nsStyleImageLayers_composite: root::nsStyleImageLayers__bindgen_ty_1 = 11;
31813     pub type nsStyleImageLayers__bindgen_ty_1 = u32;
31814     #[repr(u8)]
31815     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
31816     pub enum nsStyleImageLayers_LayerType {
31817         Background = 0,
31818         Mask = 1,
31819     }
31820     #[repr(C)]
31821     #[derive(Debug, Copy)]
31822     pub struct nsStyleImageLayers_Size {
31823         pub mWidth: root::nsStyleImageLayers_Size_Dimension,
31824         pub mHeight: root::nsStyleImageLayers_Size_Dimension,
31825         pub mWidthType: u8,
31826         pub mHeightType: u8,
31827     }
31828     #[repr(C)]
31829     #[derive(Debug, Copy)]
31830     pub struct nsStyleImageLayers_Size_Dimension {
31831         pub _base: root::nsStyleCoord_CalcValue,
31832     }
31833     #[test]
bindgen_test_layout_nsStyleImageLayers_Size_Dimension()31834     fn bindgen_test_layout_nsStyleImageLayers_Size_Dimension() {
31835         assert_eq!(
31836             ::std::mem::size_of::<nsStyleImageLayers_Size_Dimension>(),
31837             12usize,
31838             concat!("Size of: ", stringify!(nsStyleImageLayers_Size_Dimension))
31839         );
31840         assert_eq!(
31841             ::std::mem::align_of::<nsStyleImageLayers_Size_Dimension>(),
31842             4usize,
31843             concat!(
31844                 "Alignment of ",
31845                 stringify!(nsStyleImageLayers_Size_Dimension)
31846             )
31847         );
31848     }
31849     impl Clone for nsStyleImageLayers_Size_Dimension {
clone(&self) -> Self31850         fn clone(&self) -> Self {
31851             *self
31852         }
31853     }
31854     #[repr(u32)]
31855     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
31856     pub enum nsStyleImageLayers_Size_DimensionType {
31857         eContain = 0,
31858         eCover = 1,
31859         eAuto = 2,
31860         eLengthPercentage = 3,
31861         eDimensionType_COUNT = 4,
31862     }
31863     #[test]
bindgen_test_layout_nsStyleImageLayers_Size()31864     fn bindgen_test_layout_nsStyleImageLayers_Size() {
31865         assert_eq!(
31866             ::std::mem::size_of::<nsStyleImageLayers_Size>(),
31867             28usize,
31868             concat!("Size of: ", stringify!(nsStyleImageLayers_Size))
31869         );
31870         assert_eq!(
31871             ::std::mem::align_of::<nsStyleImageLayers_Size>(),
31872             4usize,
31873             concat!("Alignment of ", stringify!(nsStyleImageLayers_Size))
31874         );
31875         assert_eq!(
31876             unsafe {
31877                 &(*(::std::ptr::null::<nsStyleImageLayers_Size>())).mWidth as *const _ as usize
31878             },
31879             0usize,
31880             concat!(
31881                 "Offset of field: ",
31882                 stringify!(nsStyleImageLayers_Size),
31883                 "::",
31884                 stringify!(mWidth)
31885             )
31886         );
31887         assert_eq!(
31888             unsafe {
31889                 &(*(::std::ptr::null::<nsStyleImageLayers_Size>())).mHeight as *const _ as usize
31890             },
31891             12usize,
31892             concat!(
31893                 "Offset of field: ",
31894                 stringify!(nsStyleImageLayers_Size),
31895                 "::",
31896                 stringify!(mHeight)
31897             )
31898         );
31899         assert_eq!(
31900             unsafe {
31901                 &(*(::std::ptr::null::<nsStyleImageLayers_Size>())).mWidthType as *const _ as usize
31902             },
31903             24usize,
31904             concat!(
31905                 "Offset of field: ",
31906                 stringify!(nsStyleImageLayers_Size),
31907                 "::",
31908                 stringify!(mWidthType)
31909             )
31910         );
31911         assert_eq!(
31912             unsafe {
31913                 &(*(::std::ptr::null::<nsStyleImageLayers_Size>())).mHeightType as *const _ as usize
31914             },
31915             25usize,
31916             concat!(
31917                 "Offset of field: ",
31918                 stringify!(nsStyleImageLayers_Size),
31919                 "::",
31920                 stringify!(mHeightType)
31921             )
31922         );
31923     }
31924     impl Clone for nsStyleImageLayers_Size {
clone(&self) -> Self31925         fn clone(&self) -> Self {
31926             *self
31927         }
31928     }
31929     #[repr(C)]
31930     #[derive(Debug, Copy)]
31931     pub struct nsStyleImageLayers_Repeat {
31932         pub mXRepeat: root::mozilla::StyleImageLayerRepeat,
31933         pub mYRepeat: root::mozilla::StyleImageLayerRepeat,
31934     }
31935     #[test]
bindgen_test_layout_nsStyleImageLayers_Repeat()31936     fn bindgen_test_layout_nsStyleImageLayers_Repeat() {
31937         assert_eq!(
31938             ::std::mem::size_of::<nsStyleImageLayers_Repeat>(),
31939             2usize,
31940             concat!("Size of: ", stringify!(nsStyleImageLayers_Repeat))
31941         );
31942         assert_eq!(
31943             ::std::mem::align_of::<nsStyleImageLayers_Repeat>(),
31944             1usize,
31945             concat!("Alignment of ", stringify!(nsStyleImageLayers_Repeat))
31946         );
31947         assert_eq!(
31948             unsafe {
31949                 &(*(::std::ptr::null::<nsStyleImageLayers_Repeat>())).mXRepeat as *const _ as usize
31950             },
31951             0usize,
31952             concat!(
31953                 "Offset of field: ",
31954                 stringify!(nsStyleImageLayers_Repeat),
31955                 "::",
31956                 stringify!(mXRepeat)
31957             )
31958         );
31959         assert_eq!(
31960             unsafe {
31961                 &(*(::std::ptr::null::<nsStyleImageLayers_Repeat>())).mYRepeat as *const _ as usize
31962             },
31963             1usize,
31964             concat!(
31965                 "Offset of field: ",
31966                 stringify!(nsStyleImageLayers_Repeat),
31967                 "::",
31968                 stringify!(mYRepeat)
31969             )
31970         );
31971     }
31972     impl Clone for nsStyleImageLayers_Repeat {
clone(&self) -> Self31973         fn clone(&self) -> Self {
31974             *self
31975         }
31976     }
31977     #[repr(C)]
31978     #[derive(Debug)]
31979     pub struct nsStyleImageLayers_Layer {
31980         pub mImage: root::nsStyleImage,
31981         pub mPosition: root::mozilla::Position,
31982         pub mSize: root::nsStyleImageLayers_Size,
31983         pub mClip: root::nsStyleImageLayers_Layer_StyleGeometryBox,
31984         pub mOrigin: root::nsStyleImageLayers_Layer_StyleGeometryBox,
31985         pub mAttachment: u8,
31986         pub mBlendMode: u8,
31987         pub mComposite: u8,
31988         pub mMaskMode: u8,
31989         pub mRepeat: root::nsStyleImageLayers_Repeat,
31990     }
31991     pub use self :: super :: root :: mozilla :: StyleGeometryBox as nsStyleImageLayers_Layer_StyleGeometryBox;
31992     #[test]
bindgen_test_layout_nsStyleImageLayers_Layer()31993     fn bindgen_test_layout_nsStyleImageLayers_Layer() {
31994         assert_eq!(
31995             ::std::mem::size_of::<nsStyleImageLayers_Layer>(),
31996             96usize,
31997             concat!("Size of: ", stringify!(nsStyleImageLayers_Layer))
31998         );
31999         assert_eq!(
32000             ::std::mem::align_of::<nsStyleImageLayers_Layer>(),
32001             8usize,
32002             concat!("Alignment of ", stringify!(nsStyleImageLayers_Layer))
32003         );
32004         assert_eq!(
32005             unsafe {
32006                 &(*(::std::ptr::null::<nsStyleImageLayers_Layer>())).mImage as *const _ as usize
32007             },
32008             0usize,
32009             concat!(
32010                 "Offset of field: ",
32011                 stringify!(nsStyleImageLayers_Layer),
32012                 "::",
32013                 stringify!(mImage)
32014             )
32015         );
32016         assert_eq!(
32017             unsafe {
32018                 &(*(::std::ptr::null::<nsStyleImageLayers_Layer>())).mPosition as *const _ as usize
32019             },
32020             32usize,
32021             concat!(
32022                 "Offset of field: ",
32023                 stringify!(nsStyleImageLayers_Layer),
32024                 "::",
32025                 stringify!(mPosition)
32026             )
32027         );
32028         assert_eq!(
32029             unsafe {
32030                 &(*(::std::ptr::null::<nsStyleImageLayers_Layer>())).mSize as *const _ as usize
32031             },
32032             56usize,
32033             concat!(
32034                 "Offset of field: ",
32035                 stringify!(nsStyleImageLayers_Layer),
32036                 "::",
32037                 stringify!(mSize)
32038             )
32039         );
32040         assert_eq!(
32041             unsafe {
32042                 &(*(::std::ptr::null::<nsStyleImageLayers_Layer>())).mClip as *const _ as usize
32043             },
32044             84usize,
32045             concat!(
32046                 "Offset of field: ",
32047                 stringify!(nsStyleImageLayers_Layer),
32048                 "::",
32049                 stringify!(mClip)
32050             )
32051         );
32052         assert_eq!(
32053             unsafe {
32054                 &(*(::std::ptr::null::<nsStyleImageLayers_Layer>())).mOrigin as *const _ as usize
32055             },
32056             85usize,
32057             concat!(
32058                 "Offset of field: ",
32059                 stringify!(nsStyleImageLayers_Layer),
32060                 "::",
32061                 stringify!(mOrigin)
32062             )
32063         );
32064         assert_eq!(
32065             unsafe {
32066                 &(*(::std::ptr::null::<nsStyleImageLayers_Layer>())).mAttachment as *const _
32067                     as usize
32068             },
32069             86usize,
32070             concat!(
32071                 "Offset of field: ",
32072                 stringify!(nsStyleImageLayers_Layer),
32073                 "::",
32074                 stringify!(mAttachment)
32075             )
32076         );
32077         assert_eq!(
32078             unsafe {
32079                 &(*(::std::ptr::null::<nsStyleImageLayers_Layer>())).mBlendMode as *const _ as usize
32080             },
32081             87usize,
32082             concat!(
32083                 "Offset of field: ",
32084                 stringify!(nsStyleImageLayers_Layer),
32085                 "::",
32086                 stringify!(mBlendMode)
32087             )
32088         );
32089         assert_eq!(
32090             unsafe {
32091                 &(*(::std::ptr::null::<nsStyleImageLayers_Layer>())).mComposite as *const _ as usize
32092             },
32093             88usize,
32094             concat!(
32095                 "Offset of field: ",
32096                 stringify!(nsStyleImageLayers_Layer),
32097                 "::",
32098                 stringify!(mComposite)
32099             )
32100         );
32101         assert_eq!(
32102             unsafe {
32103                 &(*(::std::ptr::null::<nsStyleImageLayers_Layer>())).mMaskMode as *const _ as usize
32104             },
32105             89usize,
32106             concat!(
32107                 "Offset of field: ",
32108                 stringify!(nsStyleImageLayers_Layer),
32109                 "::",
32110                 stringify!(mMaskMode)
32111             )
32112         );
32113         assert_eq!(
32114             unsafe {
32115                 &(*(::std::ptr::null::<nsStyleImageLayers_Layer>())).mRepeat as *const _ as usize
32116             },
32117             90usize,
32118             concat!(
32119                 "Offset of field: ",
32120                 stringify!(nsStyleImageLayers_Layer),
32121                 "::",
32122                 stringify!(mRepeat)
32123             )
32124         );
32125     }
32126     extern "C" {
32127         #[link_name = "\u{1}_ZN18nsStyleImageLayers21kBackgroundLayerTableE"]
32128         pub static mut nsStyleImageLayers_kBackgroundLayerTable: [root::nsCSSPropertyID; 0usize];
32129     }
32130     extern "C" {
32131         #[link_name = "\u{1}_ZN18nsStyleImageLayers15kMaskLayerTableE"]
32132         pub static mut nsStyleImageLayers_kMaskLayerTable: [root::nsCSSPropertyID; 0usize];
32133     }
32134     #[test]
bindgen_test_layout_nsStyleImageLayers()32135     fn bindgen_test_layout_nsStyleImageLayers() {
32136         assert_eq!(
32137             ::std::mem::size_of::<nsStyleImageLayers>(),
32138             152usize,
32139             concat!("Size of: ", stringify!(nsStyleImageLayers))
32140         );
32141         assert_eq!(
32142             ::std::mem::align_of::<nsStyleImageLayers>(),
32143             8usize,
32144             concat!("Alignment of ", stringify!(nsStyleImageLayers))
32145         );
32146         assert_eq!(
32147             unsafe {
32148                 &(*(::std::ptr::null::<nsStyleImageLayers>())).mAttachmentCount as *const _ as usize
32149             },
32150             0usize,
32151             concat!(
32152                 "Offset of field: ",
32153                 stringify!(nsStyleImageLayers),
32154                 "::",
32155                 stringify!(mAttachmentCount)
32156             )
32157         );
32158         assert_eq!(
32159             unsafe {
32160                 &(*(::std::ptr::null::<nsStyleImageLayers>())).mClipCount as *const _ as usize
32161             },
32162             4usize,
32163             concat!(
32164                 "Offset of field: ",
32165                 stringify!(nsStyleImageLayers),
32166                 "::",
32167                 stringify!(mClipCount)
32168             )
32169         );
32170         assert_eq!(
32171             unsafe {
32172                 &(*(::std::ptr::null::<nsStyleImageLayers>())).mOriginCount as *const _ as usize
32173             },
32174             8usize,
32175             concat!(
32176                 "Offset of field: ",
32177                 stringify!(nsStyleImageLayers),
32178                 "::",
32179                 stringify!(mOriginCount)
32180             )
32181         );
32182         assert_eq!(
32183             unsafe {
32184                 &(*(::std::ptr::null::<nsStyleImageLayers>())).mRepeatCount as *const _ as usize
32185             },
32186             12usize,
32187             concat!(
32188                 "Offset of field: ",
32189                 stringify!(nsStyleImageLayers),
32190                 "::",
32191                 stringify!(mRepeatCount)
32192             )
32193         );
32194         assert_eq!(
32195             unsafe {
32196                 &(*(::std::ptr::null::<nsStyleImageLayers>())).mPositionXCount as *const _ as usize
32197             },
32198             16usize,
32199             concat!(
32200                 "Offset of field: ",
32201                 stringify!(nsStyleImageLayers),
32202                 "::",
32203                 stringify!(mPositionXCount)
32204             )
32205         );
32206         assert_eq!(
32207             unsafe {
32208                 &(*(::std::ptr::null::<nsStyleImageLayers>())).mPositionYCount as *const _ as usize
32209             },
32210             20usize,
32211             concat!(
32212                 "Offset of field: ",
32213                 stringify!(nsStyleImageLayers),
32214                 "::",
32215                 stringify!(mPositionYCount)
32216             )
32217         );
32218         assert_eq!(
32219             unsafe {
32220                 &(*(::std::ptr::null::<nsStyleImageLayers>())).mImageCount as *const _ as usize
32221             },
32222             24usize,
32223             concat!(
32224                 "Offset of field: ",
32225                 stringify!(nsStyleImageLayers),
32226                 "::",
32227                 stringify!(mImageCount)
32228             )
32229         );
32230         assert_eq!(
32231             unsafe {
32232                 &(*(::std::ptr::null::<nsStyleImageLayers>())).mSizeCount as *const _ as usize
32233             },
32234             28usize,
32235             concat!(
32236                 "Offset of field: ",
32237                 stringify!(nsStyleImageLayers),
32238                 "::",
32239                 stringify!(mSizeCount)
32240             )
32241         );
32242         assert_eq!(
32243             unsafe {
32244                 &(*(::std::ptr::null::<nsStyleImageLayers>())).mMaskModeCount as *const _ as usize
32245             },
32246             32usize,
32247             concat!(
32248                 "Offset of field: ",
32249                 stringify!(nsStyleImageLayers),
32250                 "::",
32251                 stringify!(mMaskModeCount)
32252             )
32253         );
32254         assert_eq!(
32255             unsafe {
32256                 &(*(::std::ptr::null::<nsStyleImageLayers>())).mBlendModeCount as *const _ as usize
32257             },
32258             36usize,
32259             concat!(
32260                 "Offset of field: ",
32261                 stringify!(nsStyleImageLayers),
32262                 "::",
32263                 stringify!(mBlendModeCount)
32264             )
32265         );
32266         assert_eq!(
32267             unsafe {
32268                 &(*(::std::ptr::null::<nsStyleImageLayers>())).mCompositeCount as *const _ as usize
32269             },
32270             40usize,
32271             concat!(
32272                 "Offset of field: ",
32273                 stringify!(nsStyleImageLayers),
32274                 "::",
32275                 stringify!(mCompositeCount)
32276             )
32277         );
32278         assert_eq!(
32279             unsafe { &(*(::std::ptr::null::<nsStyleImageLayers>())).mLayers as *const _ as usize },
32280             48usize,
32281             concat!(
32282                 "Offset of field: ",
32283                 stringify!(nsStyleImageLayers),
32284                 "::",
32285                 stringify!(mLayers)
32286             )
32287         );
32288     }
32289     #[repr(C)]
32290     #[derive(Debug)]
32291     pub struct nsStyleBackground {
32292         pub mImage: root::nsStyleImageLayers,
32293         pub mBackgroundColor: root::mozilla::StyleComplexColor,
32294     }
32295     pub const nsStyleBackground_kHasFinishStyle: bool = true;
32296     #[test]
bindgen_test_layout_nsStyleBackground()32297     fn bindgen_test_layout_nsStyleBackground() {
32298         assert_eq!(
32299             ::std::mem::size_of::<nsStyleBackground>(),
32300             160usize,
32301             concat!("Size of: ", stringify!(nsStyleBackground))
32302         );
32303         assert_eq!(
32304             ::std::mem::align_of::<nsStyleBackground>(),
32305             8usize,
32306             concat!("Alignment of ", stringify!(nsStyleBackground))
32307         );
32308         assert_eq!(
32309             unsafe { &(*(::std::ptr::null::<nsStyleBackground>())).mImage as *const _ as usize },
32310             0usize,
32311             concat!(
32312                 "Offset of field: ",
32313                 stringify!(nsStyleBackground),
32314                 "::",
32315                 stringify!(mImage)
32316             )
32317         );
32318         assert_eq!(
32319             unsafe {
32320                 &(*(::std::ptr::null::<nsStyleBackground>())).mBackgroundColor as *const _ as usize
32321             },
32322             152usize,
32323             concat!(
32324                 "Offset of field: ",
32325                 stringify!(nsStyleBackground),
32326                 "::",
32327                 stringify!(mBackgroundColor)
32328             )
32329         );
32330     }
32331     #[repr(C)]
32332     #[derive(Debug)]
32333     pub struct nsStyleMargin {
32334         pub mMargin: root::nsStyleSides,
32335     }
32336     pub const nsStyleMargin_kHasFinishStyle: bool = false;
32337     #[test]
bindgen_test_layout_nsStyleMargin()32338     fn bindgen_test_layout_nsStyleMargin() {
32339         assert_eq!(
32340             ::std::mem::size_of::<nsStyleMargin>(),
32341             40usize,
32342             concat!("Size of: ", stringify!(nsStyleMargin))
32343         );
32344         assert_eq!(
32345             ::std::mem::align_of::<nsStyleMargin>(),
32346             8usize,
32347             concat!("Alignment of ", stringify!(nsStyleMargin))
32348         );
32349         assert_eq!(
32350             unsafe { &(*(::std::ptr::null::<nsStyleMargin>())).mMargin as *const _ as usize },
32351             0usize,
32352             concat!(
32353                 "Offset of field: ",
32354                 stringify!(nsStyleMargin),
32355                 "::",
32356                 stringify!(mMargin)
32357             )
32358         );
32359     }
32360     #[repr(C)]
32361     #[derive(Debug)]
32362     pub struct nsStylePadding {
32363         pub mPadding: root::nsStyleSides,
32364     }
32365     pub const nsStylePadding_kHasFinishStyle: bool = false;
32366     #[test]
bindgen_test_layout_nsStylePadding()32367     fn bindgen_test_layout_nsStylePadding() {
32368         assert_eq!(
32369             ::std::mem::size_of::<nsStylePadding>(),
32370             40usize,
32371             concat!("Size of: ", stringify!(nsStylePadding))
32372         );
32373         assert_eq!(
32374             ::std::mem::align_of::<nsStylePadding>(),
32375             8usize,
32376             concat!("Alignment of ", stringify!(nsStylePadding))
32377         );
32378         assert_eq!(
32379             unsafe { &(*(::std::ptr::null::<nsStylePadding>())).mPadding as *const _ as usize },
32380             0usize,
32381             concat!(
32382                 "Offset of field: ",
32383                 stringify!(nsStylePadding),
32384                 "::",
32385                 stringify!(mPadding)
32386             )
32387         );
32388     }
32389     #[repr(C)]
32390     #[derive(Debug)]
32391     pub struct nsCSSShadowItem {
32392         pub mXOffset: root::nscoord,
32393         pub mYOffset: root::nscoord,
32394         pub mRadius: root::nscoord,
32395         pub mSpread: root::nscoord,
32396         pub mColor: root::nscolor,
32397         pub mHasColor: bool,
32398         pub mInset: bool,
32399     }
32400     #[test]
bindgen_test_layout_nsCSSShadowItem()32401     fn bindgen_test_layout_nsCSSShadowItem() {
32402         assert_eq!(
32403             ::std::mem::size_of::<nsCSSShadowItem>(),
32404             24usize,
32405             concat!("Size of: ", stringify!(nsCSSShadowItem))
32406         );
32407         assert_eq!(
32408             ::std::mem::align_of::<nsCSSShadowItem>(),
32409             4usize,
32410             concat!("Alignment of ", stringify!(nsCSSShadowItem))
32411         );
32412         assert_eq!(
32413             unsafe { &(*(::std::ptr::null::<nsCSSShadowItem>())).mXOffset as *const _ as usize },
32414             0usize,
32415             concat!(
32416                 "Offset of field: ",
32417                 stringify!(nsCSSShadowItem),
32418                 "::",
32419                 stringify!(mXOffset)
32420             )
32421         );
32422         assert_eq!(
32423             unsafe { &(*(::std::ptr::null::<nsCSSShadowItem>())).mYOffset as *const _ as usize },
32424             4usize,
32425             concat!(
32426                 "Offset of field: ",
32427                 stringify!(nsCSSShadowItem),
32428                 "::",
32429                 stringify!(mYOffset)
32430             )
32431         );
32432         assert_eq!(
32433             unsafe { &(*(::std::ptr::null::<nsCSSShadowItem>())).mRadius as *const _ as usize },
32434             8usize,
32435             concat!(
32436                 "Offset of field: ",
32437                 stringify!(nsCSSShadowItem),
32438                 "::",
32439                 stringify!(mRadius)
32440             )
32441         );
32442         assert_eq!(
32443             unsafe { &(*(::std::ptr::null::<nsCSSShadowItem>())).mSpread as *const _ as usize },
32444             12usize,
32445             concat!(
32446                 "Offset of field: ",
32447                 stringify!(nsCSSShadowItem),
32448                 "::",
32449                 stringify!(mSpread)
32450             )
32451         );
32452         assert_eq!(
32453             unsafe { &(*(::std::ptr::null::<nsCSSShadowItem>())).mColor as *const _ as usize },
32454             16usize,
32455             concat!(
32456                 "Offset of field: ",
32457                 stringify!(nsCSSShadowItem),
32458                 "::",
32459                 stringify!(mColor)
32460             )
32461         );
32462         assert_eq!(
32463             unsafe { &(*(::std::ptr::null::<nsCSSShadowItem>())).mHasColor as *const _ as usize },
32464             20usize,
32465             concat!(
32466                 "Offset of field: ",
32467                 stringify!(nsCSSShadowItem),
32468                 "::",
32469                 stringify!(mHasColor)
32470             )
32471         );
32472         assert_eq!(
32473             unsafe { &(*(::std::ptr::null::<nsCSSShadowItem>())).mInset as *const _ as usize },
32474             21usize,
32475             concat!(
32476                 "Offset of field: ",
32477                 stringify!(nsCSSShadowItem),
32478                 "::",
32479                 stringify!(mInset)
32480             )
32481         );
32482     }
32483     #[repr(C)]
32484     #[derive(Debug)]
32485     pub struct nsCSSShadowArray {
32486         pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
32487         pub mLength: u32,
32488         pub mArray: [root::nsCSSShadowItem; 1usize],
32489     }
32490     pub type nsCSSShadowArray_HasThreadSafeRefCnt = root::mozilla::TrueType;
32491     #[test]
bindgen_test_layout_nsCSSShadowArray()32492     fn bindgen_test_layout_nsCSSShadowArray() {
32493         assert_eq!(
32494             ::std::mem::size_of::<nsCSSShadowArray>(),
32495             40usize,
32496             concat!("Size of: ", stringify!(nsCSSShadowArray))
32497         );
32498         assert_eq!(
32499             ::std::mem::align_of::<nsCSSShadowArray>(),
32500             8usize,
32501             concat!("Alignment of ", stringify!(nsCSSShadowArray))
32502         );
32503         assert_eq!(
32504             unsafe { &(*(::std::ptr::null::<nsCSSShadowArray>())).mRefCnt as *const _ as usize },
32505             0usize,
32506             concat!(
32507                 "Offset of field: ",
32508                 stringify!(nsCSSShadowArray),
32509                 "::",
32510                 stringify!(mRefCnt)
32511             )
32512         );
32513         assert_eq!(
32514             unsafe { &(*(::std::ptr::null::<nsCSSShadowArray>())).mLength as *const _ as usize },
32515             8usize,
32516             concat!(
32517                 "Offset of field: ",
32518                 stringify!(nsCSSShadowArray),
32519                 "::",
32520                 stringify!(mLength)
32521             )
32522         );
32523         assert_eq!(
32524             unsafe { &(*(::std::ptr::null::<nsCSSShadowArray>())).mArray as *const _ as usize },
32525             12usize,
32526             concat!(
32527                 "Offset of field: ",
32528                 stringify!(nsCSSShadowArray),
32529                 "::",
32530                 stringify!(mArray)
32531             )
32532         );
32533     }
32534     #[repr(C)]
32535     #[derive(Debug)]
32536     pub struct nsStyleBorder {
32537         pub mBorderRadius: root::nsStyleCorners,
32538         pub mBorderImageSource: root::nsStyleImage,
32539         pub mBorderImageSlice: root::nsStyleSides,
32540         pub mBorderImageWidth: root::nsStyleSides,
32541         pub mBorderImageOutset: root::nsStyleSides,
32542         pub mBorderImageFill: u8,
32543         pub mBorderImageRepeatH: root::mozilla::StyleBorderImageRepeat,
32544         pub mBorderImageRepeatV: root::mozilla::StyleBorderImageRepeat,
32545         pub mFloatEdge: root::mozilla::StyleFloatEdge,
32546         pub mBoxDecorationBreak: root::mozilla::StyleBoxDecorationBreak,
32547         pub mBorderStyle: [u8; 4usize],
32548         pub __bindgen_anon_1: root::nsStyleBorder__bindgen_ty_1,
32549         pub mComputedBorder: root::nsMargin,
32550         pub mBorder: root::nsMargin,
32551         pub mTwipsPerPixel: root::nscoord,
32552     }
32553     #[repr(C)]
32554     #[derive(Debug, Copy)]
32555     pub struct nsStyleBorder__bindgen_ty_1 {
32556         pub __bindgen_anon_1:
32557             root::__BindgenUnionField<root::nsStyleBorder__bindgen_ty_1__bindgen_ty_1>,
32558         pub mBorderColor: root::__BindgenUnionField<[root::mozilla::StyleComplexColor; 4usize]>,
32559         pub bindgen_union_field: [u32; 8usize],
32560     }
32561     #[repr(C)]
32562     #[derive(Debug, Copy)]
32563     pub struct nsStyleBorder__bindgen_ty_1__bindgen_ty_1 {
32564         pub mBorderTopColor: root::mozilla::StyleComplexColor,
32565         pub mBorderRightColor: root::mozilla::StyleComplexColor,
32566         pub mBorderBottomColor: root::mozilla::StyleComplexColor,
32567         pub mBorderLeftColor: root::mozilla::StyleComplexColor,
32568     }
32569     #[test]
bindgen_test_layout_nsStyleBorder__bindgen_ty_1__bindgen_ty_1()32570     fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1__bindgen_ty_1() {
32571         assert_eq!(
32572             ::std::mem::size_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>(),
32573             32usize,
32574             concat!(
32575                 "Size of: ",
32576                 stringify!(nsStyleBorder__bindgen_ty_1__bindgen_ty_1)
32577             )
32578         );
32579         assert_eq!(
32580             ::std::mem::align_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>(),
32581             4usize,
32582             concat!(
32583                 "Alignment of ",
32584                 stringify!(nsStyleBorder__bindgen_ty_1__bindgen_ty_1)
32585             )
32586         );
32587         assert_eq!(
32588             unsafe {
32589                 &(*(::std::ptr::null::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>()))
32590                     .mBorderTopColor as *const _ as usize
32591             },
32592             0usize,
32593             concat!(
32594                 "Offset of field: ",
32595                 stringify!(nsStyleBorder__bindgen_ty_1__bindgen_ty_1),
32596                 "::",
32597                 stringify!(mBorderTopColor)
32598             )
32599         );
32600         assert_eq!(
32601             unsafe {
32602                 &(*(::std::ptr::null::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>()))
32603                     .mBorderRightColor as *const _ as usize
32604             },
32605             8usize,
32606             concat!(
32607                 "Offset of field: ",
32608                 stringify!(nsStyleBorder__bindgen_ty_1__bindgen_ty_1),
32609                 "::",
32610                 stringify!(mBorderRightColor)
32611             )
32612         );
32613         assert_eq!(
32614             unsafe {
32615                 &(*(::std::ptr::null::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>()))
32616                     .mBorderBottomColor as *const _ as usize
32617             },
32618             16usize,
32619             concat!(
32620                 "Offset of field: ",
32621                 stringify!(nsStyleBorder__bindgen_ty_1__bindgen_ty_1),
32622                 "::",
32623                 stringify!(mBorderBottomColor)
32624             )
32625         );
32626         assert_eq!(
32627             unsafe {
32628                 &(*(::std::ptr::null::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>()))
32629                     .mBorderLeftColor as *const _ as usize
32630             },
32631             24usize,
32632             concat!(
32633                 "Offset of field: ",
32634                 stringify!(nsStyleBorder__bindgen_ty_1__bindgen_ty_1),
32635                 "::",
32636                 stringify!(mBorderLeftColor)
32637             )
32638         );
32639     }
32640     impl Clone for nsStyleBorder__bindgen_ty_1__bindgen_ty_1 {
clone(&self) -> Self32641         fn clone(&self) -> Self {
32642             *self
32643         }
32644     }
32645     #[test]
bindgen_test_layout_nsStyleBorder__bindgen_ty_1()32646     fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1() {
32647         assert_eq!(
32648             ::std::mem::size_of::<nsStyleBorder__bindgen_ty_1>(),
32649             32usize,
32650             concat!("Size of: ", stringify!(nsStyleBorder__bindgen_ty_1))
32651         );
32652         assert_eq!(
32653             ::std::mem::align_of::<nsStyleBorder__bindgen_ty_1>(),
32654             4usize,
32655             concat!("Alignment of ", stringify!(nsStyleBorder__bindgen_ty_1))
32656         );
32657         assert_eq!(
32658             unsafe {
32659                 &(*(::std::ptr::null::<nsStyleBorder__bindgen_ty_1>())).mBorderColor as *const _
32660                     as usize
32661             },
32662             0usize,
32663             concat!(
32664                 "Offset of field: ",
32665                 stringify!(nsStyleBorder__bindgen_ty_1),
32666                 "::",
32667                 stringify!(mBorderColor)
32668             )
32669         );
32670     }
32671     impl Clone for nsStyleBorder__bindgen_ty_1 {
clone(&self) -> Self32672         fn clone(&self) -> Self {
32673             *self
32674         }
32675     }
32676     pub const nsStyleBorder_kHasFinishStyle: bool = true;
32677     #[test]
bindgen_test_layout_nsStyleBorder()32678     fn bindgen_test_layout_nsStyleBorder() {
32679         assert_eq!(
32680             ::std::mem::size_of::<nsStyleBorder>(),
32681             304usize,
32682             concat!("Size of: ", stringify!(nsStyleBorder))
32683         );
32684         assert_eq!(
32685             ::std::mem::align_of::<nsStyleBorder>(),
32686             8usize,
32687             concat!("Alignment of ", stringify!(nsStyleBorder))
32688         );
32689         assert_eq!(
32690             unsafe { &(*(::std::ptr::null::<nsStyleBorder>())).mBorderRadius as *const _ as usize },
32691             0usize,
32692             concat!(
32693                 "Offset of field: ",
32694                 stringify!(nsStyleBorder),
32695                 "::",
32696                 stringify!(mBorderRadius)
32697             )
32698         );
32699         assert_eq!(
32700             unsafe {
32701                 &(*(::std::ptr::null::<nsStyleBorder>())).mBorderImageSource as *const _ as usize
32702             },
32703             72usize,
32704             concat!(
32705                 "Offset of field: ",
32706                 stringify!(nsStyleBorder),
32707                 "::",
32708                 stringify!(mBorderImageSource)
32709             )
32710         );
32711         assert_eq!(
32712             unsafe {
32713                 &(*(::std::ptr::null::<nsStyleBorder>())).mBorderImageSlice as *const _ as usize
32714             },
32715             104usize,
32716             concat!(
32717                 "Offset of field: ",
32718                 stringify!(nsStyleBorder),
32719                 "::",
32720                 stringify!(mBorderImageSlice)
32721             )
32722         );
32723         assert_eq!(
32724             unsafe {
32725                 &(*(::std::ptr::null::<nsStyleBorder>())).mBorderImageWidth as *const _ as usize
32726             },
32727             144usize,
32728             concat!(
32729                 "Offset of field: ",
32730                 stringify!(nsStyleBorder),
32731                 "::",
32732                 stringify!(mBorderImageWidth)
32733             )
32734         );
32735         assert_eq!(
32736             unsafe {
32737                 &(*(::std::ptr::null::<nsStyleBorder>())).mBorderImageOutset as *const _ as usize
32738             },
32739             184usize,
32740             concat!(
32741                 "Offset of field: ",
32742                 stringify!(nsStyleBorder),
32743                 "::",
32744                 stringify!(mBorderImageOutset)
32745             )
32746         );
32747         assert_eq!(
32748             unsafe {
32749                 &(*(::std::ptr::null::<nsStyleBorder>())).mBorderImageFill as *const _ as usize
32750             },
32751             224usize,
32752             concat!(
32753                 "Offset of field: ",
32754                 stringify!(nsStyleBorder),
32755                 "::",
32756                 stringify!(mBorderImageFill)
32757             )
32758         );
32759         assert_eq!(
32760             unsafe {
32761                 &(*(::std::ptr::null::<nsStyleBorder>())).mBorderImageRepeatH as *const _ as usize
32762             },
32763             225usize,
32764             concat!(
32765                 "Offset of field: ",
32766                 stringify!(nsStyleBorder),
32767                 "::",
32768                 stringify!(mBorderImageRepeatH)
32769             )
32770         );
32771         assert_eq!(
32772             unsafe {
32773                 &(*(::std::ptr::null::<nsStyleBorder>())).mBorderImageRepeatV as *const _ as usize
32774             },
32775             226usize,
32776             concat!(
32777                 "Offset of field: ",
32778                 stringify!(nsStyleBorder),
32779                 "::",
32780                 stringify!(mBorderImageRepeatV)
32781             )
32782         );
32783         assert_eq!(
32784             unsafe { &(*(::std::ptr::null::<nsStyleBorder>())).mFloatEdge as *const _ as usize },
32785             227usize,
32786             concat!(
32787                 "Offset of field: ",
32788                 stringify!(nsStyleBorder),
32789                 "::",
32790                 stringify!(mFloatEdge)
32791             )
32792         );
32793         assert_eq!(
32794             unsafe {
32795                 &(*(::std::ptr::null::<nsStyleBorder>())).mBoxDecorationBreak as *const _ as usize
32796             },
32797             228usize,
32798             concat!(
32799                 "Offset of field: ",
32800                 stringify!(nsStyleBorder),
32801                 "::",
32802                 stringify!(mBoxDecorationBreak)
32803             )
32804         );
32805         assert_eq!(
32806             unsafe { &(*(::std::ptr::null::<nsStyleBorder>())).mBorderStyle as *const _ as usize },
32807             229usize,
32808             concat!(
32809                 "Offset of field: ",
32810                 stringify!(nsStyleBorder),
32811                 "::",
32812                 stringify!(mBorderStyle)
32813             )
32814         );
32815         assert_eq!(
32816             unsafe {
32817                 &(*(::std::ptr::null::<nsStyleBorder>())).mComputedBorder as *const _ as usize
32818             },
32819             268usize,
32820             concat!(
32821                 "Offset of field: ",
32822                 stringify!(nsStyleBorder),
32823                 "::",
32824                 stringify!(mComputedBorder)
32825             )
32826         );
32827         assert_eq!(
32828             unsafe { &(*(::std::ptr::null::<nsStyleBorder>())).mBorder as *const _ as usize },
32829             284usize,
32830             concat!(
32831                 "Offset of field: ",
32832                 stringify!(nsStyleBorder),
32833                 "::",
32834                 stringify!(mBorder)
32835             )
32836         );
32837         assert_eq!(
32838             unsafe {
32839                 &(*(::std::ptr::null::<nsStyleBorder>())).mTwipsPerPixel as *const _ as usize
32840             },
32841             300usize,
32842             concat!(
32843                 "Offset of field: ",
32844                 stringify!(nsStyleBorder),
32845                 "::",
32846                 stringify!(mTwipsPerPixel)
32847             )
32848         );
32849     }
32850     #[repr(C)]
32851     #[derive(Debug)]
32852     pub struct nsStyleOutline {
32853         pub mOutlineRadius: root::nsStyleCorners,
32854         pub mOutlineWidth: root::nscoord,
32855         pub mOutlineOffset: root::nscoord,
32856         pub mOutlineColor: root::mozilla::StyleComplexColor,
32857         pub mOutlineStyle: u8,
32858         pub mActualOutlineWidth: root::nscoord,
32859         pub mTwipsPerPixel: root::nscoord,
32860     }
32861     pub const nsStyleOutline_kHasFinishStyle: bool = false;
32862     #[test]
bindgen_test_layout_nsStyleOutline()32863     fn bindgen_test_layout_nsStyleOutline() {
32864         assert_eq!(
32865             ::std::mem::size_of::<nsStyleOutline>(),
32866             104usize,
32867             concat!("Size of: ", stringify!(nsStyleOutline))
32868         );
32869         assert_eq!(
32870             ::std::mem::align_of::<nsStyleOutline>(),
32871             8usize,
32872             concat!("Alignment of ", stringify!(nsStyleOutline))
32873         );
32874         assert_eq!(
32875             unsafe {
32876                 &(*(::std::ptr::null::<nsStyleOutline>())).mOutlineRadius as *const _ as usize
32877             },
32878             0usize,
32879             concat!(
32880                 "Offset of field: ",
32881                 stringify!(nsStyleOutline),
32882                 "::",
32883                 stringify!(mOutlineRadius)
32884             )
32885         );
32886         assert_eq!(
32887             unsafe {
32888                 &(*(::std::ptr::null::<nsStyleOutline>())).mOutlineWidth as *const _ as usize
32889             },
32890             72usize,
32891             concat!(
32892                 "Offset of field: ",
32893                 stringify!(nsStyleOutline),
32894                 "::",
32895                 stringify!(mOutlineWidth)
32896             )
32897         );
32898         assert_eq!(
32899             unsafe {
32900                 &(*(::std::ptr::null::<nsStyleOutline>())).mOutlineOffset as *const _ as usize
32901             },
32902             76usize,
32903             concat!(
32904                 "Offset of field: ",
32905                 stringify!(nsStyleOutline),
32906                 "::",
32907                 stringify!(mOutlineOffset)
32908             )
32909         );
32910         assert_eq!(
32911             unsafe {
32912                 &(*(::std::ptr::null::<nsStyleOutline>())).mOutlineColor as *const _ as usize
32913             },
32914             80usize,
32915             concat!(
32916                 "Offset of field: ",
32917                 stringify!(nsStyleOutline),
32918                 "::",
32919                 stringify!(mOutlineColor)
32920             )
32921         );
32922         assert_eq!(
32923             unsafe {
32924                 &(*(::std::ptr::null::<nsStyleOutline>())).mOutlineStyle as *const _ as usize
32925             },
32926             88usize,
32927             concat!(
32928                 "Offset of field: ",
32929                 stringify!(nsStyleOutline),
32930                 "::",
32931                 stringify!(mOutlineStyle)
32932             )
32933         );
32934         assert_eq!(
32935             unsafe {
32936                 &(*(::std::ptr::null::<nsStyleOutline>())).mActualOutlineWidth as *const _ as usize
32937             },
32938             92usize,
32939             concat!(
32940                 "Offset of field: ",
32941                 stringify!(nsStyleOutline),
32942                 "::",
32943                 stringify!(mActualOutlineWidth)
32944             )
32945         );
32946         assert_eq!(
32947             unsafe {
32948                 &(*(::std::ptr::null::<nsStyleOutline>())).mTwipsPerPixel as *const _ as usize
32949             },
32950             96usize,
32951             concat!(
32952                 "Offset of field: ",
32953                 stringify!(nsStyleOutline),
32954                 "::",
32955                 stringify!(mTwipsPerPixel)
32956             )
32957         );
32958     }
32959     /// An object that allows sharing of arrays that store 'quotes' property
32960     /// values.  This is particularly important for inheritance, where we want
32961     /// to share the same 'quotes' value with a parent style context.
32962     #[repr(C)]
32963     pub struct nsStyleQuoteValues {
32964         pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
32965         pub mQuotePairs: root::nsStyleQuoteValues_QuotePairArray,
32966     }
32967     pub type nsStyleQuoteValues_QuotePairArray =
32968         root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>;
32969     pub type nsStyleQuoteValues_HasThreadSafeRefCnt = root::mozilla::TrueType;
32970     #[test]
bindgen_test_layout_nsStyleQuoteValues()32971     fn bindgen_test_layout_nsStyleQuoteValues() {
32972         assert_eq!(
32973             ::std::mem::size_of::<nsStyleQuoteValues>(),
32974             16usize,
32975             concat!("Size of: ", stringify!(nsStyleQuoteValues))
32976         );
32977         assert_eq!(
32978             ::std::mem::align_of::<nsStyleQuoteValues>(),
32979             8usize,
32980             concat!("Alignment of ", stringify!(nsStyleQuoteValues))
32981         );
32982         assert_eq!(
32983             unsafe { &(*(::std::ptr::null::<nsStyleQuoteValues>())).mRefCnt as *const _ as usize },
32984             0usize,
32985             concat!(
32986                 "Offset of field: ",
32987                 stringify!(nsStyleQuoteValues),
32988                 "::",
32989                 stringify!(mRefCnt)
32990             )
32991         );
32992         assert_eq!(
32993             unsafe {
32994                 &(*(::std::ptr::null::<nsStyleQuoteValues>())).mQuotePairs as *const _ as usize
32995             },
32996             8usize,
32997             concat!(
32998                 "Offset of field: ",
32999                 stringify!(nsStyleQuoteValues),
33000                 "::",
33001                 stringify!(mQuotePairs)
33002             )
33003         );
33004     }
33005     #[repr(C)]
33006     pub struct nsStyleList {
33007         pub mListStylePosition: u8,
33008         pub mListStyleImage: root::RefPtr<root::nsStyleImageRequest>,
33009         pub mCounterStyle: root::mozilla::CounterStylePtr,
33010         pub mQuotes: root::RefPtr<root::nsStyleQuoteValues>,
33011         pub mImageRegion: root::nsRect,
33012     }
33013     pub const nsStyleList_kHasFinishStyle: bool = true;
33014     extern "C" {
33015         #[link_name = "\u{1}_ZN11nsStyleList14sInitialQuotesE"]
33016         pub static mut nsStyleList_sInitialQuotes:
33017             root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>;
33018     }
33019     extern "C" {
33020         #[link_name = "\u{1}_ZN11nsStyleList11sNoneQuotesE"]
33021         pub static mut nsStyleList_sNoneQuotes:
33022             root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>;
33023     }
33024     #[test]
bindgen_test_layout_nsStyleList()33025     fn bindgen_test_layout_nsStyleList() {
33026         assert_eq!(
33027             ::std::mem::size_of::<nsStyleList>(),
33028             48usize,
33029             concat!("Size of: ", stringify!(nsStyleList))
33030         );
33031         assert_eq!(
33032             ::std::mem::align_of::<nsStyleList>(),
33033             8usize,
33034             concat!("Alignment of ", stringify!(nsStyleList))
33035         );
33036         assert_eq!(
33037             unsafe {
33038                 &(*(::std::ptr::null::<nsStyleList>())).mListStylePosition as *const _ as usize
33039             },
33040             0usize,
33041             concat!(
33042                 "Offset of field: ",
33043                 stringify!(nsStyleList),
33044                 "::",
33045                 stringify!(mListStylePosition)
33046             )
33047         );
33048         assert_eq!(
33049             unsafe { &(*(::std::ptr::null::<nsStyleList>())).mListStyleImage as *const _ as usize },
33050             8usize,
33051             concat!(
33052                 "Offset of field: ",
33053                 stringify!(nsStyleList),
33054                 "::",
33055                 stringify!(mListStyleImage)
33056             )
33057         );
33058         assert_eq!(
33059             unsafe { &(*(::std::ptr::null::<nsStyleList>())).mCounterStyle as *const _ as usize },
33060             16usize,
33061             concat!(
33062                 "Offset of field: ",
33063                 stringify!(nsStyleList),
33064                 "::",
33065                 stringify!(mCounterStyle)
33066             )
33067         );
33068         assert_eq!(
33069             unsafe { &(*(::std::ptr::null::<nsStyleList>())).mQuotes as *const _ as usize },
33070             24usize,
33071             concat!(
33072                 "Offset of field: ",
33073                 stringify!(nsStyleList),
33074                 "::",
33075                 stringify!(mQuotes)
33076             )
33077         );
33078         assert_eq!(
33079             unsafe { &(*(::std::ptr::null::<nsStyleList>())).mImageRegion as *const _ as usize },
33080             32usize,
33081             concat!(
33082                 "Offset of field: ",
33083                 stringify!(nsStyleList),
33084                 "::",
33085                 stringify!(mImageRegion)
33086             )
33087         );
33088     }
33089     #[test]
__bindgen_test_layout_StaticRefPtr_open0_nsStyleQuoteValues_close0_instantiation()33090     fn __bindgen_test_layout_StaticRefPtr_open0_nsStyleQuoteValues_close0_instantiation() {
33091         assert_eq!(
33092             ::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>(),
33093             8usize,
33094             concat!(
33095                 "Size of template specialization: ",
33096                 stringify!(root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>)
33097             )
33098         );
33099         assert_eq!(
33100             ::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>(),
33101             8usize,
33102             concat!(
33103                 "Alignment of template specialization: ",
33104                 stringify!(root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>)
33105             )
33106         );
33107     }
33108     #[test]
__bindgen_test_layout_StaticRefPtr_open0_nsStyleQuoteValues_close0_instantiation_1()33109     fn __bindgen_test_layout_StaticRefPtr_open0_nsStyleQuoteValues_close0_instantiation_1() {
33110         assert_eq!(
33111             ::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>(),
33112             8usize,
33113             concat!(
33114                 "Size of template specialization: ",
33115                 stringify!(root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>)
33116             )
33117         );
33118         assert_eq!(
33119             ::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>(),
33120             8usize,
33121             concat!(
33122                 "Alignment of template specialization: ",
33123                 stringify!(root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>)
33124             )
33125         );
33126     }
33127     #[repr(C)]
33128     pub struct nsStyleGridLine {
33129         pub mHasSpan: bool,
33130         pub mInteger: i32,
33131         pub mLineName: ::nsstring::nsStringRepr,
33132     }
33133     pub const nsStyleGridLine_kMinLine: i32 = -10000;
33134     pub const nsStyleGridLine_kMaxLine: i32 = 10000;
33135     #[test]
bindgen_test_layout_nsStyleGridLine()33136     fn bindgen_test_layout_nsStyleGridLine() {
33137         assert_eq!(
33138             ::std::mem::size_of::<nsStyleGridLine>(),
33139             24usize,
33140             concat!("Size of: ", stringify!(nsStyleGridLine))
33141         );
33142         assert_eq!(
33143             ::std::mem::align_of::<nsStyleGridLine>(),
33144             8usize,
33145             concat!("Alignment of ", stringify!(nsStyleGridLine))
33146         );
33147         assert_eq!(
33148             unsafe { &(*(::std::ptr::null::<nsStyleGridLine>())).mHasSpan as *const _ as usize },
33149             0usize,
33150             concat!(
33151                 "Offset of field: ",
33152                 stringify!(nsStyleGridLine),
33153                 "::",
33154                 stringify!(mHasSpan)
33155             )
33156         );
33157         assert_eq!(
33158             unsafe { &(*(::std::ptr::null::<nsStyleGridLine>())).mInteger as *const _ as usize },
33159             4usize,
33160             concat!(
33161                 "Offset of field: ",
33162                 stringify!(nsStyleGridLine),
33163                 "::",
33164                 stringify!(mInteger)
33165             )
33166         );
33167         assert_eq!(
33168             unsafe { &(*(::std::ptr::null::<nsStyleGridLine>())).mLineName as *const _ as usize },
33169             8usize,
33170             concat!(
33171                 "Offset of field: ",
33172                 stringify!(nsStyleGridLine),
33173                 "::",
33174                 stringify!(mLineName)
33175             )
33176         );
33177     }
33178     #[repr(C)]
33179     pub struct nsStyleGridTemplate {
33180         pub mLineNameLists: root::nsTArray<root::nsTArray<::nsstring::nsStringRepr>>,
33181         pub mMinTrackSizingFunctions: root::nsTArray<root::nsStyleCoord>,
33182         pub mMaxTrackSizingFunctions: root::nsTArray<root::nsStyleCoord>,
33183         pub mRepeatAutoLineNameListBefore: root::nsTArray<::nsstring::nsStringRepr>,
33184         pub mRepeatAutoLineNameListAfter: root::nsTArray<::nsstring::nsStringRepr>,
33185         pub mRepeatAutoIndex: i16,
33186         pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 1usize], u8>,
33187         pub __bindgen_padding_0: [u8; 5usize],
33188     }
33189     #[test]
bindgen_test_layout_nsStyleGridTemplate()33190     fn bindgen_test_layout_nsStyleGridTemplate() {
33191         assert_eq!(
33192             ::std::mem::size_of::<nsStyleGridTemplate>(),
33193             48usize,
33194             concat!("Size of: ", stringify!(nsStyleGridTemplate))
33195         );
33196         assert_eq!(
33197             ::std::mem::align_of::<nsStyleGridTemplate>(),
33198             8usize,
33199             concat!("Alignment of ", stringify!(nsStyleGridTemplate))
33200         );
33201         assert_eq!(
33202             unsafe {
33203                 &(*(::std::ptr::null::<nsStyleGridTemplate>())).mLineNameLists as *const _ as usize
33204             },
33205             0usize,
33206             concat!(
33207                 "Offset of field: ",
33208                 stringify!(nsStyleGridTemplate),
33209                 "::",
33210                 stringify!(mLineNameLists)
33211             )
33212         );
33213         assert_eq!(
33214             unsafe {
33215                 &(*(::std::ptr::null::<nsStyleGridTemplate>())).mMinTrackSizingFunctions as *const _
33216                     as usize
33217             },
33218             8usize,
33219             concat!(
33220                 "Offset of field: ",
33221                 stringify!(nsStyleGridTemplate),
33222                 "::",
33223                 stringify!(mMinTrackSizingFunctions)
33224             )
33225         );
33226         assert_eq!(
33227             unsafe {
33228                 &(*(::std::ptr::null::<nsStyleGridTemplate>())).mMaxTrackSizingFunctions as *const _
33229                     as usize
33230             },
33231             16usize,
33232             concat!(
33233                 "Offset of field: ",
33234                 stringify!(nsStyleGridTemplate),
33235                 "::",
33236                 stringify!(mMaxTrackSizingFunctions)
33237             )
33238         );
33239         assert_eq!(
33240             unsafe {
33241                 &(*(::std::ptr::null::<nsStyleGridTemplate>())).mRepeatAutoLineNameListBefore
33242                     as *const _ as usize
33243             },
33244             24usize,
33245             concat!(
33246                 "Offset of field: ",
33247                 stringify!(nsStyleGridTemplate),
33248                 "::",
33249                 stringify!(mRepeatAutoLineNameListBefore)
33250             )
33251         );
33252         assert_eq!(
33253             unsafe {
33254                 &(*(::std::ptr::null::<nsStyleGridTemplate>())).mRepeatAutoLineNameListAfter
33255                     as *const _ as usize
33256             },
33257             32usize,
33258             concat!(
33259                 "Offset of field: ",
33260                 stringify!(nsStyleGridTemplate),
33261                 "::",
33262                 stringify!(mRepeatAutoLineNameListAfter)
33263             )
33264         );
33265         assert_eq!(
33266             unsafe {
33267                 &(*(::std::ptr::null::<nsStyleGridTemplate>())).mRepeatAutoIndex as *const _
33268                     as usize
33269             },
33270             40usize,
33271             concat!(
33272                 "Offset of field: ",
33273                 stringify!(nsStyleGridTemplate),
33274                 "::",
33275                 stringify!(mRepeatAutoIndex)
33276             )
33277         );
33278     }
33279     impl nsStyleGridTemplate {
33280         #[inline]
mIsAutoFill(&self) -> bool33281         pub fn mIsAutoFill(&self) -> bool {
33282             unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
33283         }
33284         #[inline]
set_mIsAutoFill(&mut self, val: bool)33285         pub fn set_mIsAutoFill(&mut self, val: bool) {
33286             unsafe {
33287                 let val: u8 = ::std::mem::transmute(val);
33288                 self._bitfield_1.set(0usize, 1u8, val as u64)
33289             }
33290         }
33291         #[inline]
mIsSubgrid(&self) -> bool33292         pub fn mIsSubgrid(&self) -> bool {
33293             unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
33294         }
33295         #[inline]
set_mIsSubgrid(&mut self, val: bool)33296         pub fn set_mIsSubgrid(&mut self, val: bool) {
33297             unsafe {
33298                 let val: u8 = ::std::mem::transmute(val);
33299                 self._bitfield_1.set(1usize, 1u8, val as u64)
33300             }
33301         }
33302         #[inline]
new_bitfield_1( mIsAutoFill: bool, mIsSubgrid: bool, ) -> root::__BindgenBitfieldUnit<[u8; 1usize], u8>33303         pub fn new_bitfield_1(
33304             mIsAutoFill: bool,
33305             mIsSubgrid: bool,
33306         ) -> root::__BindgenBitfieldUnit<[u8; 1usize], u8> {
33307             let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
33308                 [u8; 1usize],
33309                 u8,
33310             > = Default::default();
33311             __bindgen_bitfield_unit.set(0usize, 1u8, {
33312                 let mIsAutoFill: u8 = unsafe { ::std::mem::transmute(mIsAutoFill) };
33313                 mIsAutoFill as u64
33314             });
33315             __bindgen_bitfield_unit.set(1usize, 1u8, {
33316                 let mIsSubgrid: u8 = unsafe { ::std::mem::transmute(mIsSubgrid) };
33317                 mIsSubgrid as u64
33318             });
33319             __bindgen_bitfield_unit
33320         }
33321     }
33322     #[repr(C)]
33323     pub struct nsStylePosition {
33324         pub mObjectPosition: root::mozilla::Position,
33325         pub mOffset: root::nsStyleSides,
33326         pub mWidth: root::nsStyleCoord,
33327         pub mMinWidth: root::nsStyleCoord,
33328         pub mMaxWidth: root::nsStyleCoord,
33329         pub mHeight: root::nsStyleCoord,
33330         pub mMinHeight: root::nsStyleCoord,
33331         pub mMaxHeight: root::nsStyleCoord,
33332         pub mFlexBasis: root::nsStyleCoord,
33333         pub mGridAutoColumnsMin: root::nsStyleCoord,
33334         pub mGridAutoColumnsMax: root::nsStyleCoord,
33335         pub mGridAutoRowsMin: root::nsStyleCoord,
33336         pub mGridAutoRowsMax: root::nsStyleCoord,
33337         pub mGridAutoFlow: u8,
33338         pub mBoxSizing: root::mozilla::StyleBoxSizing,
33339         pub mAlignContent: u16,
33340         pub mAlignItems: u8,
33341         pub mAlignSelf: u8,
33342         pub mJustifyContent: u16,
33343         pub mSpecifiedJustifyItems: u8,
33344         pub mJustifyItems: u8,
33345         pub mJustifySelf: u8,
33346         pub mFlexDirection: u8,
33347         pub mFlexWrap: u8,
33348         pub mObjectFit: u8,
33349         pub mOrder: i32,
33350         pub mFlexGrow: f32,
33351         pub mFlexShrink: f32,
33352         pub mZIndex: root::nsStyleCoord,
33353         pub mGridTemplateColumns: root::mozilla::UniquePtr<root::nsStyleGridTemplate>,
33354         pub mGridTemplateRows: root::mozilla::UniquePtr<root::nsStyleGridTemplate>,
33355         pub mGridTemplateAreas: root::RefPtr<root::mozilla::css::GridTemplateAreasValue>,
33356         pub mGridColumnStart: root::nsStyleGridLine,
33357         pub mGridColumnEnd: root::nsStyleGridLine,
33358         pub mGridRowStart: root::nsStyleGridLine,
33359         pub mGridRowEnd: root::nsStyleGridLine,
33360         pub mGridColumnGap: root::nsStyleCoord,
33361         pub mGridRowGap: root::nsStyleCoord,
33362     }
33363     pub const nsStylePosition_kHasFinishStyle: bool = false;
33364     #[test]
bindgen_test_layout_nsStylePosition()33365     fn bindgen_test_layout_nsStylePosition() {
33366         assert_eq!(
33367             ::std::mem::size_of::<nsStylePosition>(),
33368             440usize,
33369             concat!("Size of: ", stringify!(nsStylePosition))
33370         );
33371         assert_eq!(
33372             ::std::mem::align_of::<nsStylePosition>(),
33373             8usize,
33374             concat!("Alignment of ", stringify!(nsStylePosition))
33375         );
33376         assert_eq!(
33377             unsafe {
33378                 &(*(::std::ptr::null::<nsStylePosition>())).mObjectPosition as *const _ as usize
33379             },
33380             0usize,
33381             concat!(
33382                 "Offset of field: ",
33383                 stringify!(nsStylePosition),
33384                 "::",
33385                 stringify!(mObjectPosition)
33386             )
33387         );
33388         assert_eq!(
33389             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mOffset as *const _ as usize },
33390             24usize,
33391             concat!(
33392                 "Offset of field: ",
33393                 stringify!(nsStylePosition),
33394                 "::",
33395                 stringify!(mOffset)
33396             )
33397         );
33398         assert_eq!(
33399             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mWidth as *const _ as usize },
33400             64usize,
33401             concat!(
33402                 "Offset of field: ",
33403                 stringify!(nsStylePosition),
33404                 "::",
33405                 stringify!(mWidth)
33406             )
33407         );
33408         assert_eq!(
33409             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mMinWidth as *const _ as usize },
33410             80usize,
33411             concat!(
33412                 "Offset of field: ",
33413                 stringify!(nsStylePosition),
33414                 "::",
33415                 stringify!(mMinWidth)
33416             )
33417         );
33418         assert_eq!(
33419             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mMaxWidth as *const _ as usize },
33420             96usize,
33421             concat!(
33422                 "Offset of field: ",
33423                 stringify!(nsStylePosition),
33424                 "::",
33425                 stringify!(mMaxWidth)
33426             )
33427         );
33428         assert_eq!(
33429             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mHeight as *const _ as usize },
33430             112usize,
33431             concat!(
33432                 "Offset of field: ",
33433                 stringify!(nsStylePosition),
33434                 "::",
33435                 stringify!(mHeight)
33436             )
33437         );
33438         assert_eq!(
33439             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mMinHeight as *const _ as usize },
33440             128usize,
33441             concat!(
33442                 "Offset of field: ",
33443                 stringify!(nsStylePosition),
33444                 "::",
33445                 stringify!(mMinHeight)
33446             )
33447         );
33448         assert_eq!(
33449             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mMaxHeight as *const _ as usize },
33450             144usize,
33451             concat!(
33452                 "Offset of field: ",
33453                 stringify!(nsStylePosition),
33454                 "::",
33455                 stringify!(mMaxHeight)
33456             )
33457         );
33458         assert_eq!(
33459             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mFlexBasis as *const _ as usize },
33460             160usize,
33461             concat!(
33462                 "Offset of field: ",
33463                 stringify!(nsStylePosition),
33464                 "::",
33465                 stringify!(mFlexBasis)
33466             )
33467         );
33468         assert_eq!(
33469             unsafe {
33470                 &(*(::std::ptr::null::<nsStylePosition>())).mGridAutoColumnsMin as *const _ as usize
33471             },
33472             176usize,
33473             concat!(
33474                 "Offset of field: ",
33475                 stringify!(nsStylePosition),
33476                 "::",
33477                 stringify!(mGridAutoColumnsMin)
33478             )
33479         );
33480         assert_eq!(
33481             unsafe {
33482                 &(*(::std::ptr::null::<nsStylePosition>())).mGridAutoColumnsMax as *const _ as usize
33483             },
33484             192usize,
33485             concat!(
33486                 "Offset of field: ",
33487                 stringify!(nsStylePosition),
33488                 "::",
33489                 stringify!(mGridAutoColumnsMax)
33490             )
33491         );
33492         assert_eq!(
33493             unsafe {
33494                 &(*(::std::ptr::null::<nsStylePosition>())).mGridAutoRowsMin as *const _ as usize
33495             },
33496             208usize,
33497             concat!(
33498                 "Offset of field: ",
33499                 stringify!(nsStylePosition),
33500                 "::",
33501                 stringify!(mGridAutoRowsMin)
33502             )
33503         );
33504         assert_eq!(
33505             unsafe {
33506                 &(*(::std::ptr::null::<nsStylePosition>())).mGridAutoRowsMax as *const _ as usize
33507             },
33508             224usize,
33509             concat!(
33510                 "Offset of field: ",
33511                 stringify!(nsStylePosition),
33512                 "::",
33513                 stringify!(mGridAutoRowsMax)
33514             )
33515         );
33516         assert_eq!(
33517             unsafe {
33518                 &(*(::std::ptr::null::<nsStylePosition>())).mGridAutoFlow as *const _ as usize
33519             },
33520             240usize,
33521             concat!(
33522                 "Offset of field: ",
33523                 stringify!(nsStylePosition),
33524                 "::",
33525                 stringify!(mGridAutoFlow)
33526             )
33527         );
33528         assert_eq!(
33529             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mBoxSizing as *const _ as usize },
33530             241usize,
33531             concat!(
33532                 "Offset of field: ",
33533                 stringify!(nsStylePosition),
33534                 "::",
33535                 stringify!(mBoxSizing)
33536             )
33537         );
33538         assert_eq!(
33539             unsafe {
33540                 &(*(::std::ptr::null::<nsStylePosition>())).mAlignContent as *const _ as usize
33541             },
33542             242usize,
33543             concat!(
33544                 "Offset of field: ",
33545                 stringify!(nsStylePosition),
33546                 "::",
33547                 stringify!(mAlignContent)
33548             )
33549         );
33550         assert_eq!(
33551             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mAlignItems as *const _ as usize },
33552             244usize,
33553             concat!(
33554                 "Offset of field: ",
33555                 stringify!(nsStylePosition),
33556                 "::",
33557                 stringify!(mAlignItems)
33558             )
33559         );
33560         assert_eq!(
33561             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mAlignSelf as *const _ as usize },
33562             245usize,
33563             concat!(
33564                 "Offset of field: ",
33565                 stringify!(nsStylePosition),
33566                 "::",
33567                 stringify!(mAlignSelf)
33568             )
33569         );
33570         assert_eq!(
33571             unsafe {
33572                 &(*(::std::ptr::null::<nsStylePosition>())).mJustifyContent as *const _ as usize
33573             },
33574             246usize,
33575             concat!(
33576                 "Offset of field: ",
33577                 stringify!(nsStylePosition),
33578                 "::",
33579                 stringify!(mJustifyContent)
33580             )
33581         );
33582         assert_eq!(
33583             unsafe {
33584                 &(*(::std::ptr::null::<nsStylePosition>())).mSpecifiedJustifyItems as *const _
33585                     as usize
33586             },
33587             248usize,
33588             concat!(
33589                 "Offset of field: ",
33590                 stringify!(nsStylePosition),
33591                 "::",
33592                 stringify!(mSpecifiedJustifyItems)
33593             )
33594         );
33595         assert_eq!(
33596             unsafe {
33597                 &(*(::std::ptr::null::<nsStylePosition>())).mJustifyItems as *const _ as usize
33598             },
33599             249usize,
33600             concat!(
33601                 "Offset of field: ",
33602                 stringify!(nsStylePosition),
33603                 "::",
33604                 stringify!(mJustifyItems)
33605             )
33606         );
33607         assert_eq!(
33608             unsafe {
33609                 &(*(::std::ptr::null::<nsStylePosition>())).mJustifySelf as *const _ as usize
33610             },
33611             250usize,
33612             concat!(
33613                 "Offset of field: ",
33614                 stringify!(nsStylePosition),
33615                 "::",
33616                 stringify!(mJustifySelf)
33617             )
33618         );
33619         assert_eq!(
33620             unsafe {
33621                 &(*(::std::ptr::null::<nsStylePosition>())).mFlexDirection as *const _ as usize
33622             },
33623             251usize,
33624             concat!(
33625                 "Offset of field: ",
33626                 stringify!(nsStylePosition),
33627                 "::",
33628                 stringify!(mFlexDirection)
33629             )
33630         );
33631         assert_eq!(
33632             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mFlexWrap as *const _ as usize },
33633             252usize,
33634             concat!(
33635                 "Offset of field: ",
33636                 stringify!(nsStylePosition),
33637                 "::",
33638                 stringify!(mFlexWrap)
33639             )
33640         );
33641         assert_eq!(
33642             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mObjectFit as *const _ as usize },
33643             253usize,
33644             concat!(
33645                 "Offset of field: ",
33646                 stringify!(nsStylePosition),
33647                 "::",
33648                 stringify!(mObjectFit)
33649             )
33650         );
33651         assert_eq!(
33652             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mOrder as *const _ as usize },
33653             256usize,
33654             concat!(
33655                 "Offset of field: ",
33656                 stringify!(nsStylePosition),
33657                 "::",
33658                 stringify!(mOrder)
33659             )
33660         );
33661         assert_eq!(
33662             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mFlexGrow as *const _ as usize },
33663             260usize,
33664             concat!(
33665                 "Offset of field: ",
33666                 stringify!(nsStylePosition),
33667                 "::",
33668                 stringify!(mFlexGrow)
33669             )
33670         );
33671         assert_eq!(
33672             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mFlexShrink as *const _ as usize },
33673             264usize,
33674             concat!(
33675                 "Offset of field: ",
33676                 stringify!(nsStylePosition),
33677                 "::",
33678                 stringify!(mFlexShrink)
33679             )
33680         );
33681         assert_eq!(
33682             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mZIndex as *const _ as usize },
33683             272usize,
33684             concat!(
33685                 "Offset of field: ",
33686                 stringify!(nsStylePosition),
33687                 "::",
33688                 stringify!(mZIndex)
33689             )
33690         );
33691         assert_eq!(
33692             unsafe {
33693                 &(*(::std::ptr::null::<nsStylePosition>())).mGridTemplateColumns as *const _
33694                     as usize
33695             },
33696             288usize,
33697             concat!(
33698                 "Offset of field: ",
33699                 stringify!(nsStylePosition),
33700                 "::",
33701                 stringify!(mGridTemplateColumns)
33702             )
33703         );
33704         assert_eq!(
33705             unsafe {
33706                 &(*(::std::ptr::null::<nsStylePosition>())).mGridTemplateRows as *const _ as usize
33707             },
33708             296usize,
33709             concat!(
33710                 "Offset of field: ",
33711                 stringify!(nsStylePosition),
33712                 "::",
33713                 stringify!(mGridTemplateRows)
33714             )
33715         );
33716         assert_eq!(
33717             unsafe {
33718                 &(*(::std::ptr::null::<nsStylePosition>())).mGridTemplateAreas as *const _ as usize
33719             },
33720             304usize,
33721             concat!(
33722                 "Offset of field: ",
33723                 stringify!(nsStylePosition),
33724                 "::",
33725                 stringify!(mGridTemplateAreas)
33726             )
33727         );
33728         assert_eq!(
33729             unsafe {
33730                 &(*(::std::ptr::null::<nsStylePosition>())).mGridColumnStart as *const _ as usize
33731             },
33732             312usize,
33733             concat!(
33734                 "Offset of field: ",
33735                 stringify!(nsStylePosition),
33736                 "::",
33737                 stringify!(mGridColumnStart)
33738             )
33739         );
33740         assert_eq!(
33741             unsafe {
33742                 &(*(::std::ptr::null::<nsStylePosition>())).mGridColumnEnd as *const _ as usize
33743             },
33744             336usize,
33745             concat!(
33746                 "Offset of field: ",
33747                 stringify!(nsStylePosition),
33748                 "::",
33749                 stringify!(mGridColumnEnd)
33750             )
33751         );
33752         assert_eq!(
33753             unsafe {
33754                 &(*(::std::ptr::null::<nsStylePosition>())).mGridRowStart as *const _ as usize
33755             },
33756             360usize,
33757             concat!(
33758                 "Offset of field: ",
33759                 stringify!(nsStylePosition),
33760                 "::",
33761                 stringify!(mGridRowStart)
33762             )
33763         );
33764         assert_eq!(
33765             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mGridRowEnd as *const _ as usize },
33766             384usize,
33767             concat!(
33768                 "Offset of field: ",
33769                 stringify!(nsStylePosition),
33770                 "::",
33771                 stringify!(mGridRowEnd)
33772             )
33773         );
33774         assert_eq!(
33775             unsafe {
33776                 &(*(::std::ptr::null::<nsStylePosition>())).mGridColumnGap as *const _ as usize
33777             },
33778             408usize,
33779             concat!(
33780                 "Offset of field: ",
33781                 stringify!(nsStylePosition),
33782                 "::",
33783                 stringify!(mGridColumnGap)
33784             )
33785         );
33786         assert_eq!(
33787             unsafe { &(*(::std::ptr::null::<nsStylePosition>())).mGridRowGap as *const _ as usize },
33788             424usize,
33789             concat!(
33790                 "Offset of field: ",
33791                 stringify!(nsStylePosition),
33792                 "::",
33793                 stringify!(mGridRowGap)
33794             )
33795         );
33796     }
33797     #[repr(C)]
33798     pub struct nsStyleTextOverflowSide {
33799         pub mString: ::nsstring::nsStringRepr,
33800         pub mType: u8,
33801     }
33802     #[test]
bindgen_test_layout_nsStyleTextOverflowSide()33803     fn bindgen_test_layout_nsStyleTextOverflowSide() {
33804         assert_eq!(
33805             ::std::mem::size_of::<nsStyleTextOverflowSide>(),
33806             24usize,
33807             concat!("Size of: ", stringify!(nsStyleTextOverflowSide))
33808         );
33809         assert_eq!(
33810             ::std::mem::align_of::<nsStyleTextOverflowSide>(),
33811             8usize,
33812             concat!("Alignment of ", stringify!(nsStyleTextOverflowSide))
33813         );
33814         assert_eq!(
33815             unsafe {
33816                 &(*(::std::ptr::null::<nsStyleTextOverflowSide>())).mString as *const _ as usize
33817             },
33818             0usize,
33819             concat!(
33820                 "Offset of field: ",
33821                 stringify!(nsStyleTextOverflowSide),
33822                 "::",
33823                 stringify!(mString)
33824             )
33825         );
33826         assert_eq!(
33827             unsafe {
33828                 &(*(::std::ptr::null::<nsStyleTextOverflowSide>())).mType as *const _ as usize
33829             },
33830             16usize,
33831             concat!(
33832                 "Offset of field: ",
33833                 stringify!(nsStyleTextOverflowSide),
33834                 "::",
33835                 stringify!(mType)
33836             )
33837         );
33838     }
33839     #[repr(C)]
33840     pub struct nsStyleTextOverflow {
33841         pub mLeft: root::nsStyleTextOverflowSide,
33842         pub mRight: root::nsStyleTextOverflowSide,
33843         pub mLogicalDirections: bool,
33844     }
33845     #[test]
bindgen_test_layout_nsStyleTextOverflow()33846     fn bindgen_test_layout_nsStyleTextOverflow() {
33847         assert_eq!(
33848             ::std::mem::size_of::<nsStyleTextOverflow>(),
33849             56usize,
33850             concat!("Size of: ", stringify!(nsStyleTextOverflow))
33851         );
33852         assert_eq!(
33853             ::std::mem::align_of::<nsStyleTextOverflow>(),
33854             8usize,
33855             concat!("Alignment of ", stringify!(nsStyleTextOverflow))
33856         );
33857         assert_eq!(
33858             unsafe { &(*(::std::ptr::null::<nsStyleTextOverflow>())).mLeft as *const _ as usize },
33859             0usize,
33860             concat!(
33861                 "Offset of field: ",
33862                 stringify!(nsStyleTextOverflow),
33863                 "::",
33864                 stringify!(mLeft)
33865             )
33866         );
33867         assert_eq!(
33868             unsafe { &(*(::std::ptr::null::<nsStyleTextOverflow>())).mRight as *const _ as usize },
33869             24usize,
33870             concat!(
33871                 "Offset of field: ",
33872                 stringify!(nsStyleTextOverflow),
33873                 "::",
33874                 stringify!(mRight)
33875             )
33876         );
33877         assert_eq!(
33878             unsafe {
33879                 &(*(::std::ptr::null::<nsStyleTextOverflow>())).mLogicalDirections as *const _
33880                     as usize
33881             },
33882             48usize,
33883             concat!(
33884                 "Offset of field: ",
33885                 stringify!(nsStyleTextOverflow),
33886                 "::",
33887                 stringify!(mLogicalDirections)
33888             )
33889         );
33890     }
33891     #[repr(C)]
33892     pub struct nsStyleTextReset {
33893         pub mTextOverflow: root::nsStyleTextOverflow,
33894         pub mTextDecorationLine: u8,
33895         pub mTextDecorationStyle: u8,
33896         pub mUnicodeBidi: u8,
33897         pub mInitialLetterSink: root::nscoord,
33898         pub mInitialLetterSize: f32,
33899         pub mTextDecorationColor: root::mozilla::StyleComplexColor,
33900     }
33901     pub const nsStyleTextReset_kHasFinishStyle: bool = false;
33902     #[test]
bindgen_test_layout_nsStyleTextReset()33903     fn bindgen_test_layout_nsStyleTextReset() {
33904         assert_eq!(
33905             ::std::mem::size_of::<nsStyleTextReset>(),
33906             80usize,
33907             concat!("Size of: ", stringify!(nsStyleTextReset))
33908         );
33909         assert_eq!(
33910             ::std::mem::align_of::<nsStyleTextReset>(),
33911             8usize,
33912             concat!("Alignment of ", stringify!(nsStyleTextReset))
33913         );
33914         assert_eq!(
33915             unsafe {
33916                 &(*(::std::ptr::null::<nsStyleTextReset>())).mTextOverflow as *const _ as usize
33917             },
33918             0usize,
33919             concat!(
33920                 "Offset of field: ",
33921                 stringify!(nsStyleTextReset),
33922                 "::",
33923                 stringify!(mTextOverflow)
33924             )
33925         );
33926         assert_eq!(
33927             unsafe {
33928                 &(*(::std::ptr::null::<nsStyleTextReset>())).mTextDecorationLine as *const _
33929                     as usize
33930             },
33931             56usize,
33932             concat!(
33933                 "Offset of field: ",
33934                 stringify!(nsStyleTextReset),
33935                 "::",
33936                 stringify!(mTextDecorationLine)
33937             )
33938         );
33939         assert_eq!(
33940             unsafe {
33941                 &(*(::std::ptr::null::<nsStyleTextReset>())).mTextDecorationStyle as *const _
33942                     as usize
33943             },
33944             57usize,
33945             concat!(
33946                 "Offset of field: ",
33947                 stringify!(nsStyleTextReset),
33948                 "::",
33949                 stringify!(mTextDecorationStyle)
33950             )
33951         );
33952         assert_eq!(
33953             unsafe {
33954                 &(*(::std::ptr::null::<nsStyleTextReset>())).mUnicodeBidi as *const _ as usize
33955             },
33956             58usize,
33957             concat!(
33958                 "Offset of field: ",
33959                 stringify!(nsStyleTextReset),
33960                 "::",
33961                 stringify!(mUnicodeBidi)
33962             )
33963         );
33964         assert_eq!(
33965             unsafe {
33966                 &(*(::std::ptr::null::<nsStyleTextReset>())).mInitialLetterSink as *const _ as usize
33967             },
33968             60usize,
33969             concat!(
33970                 "Offset of field: ",
33971                 stringify!(nsStyleTextReset),
33972                 "::",
33973                 stringify!(mInitialLetterSink)
33974             )
33975         );
33976         assert_eq!(
33977             unsafe {
33978                 &(*(::std::ptr::null::<nsStyleTextReset>())).mInitialLetterSize as *const _ as usize
33979             },
33980             64usize,
33981             concat!(
33982                 "Offset of field: ",
33983                 stringify!(nsStyleTextReset),
33984                 "::",
33985                 stringify!(mInitialLetterSize)
33986             )
33987         );
33988         assert_eq!(
33989             unsafe {
33990                 &(*(::std::ptr::null::<nsStyleTextReset>())).mTextDecorationColor as *const _
33991                     as usize
33992             },
33993             68usize,
33994             concat!(
33995                 "Offset of field: ",
33996                 stringify!(nsStyleTextReset),
33997                 "::",
33998                 stringify!(mTextDecorationColor)
33999             )
34000         );
34001     }
34002     #[repr(C)]
34003     pub struct nsStyleText {
34004         pub mTextAlign: u8,
34005         pub mTextAlignLast: u8,
34006         pub _bitfield_1: root::__BindgenBitfieldUnit<[u8; 1usize], u8>,
34007         pub mTextJustify: root::mozilla::StyleTextJustify,
34008         pub mTextTransform: u8,
34009         pub mWhiteSpace: root::mozilla::StyleWhiteSpace,
34010         pub mWordBreak: u8,
34011         pub mOverflowWrap: u8,
34012         pub mHyphens: root::mozilla::StyleHyphens,
34013         pub mRubyAlign: u8,
34014         pub mRubyPosition: u8,
34015         pub mTextSizeAdjust: u8,
34016         pub mTextCombineUpright: u8,
34017         pub mControlCharacterVisibility: u8,
34018         pub mTextEmphasisPosition: u8,
34019         pub mTextEmphasisStyle: u8,
34020         pub mTextRendering: u8,
34021         pub mTextEmphasisColor: root::mozilla::StyleComplexColor,
34022         pub mWebkitTextFillColor: root::mozilla::StyleComplexColor,
34023         pub mWebkitTextStrokeColor: root::mozilla::StyleComplexColor,
34024         pub mTabSize: root::nsStyleCoord,
34025         pub mWordSpacing: root::nsStyleCoord,
34026         pub mLetterSpacing: root::nsStyleCoord,
34027         pub mLineHeight: root::nsStyleCoord,
34028         pub mTextIndent: root::nsStyleCoord,
34029         pub mWebkitTextStrokeWidth: root::nscoord,
34030         pub mTextShadow: root::RefPtr<root::nsCSSShadowArray>,
34031         pub mTextEmphasisStyleString: ::nsstring::nsStringRepr,
34032     }
34033     pub const nsStyleText_kHasFinishStyle: bool = false;
34034     #[test]
bindgen_test_layout_nsStyleText()34035     fn bindgen_test_layout_nsStyleText() {
34036         assert_eq!(
34037             ::std::mem::size_of::<nsStyleText>(),
34038             160usize,
34039             concat!("Size of: ", stringify!(nsStyleText))
34040         );
34041         assert_eq!(
34042             ::std::mem::align_of::<nsStyleText>(),
34043             8usize,
34044             concat!("Alignment of ", stringify!(nsStyleText))
34045         );
34046         assert_eq!(
34047             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mTextAlign as *const _ as usize },
34048             0usize,
34049             concat!(
34050                 "Offset of field: ",
34051                 stringify!(nsStyleText),
34052                 "::",
34053                 stringify!(mTextAlign)
34054             )
34055         );
34056         assert_eq!(
34057             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mTextAlignLast as *const _ as usize },
34058             1usize,
34059             concat!(
34060                 "Offset of field: ",
34061                 stringify!(nsStyleText),
34062                 "::",
34063                 stringify!(mTextAlignLast)
34064             )
34065         );
34066         assert_eq!(
34067             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mTextJustify as *const _ as usize },
34068             3usize,
34069             concat!(
34070                 "Offset of field: ",
34071                 stringify!(nsStyleText),
34072                 "::",
34073                 stringify!(mTextJustify)
34074             )
34075         );
34076         assert_eq!(
34077             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mTextTransform as *const _ as usize },
34078             4usize,
34079             concat!(
34080                 "Offset of field: ",
34081                 stringify!(nsStyleText),
34082                 "::",
34083                 stringify!(mTextTransform)
34084             )
34085         );
34086         assert_eq!(
34087             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mWhiteSpace as *const _ as usize },
34088             5usize,
34089             concat!(
34090                 "Offset of field: ",
34091                 stringify!(nsStyleText),
34092                 "::",
34093                 stringify!(mWhiteSpace)
34094             )
34095         );
34096         assert_eq!(
34097             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mWordBreak as *const _ as usize },
34098             6usize,
34099             concat!(
34100                 "Offset of field: ",
34101                 stringify!(nsStyleText),
34102                 "::",
34103                 stringify!(mWordBreak)
34104             )
34105         );
34106         assert_eq!(
34107             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mOverflowWrap as *const _ as usize },
34108             7usize,
34109             concat!(
34110                 "Offset of field: ",
34111                 stringify!(nsStyleText),
34112                 "::",
34113                 stringify!(mOverflowWrap)
34114             )
34115         );
34116         assert_eq!(
34117             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mHyphens as *const _ as usize },
34118             8usize,
34119             concat!(
34120                 "Offset of field: ",
34121                 stringify!(nsStyleText),
34122                 "::",
34123                 stringify!(mHyphens)
34124             )
34125         );
34126         assert_eq!(
34127             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mRubyAlign as *const _ as usize },
34128             9usize,
34129             concat!(
34130                 "Offset of field: ",
34131                 stringify!(nsStyleText),
34132                 "::",
34133                 stringify!(mRubyAlign)
34134             )
34135         );
34136         assert_eq!(
34137             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mRubyPosition as *const _ as usize },
34138             10usize,
34139             concat!(
34140                 "Offset of field: ",
34141                 stringify!(nsStyleText),
34142                 "::",
34143                 stringify!(mRubyPosition)
34144             )
34145         );
34146         assert_eq!(
34147             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mTextSizeAdjust as *const _ as usize },
34148             11usize,
34149             concat!(
34150                 "Offset of field: ",
34151                 stringify!(nsStyleText),
34152                 "::",
34153                 stringify!(mTextSizeAdjust)
34154             )
34155         );
34156         assert_eq!(
34157             unsafe {
34158                 &(*(::std::ptr::null::<nsStyleText>())).mTextCombineUpright as *const _ as usize
34159             },
34160             12usize,
34161             concat!(
34162                 "Offset of field: ",
34163                 stringify!(nsStyleText),
34164                 "::",
34165                 stringify!(mTextCombineUpright)
34166             )
34167         );
34168         assert_eq!(
34169             unsafe {
34170                 &(*(::std::ptr::null::<nsStyleText>())).mControlCharacterVisibility as *const _
34171                     as usize
34172             },
34173             13usize,
34174             concat!(
34175                 "Offset of field: ",
34176                 stringify!(nsStyleText),
34177                 "::",
34178                 stringify!(mControlCharacterVisibility)
34179             )
34180         );
34181         assert_eq!(
34182             unsafe {
34183                 &(*(::std::ptr::null::<nsStyleText>())).mTextEmphasisPosition as *const _ as usize
34184             },
34185             14usize,
34186             concat!(
34187                 "Offset of field: ",
34188                 stringify!(nsStyleText),
34189                 "::",
34190                 stringify!(mTextEmphasisPosition)
34191             )
34192         );
34193         assert_eq!(
34194             unsafe {
34195                 &(*(::std::ptr::null::<nsStyleText>())).mTextEmphasisStyle as *const _ as usize
34196             },
34197             15usize,
34198             concat!(
34199                 "Offset of field: ",
34200                 stringify!(nsStyleText),
34201                 "::",
34202                 stringify!(mTextEmphasisStyle)
34203             )
34204         );
34205         assert_eq!(
34206             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mTextRendering as *const _ as usize },
34207             16usize,
34208             concat!(
34209                 "Offset of field: ",
34210                 stringify!(nsStyleText),
34211                 "::",
34212                 stringify!(mTextRendering)
34213             )
34214         );
34215         assert_eq!(
34216             unsafe {
34217                 &(*(::std::ptr::null::<nsStyleText>())).mTextEmphasisColor as *const _ as usize
34218             },
34219             20usize,
34220             concat!(
34221                 "Offset of field: ",
34222                 stringify!(nsStyleText),
34223                 "::",
34224                 stringify!(mTextEmphasisColor)
34225             )
34226         );
34227         assert_eq!(
34228             unsafe {
34229                 &(*(::std::ptr::null::<nsStyleText>())).mWebkitTextFillColor as *const _ as usize
34230             },
34231             28usize,
34232             concat!(
34233                 "Offset of field: ",
34234                 stringify!(nsStyleText),
34235                 "::",
34236                 stringify!(mWebkitTextFillColor)
34237             )
34238         );
34239         assert_eq!(
34240             unsafe {
34241                 &(*(::std::ptr::null::<nsStyleText>())).mWebkitTextStrokeColor as *const _ as usize
34242             },
34243             36usize,
34244             concat!(
34245                 "Offset of field: ",
34246                 stringify!(nsStyleText),
34247                 "::",
34248                 stringify!(mWebkitTextStrokeColor)
34249             )
34250         );
34251         assert_eq!(
34252             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mTabSize as *const _ as usize },
34253             48usize,
34254             concat!(
34255                 "Offset of field: ",
34256                 stringify!(nsStyleText),
34257                 "::",
34258                 stringify!(mTabSize)
34259             )
34260         );
34261         assert_eq!(
34262             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mWordSpacing as *const _ as usize },
34263             64usize,
34264             concat!(
34265                 "Offset of field: ",
34266                 stringify!(nsStyleText),
34267                 "::",
34268                 stringify!(mWordSpacing)
34269             )
34270         );
34271         assert_eq!(
34272             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mLetterSpacing as *const _ as usize },
34273             80usize,
34274             concat!(
34275                 "Offset of field: ",
34276                 stringify!(nsStyleText),
34277                 "::",
34278                 stringify!(mLetterSpacing)
34279             )
34280         );
34281         assert_eq!(
34282             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mLineHeight as *const _ as usize },
34283             96usize,
34284             concat!(
34285                 "Offset of field: ",
34286                 stringify!(nsStyleText),
34287                 "::",
34288                 stringify!(mLineHeight)
34289             )
34290         );
34291         assert_eq!(
34292             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mTextIndent as *const _ as usize },
34293             112usize,
34294             concat!(
34295                 "Offset of field: ",
34296                 stringify!(nsStyleText),
34297                 "::",
34298                 stringify!(mTextIndent)
34299             )
34300         );
34301         assert_eq!(
34302             unsafe {
34303                 &(*(::std::ptr::null::<nsStyleText>())).mWebkitTextStrokeWidth as *const _ as usize
34304             },
34305             128usize,
34306             concat!(
34307                 "Offset of field: ",
34308                 stringify!(nsStyleText),
34309                 "::",
34310                 stringify!(mWebkitTextStrokeWidth)
34311             )
34312         );
34313         assert_eq!(
34314             unsafe { &(*(::std::ptr::null::<nsStyleText>())).mTextShadow as *const _ as usize },
34315             136usize,
34316             concat!(
34317                 "Offset of field: ",
34318                 stringify!(nsStyleText),
34319                 "::",
34320                 stringify!(mTextShadow)
34321             )
34322         );
34323         assert_eq!(
34324             unsafe {
34325                 &(*(::std::ptr::null::<nsStyleText>())).mTextEmphasisStyleString as *const _
34326                     as usize
34327             },
34328             144usize,
34329             concat!(
34330                 "Offset of field: ",
34331                 stringify!(nsStyleText),
34332                 "::",
34333                 stringify!(mTextEmphasisStyleString)
34334             )
34335         );
34336     }
34337     impl nsStyleText {
34338         #[inline]
mTextAlignTrue(&self) -> bool34339         pub fn mTextAlignTrue(&self) -> bool {
34340             unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
34341         }
34342         #[inline]
set_mTextAlignTrue(&mut self, val: bool)34343         pub fn set_mTextAlignTrue(&mut self, val: bool) {
34344             unsafe {
34345                 let val: u8 = ::std::mem::transmute(val);
34346                 self._bitfield_1.set(0usize, 1u8, val as u64)
34347             }
34348         }
34349         #[inline]
mTextAlignLastTrue(&self) -> bool34350         pub fn mTextAlignLastTrue(&self) -> bool {
34351             unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
34352         }
34353         #[inline]
set_mTextAlignLastTrue(&mut self, val: bool)34354         pub fn set_mTextAlignLastTrue(&mut self, val: bool) {
34355             unsafe {
34356                 let val: u8 = ::std::mem::transmute(val);
34357                 self._bitfield_1.set(1usize, 1u8, val as u64)
34358             }
34359         }
34360         #[inline]
new_bitfield_1( mTextAlignTrue: bool, mTextAlignLastTrue: bool, ) -> root::__BindgenBitfieldUnit<[u8; 1usize], u8>34361         pub fn new_bitfield_1(
34362             mTextAlignTrue: bool,
34363             mTextAlignLastTrue: bool,
34364         ) -> root::__BindgenBitfieldUnit<[u8; 1usize], u8> {
34365             let mut __bindgen_bitfield_unit: root::__BindgenBitfieldUnit<
34366                 [u8; 1usize],
34367                 u8,
34368             > = Default::default();
34369             __bindgen_bitfield_unit.set(0usize, 1u8, {
34370                 let mTextAlignTrue: u8 = unsafe { ::std::mem::transmute(mTextAlignTrue) };
34371                 mTextAlignTrue as u64
34372             });
34373             __bindgen_bitfield_unit.set(1usize, 1u8, {
34374                 let mTextAlignLastTrue: u8 = unsafe { ::std::mem::transmute(mTextAlignLastTrue) };
34375                 mTextAlignLastTrue as u64
34376             });
34377             __bindgen_bitfield_unit
34378         }
34379     }
34380     #[repr(C)]
34381     #[derive(Debug, Copy)]
34382     pub struct nsStyleImageOrientation {
34383         pub mOrientation: u8,
34384     }
34385     pub const nsStyleImageOrientation_Bits_ORIENTATION_MASK: root::nsStyleImageOrientation_Bits = 3;
34386     pub const nsStyleImageOrientation_Bits_FLIP_MASK: root::nsStyleImageOrientation_Bits = 4;
34387     pub const nsStyleImageOrientation_Bits_FROM_IMAGE_MASK: root::nsStyleImageOrientation_Bits = 8;
34388     pub type nsStyleImageOrientation_Bits = u32;
34389     #[repr(u32)]
34390     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
34391     pub enum nsStyleImageOrientation_Angles {
34392         ANGLE_0 = 0,
34393         ANGLE_90 = 1,
34394         ANGLE_180 = 2,
34395         ANGLE_270 = 3,
34396     }
34397     #[test]
bindgen_test_layout_nsStyleImageOrientation()34398     fn bindgen_test_layout_nsStyleImageOrientation() {
34399         assert_eq!(
34400             ::std::mem::size_of::<nsStyleImageOrientation>(),
34401             1usize,
34402             concat!("Size of: ", stringify!(nsStyleImageOrientation))
34403         );
34404         assert_eq!(
34405             ::std::mem::align_of::<nsStyleImageOrientation>(),
34406             1usize,
34407             concat!("Alignment of ", stringify!(nsStyleImageOrientation))
34408         );
34409         assert_eq!(
34410             unsafe {
34411                 &(*(::std::ptr::null::<nsStyleImageOrientation>())).mOrientation as *const _
34412                     as usize
34413             },
34414             0usize,
34415             concat!(
34416                 "Offset of field: ",
34417                 stringify!(nsStyleImageOrientation),
34418                 "::",
34419                 stringify!(mOrientation)
34420             )
34421         );
34422     }
34423     impl Clone for nsStyleImageOrientation {
clone(&self) -> Self34424         fn clone(&self) -> Self {
34425             *self
34426         }
34427     }
34428     #[repr(C)]
34429     #[derive(Debug)]
34430     pub struct nsStyleVisibility {
34431         pub mImageOrientation: root::nsStyleImageOrientation,
34432         pub mDirection: u8,
34433         pub mVisible: u8,
34434         pub mImageRendering: u8,
34435         pub mWritingMode: u8,
34436         pub mTextOrientation: u8,
34437         pub mColorAdjust: u8,
34438     }
34439     pub const nsStyleVisibility_kHasFinishStyle: bool = false;
34440     #[test]
bindgen_test_layout_nsStyleVisibility()34441     fn bindgen_test_layout_nsStyleVisibility() {
34442         assert_eq!(
34443             ::std::mem::size_of::<nsStyleVisibility>(),
34444             7usize,
34445             concat!("Size of: ", stringify!(nsStyleVisibility))
34446         );
34447         assert_eq!(
34448             ::std::mem::align_of::<nsStyleVisibility>(),
34449             1usize,
34450             concat!("Alignment of ", stringify!(nsStyleVisibility))
34451         );
34452         assert_eq!(
34453             unsafe {
34454                 &(*(::std::ptr::null::<nsStyleVisibility>())).mImageOrientation as *const _ as usize
34455             },
34456             0usize,
34457             concat!(
34458                 "Offset of field: ",
34459                 stringify!(nsStyleVisibility),
34460                 "::",
34461                 stringify!(mImageOrientation)
34462             )
34463         );
34464         assert_eq!(
34465             unsafe {
34466                 &(*(::std::ptr::null::<nsStyleVisibility>())).mDirection as *const _ as usize
34467             },
34468             1usize,
34469             concat!(
34470                 "Offset of field: ",
34471                 stringify!(nsStyleVisibility),
34472                 "::",
34473                 stringify!(mDirection)
34474             )
34475         );
34476         assert_eq!(
34477             unsafe { &(*(::std::ptr::null::<nsStyleVisibility>())).mVisible as *const _ as usize },
34478             2usize,
34479             concat!(
34480                 "Offset of field: ",
34481                 stringify!(nsStyleVisibility),
34482                 "::",
34483                 stringify!(mVisible)
34484             )
34485         );
34486         assert_eq!(
34487             unsafe {
34488                 &(*(::std::ptr::null::<nsStyleVisibility>())).mImageRendering as *const _ as usize
34489             },
34490             3usize,
34491             concat!(
34492                 "Offset of field: ",
34493                 stringify!(nsStyleVisibility),
34494                 "::",
34495                 stringify!(mImageRendering)
34496             )
34497         );
34498         assert_eq!(
34499             unsafe {
34500                 &(*(::std::ptr::null::<nsStyleVisibility>())).mWritingMode as *const _ as usize
34501             },
34502             4usize,
34503             concat!(
34504                 "Offset of field: ",
34505                 stringify!(nsStyleVisibility),
34506                 "::",
34507                 stringify!(mWritingMode)
34508             )
34509         );
34510         assert_eq!(
34511             unsafe {
34512                 &(*(::std::ptr::null::<nsStyleVisibility>())).mTextOrientation as *const _ as usize
34513             },
34514             5usize,
34515             concat!(
34516                 "Offset of field: ",
34517                 stringify!(nsStyleVisibility),
34518                 "::",
34519                 stringify!(mTextOrientation)
34520             )
34521         );
34522         assert_eq!(
34523             unsafe {
34524                 &(*(::std::ptr::null::<nsStyleVisibility>())).mColorAdjust as *const _ as usize
34525             },
34526             6usize,
34527             concat!(
34528                 "Offset of field: ",
34529                 stringify!(nsStyleVisibility),
34530                 "::",
34531                 stringify!(mColorAdjust)
34532             )
34533         );
34534     }
34535     #[repr(C)]
34536     #[derive(Debug, Copy)]
34537     pub struct nsTimingFunction {
34538         pub mType: root::nsTimingFunction_Type,
34539         pub __bindgen_anon_1: root::nsTimingFunction__bindgen_ty_1,
34540     }
34541     #[repr(i32)]
34542     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
34543     pub enum nsTimingFunction_Type {
34544         Ease = 0,
34545         Linear = 1,
34546         EaseIn = 2,
34547         EaseOut = 3,
34548         EaseInOut = 4,
34549         StepStart = 5,
34550         StepEnd = 6,
34551         CubicBezier = 7,
34552         Frames = 8,
34553     }
34554     pub const nsTimingFunction_Keyword_Implicit: root::nsTimingFunction_Keyword = 0;
34555     pub const nsTimingFunction_Keyword_Explicit: root::nsTimingFunction_Keyword = 1;
34556     pub type nsTimingFunction_Keyword = i32;
34557     #[repr(C)]
34558     #[derive(Debug, Copy)]
34559     pub struct nsTimingFunction__bindgen_ty_1 {
34560         pub mFunc: root::__BindgenUnionField<root::nsTimingFunction__bindgen_ty_1__bindgen_ty_1>,
34561         pub __bindgen_anon_1:
34562             root::__BindgenUnionField<root::nsTimingFunction__bindgen_ty_1__bindgen_ty_2>,
34563         pub bindgen_union_field: [u32; 4usize],
34564     }
34565     #[repr(C)]
34566     #[derive(Debug, Copy)]
34567     pub struct nsTimingFunction__bindgen_ty_1__bindgen_ty_1 {
34568         pub mX1: f32,
34569         pub mY1: f32,
34570         pub mX2: f32,
34571         pub mY2: f32,
34572     }
34573     #[test]
bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_1()34574     fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_1() {
34575         assert_eq!(
34576             ::std::mem::size_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>(),
34577             16usize,
34578             concat!(
34579                 "Size of: ",
34580                 stringify!(nsTimingFunction__bindgen_ty_1__bindgen_ty_1)
34581             )
34582         );
34583         assert_eq!(
34584             ::std::mem::align_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>(),
34585             4usize,
34586             concat!(
34587                 "Alignment of ",
34588                 stringify!(nsTimingFunction__bindgen_ty_1__bindgen_ty_1)
34589             )
34590         );
34591         assert_eq!(
34592             unsafe {
34593                 &(*(::std::ptr::null::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>())).mX1
34594                     as *const _ as usize
34595             },
34596             0usize,
34597             concat!(
34598                 "Offset of field: ",
34599                 stringify!(nsTimingFunction__bindgen_ty_1__bindgen_ty_1),
34600                 "::",
34601                 stringify!(mX1)
34602             )
34603         );
34604         assert_eq!(
34605             unsafe {
34606                 &(*(::std::ptr::null::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>())).mY1
34607                     as *const _ as usize
34608             },
34609             4usize,
34610             concat!(
34611                 "Offset of field: ",
34612                 stringify!(nsTimingFunction__bindgen_ty_1__bindgen_ty_1),
34613                 "::",
34614                 stringify!(mY1)
34615             )
34616         );
34617         assert_eq!(
34618             unsafe {
34619                 &(*(::std::ptr::null::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>())).mX2
34620                     as *const _ as usize
34621             },
34622             8usize,
34623             concat!(
34624                 "Offset of field: ",
34625                 stringify!(nsTimingFunction__bindgen_ty_1__bindgen_ty_1),
34626                 "::",
34627                 stringify!(mX2)
34628             )
34629         );
34630         assert_eq!(
34631             unsafe {
34632                 &(*(::std::ptr::null::<nsTimingFunction__bindgen_ty_1__bindgen_ty_1>())).mY2
34633                     as *const _ as usize
34634             },
34635             12usize,
34636             concat!(
34637                 "Offset of field: ",
34638                 stringify!(nsTimingFunction__bindgen_ty_1__bindgen_ty_1),
34639                 "::",
34640                 stringify!(mY2)
34641             )
34642         );
34643     }
34644     impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_1 {
clone(&self) -> Self34645         fn clone(&self) -> Self {
34646             *self
34647         }
34648     }
34649     #[repr(C)]
34650     #[derive(Debug, Copy)]
34651     pub struct nsTimingFunction__bindgen_ty_1__bindgen_ty_2 {
34652         pub mStepsOrFrames: u32,
34653     }
34654     #[test]
bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_2()34655     fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1__bindgen_ty_2() {
34656         assert_eq!(
34657             ::std::mem::size_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_2>(),
34658             4usize,
34659             concat!(
34660                 "Size of: ",
34661                 stringify!(nsTimingFunction__bindgen_ty_1__bindgen_ty_2)
34662             )
34663         );
34664         assert_eq!(
34665             ::std::mem::align_of::<nsTimingFunction__bindgen_ty_1__bindgen_ty_2>(),
34666             4usize,
34667             concat!(
34668                 "Alignment of ",
34669                 stringify!(nsTimingFunction__bindgen_ty_1__bindgen_ty_2)
34670             )
34671         );
34672         assert_eq!(
34673             unsafe {
34674                 &(*(::std::ptr::null::<nsTimingFunction__bindgen_ty_1__bindgen_ty_2>()))
34675                     .mStepsOrFrames as *const _ as usize
34676             },
34677             0usize,
34678             concat!(
34679                 "Offset of field: ",
34680                 stringify!(nsTimingFunction__bindgen_ty_1__bindgen_ty_2),
34681                 "::",
34682                 stringify!(mStepsOrFrames)
34683             )
34684         );
34685     }
34686     impl Clone for nsTimingFunction__bindgen_ty_1__bindgen_ty_2 {
clone(&self) -> Self34687         fn clone(&self) -> Self {
34688             *self
34689         }
34690     }
34691     #[test]
bindgen_test_layout_nsTimingFunction__bindgen_ty_1()34692     fn bindgen_test_layout_nsTimingFunction__bindgen_ty_1() {
34693         assert_eq!(
34694             ::std::mem::size_of::<nsTimingFunction__bindgen_ty_1>(),
34695             16usize,
34696             concat!("Size of: ", stringify!(nsTimingFunction__bindgen_ty_1))
34697         );
34698         assert_eq!(
34699             ::std::mem::align_of::<nsTimingFunction__bindgen_ty_1>(),
34700             4usize,
34701             concat!("Alignment of ", stringify!(nsTimingFunction__bindgen_ty_1))
34702         );
34703         assert_eq!(
34704             unsafe {
34705                 &(*(::std::ptr::null::<nsTimingFunction__bindgen_ty_1>())).mFunc as *const _
34706                     as usize
34707             },
34708             0usize,
34709             concat!(
34710                 "Offset of field: ",
34711                 stringify!(nsTimingFunction__bindgen_ty_1),
34712                 "::",
34713                 stringify!(mFunc)
34714             )
34715         );
34716     }
34717     impl Clone for nsTimingFunction__bindgen_ty_1 {
clone(&self) -> Self34718         fn clone(&self) -> Self {
34719             *self
34720         }
34721     }
34722     #[test]
bindgen_test_layout_nsTimingFunction()34723     fn bindgen_test_layout_nsTimingFunction() {
34724         assert_eq!(
34725             ::std::mem::size_of::<nsTimingFunction>(),
34726             20usize,
34727             concat!("Size of: ", stringify!(nsTimingFunction))
34728         );
34729         assert_eq!(
34730             ::std::mem::align_of::<nsTimingFunction>(),
34731             4usize,
34732             concat!("Alignment of ", stringify!(nsTimingFunction))
34733         );
34734         assert_eq!(
34735             unsafe { &(*(::std::ptr::null::<nsTimingFunction>())).mType as *const _ as usize },
34736             0usize,
34737             concat!(
34738                 "Offset of field: ",
34739                 stringify!(nsTimingFunction),
34740                 "::",
34741                 stringify!(mType)
34742             )
34743         );
34744     }
34745     impl Clone for nsTimingFunction {
clone(&self) -> Self34746         fn clone(&self) -> Self {
34747             *self
34748         }
34749     }
34750     #[repr(C)]
34751     #[derive(Debug)]
34752     pub struct nsStyleDisplay {
34753         pub mBinding: root::RefPtr<root::mozilla::css::URLValue>,
34754         pub mDisplay: root::mozilla::StyleDisplay,
34755         pub mOriginalDisplay: root::mozilla::StyleDisplay,
34756         pub mContain: u8,
34757         pub mAppearance: u8,
34758         pub mPosition: u8,
34759         pub mFloat: root::mozilla::StyleFloat,
34760         pub mOriginalFloat: root::mozilla::StyleFloat,
34761         pub mBreakType: root::mozilla::StyleClear,
34762         pub mBreakInside: u8,
34763         pub mBreakBefore: bool,
34764         pub mBreakAfter: bool,
34765         pub mOverflowX: u8,
34766         pub mOverflowY: u8,
34767         pub mOverflowClipBoxBlock: u8,
34768         pub mOverflowClipBoxInline: u8,
34769         pub mResize: u8,
34770         pub mOrient: root::mozilla::StyleOrient,
34771         pub mIsolation: u8,
34772         pub mTopLayer: u8,
34773         pub mWillChangeBitField: u8,
34774         pub mWillChange: root::nsTArray<root::RefPtr<root::nsAtom>>,
34775         pub mTouchAction: u8,
34776         pub mScrollBehavior: u8,
34777         pub mOverscrollBehaviorX: root::mozilla::StyleOverscrollBehavior,
34778         pub mOverscrollBehaviorY: root::mozilla::StyleOverscrollBehavior,
34779         pub mScrollSnapTypeX: u8,
34780         pub mScrollSnapTypeY: u8,
34781         pub mScrollSnapPointsX: root::nsStyleCoord,
34782         pub mScrollSnapPointsY: root::nsStyleCoord,
34783         pub mScrollSnapDestination: root::mozilla::Position,
34784         pub mScrollSnapCoordinate: root::nsTArray<root::mozilla::Position>,
34785         pub mBackfaceVisibility: u8,
34786         pub mTransformStyle: u8,
34787         pub mTransformBox: root::nsStyleDisplay_StyleGeometryBox,
34788         pub mSpecifiedTransform: root::RefPtr<root::nsCSSValueSharedList>,
34789         pub mSpecifiedRotate: root::RefPtr<root::nsCSSValueSharedList>,
34790         pub mSpecifiedTranslate: root::RefPtr<root::nsCSSValueSharedList>,
34791         pub mSpecifiedScale: root::RefPtr<root::nsCSSValueSharedList>,
34792         pub mCombinedTransform: root::RefPtr<root::nsCSSValueSharedList>,
34793         pub mTransformOrigin: [root::nsStyleCoord; 3usize],
34794         pub mChildPerspective: root::nsStyleCoord,
34795         pub mPerspectiveOrigin: [root::nsStyleCoord; 2usize],
34796         pub mVerticalAlign: root::nsStyleCoord,
34797         pub mTransitions: root::nsStyleAutoArray<root::mozilla::StyleTransition>,
34798         pub mTransitionTimingFunctionCount: u32,
34799         pub mTransitionDurationCount: u32,
34800         pub mTransitionDelayCount: u32,
34801         pub mTransitionPropertyCount: u32,
34802         pub mAnimations: root::nsStyleAutoArray<root::mozilla::StyleAnimation>,
34803         pub mAnimationTimingFunctionCount: u32,
34804         pub mAnimationDurationCount: u32,
34805         pub mAnimationDelayCount: u32,
34806         pub mAnimationNameCount: u32,
34807         pub mAnimationDirectionCount: u32,
34808         pub mAnimationFillModeCount: u32,
34809         pub mAnimationPlayStateCount: u32,
34810         pub mAnimationIterationCountCount: u32,
34811         pub mShapeImageThreshold: f32,
34812         pub mShapeOutside: root::mozilla::StyleShapeSource,
34813     }
34814     pub use self::super::root::mozilla::StyleGeometryBox as nsStyleDisplay_StyleGeometryBox;
34815     pub const nsStyleDisplay_kHasFinishStyle: bool = true;
34816     #[test]
bindgen_test_layout_nsStyleDisplay()34817     fn bindgen_test_layout_nsStyleDisplay() {
34818         assert_eq!(
34819             ::std::mem::size_of::<nsStyleDisplay>(),
34820             456usize,
34821             concat!("Size of: ", stringify!(nsStyleDisplay))
34822         );
34823         assert_eq!(
34824             ::std::mem::align_of::<nsStyleDisplay>(),
34825             8usize,
34826             concat!("Alignment of ", stringify!(nsStyleDisplay))
34827         );
34828         assert_eq!(
34829             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mBinding as *const _ as usize },
34830             0usize,
34831             concat!(
34832                 "Offset of field: ",
34833                 stringify!(nsStyleDisplay),
34834                 "::",
34835                 stringify!(mBinding)
34836             )
34837         );
34838         assert_eq!(
34839             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mDisplay as *const _ as usize },
34840             8usize,
34841             concat!(
34842                 "Offset of field: ",
34843                 stringify!(nsStyleDisplay),
34844                 "::",
34845                 stringify!(mDisplay)
34846             )
34847         );
34848         assert_eq!(
34849             unsafe {
34850                 &(*(::std::ptr::null::<nsStyleDisplay>())).mOriginalDisplay as *const _ as usize
34851             },
34852             9usize,
34853             concat!(
34854                 "Offset of field: ",
34855                 stringify!(nsStyleDisplay),
34856                 "::",
34857                 stringify!(mOriginalDisplay)
34858             )
34859         );
34860         assert_eq!(
34861             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mContain as *const _ as usize },
34862             10usize,
34863             concat!(
34864                 "Offset of field: ",
34865                 stringify!(nsStyleDisplay),
34866                 "::",
34867                 stringify!(mContain)
34868             )
34869         );
34870         assert_eq!(
34871             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mAppearance as *const _ as usize },
34872             11usize,
34873             concat!(
34874                 "Offset of field: ",
34875                 stringify!(nsStyleDisplay),
34876                 "::",
34877                 stringify!(mAppearance)
34878             )
34879         );
34880         assert_eq!(
34881             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mPosition as *const _ as usize },
34882             12usize,
34883             concat!(
34884                 "Offset of field: ",
34885                 stringify!(nsStyleDisplay),
34886                 "::",
34887                 stringify!(mPosition)
34888             )
34889         );
34890         assert_eq!(
34891             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mFloat as *const _ as usize },
34892             13usize,
34893             concat!(
34894                 "Offset of field: ",
34895                 stringify!(nsStyleDisplay),
34896                 "::",
34897                 stringify!(mFloat)
34898             )
34899         );
34900         assert_eq!(
34901             unsafe {
34902                 &(*(::std::ptr::null::<nsStyleDisplay>())).mOriginalFloat as *const _ as usize
34903             },
34904             14usize,
34905             concat!(
34906                 "Offset of field: ",
34907                 stringify!(nsStyleDisplay),
34908                 "::",
34909                 stringify!(mOriginalFloat)
34910             )
34911         );
34912         assert_eq!(
34913             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mBreakType as *const _ as usize },
34914             15usize,
34915             concat!(
34916                 "Offset of field: ",
34917                 stringify!(nsStyleDisplay),
34918                 "::",
34919                 stringify!(mBreakType)
34920             )
34921         );
34922         assert_eq!(
34923             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mBreakInside as *const _ as usize },
34924             16usize,
34925             concat!(
34926                 "Offset of field: ",
34927                 stringify!(nsStyleDisplay),
34928                 "::",
34929                 stringify!(mBreakInside)
34930             )
34931         );
34932         assert_eq!(
34933             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mBreakBefore as *const _ as usize },
34934             17usize,
34935             concat!(
34936                 "Offset of field: ",
34937                 stringify!(nsStyleDisplay),
34938                 "::",
34939                 stringify!(mBreakBefore)
34940             )
34941         );
34942         assert_eq!(
34943             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mBreakAfter as *const _ as usize },
34944             18usize,
34945             concat!(
34946                 "Offset of field: ",
34947                 stringify!(nsStyleDisplay),
34948                 "::",
34949                 stringify!(mBreakAfter)
34950             )
34951         );
34952         assert_eq!(
34953             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mOverflowX as *const _ as usize },
34954             19usize,
34955             concat!(
34956                 "Offset of field: ",
34957                 stringify!(nsStyleDisplay),
34958                 "::",
34959                 stringify!(mOverflowX)
34960             )
34961         );
34962         assert_eq!(
34963             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mOverflowY as *const _ as usize },
34964             20usize,
34965             concat!(
34966                 "Offset of field: ",
34967                 stringify!(nsStyleDisplay),
34968                 "::",
34969                 stringify!(mOverflowY)
34970             )
34971         );
34972         assert_eq!(
34973             unsafe {
34974                 &(*(::std::ptr::null::<nsStyleDisplay>())).mOverflowClipBoxBlock as *const _
34975                     as usize
34976             },
34977             21usize,
34978             concat!(
34979                 "Offset of field: ",
34980                 stringify!(nsStyleDisplay),
34981                 "::",
34982                 stringify!(mOverflowClipBoxBlock)
34983             )
34984         );
34985         assert_eq!(
34986             unsafe {
34987                 &(*(::std::ptr::null::<nsStyleDisplay>())).mOverflowClipBoxInline as *const _
34988                     as usize
34989             },
34990             22usize,
34991             concat!(
34992                 "Offset of field: ",
34993                 stringify!(nsStyleDisplay),
34994                 "::",
34995                 stringify!(mOverflowClipBoxInline)
34996             )
34997         );
34998         assert_eq!(
34999             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mResize as *const _ as usize },
35000             23usize,
35001             concat!(
35002                 "Offset of field: ",
35003                 stringify!(nsStyleDisplay),
35004                 "::",
35005                 stringify!(mResize)
35006             )
35007         );
35008         assert_eq!(
35009             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mOrient as *const _ as usize },
35010             24usize,
35011             concat!(
35012                 "Offset of field: ",
35013                 stringify!(nsStyleDisplay),
35014                 "::",
35015                 stringify!(mOrient)
35016             )
35017         );
35018         assert_eq!(
35019             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mIsolation as *const _ as usize },
35020             25usize,
35021             concat!(
35022                 "Offset of field: ",
35023                 stringify!(nsStyleDisplay),
35024                 "::",
35025                 stringify!(mIsolation)
35026             )
35027         );
35028         assert_eq!(
35029             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mTopLayer as *const _ as usize },
35030             26usize,
35031             concat!(
35032                 "Offset of field: ",
35033                 stringify!(nsStyleDisplay),
35034                 "::",
35035                 stringify!(mTopLayer)
35036             )
35037         );
35038         assert_eq!(
35039             unsafe {
35040                 &(*(::std::ptr::null::<nsStyleDisplay>())).mWillChangeBitField as *const _ as usize
35041             },
35042             27usize,
35043             concat!(
35044                 "Offset of field: ",
35045                 stringify!(nsStyleDisplay),
35046                 "::",
35047                 stringify!(mWillChangeBitField)
35048             )
35049         );
35050         assert_eq!(
35051             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mWillChange as *const _ as usize },
35052             32usize,
35053             concat!(
35054                 "Offset of field: ",
35055                 stringify!(nsStyleDisplay),
35056                 "::",
35057                 stringify!(mWillChange)
35058             )
35059         );
35060         assert_eq!(
35061             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mTouchAction as *const _ as usize },
35062             40usize,
35063             concat!(
35064                 "Offset of field: ",
35065                 stringify!(nsStyleDisplay),
35066                 "::",
35067                 stringify!(mTouchAction)
35068             )
35069         );
35070         assert_eq!(
35071             unsafe {
35072                 &(*(::std::ptr::null::<nsStyleDisplay>())).mScrollBehavior as *const _ as usize
35073             },
35074             41usize,
35075             concat!(
35076                 "Offset of field: ",
35077                 stringify!(nsStyleDisplay),
35078                 "::",
35079                 stringify!(mScrollBehavior)
35080             )
35081         );
35082         assert_eq!(
35083             unsafe {
35084                 &(*(::std::ptr::null::<nsStyleDisplay>())).mOverscrollBehaviorX as *const _ as usize
35085             },
35086             42usize,
35087             concat!(
35088                 "Offset of field: ",
35089                 stringify!(nsStyleDisplay),
35090                 "::",
35091                 stringify!(mOverscrollBehaviorX)
35092             )
35093         );
35094         assert_eq!(
35095             unsafe {
35096                 &(*(::std::ptr::null::<nsStyleDisplay>())).mOverscrollBehaviorY as *const _ as usize
35097             },
35098             43usize,
35099             concat!(
35100                 "Offset of field: ",
35101                 stringify!(nsStyleDisplay),
35102                 "::",
35103                 stringify!(mOverscrollBehaviorY)
35104             )
35105         );
35106         assert_eq!(
35107             unsafe {
35108                 &(*(::std::ptr::null::<nsStyleDisplay>())).mScrollSnapTypeX as *const _ as usize
35109             },
35110             44usize,
35111             concat!(
35112                 "Offset of field: ",
35113                 stringify!(nsStyleDisplay),
35114                 "::",
35115                 stringify!(mScrollSnapTypeX)
35116             )
35117         );
35118         assert_eq!(
35119             unsafe {
35120                 &(*(::std::ptr::null::<nsStyleDisplay>())).mScrollSnapTypeY as *const _ as usize
35121             },
35122             45usize,
35123             concat!(
35124                 "Offset of field: ",
35125                 stringify!(nsStyleDisplay),
35126                 "::",
35127                 stringify!(mScrollSnapTypeY)
35128             )
35129         );
35130         assert_eq!(
35131             unsafe {
35132                 &(*(::std::ptr::null::<nsStyleDisplay>())).mScrollSnapPointsX as *const _ as usize
35133             },
35134             48usize,
35135             concat!(
35136                 "Offset of field: ",
35137                 stringify!(nsStyleDisplay),
35138                 "::",
35139                 stringify!(mScrollSnapPointsX)
35140             )
35141         );
35142         assert_eq!(
35143             unsafe {
35144                 &(*(::std::ptr::null::<nsStyleDisplay>())).mScrollSnapPointsY as *const _ as usize
35145             },
35146             64usize,
35147             concat!(
35148                 "Offset of field: ",
35149                 stringify!(nsStyleDisplay),
35150                 "::",
35151                 stringify!(mScrollSnapPointsY)
35152             )
35153         );
35154         assert_eq!(
35155             unsafe {
35156                 &(*(::std::ptr::null::<nsStyleDisplay>())).mScrollSnapDestination as *const _
35157                     as usize
35158             },
35159             80usize,
35160             concat!(
35161                 "Offset of field: ",
35162                 stringify!(nsStyleDisplay),
35163                 "::",
35164                 stringify!(mScrollSnapDestination)
35165             )
35166         );
35167         assert_eq!(
35168             unsafe {
35169                 &(*(::std::ptr::null::<nsStyleDisplay>())).mScrollSnapCoordinate as *const _
35170                     as usize
35171             },
35172             104usize,
35173             concat!(
35174                 "Offset of field: ",
35175                 stringify!(nsStyleDisplay),
35176                 "::",
35177                 stringify!(mScrollSnapCoordinate)
35178             )
35179         );
35180         assert_eq!(
35181             unsafe {
35182                 &(*(::std::ptr::null::<nsStyleDisplay>())).mBackfaceVisibility as *const _ as usize
35183             },
35184             112usize,
35185             concat!(
35186                 "Offset of field: ",
35187                 stringify!(nsStyleDisplay),
35188                 "::",
35189                 stringify!(mBackfaceVisibility)
35190             )
35191         );
35192         assert_eq!(
35193             unsafe {
35194                 &(*(::std::ptr::null::<nsStyleDisplay>())).mTransformStyle as *const _ as usize
35195             },
35196             113usize,
35197             concat!(
35198                 "Offset of field: ",
35199                 stringify!(nsStyleDisplay),
35200                 "::",
35201                 stringify!(mTransformStyle)
35202             )
35203         );
35204         assert_eq!(
35205             unsafe {
35206                 &(*(::std::ptr::null::<nsStyleDisplay>())).mTransformBox as *const _ as usize
35207             },
35208             114usize,
35209             concat!(
35210                 "Offset of field: ",
35211                 stringify!(nsStyleDisplay),
35212                 "::",
35213                 stringify!(mTransformBox)
35214             )
35215         );
35216         assert_eq!(
35217             unsafe {
35218                 &(*(::std::ptr::null::<nsStyleDisplay>())).mSpecifiedTransform as *const _ as usize
35219             },
35220             120usize,
35221             concat!(
35222                 "Offset of field: ",
35223                 stringify!(nsStyleDisplay),
35224                 "::",
35225                 stringify!(mSpecifiedTransform)
35226             )
35227         );
35228         assert_eq!(
35229             unsafe {
35230                 &(*(::std::ptr::null::<nsStyleDisplay>())).mSpecifiedRotate as *const _ as usize
35231             },
35232             128usize,
35233             concat!(
35234                 "Offset of field: ",
35235                 stringify!(nsStyleDisplay),
35236                 "::",
35237                 stringify!(mSpecifiedRotate)
35238             )
35239         );
35240         assert_eq!(
35241             unsafe {
35242                 &(*(::std::ptr::null::<nsStyleDisplay>())).mSpecifiedTranslate as *const _ as usize
35243             },
35244             136usize,
35245             concat!(
35246                 "Offset of field: ",
35247                 stringify!(nsStyleDisplay),
35248                 "::",
35249                 stringify!(mSpecifiedTranslate)
35250             )
35251         );
35252         assert_eq!(
35253             unsafe {
35254                 &(*(::std::ptr::null::<nsStyleDisplay>())).mSpecifiedScale as *const _ as usize
35255             },
35256             144usize,
35257             concat!(
35258                 "Offset of field: ",
35259                 stringify!(nsStyleDisplay),
35260                 "::",
35261                 stringify!(mSpecifiedScale)
35262             )
35263         );
35264         assert_eq!(
35265             unsafe {
35266                 &(*(::std::ptr::null::<nsStyleDisplay>())).mCombinedTransform as *const _ as usize
35267             },
35268             152usize,
35269             concat!(
35270                 "Offset of field: ",
35271                 stringify!(nsStyleDisplay),
35272                 "::",
35273                 stringify!(mCombinedTransform)
35274             )
35275         );
35276         assert_eq!(
35277             unsafe {
35278                 &(*(::std::ptr::null::<nsStyleDisplay>())).mTransformOrigin as *const _ as usize
35279             },
35280             160usize,
35281             concat!(
35282                 "Offset of field: ",
35283                 stringify!(nsStyleDisplay),
35284                 "::",
35285                 stringify!(mTransformOrigin)
35286             )
35287         );
35288         assert_eq!(
35289             unsafe {
35290                 &(*(::std::ptr::null::<nsStyleDisplay>())).mChildPerspective as *const _ as usize
35291             },
35292             208usize,
35293             concat!(
35294                 "Offset of field: ",
35295                 stringify!(nsStyleDisplay),
35296                 "::",
35297                 stringify!(mChildPerspective)
35298             )
35299         );
35300         assert_eq!(
35301             unsafe {
35302                 &(*(::std::ptr::null::<nsStyleDisplay>())).mPerspectiveOrigin as *const _ as usize
35303             },
35304             224usize,
35305             concat!(
35306                 "Offset of field: ",
35307                 stringify!(nsStyleDisplay),
35308                 "::",
35309                 stringify!(mPerspectiveOrigin)
35310             )
35311         );
35312         assert_eq!(
35313             unsafe {
35314                 &(*(::std::ptr::null::<nsStyleDisplay>())).mVerticalAlign as *const _ as usize
35315             },
35316             256usize,
35317             concat!(
35318                 "Offset of field: ",
35319                 stringify!(nsStyleDisplay),
35320                 "::",
35321                 stringify!(mVerticalAlign)
35322             )
35323         );
35324         assert_eq!(
35325             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mTransitions as *const _ as usize },
35326             272usize,
35327             concat!(
35328                 "Offset of field: ",
35329                 stringify!(nsStyleDisplay),
35330                 "::",
35331                 stringify!(mTransitions)
35332             )
35333         );
35334         assert_eq!(
35335             unsafe {
35336                 &(*(::std::ptr::null::<nsStyleDisplay>())).mTransitionTimingFunctionCount
35337                     as *const _ as usize
35338             },
35339             320usize,
35340             concat!(
35341                 "Offset of field: ",
35342                 stringify!(nsStyleDisplay),
35343                 "::",
35344                 stringify!(mTransitionTimingFunctionCount)
35345             )
35346         );
35347         assert_eq!(
35348             unsafe {
35349                 &(*(::std::ptr::null::<nsStyleDisplay>())).mTransitionDurationCount as *const _
35350                     as usize
35351             },
35352             324usize,
35353             concat!(
35354                 "Offset of field: ",
35355                 stringify!(nsStyleDisplay),
35356                 "::",
35357                 stringify!(mTransitionDurationCount)
35358             )
35359         );
35360         assert_eq!(
35361             unsafe {
35362                 &(*(::std::ptr::null::<nsStyleDisplay>())).mTransitionDelayCount as *const _
35363                     as usize
35364             },
35365             328usize,
35366             concat!(
35367                 "Offset of field: ",
35368                 stringify!(nsStyleDisplay),
35369                 "::",
35370                 stringify!(mTransitionDelayCount)
35371             )
35372         );
35373         assert_eq!(
35374             unsafe {
35375                 &(*(::std::ptr::null::<nsStyleDisplay>())).mTransitionPropertyCount as *const _
35376                     as usize
35377             },
35378             332usize,
35379             concat!(
35380                 "Offset of field: ",
35381                 stringify!(nsStyleDisplay),
35382                 "::",
35383                 stringify!(mTransitionPropertyCount)
35384             )
35385         );
35386         assert_eq!(
35387             unsafe { &(*(::std::ptr::null::<nsStyleDisplay>())).mAnimations as *const _ as usize },
35388             336usize,
35389             concat!(
35390                 "Offset of field: ",
35391                 stringify!(nsStyleDisplay),
35392                 "::",
35393                 stringify!(mAnimations)
35394             )
35395         );
35396         assert_eq!(
35397             unsafe {
35398                 &(*(::std::ptr::null::<nsStyleDisplay>())).mAnimationTimingFunctionCount as *const _
35399                     as usize
35400             },
35401             392usize,
35402             concat!(
35403                 "Offset of field: ",
35404                 stringify!(nsStyleDisplay),
35405                 "::",
35406                 stringify!(mAnimationTimingFunctionCount)
35407             )
35408         );
35409         assert_eq!(
35410             unsafe {
35411                 &(*(::std::ptr::null::<nsStyleDisplay>())).mAnimationDurationCount as *const _
35412                     as usize
35413             },
35414             396usize,
35415             concat!(
35416                 "Offset of field: ",
35417                 stringify!(nsStyleDisplay),
35418                 "::",
35419                 stringify!(mAnimationDurationCount)
35420             )
35421         );
35422         assert_eq!(
35423             unsafe {
35424                 &(*(::std::ptr::null::<nsStyleDisplay>())).mAnimationDelayCount as *const _ as usize
35425             },
35426             400usize,
35427             concat!(
35428                 "Offset of field: ",
35429                 stringify!(nsStyleDisplay),
35430                 "::",
35431                 stringify!(mAnimationDelayCount)
35432             )
35433         );
35434         assert_eq!(
35435             unsafe {
35436                 &(*(::std::ptr::null::<nsStyleDisplay>())).mAnimationNameCount as *const _ as usize
35437             },
35438             404usize,
35439             concat!(
35440                 "Offset of field: ",
35441                 stringify!(nsStyleDisplay),
35442                 "::",
35443                 stringify!(mAnimationNameCount)
35444             )
35445         );
35446         assert_eq!(
35447             unsafe {
35448                 &(*(::std::ptr::null::<nsStyleDisplay>())).mAnimationDirectionCount as *const _
35449                     as usize
35450             },
35451             408usize,
35452             concat!(
35453                 "Offset of field: ",
35454                 stringify!(nsStyleDisplay),
35455                 "::",
35456                 stringify!(mAnimationDirectionCount)
35457             )
35458         );
35459         assert_eq!(
35460             unsafe {
35461                 &(*(::std::ptr::null::<nsStyleDisplay>())).mAnimationFillModeCount as *const _
35462                     as usize
35463             },
35464             412usize,
35465             concat!(
35466                 "Offset of field: ",
35467                 stringify!(nsStyleDisplay),
35468                 "::",
35469                 stringify!(mAnimationFillModeCount)
35470             )
35471         );
35472         assert_eq!(
35473             unsafe {
35474                 &(*(::std::ptr::null::<nsStyleDisplay>())).mAnimationPlayStateCount as *const _
35475                     as usize
35476             },
35477             416usize,
35478             concat!(
35479                 "Offset of field: ",
35480                 stringify!(nsStyleDisplay),
35481                 "::",
35482                 stringify!(mAnimationPlayStateCount)
35483             )
35484         );
35485         assert_eq!(
35486             unsafe {
35487                 &(*(::std::ptr::null::<nsStyleDisplay>())).mAnimationIterationCountCount as *const _
35488                     as usize
35489             },
35490             420usize,
35491             concat!(
35492                 "Offset of field: ",
35493                 stringify!(nsStyleDisplay),
35494                 "::",
35495                 stringify!(mAnimationIterationCountCount)
35496             )
35497         );
35498         assert_eq!(
35499             unsafe {
35500                 &(*(::std::ptr::null::<nsStyleDisplay>())).mShapeImageThreshold as *const _ as usize
35501             },
35502             424usize,
35503             concat!(
35504                 "Offset of field: ",
35505                 stringify!(nsStyleDisplay),
35506                 "::",
35507                 stringify!(mShapeImageThreshold)
35508             )
35509         );
35510         assert_eq!(
35511             unsafe {
35512                 &(*(::std::ptr::null::<nsStyleDisplay>())).mShapeOutside as *const _ as usize
35513             },
35514             432usize,
35515             concat!(
35516                 "Offset of field: ",
35517                 stringify!(nsStyleDisplay),
35518                 "::",
35519                 stringify!(mShapeOutside)
35520             )
35521         );
35522     }
35523     #[repr(C)]
35524     #[derive(Debug)]
35525     pub struct nsStyleTable {
35526         pub mLayoutStrategy: u8,
35527         pub mSpan: i32,
35528     }
35529     pub const nsStyleTable_kHasFinishStyle: bool = false;
35530     #[test]
bindgen_test_layout_nsStyleTable()35531     fn bindgen_test_layout_nsStyleTable() {
35532         assert_eq!(
35533             ::std::mem::size_of::<nsStyleTable>(),
35534             8usize,
35535             concat!("Size of: ", stringify!(nsStyleTable))
35536         );
35537         assert_eq!(
35538             ::std::mem::align_of::<nsStyleTable>(),
35539             4usize,
35540             concat!("Alignment of ", stringify!(nsStyleTable))
35541         );
35542         assert_eq!(
35543             unsafe {
35544                 &(*(::std::ptr::null::<nsStyleTable>())).mLayoutStrategy as *const _ as usize
35545             },
35546             0usize,
35547             concat!(
35548                 "Offset of field: ",
35549                 stringify!(nsStyleTable),
35550                 "::",
35551                 stringify!(mLayoutStrategy)
35552             )
35553         );
35554         assert_eq!(
35555             unsafe { &(*(::std::ptr::null::<nsStyleTable>())).mSpan as *const _ as usize },
35556             4usize,
35557             concat!(
35558                 "Offset of field: ",
35559                 stringify!(nsStyleTable),
35560                 "::",
35561                 stringify!(mSpan)
35562             )
35563         );
35564     }
35565     #[repr(C)]
35566     #[derive(Debug)]
35567     pub struct nsStyleTableBorder {
35568         pub mBorderSpacingCol: root::nscoord,
35569         pub mBorderSpacingRow: root::nscoord,
35570         pub mBorderCollapse: u8,
35571         pub mCaptionSide: u8,
35572         pub mEmptyCells: u8,
35573     }
35574     pub const nsStyleTableBorder_kHasFinishStyle: bool = false;
35575     #[test]
bindgen_test_layout_nsStyleTableBorder()35576     fn bindgen_test_layout_nsStyleTableBorder() {
35577         assert_eq!(
35578             ::std::mem::size_of::<nsStyleTableBorder>(),
35579             12usize,
35580             concat!("Size of: ", stringify!(nsStyleTableBorder))
35581         );
35582         assert_eq!(
35583             ::std::mem::align_of::<nsStyleTableBorder>(),
35584             4usize,
35585             concat!("Alignment of ", stringify!(nsStyleTableBorder))
35586         );
35587         assert_eq!(
35588             unsafe {
35589                 &(*(::std::ptr::null::<nsStyleTableBorder>())).mBorderSpacingCol as *const _
35590                     as usize
35591             },
35592             0usize,
35593             concat!(
35594                 "Offset of field: ",
35595                 stringify!(nsStyleTableBorder),
35596                 "::",
35597                 stringify!(mBorderSpacingCol)
35598             )
35599         );
35600         assert_eq!(
35601             unsafe {
35602                 &(*(::std::ptr::null::<nsStyleTableBorder>())).mBorderSpacingRow as *const _
35603                     as usize
35604             },
35605             4usize,
35606             concat!(
35607                 "Offset of field: ",
35608                 stringify!(nsStyleTableBorder),
35609                 "::",
35610                 stringify!(mBorderSpacingRow)
35611             )
35612         );
35613         assert_eq!(
35614             unsafe {
35615                 &(*(::std::ptr::null::<nsStyleTableBorder>())).mBorderCollapse as *const _ as usize
35616             },
35617             8usize,
35618             concat!(
35619                 "Offset of field: ",
35620                 stringify!(nsStyleTableBorder),
35621                 "::",
35622                 stringify!(mBorderCollapse)
35623             )
35624         );
35625         assert_eq!(
35626             unsafe {
35627                 &(*(::std::ptr::null::<nsStyleTableBorder>())).mCaptionSide as *const _ as usize
35628             },
35629             9usize,
35630             concat!(
35631                 "Offset of field: ",
35632                 stringify!(nsStyleTableBorder),
35633                 "::",
35634                 stringify!(mCaptionSide)
35635             )
35636         );
35637         assert_eq!(
35638             unsafe {
35639                 &(*(::std::ptr::null::<nsStyleTableBorder>())).mEmptyCells as *const _ as usize
35640             },
35641             10usize,
35642             concat!(
35643                 "Offset of field: ",
35644                 stringify!(nsStyleTableBorder),
35645                 "::",
35646                 stringify!(mEmptyCells)
35647             )
35648         );
35649     }
35650     #[repr(u32)]
35651     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
35652     pub enum nsStyleContentType {
35653         eStyleContentType_String = 1,
35654         eStyleContentType_Image = 10,
35655         eStyleContentType_Attr = 20,
35656         eStyleContentType_Counter = 30,
35657         eStyleContentType_Counters = 31,
35658         eStyleContentType_OpenQuote = 40,
35659         eStyleContentType_CloseQuote = 41,
35660         eStyleContentType_NoOpenQuote = 42,
35661         eStyleContentType_NoCloseQuote = 43,
35662         eStyleContentType_AltContent = 50,
35663         eStyleContentType_Uninitialized = 51,
35664     }
35665     #[repr(C)]
35666     #[derive(Debug)]
35667     pub struct nsStyleContentData {
35668         pub mType: root::nsStyleContentType,
35669         pub mContent: root::nsStyleContentData__bindgen_ty_1,
35670     }
35671     #[repr(C)]
35672     pub struct nsStyleContentData_CounterFunction {
35673         pub mIdent: ::nsstring::nsStringRepr,
35674         pub mSeparator: ::nsstring::nsStringRepr,
35675         pub mCounterStyle: root::mozilla::CounterStylePtr,
35676         pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
35677     }
35678     pub type nsStyleContentData_CounterFunction_HasThreadSafeRefCnt = root::mozilla::TrueType;
35679     #[test]
bindgen_test_layout_nsStyleContentData_CounterFunction()35680     fn bindgen_test_layout_nsStyleContentData_CounterFunction() {
35681         assert_eq!(
35682             ::std::mem::size_of::<nsStyleContentData_CounterFunction>(),
35683             48usize,
35684             concat!("Size of: ", stringify!(nsStyleContentData_CounterFunction))
35685         );
35686         assert_eq!(
35687             ::std::mem::align_of::<nsStyleContentData_CounterFunction>(),
35688             8usize,
35689             concat!(
35690                 "Alignment of ",
35691                 stringify!(nsStyleContentData_CounterFunction)
35692             )
35693         );
35694         assert_eq!(
35695             unsafe {
35696                 &(*(::std::ptr::null::<nsStyleContentData_CounterFunction>())).mIdent as *const _
35697                     as usize
35698             },
35699             0usize,
35700             concat!(
35701                 "Offset of field: ",
35702                 stringify!(nsStyleContentData_CounterFunction),
35703                 "::",
35704                 stringify!(mIdent)
35705             )
35706         );
35707         assert_eq!(
35708             unsafe {
35709                 &(*(::std::ptr::null::<nsStyleContentData_CounterFunction>())).mSeparator
35710                     as *const _ as usize
35711             },
35712             16usize,
35713             concat!(
35714                 "Offset of field: ",
35715                 stringify!(nsStyleContentData_CounterFunction),
35716                 "::",
35717                 stringify!(mSeparator)
35718             )
35719         );
35720         assert_eq!(
35721             unsafe {
35722                 &(*(::std::ptr::null::<nsStyleContentData_CounterFunction>())).mCounterStyle
35723                     as *const _ as usize
35724             },
35725             32usize,
35726             concat!(
35727                 "Offset of field: ",
35728                 stringify!(nsStyleContentData_CounterFunction),
35729                 "::",
35730                 stringify!(mCounterStyle)
35731             )
35732         );
35733         assert_eq!(
35734             unsafe {
35735                 &(*(::std::ptr::null::<nsStyleContentData_CounterFunction>())).mRefCnt as *const _
35736                     as usize
35737             },
35738             40usize,
35739             concat!(
35740                 "Offset of field: ",
35741                 stringify!(nsStyleContentData_CounterFunction),
35742                 "::",
35743                 stringify!(mRefCnt)
35744             )
35745         );
35746     }
35747     #[repr(C)]
35748     #[derive(Debug, Copy)]
35749     pub struct nsStyleContentData__bindgen_ty_1 {
35750         pub mString: root::__BindgenUnionField<*mut u16>,
35751         pub mImage: root::__BindgenUnionField<*mut root::nsStyleImageRequest>,
35752         pub mCounters: root::__BindgenUnionField<*mut root::nsStyleContentData_CounterFunction>,
35753         pub bindgen_union_field: u64,
35754     }
35755     #[test]
bindgen_test_layout_nsStyleContentData__bindgen_ty_1()35756     fn bindgen_test_layout_nsStyleContentData__bindgen_ty_1() {
35757         assert_eq!(
35758             ::std::mem::size_of::<nsStyleContentData__bindgen_ty_1>(),
35759             8usize,
35760             concat!("Size of: ", stringify!(nsStyleContentData__bindgen_ty_1))
35761         );
35762         assert_eq!(
35763             ::std::mem::align_of::<nsStyleContentData__bindgen_ty_1>(),
35764             8usize,
35765             concat!(
35766                 "Alignment of ",
35767                 stringify!(nsStyleContentData__bindgen_ty_1)
35768             )
35769         );
35770         assert_eq!(
35771             unsafe {
35772                 &(*(::std::ptr::null::<nsStyleContentData__bindgen_ty_1>())).mString as *const _
35773                     as usize
35774             },
35775             0usize,
35776             concat!(
35777                 "Offset of field: ",
35778                 stringify!(nsStyleContentData__bindgen_ty_1),
35779                 "::",
35780                 stringify!(mString)
35781             )
35782         );
35783         assert_eq!(
35784             unsafe {
35785                 &(*(::std::ptr::null::<nsStyleContentData__bindgen_ty_1>())).mImage as *const _
35786                     as usize
35787             },
35788             0usize,
35789             concat!(
35790                 "Offset of field: ",
35791                 stringify!(nsStyleContentData__bindgen_ty_1),
35792                 "::",
35793                 stringify!(mImage)
35794             )
35795         );
35796         assert_eq!(
35797             unsafe {
35798                 &(*(::std::ptr::null::<nsStyleContentData__bindgen_ty_1>())).mCounters as *const _
35799                     as usize
35800             },
35801             0usize,
35802             concat!(
35803                 "Offset of field: ",
35804                 stringify!(nsStyleContentData__bindgen_ty_1),
35805                 "::",
35806                 stringify!(mCounters)
35807             )
35808         );
35809     }
35810     impl Clone for nsStyleContentData__bindgen_ty_1 {
clone(&self) -> Self35811         fn clone(&self) -> Self {
35812             *self
35813         }
35814     }
35815     #[test]
bindgen_test_layout_nsStyleContentData()35816     fn bindgen_test_layout_nsStyleContentData() {
35817         assert_eq!(
35818             ::std::mem::size_of::<nsStyleContentData>(),
35819             16usize,
35820             concat!("Size of: ", stringify!(nsStyleContentData))
35821         );
35822         assert_eq!(
35823             ::std::mem::align_of::<nsStyleContentData>(),
35824             8usize,
35825             concat!("Alignment of ", stringify!(nsStyleContentData))
35826         );
35827         assert_eq!(
35828             unsafe { &(*(::std::ptr::null::<nsStyleContentData>())).mType as *const _ as usize },
35829             0usize,
35830             concat!(
35831                 "Offset of field: ",
35832                 stringify!(nsStyleContentData),
35833                 "::",
35834                 stringify!(mType)
35835             )
35836         );
35837         assert_eq!(
35838             unsafe { &(*(::std::ptr::null::<nsStyleContentData>())).mContent as *const _ as usize },
35839             8usize,
35840             concat!(
35841                 "Offset of field: ",
35842                 stringify!(nsStyleContentData),
35843                 "::",
35844                 stringify!(mContent)
35845             )
35846         );
35847     }
35848     #[repr(C)]
35849     pub struct nsStyleCounterData {
35850         pub mCounter: ::nsstring::nsStringRepr,
35851         pub mValue: i32,
35852     }
35853     #[test]
bindgen_test_layout_nsStyleCounterData()35854     fn bindgen_test_layout_nsStyleCounterData() {
35855         assert_eq!(
35856             ::std::mem::size_of::<nsStyleCounterData>(),
35857             24usize,
35858             concat!("Size of: ", stringify!(nsStyleCounterData))
35859         );
35860         assert_eq!(
35861             ::std::mem::align_of::<nsStyleCounterData>(),
35862             8usize,
35863             concat!("Alignment of ", stringify!(nsStyleCounterData))
35864         );
35865         assert_eq!(
35866             unsafe { &(*(::std::ptr::null::<nsStyleCounterData>())).mCounter as *const _ as usize },
35867             0usize,
35868             concat!(
35869                 "Offset of field: ",
35870                 stringify!(nsStyleCounterData),
35871                 "::",
35872                 stringify!(mCounter)
35873             )
35874         );
35875         assert_eq!(
35876             unsafe { &(*(::std::ptr::null::<nsStyleCounterData>())).mValue as *const _ as usize },
35877             16usize,
35878             concat!(
35879                 "Offset of field: ",
35880                 stringify!(nsStyleCounterData),
35881                 "::",
35882                 stringify!(mValue)
35883             )
35884         );
35885     }
35886     #[repr(C)]
35887     pub struct nsStyleContent {
35888         pub mContents: root::nsTArray<root::nsStyleContentData>,
35889         pub mIncrements: root::nsTArray<root::nsStyleCounterData>,
35890         pub mResets: root::nsTArray<root::nsStyleCounterData>,
35891     }
35892     pub const nsStyleContent_kHasFinishStyle: bool = true;
35893     #[test]
bindgen_test_layout_nsStyleContent()35894     fn bindgen_test_layout_nsStyleContent() {
35895         assert_eq!(
35896             ::std::mem::size_of::<nsStyleContent>(),
35897             24usize,
35898             concat!("Size of: ", stringify!(nsStyleContent))
35899         );
35900         assert_eq!(
35901             ::std::mem::align_of::<nsStyleContent>(),
35902             8usize,
35903             concat!("Alignment of ", stringify!(nsStyleContent))
35904         );
35905         assert_eq!(
35906             unsafe { &(*(::std::ptr::null::<nsStyleContent>())).mContents as *const _ as usize },
35907             0usize,
35908             concat!(
35909                 "Offset of field: ",
35910                 stringify!(nsStyleContent),
35911                 "::",
35912                 stringify!(mContents)
35913             )
35914         );
35915         assert_eq!(
35916             unsafe { &(*(::std::ptr::null::<nsStyleContent>())).mIncrements as *const _ as usize },
35917             8usize,
35918             concat!(
35919                 "Offset of field: ",
35920                 stringify!(nsStyleContent),
35921                 "::",
35922                 stringify!(mIncrements)
35923             )
35924         );
35925         assert_eq!(
35926             unsafe { &(*(::std::ptr::null::<nsStyleContent>())).mResets as *const _ as usize },
35927             16usize,
35928             concat!(
35929                 "Offset of field: ",
35930                 stringify!(nsStyleContent),
35931                 "::",
35932                 stringify!(mResets)
35933             )
35934         );
35935     }
35936     #[repr(C)]
35937     #[derive(Debug)]
35938     pub struct nsStyleUIReset {
35939         pub mUserSelect: root::mozilla::StyleUserSelect,
35940         pub mForceBrokenImageIcon: u8,
35941         pub mIMEMode: u8,
35942         pub mWindowDragging: root::mozilla::StyleWindowDragging,
35943         pub mWindowShadow: u8,
35944         pub mWindowOpacity: f32,
35945         pub mSpecifiedWindowTransform: root::RefPtr<root::nsCSSValueSharedList>,
35946         pub mWindowTransformOrigin: [root::nsStyleCoord; 2usize],
35947     }
35948     pub const nsStyleUIReset_kHasFinishStyle: bool = false;
35949     #[test]
bindgen_test_layout_nsStyleUIReset()35950     fn bindgen_test_layout_nsStyleUIReset() {
35951         assert_eq!(
35952             ::std::mem::size_of::<nsStyleUIReset>(),
35953             56usize,
35954             concat!("Size of: ", stringify!(nsStyleUIReset))
35955         );
35956         assert_eq!(
35957             ::std::mem::align_of::<nsStyleUIReset>(),
35958             8usize,
35959             concat!("Alignment of ", stringify!(nsStyleUIReset))
35960         );
35961         assert_eq!(
35962             unsafe { &(*(::std::ptr::null::<nsStyleUIReset>())).mUserSelect as *const _ as usize },
35963             0usize,
35964             concat!(
35965                 "Offset of field: ",
35966                 stringify!(nsStyleUIReset),
35967                 "::",
35968                 stringify!(mUserSelect)
35969             )
35970         );
35971         assert_eq!(
35972             unsafe {
35973                 &(*(::std::ptr::null::<nsStyleUIReset>())).mForceBrokenImageIcon as *const _
35974                     as usize
35975             },
35976             1usize,
35977             concat!(
35978                 "Offset of field: ",
35979                 stringify!(nsStyleUIReset),
35980                 "::",
35981                 stringify!(mForceBrokenImageIcon)
35982             )
35983         );
35984         assert_eq!(
35985             unsafe { &(*(::std::ptr::null::<nsStyleUIReset>())).mIMEMode as *const _ as usize },
35986             2usize,
35987             concat!(
35988                 "Offset of field: ",
35989                 stringify!(nsStyleUIReset),
35990                 "::",
35991                 stringify!(mIMEMode)
35992             )
35993         );
35994         assert_eq!(
35995             unsafe {
35996                 &(*(::std::ptr::null::<nsStyleUIReset>())).mWindowDragging as *const _ as usize
35997             },
35998             3usize,
35999             concat!(
36000                 "Offset of field: ",
36001                 stringify!(nsStyleUIReset),
36002                 "::",
36003                 stringify!(mWindowDragging)
36004             )
36005         );
36006         assert_eq!(
36007             unsafe {
36008                 &(*(::std::ptr::null::<nsStyleUIReset>())).mWindowShadow as *const _ as usize
36009             },
36010             4usize,
36011             concat!(
36012                 "Offset of field: ",
36013                 stringify!(nsStyleUIReset),
36014                 "::",
36015                 stringify!(mWindowShadow)
36016             )
36017         );
36018         assert_eq!(
36019             unsafe {
36020                 &(*(::std::ptr::null::<nsStyleUIReset>())).mWindowOpacity as *const _ as usize
36021             },
36022             8usize,
36023             concat!(
36024                 "Offset of field: ",
36025                 stringify!(nsStyleUIReset),
36026                 "::",
36027                 stringify!(mWindowOpacity)
36028             )
36029         );
36030         assert_eq!(
36031             unsafe {
36032                 &(*(::std::ptr::null::<nsStyleUIReset>())).mSpecifiedWindowTransform as *const _
36033                     as usize
36034             },
36035             16usize,
36036             concat!(
36037                 "Offset of field: ",
36038                 stringify!(nsStyleUIReset),
36039                 "::",
36040                 stringify!(mSpecifiedWindowTransform)
36041             )
36042         );
36043         assert_eq!(
36044             unsafe {
36045                 &(*(::std::ptr::null::<nsStyleUIReset>())).mWindowTransformOrigin as *const _
36046                     as usize
36047             },
36048             24usize,
36049             concat!(
36050                 "Offset of field: ",
36051                 stringify!(nsStyleUIReset),
36052                 "::",
36053                 stringify!(mWindowTransformOrigin)
36054             )
36055         );
36056     }
36057     #[repr(C)]
36058     #[derive(Debug)]
36059     pub struct nsCursorImage {
36060         pub mHaveHotspot: bool,
36061         pub mHotspotX: f32,
36062         pub mHotspotY: f32,
36063         pub mImage: root::RefPtr<root::nsStyleImageRequest>,
36064     }
36065     #[test]
bindgen_test_layout_nsCursorImage()36066     fn bindgen_test_layout_nsCursorImage() {
36067         assert_eq!(
36068             ::std::mem::size_of::<nsCursorImage>(),
36069             24usize,
36070             concat!("Size of: ", stringify!(nsCursorImage))
36071         );
36072         assert_eq!(
36073             ::std::mem::align_of::<nsCursorImage>(),
36074             8usize,
36075             concat!("Alignment of ", stringify!(nsCursorImage))
36076         );
36077         assert_eq!(
36078             unsafe { &(*(::std::ptr::null::<nsCursorImage>())).mHaveHotspot as *const _ as usize },
36079             0usize,
36080             concat!(
36081                 "Offset of field: ",
36082                 stringify!(nsCursorImage),
36083                 "::",
36084                 stringify!(mHaveHotspot)
36085             )
36086         );
36087         assert_eq!(
36088             unsafe { &(*(::std::ptr::null::<nsCursorImage>())).mHotspotX as *const _ as usize },
36089             4usize,
36090             concat!(
36091                 "Offset of field: ",
36092                 stringify!(nsCursorImage),
36093                 "::",
36094                 stringify!(mHotspotX)
36095             )
36096         );
36097         assert_eq!(
36098             unsafe { &(*(::std::ptr::null::<nsCursorImage>())).mHotspotY as *const _ as usize },
36099             8usize,
36100             concat!(
36101                 "Offset of field: ",
36102                 stringify!(nsCursorImage),
36103                 "::",
36104                 stringify!(mHotspotY)
36105             )
36106         );
36107         assert_eq!(
36108             unsafe { &(*(::std::ptr::null::<nsCursorImage>())).mImage as *const _ as usize },
36109             16usize,
36110             concat!(
36111                 "Offset of field: ",
36112                 stringify!(nsCursorImage),
36113                 "::",
36114                 stringify!(mImage)
36115             )
36116         );
36117     }
36118     #[repr(C)]
36119     #[derive(Debug)]
36120     pub struct nsStyleUserInterface {
36121         pub mUserInput: root::mozilla::StyleUserInput,
36122         pub mUserModify: root::mozilla::StyleUserModify,
36123         pub mUserFocus: root::mozilla::StyleUserFocus,
36124         pub mPointerEvents: u8,
36125         pub mCursor: u8,
36126         pub mCursorImages: root::nsTArray<root::nsCursorImage>,
36127         pub mCaretColor: root::mozilla::StyleComplexColor,
36128     }
36129     pub const nsStyleUserInterface_kHasFinishStyle: bool = true;
36130     #[test]
bindgen_test_layout_nsStyleUserInterface()36131     fn bindgen_test_layout_nsStyleUserInterface() {
36132         assert_eq!(
36133             ::std::mem::size_of::<nsStyleUserInterface>(),
36134             24usize,
36135             concat!("Size of: ", stringify!(nsStyleUserInterface))
36136         );
36137         assert_eq!(
36138             ::std::mem::align_of::<nsStyleUserInterface>(),
36139             8usize,
36140             concat!("Alignment of ", stringify!(nsStyleUserInterface))
36141         );
36142         assert_eq!(
36143             unsafe {
36144                 &(*(::std::ptr::null::<nsStyleUserInterface>())).mUserInput as *const _ as usize
36145             },
36146             0usize,
36147             concat!(
36148                 "Offset of field: ",
36149                 stringify!(nsStyleUserInterface),
36150                 "::",
36151                 stringify!(mUserInput)
36152             )
36153         );
36154         assert_eq!(
36155             unsafe {
36156                 &(*(::std::ptr::null::<nsStyleUserInterface>())).mUserModify as *const _ as usize
36157             },
36158             1usize,
36159             concat!(
36160                 "Offset of field: ",
36161                 stringify!(nsStyleUserInterface),
36162                 "::",
36163                 stringify!(mUserModify)
36164             )
36165         );
36166         assert_eq!(
36167             unsafe {
36168                 &(*(::std::ptr::null::<nsStyleUserInterface>())).mUserFocus as *const _ as usize
36169             },
36170             2usize,
36171             concat!(
36172                 "Offset of field: ",
36173                 stringify!(nsStyleUserInterface),
36174                 "::",
36175                 stringify!(mUserFocus)
36176             )
36177         );
36178         assert_eq!(
36179             unsafe {
36180                 &(*(::std::ptr::null::<nsStyleUserInterface>())).mPointerEvents as *const _ as usize
36181             },
36182             3usize,
36183             concat!(
36184                 "Offset of field: ",
36185                 stringify!(nsStyleUserInterface),
36186                 "::",
36187                 stringify!(mPointerEvents)
36188             )
36189         );
36190         assert_eq!(
36191             unsafe {
36192                 &(*(::std::ptr::null::<nsStyleUserInterface>())).mCursor as *const _ as usize
36193             },
36194             4usize,
36195             concat!(
36196                 "Offset of field: ",
36197                 stringify!(nsStyleUserInterface),
36198                 "::",
36199                 stringify!(mCursor)
36200             )
36201         );
36202         assert_eq!(
36203             unsafe {
36204                 &(*(::std::ptr::null::<nsStyleUserInterface>())).mCursorImages as *const _ as usize
36205             },
36206             8usize,
36207             concat!(
36208                 "Offset of field: ",
36209                 stringify!(nsStyleUserInterface),
36210                 "::",
36211                 stringify!(mCursorImages)
36212             )
36213         );
36214         assert_eq!(
36215             unsafe {
36216                 &(*(::std::ptr::null::<nsStyleUserInterface>())).mCaretColor as *const _ as usize
36217             },
36218             16usize,
36219             concat!(
36220                 "Offset of field: ",
36221                 stringify!(nsStyleUserInterface),
36222                 "::",
36223                 stringify!(mCaretColor)
36224             )
36225         );
36226     }
36227     #[repr(C)]
36228     #[derive(Debug)]
36229     pub struct nsStyleXUL {
36230         pub mBoxFlex: f32,
36231         pub mBoxOrdinal: u32,
36232         pub mBoxAlign: root::mozilla::StyleBoxAlign,
36233         pub mBoxDirection: root::mozilla::StyleBoxDirection,
36234         pub mBoxOrient: root::mozilla::StyleBoxOrient,
36235         pub mBoxPack: root::mozilla::StyleBoxPack,
36236         pub mStackSizing: root::mozilla::StyleStackSizing,
36237     }
36238     pub const nsStyleXUL_kHasFinishStyle: bool = false;
36239     #[test]
bindgen_test_layout_nsStyleXUL()36240     fn bindgen_test_layout_nsStyleXUL() {
36241         assert_eq!(
36242             ::std::mem::size_of::<nsStyleXUL>(),
36243             16usize,
36244             concat!("Size of: ", stringify!(nsStyleXUL))
36245         );
36246         assert_eq!(
36247             ::std::mem::align_of::<nsStyleXUL>(),
36248             4usize,
36249             concat!("Alignment of ", stringify!(nsStyleXUL))
36250         );
36251         assert_eq!(
36252             unsafe { &(*(::std::ptr::null::<nsStyleXUL>())).mBoxFlex as *const _ as usize },
36253             0usize,
36254             concat!(
36255                 "Offset of field: ",
36256                 stringify!(nsStyleXUL),
36257                 "::",
36258                 stringify!(mBoxFlex)
36259             )
36260         );
36261         assert_eq!(
36262             unsafe { &(*(::std::ptr::null::<nsStyleXUL>())).mBoxOrdinal as *const _ as usize },
36263             4usize,
36264             concat!(
36265                 "Offset of field: ",
36266                 stringify!(nsStyleXUL),
36267                 "::",
36268                 stringify!(mBoxOrdinal)
36269             )
36270         );
36271         assert_eq!(
36272             unsafe { &(*(::std::ptr::null::<nsStyleXUL>())).mBoxAlign as *const _ as usize },
36273             8usize,
36274             concat!(
36275                 "Offset of field: ",
36276                 stringify!(nsStyleXUL),
36277                 "::",
36278                 stringify!(mBoxAlign)
36279             )
36280         );
36281         assert_eq!(
36282             unsafe { &(*(::std::ptr::null::<nsStyleXUL>())).mBoxDirection as *const _ as usize },
36283             9usize,
36284             concat!(
36285                 "Offset of field: ",
36286                 stringify!(nsStyleXUL),
36287                 "::",
36288                 stringify!(mBoxDirection)
36289             )
36290         );
36291         assert_eq!(
36292             unsafe { &(*(::std::ptr::null::<nsStyleXUL>())).mBoxOrient as *const _ as usize },
36293             10usize,
36294             concat!(
36295                 "Offset of field: ",
36296                 stringify!(nsStyleXUL),
36297                 "::",
36298                 stringify!(mBoxOrient)
36299             )
36300         );
36301         assert_eq!(
36302             unsafe { &(*(::std::ptr::null::<nsStyleXUL>())).mBoxPack as *const _ as usize },
36303             11usize,
36304             concat!(
36305                 "Offset of field: ",
36306                 stringify!(nsStyleXUL),
36307                 "::",
36308                 stringify!(mBoxPack)
36309             )
36310         );
36311         assert_eq!(
36312             unsafe { &(*(::std::ptr::null::<nsStyleXUL>())).mStackSizing as *const _ as usize },
36313             12usize,
36314             concat!(
36315                 "Offset of field: ",
36316                 stringify!(nsStyleXUL),
36317                 "::",
36318                 stringify!(mStackSizing)
36319             )
36320         );
36321     }
36322     #[repr(C)]
36323     #[derive(Debug)]
36324     pub struct nsStyleColumn {
36325         pub mColumnCount: u32,
36326         pub mColumnWidth: root::nsStyleCoord,
36327         pub mColumnGap: root::nsStyleCoord,
36328         pub mColumnRuleColor: root::mozilla::StyleComplexColor,
36329         pub mColumnRuleStyle: u8,
36330         pub mColumnFill: u8,
36331         pub mColumnSpan: u8,
36332         pub mColumnRuleWidth: root::nscoord,
36333         pub mTwipsPerPixel: root::nscoord,
36334     }
36335     pub const nsStyleColumn_kHasFinishStyle: bool = false;
36336     pub const nsStyleColumn_kMaxColumnCount: u32 = 1000;
36337     #[test]
bindgen_test_layout_nsStyleColumn()36338     fn bindgen_test_layout_nsStyleColumn() {
36339         assert_eq!(
36340             ::std::mem::size_of::<nsStyleColumn>(),
36341             64usize,
36342             concat!("Size of: ", stringify!(nsStyleColumn))
36343         );
36344         assert_eq!(
36345             ::std::mem::align_of::<nsStyleColumn>(),
36346             8usize,
36347             concat!("Alignment of ", stringify!(nsStyleColumn))
36348         );
36349         assert_eq!(
36350             unsafe { &(*(::std::ptr::null::<nsStyleColumn>())).mColumnCount as *const _ as usize },
36351             0usize,
36352             concat!(
36353                 "Offset of field: ",
36354                 stringify!(nsStyleColumn),
36355                 "::",
36356                 stringify!(mColumnCount)
36357             )
36358         );
36359         assert_eq!(
36360             unsafe { &(*(::std::ptr::null::<nsStyleColumn>())).mColumnWidth as *const _ as usize },
36361             8usize,
36362             concat!(
36363                 "Offset of field: ",
36364                 stringify!(nsStyleColumn),
36365                 "::",
36366                 stringify!(mColumnWidth)
36367             )
36368         );
36369         assert_eq!(
36370             unsafe { &(*(::std::ptr::null::<nsStyleColumn>())).mColumnGap as *const _ as usize },
36371             24usize,
36372             concat!(
36373                 "Offset of field: ",
36374                 stringify!(nsStyleColumn),
36375                 "::",
36376                 stringify!(mColumnGap)
36377             )
36378         );
36379         assert_eq!(
36380             unsafe {
36381                 &(*(::std::ptr::null::<nsStyleColumn>())).mColumnRuleColor as *const _ as usize
36382             },
36383             40usize,
36384             concat!(
36385                 "Offset of field: ",
36386                 stringify!(nsStyleColumn),
36387                 "::",
36388                 stringify!(mColumnRuleColor)
36389             )
36390         );
36391         assert_eq!(
36392             unsafe {
36393                 &(*(::std::ptr::null::<nsStyleColumn>())).mColumnRuleStyle as *const _ as usize
36394             },
36395             48usize,
36396             concat!(
36397                 "Offset of field: ",
36398                 stringify!(nsStyleColumn),
36399                 "::",
36400                 stringify!(mColumnRuleStyle)
36401             )
36402         );
36403         assert_eq!(
36404             unsafe { &(*(::std::ptr::null::<nsStyleColumn>())).mColumnFill as *const _ as usize },
36405             49usize,
36406             concat!(
36407                 "Offset of field: ",
36408                 stringify!(nsStyleColumn),
36409                 "::",
36410                 stringify!(mColumnFill)
36411             )
36412         );
36413         assert_eq!(
36414             unsafe { &(*(::std::ptr::null::<nsStyleColumn>())).mColumnSpan as *const _ as usize },
36415             50usize,
36416             concat!(
36417                 "Offset of field: ",
36418                 stringify!(nsStyleColumn),
36419                 "::",
36420                 stringify!(mColumnSpan)
36421             )
36422         );
36423         assert_eq!(
36424             unsafe {
36425                 &(*(::std::ptr::null::<nsStyleColumn>())).mColumnRuleWidth as *const _ as usize
36426             },
36427             52usize,
36428             concat!(
36429                 "Offset of field: ",
36430                 stringify!(nsStyleColumn),
36431                 "::",
36432                 stringify!(mColumnRuleWidth)
36433             )
36434         );
36435         assert_eq!(
36436             unsafe {
36437                 &(*(::std::ptr::null::<nsStyleColumn>())).mTwipsPerPixel as *const _ as usize
36438             },
36439             56usize,
36440             concat!(
36441                 "Offset of field: ",
36442                 stringify!(nsStyleColumn),
36443                 "::",
36444                 stringify!(mTwipsPerPixel)
36445             )
36446         );
36447     }
36448     #[repr(u8)]
36449     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
36450     pub enum nsStyleSVGPaintType {
36451         eStyleSVGPaintType_None = 1,
36452         eStyleSVGPaintType_Color = 2,
36453         eStyleSVGPaintType_Server = 3,
36454         eStyleSVGPaintType_ContextFill = 4,
36455         eStyleSVGPaintType_ContextStroke = 5,
36456     }
36457     #[repr(u8)]
36458     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
36459     pub enum nsStyleSVGFallbackType {
36460         eStyleSVGFallbackType_NotSet = 0,
36461         eStyleSVGFallbackType_None = 1,
36462         eStyleSVGFallbackType_Color = 2,
36463     }
36464     #[repr(u8)]
36465     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
36466     pub enum nsStyleSVGOpacitySource {
36467         eStyleSVGOpacitySource_Normal = 0,
36468         eStyleSVGOpacitySource_ContextFillOpacity = 1,
36469         eStyleSVGOpacitySource_ContextStrokeOpacity = 2,
36470     }
36471     #[repr(C)]
36472     #[derive(Debug)]
36473     pub struct nsStyleSVGPaint {
36474         pub mPaint: root::nsStyleSVGPaint__bindgen_ty_1,
36475         pub mType: root::nsStyleSVGPaintType,
36476         pub mFallbackType: root::nsStyleSVGFallbackType,
36477         pub mFallbackColor: root::nscolor,
36478     }
36479     #[repr(C)]
36480     #[derive(Debug, Copy)]
36481     pub struct nsStyleSVGPaint__bindgen_ty_1 {
36482         pub mColor: root::__BindgenUnionField<root::nscolor>,
36483         pub mPaintServer: root::__BindgenUnionField<*mut root::mozilla::css::URLValue>,
36484         pub bindgen_union_field: u64,
36485     }
36486     #[test]
bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_1()36487     fn bindgen_test_layout_nsStyleSVGPaint__bindgen_ty_1() {
36488         assert_eq!(
36489             ::std::mem::size_of::<nsStyleSVGPaint__bindgen_ty_1>(),
36490             8usize,
36491             concat!("Size of: ", stringify!(nsStyleSVGPaint__bindgen_ty_1))
36492         );
36493         assert_eq!(
36494             ::std::mem::align_of::<nsStyleSVGPaint__bindgen_ty_1>(),
36495             8usize,
36496             concat!("Alignment of ", stringify!(nsStyleSVGPaint__bindgen_ty_1))
36497         );
36498         assert_eq!(
36499             unsafe {
36500                 &(*(::std::ptr::null::<nsStyleSVGPaint__bindgen_ty_1>())).mColor as *const _
36501                     as usize
36502             },
36503             0usize,
36504             concat!(
36505                 "Offset of field: ",
36506                 stringify!(nsStyleSVGPaint__bindgen_ty_1),
36507                 "::",
36508                 stringify!(mColor)
36509             )
36510         );
36511         assert_eq!(
36512             unsafe {
36513                 &(*(::std::ptr::null::<nsStyleSVGPaint__bindgen_ty_1>())).mPaintServer as *const _
36514                     as usize
36515             },
36516             0usize,
36517             concat!(
36518                 "Offset of field: ",
36519                 stringify!(nsStyleSVGPaint__bindgen_ty_1),
36520                 "::",
36521                 stringify!(mPaintServer)
36522             )
36523         );
36524     }
36525     impl Clone for nsStyleSVGPaint__bindgen_ty_1 {
clone(&self) -> Self36526         fn clone(&self) -> Self {
36527             *self
36528         }
36529     }
36530     #[test]
bindgen_test_layout_nsStyleSVGPaint()36531     fn bindgen_test_layout_nsStyleSVGPaint() {
36532         assert_eq!(
36533             ::std::mem::size_of::<nsStyleSVGPaint>(),
36534             16usize,
36535             concat!("Size of: ", stringify!(nsStyleSVGPaint))
36536         );
36537         assert_eq!(
36538             ::std::mem::align_of::<nsStyleSVGPaint>(),
36539             8usize,
36540             concat!("Alignment of ", stringify!(nsStyleSVGPaint))
36541         );
36542         assert_eq!(
36543             unsafe { &(*(::std::ptr::null::<nsStyleSVGPaint>())).mPaint as *const _ as usize },
36544             0usize,
36545             concat!(
36546                 "Offset of field: ",
36547                 stringify!(nsStyleSVGPaint),
36548                 "::",
36549                 stringify!(mPaint)
36550             )
36551         );
36552         assert_eq!(
36553             unsafe { &(*(::std::ptr::null::<nsStyleSVGPaint>())).mType as *const _ as usize },
36554             8usize,
36555             concat!(
36556                 "Offset of field: ",
36557                 stringify!(nsStyleSVGPaint),
36558                 "::",
36559                 stringify!(mType)
36560             )
36561         );
36562         assert_eq!(
36563             unsafe {
36564                 &(*(::std::ptr::null::<nsStyleSVGPaint>())).mFallbackType as *const _ as usize
36565             },
36566             9usize,
36567             concat!(
36568                 "Offset of field: ",
36569                 stringify!(nsStyleSVGPaint),
36570                 "::",
36571                 stringify!(mFallbackType)
36572             )
36573         );
36574         assert_eq!(
36575             unsafe {
36576                 &(*(::std::ptr::null::<nsStyleSVGPaint>())).mFallbackColor as *const _ as usize
36577             },
36578             12usize,
36579             concat!(
36580                 "Offset of field: ",
36581                 stringify!(nsStyleSVGPaint),
36582                 "::",
36583                 stringify!(mFallbackColor)
36584             )
36585         );
36586     }
36587     #[repr(C)]
36588     #[derive(Debug)]
36589     pub struct nsStyleSVG {
36590         pub mFill: root::nsStyleSVGPaint,
36591         pub mStroke: root::nsStyleSVGPaint,
36592         pub mMarkerEnd: root::RefPtr<root::mozilla::css::URLValue>,
36593         pub mMarkerMid: root::RefPtr<root::mozilla::css::URLValue>,
36594         pub mMarkerStart: root::RefPtr<root::mozilla::css::URLValue>,
36595         pub mStrokeDasharray: root::nsTArray<root::nsStyleCoord>,
36596         pub mContextProps: root::nsTArray<root::RefPtr<root::nsAtom>>,
36597         pub mStrokeDashoffset: root::nsStyleCoord,
36598         pub mStrokeWidth: root::nsStyleCoord,
36599         pub mFillOpacity: f32,
36600         pub mStrokeMiterlimit: f32,
36601         pub mStrokeOpacity: f32,
36602         pub mClipRule: root::mozilla::StyleFillRule,
36603         pub mColorInterpolation: u8,
36604         pub mColorInterpolationFilters: u8,
36605         pub mFillRule: root::mozilla::StyleFillRule,
36606         pub mPaintOrder: u8,
36607         pub mShapeRendering: u8,
36608         pub mStrokeLinecap: u8,
36609         pub mStrokeLinejoin: u8,
36610         pub mTextAnchor: u8,
36611         pub mContextPropsBits: u8,
36612         pub mContextFlags: u8,
36613     }
36614     pub const nsStyleSVG_kHasFinishStyle: bool = false;
36615     pub const nsStyleSVG_FILL_OPACITY_SOURCE_MASK: u8 = 3;
36616     pub const nsStyleSVG_STROKE_OPACITY_SOURCE_MASK: u8 = 12;
36617     pub const nsStyleSVG_STROKE_DASHARRAY_CONTEXT: u8 = 16;
36618     pub const nsStyleSVG_STROKE_DASHOFFSET_CONTEXT: u8 = 32;
36619     pub const nsStyleSVG_STROKE_WIDTH_CONTEXT: u8 = 64;
36620     pub const nsStyleSVG_FILL_OPACITY_SOURCE_SHIFT: u8 = 0;
36621     pub const nsStyleSVG_STROKE_OPACITY_SOURCE_SHIFT: u8 = 2;
36622     #[test]
bindgen_test_layout_nsStyleSVG()36623     fn bindgen_test_layout_nsStyleSVG() {
36624         assert_eq!(
36625             ::std::mem::size_of::<nsStyleSVG>(),
36626             128usize,
36627             concat!("Size of: ", stringify!(nsStyleSVG))
36628         );
36629         assert_eq!(
36630             ::std::mem::align_of::<nsStyleSVG>(),
36631             8usize,
36632             concat!("Alignment of ", stringify!(nsStyleSVG))
36633         );
36634         assert_eq!(
36635             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mFill as *const _ as usize },
36636             0usize,
36637             concat!(
36638                 "Offset of field: ",
36639                 stringify!(nsStyleSVG),
36640                 "::",
36641                 stringify!(mFill)
36642             )
36643         );
36644         assert_eq!(
36645             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mStroke as *const _ as usize },
36646             16usize,
36647             concat!(
36648                 "Offset of field: ",
36649                 stringify!(nsStyleSVG),
36650                 "::",
36651                 stringify!(mStroke)
36652             )
36653         );
36654         assert_eq!(
36655             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mMarkerEnd as *const _ as usize },
36656             32usize,
36657             concat!(
36658                 "Offset of field: ",
36659                 stringify!(nsStyleSVG),
36660                 "::",
36661                 stringify!(mMarkerEnd)
36662             )
36663         );
36664         assert_eq!(
36665             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mMarkerMid as *const _ as usize },
36666             40usize,
36667             concat!(
36668                 "Offset of field: ",
36669                 stringify!(nsStyleSVG),
36670                 "::",
36671                 stringify!(mMarkerMid)
36672             )
36673         );
36674         assert_eq!(
36675             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mMarkerStart as *const _ as usize },
36676             48usize,
36677             concat!(
36678                 "Offset of field: ",
36679                 stringify!(nsStyleSVG),
36680                 "::",
36681                 stringify!(mMarkerStart)
36682             )
36683         );
36684         assert_eq!(
36685             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mStrokeDasharray as *const _ as usize },
36686             56usize,
36687             concat!(
36688                 "Offset of field: ",
36689                 stringify!(nsStyleSVG),
36690                 "::",
36691                 stringify!(mStrokeDasharray)
36692             )
36693         );
36694         assert_eq!(
36695             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mContextProps as *const _ as usize },
36696             64usize,
36697             concat!(
36698                 "Offset of field: ",
36699                 stringify!(nsStyleSVG),
36700                 "::",
36701                 stringify!(mContextProps)
36702             )
36703         );
36704         assert_eq!(
36705             unsafe {
36706                 &(*(::std::ptr::null::<nsStyleSVG>())).mStrokeDashoffset as *const _ as usize
36707             },
36708             72usize,
36709             concat!(
36710                 "Offset of field: ",
36711                 stringify!(nsStyleSVG),
36712                 "::",
36713                 stringify!(mStrokeDashoffset)
36714             )
36715         );
36716         assert_eq!(
36717             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mStrokeWidth as *const _ as usize },
36718             88usize,
36719             concat!(
36720                 "Offset of field: ",
36721                 stringify!(nsStyleSVG),
36722                 "::",
36723                 stringify!(mStrokeWidth)
36724             )
36725         );
36726         assert_eq!(
36727             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mFillOpacity as *const _ as usize },
36728             104usize,
36729             concat!(
36730                 "Offset of field: ",
36731                 stringify!(nsStyleSVG),
36732                 "::",
36733                 stringify!(mFillOpacity)
36734             )
36735         );
36736         assert_eq!(
36737             unsafe {
36738                 &(*(::std::ptr::null::<nsStyleSVG>())).mStrokeMiterlimit as *const _ as usize
36739             },
36740             108usize,
36741             concat!(
36742                 "Offset of field: ",
36743                 stringify!(nsStyleSVG),
36744                 "::",
36745                 stringify!(mStrokeMiterlimit)
36746             )
36747         );
36748         assert_eq!(
36749             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mStrokeOpacity as *const _ as usize },
36750             112usize,
36751             concat!(
36752                 "Offset of field: ",
36753                 stringify!(nsStyleSVG),
36754                 "::",
36755                 stringify!(mStrokeOpacity)
36756             )
36757         );
36758         assert_eq!(
36759             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mClipRule as *const _ as usize },
36760             116usize,
36761             concat!(
36762                 "Offset of field: ",
36763                 stringify!(nsStyleSVG),
36764                 "::",
36765                 stringify!(mClipRule)
36766             )
36767         );
36768         assert_eq!(
36769             unsafe {
36770                 &(*(::std::ptr::null::<nsStyleSVG>())).mColorInterpolation as *const _ as usize
36771             },
36772             117usize,
36773             concat!(
36774                 "Offset of field: ",
36775                 stringify!(nsStyleSVG),
36776                 "::",
36777                 stringify!(mColorInterpolation)
36778             )
36779         );
36780         assert_eq!(
36781             unsafe {
36782                 &(*(::std::ptr::null::<nsStyleSVG>())).mColorInterpolationFilters as *const _
36783                     as usize
36784             },
36785             118usize,
36786             concat!(
36787                 "Offset of field: ",
36788                 stringify!(nsStyleSVG),
36789                 "::",
36790                 stringify!(mColorInterpolationFilters)
36791             )
36792         );
36793         assert_eq!(
36794             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mFillRule as *const _ as usize },
36795             119usize,
36796             concat!(
36797                 "Offset of field: ",
36798                 stringify!(nsStyleSVG),
36799                 "::",
36800                 stringify!(mFillRule)
36801             )
36802         );
36803         assert_eq!(
36804             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mPaintOrder as *const _ as usize },
36805             120usize,
36806             concat!(
36807                 "Offset of field: ",
36808                 stringify!(nsStyleSVG),
36809                 "::",
36810                 stringify!(mPaintOrder)
36811             )
36812         );
36813         assert_eq!(
36814             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mShapeRendering as *const _ as usize },
36815             121usize,
36816             concat!(
36817                 "Offset of field: ",
36818                 stringify!(nsStyleSVG),
36819                 "::",
36820                 stringify!(mShapeRendering)
36821             )
36822         );
36823         assert_eq!(
36824             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mStrokeLinecap as *const _ as usize },
36825             122usize,
36826             concat!(
36827                 "Offset of field: ",
36828                 stringify!(nsStyleSVG),
36829                 "::",
36830                 stringify!(mStrokeLinecap)
36831             )
36832         );
36833         assert_eq!(
36834             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mStrokeLinejoin as *const _ as usize },
36835             123usize,
36836             concat!(
36837                 "Offset of field: ",
36838                 stringify!(nsStyleSVG),
36839                 "::",
36840                 stringify!(mStrokeLinejoin)
36841             )
36842         );
36843         assert_eq!(
36844             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mTextAnchor as *const _ as usize },
36845             124usize,
36846             concat!(
36847                 "Offset of field: ",
36848                 stringify!(nsStyleSVG),
36849                 "::",
36850                 stringify!(mTextAnchor)
36851             )
36852         );
36853         assert_eq!(
36854             unsafe {
36855                 &(*(::std::ptr::null::<nsStyleSVG>())).mContextPropsBits as *const _ as usize
36856             },
36857             125usize,
36858             concat!(
36859                 "Offset of field: ",
36860                 stringify!(nsStyleSVG),
36861                 "::",
36862                 stringify!(mContextPropsBits)
36863             )
36864         );
36865         assert_eq!(
36866             unsafe { &(*(::std::ptr::null::<nsStyleSVG>())).mContextFlags as *const _ as usize },
36867             126usize,
36868             concat!(
36869                 "Offset of field: ",
36870                 stringify!(nsStyleSVG),
36871                 "::",
36872                 stringify!(mContextFlags)
36873             )
36874         );
36875     }
36876     #[repr(C)]
36877     #[derive(Debug)]
36878     pub struct nsStyleFilter {
36879         pub mType: u32,
36880         pub mFilterParameter: root::nsStyleCoord,
36881         pub __bindgen_anon_1: root::nsStyleFilter__bindgen_ty_1,
36882     }
36883     #[repr(C)]
36884     #[derive(Debug, Copy)]
36885     pub struct nsStyleFilter__bindgen_ty_1 {
36886         pub mURL: root::__BindgenUnionField<*mut root::mozilla::css::URLValue>,
36887         pub mDropShadow: root::__BindgenUnionField<*mut root::nsCSSShadowArray>,
36888         pub bindgen_union_field: u64,
36889     }
36890     #[test]
bindgen_test_layout_nsStyleFilter__bindgen_ty_1()36891     fn bindgen_test_layout_nsStyleFilter__bindgen_ty_1() {
36892         assert_eq!(
36893             ::std::mem::size_of::<nsStyleFilter__bindgen_ty_1>(),
36894             8usize,
36895             concat!("Size of: ", stringify!(nsStyleFilter__bindgen_ty_1))
36896         );
36897         assert_eq!(
36898             ::std::mem::align_of::<nsStyleFilter__bindgen_ty_1>(),
36899             8usize,
36900             concat!("Alignment of ", stringify!(nsStyleFilter__bindgen_ty_1))
36901         );
36902         assert_eq!(
36903             unsafe {
36904                 &(*(::std::ptr::null::<nsStyleFilter__bindgen_ty_1>())).mURL as *const _ as usize
36905             },
36906             0usize,
36907             concat!(
36908                 "Offset of field: ",
36909                 stringify!(nsStyleFilter__bindgen_ty_1),
36910                 "::",
36911                 stringify!(mURL)
36912             )
36913         );
36914         assert_eq!(
36915             unsafe {
36916                 &(*(::std::ptr::null::<nsStyleFilter__bindgen_ty_1>())).mDropShadow as *const _
36917                     as usize
36918             },
36919             0usize,
36920             concat!(
36921                 "Offset of field: ",
36922                 stringify!(nsStyleFilter__bindgen_ty_1),
36923                 "::",
36924                 stringify!(mDropShadow)
36925             )
36926         );
36927     }
36928     impl Clone for nsStyleFilter__bindgen_ty_1 {
clone(&self) -> Self36929         fn clone(&self) -> Self {
36930             *self
36931         }
36932     }
36933     pub const nsStyleFilter_kHasFinishStyle: bool = false;
36934     #[test]
bindgen_test_layout_nsStyleFilter()36935     fn bindgen_test_layout_nsStyleFilter() {
36936         assert_eq!(
36937             ::std::mem::size_of::<nsStyleFilter>(),
36938             32usize,
36939             concat!("Size of: ", stringify!(nsStyleFilter))
36940         );
36941         assert_eq!(
36942             ::std::mem::align_of::<nsStyleFilter>(),
36943             8usize,
36944             concat!("Alignment of ", stringify!(nsStyleFilter))
36945         );
36946         assert_eq!(
36947             unsafe { &(*(::std::ptr::null::<nsStyleFilter>())).mType as *const _ as usize },
36948             0usize,
36949             concat!(
36950                 "Offset of field: ",
36951                 stringify!(nsStyleFilter),
36952                 "::",
36953                 stringify!(mType)
36954             )
36955         );
36956         assert_eq!(
36957             unsafe {
36958                 &(*(::std::ptr::null::<nsStyleFilter>())).mFilterParameter as *const _ as usize
36959             },
36960             8usize,
36961             concat!(
36962                 "Offset of field: ",
36963                 stringify!(nsStyleFilter),
36964                 "::",
36965                 stringify!(mFilterParameter)
36966             )
36967         );
36968     }
36969     #[repr(C)]
36970     #[derive(Debug)]
36971     pub struct nsStyleSVGReset {
36972         pub mMask: root::nsStyleImageLayers,
36973         pub mClipPath: root::mozilla::StyleShapeSource,
36974         pub mStopColor: root::nscolor,
36975         pub mFloodColor: root::nscolor,
36976         pub mLightingColor: root::nscolor,
36977         pub mStopOpacity: f32,
36978         pub mFloodOpacity: f32,
36979         pub mDominantBaseline: u8,
36980         pub mVectorEffect: u8,
36981         pub mMaskType: u8,
36982     }
36983     pub const nsStyleSVGReset_kHasFinishStyle: bool = true;
36984     #[test]
bindgen_test_layout_nsStyleSVGReset()36985     fn bindgen_test_layout_nsStyleSVGReset() {
36986         assert_eq!(
36987             ::std::mem::size_of::<nsStyleSVGReset>(),
36988             200usize,
36989             concat!("Size of: ", stringify!(nsStyleSVGReset))
36990         );
36991         assert_eq!(
36992             ::std::mem::align_of::<nsStyleSVGReset>(),
36993             8usize,
36994             concat!("Alignment of ", stringify!(nsStyleSVGReset))
36995         );
36996         assert_eq!(
36997             unsafe { &(*(::std::ptr::null::<nsStyleSVGReset>())).mMask as *const _ as usize },
36998             0usize,
36999             concat!(
37000                 "Offset of field: ",
37001                 stringify!(nsStyleSVGReset),
37002                 "::",
37003                 stringify!(mMask)
37004             )
37005         );
37006         assert_eq!(
37007             unsafe { &(*(::std::ptr::null::<nsStyleSVGReset>())).mClipPath as *const _ as usize },
37008             152usize,
37009             concat!(
37010                 "Offset of field: ",
37011                 stringify!(nsStyleSVGReset),
37012                 "::",
37013                 stringify!(mClipPath)
37014             )
37015         );
37016         assert_eq!(
37017             unsafe { &(*(::std::ptr::null::<nsStyleSVGReset>())).mStopColor as *const _ as usize },
37018             176usize,
37019             concat!(
37020                 "Offset of field: ",
37021                 stringify!(nsStyleSVGReset),
37022                 "::",
37023                 stringify!(mStopColor)
37024             )
37025         );
37026         assert_eq!(
37027             unsafe { &(*(::std::ptr::null::<nsStyleSVGReset>())).mFloodColor as *const _ as usize },
37028             180usize,
37029             concat!(
37030                 "Offset of field: ",
37031                 stringify!(nsStyleSVGReset),
37032                 "::",
37033                 stringify!(mFloodColor)
37034             )
37035         );
37036         assert_eq!(
37037             unsafe {
37038                 &(*(::std::ptr::null::<nsStyleSVGReset>())).mLightingColor as *const _ as usize
37039             },
37040             184usize,
37041             concat!(
37042                 "Offset of field: ",
37043                 stringify!(nsStyleSVGReset),
37044                 "::",
37045                 stringify!(mLightingColor)
37046             )
37047         );
37048         assert_eq!(
37049             unsafe {
37050                 &(*(::std::ptr::null::<nsStyleSVGReset>())).mStopOpacity as *const _ as usize
37051             },
37052             188usize,
37053             concat!(
37054                 "Offset of field: ",
37055                 stringify!(nsStyleSVGReset),
37056                 "::",
37057                 stringify!(mStopOpacity)
37058             )
37059         );
37060         assert_eq!(
37061             unsafe {
37062                 &(*(::std::ptr::null::<nsStyleSVGReset>())).mFloodOpacity as *const _ as usize
37063             },
37064             192usize,
37065             concat!(
37066                 "Offset of field: ",
37067                 stringify!(nsStyleSVGReset),
37068                 "::",
37069                 stringify!(mFloodOpacity)
37070             )
37071         );
37072         assert_eq!(
37073             unsafe {
37074                 &(*(::std::ptr::null::<nsStyleSVGReset>())).mDominantBaseline as *const _ as usize
37075             },
37076             196usize,
37077             concat!(
37078                 "Offset of field: ",
37079                 stringify!(nsStyleSVGReset),
37080                 "::",
37081                 stringify!(mDominantBaseline)
37082             )
37083         );
37084         assert_eq!(
37085             unsafe {
37086                 &(*(::std::ptr::null::<nsStyleSVGReset>())).mVectorEffect as *const _ as usize
37087             },
37088             197usize,
37089             concat!(
37090                 "Offset of field: ",
37091                 stringify!(nsStyleSVGReset),
37092                 "::",
37093                 stringify!(mVectorEffect)
37094             )
37095         );
37096         assert_eq!(
37097             unsafe { &(*(::std::ptr::null::<nsStyleSVGReset>())).mMaskType as *const _ as usize },
37098             198usize,
37099             concat!(
37100                 "Offset of field: ",
37101                 stringify!(nsStyleSVGReset),
37102                 "::",
37103                 stringify!(mMaskType)
37104             )
37105         );
37106     }
37107     #[repr(C)]
37108     pub struct nsStyleVariables {
37109         pub mVariables: root::mozilla::CSSVariableValues,
37110     }
37111     pub const nsStyleVariables_kHasFinishStyle: bool = false;
37112     #[test]
bindgen_test_layout_nsStyleVariables()37113     fn bindgen_test_layout_nsStyleVariables() {
37114         assert_eq!(
37115             ::std::mem::size_of::<nsStyleVariables>(),
37116             40usize,
37117             concat!("Size of: ", stringify!(nsStyleVariables))
37118         );
37119         assert_eq!(
37120             ::std::mem::align_of::<nsStyleVariables>(),
37121             8usize,
37122             concat!("Alignment of ", stringify!(nsStyleVariables))
37123         );
37124         assert_eq!(
37125             unsafe { &(*(::std::ptr::null::<nsStyleVariables>())).mVariables as *const _ as usize },
37126             0usize,
37127             concat!(
37128                 "Offset of field: ",
37129                 stringify!(nsStyleVariables),
37130                 "::",
37131                 stringify!(mVariables)
37132             )
37133         );
37134     }
37135     #[repr(C)]
37136     #[derive(Debug)]
37137     pub struct nsStyleEffects {
37138         pub mFilters: root::nsTArray<root::nsStyleFilter>,
37139         pub mBoxShadow: root::RefPtr<root::nsCSSShadowArray>,
37140         pub mClip: root::nsRect,
37141         pub mOpacity: f32,
37142         pub mClipFlags: u8,
37143         pub mMixBlendMode: u8,
37144     }
37145     pub const nsStyleEffects_kHasFinishStyle: bool = false;
37146     #[test]
bindgen_test_layout_nsStyleEffects()37147     fn bindgen_test_layout_nsStyleEffects() {
37148         assert_eq!(
37149             ::std::mem::size_of::<nsStyleEffects>(),
37150             40usize,
37151             concat!("Size of: ", stringify!(nsStyleEffects))
37152         );
37153         assert_eq!(
37154             ::std::mem::align_of::<nsStyleEffects>(),
37155             8usize,
37156             concat!("Alignment of ", stringify!(nsStyleEffects))
37157         );
37158         assert_eq!(
37159             unsafe { &(*(::std::ptr::null::<nsStyleEffects>())).mFilters as *const _ as usize },
37160             0usize,
37161             concat!(
37162                 "Offset of field: ",
37163                 stringify!(nsStyleEffects),
37164                 "::",
37165                 stringify!(mFilters)
37166             )
37167         );
37168         assert_eq!(
37169             unsafe { &(*(::std::ptr::null::<nsStyleEffects>())).mBoxShadow as *const _ as usize },
37170             8usize,
37171             concat!(
37172                 "Offset of field: ",
37173                 stringify!(nsStyleEffects),
37174                 "::",
37175                 stringify!(mBoxShadow)
37176             )
37177         );
37178         assert_eq!(
37179             unsafe { &(*(::std::ptr::null::<nsStyleEffects>())).mClip as *const _ as usize },
37180             16usize,
37181             concat!(
37182                 "Offset of field: ",
37183                 stringify!(nsStyleEffects),
37184                 "::",
37185                 stringify!(mClip)
37186             )
37187         );
37188         assert_eq!(
37189             unsafe { &(*(::std::ptr::null::<nsStyleEffects>())).mOpacity as *const _ as usize },
37190             32usize,
37191             concat!(
37192                 "Offset of field: ",
37193                 stringify!(nsStyleEffects),
37194                 "::",
37195                 stringify!(mOpacity)
37196             )
37197         );
37198         assert_eq!(
37199             unsafe { &(*(::std::ptr::null::<nsStyleEffects>())).mClipFlags as *const _ as usize },
37200             36usize,
37201             concat!(
37202                 "Offset of field: ",
37203                 stringify!(nsStyleEffects),
37204                 "::",
37205                 stringify!(mClipFlags)
37206             )
37207         );
37208         assert_eq!(
37209             unsafe {
37210                 &(*(::std::ptr::null::<nsStyleEffects>())).mMixBlendMode as *const _ as usize
37211             },
37212             37usize,
37213             concat!(
37214                 "Offset of field: ",
37215                 stringify!(nsStyleEffects),
37216                 "::",
37217                 stringify!(mMixBlendMode)
37218             )
37219         );
37220     }
37221     /// These *_Simple types are used to map Gecko types to layout-equivalent but
37222     /// simpler Rust types, to aid Rust binding generation.
37223     ///
37224     /// If something in this types or the assertions below needs to change, ask
37225     /// bholley, heycam or emilio before!
37226     ///
37227     /// <div rustbindgen="true" replaces="nsPoint">
37228     #[repr(C)]
37229     #[derive(Debug, Copy)]
37230     pub struct nsPoint {
37231         pub x: root::nscoord,
37232         pub y: root::nscoord,
37233     }
37234     #[test]
bindgen_test_layout_nsPoint()37235     fn bindgen_test_layout_nsPoint() {
37236         assert_eq!(
37237             ::std::mem::size_of::<nsPoint>(),
37238             8usize,
37239             concat!("Size of: ", stringify!(nsPoint))
37240         );
37241         assert_eq!(
37242             ::std::mem::align_of::<nsPoint>(),
37243             4usize,
37244             concat!("Alignment of ", stringify!(nsPoint))
37245         );
37246         assert_eq!(
37247             unsafe { &(*(::std::ptr::null::<nsPoint>())).x as *const _ as usize },
37248             0usize,
37249             concat!(
37250                 "Offset of field: ",
37251                 stringify!(nsPoint),
37252                 "::",
37253                 stringify!(x)
37254             )
37255         );
37256         assert_eq!(
37257             unsafe { &(*(::std::ptr::null::<nsPoint>())).y as *const _ as usize },
37258             4usize,
37259             concat!(
37260                 "Offset of field: ",
37261                 stringify!(nsPoint),
37262                 "::",
37263                 stringify!(y)
37264             )
37265         );
37266     }
37267     impl Clone for nsPoint {
clone(&self) -> Self37268         fn clone(&self) -> Self {
37269             *self
37270         }
37271     }
37272     /// <div rustbindgen="true" replaces="nsMargin">
37273     #[repr(C)]
37274     #[derive(Debug, Copy)]
37275     pub struct nsMargin {
37276         pub top: root::nscoord,
37277         pub right: root::nscoord,
37278         pub bottom: root::nscoord,
37279         pub left: root::nscoord,
37280     }
37281     #[test]
bindgen_test_layout_nsMargin()37282     fn bindgen_test_layout_nsMargin() {
37283         assert_eq!(
37284             ::std::mem::size_of::<nsMargin>(),
37285             16usize,
37286             concat!("Size of: ", stringify!(nsMargin))
37287         );
37288         assert_eq!(
37289             ::std::mem::align_of::<nsMargin>(),
37290             4usize,
37291             concat!("Alignment of ", stringify!(nsMargin))
37292         );
37293         assert_eq!(
37294             unsafe { &(*(::std::ptr::null::<nsMargin>())).top as *const _ as usize },
37295             0usize,
37296             concat!(
37297                 "Offset of field: ",
37298                 stringify!(nsMargin),
37299                 "::",
37300                 stringify!(top)
37301             )
37302         );
37303         assert_eq!(
37304             unsafe { &(*(::std::ptr::null::<nsMargin>())).right as *const _ as usize },
37305             4usize,
37306             concat!(
37307                 "Offset of field: ",
37308                 stringify!(nsMargin),
37309                 "::",
37310                 stringify!(right)
37311             )
37312         );
37313         assert_eq!(
37314             unsafe { &(*(::std::ptr::null::<nsMargin>())).bottom as *const _ as usize },
37315             8usize,
37316             concat!(
37317                 "Offset of field: ",
37318                 stringify!(nsMargin),
37319                 "::",
37320                 stringify!(bottom)
37321             )
37322         );
37323         assert_eq!(
37324             unsafe { &(*(::std::ptr::null::<nsMargin>())).left as *const _ as usize },
37325             12usize,
37326             concat!(
37327                 "Offset of field: ",
37328                 stringify!(nsMargin),
37329                 "::",
37330                 stringify!(left)
37331             )
37332         );
37333     }
37334     impl Clone for nsMargin {
clone(&self) -> Self37335         fn clone(&self) -> Self {
37336             *self
37337         }
37338     }
37339     /// <div rustbindgen="true" replaces="nsRect">
37340     #[repr(C)]
37341     #[derive(Debug, Copy)]
37342     pub struct nsRect {
37343         pub x: root::nscoord,
37344         pub y: root::nscoord,
37345         pub width: root::nscoord,
37346         pub height: root::nscoord,
37347     }
37348     #[test]
bindgen_test_layout_nsRect()37349     fn bindgen_test_layout_nsRect() {
37350         assert_eq!(
37351             ::std::mem::size_of::<nsRect>(),
37352             16usize,
37353             concat!("Size of: ", stringify!(nsRect))
37354         );
37355         assert_eq!(
37356             ::std::mem::align_of::<nsRect>(),
37357             4usize,
37358             concat!("Alignment of ", stringify!(nsRect))
37359         );
37360         assert_eq!(
37361             unsafe { &(*(::std::ptr::null::<nsRect>())).x as *const _ as usize },
37362             0usize,
37363             concat!("Offset of field: ", stringify!(nsRect), "::", stringify!(x))
37364         );
37365         assert_eq!(
37366             unsafe { &(*(::std::ptr::null::<nsRect>())).y as *const _ as usize },
37367             4usize,
37368             concat!("Offset of field: ", stringify!(nsRect), "::", stringify!(y))
37369         );
37370         assert_eq!(
37371             unsafe { &(*(::std::ptr::null::<nsRect>())).width as *const _ as usize },
37372             8usize,
37373             concat!(
37374                 "Offset of field: ",
37375                 stringify!(nsRect),
37376                 "::",
37377                 stringify!(width)
37378             )
37379         );
37380         assert_eq!(
37381             unsafe { &(*(::std::ptr::null::<nsRect>())).height as *const _ as usize },
37382             12usize,
37383             concat!(
37384                 "Offset of field: ",
37385                 stringify!(nsRect),
37386                 "::",
37387                 stringify!(height)
37388             )
37389         );
37390     }
37391     impl Clone for nsRect {
clone(&self) -> Self37392         fn clone(&self) -> Self {
37393             *self
37394         }
37395     }
37396     /// <div rustbindgen="true" replaces="nsSize">
37397     #[repr(C)]
37398     #[derive(Debug, Copy)]
37399     pub struct nsSize {
37400         pub width: root::nscoord,
37401         pub height: root::nscoord,
37402     }
37403     #[test]
bindgen_test_layout_nsSize()37404     fn bindgen_test_layout_nsSize() {
37405         assert_eq!(
37406             ::std::mem::size_of::<nsSize>(),
37407             8usize,
37408             concat!("Size of: ", stringify!(nsSize))
37409         );
37410         assert_eq!(
37411             ::std::mem::align_of::<nsSize>(),
37412             4usize,
37413             concat!("Alignment of ", stringify!(nsSize))
37414         );
37415         assert_eq!(
37416             unsafe { &(*(::std::ptr::null::<nsSize>())).width as *const _ as usize },
37417             0usize,
37418             concat!(
37419                 "Offset of field: ",
37420                 stringify!(nsSize),
37421                 "::",
37422                 stringify!(width)
37423             )
37424         );
37425         assert_eq!(
37426             unsafe { &(*(::std::ptr::null::<nsSize>())).height as *const _ as usize },
37427             4usize,
37428             concat!(
37429                 "Offset of field: ",
37430                 stringify!(nsSize),
37431                 "::",
37432                 stringify!(height)
37433             )
37434         );
37435     }
37436     impl Clone for nsSize {
clone(&self) -> Self37437         fn clone(&self) -> Self {
37438             *self
37439         }
37440     }
37441     /// <div rustbindgen replaces="nsTArray"></div>
37442     #[repr(C)]
37443     #[derive(Debug)]
37444     pub struct nsTArray<T> {
37445         pub mBuffer: *mut T,
37446         pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
37447     }
37448     /// <div rustbindgen replaces="nsCOMArray"></div>
37449     ///
37450     /// mozilla::ArrayIterator doesn't work well with bindgen.
37451     #[repr(C)]
37452     #[derive(Debug)]
37453     pub struct nsCOMArray {
37454         pub mBuffer: root::nsTArray<*mut root::nsISupports>,
37455     }
37456     pub const ThemeWidgetType_NS_THEME_NONE: root::ThemeWidgetType = 0;
37457     pub const ThemeWidgetType_NS_THEME_BUTTON: root::ThemeWidgetType = 1;
37458     pub const ThemeWidgetType_NS_THEME_RADIO: root::ThemeWidgetType = 2;
37459     pub const ThemeWidgetType_NS_THEME_CHECKBOX: root::ThemeWidgetType = 3;
37460     pub const ThemeWidgetType_NS_THEME_BUTTON_BEVEL: root::ThemeWidgetType = 4;
37461     pub const ThemeWidgetType_NS_THEME_FOCUS_OUTLINE: root::ThemeWidgetType = 5;
37462     pub const ThemeWidgetType_NS_THEME_TOOLBOX: root::ThemeWidgetType = 6;
37463     pub const ThemeWidgetType_NS_THEME_TOOLBAR: root::ThemeWidgetType = 7;
37464     pub const ThemeWidgetType_NS_THEME_TOOLBARBUTTON: root::ThemeWidgetType = 8;
37465     pub const ThemeWidgetType_NS_THEME_DUALBUTTON: root::ThemeWidgetType = 9;
37466     pub const ThemeWidgetType_NS_THEME_TOOLBARBUTTON_DROPDOWN: root::ThemeWidgetType = 10;
37467     pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_UP: root::ThemeWidgetType = 11;
37468     pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_DOWN: root::ThemeWidgetType = 12;
37469     pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_NEXT: root::ThemeWidgetType = 13;
37470     pub const ThemeWidgetType_NS_THEME_BUTTON_ARROW_PREVIOUS: root::ThemeWidgetType = 14;
37471     pub const ThemeWidgetType_NS_THEME_SEPARATOR: root::ThemeWidgetType = 15;
37472     pub const ThemeWidgetType_NS_THEME_TOOLBARGRIPPER: root::ThemeWidgetType = 16;
37473     pub const ThemeWidgetType_NS_THEME_SPLITTER: root::ThemeWidgetType = 17;
37474     pub const ThemeWidgetType_NS_THEME_STATUSBAR: root::ThemeWidgetType = 18;
37475     pub const ThemeWidgetType_NS_THEME_STATUSBARPANEL: root::ThemeWidgetType = 19;
37476     pub const ThemeWidgetType_NS_THEME_RESIZERPANEL: root::ThemeWidgetType = 20;
37477     pub const ThemeWidgetType_NS_THEME_RESIZER: root::ThemeWidgetType = 21;
37478     pub const ThemeWidgetType_NS_THEME_LISTBOX: root::ThemeWidgetType = 22;
37479     pub const ThemeWidgetType_NS_THEME_LISTITEM: root::ThemeWidgetType = 23;
37480     pub const ThemeWidgetType_NS_THEME_TREEVIEW: root::ThemeWidgetType = 24;
37481     pub const ThemeWidgetType_NS_THEME_TREEITEM: root::ThemeWidgetType = 25;
37482     pub const ThemeWidgetType_NS_THEME_TREETWISTY: root::ThemeWidgetType = 26;
37483     pub const ThemeWidgetType_NS_THEME_TREELINE: root::ThemeWidgetType = 27;
37484     pub const ThemeWidgetType_NS_THEME_TREEHEADER: root::ThemeWidgetType = 28;
37485     pub const ThemeWidgetType_NS_THEME_TREEHEADERCELL: root::ThemeWidgetType = 29;
37486     pub const ThemeWidgetType_NS_THEME_TREEHEADERSORTARROW: root::ThemeWidgetType = 30;
37487     pub const ThemeWidgetType_NS_THEME_TREETWISTYOPEN: root::ThemeWidgetType = 31;
37488     pub const ThemeWidgetType_NS_THEME_PROGRESSBAR: root::ThemeWidgetType = 32;
37489     pub const ThemeWidgetType_NS_THEME_PROGRESSCHUNK: root::ThemeWidgetType = 33;
37490     pub const ThemeWidgetType_NS_THEME_PROGRESSBAR_VERTICAL: root::ThemeWidgetType = 34;
37491     pub const ThemeWidgetType_NS_THEME_PROGRESSCHUNK_VERTICAL: root::ThemeWidgetType = 35;
37492     pub const ThemeWidgetType_NS_THEME_METERBAR: root::ThemeWidgetType = 36;
37493     pub const ThemeWidgetType_NS_THEME_METERCHUNK: root::ThemeWidgetType = 37;
37494     pub const ThemeWidgetType_NS_THEME_TAB: root::ThemeWidgetType = 38;
37495     pub const ThemeWidgetType_NS_THEME_TABPANEL: root::ThemeWidgetType = 39;
37496     pub const ThemeWidgetType_NS_THEME_TABPANELS: root::ThemeWidgetType = 40;
37497     pub const ThemeWidgetType_NS_THEME_TAB_SCROLL_ARROW_BACK: root::ThemeWidgetType = 41;
37498     pub const ThemeWidgetType_NS_THEME_TAB_SCROLL_ARROW_FORWARD: root::ThemeWidgetType = 42;
37499     pub const ThemeWidgetType_NS_THEME_TOOLTIP: root::ThemeWidgetType = 43;
37500     pub const ThemeWidgetType_NS_THEME_INNER_SPIN_BUTTON: root::ThemeWidgetType = 44;
37501     pub const ThemeWidgetType_NS_THEME_SPINNER: root::ThemeWidgetType = 45;
37502     pub const ThemeWidgetType_NS_THEME_SPINNER_UPBUTTON: root::ThemeWidgetType = 46;
37503     pub const ThemeWidgetType_NS_THEME_SPINNER_DOWNBUTTON: root::ThemeWidgetType = 47;
37504     pub const ThemeWidgetType_NS_THEME_SPINNER_TEXTFIELD: root::ThemeWidgetType = 48;
37505     pub const ThemeWidgetType_NS_THEME_NUMBER_INPUT: root::ThemeWidgetType = 49;
37506     pub const ThemeWidgetType_NS_THEME_SCROLLBAR: root::ThemeWidgetType = 50;
37507     pub const ThemeWidgetType_NS_THEME_SCROLLBAR_SMALL: root::ThemeWidgetType = 51;
37508     pub const ThemeWidgetType_NS_THEME_SCROLLBAR_HORIZONTAL: root::ThemeWidgetType = 52;
37509     pub const ThemeWidgetType_NS_THEME_SCROLLBAR_VERTICAL: root::ThemeWidgetType = 53;
37510     pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_UP: root::ThemeWidgetType = 54;
37511     pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_DOWN: root::ThemeWidgetType = 55;
37512     pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_LEFT: root::ThemeWidgetType = 56;
37513     pub const ThemeWidgetType_NS_THEME_SCROLLBARBUTTON_RIGHT: root::ThemeWidgetType = 57;
37514     pub const ThemeWidgetType_NS_THEME_SCROLLBARTRACK_HORIZONTAL: root::ThemeWidgetType = 58;
37515     pub const ThemeWidgetType_NS_THEME_SCROLLBARTRACK_VERTICAL: root::ThemeWidgetType = 59;
37516     pub const ThemeWidgetType_NS_THEME_SCROLLBARTHUMB_HORIZONTAL: root::ThemeWidgetType = 60;
37517     pub const ThemeWidgetType_NS_THEME_SCROLLBARTHUMB_VERTICAL: root::ThemeWidgetType = 61;
37518     pub const ThemeWidgetType_NS_THEME_SCROLLBAR_NON_DISAPPEARING: root::ThemeWidgetType = 62;
37519     pub const ThemeWidgetType_NS_THEME_TEXTFIELD: root::ThemeWidgetType = 63;
37520     pub const ThemeWidgetType_NS_THEME_CARET: root::ThemeWidgetType = 64;
37521     pub const ThemeWidgetType_NS_THEME_TEXTFIELD_MULTILINE: root::ThemeWidgetType = 65;
37522     pub const ThemeWidgetType_NS_THEME_SEARCHFIELD: root::ThemeWidgetType = 66;
37523     pub const ThemeWidgetType_NS_THEME_MENULIST: root::ThemeWidgetType = 67;
37524     pub const ThemeWidgetType_NS_THEME_MENULIST_BUTTON: root::ThemeWidgetType = 68;
37525     pub const ThemeWidgetType_NS_THEME_MENULIST_TEXT: root::ThemeWidgetType = 69;
37526     pub const ThemeWidgetType_NS_THEME_MENULIST_TEXTFIELD: root::ThemeWidgetType = 70;
37527     pub const ThemeWidgetType_NS_THEME_SCALE_HORIZONTAL: root::ThemeWidgetType = 71;
37528     pub const ThemeWidgetType_NS_THEME_SCALE_VERTICAL: root::ThemeWidgetType = 72;
37529     pub const ThemeWidgetType_NS_THEME_SCALETHUMB_HORIZONTAL: root::ThemeWidgetType = 73;
37530     pub const ThemeWidgetType_NS_THEME_SCALETHUMB_VERTICAL: root::ThemeWidgetType = 74;
37531     pub const ThemeWidgetType_NS_THEME_SCALETHUMBSTART: root::ThemeWidgetType = 75;
37532     pub const ThemeWidgetType_NS_THEME_SCALETHUMBEND: root::ThemeWidgetType = 76;
37533     pub const ThemeWidgetType_NS_THEME_SCALETHUMBTICK: root::ThemeWidgetType = 77;
37534     pub const ThemeWidgetType_NS_THEME_RANGE: root::ThemeWidgetType = 78;
37535     pub const ThemeWidgetType_NS_THEME_RANGE_THUMB: root::ThemeWidgetType = 79;
37536     pub const ThemeWidgetType_NS_THEME_GROUPBOX: root::ThemeWidgetType = 80;
37537     pub const ThemeWidgetType_NS_THEME_CHECKBOX_CONTAINER: root::ThemeWidgetType = 81;
37538     pub const ThemeWidgetType_NS_THEME_RADIO_CONTAINER: root::ThemeWidgetType = 82;
37539     pub const ThemeWidgetType_NS_THEME_CHECKBOX_LABEL: root::ThemeWidgetType = 83;
37540     pub const ThemeWidgetType_NS_THEME_RADIO_LABEL: root::ThemeWidgetType = 84;
37541     pub const ThemeWidgetType_NS_THEME_BUTTON_FOCUS: root::ThemeWidgetType = 85;
37542     pub const ThemeWidgetType_NS_THEME_WINDOW: root::ThemeWidgetType = 86;
37543     pub const ThemeWidgetType_NS_THEME_DIALOG: root::ThemeWidgetType = 87;
37544     pub const ThemeWidgetType_NS_THEME_MENUBAR: root::ThemeWidgetType = 88;
37545     pub const ThemeWidgetType_NS_THEME_MENUPOPUP: root::ThemeWidgetType = 89;
37546     pub const ThemeWidgetType_NS_THEME_MENUITEM: root::ThemeWidgetType = 90;
37547     pub const ThemeWidgetType_NS_THEME_CHECKMENUITEM: root::ThemeWidgetType = 91;
37548     pub const ThemeWidgetType_NS_THEME_RADIOMENUITEM: root::ThemeWidgetType = 92;
37549     pub const ThemeWidgetType_NS_THEME_MENUCHECKBOX: root::ThemeWidgetType = 93;
37550     pub const ThemeWidgetType_NS_THEME_MENURADIO: root::ThemeWidgetType = 94;
37551     pub const ThemeWidgetType_NS_THEME_MENUSEPARATOR: root::ThemeWidgetType = 95;
37552     pub const ThemeWidgetType_NS_THEME_MENUARROW: root::ThemeWidgetType = 96;
37553     pub const ThemeWidgetType_NS_THEME_MENUIMAGE: root::ThemeWidgetType = 97;
37554     pub const ThemeWidgetType_NS_THEME_MENUITEMTEXT: root::ThemeWidgetType = 98;
37555     pub const ThemeWidgetType_NS_THEME_WIN_COMMUNICATIONS_TOOLBOX: root::ThemeWidgetType = 99;
37556     pub const ThemeWidgetType_NS_THEME_WIN_MEDIA_TOOLBOX: root::ThemeWidgetType = 100;
37557     pub const ThemeWidgetType_NS_THEME_WIN_BROWSERTABBAR_TOOLBOX: root::ThemeWidgetType = 101;
37558     pub const ThemeWidgetType_NS_THEME_MAC_FULLSCREEN_BUTTON: root::ThemeWidgetType = 102;
37559     pub const ThemeWidgetType_NS_THEME_MAC_HELP_BUTTON: root::ThemeWidgetType = 103;
37560     pub const ThemeWidgetType_NS_THEME_WIN_BORDERLESS_GLASS: root::ThemeWidgetType = 104;
37561     pub const ThemeWidgetType_NS_THEME_WIN_GLASS: root::ThemeWidgetType = 105;
37562     pub const ThemeWidgetType_NS_THEME_WINDOW_TITLEBAR: root::ThemeWidgetType = 106;
37563     pub const ThemeWidgetType_NS_THEME_WINDOW_TITLEBAR_MAXIMIZED: root::ThemeWidgetType = 107;
37564     pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_LEFT: root::ThemeWidgetType = 108;
37565     pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_RIGHT: root::ThemeWidgetType = 109;
37566     pub const ThemeWidgetType_NS_THEME_WINDOW_FRAME_BOTTOM: root::ThemeWidgetType = 110;
37567     pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_CLOSE: root::ThemeWidgetType = 111;
37568     pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_MINIMIZE: root::ThemeWidgetType = 112;
37569     pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_MAXIMIZE: root::ThemeWidgetType = 113;
37570     pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_RESTORE: root::ThemeWidgetType = 114;
37571     pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_BOX: root::ThemeWidgetType = 115;
37572     pub const ThemeWidgetType_NS_THEME_WINDOW_BUTTON_BOX_MAXIMIZED: root::ThemeWidgetType = 116;
37573     pub const ThemeWidgetType_NS_THEME_WIN_EXCLUDE_GLASS: root::ThemeWidgetType = 117;
37574     pub const ThemeWidgetType_NS_THEME_MAC_VIBRANCY_LIGHT: root::ThemeWidgetType = 118;
37575     pub const ThemeWidgetType_NS_THEME_MAC_VIBRANCY_DARK: root::ThemeWidgetType = 119;
37576     pub const ThemeWidgetType_NS_THEME_MAC_VIBRANT_TITLEBAR_LIGHT: root::ThemeWidgetType = 120;
37577     pub const ThemeWidgetType_NS_THEME_MAC_VIBRANT_TITLEBAR_DARK: root::ThemeWidgetType = 121;
37578     pub const ThemeWidgetType_NS_THEME_MAC_DISCLOSURE_BUTTON_OPEN: root::ThemeWidgetType = 122;
37579     pub const ThemeWidgetType_NS_THEME_MAC_DISCLOSURE_BUTTON_CLOSED: root::ThemeWidgetType = 123;
37580     pub const ThemeWidgetType_NS_THEME_GTK_INFO_BAR: root::ThemeWidgetType = 124;
37581     pub const ThemeWidgetType_NS_THEME_MAC_SOURCE_LIST: root::ThemeWidgetType = 125;
37582     pub const ThemeWidgetType_NS_THEME_MAC_SOURCE_LIST_SELECTION: root::ThemeWidgetType = 126;
37583     pub const ThemeWidgetType_NS_THEME_MAC_ACTIVE_SOURCE_LIST_SELECTION: root::ThemeWidgetType =
37584         127;
37585     pub const ThemeWidgetType_ThemeWidgetType_COUNT: root::ThemeWidgetType = 128;
37586     pub type ThemeWidgetType = u8;
37587     /// Hashtable key class to use with nsTHashtable/nsBaseHashtable
37588     #[repr(C)]
37589     #[derive(Debug)]
37590     pub struct nsURIHashKey {
37591         pub _base: root::PLDHashEntryHdr,
37592         pub mKey: root::nsCOMPtr,
37593     }
37594     pub type nsURIHashKey_KeyType = *mut root::nsIURI;
37595     pub type nsURIHashKey_KeyTypePointer = *const root::nsIURI;
37596     pub const nsURIHashKey_ALLOW_MEMMOVE: root::nsURIHashKey__bindgen_ty_1 = 1;
37597     pub type nsURIHashKey__bindgen_ty_1 = u32;
37598     #[test]
bindgen_test_layout_nsURIHashKey()37599     fn bindgen_test_layout_nsURIHashKey() {
37600         assert_eq!(
37601             ::std::mem::size_of::<nsURIHashKey>(),
37602             16usize,
37603             concat!("Size of: ", stringify!(nsURIHashKey))
37604         );
37605         assert_eq!(
37606             ::std::mem::align_of::<nsURIHashKey>(),
37607             8usize,
37608             concat!("Alignment of ", stringify!(nsURIHashKey))
37609         );
37610         assert_eq!(
37611             unsafe { &(*(::std::ptr::null::<nsURIHashKey>())).mKey as *const _ as usize },
37612             8usize,
37613             concat!(
37614                 "Offset of field: ",
37615                 stringify!(nsURIHashKey),
37616                 "::",
37617                 stringify!(mKey)
37618             )
37619         );
37620     }
37621     #[repr(C)]
37622     #[derive(Debug, Copy)]
37623     pub struct nsIConsoleReportCollector {
37624         _unused: [u8; 0],
37625     }
37626     impl Clone for nsIConsoleReportCollector {
clone(&self) -> Self37627         fn clone(&self) -> Self {
37628             *self
37629         }
37630     }
37631     #[repr(C)]
37632     #[derive(Debug, Copy)]
37633     pub struct nsIStyleSheetLinkingElement {
37634         _unused: [u8; 0],
37635     }
37636     impl Clone for nsIStyleSheetLinkingElement {
clone(&self) -> Self37637         fn clone(&self) -> Self {
37638             *self
37639         }
37640     }
37641     #[repr(C)]
37642     #[derive(Debug, Copy)]
37643     pub struct nsIUnicharStreamLoaderObserver {
37644         pub _base: root::nsISupports,
37645     }
37646     #[repr(C)]
37647     #[derive(Debug, Copy, Clone)]
37648     pub struct nsIUnicharStreamLoaderObserver_COMTypeInfo {
37649         pub _address: u8,
37650     }
37651     #[test]
bindgen_test_layout_nsIUnicharStreamLoaderObserver()37652     fn bindgen_test_layout_nsIUnicharStreamLoaderObserver() {
37653         assert_eq!(
37654             ::std::mem::size_of::<nsIUnicharStreamLoaderObserver>(),
37655             8usize,
37656             concat!("Size of: ", stringify!(nsIUnicharStreamLoaderObserver))
37657         );
37658         assert_eq!(
37659             ::std::mem::align_of::<nsIUnicharStreamLoaderObserver>(),
37660             8usize,
37661             concat!("Alignment of ", stringify!(nsIUnicharStreamLoaderObserver))
37662         );
37663     }
37664     impl Clone for nsIUnicharStreamLoaderObserver {
clone(&self) -> Self37665         fn clone(&self) -> Self {
37666             *self
37667         }
37668     }
37669     #[repr(C)]
37670     #[derive(Debug, Copy)]
37671     pub struct nsIThreadObserver {
37672         pub _base: root::nsISupports,
37673     }
37674     #[repr(C)]
37675     #[derive(Debug, Copy, Clone)]
37676     pub struct nsIThreadObserver_COMTypeInfo {
37677         pub _address: u8,
37678     }
37679     #[test]
bindgen_test_layout_nsIThreadObserver()37680     fn bindgen_test_layout_nsIThreadObserver() {
37681         assert_eq!(
37682             ::std::mem::size_of::<nsIThreadObserver>(),
37683             8usize,
37684             concat!("Size of: ", stringify!(nsIThreadObserver))
37685         );
37686         assert_eq!(
37687             ::std::mem::align_of::<nsIThreadObserver>(),
37688             8usize,
37689             concat!("Alignment of ", stringify!(nsIThreadObserver))
37690         );
37691     }
37692     impl Clone for nsIThreadObserver {
clone(&self) -> Self37693         fn clone(&self) -> Self {
37694             *self
37695         }
37696     }
37697     #[repr(C)]
37698     #[derive(Debug)]
37699     pub struct nsAttrName {
37700         pub mBits: usize,
37701     }
37702     #[test]
bindgen_test_layout_nsAttrName()37703     fn bindgen_test_layout_nsAttrName() {
37704         assert_eq!(
37705             ::std::mem::size_of::<nsAttrName>(),
37706             8usize,
37707             concat!("Size of: ", stringify!(nsAttrName))
37708         );
37709         assert_eq!(
37710             ::std::mem::align_of::<nsAttrName>(),
37711             8usize,
37712             concat!("Alignment of ", stringify!(nsAttrName))
37713         );
37714         assert_eq!(
37715             unsafe { &(*(::std::ptr::null::<nsAttrName>())).mBits as *const _ as usize },
37716             0usize,
37717             concat!(
37718                 "Offset of field: ",
37719                 stringify!(nsAttrName),
37720                 "::",
37721                 stringify!(mBits)
37722             )
37723         );
37724     }
37725     #[repr(C)]
37726     #[derive(Debug)]
37727     pub struct nsAttrValue {
37728         pub mBits: usize,
37729     }
37730     pub const nsAttrValue_ValueType_eString: root::nsAttrValue_ValueType = 0;
37731     pub const nsAttrValue_ValueType_eAtom: root::nsAttrValue_ValueType = 2;
37732     pub const nsAttrValue_ValueType_eInteger: root::nsAttrValue_ValueType = 3;
37733     pub const nsAttrValue_ValueType_eColor: root::nsAttrValue_ValueType = 7;
37734     pub const nsAttrValue_ValueType_eEnum: root::nsAttrValue_ValueType = 11;
37735     pub const nsAttrValue_ValueType_ePercent: root::nsAttrValue_ValueType = 15;
37736     pub const nsAttrValue_ValueType_eCSSDeclaration: root::nsAttrValue_ValueType = 16;
37737     pub const nsAttrValue_ValueType_eURL: root::nsAttrValue_ValueType = 17;
37738     pub const nsAttrValue_ValueType_eImage: root::nsAttrValue_ValueType = 18;
37739     pub const nsAttrValue_ValueType_eAtomArray: root::nsAttrValue_ValueType = 19;
37740     pub const nsAttrValue_ValueType_eDoubleValue: root::nsAttrValue_ValueType = 20;
37741     pub const nsAttrValue_ValueType_eIntMarginValue: root::nsAttrValue_ValueType = 21;
37742     pub const nsAttrValue_ValueType_eSVGAngle: root::nsAttrValue_ValueType = 22;
37743     pub const nsAttrValue_ValueType_eSVGTypesBegin: root::nsAttrValue_ValueType = 22;
37744     pub const nsAttrValue_ValueType_eSVGIntegerPair: root::nsAttrValue_ValueType = 23;
37745     pub const nsAttrValue_ValueType_eSVGLength: root::nsAttrValue_ValueType = 24;
37746     pub const nsAttrValue_ValueType_eSVGLengthList: root::nsAttrValue_ValueType = 25;
37747     pub const nsAttrValue_ValueType_eSVGNumberList: root::nsAttrValue_ValueType = 26;
37748     pub const nsAttrValue_ValueType_eSVGNumberPair: root::nsAttrValue_ValueType = 27;
37749     pub const nsAttrValue_ValueType_eSVGPathData: root::nsAttrValue_ValueType = 28;
37750     pub const nsAttrValue_ValueType_eSVGPointList: root::nsAttrValue_ValueType = 29;
37751     pub const nsAttrValue_ValueType_eSVGPreserveAspectRatio: root::nsAttrValue_ValueType = 30;
37752     pub const nsAttrValue_ValueType_eSVGStringList: root::nsAttrValue_ValueType = 31;
37753     pub const nsAttrValue_ValueType_eSVGTransformList: root::nsAttrValue_ValueType = 32;
37754     pub const nsAttrValue_ValueType_eSVGViewBox: root::nsAttrValue_ValueType = 33;
37755     pub const nsAttrValue_ValueType_eSVGTypesEnd: root::nsAttrValue_ValueType = 33;
37756     pub type nsAttrValue_ValueType = u32;
37757     /// Structure for a mapping from int (enum) values to strings.  When you use
37758     /// it you generally create an array of them.
37759     /// Instantiate like this:
37760     /// EnumTable myTable[] = {
37761     /// { "string1", 1 },
37762     /// { "string2", 2 },
37763     /// { nullptr, 0 }
37764     /// }
37765     #[repr(C)]
37766     #[derive(Debug, Copy)]
37767     pub struct nsAttrValue_EnumTable {
37768         /// The string the value maps to
37769         pub tag: *const ::std::os::raw::c_char,
37770         /// The enum value that maps to this string
37771         pub value: i16,
37772     }
37773     #[test]
bindgen_test_layout_nsAttrValue_EnumTable()37774     fn bindgen_test_layout_nsAttrValue_EnumTable() {
37775         assert_eq!(
37776             ::std::mem::size_of::<nsAttrValue_EnumTable>(),
37777             16usize,
37778             concat!("Size of: ", stringify!(nsAttrValue_EnumTable))
37779         );
37780         assert_eq!(
37781             ::std::mem::align_of::<nsAttrValue_EnumTable>(),
37782             8usize,
37783             concat!("Alignment of ", stringify!(nsAttrValue_EnumTable))
37784         );
37785         assert_eq!(
37786             unsafe { &(*(::std::ptr::null::<nsAttrValue_EnumTable>())).tag as *const _ as usize },
37787             0usize,
37788             concat!(
37789                 "Offset of field: ",
37790                 stringify!(nsAttrValue_EnumTable),
37791                 "::",
37792                 stringify!(tag)
37793             )
37794         );
37795         assert_eq!(
37796             unsafe { &(*(::std::ptr::null::<nsAttrValue_EnumTable>())).value as *const _ as usize },
37797             8usize,
37798             concat!(
37799                 "Offset of field: ",
37800                 stringify!(nsAttrValue_EnumTable),
37801                 "::",
37802                 stringify!(value)
37803             )
37804         );
37805     }
37806     impl Clone for nsAttrValue_EnumTable {
clone(&self) -> Self37807         fn clone(&self) -> Self {
37808             *self
37809         }
37810     }
37811     pub const nsAttrValue_ValueBaseType_eStringBase: root::nsAttrValue_ValueBaseType = 0;
37812     pub const nsAttrValue_ValueBaseType_eOtherBase: root::nsAttrValue_ValueBaseType = 1;
37813     pub const nsAttrValue_ValueBaseType_eAtomBase: root::nsAttrValue_ValueBaseType = 2;
37814     pub const nsAttrValue_ValueBaseType_eIntegerBase: root::nsAttrValue_ValueBaseType = 3;
37815     pub type nsAttrValue_ValueBaseType = u32;
37816     extern "C" {
37817         #[link_name = "\u{1}_ZN11nsAttrValue15sEnumTableArrayE"]
37818         pub static mut nsAttrValue_sEnumTableArray:
37819             *mut root::nsTArray<*const root::nsAttrValue_EnumTable>;
37820     }
37821     #[test]
bindgen_test_layout_nsAttrValue()37822     fn bindgen_test_layout_nsAttrValue() {
37823         assert_eq!(
37824             ::std::mem::size_of::<nsAttrValue>(),
37825             8usize,
37826             concat!("Size of: ", stringify!(nsAttrValue))
37827         );
37828         assert_eq!(
37829             ::std::mem::align_of::<nsAttrValue>(),
37830             8usize,
37831             concat!("Alignment of ", stringify!(nsAttrValue))
37832         );
37833         assert_eq!(
37834             unsafe { &(*(::std::ptr::null::<nsAttrValue>())).mBits as *const _ as usize },
37835             0usize,
37836             concat!(
37837                 "Offset of field: ",
37838                 stringify!(nsAttrValue),
37839                 "::",
37840                 stringify!(mBits)
37841             )
37842         );
37843     }
37844     #[repr(C)]
37845     #[derive(Debug, Copy)]
37846     pub struct nsMappedAttributes {
37847         _unused: [u8; 0],
37848     }
37849     impl Clone for nsMappedAttributes {
clone(&self) -> Self37850         fn clone(&self) -> Self {
37851             *self
37852         }
37853     }
37854     #[repr(C)]
37855     #[derive(Debug)]
37856     pub struct nsAttrAndChildArray {
37857         pub mImpl: *mut root::nsAttrAndChildArray_Impl,
37858     }
37859     pub type nsAttrAndChildArray_BorrowedAttrInfo = root::mozilla::dom::BorrowedAttrInfo;
37860     #[repr(C)]
37861     #[derive(Debug)]
37862     pub struct nsAttrAndChildArray_InternalAttr {
37863         pub mName: root::nsAttrName,
37864         pub mValue: root::nsAttrValue,
37865     }
37866     #[test]
bindgen_test_layout_nsAttrAndChildArray_InternalAttr()37867     fn bindgen_test_layout_nsAttrAndChildArray_InternalAttr() {
37868         assert_eq!(
37869             ::std::mem::size_of::<nsAttrAndChildArray_InternalAttr>(),
37870             16usize,
37871             concat!("Size of: ", stringify!(nsAttrAndChildArray_InternalAttr))
37872         );
37873         assert_eq!(
37874             ::std::mem::align_of::<nsAttrAndChildArray_InternalAttr>(),
37875             8usize,
37876             concat!(
37877                 "Alignment of ",
37878                 stringify!(nsAttrAndChildArray_InternalAttr)
37879             )
37880         );
37881         assert_eq!(
37882             unsafe {
37883                 &(*(::std::ptr::null::<nsAttrAndChildArray_InternalAttr>())).mName as *const _
37884                     as usize
37885             },
37886             0usize,
37887             concat!(
37888                 "Offset of field: ",
37889                 stringify!(nsAttrAndChildArray_InternalAttr),
37890                 "::",
37891                 stringify!(mName)
37892             )
37893         );
37894         assert_eq!(
37895             unsafe {
37896                 &(*(::std::ptr::null::<nsAttrAndChildArray_InternalAttr>())).mValue as *const _
37897                     as usize
37898             },
37899             8usize,
37900             concat!(
37901                 "Offset of field: ",
37902                 stringify!(nsAttrAndChildArray_InternalAttr),
37903                 "::",
37904                 stringify!(mValue)
37905             )
37906         );
37907     }
37908     #[repr(C)]
37909     #[derive(Debug, Copy)]
37910     pub struct nsAttrAndChildArray_Impl {
37911         pub mAttrAndChildCount: u32,
37912         pub mBufferSize: u32,
37913         pub mMappedAttrs: *mut root::nsMappedAttributes,
37914         pub mBuffer: [*mut ::std::os::raw::c_void; 1usize],
37915     }
37916     #[test]
bindgen_test_layout_nsAttrAndChildArray_Impl()37917     fn bindgen_test_layout_nsAttrAndChildArray_Impl() {
37918         assert_eq!(
37919             ::std::mem::size_of::<nsAttrAndChildArray_Impl>(),
37920             24usize,
37921             concat!("Size of: ", stringify!(nsAttrAndChildArray_Impl))
37922         );
37923         assert_eq!(
37924             ::std::mem::align_of::<nsAttrAndChildArray_Impl>(),
37925             8usize,
37926             concat!("Alignment of ", stringify!(nsAttrAndChildArray_Impl))
37927         );
37928         assert_eq!(
37929             unsafe {
37930                 &(*(::std::ptr::null::<nsAttrAndChildArray_Impl>())).mAttrAndChildCount as *const _
37931                     as usize
37932             },
37933             0usize,
37934             concat!(
37935                 "Offset of field: ",
37936                 stringify!(nsAttrAndChildArray_Impl),
37937                 "::",
37938                 stringify!(mAttrAndChildCount)
37939             )
37940         );
37941         assert_eq!(
37942             unsafe {
37943                 &(*(::std::ptr::null::<nsAttrAndChildArray_Impl>())).mBufferSize as *const _
37944                     as usize
37945             },
37946             4usize,
37947             concat!(
37948                 "Offset of field: ",
37949                 stringify!(nsAttrAndChildArray_Impl),
37950                 "::",
37951                 stringify!(mBufferSize)
37952             )
37953         );
37954         assert_eq!(
37955             unsafe {
37956                 &(*(::std::ptr::null::<nsAttrAndChildArray_Impl>())).mMappedAttrs as *const _
37957                     as usize
37958             },
37959             8usize,
37960             concat!(
37961                 "Offset of field: ",
37962                 stringify!(nsAttrAndChildArray_Impl),
37963                 "::",
37964                 stringify!(mMappedAttrs)
37965             )
37966         );
37967         assert_eq!(
37968             unsafe {
37969                 &(*(::std::ptr::null::<nsAttrAndChildArray_Impl>())).mBuffer as *const _ as usize
37970             },
37971             16usize,
37972             concat!(
37973                 "Offset of field: ",
37974                 stringify!(nsAttrAndChildArray_Impl),
37975                 "::",
37976                 stringify!(mBuffer)
37977             )
37978         );
37979     }
37980     impl Clone for nsAttrAndChildArray_Impl {
clone(&self) -> Self37981         fn clone(&self) -> Self {
37982             *self
37983         }
37984     }
37985     #[test]
bindgen_test_layout_nsAttrAndChildArray()37986     fn bindgen_test_layout_nsAttrAndChildArray() {
37987         assert_eq!(
37988             ::std::mem::size_of::<nsAttrAndChildArray>(),
37989             8usize,
37990             concat!("Size of: ", stringify!(nsAttrAndChildArray))
37991         );
37992         assert_eq!(
37993             ::std::mem::align_of::<nsAttrAndChildArray>(),
37994             8usize,
37995             concat!("Alignment of ", stringify!(nsAttrAndChildArray))
37996         );
37997         assert_eq!(
37998             unsafe { &(*(::std::ptr::null::<nsAttrAndChildArray>())).mImpl as *const _ as usize },
37999             0usize,
38000             concat!(
38001                 "Offset of field: ",
38002                 stringify!(nsAttrAndChildArray),
38003                 "::",
38004                 stringify!(mImpl)
38005             )
38006         );
38007     }
38008     /// An internal interface
38009     #[repr(C)]
38010     #[derive(Debug, Copy)]
38011     pub struct nsIHTMLCollection {
38012         pub _base: root::nsISupports,
38013     }
38014     #[repr(C)]
38015     #[derive(Debug, Copy, Clone)]
38016     pub struct nsIHTMLCollection_COMTypeInfo {
38017         pub _address: u8,
38018     }
38019     #[test]
bindgen_test_layout_nsIHTMLCollection()38020     fn bindgen_test_layout_nsIHTMLCollection() {
38021         assert_eq!(
38022             ::std::mem::size_of::<nsIHTMLCollection>(),
38023             8usize,
38024             concat!("Size of: ", stringify!(nsIHTMLCollection))
38025         );
38026         assert_eq!(
38027             ::std::mem::align_of::<nsIHTMLCollection>(),
38028             8usize,
38029             concat!("Alignment of ", stringify!(nsIHTMLCollection))
38030         );
38031     }
38032     impl Clone for nsIHTMLCollection {
clone(&self) -> Self38033         fn clone(&self) -> Self {
38034             *self
38035         }
38036     }
38037     #[repr(C)]
38038     #[derive(Debug, Copy)]
38039     pub struct nsXBLDocumentInfo {
38040         _unused: [u8; 0],
38041     }
38042     impl Clone for nsXBLDocumentInfo {
clone(&self) -> Self38043         fn clone(&self) -> Self {
38044             *self
38045         }
38046     }
38047     #[repr(C)]
38048     #[derive(Debug, Copy)]
38049     pub struct nsIStyleRuleProcessor {
38050         pub _base: root::nsISupports,
38051     }
38052     #[repr(C)]
38053     #[derive(Debug, Copy, Clone)]
38054     pub struct nsIStyleRuleProcessor_COMTypeInfo {
38055         pub _address: u8,
38056     }
38057     pub type nsIStyleRuleProcessor_EnumFunc = ::std::option::Option<
38058         unsafe extern "C" fn(
38059             arg1: *mut root::nsIStyleRuleProcessor,
38060             arg2: *mut ::std::os::raw::c_void,
38061         ) -> bool,
38062     >;
38063     #[test]
bindgen_test_layout_nsIStyleRuleProcessor()38064     fn bindgen_test_layout_nsIStyleRuleProcessor() {
38065         assert_eq!(
38066             ::std::mem::size_of::<nsIStyleRuleProcessor>(),
38067             8usize,
38068             concat!("Size of: ", stringify!(nsIStyleRuleProcessor))
38069         );
38070         assert_eq!(
38071             ::std::mem::align_of::<nsIStyleRuleProcessor>(),
38072             8usize,
38073             concat!("Alignment of ", stringify!(nsIStyleRuleProcessor))
38074         );
38075     }
38076     impl Clone for nsIStyleRuleProcessor {
clone(&self) -> Self38077         fn clone(&self) -> Self {
38078             *self
38079         }
38080     }
38081     #[repr(C)]
38082     #[derive(Debug, Copy)]
38083     pub struct nsXBLPrototypeBinding {
38084         _unused: [u8; 0],
38085     }
38086     impl Clone for nsXBLPrototypeBinding {
clone(&self) -> Self38087         fn clone(&self) -> Self {
38088             *self
38089         }
38090     }
38091     #[repr(C)]
38092     #[derive(Debug, Copy)]
38093     pub struct nsAnonymousContentList {
38094         _unused: [u8; 0],
38095     }
38096     impl Clone for nsAnonymousContentList {
clone(&self) -> Self38097         fn clone(&self) -> Self {
38098             *self
38099         }
38100     }
38101     #[repr(C)]
38102     pub struct nsXBLBinding {
38103         pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
38104         pub mMarkedForDeath: bool,
38105         pub mUsingContentXBLScope: bool,
38106         pub mIsShadowRootBinding: bool,
38107         pub mPrototypeBinding: *mut root::nsXBLPrototypeBinding,
38108         pub mContent: root::nsCOMPtr,
38109         pub mNextBinding: root::RefPtr<root::nsXBLBinding>,
38110         pub mBoundElement: *mut root::mozilla::dom::Element,
38111         pub mDefaultInsertionPoint: root::RefPtr<root::mozilla::dom::XBLChildrenElement>,
38112         pub mInsertionPoints: root::nsTArray<root::RefPtr<root::mozilla::dom::XBLChildrenElement>>,
38113         pub mAnonymousContentList: root::RefPtr<root::nsAnonymousContentList>,
38114     }
38115     pub type nsXBLBinding_HasThreadSafeRefCnt = root::mozilla::FalseType;
38116     #[repr(C)]
38117     #[derive(Debug, Copy)]
38118     pub struct nsXBLBinding_cycleCollection {
38119         pub _base: root::nsCycleCollectionParticipant,
38120     }
38121     #[test]
bindgen_test_layout_nsXBLBinding_cycleCollection()38122     fn bindgen_test_layout_nsXBLBinding_cycleCollection() {
38123         assert_eq!(
38124             ::std::mem::size_of::<nsXBLBinding_cycleCollection>(),
38125             16usize,
38126             concat!("Size of: ", stringify!(nsXBLBinding_cycleCollection))
38127         );
38128         assert_eq!(
38129             ::std::mem::align_of::<nsXBLBinding_cycleCollection>(),
38130             8usize,
38131             concat!("Alignment of ", stringify!(nsXBLBinding_cycleCollection))
38132         );
38133     }
38134     impl Clone for nsXBLBinding_cycleCollection {
clone(&self) -> Self38135         fn clone(&self) -> Self {
38136             *self
38137         }
38138     }
38139     extern "C" {
38140         #[link_name = "\u{1}_ZN12nsXBLBinding21_cycleCollectorGlobalE"]
38141         pub static mut nsXBLBinding__cycleCollectorGlobal: root::nsXBLBinding_cycleCollection;
38142     }
38143     #[test]
bindgen_test_layout_nsXBLBinding()38144     fn bindgen_test_layout_nsXBLBinding() {
38145         assert_eq!(
38146             ::std::mem::size_of::<nsXBLBinding>(),
38147             72usize,
38148             concat!("Size of: ", stringify!(nsXBLBinding))
38149         );
38150         assert_eq!(
38151             ::std::mem::align_of::<nsXBLBinding>(),
38152             8usize,
38153             concat!("Alignment of ", stringify!(nsXBLBinding))
38154         );
38155         assert_eq!(
38156             unsafe { &(*(::std::ptr::null::<nsXBLBinding>())).mRefCnt as *const _ as usize },
38157             0usize,
38158             concat!(
38159                 "Offset of field: ",
38160                 stringify!(nsXBLBinding),
38161                 "::",
38162                 stringify!(mRefCnt)
38163             )
38164         );
38165         assert_eq!(
38166             unsafe {
38167                 &(*(::std::ptr::null::<nsXBLBinding>())).mMarkedForDeath as *const _ as usize
38168             },
38169             8usize,
38170             concat!(
38171                 "Offset of field: ",
38172                 stringify!(nsXBLBinding),
38173                 "::",
38174                 stringify!(mMarkedForDeath)
38175             )
38176         );
38177         assert_eq!(
38178             unsafe {
38179                 &(*(::std::ptr::null::<nsXBLBinding>())).mUsingContentXBLScope as *const _ as usize
38180             },
38181             9usize,
38182             concat!(
38183                 "Offset of field: ",
38184                 stringify!(nsXBLBinding),
38185                 "::",
38186                 stringify!(mUsingContentXBLScope)
38187             )
38188         );
38189         assert_eq!(
38190             unsafe {
38191                 &(*(::std::ptr::null::<nsXBLBinding>())).mIsShadowRootBinding as *const _ as usize
38192             },
38193             10usize,
38194             concat!(
38195                 "Offset of field: ",
38196                 stringify!(nsXBLBinding),
38197                 "::",
38198                 stringify!(mIsShadowRootBinding)
38199             )
38200         );
38201         assert_eq!(
38202             unsafe {
38203                 &(*(::std::ptr::null::<nsXBLBinding>())).mPrototypeBinding as *const _ as usize
38204             },
38205             16usize,
38206             concat!(
38207                 "Offset of field: ",
38208                 stringify!(nsXBLBinding),
38209                 "::",
38210                 stringify!(mPrototypeBinding)
38211             )
38212         );
38213         assert_eq!(
38214             unsafe { &(*(::std::ptr::null::<nsXBLBinding>())).mContent as *const _ as usize },
38215             24usize,
38216             concat!(
38217                 "Offset of field: ",
38218                 stringify!(nsXBLBinding),
38219                 "::",
38220                 stringify!(mContent)
38221             )
38222         );
38223         assert_eq!(
38224             unsafe { &(*(::std::ptr::null::<nsXBLBinding>())).mNextBinding as *const _ as usize },
38225             32usize,
38226             concat!(
38227                 "Offset of field: ",
38228                 stringify!(nsXBLBinding),
38229                 "::",
38230                 stringify!(mNextBinding)
38231             )
38232         );
38233         assert_eq!(
38234             unsafe { &(*(::std::ptr::null::<nsXBLBinding>())).mBoundElement as *const _ as usize },
38235             40usize,
38236             concat!(
38237                 "Offset of field: ",
38238                 stringify!(nsXBLBinding),
38239                 "::",
38240                 stringify!(mBoundElement)
38241             )
38242         );
38243         assert_eq!(
38244             unsafe {
38245                 &(*(::std::ptr::null::<nsXBLBinding>())).mDefaultInsertionPoint as *const _ as usize
38246             },
38247             48usize,
38248             concat!(
38249                 "Offset of field: ",
38250                 stringify!(nsXBLBinding),
38251                 "::",
38252                 stringify!(mDefaultInsertionPoint)
38253             )
38254         );
38255         assert_eq!(
38256             unsafe {
38257                 &(*(::std::ptr::null::<nsXBLBinding>())).mInsertionPoints as *const _ as usize
38258             },
38259             56usize,
38260             concat!(
38261                 "Offset of field: ",
38262                 stringify!(nsXBLBinding),
38263                 "::",
38264                 stringify!(mInsertionPoints)
38265             )
38266         );
38267         assert_eq!(
38268             unsafe {
38269                 &(*(::std::ptr::null::<nsXBLBinding>())).mAnonymousContentList as *const _ as usize
38270             },
38271             64usize,
38272             concat!(
38273                 "Offset of field: ",
38274                 stringify!(nsXBLBinding),
38275                 "::",
38276                 stringify!(mAnonymousContentList)
38277             )
38278         );
38279     }
38280     #[repr(C)]
38281     #[derive(Debug, Copy)]
38282     pub struct nsLabelsNodeList {
38283         _unused: [u8; 0],
38284     }
38285     impl Clone for nsLabelsNodeList {
clone(&self) -> Self38286         fn clone(&self) -> Self {
38287             *self
38288         }
38289     }
38290     #[repr(C)]
38291     #[derive(Debug, Copy)]
38292     pub struct nsDOMTokenList {
38293         _unused: [u8; 0],
38294     }
38295     impl Clone for nsDOMTokenList {
clone(&self) -> Self38296         fn clone(&self) -> Self {
38297             *self
38298         }
38299     }
38300     #[repr(C)]
38301     #[derive(Debug, Copy)]
38302     pub struct nsDOMCSSAttributeDeclaration {
38303         _unused: [u8; 0],
38304     }
38305     impl Clone for nsDOMCSSAttributeDeclaration {
clone(&self) -> Self38306         fn clone(&self) -> Self {
38307             *self
38308         }
38309     }
38310     #[repr(C)]
38311     #[derive(Debug, Copy)]
38312     pub struct nsDOMStringMap {
38313         _unused: [u8; 0],
38314     }
38315     impl Clone for nsDOMStringMap {
clone(&self) -> Self38316         fn clone(&self) -> Self {
38317             *self
38318         }
38319     }
38320     /// A class that implements nsIWeakReference
38321     #[repr(C)]
38322     #[derive(Debug)]
38323     pub struct nsNodeWeakReference {
38324         pub _base: root::nsIWeakReference,
38325         pub mRefCnt: root::nsAutoRefCnt,
38326     }
38327     pub type nsNodeWeakReference_HasThreadSafeRefCnt = root::mozilla::FalseType;
38328     #[test]
bindgen_test_layout_nsNodeWeakReference()38329     fn bindgen_test_layout_nsNodeWeakReference() {
38330         assert_eq!(
38331             ::std::mem::size_of::<nsNodeWeakReference>(),
38332             24usize,
38333             concat!("Size of: ", stringify!(nsNodeWeakReference))
38334         );
38335         assert_eq!(
38336             ::std::mem::align_of::<nsNodeWeakReference>(),
38337             8usize,
38338             concat!("Alignment of ", stringify!(nsNodeWeakReference))
38339         );
38340         assert_eq!(
38341             unsafe { &(*(::std::ptr::null::<nsNodeWeakReference>())).mRefCnt as *const _ as usize },
38342             16usize,
38343             concat!(
38344                 "Offset of field: ",
38345                 stringify!(nsNodeWeakReference),
38346                 "::",
38347                 stringify!(mRefCnt)
38348             )
38349         );
38350     }
38351     #[repr(C)]
38352     #[derive(Debug, Copy)]
38353     pub struct nsIDOMElement {
38354         pub _base: root::nsIDOMNode,
38355     }
38356     #[repr(C)]
38357     #[derive(Debug, Copy, Clone)]
38358     pub struct nsIDOMElement_COMTypeInfo {
38359         pub _address: u8,
38360     }
38361     #[test]
bindgen_test_layout_nsIDOMElement()38362     fn bindgen_test_layout_nsIDOMElement() {
38363         assert_eq!(
38364             ::std::mem::size_of::<nsIDOMElement>(),
38365             8usize,
38366             concat!("Size of: ", stringify!(nsIDOMElement))
38367         );
38368         assert_eq!(
38369             ::std::mem::align_of::<nsIDOMElement>(),
38370             8usize,
38371             concat!("Alignment of ", stringify!(nsIDOMElement))
38372         );
38373     }
38374     impl Clone for nsIDOMElement {
clone(&self) -> Self38375         fn clone(&self) -> Self {
38376             *self
38377         }
38378     }
38379     /// Interface used for handling clicks on links
38380     #[repr(C)]
38381     #[derive(Debug, Copy)]
38382     pub struct nsILinkHandler {
38383         pub _base: root::nsISupports,
38384     }
38385     #[repr(C)]
38386     #[derive(Debug, Copy, Clone)]
38387     pub struct nsILinkHandler_COMTypeInfo {
38388         pub _address: u8,
38389     }
38390     #[test]
bindgen_test_layout_nsILinkHandler()38391     fn bindgen_test_layout_nsILinkHandler() {
38392         assert_eq!(
38393             ::std::mem::size_of::<nsILinkHandler>(),
38394             8usize,
38395             concat!("Size of: ", stringify!(nsILinkHandler))
38396         );
38397         assert_eq!(
38398             ::std::mem::align_of::<nsILinkHandler>(),
38399             8usize,
38400             concat!("Alignment of ", stringify!(nsILinkHandler))
38401         );
38402     }
38403     impl Clone for nsILinkHandler {
clone(&self) -> Self38404         fn clone(&self) -> Self {
38405             *self
38406         }
38407     }
38408     #[repr(C)]
38409     pub struct nsIAttribute {
38410         pub _base: root::nsINode,
38411         pub mAttrMap: root::RefPtr<root::nsDOMAttributeMap>,
38412     }
38413     #[repr(C)]
38414     #[derive(Debug, Copy, Clone)]
38415     pub struct nsIAttribute_COMTypeInfo {
38416         pub _address: u8,
38417     }
38418     #[test]
bindgen_test_layout_nsIAttribute()38419     fn bindgen_test_layout_nsIAttribute() {
38420         assert_eq!(
38421             ::std::mem::size_of::<nsIAttribute>(),
38422             96usize,
38423             concat!("Size of: ", stringify!(nsIAttribute))
38424         );
38425         assert_eq!(
38426             ::std::mem::align_of::<nsIAttribute>(),
38427             8usize,
38428             concat!("Alignment of ", stringify!(nsIAttribute))
38429         );
38430         assert_eq!(
38431             unsafe { &(*(::std::ptr::null::<nsIAttribute>())).mAttrMap as *const _ as usize },
38432             88usize,
38433             concat!(
38434                 "Offset of field: ",
38435                 stringify!(nsIAttribute),
38436                 "::",
38437                 stringify!(mAttrMap)
38438             )
38439         );
38440     }
38441     /// There are two advantages to inheriting from nsStubMutationObserver
38442     /// rather than directly from nsIMutationObserver:
38443     /// 1. smaller compiled code size (since there's no need for the code
38444     /// for the empty virtual function implementations for every
38445     /// nsIMutationObserver implementation)
38446     /// 2. the performance of document's loop over observers benefits from
38447     /// the fact that more of the functions called are the same (which
38448     /// can reduce instruction cache misses and perhaps improve branch
38449     /// prediction)
38450     #[repr(C)]
38451     #[derive(Debug, Copy)]
38452     pub struct nsStubMutationObserver {
38453         pub _base: root::nsIMutationObserver,
38454     }
38455     #[test]
bindgen_test_layout_nsStubMutationObserver()38456     fn bindgen_test_layout_nsStubMutationObserver() {
38457         assert_eq!(
38458             ::std::mem::size_of::<nsStubMutationObserver>(),
38459             8usize,
38460             concat!("Size of: ", stringify!(nsStubMutationObserver))
38461         );
38462         assert_eq!(
38463             ::std::mem::align_of::<nsStubMutationObserver>(),
38464             8usize,
38465             concat!("Alignment of ", stringify!(nsStubMutationObserver))
38466         );
38467     }
38468     impl Clone for nsStubMutationObserver {
clone(&self) -> Self38469         fn clone(&self) -> Self {
38470             *self
38471         }
38472     }
38473     /// Structure used as a key for caching Attrs in nsDOMAttributeMap's mAttributeCache.
38474     #[repr(C)]
38475     #[derive(Debug, Copy)]
38476     pub struct nsAttrKey {
38477         /// The namespace of the attribute
38478         pub mNamespaceID: i32,
38479         /// The atom for attribute, stored as void*, to make sure that we only use it
38480         /// for the hashcode, and we can never dereference it.
38481         pub mLocalName: *mut ::std::os::raw::c_void,
38482     }
38483     #[test]
bindgen_test_layout_nsAttrKey()38484     fn bindgen_test_layout_nsAttrKey() {
38485         assert_eq!(
38486             ::std::mem::size_of::<nsAttrKey>(),
38487             16usize,
38488             concat!("Size of: ", stringify!(nsAttrKey))
38489         );
38490         assert_eq!(
38491             ::std::mem::align_of::<nsAttrKey>(),
38492             8usize,
38493             concat!("Alignment of ", stringify!(nsAttrKey))
38494         );
38495         assert_eq!(
38496             unsafe { &(*(::std::ptr::null::<nsAttrKey>())).mNamespaceID as *const _ as usize },
38497             0usize,
38498             concat!(
38499                 "Offset of field: ",
38500                 stringify!(nsAttrKey),
38501                 "::",
38502                 stringify!(mNamespaceID)
38503             )
38504         );
38505         assert_eq!(
38506             unsafe { &(*(::std::ptr::null::<nsAttrKey>())).mLocalName as *const _ as usize },
38507             8usize,
38508             concat!(
38509                 "Offset of field: ",
38510                 stringify!(nsAttrKey),
38511                 "::",
38512                 stringify!(mLocalName)
38513             )
38514         );
38515     }
38516     impl Clone for nsAttrKey {
clone(&self) -> Self38517         fn clone(&self) -> Self {
38518             *self
38519         }
38520     }
38521     /// PLDHashEntryHdr implementation for nsAttrKey.
38522     #[repr(C)]
38523     #[derive(Debug)]
38524     pub struct nsAttrHashKey {
38525         pub _base: root::PLDHashEntryHdr,
38526         pub mKey: root::nsAttrKey,
38527     }
38528     pub type nsAttrHashKey_KeyType = *const root::nsAttrKey;
38529     pub type nsAttrHashKey_KeyTypePointer = *const root::nsAttrKey;
38530     pub const nsAttrHashKey_ALLOW_MEMMOVE: root::nsAttrHashKey__bindgen_ty_1 = 1;
38531     pub type nsAttrHashKey__bindgen_ty_1 = u32;
38532     #[test]
bindgen_test_layout_nsAttrHashKey()38533     fn bindgen_test_layout_nsAttrHashKey() {
38534         assert_eq!(
38535             ::std::mem::size_of::<nsAttrHashKey>(),
38536             24usize,
38537             concat!("Size of: ", stringify!(nsAttrHashKey))
38538         );
38539         assert_eq!(
38540             ::std::mem::align_of::<nsAttrHashKey>(),
38541             8usize,
38542             concat!("Alignment of ", stringify!(nsAttrHashKey))
38543         );
38544         assert_eq!(
38545             unsafe { &(*(::std::ptr::null::<nsAttrHashKey>())).mKey as *const _ as usize },
38546             8usize,
38547             concat!(
38548                 "Offset of field: ",
38549                 stringify!(nsAttrHashKey),
38550                 "::",
38551                 stringify!(mKey)
38552             )
38553         );
38554     }
38555     #[repr(C)]
38556     pub struct nsDOMAttributeMap {
38557         pub _base: root::nsISupports,
38558         pub _base_1: root::nsWrapperCache,
38559         pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
38560         pub mContent: root::nsCOMPtr,
38561         /// Cache of Attrs.
38562         pub mAttributeCache: root::nsDOMAttributeMap_AttrCache,
38563     }
38564     pub type nsDOMAttributeMap_Attr = root::mozilla::dom::Attr;
38565     pub type nsDOMAttributeMap_DocGroup = root::mozilla::dom::DocGroup;
38566     pub type nsDOMAttributeMap_Element = root::mozilla::dom::Element;
38567     pub type nsDOMAttributeMap_HasThreadSafeRefCnt = root::mozilla::FalseType;
38568     #[repr(C)]
38569     #[derive(Debug, Copy)]
38570     pub struct nsDOMAttributeMap_cycleCollection {
38571         pub _base: root::nsXPCOMCycleCollectionParticipant,
38572     }
38573     #[test]
bindgen_test_layout_nsDOMAttributeMap_cycleCollection()38574     fn bindgen_test_layout_nsDOMAttributeMap_cycleCollection() {
38575         assert_eq!(
38576             ::std::mem::size_of::<nsDOMAttributeMap_cycleCollection>(),
38577             16usize,
38578             concat!("Size of: ", stringify!(nsDOMAttributeMap_cycleCollection))
38579         );
38580         assert_eq!(
38581             ::std::mem::align_of::<nsDOMAttributeMap_cycleCollection>(),
38582             8usize,
38583             concat!(
38584                 "Alignment of ",
38585                 stringify!(nsDOMAttributeMap_cycleCollection)
38586             )
38587         );
38588     }
38589     impl Clone for nsDOMAttributeMap_cycleCollection {
clone(&self) -> Self38590         fn clone(&self) -> Self {
38591             *self
38592         }
38593     }
38594     pub type nsDOMAttributeMap_AttrCache = [u64; 4usize];
38595     extern "C" {
38596         #[link_name = "\u{1}_ZN17nsDOMAttributeMap21_cycleCollectorGlobalE"]
38597         pub static mut nsDOMAttributeMap__cycleCollectorGlobal:
38598             root::nsDOMAttributeMap_cycleCollection;
38599     }
38600     #[test]
bindgen_test_layout_nsDOMAttributeMap()38601     fn bindgen_test_layout_nsDOMAttributeMap() {
38602         assert_eq!(
38603             ::std::mem::size_of::<nsDOMAttributeMap>(),
38604             80usize,
38605             concat!("Size of: ", stringify!(nsDOMAttributeMap))
38606         );
38607         assert_eq!(
38608             ::std::mem::align_of::<nsDOMAttributeMap>(),
38609             8usize,
38610             concat!("Alignment of ", stringify!(nsDOMAttributeMap))
38611         );
38612     }
38613     #[repr(C)]
38614     pub struct nsISMILAttr__bindgen_vtable(::std::os::raw::c_void);
38615     ///
38616     #[repr(C)]
38617     #[derive(Debug)]
38618     pub struct nsISMILAttr {
38619         pub vtable_: *const nsISMILAttr__bindgen_vtable,
38620     }
38621     #[test]
bindgen_test_layout_nsISMILAttr()38622     fn bindgen_test_layout_nsISMILAttr() {
38623         assert_eq!(
38624             ::std::mem::size_of::<nsISMILAttr>(),
38625             8usize,
38626             concat!("Size of: ", stringify!(nsISMILAttr))
38627         );
38628         assert_eq!(
38629             ::std::mem::align_of::<nsISMILAttr>(),
38630             8usize,
38631             concat!("Alignment of ", stringify!(nsISMILAttr))
38632         );
38633     }
38634     /// nsITheme is a service that provides platform-specific native
38635     /// rendering for widgets.  In other words, it provides the necessary
38636     /// operations to draw a rendering object (an nsIFrame) as a native
38637     /// widget.
38638     ///
38639     /// All the methods on nsITheme take a rendering context or device
38640     /// context, a frame (the rendering object), and a widget type (one of
38641     /// the constants in nsThemeConstants.h).
38642     #[repr(C)]
38643     #[derive(Debug, Copy)]
38644     pub struct nsITheme {
38645         pub _base: root::nsISupports,
38646     }
38647     #[repr(C)]
38648     #[derive(Debug, Copy, Clone)]
38649     pub struct nsITheme_COMTypeInfo {
38650         pub _address: u8,
38651     }
38652     pub const nsITheme_Transparency_eOpaque: root::nsITheme_Transparency = 0;
38653     pub const nsITheme_Transparency_eTransparent: root::nsITheme_Transparency = 1;
38654     pub const nsITheme_Transparency_eUnknownTransparency: root::nsITheme_Transparency = 2;
38655     pub type nsITheme_Transparency = u32;
38656     /// ThemeGeometryType values are used for describing themed nsIFrames in
38657     /// calls to nsIWidget::UpdateThemeGeometries. We don't simply pass the
38658     /// -moz-appearance value ("widget type") of the frame because the widget may
38659     /// want to treat different frames with the same -moz-appearance differently
38660     /// based on other properties of the frame. So we give the theme a first look
38661     /// at the frame in nsITheme::ThemeGeometryTypeForWidget and pass the
38662     /// returned ThemeGeometryType along to the widget.
38663     /// Each theme backend defines the ThemeGeometryType values it needs in its
38664     /// own nsITheme subclass. eThemeGeometryTypeUnknown is the only value that's
38665     /// shared between backends.
38666     pub type nsITheme_ThemeGeometryType = u8;
38667     pub const nsITheme_eThemeGeometryTypeUnknown: root::nsITheme__bindgen_ty_1 = 0;
38668     pub type nsITheme__bindgen_ty_1 = u32;
38669     #[test]
bindgen_test_layout_nsITheme()38670     fn bindgen_test_layout_nsITheme() {
38671         assert_eq!(
38672             ::std::mem::size_of::<nsITheme>(),
38673             8usize,
38674             concat!("Size of: ", stringify!(nsITheme))
38675         );
38676         assert_eq!(
38677             ::std::mem::align_of::<nsITheme>(),
38678             8usize,
38679             concat!("Alignment of ", stringify!(nsITheme))
38680         );
38681     }
38682     impl Clone for nsITheme {
clone(&self) -> Self38683         fn clone(&self) -> Self {
38684             *self
38685         }
38686     }
38687     pub type nsIWidget_LayoutDeviceIntPoint = root::mozilla::LayoutDeviceIntPoint;
38688     #[repr(C)]
38689     #[derive(Debug)]
38690     pub struct nsIWidget_LongTapInfo {
38691         pub mPointerId: i32,
38692         pub mPosition: root::nsIWidget_LayoutDeviceIntPoint,
38693         pub mDuration: root::mozilla::TimeDuration,
38694         pub mObserver: root::nsCOMPtr,
38695         pub mStamp: root::mozilla::TimeStamp,
38696     }
38697     #[test]
bindgen_test_layout_nsIWidget_LongTapInfo()38698     fn bindgen_test_layout_nsIWidget_LongTapInfo() {
38699         assert_eq!(
38700             ::std::mem::size_of::<nsIWidget_LongTapInfo>(),
38701             40usize,
38702             concat!("Size of: ", stringify!(nsIWidget_LongTapInfo))
38703         );
38704         assert_eq!(
38705             ::std::mem::align_of::<nsIWidget_LongTapInfo>(),
38706             8usize,
38707             concat!("Alignment of ", stringify!(nsIWidget_LongTapInfo))
38708         );
38709         assert_eq!(
38710             unsafe {
38711                 &(*(::std::ptr::null::<nsIWidget_LongTapInfo>())).mPointerId as *const _ as usize
38712             },
38713             0usize,
38714             concat!(
38715                 "Offset of field: ",
38716                 stringify!(nsIWidget_LongTapInfo),
38717                 "::",
38718                 stringify!(mPointerId)
38719             )
38720         );
38721         assert_eq!(
38722             unsafe {
38723                 &(*(::std::ptr::null::<nsIWidget_LongTapInfo>())).mPosition as *const _ as usize
38724             },
38725             4usize,
38726             concat!(
38727                 "Offset of field: ",
38728                 stringify!(nsIWidget_LongTapInfo),
38729                 "::",
38730                 stringify!(mPosition)
38731             )
38732         );
38733         assert_eq!(
38734             unsafe {
38735                 &(*(::std::ptr::null::<nsIWidget_LongTapInfo>())).mDuration as *const _ as usize
38736             },
38737             16usize,
38738             concat!(
38739                 "Offset of field: ",
38740                 stringify!(nsIWidget_LongTapInfo),
38741                 "::",
38742                 stringify!(mDuration)
38743             )
38744         );
38745         assert_eq!(
38746             unsafe {
38747                 &(*(::std::ptr::null::<nsIWidget_LongTapInfo>())).mObserver as *const _ as usize
38748             },
38749             24usize,
38750             concat!(
38751                 "Offset of field: ",
38752                 stringify!(nsIWidget_LongTapInfo),
38753                 "::",
38754                 stringify!(mObserver)
38755             )
38756         );
38757         assert_eq!(
38758             unsafe {
38759                 &(*(::std::ptr::null::<nsIWidget_LongTapInfo>())).mStamp as *const _ as usize
38760             },
38761             32usize,
38762             concat!(
38763                 "Offset of field: ",
38764                 stringify!(nsIWidget_LongTapInfo),
38765                 "::",
38766                 stringify!(mStamp)
38767             )
38768         );
38769     }
38770     pub const ELEMENT_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_79 = 8388608;
38771     pub const ELEMENT_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_79 = 16777216;
38772     pub const ELEMENT_SHARED_RESTYLE_BIT_3: root::_bindgen_ty_79 = 33554432;
38773     pub const ELEMENT_SHARED_RESTYLE_BIT_4: root::_bindgen_ty_79 = 67108864;
38774     pub const ELEMENT_SHARED_RESTYLE_BITS: root::_bindgen_ty_79 = 125829120;
38775     pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_79 = 8388608;
38776     pub const ELEMENT_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_79 =
38777         16777216;
38778     pub const ELEMENT_HAS_SNAPSHOT: root::_bindgen_ty_79 = 33554432;
38779     pub const ELEMENT_HANDLED_SNAPSHOT: root::_bindgen_ty_79 = 67108864;
38780     pub const ELEMENT_HAS_PENDING_RESTYLE: root::_bindgen_ty_79 = 8388608;
38781     pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT: root::_bindgen_ty_79 = 16777216;
38782     pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE: root::_bindgen_ty_79 = 33554432;
38783     pub const ELEMENT_IS_POTENTIAL_ANIMATION_ONLY_RESTYLE_ROOT: root::_bindgen_ty_79 = 67108864;
38784     pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR: root::_bindgen_ty_79 = 134217728;
38785     pub const ELEMENT_HAS_CHILD_WITH_LATER_SIBLINGS_HINT: root::_bindgen_ty_79 = 268435456;
38786     pub const ELEMENT_PENDING_RESTYLE_FLAGS: root::_bindgen_ty_79 = 41943040;
38787     pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS: root::_bindgen_ty_79 = 83886080;
38788     pub const ELEMENT_ALL_RESTYLE_FLAGS: root::_bindgen_ty_79 = 260046848;
38789     pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_79 = 27;
38790     pub type _bindgen_ty_79 = u32;
38791     pub type nsStyledElementBase = root::mozilla::dom::Element;
38792     #[repr(C)]
38793     pub struct nsStyledElement {
38794         pub _base: root::nsStyledElementBase,
38795     }
38796     #[repr(C)]
38797     #[derive(Debug, Copy, Clone)]
38798     pub struct nsStyledElement_COMTypeInfo {
38799         pub _address: u8,
38800     }
38801     #[test]
bindgen_test_layout_nsStyledElement()38802     fn bindgen_test_layout_nsStyledElement() {
38803         assert_eq!(
38804             ::std::mem::size_of::<nsStyledElement>(),
38805             120usize,
38806             concat!("Size of: ", stringify!(nsStyledElement))
38807         );
38808         assert_eq!(
38809             ::std::mem::align_of::<nsStyledElement>(),
38810             8usize,
38811             concat!("Alignment of ", stringify!(nsStyledElement))
38812         );
38813     }
38814     pub type nsMappedAttributeElementBase = root::nsStyledElement;
38815     #[repr(C)]
38816     pub struct nsMappedAttributeElement {
38817         pub _base: root::nsMappedAttributeElementBase,
38818     }
38819     #[test]
bindgen_test_layout_nsMappedAttributeElement()38820     fn bindgen_test_layout_nsMappedAttributeElement() {
38821         assert_eq!(
38822             ::std::mem::size_of::<nsMappedAttributeElement>(),
38823             120usize,
38824             concat!("Size of: ", stringify!(nsMappedAttributeElement))
38825         );
38826         assert_eq!(
38827             ::std::mem::align_of::<nsMappedAttributeElement>(),
38828             8usize,
38829             concat!("Alignment of ", stringify!(nsMappedAttributeElement))
38830         );
38831     }
38832     /// The Name Space Manager tracks the association between a NameSpace
38833     /// URI and the int32_t runtime id. Mappings between NameSpaces and
38834     /// NameSpace prefixes are managed by nsINameSpaces.
38835     ///
38836     /// All NameSpace URIs are stored in a global table so that IDs are
38837     /// consistent accross the app. NameSpace IDs are only consistent at runtime
38838     /// ie: they are not guaranteed to be consistent accross app sessions.
38839     ///
38840     /// The nsNameSpaceManager needs to have a live reference for as long as
38841     /// the NameSpace IDs are needed.
38842     ///
38843     #[repr(C)]
38844     #[derive(Debug)]
38845     pub struct nsNameSpaceManager {
38846         pub _base: root::nsIObserver,
38847         pub mRefCnt: root::nsAutoRefCnt,
38848         pub mMathMLDisabled: bool,
38849         pub mSVGDisabled: bool,
38850         pub mURIToIDTable: [u64; 4usize],
38851         pub mDisabledURIToIDTable: [u64; 4usize],
38852         pub mURIArray: root::nsTArray<root::RefPtr<root::nsAtom>>,
38853     }
38854     pub type nsNameSpaceManager_HasThreadSafeRefCnt = root::mozilla::FalseType;
38855     extern "C" {
38856         #[link_name = "\u{1}_ZN18nsNameSpaceManager9sInstanceE"]
38857         pub static mut nsNameSpaceManager_sInstance:
38858             root::mozilla::StaticRefPtr<root::nsNameSpaceManager>;
38859     }
38860     #[test]
bindgen_test_layout_nsNameSpaceManager()38861     fn bindgen_test_layout_nsNameSpaceManager() {
38862         assert_eq!(
38863             ::std::mem::size_of::<nsNameSpaceManager>(),
38864             96usize,
38865             concat!("Size of: ", stringify!(nsNameSpaceManager))
38866         );
38867         assert_eq!(
38868             ::std::mem::align_of::<nsNameSpaceManager>(),
38869             8usize,
38870             concat!("Alignment of ", stringify!(nsNameSpaceManager))
38871         );
38872         assert_eq!(
38873             unsafe { &(*(::std::ptr::null::<nsNameSpaceManager>())).mRefCnt as *const _ as usize },
38874             8usize,
38875             concat!(
38876                 "Offset of field: ",
38877                 stringify!(nsNameSpaceManager),
38878                 "::",
38879                 stringify!(mRefCnt)
38880             )
38881         );
38882         assert_eq!(
38883             unsafe {
38884                 &(*(::std::ptr::null::<nsNameSpaceManager>())).mMathMLDisabled as *const _ as usize
38885             },
38886             16usize,
38887             concat!(
38888                 "Offset of field: ",
38889                 stringify!(nsNameSpaceManager),
38890                 "::",
38891                 stringify!(mMathMLDisabled)
38892             )
38893         );
38894         assert_eq!(
38895             unsafe {
38896                 &(*(::std::ptr::null::<nsNameSpaceManager>())).mSVGDisabled as *const _ as usize
38897             },
38898             17usize,
38899             concat!(
38900                 "Offset of field: ",
38901                 stringify!(nsNameSpaceManager),
38902                 "::",
38903                 stringify!(mSVGDisabled)
38904             )
38905         );
38906         assert_eq!(
38907             unsafe {
38908                 &(*(::std::ptr::null::<nsNameSpaceManager>())).mURIToIDTable as *const _ as usize
38909             },
38910             24usize,
38911             concat!(
38912                 "Offset of field: ",
38913                 stringify!(nsNameSpaceManager),
38914                 "::",
38915                 stringify!(mURIToIDTable)
38916             )
38917         );
38918         assert_eq!(
38919             unsafe {
38920                 &(*(::std::ptr::null::<nsNameSpaceManager>())).mDisabledURIToIDTable as *const _
38921                     as usize
38922             },
38923             56usize,
38924             concat!(
38925                 "Offset of field: ",
38926                 stringify!(nsNameSpaceManager),
38927                 "::",
38928                 stringify!(mDisabledURIToIDTable)
38929             )
38930         );
38931         assert_eq!(
38932             unsafe {
38933                 &(*(::std::ptr::null::<nsNameSpaceManager>())).mURIArray as *const _ as usize
38934             },
38935             88usize,
38936             concat!(
38937                 "Offset of field: ",
38938                 stringify!(nsNameSpaceManager),
38939                 "::",
38940                 stringify!(mURIArray)
38941             )
38942         );
38943     }
38944     pub type nsGenericHTMLElementBase = root::nsMappedAttributeElement;
38945     /// A common superclass for HTML elements
38946     #[repr(C)]
38947     pub struct nsGenericHTMLElement {
38948         pub _base: root::nsGenericHTMLElementBase,
38949         pub _base_1: root::nsIDOMElement,
38950     }
38951     pub const nsGenericHTMLElement_PresContextFor_eForComposedDoc:
38952         root::nsGenericHTMLElement_PresContextFor = 0;
38953     pub const nsGenericHTMLElement_PresContextFor_eForUncomposedDoc:
38954         root::nsGenericHTMLElement_PresContextFor = 1;
38955     /// Get the presentation context for this content node.
38956     /// @return the presentation context
38957     pub type nsGenericHTMLElement_PresContextFor = u32;
38958     pub const nsGenericHTMLElement_ContentEditableTristate_eInherit:
38959         root::nsGenericHTMLElement_ContentEditableTristate = -1;
38960     pub const nsGenericHTMLElement_ContentEditableTristate_eFalse:
38961         root::nsGenericHTMLElement_ContentEditableTristate = 0;
38962     pub const nsGenericHTMLElement_ContentEditableTristate_eTrue:
38963         root::nsGenericHTMLElement_ContentEditableTristate = 1;
38964     pub type nsGenericHTMLElement_ContentEditableTristate = i32;
38965     extern "C" {
38966         #[link_name = "\u{1}_ZN20nsGenericHTMLElement19sCommonAttributeMapE"]
38967         pub static mut nsGenericHTMLElement_sCommonAttributeMap:
38968             [root::mozilla::dom::Element_MappedAttributeEntry; 0usize];
38969     }
38970     extern "C" {
38971         #[link_name = "\u{1}_ZN20nsGenericHTMLElement28sImageMarginSizeAttributeMapE"]
38972         pub static mut nsGenericHTMLElement_sImageMarginSizeAttributeMap:
38973             [root::mozilla::dom::Element_MappedAttributeEntry; 0usize];
38974     }
38975     extern "C" {
38976         #[link_name = "\u{1}_ZN20nsGenericHTMLElement24sImageBorderAttributeMapE"]
38977         pub static mut nsGenericHTMLElement_sImageBorderAttributeMap:
38978             [root::mozilla::dom::Element_MappedAttributeEntry; 0usize];
38979     }
38980     extern "C" {
38981         #[link_name = "\u{1}_ZN20nsGenericHTMLElement23sImageAlignAttributeMapE"]
38982         pub static mut nsGenericHTMLElement_sImageAlignAttributeMap:
38983             [root::mozilla::dom::Element_MappedAttributeEntry; 0usize];
38984     }
38985     extern "C" {
38986         #[link_name = "\u{1}_ZN20nsGenericHTMLElement21sDivAlignAttributeMapE"]
38987         pub static mut nsGenericHTMLElement_sDivAlignAttributeMap:
38988             [root::mozilla::dom::Element_MappedAttributeEntry; 0usize];
38989     }
38990     extern "C" {
38991         #[link_name = "\u{1}_ZN20nsGenericHTMLElement23sBackgroundAttributeMapE"]
38992         pub static mut nsGenericHTMLElement_sBackgroundAttributeMap:
38993             [root::mozilla::dom::Element_MappedAttributeEntry; 0usize];
38994     }
38995     extern "C" {
38996         #[link_name = "\u{1}_ZN20nsGenericHTMLElement28sBackgroundColorAttributeMapE"]
38997         pub static mut nsGenericHTMLElement_sBackgroundColorAttributeMap:
38998             [root::mozilla::dom::Element_MappedAttributeEntry; 0usize];
38999     }
39000     #[test]
bindgen_test_layout_nsGenericHTMLElement()39001     fn bindgen_test_layout_nsGenericHTMLElement() {
39002         assert_eq!(
39003             ::std::mem::size_of::<nsGenericHTMLElement>(),
39004             128usize,
39005             concat!("Size of: ", stringify!(nsGenericHTMLElement))
39006         );
39007         assert_eq!(
39008             ::std::mem::align_of::<nsGenericHTMLElement>(),
39009             8usize,
39010             concat!("Alignment of ", stringify!(nsGenericHTMLElement))
39011         );
39012     }
39013     #[repr(C)]
39014     #[derive(Debug, Copy)]
39015     pub struct nsIDOMDocumentFragment {
39016         pub _base: root::nsIDOMNode,
39017     }
39018     #[repr(C)]
39019     #[derive(Debug, Copy, Clone)]
39020     pub struct nsIDOMDocumentFragment_COMTypeInfo {
39021         pub _address: u8,
39022     }
39023     #[test]
bindgen_test_layout_nsIDOMDocumentFragment()39024     fn bindgen_test_layout_nsIDOMDocumentFragment() {
39025         assert_eq!(
39026             ::std::mem::size_of::<nsIDOMDocumentFragment>(),
39027             8usize,
39028             concat!("Size of: ", stringify!(nsIDOMDocumentFragment))
39029         );
39030         assert_eq!(
39031             ::std::mem::align_of::<nsIDOMDocumentFragment>(),
39032             8usize,
39033             concat!("Alignment of ", stringify!(nsIDOMDocumentFragment))
39034         );
39035     }
39036     impl Clone for nsIDOMDocumentFragment {
clone(&self) -> Self39037         fn clone(&self) -> Self {
39038             *self
39039         }
39040     }
39041     /// Shared superclass for mozilla::css::StyleRule and mozilla::ServoStyleRule,
39042     /// for use from bindings code.
39043     #[repr(C)]
39044     #[derive(Debug)]
39045     pub struct nsICSSDeclaration {
39046         pub _base: root::nsISupports,
39047         pub _base_1: root::nsWrapperCache,
39048     }
39049     #[repr(C)]
39050     #[derive(Debug, Copy, Clone)]
39051     pub struct nsICSSDeclaration_COMTypeInfo {
39052         pub _address: u8,
39053     }
39054     #[test]
bindgen_test_layout_nsICSSDeclaration()39055     fn bindgen_test_layout_nsICSSDeclaration() {
39056         assert_eq!(
39057             ::std::mem::size_of::<nsICSSDeclaration>(),
39058             32usize,
39059             concat!("Size of: ", stringify!(nsICSSDeclaration))
39060         );
39061         assert_eq!(
39062             ::std::mem::align_of::<nsICSSDeclaration>(),
39063             8usize,
39064             concat!("Alignment of ", stringify!(nsICSSDeclaration))
39065         );
39066     }
39067     #[repr(C)]
39068     #[derive(Debug)]
39069     pub struct nsDOMCSSDeclaration {
39070         pub _base: root::nsICSSDeclaration,
39071     }
39072     #[repr(C)]
39073     #[derive(Debug)]
39074     pub struct nsDOMCSSDeclaration_ServoCSSParsingEnvironment {
39075         pub mUrlExtraData: root::RefPtr<root::mozilla::URLExtraData>,
39076         pub mCompatMode: root::nsCompatibility,
39077         pub mLoader: *mut root::mozilla::css::Loader,
39078     }
39079     #[test]
bindgen_test_layout_nsDOMCSSDeclaration_ServoCSSParsingEnvironment()39080     fn bindgen_test_layout_nsDOMCSSDeclaration_ServoCSSParsingEnvironment() {
39081         assert_eq!(
39082             ::std::mem::size_of::<nsDOMCSSDeclaration_ServoCSSParsingEnvironment>(),
39083             24usize,
39084             concat!(
39085                 "Size of: ",
39086                 stringify!(nsDOMCSSDeclaration_ServoCSSParsingEnvironment)
39087             )
39088         );
39089         assert_eq!(
39090             ::std::mem::align_of::<nsDOMCSSDeclaration_ServoCSSParsingEnvironment>(),
39091             8usize,
39092             concat!(
39093                 "Alignment of ",
39094                 stringify!(nsDOMCSSDeclaration_ServoCSSParsingEnvironment)
39095             )
39096         );
39097         assert_eq!(
39098             unsafe {
39099                 &(*(::std::ptr::null::<nsDOMCSSDeclaration_ServoCSSParsingEnvironment>()))
39100                     .mUrlExtraData as *const _ as usize
39101             },
39102             0usize,
39103             concat!(
39104                 "Offset of field: ",
39105                 stringify!(nsDOMCSSDeclaration_ServoCSSParsingEnvironment),
39106                 "::",
39107                 stringify!(mUrlExtraData)
39108             )
39109         );
39110         assert_eq!(
39111             unsafe {
39112                 &(*(::std::ptr::null::<nsDOMCSSDeclaration_ServoCSSParsingEnvironment>()))
39113                     .mCompatMode as *const _ as usize
39114             },
39115             8usize,
39116             concat!(
39117                 "Offset of field: ",
39118                 stringify!(nsDOMCSSDeclaration_ServoCSSParsingEnvironment),
39119                 "::",
39120                 stringify!(mCompatMode)
39121             )
39122         );
39123         assert_eq!(
39124             unsafe {
39125                 &(*(::std::ptr::null::<nsDOMCSSDeclaration_ServoCSSParsingEnvironment>())).mLoader
39126                     as *const _ as usize
39127             },
39128             16usize,
39129             concat!(
39130                 "Offset of field: ",
39131                 stringify!(nsDOMCSSDeclaration_ServoCSSParsingEnvironment),
39132                 "::",
39133                 stringify!(mLoader)
39134             )
39135         );
39136     }
39137     pub const nsDOMCSSDeclaration_Operation_eOperation_Read: root::nsDOMCSSDeclaration_Operation =
39138         0;
39139     pub const nsDOMCSSDeclaration_Operation_eOperation_Modify: root::nsDOMCSSDeclaration_Operation =
39140         1;
39141     pub const nsDOMCSSDeclaration_Operation_eOperation_RemoveProperty:
39142         root::nsDOMCSSDeclaration_Operation = 2;
39143     pub type nsDOMCSSDeclaration_Operation = u32;
39144     #[repr(C)]
39145     #[derive(Debug)]
39146     pub struct nsDOMCSSDeclaration_CSSParsingEnvironment {
39147         pub mSheetURI: *mut root::nsIURI,
39148         pub mBaseURI: root::nsCOMPtr,
39149         pub mPrincipal: *mut root::nsIPrincipal,
39150         pub mCSSLoader: *mut root::mozilla::css::Loader,
39151     }
39152     #[test]
bindgen_test_layout_nsDOMCSSDeclaration_CSSParsingEnvironment()39153     fn bindgen_test_layout_nsDOMCSSDeclaration_CSSParsingEnvironment() {
39154         assert_eq!(
39155             ::std::mem::size_of::<nsDOMCSSDeclaration_CSSParsingEnvironment>(),
39156             32usize,
39157             concat!(
39158                 "Size of: ",
39159                 stringify!(nsDOMCSSDeclaration_CSSParsingEnvironment)
39160             )
39161         );
39162         assert_eq!(
39163             ::std::mem::align_of::<nsDOMCSSDeclaration_CSSParsingEnvironment>(),
39164             8usize,
39165             concat!(
39166                 "Alignment of ",
39167                 stringify!(nsDOMCSSDeclaration_CSSParsingEnvironment)
39168             )
39169         );
39170         assert_eq!(
39171             unsafe {
39172                 &(*(::std::ptr::null::<nsDOMCSSDeclaration_CSSParsingEnvironment>())).mSheetURI
39173                     as *const _ as usize
39174             },
39175             0usize,
39176             concat!(
39177                 "Offset of field: ",
39178                 stringify!(nsDOMCSSDeclaration_CSSParsingEnvironment),
39179                 "::",
39180                 stringify!(mSheetURI)
39181             )
39182         );
39183         assert_eq!(
39184             unsafe {
39185                 &(*(::std::ptr::null::<nsDOMCSSDeclaration_CSSParsingEnvironment>())).mBaseURI
39186                     as *const _ as usize
39187             },
39188             8usize,
39189             concat!(
39190                 "Offset of field: ",
39191                 stringify!(nsDOMCSSDeclaration_CSSParsingEnvironment),
39192                 "::",
39193                 stringify!(mBaseURI)
39194             )
39195         );
39196         assert_eq!(
39197             unsafe {
39198                 &(*(::std::ptr::null::<nsDOMCSSDeclaration_CSSParsingEnvironment>())).mPrincipal
39199                     as *const _ as usize
39200             },
39201             16usize,
39202             concat!(
39203                 "Offset of field: ",
39204                 stringify!(nsDOMCSSDeclaration_CSSParsingEnvironment),
39205                 "::",
39206                 stringify!(mPrincipal)
39207             )
39208         );
39209         assert_eq!(
39210             unsafe {
39211                 &(*(::std::ptr::null::<nsDOMCSSDeclaration_CSSParsingEnvironment>())).mCSSLoader
39212                     as *const _ as usize
39213             },
39214             24usize,
39215             concat!(
39216                 "Offset of field: ",
39217                 stringify!(nsDOMCSSDeclaration_CSSParsingEnvironment),
39218                 "::",
39219                 stringify!(mCSSLoader)
39220             )
39221         );
39222     }
39223     #[test]
bindgen_test_layout_nsDOMCSSDeclaration()39224     fn bindgen_test_layout_nsDOMCSSDeclaration() {
39225         assert_eq!(
39226             ::std::mem::size_of::<nsDOMCSSDeclaration>(),
39227             32usize,
39228             concat!("Size of: ", stringify!(nsDOMCSSDeclaration))
39229         );
39230         assert_eq!(
39231             ::std::mem::align_of::<nsDOMCSSDeclaration>(),
39232             8usize,
39233             concat!("Alignment of ", stringify!(nsDOMCSSDeclaration))
39234         );
39235     }
39236     /// Utility class to provide scaling defined in a keySplines element.
39237     #[repr(C)]
39238     #[derive(Debug, Copy)]
39239     pub struct nsSMILKeySpline {
39240         pub mX1: f64,
39241         pub mY1: f64,
39242         pub mX2: f64,
39243         pub mY2: f64,
39244         pub mSampleValues: [f64; 11usize],
39245     }
39246     pub const nsSMILKeySpline_kSplineTableSize: root::nsSMILKeySpline__bindgen_ty_1 = 11;
39247     pub type nsSMILKeySpline__bindgen_ty_1 = u32;
39248     extern "C" {
39249         #[link_name = "\u{1}_ZN15nsSMILKeySpline15kSampleStepSizeE"]
39250         pub static mut nsSMILKeySpline_kSampleStepSize: f64;
39251     }
39252     #[test]
bindgen_test_layout_nsSMILKeySpline()39253     fn bindgen_test_layout_nsSMILKeySpline() {
39254         assert_eq!(
39255             ::std::mem::size_of::<nsSMILKeySpline>(),
39256             120usize,
39257             concat!("Size of: ", stringify!(nsSMILKeySpline))
39258         );
39259         assert_eq!(
39260             ::std::mem::align_of::<nsSMILKeySpline>(),
39261             8usize,
39262             concat!("Alignment of ", stringify!(nsSMILKeySpline))
39263         );
39264         assert_eq!(
39265             unsafe { &(*(::std::ptr::null::<nsSMILKeySpline>())).mX1 as *const _ as usize },
39266             0usize,
39267             concat!(
39268                 "Offset of field: ",
39269                 stringify!(nsSMILKeySpline),
39270                 "::",
39271                 stringify!(mX1)
39272             )
39273         );
39274         assert_eq!(
39275             unsafe { &(*(::std::ptr::null::<nsSMILKeySpline>())).mY1 as *const _ as usize },
39276             8usize,
39277             concat!(
39278                 "Offset of field: ",
39279                 stringify!(nsSMILKeySpline),
39280                 "::",
39281                 stringify!(mY1)
39282             )
39283         );
39284         assert_eq!(
39285             unsafe { &(*(::std::ptr::null::<nsSMILKeySpline>())).mX2 as *const _ as usize },
39286             16usize,
39287             concat!(
39288                 "Offset of field: ",
39289                 stringify!(nsSMILKeySpline),
39290                 "::",
39291                 stringify!(mX2)
39292             )
39293         );
39294         assert_eq!(
39295             unsafe { &(*(::std::ptr::null::<nsSMILKeySpline>())).mY2 as *const _ as usize },
39296             24usize,
39297             concat!(
39298                 "Offset of field: ",
39299                 stringify!(nsSMILKeySpline),
39300                 "::",
39301                 stringify!(mY2)
39302             )
39303         );
39304         assert_eq!(
39305             unsafe {
39306                 &(*(::std::ptr::null::<nsSMILKeySpline>())).mSampleValues as *const _ as usize
39307             },
39308             32usize,
39309             concat!(
39310                 "Offset of field: ",
39311                 stringify!(nsSMILKeySpline),
39312                 "::",
39313                 stringify!(mSampleValues)
39314             )
39315         );
39316     }
39317     impl Clone for nsSMILKeySpline {
clone(&self) -> Self39318         fn clone(&self) -> Self {
39319             *self
39320         }
39321     }
39322     pub const GECKO_IS_NIGHTLY: bool = true;
39323     #[repr(C)]
39324     pub struct ServoBundledURI {
39325         pub mURLString: ::gecko_bindings::structs::ServoRawOffsetArc<root::RustString>,
39326         pub mExtraData: *mut root::mozilla::URLExtraData,
39327     }
39328     #[test]
bindgen_test_layout_ServoBundledURI()39329     fn bindgen_test_layout_ServoBundledURI() {
39330         assert_eq!(
39331             ::std::mem::size_of::<ServoBundledURI>(),
39332             16usize,
39333             concat!("Size of: ", stringify!(ServoBundledURI))
39334         );
39335         assert_eq!(
39336             ::std::mem::align_of::<ServoBundledURI>(),
39337             8usize,
39338             concat!("Alignment of ", stringify!(ServoBundledURI))
39339         );
39340         assert_eq!(
39341             unsafe { &(*(::std::ptr::null::<ServoBundledURI>())).mURLString as *const _ as usize },
39342             0usize,
39343             concat!(
39344                 "Offset of field: ",
39345                 stringify!(ServoBundledURI),
39346                 "::",
39347                 stringify!(mURLString)
39348             )
39349         );
39350         assert_eq!(
39351             unsafe { &(*(::std::ptr::null::<ServoBundledURI>())).mExtraData as *const _ as usize },
39352             8usize,
39353             concat!(
39354                 "Offset of field: ",
39355                 stringify!(ServoBundledURI),
39356                 "::",
39357                 stringify!(mExtraData)
39358             )
39359         );
39360     }
39361     #[repr(C)]
39362     #[derive(Debug, Copy)]
39363     pub struct FontSizePrefs {
39364         pub mDefaultVariableSize: root::nscoord,
39365         pub mDefaultFixedSize: root::nscoord,
39366         pub mDefaultSerifSize: root::nscoord,
39367         pub mDefaultSansSerifSize: root::nscoord,
39368         pub mDefaultMonospaceSize: root::nscoord,
39369         pub mDefaultCursiveSize: root::nscoord,
39370         pub mDefaultFantasySize: root::nscoord,
39371     }
39372     #[test]
bindgen_test_layout_FontSizePrefs()39373     fn bindgen_test_layout_FontSizePrefs() {
39374         assert_eq!(
39375             ::std::mem::size_of::<FontSizePrefs>(),
39376             28usize,
39377             concat!("Size of: ", stringify!(FontSizePrefs))
39378         );
39379         assert_eq!(
39380             ::std::mem::align_of::<FontSizePrefs>(),
39381             4usize,
39382             concat!("Alignment of ", stringify!(FontSizePrefs))
39383         );
39384         assert_eq!(
39385             unsafe {
39386                 &(*(::std::ptr::null::<FontSizePrefs>())).mDefaultVariableSize as *const _ as usize
39387             },
39388             0usize,
39389             concat!(
39390                 "Offset of field: ",
39391                 stringify!(FontSizePrefs),
39392                 "::",
39393                 stringify!(mDefaultVariableSize)
39394             )
39395         );
39396         assert_eq!(
39397             unsafe {
39398                 &(*(::std::ptr::null::<FontSizePrefs>())).mDefaultFixedSize as *const _ as usize
39399             },
39400             4usize,
39401             concat!(
39402                 "Offset of field: ",
39403                 stringify!(FontSizePrefs),
39404                 "::",
39405                 stringify!(mDefaultFixedSize)
39406             )
39407         );
39408         assert_eq!(
39409             unsafe {
39410                 &(*(::std::ptr::null::<FontSizePrefs>())).mDefaultSerifSize as *const _ as usize
39411             },
39412             8usize,
39413             concat!(
39414                 "Offset of field: ",
39415                 stringify!(FontSizePrefs),
39416                 "::",
39417                 stringify!(mDefaultSerifSize)
39418             )
39419         );
39420         assert_eq!(
39421             unsafe {
39422                 &(*(::std::ptr::null::<FontSizePrefs>())).mDefaultSansSerifSize as *const _ as usize
39423             },
39424             12usize,
39425             concat!(
39426                 "Offset of field: ",
39427                 stringify!(FontSizePrefs),
39428                 "::",
39429                 stringify!(mDefaultSansSerifSize)
39430             )
39431         );
39432         assert_eq!(
39433             unsafe {
39434                 &(*(::std::ptr::null::<FontSizePrefs>())).mDefaultMonospaceSize as *const _ as usize
39435             },
39436             16usize,
39437             concat!(
39438                 "Offset of field: ",
39439                 stringify!(FontSizePrefs),
39440                 "::",
39441                 stringify!(mDefaultMonospaceSize)
39442             )
39443         );
39444         assert_eq!(
39445             unsafe {
39446                 &(*(::std::ptr::null::<FontSizePrefs>())).mDefaultCursiveSize as *const _ as usize
39447             },
39448             20usize,
39449             concat!(
39450                 "Offset of field: ",
39451                 stringify!(FontSizePrefs),
39452                 "::",
39453                 stringify!(mDefaultCursiveSize)
39454             )
39455         );
39456         assert_eq!(
39457             unsafe {
39458                 &(*(::std::ptr::null::<FontSizePrefs>())).mDefaultFantasySize as *const _ as usize
39459             },
39460             24usize,
39461             concat!(
39462                 "Offset of field: ",
39463                 stringify!(FontSizePrefs),
39464                 "::",
39465                 stringify!(mDefaultFantasySize)
39466             )
39467         );
39468     }
39469     impl Clone for FontSizePrefs {
clone(&self) -> Self39470         fn clone(&self) -> Self {
39471             *self
39472         }
39473     }
39474     #[repr(C)]
39475     #[derive(Debug, Copy)]
39476     pub struct MediumFeaturesChangedResult {
39477         pub mAffectsDocumentRules: bool,
39478         pub mAffectsNonDocumentRules: bool,
39479         pub mUsesViewportUnits: bool,
39480     }
39481     #[test]
bindgen_test_layout_MediumFeaturesChangedResult()39482     fn bindgen_test_layout_MediumFeaturesChangedResult() {
39483         assert_eq!(
39484             ::std::mem::size_of::<MediumFeaturesChangedResult>(),
39485             3usize,
39486             concat!("Size of: ", stringify!(MediumFeaturesChangedResult))
39487         );
39488         assert_eq!(
39489             ::std::mem::align_of::<MediumFeaturesChangedResult>(),
39490             1usize,
39491             concat!("Alignment of ", stringify!(MediumFeaturesChangedResult))
39492         );
39493         assert_eq!(
39494             unsafe {
39495                 &(*(::std::ptr::null::<MediumFeaturesChangedResult>())).mAffectsDocumentRules
39496                     as *const _ as usize
39497             },
39498             0usize,
39499             concat!(
39500                 "Offset of field: ",
39501                 stringify!(MediumFeaturesChangedResult),
39502                 "::",
39503                 stringify!(mAffectsDocumentRules)
39504             )
39505         );
39506         assert_eq!(
39507             unsafe {
39508                 &(*(::std::ptr::null::<MediumFeaturesChangedResult>())).mAffectsNonDocumentRules
39509                     as *const _ as usize
39510             },
39511             1usize,
39512             concat!(
39513                 "Offset of field: ",
39514                 stringify!(MediumFeaturesChangedResult),
39515                 "::",
39516                 stringify!(mAffectsNonDocumentRules)
39517             )
39518         );
39519         assert_eq!(
39520             unsafe {
39521                 &(*(::std::ptr::null::<MediumFeaturesChangedResult>())).mUsesViewportUnits
39522                     as *const _ as usize
39523             },
39524             2usize,
39525             concat!(
39526                 "Offset of field: ",
39527                 stringify!(MediumFeaturesChangedResult),
39528                 "::",
39529                 stringify!(mUsesViewportUnits)
39530             )
39531         );
39532     }
39533     impl Clone for MediumFeaturesChangedResult {
clone(&self) -> Self39534         fn clone(&self) -> Self {
39535             *self
39536         }
39537     }
39538     #[repr(C)]
39539     #[derive(Debug, Copy)]
39540     pub struct GeckoFontMetrics {
39541         pub mChSize: root::nscoord,
39542         pub mXSize: root::nscoord,
39543     }
39544     #[test]
bindgen_test_layout_GeckoFontMetrics()39545     fn bindgen_test_layout_GeckoFontMetrics() {
39546         assert_eq!(
39547             ::std::mem::size_of::<GeckoFontMetrics>(),
39548             8usize,
39549             concat!("Size of: ", stringify!(GeckoFontMetrics))
39550         );
39551         assert_eq!(
39552             ::std::mem::align_of::<GeckoFontMetrics>(),
39553             4usize,
39554             concat!("Alignment of ", stringify!(GeckoFontMetrics))
39555         );
39556         assert_eq!(
39557             unsafe { &(*(::std::ptr::null::<GeckoFontMetrics>())).mChSize as *const _ as usize },
39558             0usize,
39559             concat!(
39560                 "Offset of field: ",
39561                 stringify!(GeckoFontMetrics),
39562                 "::",
39563                 stringify!(mChSize)
39564             )
39565         );
39566         assert_eq!(
39567             unsafe { &(*(::std::ptr::null::<GeckoFontMetrics>())).mXSize as *const _ as usize },
39568             4usize,
39569             concat!(
39570                 "Offset of field: ",
39571                 stringify!(GeckoFontMetrics),
39572                 "::",
39573                 stringify!(mXSize)
39574             )
39575         );
39576     }
39577     impl Clone for GeckoFontMetrics {
clone(&self) -> Self39578         fn clone(&self) -> Self {
39579             *self
39580         }
39581     }
39582     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_after: u32 = 129;
39583     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_before: u32 = 129;
39584     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_backdrop: u32 = 0;
39585     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_cue: u32 = 68;
39586     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLetter: u32 = 3;
39587     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_firstLine: u32 = 3;
39588     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozSelection: u32 = 2;
39589     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusInner: u32 = 0;
39590     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozFocusOuter: u32 = 0;
39591     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListBullet: u32 = 0;
39592     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozListNumber: u32 = 0;
39593     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMathAnonymous: u32 = 16;
39594     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberWrapper: u32 = 56;
39595     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberText: u32 = 56;
39596     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinBox: u32 = 56;
39597     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinUp: u32 = 56;
39598     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozNumberSpinDown: u32 = 56;
39599     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozProgressBar: u32 = 8;
39600     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeTrack: u32 = 8;
39601     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeProgress: u32 = 8;
39602     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozRangeThumb: u32 = 8;
39603     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozMeterBar: u32 = 8;
39604     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozPlaceholder: u32 = 8;
39605     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_placeholder: u32 = 8;
39606     pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozColorSwatch: u32 = 12;
39607     /// templated hashtable class maps keys to interface pointers.
39608     /// See nsBaseHashtable for complete declaration.
39609     /// @param KeyClass a wrapper-class for the hashtable key, see nsHashKeys.h
39610     /// for a complete specification.
39611     /// @param Interface the interface-type being wrapped
39612     /// @see nsDataHashtable, nsClassHashtable
39613     #[repr(C)]
39614     #[derive(Debug, Copy, Clone)]
39615     pub struct nsInterfaceHashtable {
39616         pub _address: u8,
39617     }
39618     pub type nsInterfaceHashtable_KeyType = [u8; 0usize];
39619     pub type nsInterfaceHashtable_UserDataType<Interface> = *mut Interface;
39620     pub type nsInterfaceHashtable_base_type = u8;
39621     pub type nsBindingList = root::nsTArray<root::RefPtr<root::nsXBLBinding>>;
39622     #[repr(C)]
39623     pub struct nsBindingManager {
39624         pub _base: root::nsStubMutationObserver,
39625         pub mRefCnt: root::nsCycleCollectingAutoRefCnt,
39626         pub mBoundContentSet: u64,
39627         pub mWrapperTable: root::nsAutoPtr<root::nsBindingManager_WrapperHashtable>,
39628         pub mDocumentTable: u64,
39629         pub mLoadingDocTable: u64,
39630         pub mAttachedStack: root::nsBindingList,
39631         pub mProcessingAttachedStack: bool,
39632         pub mDestroyed: bool,
39633         pub mAttachedStackSizeOnOutermost: u32,
39634         pub mProcessAttachedQueueEvent: u64,
39635         pub mDocument: *mut root::nsIDocument,
39636     }
39637     pub type nsBindingManager_HasThreadSafeRefCnt = root::mozilla::FalseType;
39638     pub const nsBindingManager_DestructorHandling_eRunDtor:
39639         root::nsBindingManager_DestructorHandling = 0;
39640     pub const nsBindingManager_DestructorHandling_eDoNotRunDtor:
39641         root::nsBindingManager_DestructorHandling = 1;
39642     /// Notify the binding manager that an element
39643     /// has been removed from its document,
39644     /// so that it can update any bindings or
39645     /// nsIAnonymousContentCreator-created anonymous
39646     /// content that may depend on the document.
39647     /// @param aContent the element that's being moved
39648     /// @param aOldDocument the old document in which the
39649     /// content resided.
39650     /// @param aDestructorHandling whether or not to run the possible XBL
39651     /// destructor.
39652     pub type nsBindingManager_DestructorHandling = u32;
39653     #[repr(C)]
39654     #[derive(Debug, Copy)]
39655     pub struct nsBindingManager_cycleCollection {
39656         pub _base: root::nsXPCOMCycleCollectionParticipant,
39657     }
39658     #[test]
bindgen_test_layout_nsBindingManager_cycleCollection()39659     fn bindgen_test_layout_nsBindingManager_cycleCollection() {
39660         assert_eq!(
39661             ::std::mem::size_of::<nsBindingManager_cycleCollection>(),
39662             16usize,
39663             concat!("Size of: ", stringify!(nsBindingManager_cycleCollection))
39664         );
39665         assert_eq!(
39666             ::std::mem::align_of::<nsBindingManager_cycleCollection>(),
39667             8usize,
39668             concat!(
39669                 "Alignment of ",
39670                 stringify!(nsBindingManager_cycleCollection)
39671             )
39672         );
39673     }
39674     impl Clone for nsBindingManager_cycleCollection {
clone(&self) -> Self39675         fn clone(&self) -> Self {
39676             *self
39677         }
39678     }
39679     pub type nsBindingManager_BoundContentBindingCallback = root::std::function;
39680     pub type nsBindingManager_WrapperHashtable = u8;
39681     extern "C" {
39682         #[link_name = "\u{1}_ZN16nsBindingManager21_cycleCollectorGlobalE"]
39683         pub static mut nsBindingManager__cycleCollectorGlobal:
39684             root::nsBindingManager_cycleCollection;
39685     }
39686     #[test]
bindgen_test_layout_nsBindingManager()39687     fn bindgen_test_layout_nsBindingManager() {
39688         assert_eq!(
39689             ::std::mem::size_of::<nsBindingManager>(),
39690             80usize,
39691             concat!("Size of: ", stringify!(nsBindingManager))
39692         );
39693         assert_eq!(
39694             ::std::mem::align_of::<nsBindingManager>(),
39695             8usize,
39696             concat!("Alignment of ", stringify!(nsBindingManager))
39697         );
39698         assert_eq!(
39699             unsafe { &(*(::std::ptr::null::<nsBindingManager>())).mRefCnt as *const _ as usize },
39700             8usize,
39701             concat!(
39702                 "Offset of field: ",
39703                 stringify!(nsBindingManager),
39704                 "::",
39705                 stringify!(mRefCnt)
39706             )
39707         );
39708         assert_eq!(
39709             unsafe {
39710                 &(*(::std::ptr::null::<nsBindingManager>())).mBoundContentSet as *const _ as usize
39711             },
39712             16usize,
39713             concat!(
39714                 "Offset of field: ",
39715                 stringify!(nsBindingManager),
39716                 "::",
39717                 stringify!(mBoundContentSet)
39718             )
39719         );
39720         assert_eq!(
39721             unsafe {
39722                 &(*(::std::ptr::null::<nsBindingManager>())).mWrapperTable as *const _ as usize
39723             },
39724             24usize,
39725             concat!(
39726                 "Offset of field: ",
39727                 stringify!(nsBindingManager),
39728                 "::",
39729                 stringify!(mWrapperTable)
39730             )
39731         );
39732         assert_eq!(
39733             unsafe {
39734                 &(*(::std::ptr::null::<nsBindingManager>())).mDocumentTable as *const _ as usize
39735             },
39736             32usize,
39737             concat!(
39738                 "Offset of field: ",
39739                 stringify!(nsBindingManager),
39740                 "::",
39741                 stringify!(mDocumentTable)
39742             )
39743         );
39744         assert_eq!(
39745             unsafe {
39746                 &(*(::std::ptr::null::<nsBindingManager>())).mLoadingDocTable as *const _ as usize
39747             },
39748             40usize,
39749             concat!(
39750                 "Offset of field: ",
39751                 stringify!(nsBindingManager),
39752                 "::",
39753                 stringify!(mLoadingDocTable)
39754             )
39755         );
39756         assert_eq!(
39757             unsafe {
39758                 &(*(::std::ptr::null::<nsBindingManager>())).mAttachedStack as *const _ as usize
39759             },
39760             48usize,
39761             concat!(
39762                 "Offset of field: ",
39763                 stringify!(nsBindingManager),
39764                 "::",
39765                 stringify!(mAttachedStack)
39766             )
39767         );
39768         assert_eq!(
39769             unsafe {
39770                 &(*(::std::ptr::null::<nsBindingManager>())).mProcessingAttachedStack as *const _
39771                     as usize
39772             },
39773             56usize,
39774             concat!(
39775                 "Offset of field: ",
39776                 stringify!(nsBindingManager),
39777                 "::",
39778                 stringify!(mProcessingAttachedStack)
39779             )
39780         );
39781         assert_eq!(
39782             unsafe { &(*(::std::ptr::null::<nsBindingManager>())).mDestroyed as *const _ as usize },
39783             57usize,
39784             concat!(
39785                 "Offset of field: ",
39786                 stringify!(nsBindingManager),
39787                 "::",
39788                 stringify!(mDestroyed)
39789             )
39790         );
39791         assert_eq!(
39792             unsafe {
39793                 &(*(::std::ptr::null::<nsBindingManager>())).mAttachedStackSizeOnOutermost
39794                     as *const _ as usize
39795             },
39796             60usize,
39797             concat!(
39798                 "Offset of field: ",
39799                 stringify!(nsBindingManager),
39800                 "::",
39801                 stringify!(mAttachedStackSizeOnOutermost)
39802             )
39803         );
39804         assert_eq!(
39805             unsafe {
39806                 &(*(::std::ptr::null::<nsBindingManager>())).mProcessAttachedQueueEvent as *const _
39807                     as usize
39808             },
39809             64usize,
39810             concat!(
39811                 "Offset of field: ",
39812                 stringify!(nsBindingManager),
39813                 "::",
39814                 stringify!(mProcessAttachedQueueEvent)
39815             )
39816         );
39817         assert_eq!(
39818             unsafe { &(*(::std::ptr::null::<nsBindingManager>())).mDocument as *const _ as usize },
39819             72usize,
39820             concat!(
39821                 "Offset of field: ",
39822                 stringify!(nsBindingManager),
39823                 "::",
39824                 stringify!(mDocument)
39825             )
39826         );
39827     }
39828     /// An nsStyleContext represents the computed style data for an element.
39829     /// The computed style data are stored in a set of structs (see
39830     /// nsStyleStruct.h) that are cached either on the style context or in
39831     /// the rule tree (see nsRuleNode.h for a description of this caching and
39832     /// how the cached structs are shared).
39833     ///
39834     /// Since the data in |nsIStyleRule|s and |nsRuleNode|s are immutable
39835     /// (with a few exceptions, like system color changes), the data in an
39836     /// nsStyleContext are also immutable (with the additional exception of
39837     /// GetUniqueStyleData).  When style data change,
39838     /// ElementRestyler::Restyle creates a new style context.
39839     ///
39840     /// Style contexts are reference counted.  References are generally held
39841     /// by:
39842     /// 1. the |nsIFrame|s that are using the style context and
39843     /// 2. any *child* style contexts (this might be the reverse of
39844     /// expectation, but it makes sense in this case)
39845     #[repr(C)]
39846     #[derive(Debug)]
39847     pub struct nsStyleContext {
39848         pub mPseudoTag: root::RefPtr<root::nsAtom>,
39849         pub mBits: u64,
39850     }
39851     #[test]
bindgen_test_layout_nsStyleContext()39852     fn bindgen_test_layout_nsStyleContext() {
39853         assert_eq!(
39854             ::std::mem::size_of::<nsStyleContext>(),
39855             16usize,
39856             concat!("Size of: ", stringify!(nsStyleContext))
39857         );
39858         assert_eq!(
39859             ::std::mem::align_of::<nsStyleContext>(),
39860             8usize,
39861             concat!("Alignment of ", stringify!(nsStyleContext))
39862         );
39863         assert_eq!(
39864             unsafe { &(*(::std::ptr::null::<nsStyleContext>())).mPseudoTag as *const _ as usize },
39865             0usize,
39866             concat!(
39867                 "Offset of field: ",
39868                 stringify!(nsStyleContext),
39869                 "::",
39870                 stringify!(mPseudoTag)
39871             )
39872         );
39873         assert_eq!(
39874             unsafe { &(*(::std::ptr::null::<nsStyleContext>())).mBits as *const _ as usize },
39875             8usize,
39876             concat!(
39877                 "Offset of field: ",
39878                 stringify!(nsStyleContext),
39879                 "::",
39880                 stringify!(mBits)
39881             )
39882         );
39883     }
39884     #[repr(C)]
39885     #[derive(Debug)]
39886     pub struct nsCSSCounterStyleRule {
39887         pub _base: root::mozilla::css::Rule,
39888         pub mName: root::RefPtr<root::nsAtom>,
39889         pub mValues: [root::nsCSSValue; 10usize],
39890         pub mGeneration: u32,
39891     }
39892     pub type nsCSSCounterStyleRule_Getter = [u64; 2usize];
39893     extern "C" {
39894         #[link_name = "\u{1}_ZN21nsCSSCounterStyleRule8kGettersE"]
39895         pub static mut nsCSSCounterStyleRule_kGetters: [root::nsCSSCounterStyleRule_Getter; 0usize];
39896     }
39897     #[test]
bindgen_test_layout_nsCSSCounterStyleRule()39898     fn bindgen_test_layout_nsCSSCounterStyleRule() {
39899         assert_eq!(
39900             ::std::mem::size_of::<nsCSSCounterStyleRule>(),
39901             240usize,
39902             concat!("Size of: ", stringify!(nsCSSCounterStyleRule))
39903         );
39904         assert_eq!(
39905             ::std::mem::align_of::<nsCSSCounterStyleRule>(),
39906             8usize,
39907             concat!("Alignment of ", stringify!(nsCSSCounterStyleRule))
39908         );
39909         assert_eq!(
39910             unsafe { &(*(::std::ptr::null::<nsCSSCounterStyleRule>())).mName as *const _ as usize },
39911             64usize,
39912             concat!(
39913                 "Offset of field: ",
39914                 stringify!(nsCSSCounterStyleRule),
39915                 "::",
39916                 stringify!(mName)
39917             )
39918         );
39919         assert_eq!(
39920             unsafe {
39921                 &(*(::std::ptr::null::<nsCSSCounterStyleRule>())).mValues as *const _ as usize
39922             },
39923             72usize,
39924             concat!(
39925                 "Offset of field: ",
39926                 stringify!(nsCSSCounterStyleRule),
39927                 "::",
39928                 stringify!(mValues)
39929             )
39930         );
39931         assert_eq!(
39932             unsafe {
39933                 &(*(::std::ptr::null::<nsCSSCounterStyleRule>())).mGeneration as *const _ as usize
39934             },
39935             232usize,
39936             concat!(
39937                 "Offset of field: ",
39938                 stringify!(nsCSSCounterStyleRule),
39939                 "::",
39940                 stringify!(mGeneration)
39941             )
39942         );
39943     }
39944     #[repr(C)]
39945     #[derive(Debug)]
39946     pub struct nsCSSFontFaceStyleDecl {
39947         pub _base: root::nsICSSDeclaration,
39948         pub mDescriptors: root::mozilla::CSSFontFaceDescriptors,
39949     }
39950     #[test]
bindgen_test_layout_nsCSSFontFaceStyleDecl()39951     fn bindgen_test_layout_nsCSSFontFaceStyleDecl() {
39952         assert_eq!(
39953             ::std::mem::size_of::<nsCSSFontFaceStyleDecl>(),
39954             192usize,
39955             concat!("Size of: ", stringify!(nsCSSFontFaceStyleDecl))
39956         );
39957         assert_eq!(
39958             ::std::mem::align_of::<nsCSSFontFaceStyleDecl>(),
39959             8usize,
39960             concat!("Alignment of ", stringify!(nsCSSFontFaceStyleDecl))
39961         );
39962         assert_eq!(
39963             unsafe {
39964                 &(*(::std::ptr::null::<nsCSSFontFaceStyleDecl>())).mDescriptors as *const _ as usize
39965             },
39966             32usize,
39967             concat!(
39968                 "Offset of field: ",
39969                 stringify!(nsCSSFontFaceStyleDecl),
39970                 "::",
39971                 stringify!(mDescriptors)
39972             )
39973         );
39974     }
39975     #[repr(C)]
39976     #[derive(Debug)]
39977     pub struct nsCSSFontFaceRule {
39978         pub _base: root::mozilla::css::Rule,
39979         pub mDecl: root::nsCSSFontFaceStyleDecl,
39980     }
39981     #[repr(C)]
39982     #[derive(Debug, Copy)]
39983     pub struct nsCSSFontFaceRule_cycleCollection {
39984         pub _base: root::mozilla::css::Rule_cycleCollection,
39985     }
39986     #[test]
bindgen_test_layout_nsCSSFontFaceRule_cycleCollection()39987     fn bindgen_test_layout_nsCSSFontFaceRule_cycleCollection() {
39988         assert_eq!(
39989             ::std::mem::size_of::<nsCSSFontFaceRule_cycleCollection>(),
39990             16usize,
39991             concat!("Size of: ", stringify!(nsCSSFontFaceRule_cycleCollection))
39992         );
39993         assert_eq!(
39994             ::std::mem::align_of::<nsCSSFontFaceRule_cycleCollection>(),
39995             8usize,
39996             concat!(
39997                 "Alignment of ",
39998                 stringify!(nsCSSFontFaceRule_cycleCollection)
39999             )
40000         );
40001     }
40002     impl Clone for nsCSSFontFaceRule_cycleCollection {
clone(&self) -> Self40003         fn clone(&self) -> Self {
40004             *self
40005         }
40006     }
40007     extern "C" {
40008         #[link_name = "\u{1}_ZN17nsCSSFontFaceRule21_cycleCollectorGlobalE"]
40009         pub static mut nsCSSFontFaceRule__cycleCollectorGlobal:
40010             root::nsCSSFontFaceRule_cycleCollection;
40011     }
40012     #[test]
bindgen_test_layout_nsCSSFontFaceRule()40013     fn bindgen_test_layout_nsCSSFontFaceRule() {
40014         assert_eq!(
40015             ::std::mem::size_of::<nsCSSFontFaceRule>(),
40016             256usize,
40017             concat!("Size of: ", stringify!(nsCSSFontFaceRule))
40018         );
40019         assert_eq!(
40020             ::std::mem::align_of::<nsCSSFontFaceRule>(),
40021             8usize,
40022             concat!("Alignment of ", stringify!(nsCSSFontFaceRule))
40023         );
40024         assert_eq!(
40025             unsafe { &(*(::std::ptr::null::<nsCSSFontFaceRule>())).mDecl as *const _ as usize },
40026             64usize,
40027             concat!(
40028                 "Offset of field: ",
40029                 stringify!(nsCSSFontFaceRule),
40030                 "::",
40031                 stringify!(mDecl)
40032             )
40033         );
40034     }
40035     #[repr(C)]
40036     #[derive(Debug)]
40037     pub struct nsFontFaceRuleContainer {
40038         pub mRule: root::RefPtr<root::nsCSSFontFaceRule>,
40039         pub mSheetType: root::mozilla::SheetType,
40040     }
40041     #[test]
bindgen_test_layout_nsFontFaceRuleContainer()40042     fn bindgen_test_layout_nsFontFaceRuleContainer() {
40043         assert_eq!(
40044             ::std::mem::size_of::<nsFontFaceRuleContainer>(),
40045             16usize,
40046             concat!("Size of: ", stringify!(nsFontFaceRuleContainer))
40047         );
40048         assert_eq!(
40049             ::std::mem::align_of::<nsFontFaceRuleContainer>(),
40050             8usize,
40051             concat!("Alignment of ", stringify!(nsFontFaceRuleContainer))
40052         );
40053         assert_eq!(
40054             unsafe {
40055                 &(*(::std::ptr::null::<nsFontFaceRuleContainer>())).mRule as *const _ as usize
40056             },
40057             0usize,
40058             concat!(
40059                 "Offset of field: ",
40060                 stringify!(nsFontFaceRuleContainer),
40061                 "::",
40062                 stringify!(mRule)
40063             )
40064         );
40065         assert_eq!(
40066             unsafe {
40067                 &(*(::std::ptr::null::<nsFontFaceRuleContainer>())).mSheetType as *const _ as usize
40068             },
40069             8usize,
40070             concat!(
40071                 "Offset of field: ",
40072                 stringify!(nsFontFaceRuleContainer),
40073                 "::",
40074                 stringify!(mSheetType)
40075             )
40076         );
40077     }
40078     #[repr(C)]
40079     #[derive(Debug, Copy)]
40080     pub struct nsHtml5StringParser {
40081         _unused: [u8; 0],
40082     }
40083     impl Clone for nsHtml5StringParser {
clone(&self) -> Self40084         fn clone(&self) -> Self {
40085             *self
40086         }
40087     }
40088     #[repr(C)]
40089     #[derive(Debug, Copy)]
40090     pub struct nsIConsoleService {
40091         _unused: [u8; 0],
40092     }
40093     impl Clone for nsIConsoleService {
clone(&self) -> Self40094         fn clone(&self) -> Self {
40095             *self
40096         }
40097     }
40098     #[repr(C)]
40099     #[derive(Debug, Copy)]
40100     pub struct nsIFragmentContentSink {
40101         _unused: [u8; 0],
40102     }
40103     impl Clone for nsIFragmentContentSink {
clone(&self) -> Self40104         fn clone(&self) -> Self {
40105             *self
40106         }
40107     }
40108     #[repr(C)]
40109     #[derive(Debug, Copy)]
40110     pub struct nsIStringBundle {
40111         _unused: [u8; 0],
40112     }
40113     impl Clone for nsIStringBundle {
clone(&self) -> Self40114         fn clone(&self) -> Self {
40115             *self
40116         }
40117     }
40118     #[repr(C)]
40119     #[derive(Debug, Copy)]
40120     pub struct nsIBidiKeyboard {
40121         _unused: [u8; 0],
40122     }
40123     impl Clone for nsIBidiKeyboard {
clone(&self) -> Self40124         fn clone(&self) -> Self {
40125             *self
40126         }
40127     }
40128     #[repr(C)]
40129     #[derive(Debug, Copy)]
40130     pub struct EventNameMapping {
40131         pub mAtom: *mut root::nsAtom,
40132         pub mType: i32,
40133         pub mMessage: root::mozilla::EventMessage,
40134         pub mEventClassID: root::mozilla::EventClassID,
40135         pub mMaybeSpecialSVGorSMILEvent: bool,
40136     }
40137     #[test]
bindgen_test_layout_EventNameMapping()40138     fn bindgen_test_layout_EventNameMapping() {
40139         assert_eq!(
40140             ::std::mem::size_of::<EventNameMapping>(),
40141             16usize,
40142             concat!("Size of: ", stringify!(EventNameMapping))
40143         );
40144         assert_eq!(
40145             ::std::mem::align_of::<EventNameMapping>(),
40146             8usize,
40147             concat!("Alignment of ", stringify!(EventNameMapping))
40148         );
40149         assert_eq!(
40150             unsafe { &(*(::std::ptr::null::<EventNameMapping>())).mAtom as *const _ as usize },
40151             0usize,
40152             concat!(
40153                 "Offset of field: ",
40154                 stringify!(EventNameMapping),
40155                 "::",
40156                 stringify!(mAtom)
40157             )
40158         );
40159         assert_eq!(
40160             unsafe { &(*(::std::ptr::null::<EventNameMapping>())).mType as *const _ as usize },
40161             8usize,
40162             concat!(
40163                 "Offset of field: ",
40164                 stringify!(EventNameMapping),
40165                 "::",
40166                 stringify!(mType)
40167             )
40168         );
40169         assert_eq!(
40170             unsafe { &(*(::std::ptr::null::<EventNameMapping>())).mMessage as *const _ as usize },
40171             12usize,
40172             concat!(
40173                 "Offset of field: ",
40174                 stringify!(EventNameMapping),
40175                 "::",
40176                 stringify!(mMessage)
40177             )
40178         );
40179         assert_eq!(
40180             unsafe {
40181                 &(*(::std::ptr::null::<EventNameMapping>())).mEventClassID as *const _ as usize
40182             },
40183             14usize,
40184             concat!(
40185                 "Offset of field: ",
40186                 stringify!(EventNameMapping),
40187                 "::",
40188                 stringify!(mEventClassID)
40189             )
40190         );
40191         assert_eq!(
40192             unsafe {
40193                 &(*(::std::ptr::null::<EventNameMapping>())).mMaybeSpecialSVGorSMILEvent as *const _
40194                     as usize
40195             },
40196             15usize,
40197             concat!(
40198                 "Offset of field: ",
40199                 stringify!(EventNameMapping),
40200                 "::",
40201                 stringify!(mMaybeSpecialSVGorSMILEvent)
40202             )
40203         );
40204     }
40205     impl Clone for EventNameMapping {
clone(&self) -> Self40206         fn clone(&self) -> Self {
40207             *self
40208         }
40209     }
40210     extern "C" {
40211         #[link_name = "\u{1}_ZN14nsContentUtils10sXPConnectE"]
40212         pub static mut nsContentUtils_sXPConnect: *mut root::nsIXPConnect;
40213     }
40214     extern "C" {
40215         #[link_name = "\u{1}_ZN14nsContentUtils16sSecurityManagerE"]
40216         pub static mut nsContentUtils_sSecurityManager: *mut root::nsIScriptSecurityManager;
40217     }
40218     extern "C" {
40219         #[link_name = "\u{1}_ZN14nsContentUtils16sSystemPrincipalE"]
40220         pub static mut nsContentUtils_sSystemPrincipal: *mut root::nsIPrincipal;
40221     }
40222     extern "C" {
40223         #[link_name = "\u{1}_ZN14nsContentUtils21sNullSubjectPrincipalE"]
40224         pub static mut nsContentUtils_sNullSubjectPrincipal: *mut root::nsIPrincipal;
40225     }
40226     extern "C" {
40227         #[link_name = "\u{1}_ZN14nsContentUtils17sNameSpaceManagerE"]
40228         pub static mut nsContentUtils_sNameSpaceManager: *mut root::nsNameSpaceManager;
40229     }
40230     extern "C" {
40231         #[link_name = "\u{1}_ZN14nsContentUtils10sIOServiceE"]
40232         pub static mut nsContentUtils_sIOService: *mut root::nsIIOService;
40233     }
40234     extern "C" {
40235         #[link_name = "\u{1}_ZN14nsContentUtils14sUUIDGeneratorE"]
40236         pub static mut nsContentUtils_sUUIDGenerator: *mut root::nsIUUIDGenerator;
40237     }
40238     extern "C" {
40239         #[link_name = "\u{1}_ZN14nsContentUtils15sConsoleServiceE"]
40240         pub static mut nsContentUtils_sConsoleService: *mut root::nsIConsoleService;
40241     }
40242     extern "C" {
40243         #[link_name = "\u{1}_ZN14nsContentUtils15sAtomEventTableE"]
40244         pub static mut nsContentUtils_sAtomEventTable: *mut u8;
40245     }
40246     extern "C" {
40247         #[link_name = "\u{1}_ZN14nsContentUtils17sStringEventTableE"]
40248         pub static mut nsContentUtils_sStringEventTable: *mut u8;
40249     }
40250     extern "C" {
40251         #[link_name = "\u{1}_ZN14nsContentUtils18sUserDefinedEventsE"]
40252         pub static mut nsContentUtils_sUserDefinedEvents:
40253             *mut root::nsTArray<root::RefPtr<root::nsAtom>>;
40254     }
40255     extern "C" {
40256         #[link_name = "\u{1}_ZN14nsContentUtils20sStringBundleServiceE"]
40257         pub static mut nsContentUtils_sStringBundleService: *mut root::nsIStringBundleService;
40258     }
40259     extern "C" {
40260         #[link_name = "\u{1}_ZN14nsContentUtils14sStringBundlesE"]
40261         pub static mut nsContentUtils_sStringBundles: [*mut root::nsIStringBundle; 14usize];
40262     }
40263     extern "C" {
40264         #[link_name = "\u{1}_ZN14nsContentUtils21sContentPolicyServiceE"]
40265         pub static mut nsContentUtils_sContentPolicyService: *mut root::nsIContentPolicy;
40266     }
40267     extern "C" {
40268         #[link_name = "\u{1}_ZN14nsContentUtils24sTriedToGetContentPolicyE"]
40269         pub static mut nsContentUtils_sTriedToGetContentPolicy: bool;
40270     }
40271     #[test]
__bindgen_test_layout_RefPtr_open0_LineBreaker_close0_instantiation()40272     fn __bindgen_test_layout_RefPtr_open0_LineBreaker_close0_instantiation() {
40273         assert_eq!(
40274             ::std::mem::size_of::<root::RefPtr<root::mozilla::intl::LineBreaker>>(),
40275             8usize,
40276             concat!(
40277                 "Size of template specialization: ",
40278                 stringify!(root::RefPtr<root::mozilla::intl::LineBreaker>)
40279             )
40280         );
40281         assert_eq!(
40282             ::std::mem::align_of::<root::RefPtr<root::mozilla::intl::LineBreaker>>(),
40283             8usize,
40284             concat!(
40285                 "Alignment of template specialization: ",
40286                 stringify!(root::RefPtr<root::mozilla::intl::LineBreaker>)
40287             )
40288         );
40289     }
40290     extern "C" {
40291         #[link_name = "\u{1}_ZN14nsContentUtils12sLineBreakerE"]
40292         pub static mut nsContentUtils_sLineBreaker: root::RefPtr<root::mozilla::intl::LineBreaker>;
40293     }
40294     #[test]
__bindgen_test_layout_RefPtr_open0_WordBreaker_close0_instantiation()40295     fn __bindgen_test_layout_RefPtr_open0_WordBreaker_close0_instantiation() {
40296         assert_eq!(
40297             ::std::mem::size_of::<root::RefPtr<root::mozilla::intl::WordBreaker>>(),
40298             8usize,
40299             concat!(
40300                 "Size of template specialization: ",
40301                 stringify!(root::RefPtr<root::mozilla::intl::WordBreaker>)
40302             )
40303         );
40304         assert_eq!(
40305             ::std::mem::align_of::<root::RefPtr<root::mozilla::intl::WordBreaker>>(),
40306             8usize,
40307             concat!(
40308                 "Alignment of template specialization: ",
40309                 stringify!(root::RefPtr<root::mozilla::intl::WordBreaker>)
40310             )
40311         );
40312     }
40313     extern "C" {
40314         #[link_name = "\u{1}_ZN14nsContentUtils12sWordBreakerE"]
40315         pub static mut nsContentUtils_sWordBreaker: root::RefPtr<root::mozilla::intl::WordBreaker>;
40316     }
40317     extern "C" {
40318         #[link_name = "\u{1}_ZN14nsContentUtils13sBidiKeyboardE"]
40319         pub static mut nsContentUtils_sBidiKeyboard: *mut root::nsIBidiKeyboard;
40320     }
40321     extern "C" {
40322         #[link_name = "\u{1}_ZN14nsContentUtils12sInitializedE"]
40323         pub static mut nsContentUtils_sInitialized: bool;
40324     }
40325     extern "C" {
40326         #[link_name = "\u{1}_ZN14nsContentUtils19sScriptBlockerCountE"]
40327         pub static mut nsContentUtils_sScriptBlockerCount: u32;
40328     }
40329     extern "C" {
40330         #[link_name = "\u{1}_ZN14nsContentUtils28sDOMNodeRemovedSuppressCountE"]
40331         pub static mut nsContentUtils_sDOMNodeRemovedSuppressCount: u32;
40332     }
40333     extern "C" {
40334         #[link_name = "\u{1}_ZN14nsContentUtils21sBlockedScriptRunnersE"]
40335         pub static mut nsContentUtils_sBlockedScriptRunners: *mut u8;
40336     }
40337     extern "C" {
40338         #[link_name = "\u{1}_ZN14nsContentUtils27sRunnersCountAtFirstBlockerE"]
40339         pub static mut nsContentUtils_sRunnersCountAtFirstBlocker: u32;
40340     }
40341     extern "C" {
40342         #[link_name = "\u{1}_ZN14nsContentUtils40sScriptBlockerCountWhereRunnersPreventedE"]
40343         pub static mut nsContentUtils_sScriptBlockerCountWhereRunnersPrevented: u32;
40344     }
40345     extern "C" {
40346         #[link_name = "\u{1}_ZN14nsContentUtils18sSameOriginCheckerE"]
40347         pub static mut nsContentUtils_sSameOriginChecker: *mut root::nsIInterfaceRequestor;
40348     }
40349     extern "C" {
40350         #[link_name = "\u{1}_ZN14nsContentUtils24sIsHandlingKeyBoardEventE"]
40351         pub static mut nsContentUtils_sIsHandlingKeyBoardEvent: bool;
40352     }
40353     extern "C" {
40354         #[link_name = "\u{1}_ZN14nsContentUtils21sAllowXULXBL_for_fileE"]
40355         pub static mut nsContentUtils_sAllowXULXBL_for_file: bool;
40356     }
40357     extern "C" {
40358         #[link_name = "\u{1}_ZN14nsContentUtils23sIsFullScreenApiEnabledE"]
40359         pub static mut nsContentUtils_sIsFullScreenApiEnabled: bool;
40360     }
40361     extern "C" {
40362         #[link_name = "\u{1}_ZN14nsContentUtils33sIsUnprefixedFullscreenApiEnabledE"]
40363         pub static mut nsContentUtils_sIsUnprefixedFullscreenApiEnabled: bool;
40364     }
40365     extern "C" {
40366         #[link_name = "\u{1}_ZN14nsContentUtils22sTrustedFullScreenOnlyE"]
40367         pub static mut nsContentUtils_sTrustedFullScreenOnly: bool;
40368     }
40369     extern "C" {
40370         #[link_name = "\u{1}_ZN14nsContentUtils17sIsCutCopyAllowedE"]
40371         pub static mut nsContentUtils_sIsCutCopyAllowed: bool;
40372     }
40373     extern "C" {
40374         #[link_name = "\u{1}_ZN14nsContentUtils21sHandlingInputTimeoutE"]
40375         pub static mut nsContentUtils_sHandlingInputTimeout: u32;
40376     }
40377     extern "C" {
40378         #[link_name = "\u{1}_ZN14nsContentUtils27sIsPerformanceTimingEnabledE"]
40379         pub static mut nsContentUtils_sIsPerformanceTimingEnabled: bool;
40380     }
40381     extern "C" {
40382         #[link_name = "\u{1}_ZN14nsContentUtils24sIsResourceTimingEnabledE"]
40383         pub static mut nsContentUtils_sIsResourceTimingEnabled: bool;
40384     }
40385     extern "C" {
40386         #[link_name = "\u{1}_ZN14nsContentUtils37sIsPerformanceNavigationTimingEnabledE"]
40387         pub static mut nsContentUtils_sIsPerformanceNavigationTimingEnabled: bool;
40388     }
40389     extern "C" {
40390         #[link_name = "\u{1}_ZN14nsContentUtils38sIsUpgradableDisplayContentPrefEnabledE"]
40391         pub static mut nsContentUtils_sIsUpgradableDisplayContentPrefEnabled: bool;
40392     }
40393     extern "C" {
40394         #[link_name = "\u{1}_ZN14nsContentUtils25sIsFrameTimingPrefEnabledE"]
40395         pub static mut nsContentUtils_sIsFrameTimingPrefEnabled: bool;
40396     }
40397     extern "C" {
40398         #[link_name = "\u{1}_ZN14nsContentUtils34sIsFormAutofillAutocompleteEnabledE"]
40399         pub static mut nsContentUtils_sIsFormAutofillAutocompleteEnabled: bool;
40400     }
40401     extern "C" {
40402         #[link_name = "\u{1}_ZN14nsContentUtils19sIsShadowDOMEnabledE"]
40403         pub static mut nsContentUtils_sIsShadowDOMEnabled: bool;
40404     }
40405     extern "C" {
40406         #[link_name = "\u{1}_ZN14nsContentUtils24sIsCustomElementsEnabledE"]
40407         pub static mut nsContentUtils_sIsCustomElementsEnabled: bool;
40408     }
40409     extern "C" {
40410         #[link_name = "\u{1}_ZN14nsContentUtils35sSendPerformanceTimingNotificationsE"]
40411         pub static mut nsContentUtils_sSendPerformanceTimingNotifications: bool;
40412     }
40413     extern "C" {
40414         #[link_name = "\u{1}_ZN14nsContentUtils18sUseActivityCursorE"]
40415         pub static mut nsContentUtils_sUseActivityCursor: bool;
40416     }
40417     extern "C" {
40418         #[link_name = "\u{1}_ZN14nsContentUtils25sAnimationsAPICoreEnabledE"]
40419         pub static mut nsContentUtils_sAnimationsAPICoreEnabled: bool;
40420     }
40421     extern "C" {
40422         #[link_name = "\u{1}_ZN14nsContentUtils35sAnimationsAPIElementAnimateEnabledE"]
40423         pub static mut nsContentUtils_sAnimationsAPIElementAnimateEnabled: bool;
40424     }
40425     extern "C" {
40426         #[link_name = "\u{1}_ZN14nsContentUtils34sAnimationsAPIPendingMemberEnabledE"]
40427         pub static mut nsContentUtils_sAnimationsAPIPendingMemberEnabled: bool;
40428     }
40429     extern "C" {
40430         #[link_name = "\u{1}_ZN14nsContentUtils19sGetBoxQuadsEnabledE"]
40431         pub static mut nsContentUtils_sGetBoxQuadsEnabled: bool;
40432     }
40433     extern "C" {
40434         #[link_name = "\u{1}_ZN14nsContentUtils30sSkipCursorMoveForSameValueSetE"]
40435         pub static mut nsContentUtils_sSkipCursorMoveForSameValueSet: bool;
40436     }
40437     extern "C" {
40438         #[link_name = "\u{1}_ZN14nsContentUtils27sRequestIdleCallbackEnabledE"]
40439         pub static mut nsContentUtils_sRequestIdleCallbackEnabled: bool;
40440     }
40441     extern "C" {
40442         #[link_name = "\u{1}_ZN14nsContentUtils21sLowerNetworkPriorityE"]
40443         pub static mut nsContentUtils_sLowerNetworkPriority: bool;
40444     }
40445     extern "C" {
40446         #[link_name = "\u{1}_ZN14nsContentUtils15sTailingEnabledE"]
40447         pub static mut nsContentUtils_sTailingEnabled: bool;
40448     }
40449     extern "C" {
40450         #[link_name = "\u{1}_ZN14nsContentUtils28sShowInputPlaceholderOnFocusE"]
40451         pub static mut nsContentUtils_sShowInputPlaceholderOnFocus: bool;
40452     }
40453     extern "C" {
40454         #[link_name = "\u{1}_ZN14nsContentUtils17sAutoFocusEnabledE"]
40455         pub static mut nsContentUtils_sAutoFocusEnabled: bool;
40456     }
40457     extern "C" {
40458         #[link_name = "\u{1}_ZN14nsContentUtils23sBypassCSSOMOriginCheckE"]
40459         pub static mut nsContentUtils_sBypassCSSOMOriginCheck: bool;
40460     }
40461     extern "C" {
40462         #[link_name = "\u{1}_ZN14nsContentUtils21sIsScopedStyleEnabledE"]
40463         pub static mut nsContentUtils_sIsScopedStyleEnabled: bool;
40464     }
40465     extern "C" {
40466         #[link_name = "\u{1}_ZN14nsContentUtils23sIsBytecodeCacheEnabledE"]
40467         pub static mut nsContentUtils_sIsBytecodeCacheEnabled: bool;
40468     }
40469     extern "C" {
40470         #[link_name = "\u{1}_ZN14nsContentUtils22sBytecodeCacheStrategyE"]
40471         pub static mut nsContentUtils_sBytecodeCacheStrategy: i32;
40472     }
40473     extern "C" {
40474         #[link_name = "\u{1}_ZN14nsContentUtils22sCookiesLifetimePolicyE"]
40475         pub static mut nsContentUtils_sCookiesLifetimePolicy: u32;
40476     }
40477     extern "C" {
40478         #[link_name = "\u{1}_ZN14nsContentUtils16sCookiesBehaviorE"]
40479         pub static mut nsContentUtils_sCookiesBehavior: u32;
40480     }
40481     extern "C" {
40482         #[link_name = "\u{1}_ZN14nsContentUtils20sShortcutsCustomizedE"]
40483         pub static mut nsContentUtils_sShortcutsCustomized: bool;
40484     }
40485     extern "C" {
40486         #[link_name = "\u{1}_ZN14nsContentUtils21sPrivacyMaxInnerWidthE"]
40487         pub static mut nsContentUtils_sPrivacyMaxInnerWidth: i32;
40488     }
40489     extern "C" {
40490         #[link_name = "\u{1}_ZN14nsContentUtils22sPrivacyMaxInnerHeightE"]
40491         pub static mut nsContentUtils_sPrivacyMaxInnerHeight: i32;
40492     }
40493     #[repr(C)]
40494     #[derive(Debug, Copy)]
40495     pub struct nsContentUtils_UserInteractionObserver {
40496         _unused: [u8; 0],
40497     }
40498     impl Clone for nsContentUtils_UserInteractionObserver {
clone(&self) -> Self40499         fn clone(&self) -> Self {
40500             *self
40501         }
40502     }
40503     extern "C" {
40504         #[link_name = "\u{1}_ZN14nsContentUtils24sUserInteractionObserverE"]
40505         pub static mut nsContentUtils_sUserInteractionObserver:
40506             *mut root::nsContentUtils_UserInteractionObserver;
40507     }
40508     extern "C" {
40509         #[link_name = "\u{1}_ZN14nsContentUtils19sHTMLFragmentParserE"]
40510         pub static mut nsContentUtils_sHTMLFragmentParser: *mut root::nsHtml5StringParser;
40511     }
40512     extern "C" {
40513         #[link_name = "\u{1}_ZN14nsContentUtils18sXMLFragmentParserE"]
40514         pub static mut nsContentUtils_sXMLFragmentParser: *mut root::nsIParser;
40515     }
40516     extern "C" {
40517         #[link_name = "\u{1}_ZN14nsContentUtils16sXMLFragmentSinkE"]
40518         pub static mut nsContentUtils_sXMLFragmentSink: *mut root::nsIFragmentContentSink;
40519     }
40520     extern "C" {
40521         #[link_name = "\u{1}_ZN14nsContentUtils22sFragmentParsingActiveE"]
40522         pub static mut nsContentUtils_sFragmentParsingActive: bool;
40523     }
40524     extern "C" {
40525         #[link_name = "\u{1}_ZN14nsContentUtils10sShiftTextE"]
40526         pub static mut nsContentUtils_sShiftText: *mut ::nsstring::nsStringRepr;
40527     }
40528     extern "C" {
40529         #[link_name = "\u{1}_ZN14nsContentUtils12sControlTextE"]
40530         pub static mut nsContentUtils_sControlText: *mut ::nsstring::nsStringRepr;
40531     }
40532     extern "C" {
40533         #[link_name = "\u{1}_ZN14nsContentUtils9sMetaTextE"]
40534         pub static mut nsContentUtils_sMetaText: *mut ::nsstring::nsStringRepr;
40535     }
40536     extern "C" {
40537         #[link_name = "\u{1}_ZN14nsContentUtils7sOSTextE"]
40538         pub static mut nsContentUtils_sOSText: *mut ::nsstring::nsStringRepr;
40539     }
40540     extern "C" {
40541         #[link_name = "\u{1}_ZN14nsContentUtils8sAltTextE"]
40542         pub static mut nsContentUtils_sAltText: *mut ::nsstring::nsStringRepr;
40543     }
40544     extern "C" {
40545         #[link_name = "\u{1}_ZN14nsContentUtils18sModifierSeparatorE"]
40546         pub static mut nsContentUtils_sModifierSeparator: *mut ::nsstring::nsStringRepr;
40547     }
40548     extern "C" {
40549         #[link_name = "\u{1}_ZN14nsContentUtils19sJSBytecodeMimeTypeE"]
40550         pub static mut nsContentUtils_sJSBytecodeMimeType: *mut root::nsCString;
40551     }
40552     extern "C" {
40553         #[link_name = "\u{1}_ZN14nsContentUtils18sDoNotTrackEnabledE"]
40554         pub static mut nsContentUtils_sDoNotTrackEnabled: bool;
40555     }
40556     extern "C" {
40557         #[link_name = "\u{1}_ZN14nsContentUtils11sDOMDumpLogE"]
40558         pub static mut nsContentUtils_sDOMDumpLog: root::mozilla::LazyLogModule;
40559     }
40560     extern "C" {
40561         #[link_name = "\u{1}_ZN14nsContentUtils18sPopupControlStateE"]
40562         pub static mut nsContentUtils_sPopupControlState: root::PopupControlState;
40563     }
40564     extern "C" {
40565         #[link_name = "\u{1}_ZN14nsContentUtils24sInnerOrOuterWindowCountE"]
40566         pub static mut nsContentUtils_sInnerOrOuterWindowCount: i32;
40567     }
40568     extern "C" {
40569         #[link_name = "\u{1}_ZN14nsContentUtils32sInnerOrOuterWindowSerialCounterE"]
40570         pub static mut nsContentUtils_sInnerOrOuterWindowSerialCounter: u32;
40571     }
40572     pub type nsMediaFeatureValueGetter = ::std::option::Option<
40573         unsafe extern "C" fn(
40574             aDocument: *mut root::nsIDocument,
40575             aFeature: *const root::nsMediaFeature,
40576             aResult: *mut root::nsCSSValue,
40577         ),
40578     >;
40579     #[repr(C)]
40580     #[derive(Debug, Copy)]
40581     pub struct nsMediaFeature {
40582         pub mName: *mut *mut root::nsStaticAtom,
40583         pub mRangeType: root::nsMediaFeature_RangeType,
40584         pub mValueType: root::nsMediaFeature_ValueType,
40585         pub mReqFlags: u8,
40586         pub mData: root::nsMediaFeature__bindgen_ty_1,
40587         pub mGetter: root::nsMediaFeatureValueGetter,
40588     }
40589     #[repr(u32)]
40590     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
40591     pub enum nsMediaFeature_RangeType {
40592         eMinMaxAllowed = 0,
40593         eMinMaxNotAllowed = 1,
40594     }
40595     #[repr(u32)]
40596     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
40597     pub enum nsMediaFeature_ValueType {
40598         eLength = 0,
40599         eInteger = 1,
40600         eFloat = 2,
40601         eBoolInteger = 3,
40602         eIntRatio = 4,
40603         eResolution = 5,
40604         eEnumerated = 6,
40605         eIdent = 7,
40606     }
40607     pub const nsMediaFeature_RequirementFlags_eNoRequirements:
40608         root::nsMediaFeature_RequirementFlags = 0;
40609     pub const nsMediaFeature_RequirementFlags_eHasWebkitPrefix:
40610         root::nsMediaFeature_RequirementFlags = 1;
40611     pub const nsMediaFeature_RequirementFlags_eWebkitDevicePixelRatioPrefEnabled:
40612         root::nsMediaFeature_RequirementFlags = 2;
40613     pub const nsMediaFeature_RequirementFlags_eUserAgentAndChromeOnly:
40614         root::nsMediaFeature_RequirementFlags = 4;
40615     pub type nsMediaFeature_RequirementFlags = u8;
40616     #[repr(C)]
40617     #[derive(Debug, Copy)]
40618     pub struct nsMediaFeature__bindgen_ty_1 {
40619         pub mInitializer_: root::__BindgenUnionField<*const ::std::os::raw::c_void>,
40620         pub mKeywordTable: root::__BindgenUnionField<*const root::nsCSSProps_KTableEntry>,
40621         pub mMetric: root::__BindgenUnionField<*const *const root::nsAtom>,
40622         pub bindgen_union_field: u64,
40623     }
40624     #[test]
bindgen_test_layout_nsMediaFeature__bindgen_ty_1()40625     fn bindgen_test_layout_nsMediaFeature__bindgen_ty_1() {
40626         assert_eq!(
40627             ::std::mem::size_of::<nsMediaFeature__bindgen_ty_1>(),
40628             8usize,
40629             concat!("Size of: ", stringify!(nsMediaFeature__bindgen_ty_1))
40630         );
40631         assert_eq!(
40632             ::std::mem::align_of::<nsMediaFeature__bindgen_ty_1>(),
40633             8usize,
40634             concat!("Alignment of ", stringify!(nsMediaFeature__bindgen_ty_1))
40635         );
40636         assert_eq!(
40637             unsafe {
40638                 &(*(::std::ptr::null::<nsMediaFeature__bindgen_ty_1>())).mInitializer_ as *const _
40639                     as usize
40640             },
40641             0usize,
40642             concat!(
40643                 "Offset of field: ",
40644                 stringify!(nsMediaFeature__bindgen_ty_1),
40645                 "::",
40646                 stringify!(mInitializer_)
40647             )
40648         );
40649         assert_eq!(
40650             unsafe {
40651                 &(*(::std::ptr::null::<nsMediaFeature__bindgen_ty_1>())).mKeywordTable as *const _
40652                     as usize
40653             },
40654             0usize,
40655             concat!(
40656                 "Offset of field: ",
40657                 stringify!(nsMediaFeature__bindgen_ty_1),
40658                 "::",
40659                 stringify!(mKeywordTable)
40660             )
40661         );
40662         assert_eq!(
40663             unsafe {
40664                 &(*(::std::ptr::null::<nsMediaFeature__bindgen_ty_1>())).mMetric as *const _
40665                     as usize
40666             },
40667             0usize,
40668             concat!(
40669                 "Offset of field: ",
40670                 stringify!(nsMediaFeature__bindgen_ty_1),
40671                 "::",
40672                 stringify!(mMetric)
40673             )
40674         );
40675     }
40676     impl Clone for nsMediaFeature__bindgen_ty_1 {
clone(&self) -> Self40677         fn clone(&self) -> Self {
40678             *self
40679         }
40680     }
40681     #[test]
bindgen_test_layout_nsMediaFeature()40682     fn bindgen_test_layout_nsMediaFeature() {
40683         assert_eq!(
40684             ::std::mem::size_of::<nsMediaFeature>(),
40685             40usize,
40686             concat!("Size of: ", stringify!(nsMediaFeature))
40687         );
40688         assert_eq!(
40689             ::std::mem::align_of::<nsMediaFeature>(),
40690             8usize,
40691             concat!("Alignment of ", stringify!(nsMediaFeature))
40692         );
40693         assert_eq!(
40694             unsafe { &(*(::std::ptr::null::<nsMediaFeature>())).mName as *const _ as usize },
40695             0usize,
40696             concat!(
40697                 "Offset of field: ",
40698                 stringify!(nsMediaFeature),
40699                 "::",
40700                 stringify!(mName)
40701             )
40702         );
40703         assert_eq!(
40704             unsafe { &(*(::std::ptr::null::<nsMediaFeature>())).mRangeType as *const _ as usize },
40705             8usize,
40706             concat!(
40707                 "Offset of field: ",
40708                 stringify!(nsMediaFeature),
40709                 "::",
40710                 stringify!(mRangeType)
40711             )
40712         );
40713         assert_eq!(
40714             unsafe { &(*(::std::ptr::null::<nsMediaFeature>())).mValueType as *const _ as usize },
40715             12usize,
40716             concat!(
40717                 "Offset of field: ",
40718                 stringify!(nsMediaFeature),
40719                 "::",
40720                 stringify!(mValueType)
40721             )
40722         );
40723         assert_eq!(
40724             unsafe { &(*(::std::ptr::null::<nsMediaFeature>())).mReqFlags as *const _ as usize },
40725             16usize,
40726             concat!(
40727                 "Offset of field: ",
40728                 stringify!(nsMediaFeature),
40729                 "::",
40730                 stringify!(mReqFlags)
40731             )
40732         );
40733         assert_eq!(
40734             unsafe { &(*(::std::ptr::null::<nsMediaFeature>())).mData as *const _ as usize },
40735             24usize,
40736             concat!(
40737                 "Offset of field: ",
40738                 stringify!(nsMediaFeature),
40739                 "::",
40740                 stringify!(mData)
40741             )
40742         );
40743         assert_eq!(
40744             unsafe { &(*(::std::ptr::null::<nsMediaFeature>())).mGetter as *const _ as usize },
40745             32usize,
40746             concat!(
40747                 "Offset of field: ",
40748                 stringify!(nsMediaFeature),
40749                 "::",
40750                 stringify!(mGetter)
40751             )
40752         );
40753     }
40754     impl Clone for nsMediaFeature {
clone(&self) -> Self40755         fn clone(&self) -> Self {
40756             *self
40757         }
40758     }
40759     #[repr(C)]
40760     #[derive(Debug, Copy)]
40761     pub struct nsMediaFeatures {
40762         pub _address: u8,
40763     }
40764     extern "C" {
40765         #[link_name = "\u{1}_ZN15nsMediaFeatures8featuresE"]
40766         pub static mut nsMediaFeatures_features: [root::nsMediaFeature; 0usize];
40767     }
40768     #[test]
bindgen_test_layout_nsMediaFeatures()40769     fn bindgen_test_layout_nsMediaFeatures() {
40770         assert_eq!(
40771             ::std::mem::size_of::<nsMediaFeatures>(),
40772             1usize,
40773             concat!("Size of: ", stringify!(nsMediaFeatures))
40774         );
40775         assert_eq!(
40776             ::std::mem::align_of::<nsMediaFeatures>(),
40777             1usize,
40778             concat!("Alignment of ", stringify!(nsMediaFeatures))
40779         );
40780     }
40781     impl Clone for nsMediaFeatures {
clone(&self) -> Self40782         fn clone(&self) -> Self {
40783             *self
40784         }
40785     }
40786     #[test]
__bindgen_test_layout_nsTSubstring_open0_char16_t_close0_instantiation()40787     fn __bindgen_test_layout_nsTSubstring_open0_char16_t_close0_instantiation() {
40788         assert_eq!(
40789             ::std::mem::size_of::<root::nsTSubstring<u16>>(),
40790             16usize,
40791             concat!(
40792                 "Size of template specialization: ",
40793                 stringify!(root::nsTSubstring<u16>)
40794             )
40795         );
40796         assert_eq!(
40797             ::std::mem::align_of::<root::nsTSubstring<u16>>(),
40798             8usize,
40799             concat!(
40800                 "Alignment of template specialization: ",
40801                 stringify!(root::nsTSubstring<u16>)
40802             )
40803         );
40804     }
40805     #[test]
__bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation()40806     fn __bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation() {
40807         assert_eq!(
40808             ::std::mem::size_of::<::nsstring::nsStringRepr>(),
40809             16usize,
40810             concat!(
40811                 "Size of template specialization: ",
40812                 stringify!(::nsstring::nsStringRepr)
40813             )
40814         );
40815         assert_eq!(
40816             ::std::mem::align_of::<::nsstring::nsStringRepr>(),
40817             8usize,
40818             concat!(
40819                 "Alignment of template specialization: ",
40820                 stringify!(::nsstring::nsStringRepr)
40821             )
40822         );
40823     }
40824     #[test]
__bindgen_test_layout_nsTSubstring_open0_char_close0_instantiation()40825     fn __bindgen_test_layout_nsTSubstring_open0_char_close0_instantiation() {
40826         assert_eq!(
40827             ::std::mem::size_of::<root::nsTSubstring<::std::os::raw::c_char>>(),
40828             16usize,
40829             concat!(
40830                 "Size of template specialization: ",
40831                 stringify!(root::nsTSubstring<::std::os::raw::c_char>)
40832             )
40833         );
40834         assert_eq!(
40835             ::std::mem::align_of::<root::nsTSubstring<::std::os::raw::c_char>>(),
40836             8usize,
40837             concat!(
40838                 "Alignment of template specialization: ",
40839                 stringify!(root::nsTSubstring<::std::os::raw::c_char>)
40840             )
40841         );
40842     }
40843     #[test]
__bindgen_test_layout_nsTString_open0_char_close0_instantiation()40844     fn __bindgen_test_layout_nsTString_open0_char_close0_instantiation() {
40845         assert_eq!(
40846             ::std::mem::size_of::<root::nsTString<::std::os::raw::c_char>>(),
40847             16usize,
40848             concat!(
40849                 "Size of template specialization: ",
40850                 stringify!(root::nsTString<::std::os::raw::c_char>)
40851             )
40852         );
40853         assert_eq!(
40854             ::std::mem::align_of::<root::nsTString<::std::os::raw::c_char>>(),
40855             8usize,
40856             concat!(
40857                 "Alignment of template specialization: ",
40858                 stringify!(root::nsTString<::std::os::raw::c_char>)
40859             )
40860         );
40861     }
40862     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation()40863     fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation() {
40864         assert_eq!(
40865             ::std::mem::size_of::<root::nsCOMPtr>(),
40866             8usize,
40867             concat!(
40868                 "Size of template specialization: ",
40869                 stringify!(root::nsCOMPtr)
40870             )
40871         );
40872         assert_eq!(
40873             ::std::mem::align_of::<root::nsCOMPtr>(),
40874             8usize,
40875             concat!(
40876                 "Alignment of template specialization: ",
40877                 stringify!(root::nsCOMPtr)
40878             )
40879         );
40880     }
40881     #[test]
__bindgen_test_layout_nsTArray_open0_CSSVariableValues_Variable_close0_instantiation()40882     fn __bindgen_test_layout_nsTArray_open0_CSSVariableValues_Variable_close0_instantiation() {
40883         assert_eq!(
40884             ::std::mem::size_of::<root::nsTArray<root::mozilla::CSSVariableValues_Variable>>(),
40885             8usize,
40886             concat!(
40887                 "Size of template specialization: ",
40888                 stringify!(root::nsTArray<root::mozilla::CSSVariableValues_Variable>)
40889             )
40890         );
40891         assert_eq!(
40892             ::std::mem::align_of::<root::nsTArray<root::mozilla::CSSVariableValues_Variable>>(),
40893             8usize,
40894             concat!(
40895                 "Alignment of template specialization: ",
40896                 stringify!(root::nsTArray<root::mozilla::CSSVariableValues_Variable>)
40897             )
40898         );
40899     }
40900     #[test]
__bindgen_test_layout_nsTArray_open0_FontFamilyName_close0_instantiation()40901     fn __bindgen_test_layout_nsTArray_open0_FontFamilyName_close0_instantiation() {
40902         assert_eq!(
40903             ::std::mem::size_of::<root::nsTArray<root::mozilla::FontFamilyName>>(),
40904             8usize,
40905             concat!(
40906                 "Size of template specialization: ",
40907                 stringify!(root::nsTArray<root::mozilla::FontFamilyName>)
40908             )
40909         );
40910         assert_eq!(
40911             ::std::mem::align_of::<root::nsTArray<root::mozilla::FontFamilyName>>(),
40912             8usize,
40913             concat!(
40914                 "Alignment of template specialization: ",
40915                 stringify!(root::nsTArray<root::mozilla::FontFamilyName>)
40916             )
40917         );
40918     }
40919     #[test]
__bindgen_test_layout_NotNull_open0_RefPtr_open1_SharedFontList_close1_close0_instantiation()40920     fn __bindgen_test_layout_NotNull_open0_RefPtr_open1_SharedFontList_close1_close0_instantiation()
40921     {
40922         assert_eq!(
40923             ::std::mem::size_of::<
40924                 root::mozilla::NotNull<root::RefPtr<root::mozilla::SharedFontList>>,
40925             >(),
40926             8usize,
40927             concat!(
40928                 "Size of template specialization: ",
40929                 stringify!(root::mozilla::NotNull<root::RefPtr<root::mozilla::SharedFontList>>)
40930             )
40931         );
40932         assert_eq!(
40933             ::std::mem::align_of::<
40934                 root::mozilla::NotNull<root::RefPtr<root::mozilla::SharedFontList>>,
40935             >(),
40936             8usize,
40937             concat!(
40938                 "Alignment of template specialization: ",
40939                 stringify!(root::mozilla::NotNull<root::RefPtr<root::mozilla::SharedFontList>>)
40940             )
40941         );
40942     }
40943     #[test]
__bindgen_test_layout_RefPtr_open0_SharedFontList_close0_instantiation()40944     fn __bindgen_test_layout_RefPtr_open0_SharedFontList_close0_instantiation() {
40945         assert_eq!(
40946             ::std::mem::size_of::<root::RefPtr<root::mozilla::SharedFontList>>(),
40947             8usize,
40948             concat!(
40949                 "Size of template specialization: ",
40950                 stringify!(root::RefPtr<root::mozilla::SharedFontList>)
40951             )
40952         );
40953         assert_eq!(
40954             ::std::mem::align_of::<root::RefPtr<root::mozilla::SharedFontList>>(),
40955             8usize,
40956             concat!(
40957                 "Alignment of template specialization: ",
40958                 stringify!(root::RefPtr<root::mozilla::SharedFontList>)
40959             )
40960         );
40961     }
40962     #[test]
__bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation()40963     fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation() {
40964         assert_eq!(
40965             ::std::mem::size_of::<root::nsTArray<u32>>(),
40966             8usize,
40967             concat!(
40968                 "Size of template specialization: ",
40969                 stringify!(root::nsTArray<u32>)
40970             )
40971         );
40972         assert_eq!(
40973             ::std::mem::align_of::<root::nsTArray<u32>>(),
40974             8usize,
40975             concat!(
40976                 "Alignment of template specialization: ",
40977                 stringify!(root::nsTArray<u32>)
40978             )
40979         );
40980     }
40981     #[test]
__bindgen_test_layout_nsTArray_open0_gfxFontFeatureValueSet_ValueList_close0_instantiation()40982     fn __bindgen_test_layout_nsTArray_open0_gfxFontFeatureValueSet_ValueList_close0_instantiation()
40983     {
40984         assert_eq!(
40985             ::std::mem::size_of::<root::nsTArray<root::gfxFontFeatureValueSet_ValueList>>(),
40986             8usize,
40987             concat!(
40988                 "Size of template specialization: ",
40989                 stringify!(root::nsTArray<root::gfxFontFeatureValueSet_ValueList>)
40990             )
40991         );
40992         assert_eq!(
40993             ::std::mem::align_of::<root::nsTArray<root::gfxFontFeatureValueSet_ValueList>>(),
40994             8usize,
40995             concat!(
40996                 "Alignment of template specialization: ",
40997                 stringify!(root::nsTArray<root::gfxFontFeatureValueSet_ValueList>)
40998             )
40999         );
41000     }
41001     #[test]
__bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_1()41002     fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_1() {
41003         assert_eq!(
41004             ::std::mem::size_of::<root::nsTArray<u32>>(),
41005             8usize,
41006             concat!(
41007                 "Size of template specialization: ",
41008                 stringify!(root::nsTArray<u32>)
41009             )
41010         );
41011         assert_eq!(
41012             ::std::mem::align_of::<root::nsTArray<u32>>(),
41013             8usize,
41014             concat!(
41015                 "Alignment of template specialization: ",
41016                 stringify!(root::nsTArray<u32>)
41017             )
41018         );
41019     }
41020     #[test]
__bindgen_test_layout_nsTArray_open0_gfxAlternateValue_close0_instantiation()41021     fn __bindgen_test_layout_nsTArray_open0_gfxAlternateValue_close0_instantiation() {
41022         assert_eq!(
41023             ::std::mem::size_of::<root::nsTArray<root::gfxAlternateValue>>(),
41024             8usize,
41025             concat!(
41026                 "Size of template specialization: ",
41027                 stringify!(root::nsTArray<root::gfxAlternateValue>)
41028             )
41029         );
41030         assert_eq!(
41031             ::std::mem::align_of::<root::nsTArray<root::gfxAlternateValue>>(),
41032             8usize,
41033             concat!(
41034                 "Alignment of template specialization: ",
41035                 stringify!(root::nsTArray<root::gfxAlternateValue>)
41036             )
41037         );
41038     }
41039     #[test]
__bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation()41040     fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation() {
41041         assert_eq!(
41042             ::std::mem::size_of::<root::RefPtr<root::gfxFontFeatureValueSet>>(),
41043             8usize,
41044             concat!(
41045                 "Size of template specialization: ",
41046                 stringify!(root::RefPtr<root::gfxFontFeatureValueSet>)
41047             )
41048         );
41049         assert_eq!(
41050             ::std::mem::align_of::<root::RefPtr<root::gfxFontFeatureValueSet>>(),
41051             8usize,
41052             concat!(
41053                 "Alignment of template specialization: ",
41054                 stringify!(root::RefPtr<root::gfxFontFeatureValueSet>)
41055             )
41056         );
41057     }
41058     #[test]
__bindgen_test_layout_nsTArray_open0_gfxFontFeature_close0_instantiation()41059     fn __bindgen_test_layout_nsTArray_open0_gfxFontFeature_close0_instantiation() {
41060         assert_eq!(
41061             ::std::mem::size_of::<root::nsTArray<root::gfxFontFeature>>(),
41062             8usize,
41063             concat!(
41064                 "Size of template specialization: ",
41065                 stringify!(root::nsTArray<root::gfxFontFeature>)
41066             )
41067         );
41068         assert_eq!(
41069             ::std::mem::align_of::<root::nsTArray<root::gfxFontFeature>>(),
41070             8usize,
41071             concat!(
41072                 "Alignment of template specialization: ",
41073                 stringify!(root::nsTArray<root::gfxFontFeature>)
41074             )
41075         );
41076     }
41077     #[test]
__bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation()41078     fn __bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation() {
41079         assert_eq!(
41080             ::std::mem::size_of::<root::nsTArray<root::gfxFontVariation>>(),
41081             8usize,
41082             concat!(
41083                 "Size of template specialization: ",
41084                 stringify!(root::nsTArray<root::gfxFontVariation>)
41085             )
41086         );
41087         assert_eq!(
41088             ::std::mem::align_of::<root::nsTArray<root::gfxFontVariation>>(),
41089             8usize,
41090             concat!(
41091                 "Alignment of template specialization: ",
41092                 stringify!(root::nsTArray<root::gfxFontVariation>)
41093             )
41094         );
41095     }
41096     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation()41097     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation() {
41098         assert_eq!(
41099             ::std::mem::size_of::<root::nsTArray<root::RefPtr<root::nsAtom>>>(),
41100             8usize,
41101             concat!(
41102                 "Size of template specialization: ",
41103                 stringify!(root::nsTArray<root::RefPtr<root::nsAtom>>)
41104             )
41105         );
41106         assert_eq!(
41107             ::std::mem::align_of::<root::nsTArray<root::RefPtr<root::nsAtom>>>(),
41108             8usize,
41109             concat!(
41110                 "Alignment of template specialization: ",
41111                 stringify!(root::nsTArray<root::RefPtr<root::nsAtom>>)
41112             )
41113         );
41114     }
41115     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation()41116     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation() {
41117         assert_eq!(
41118             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
41119             8usize,
41120             concat!(
41121                 "Size of template specialization: ",
41122                 stringify!(root::RefPtr<root::nsAtom>)
41123             )
41124         );
41125         assert_eq!(
41126             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
41127             8usize,
41128             concat!(
41129                 "Alignment of template specialization: ",
41130                 stringify!(root::RefPtr<root::nsAtom>)
41131             )
41132         );
41133     }
41134     #[test]
__bindgen_test_layout_UniquePtr_open0_ProfilerBacktrace_ProfilerBacktraceDestructor_close0_instantiation( )41135     fn __bindgen_test_layout_UniquePtr_open0_ProfilerBacktrace_ProfilerBacktraceDestructor_close0_instantiation(
41136 ) {
41137         assert_eq!(
41138             ::std::mem::size_of::<root::mozilla::UniquePtr<root::ProfilerBacktrace>>(),
41139             8usize,
41140             concat!(
41141                 "Size of template specialization: ",
41142                 stringify!(root::mozilla::UniquePtr<root::ProfilerBacktrace>)
41143             )
41144         );
41145         assert_eq!(
41146             ::std::mem::align_of::<root::mozilla::UniquePtr<root::ProfilerBacktrace>>(),
41147             8usize,
41148             concat!(
41149                 "Alignment of template specialization: ",
41150                 stringify!(root::mozilla::UniquePtr<root::ProfilerBacktrace>)
41151             )
41152         );
41153     }
41154     #[test]
__bindgen_test_layout_BaseTimeDuration_open0_TimeDurationValueCalculator_close0_instantiation( )41155     fn __bindgen_test_layout_BaseTimeDuration_open0_TimeDurationValueCalculator_close0_instantiation(
41156 ) {
41157         assert_eq!(
41158             ::std::mem::size_of::<root::mozilla::BaseTimeDuration>(),
41159             8usize,
41160             concat!(
41161                 "Size of template specialization: ",
41162                 stringify!(root::mozilla::BaseTimeDuration)
41163             )
41164         );
41165         assert_eq!(
41166             ::std::mem::align_of::<root::mozilla::BaseTimeDuration>(),
41167             8usize,
41168             concat!(
41169                 "Alignment of template specialization: ",
41170                 stringify!(root::mozilla::BaseTimeDuration)
41171             )
41172         );
41173     }
41174     #[test]
__bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation( )41175     fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation(
41176 ) {
41177         assert_eq!(
41178             ::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41179             8usize,
41180             concat!(
41181                 "Size of template specialization: ",
41182                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41183             )
41184         );
41185         assert_eq!(
41186             ::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41187             8usize,
41188             concat!(
41189                 "Alignment of template specialization: ",
41190                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41191             )
41192         );
41193     }
41194     #[test]
__bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation()41195     fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation() {
41196         assert_eq!(
41197             ::std::mem::size_of::<root::JS::DeletePolicy>(),
41198             1usize,
41199             concat!(
41200                 "Size of template specialization: ",
41201                 stringify!(root::JS::DeletePolicy)
41202             )
41203         );
41204         assert_eq!(
41205             ::std::mem::align_of::<root::JS::DeletePolicy>(),
41206             1usize,
41207             concat!(
41208                 "Alignment of template specialization: ",
41209                 stringify!(root::JS::DeletePolicy)
41210             )
41211         );
41212     }
41213     #[test]
__bindgen_test_layout_UniquePtr_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation( )41214     fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation(
41215 ) {
41216         assert_eq!(
41217             ::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes>>(),
41218             8usize,
41219             concat!(
41220                 "Size of template specialization: ",
41221                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes>)
41222             )
41223         );
41224         assert_eq!(
41225             ::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes>>(),
41226             8usize,
41227             concat!(
41228                 "Alignment of template specialization: ",
41229                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes>)
41230             )
41231         );
41232     }
41233     #[test]
__bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_close0_instantiation()41234     fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_close0_instantiation() {
41235         assert_eq!(
41236             ::std::mem::size_of::<root::JS::DeletePolicy>(),
41237             1usize,
41238             concat!(
41239                 "Size of template specialization: ",
41240                 stringify!(root::JS::DeletePolicy)
41241             )
41242         );
41243         assert_eq!(
41244             ::std::mem::align_of::<root::JS::DeletePolicy>(),
41245             1usize,
41246             concat!(
41247                 "Alignment of template specialization: ",
41248                 stringify!(root::JS::DeletePolicy)
41249             )
41250         );
41251     }
41252     #[test]
__bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long_ptr_UniquePtr_ref_UniquePtr_close0_instantiation( )41253     fn __bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long_ptr_UniquePtr_ref_UniquePtr_close0_instantiation(
41254 ) {
41255         assert_eq!(
41256             ::std::mem::size_of::<root::std::iterator>(),
41257             1usize,
41258             concat!(
41259                 "Size of template specialization: ",
41260                 stringify!(root::std::iterator)
41261             )
41262         );
41263         assert_eq!(
41264             ::std::mem::align_of::<root::std::iterator>(),
41265             1usize,
41266             concat!(
41267                 "Alignment of template specialization: ",
41268                 stringify!(root::std::iterator)
41269             )
41270         );
41271     }
41272     #[test]
__bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_1( )41273     fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_1(
41274 ) {
41275         assert_eq!(
41276             ::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41277             8usize,
41278             concat!(
41279                 "Size of template specialization: ",
41280                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41281             )
41282         );
41283         assert_eq!(
41284             ::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41285             8usize,
41286             concat!(
41287                 "Alignment of template specialization: ",
41288                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41289             )
41290         );
41291     }
41292     #[test]
__bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_1()41293     fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_1() {
41294         assert_eq!(
41295             ::std::mem::size_of::<root::JS::DeletePolicy>(),
41296             1usize,
41297             concat!(
41298                 "Size of template specialization: ",
41299                 stringify!(root::JS::DeletePolicy)
41300             )
41301         );
41302         assert_eq!(
41303             ::std::mem::align_of::<root::JS::DeletePolicy>(),
41304             1usize,
41305             concat!(
41306                 "Alignment of template specialization: ",
41307                 stringify!(root::JS::DeletePolicy)
41308             )
41309         );
41310     }
41311     #[test]
__bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_2( )41312     fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_2(
41313 ) {
41314         assert_eq!(
41315             ::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41316             8usize,
41317             concat!(
41318                 "Size of template specialization: ",
41319                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41320             )
41321         );
41322         assert_eq!(
41323             ::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41324             8usize,
41325             concat!(
41326                 "Alignment of template specialization: ",
41327                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41328             )
41329         );
41330     }
41331     #[test]
__bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_2()41332     fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_2() {
41333         assert_eq!(
41334             ::std::mem::size_of::<root::JS::DeletePolicy>(),
41335             1usize,
41336             concat!(
41337                 "Size of template specialization: ",
41338                 stringify!(root::JS::DeletePolicy)
41339             )
41340         );
41341         assert_eq!(
41342             ::std::mem::align_of::<root::JS::DeletePolicy>(),
41343             1usize,
41344             concat!(
41345                 "Alignment of template specialization: ",
41346                 stringify!(root::JS::DeletePolicy)
41347             )
41348         );
41349     }
41350     #[test]
__bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_3( )41351     fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_3(
41352 ) {
41353         assert_eq!(
41354             ::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41355             8usize,
41356             concat!(
41357                 "Size of template specialization: ",
41358                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41359             )
41360         );
41361         assert_eq!(
41362             ::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41363             8usize,
41364             concat!(
41365                 "Alignment of template specialization: ",
41366                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41367             )
41368         );
41369     }
41370     #[test]
__bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_3()41371     fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_3() {
41372         assert_eq!(
41373             ::std::mem::size_of::<root::JS::DeletePolicy>(),
41374             1usize,
41375             concat!(
41376                 "Size of template specialization: ",
41377                 stringify!(root::JS::DeletePolicy)
41378             )
41379         );
41380         assert_eq!(
41381             ::std::mem::align_of::<root::JS::DeletePolicy>(),
41382             1usize,
41383             concat!(
41384                 "Alignment of template specialization: ",
41385                 stringify!(root::JS::DeletePolicy)
41386             )
41387         );
41388     }
41389     #[test]
__bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_4( )41390     fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_4(
41391 ) {
41392         assert_eq!(
41393             ::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41394             8usize,
41395             concat!(
41396                 "Size of template specialization: ",
41397                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41398             )
41399         );
41400         assert_eq!(
41401             ::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41402             8usize,
41403             concat!(
41404                 "Alignment of template specialization: ",
41405                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41406             )
41407         );
41408     }
41409     #[test]
__bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_4()41410     fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_4() {
41411         assert_eq!(
41412             ::std::mem::size_of::<root::JS::DeletePolicy>(),
41413             1usize,
41414             concat!(
41415                 "Size of template specialization: ",
41416                 stringify!(root::JS::DeletePolicy)
41417             )
41418         );
41419         assert_eq!(
41420             ::std::mem::align_of::<root::JS::DeletePolicy>(),
41421             1usize,
41422             concat!(
41423                 "Alignment of template specialization: ",
41424                 stringify!(root::JS::DeletePolicy)
41425             )
41426         );
41427     }
41428     #[test]
__bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_5( )41429     fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_Note_DeletePolicy_open1_JSErrorNotes_Note_close1_close0_instantiation_5(
41430 ) {
41431         assert_eq!(
41432             ::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41433             8usize,
41434             concat!(
41435                 "Size of template specialization: ",
41436                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41437             )
41438         );
41439         assert_eq!(
41440             ::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>(),
41441             8usize,
41442             concat!(
41443                 "Alignment of template specialization: ",
41444                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes_Note>)
41445             )
41446         );
41447     }
41448     #[test]
__bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_5()41449     fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_Note_close0_instantiation_5() {
41450         assert_eq!(
41451             ::std::mem::size_of::<root::JS::DeletePolicy>(),
41452             1usize,
41453             concat!(
41454                 "Size of template specialization: ",
41455                 stringify!(root::JS::DeletePolicy)
41456             )
41457         );
41458         assert_eq!(
41459             ::std::mem::align_of::<root::JS::DeletePolicy>(),
41460             1usize,
41461             concat!(
41462                 "Alignment of template specialization: ",
41463                 stringify!(root::JS::DeletePolicy)
41464             )
41465         );
41466     }
41467     #[test]
__bindgen_test_layout_UniquePtr_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation_1( )41468     fn __bindgen_test_layout_UniquePtr_open0_JSErrorNotes_DeletePolicy_open1_JSErrorNotes_close1_close0_instantiation_1(
41469 ) {
41470         assert_eq!(
41471             ::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes>>(),
41472             8usize,
41473             concat!(
41474                 "Size of template specialization: ",
41475                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes>)
41476             )
41477         );
41478         assert_eq!(
41479             ::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes>>(),
41480             8usize,
41481             concat!(
41482                 "Alignment of template specialization: ",
41483                 stringify!(root::mozilla::UniquePtr<root::JSErrorNotes>)
41484             )
41485         );
41486     }
41487     #[test]
__bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_close0_instantiation_1()41488     fn __bindgen_test_layout_DeletePolicy_open0_JSErrorNotes_close0_instantiation_1() {
41489         assert_eq!(
41490             ::std::mem::size_of::<root::JS::DeletePolicy>(),
41491             1usize,
41492             concat!(
41493                 "Size of template specialization: ",
41494                 stringify!(root::JS::DeletePolicy)
41495             )
41496         );
41497         assert_eq!(
41498             ::std::mem::align_of::<root::JS::DeletePolicy>(),
41499             1usize,
41500             concat!(
41501                 "Alignment of template specialization: ",
41502                 stringify!(root::JS::DeletePolicy)
41503             )
41504         );
41505     }
41506     #[test]
__bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation()41507     fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation() {
41508         assert_eq!(
41509             ::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
41510             8usize,
41511             concat!(
41512                 "Size of template specialization: ",
41513                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
41514             )
41515         );
41516         assert_eq!(
41517             ::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
41518             8usize,
41519             concat!(
41520                 "Alignment of template specialization: ",
41521                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
41522             )
41523         );
41524     }
41525     #[test]
__bindgen_test_layout_RefPtr_open0_MediaList_close0_instantiation()41526     fn __bindgen_test_layout_RefPtr_open0_MediaList_close0_instantiation() {
41527         assert_eq!(
41528             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::MediaList>>(),
41529             8usize,
41530             concat!(
41531                 "Size of template specialization: ",
41532                 stringify!(root::RefPtr<root::mozilla::dom::MediaList>)
41533             )
41534         );
41535         assert_eq!(
41536             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::MediaList>>(),
41537             8usize,
41538             concat!(
41539                 "Alignment of template specialization: ",
41540                 stringify!(root::RefPtr<root::mozilla::dom::MediaList>)
41541             )
41542         );
41543     }
41544     #[test]
__bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_1()41545     fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_1() {
41546         assert_eq!(
41547             ::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
41548             8usize,
41549             concat!(
41550                 "Size of template specialization: ",
41551                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
41552             )
41553         );
41554         assert_eq!(
41555             ::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
41556             8usize,
41557             concat!(
41558                 "Alignment of template specialization: ",
41559                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
41560             )
41561         );
41562     }
41563     #[test]
__bindgen_test_layout_nsTArray_open0_StyleSetHandle_close0_instantiation()41564     fn __bindgen_test_layout_nsTArray_open0_StyleSetHandle_close0_instantiation() {
41565         assert_eq!(
41566             ::std::mem::size_of::<root::nsTArray<root::mozilla::StyleSetHandle>>(),
41567             8usize,
41568             concat!(
41569                 "Size of template specialization: ",
41570                 stringify!(root::nsTArray<root::mozilla::StyleSetHandle>)
41571             )
41572         );
41573         assert_eq!(
41574             ::std::mem::align_of::<root::nsTArray<root::mozilla::StyleSetHandle>>(),
41575             8usize,
41576             concat!(
41577                 "Alignment of template specialization: ",
41578                 stringify!(root::nsTArray<root::mozilla::StyleSetHandle>)
41579             )
41580         );
41581     }
41582     #[test]
__bindgen_test_layout_RefPtr_open0_nsNodeInfoManager_close0_instantiation()41583     fn __bindgen_test_layout_RefPtr_open0_nsNodeInfoManager_close0_instantiation() {
41584         assert_eq!(
41585             ::std::mem::size_of::<root::RefPtr<root::nsNodeInfoManager>>(),
41586             8usize,
41587             concat!(
41588                 "Size of template specialization: ",
41589                 stringify!(root::RefPtr<root::nsNodeInfoManager>)
41590             )
41591         );
41592         assert_eq!(
41593             ::std::mem::align_of::<root::RefPtr<root::nsNodeInfoManager>>(),
41594             8usize,
41595             concat!(
41596                 "Alignment of template specialization: ",
41597                 stringify!(root::RefPtr<root::nsNodeInfoManager>)
41598             )
41599         );
41600     }
41601     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation()41602     fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation() {
41603         assert_eq!(
41604             ::std::mem::size_of::<root::nsCOMPtr>(),
41605             8usize,
41606             concat!(
41607                 "Size of template specialization: ",
41608                 stringify!(root::nsCOMPtr)
41609             )
41610         );
41611         assert_eq!(
41612             ::std::mem::align_of::<root::nsCOMPtr>(),
41613             8usize,
41614             concat!(
41615                 "Alignment of template specialization: ",
41616                 stringify!(root::nsCOMPtr)
41617             )
41618         );
41619     }
41620     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_1()41621     fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_1() {
41622         assert_eq!(
41623             ::std::mem::size_of::<root::nsCOMPtr>(),
41624             8usize,
41625             concat!(
41626                 "Size of template specialization: ",
41627                 stringify!(root::nsCOMPtr)
41628             )
41629         );
41630         assert_eq!(
41631             ::std::mem::align_of::<root::nsCOMPtr>(),
41632             8usize,
41633             concat!(
41634                 "Alignment of template specialization: ",
41635                 stringify!(root::nsCOMPtr)
41636             )
41637         );
41638     }
41639     #[test]
__bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation()41640     fn __bindgen_test_layout_RefPtr_open0_nsBindingManager_close0_instantiation() {
41641         assert_eq!(
41642             ::std::mem::size_of::<root::RefPtr<root::nsBindingManager>>(),
41643             8usize,
41644             concat!(
41645                 "Size of template specialization: ",
41646                 stringify!(root::RefPtr<root::nsBindingManager>)
41647             )
41648         );
41649         assert_eq!(
41650             ::std::mem::align_of::<root::RefPtr<root::nsBindingManager>>(),
41651             8usize,
41652             concat!(
41653                 "Alignment of template specialization: ",
41654                 stringify!(root::RefPtr<root::nsBindingManager>)
41655             )
41656         );
41657     }
41658     #[test]
__bindgen_test_layout_RefPtr_open0_nsAttrChildContentList_close0_instantiation()41659     fn __bindgen_test_layout_RefPtr_open0_nsAttrChildContentList_close0_instantiation() {
41660         assert_eq!(
41661             ::std::mem::size_of::<root::RefPtr<root::nsAttrChildContentList>>(),
41662             8usize,
41663             concat!(
41664                 "Size of template specialization: ",
41665                 stringify!(root::RefPtr<root::nsAttrChildContentList>)
41666             )
41667         );
41668         assert_eq!(
41669             ::std::mem::align_of::<root::RefPtr<root::nsAttrChildContentList>>(),
41670             8usize,
41671             concat!(
41672                 "Alignment of template specialization: ",
41673                 stringify!(root::RefPtr<root::nsAttrChildContentList>)
41674             )
41675         );
41676     }
41677     #[test]
__bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation( )41678     fn __bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation(
41679 ) {
41680         assert_eq!(
41681             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::LinkedList>>(),
41682             8usize,
41683             concat!(
41684                 "Size of template specialization: ",
41685                 stringify!(root::mozilla::UniquePtr<root::mozilla::LinkedList>)
41686             )
41687         );
41688         assert_eq!(
41689             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::LinkedList>>(),
41690             8usize,
41691             concat!(
41692                 "Alignment of template specialization: ",
41693                 stringify!(root::mozilla::UniquePtr<root::mozilla::LinkedList>)
41694             )
41695         );
41696     }
41697     #[test]
__bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation( )41698     fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation(
41699 ) {
41700         assert_eq!(
41701             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
41702             1usize,
41703             concat!(
41704                 "Size of template specialization: ",
41705                 stringify!(root::mozilla::DefaultDelete)
41706             )
41707         );
41708         assert_eq!(
41709             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
41710             1usize,
41711             concat!(
41712                 "Alignment of template specialization: ",
41713                 stringify!(root::mozilla::DefaultDelete)
41714             )
41715         );
41716     }
41717     #[test]
__bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation_1( )41718     fn __bindgen_test_layout_UniquePtr_open0_LinkedList_open1_nsRange_close1_DefaultDelete_open1_LinkedList_open2_nsRange_close2_close1_close0_instantiation_1(
41719 ) {
41720         assert_eq!(
41721             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::LinkedList>>(),
41722             8usize,
41723             concat!(
41724                 "Size of template specialization: ",
41725                 stringify!(root::mozilla::UniquePtr<root::mozilla::LinkedList>)
41726             )
41727         );
41728         assert_eq!(
41729             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::LinkedList>>(),
41730             8usize,
41731             concat!(
41732                 "Alignment of template specialization: ",
41733                 stringify!(root::mozilla::UniquePtr<root::mozilla::LinkedList>)
41734             )
41735         );
41736     }
41737     #[test]
__bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation_1( )41738     fn __bindgen_test_layout_DefaultDelete_open0_LinkedList_open1_nsRange_close1_close0_instantiation_1(
41739 ) {
41740         assert_eq!(
41741             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
41742             1usize,
41743             concat!(
41744                 "Size of template specialization: ",
41745                 stringify!(root::mozilla::DefaultDelete)
41746             )
41747         );
41748         assert_eq!(
41749             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
41750             1usize,
41751             concat!(
41752                 "Alignment of template specialization: ",
41753                 stringify!(root::mozilla::DefaultDelete)
41754             )
41755         );
41756     }
41757     #[test]
__bindgen_test_layout_RefPtr_open0_NodeInfo_close0_instantiation()41758     fn __bindgen_test_layout_RefPtr_open0_NodeInfo_close0_instantiation() {
41759         assert_eq!(
41760             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::NodeInfo>>(),
41761             8usize,
41762             concat!(
41763                 "Size of template specialization: ",
41764                 stringify!(root::RefPtr<root::mozilla::dom::NodeInfo>)
41765             )
41766         );
41767         assert_eq!(
41768             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::NodeInfo>>(),
41769             8usize,
41770             concat!(
41771                 "Alignment of template specialization: ",
41772                 stringify!(root::RefPtr<root::mozilla::dom::NodeInfo>)
41773             )
41774         );
41775     }
41776     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation()41777     fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation() {
41778         assert_eq!(
41779             ::std::mem::size_of::<root::nsCOMPtr>(),
41780             8usize,
41781             concat!(
41782                 "Size of template specialization: ",
41783                 stringify!(root::nsCOMPtr)
41784             )
41785         );
41786         assert_eq!(
41787             ::std::mem::align_of::<root::nsCOMPtr>(),
41788             8usize,
41789             concat!(
41790                 "Alignment of template specialization: ",
41791                 stringify!(root::nsCOMPtr)
41792             )
41793         );
41794     }
41795     #[test]
__bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation()41796     fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation() {
41797         assert_eq!(
41798             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::ShadowRoot>>(),
41799             8usize,
41800             concat!(
41801                 "Size of template specialization: ",
41802                 stringify!(root::RefPtr<root::mozilla::dom::ShadowRoot>)
41803             )
41804         );
41805         assert_eq!(
41806             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::ShadowRoot>>(),
41807             8usize,
41808             concat!(
41809                 "Alignment of template specialization: ",
41810                 stringify!(root::RefPtr<root::mozilla::dom::ShadowRoot>)
41811             )
41812         );
41813     }
41814     #[test]
__bindgen_test_layout_RefPtr_open0_HTMLSlotElement_close0_instantiation()41815     fn __bindgen_test_layout_RefPtr_open0_HTMLSlotElement_close0_instantiation() {
41816         assert_eq!(
41817             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::HTMLSlotElement>>(),
41818             8usize,
41819             concat!(
41820                 "Size of template specialization: ",
41821                 stringify!(root::RefPtr<root::mozilla::dom::HTMLSlotElement>)
41822             )
41823         );
41824         assert_eq!(
41825             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::HTMLSlotElement>>(),
41826             8usize,
41827             concat!(
41828                 "Alignment of template specialization: ",
41829                 stringify!(root::RefPtr<root::mozilla::dom::HTMLSlotElement>)
41830             )
41831         );
41832     }
41833     #[test]
__bindgen_test_layout_UniquePtr_open0_nsIContent_nsExtendedContentSlots_DefaultDelete_open1_nsIContent_nsExtendedContentSlots_close1_close0_instantiation( )41834     fn __bindgen_test_layout_UniquePtr_open0_nsIContent_nsExtendedContentSlots_DefaultDelete_open1_nsIContent_nsExtendedContentSlots_close1_close0_instantiation(
41835 ) {
41836         assert_eq!(
41837             ::std::mem::size_of::<
41838                 root::mozilla::UniquePtr<root::nsIContent_nsExtendedContentSlots>,
41839             >(),
41840             8usize,
41841             concat!(
41842                 "Size of template specialization: ",
41843                 stringify!(root::mozilla::UniquePtr<root::nsIContent_nsExtendedContentSlots>)
41844             )
41845         );
41846         assert_eq!(
41847             ::std::mem::align_of::<
41848                 root::mozilla::UniquePtr<root::nsIContent_nsExtendedContentSlots>,
41849             >(),
41850             8usize,
41851             concat!(
41852                 "Alignment of template specialization: ",
41853                 stringify!(root::mozilla::UniquePtr<root::nsIContent_nsExtendedContentSlots>)
41854             )
41855         );
41856     }
41857     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsIContent_nsExtendedContentSlots_close0_instantiation( )41858     fn __bindgen_test_layout_DefaultDelete_open0_nsIContent_nsExtendedContentSlots_close0_instantiation(
41859 ) {
41860         assert_eq!(
41861             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
41862             1usize,
41863             concat!(
41864                 "Size of template specialization: ",
41865                 stringify!(root::mozilla::DefaultDelete)
41866             )
41867         );
41868         assert_eq!(
41869             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
41870             1usize,
41871             concat!(
41872                 "Alignment of template specialization: ",
41873                 stringify!(root::mozilla::DefaultDelete)
41874             )
41875         );
41876     }
41877     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation()41878     fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation() {
41879         assert_eq!(
41880             ::std::mem::size_of::<root::nsCOMPtr>(),
41881             8usize,
41882             concat!(
41883                 "Size of template specialization: ",
41884                 stringify!(root::nsCOMPtr)
41885             )
41886         );
41887         assert_eq!(
41888             ::std::mem::align_of::<root::nsCOMPtr>(),
41889             8usize,
41890             concat!(
41891                 "Alignment of template specialization: ",
41892                 stringify!(root::nsCOMPtr)
41893             )
41894         );
41895     }
41896     #[test]
__bindgen_test_layout_nsTArray_open0_ptr_void_close0_instantiation()41897     fn __bindgen_test_layout_nsTArray_open0_ptr_void_close0_instantiation() {
41898         assert_eq!(
41899             ::std::mem::size_of::<root::nsTArray<*mut ::std::os::raw::c_void>>(),
41900             8usize,
41901             concat!(
41902                 "Size of template specialization: ",
41903                 stringify!(root::nsTArray<*mut ::std::os::raw::c_void>)
41904             )
41905         );
41906         assert_eq!(
41907             ::std::mem::align_of::<root::nsTArray<*mut ::std::os::raw::c_void>>(),
41908             8usize,
41909             concat!(
41910                 "Alignment of template specialization: ",
41911                 stringify!(root::nsTArray<*mut ::std::os::raw::c_void>)
41912             )
41913         );
41914     }
41915     #[test]
__bindgen_test_layout_nsPtrHashKey_open0_void_close0_instantiation()41916     fn __bindgen_test_layout_nsPtrHashKey_open0_void_close0_instantiation() {
41917         assert_eq!(
41918             ::std::mem::size_of::<root::nsPtrHashKey<::std::os::raw::c_void>>(),
41919             16usize,
41920             concat!(
41921                 "Size of template specialization: ",
41922                 stringify!(root::nsPtrHashKey<::std::os::raw::c_void>)
41923             )
41924         );
41925         assert_eq!(
41926             ::std::mem::align_of::<root::nsPtrHashKey<::std::os::raw::c_void>>(),
41927             8usize,
41928             concat!(
41929                 "Alignment of template specialization: ",
41930                 stringify!(root::nsPtrHashKey<::std::os::raw::c_void>)
41931             )
41932         );
41933     }
41934     #[test]
__bindgen_test_layout_StaticRefPtr_open0_nsIContent_close0_instantiation()41935     fn __bindgen_test_layout_StaticRefPtr_open0_nsIContent_close0_instantiation() {
41936         assert_eq!(
41937             ::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsIContent>>(),
41938             8usize,
41939             concat!(
41940                 "Size of template specialization: ",
41941                 stringify!(root::mozilla::StaticRefPtr<root::nsIContent>)
41942             )
41943         );
41944         assert_eq!(
41945             ::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsIContent>>(),
41946             8usize,
41947             concat!(
41948                 "Alignment of template specialization: ",
41949                 stringify!(root::mozilla::StaticRefPtr<root::nsIContent>)
41950             )
41951         );
41952     }
41953     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation()41954     fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation() {
41955         assert_eq!(
41956             ::std::mem::size_of::<root::nsCOMPtr>(),
41957             8usize,
41958             concat!(
41959                 "Size of template specialization: ",
41960                 stringify!(root::nsCOMPtr)
41961             )
41962         );
41963         assert_eq!(
41964             ::std::mem::align_of::<root::nsCOMPtr>(),
41965             8usize,
41966             concat!(
41967                 "Alignment of template specialization: ",
41968                 stringify!(root::nsCOMPtr)
41969             )
41970         );
41971     }
41972     #[test]
__bindgen_test_layout_RefPtr_open0_nsPresContext_close0_instantiation()41973     fn __bindgen_test_layout_RefPtr_open0_nsPresContext_close0_instantiation() {
41974         assert_eq!(
41975             ::std::mem::size_of::<root::RefPtr<root::nsPresContext>>(),
41976             8usize,
41977             concat!(
41978                 "Size of template specialization: ",
41979                 stringify!(root::RefPtr<root::nsPresContext>)
41980             )
41981         );
41982         assert_eq!(
41983             ::std::mem::align_of::<root::RefPtr<root::nsPresContext>>(),
41984             8usize,
41985             concat!(
41986                 "Alignment of template specialization: ",
41987                 stringify!(root::RefPtr<root::nsPresContext>)
41988             )
41989         );
41990     }
41991     #[test]
__bindgen_test_layout_RefPtr_open0_nsFrameSelection_close0_instantiation()41992     fn __bindgen_test_layout_RefPtr_open0_nsFrameSelection_close0_instantiation() {
41993         assert_eq!(
41994             ::std::mem::size_of::<root::RefPtr<root::nsFrameSelection>>(),
41995             8usize,
41996             concat!(
41997                 "Size of template specialization: ",
41998                 stringify!(root::RefPtr<root::nsFrameSelection>)
41999             )
42000         );
42001         assert_eq!(
42002             ::std::mem::align_of::<root::RefPtr<root::nsFrameSelection>>(),
42003             8usize,
42004             concat!(
42005                 "Alignment of template specialization: ",
42006                 stringify!(root::RefPtr<root::nsFrameSelection>)
42007             )
42008         );
42009     }
42010     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation()42011     fn __bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation() {
42012         assert_eq!(
42013             ::std::mem::size_of::<root::nsCOMPtr>(),
42014             8usize,
42015             concat!(
42016                 "Size of template specialization: ",
42017                 stringify!(root::nsCOMPtr)
42018             )
42019         );
42020         assert_eq!(
42021             ::std::mem::align_of::<root::nsCOMPtr>(),
42022             8usize,
42023             concat!(
42024                 "Alignment of template specialization: ",
42025                 stringify!(root::nsCOMPtr)
42026             )
42027         );
42028     }
42029     #[test]
__bindgen_test_layout_nsPtrHashKey_open0_WeakFrame_close0_instantiation()42030     fn __bindgen_test_layout_nsPtrHashKey_open0_WeakFrame_close0_instantiation() {
42031         assert_eq!(
42032             ::std::mem::size_of::<root::nsPtrHashKey<root::WeakFrame>>(),
42033             16usize,
42034             concat!(
42035                 "Size of template specialization: ",
42036                 stringify!(root::nsPtrHashKey<root::WeakFrame>)
42037             )
42038         );
42039         assert_eq!(
42040             ::std::mem::align_of::<root::nsPtrHashKey<root::WeakFrame>>(),
42041             8usize,
42042             concat!(
42043                 "Alignment of template specialization: ",
42044                 stringify!(root::nsPtrHashKey<root::WeakFrame>)
42045             )
42046         );
42047     }
42048     #[test]
__bindgen_test_layout_UniquePtr_open0_IPCClientInfo_DefaultDelete_open1_IPCClientInfo_close1_close0_instantiation( )42049     fn __bindgen_test_layout_UniquePtr_open0_IPCClientInfo_DefaultDelete_open1_IPCClientInfo_close1_close0_instantiation(
42050 ) {
42051         assert_eq!(
42052             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::dom::IPCClientInfo>>(),
42053             8usize,
42054             concat!(
42055                 "Size of template specialization: ",
42056                 stringify!(root::mozilla::UniquePtr<root::mozilla::dom::IPCClientInfo>)
42057             )
42058         );
42059         assert_eq!(
42060             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::dom::IPCClientInfo>>(),
42061             8usize,
42062             concat!(
42063                 "Alignment of template specialization: ",
42064                 stringify!(root::mozilla::UniquePtr<root::mozilla::dom::IPCClientInfo>)
42065             )
42066         );
42067     }
42068     #[test]
__bindgen_test_layout_DefaultDelete_open0_IPCClientInfo_close0_instantiation()42069     fn __bindgen_test_layout_DefaultDelete_open0_IPCClientInfo_close0_instantiation() {
42070         assert_eq!(
42071             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
42072             1usize,
42073             concat!(
42074                 "Size of template specialization: ",
42075                 stringify!(root::mozilla::DefaultDelete)
42076             )
42077         );
42078         assert_eq!(
42079             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
42080             1usize,
42081             concat!(
42082                 "Alignment of template specialization: ",
42083                 stringify!(root::mozilla::DefaultDelete)
42084             )
42085         );
42086     }
42087     #[test]
__bindgen_test_layout_UniquePtr_open0_IPCServiceWorkerDescriptor_DefaultDelete_open1_IPCServiceWorkerDescriptor_close1_close0_instantiation( )42088     fn __bindgen_test_layout_UniquePtr_open0_IPCServiceWorkerDescriptor_DefaultDelete_open1_IPCServiceWorkerDescriptor_close1_close0_instantiation(
42089 ) {
42090         assert_eq!(
42091             ::std::mem::size_of::<
42092                 root::mozilla::UniquePtr<root::mozilla::dom::IPCServiceWorkerDescriptor>,
42093             >(),
42094             8usize,
42095             concat!(
42096                 "Size of template specialization: ",
42097                 stringify!(root::mozilla::UniquePtr<
42098                     root::mozilla::dom::IPCServiceWorkerDescriptor,
42099                 >)
42100             )
42101         );
42102         assert_eq!(
42103             ::std::mem::align_of::<
42104                 root::mozilla::UniquePtr<root::mozilla::dom::IPCServiceWorkerDescriptor>,
42105             >(),
42106             8usize,
42107             concat!(
42108                 "Alignment of template specialization: ",
42109                 stringify!(root::mozilla::UniquePtr<
42110                     root::mozilla::dom::IPCServiceWorkerDescriptor,
42111                 >)
42112             )
42113         );
42114     }
42115     #[test]
__bindgen_test_layout_DefaultDelete_open0_IPCServiceWorkerDescriptor_close0_instantiation()42116     fn __bindgen_test_layout_DefaultDelete_open0_IPCServiceWorkerDescriptor_close0_instantiation() {
42117         assert_eq!(
42118             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
42119             1usize,
42120             concat!(
42121                 "Size of template specialization: ",
42122                 stringify!(root::mozilla::DefaultDelete)
42123             )
42124         );
42125         assert_eq!(
42126             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
42127             1usize,
42128             concat!(
42129                 "Alignment of template specialization: ",
42130                 stringify!(root::mozilla::DefaultDelete)
42131             )
42132         );
42133     }
42134     #[test]
__bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation()42135     fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation() {
42136         assert_eq!(
42137             ::std::mem::size_of::<root::nsTArray<root::nsCString>>(),
42138             8usize,
42139             concat!(
42140                 "Size of template specialization: ",
42141                 stringify!(root::nsTArray<root::nsCString>)
42142             )
42143         );
42144         assert_eq!(
42145             ::std::mem::align_of::<root::nsTArray<root::nsCString>>(),
42146             8usize,
42147             concat!(
42148                 "Alignment of template specialization: ",
42149                 stringify!(root::nsTArray<root::nsCString>)
42150             )
42151         );
42152     }
42153     #[test]
__bindgen_test_layout_nsPtrHashKey_open0_DOMEventTargetHelper_close0_instantiation()42154     fn __bindgen_test_layout_nsPtrHashKey_open0_DOMEventTargetHelper_close0_instantiation() {
42155         assert_eq!(
42156             ::std::mem::size_of::<root::nsPtrHashKey<root::mozilla::DOMEventTargetHelper>>(),
42157             16usize,
42158             concat!(
42159                 "Size of template specialization: ",
42160                 stringify!(root::nsPtrHashKey<root::mozilla::DOMEventTargetHelper>)
42161             )
42162         );
42163         assert_eq!(
42164             ::std::mem::align_of::<root::nsPtrHashKey<root::mozilla::DOMEventTargetHelper>>(),
42165             8usize,
42166             concat!(
42167                 "Alignment of template specialization: ",
42168                 stringify!(root::nsPtrHashKey<root::mozilla::DOMEventTargetHelper>)
42169             )
42170         );
42171     }
42172     #[test]
__bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation()42173     fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation() {
42174         assert_eq!(
42175             ::std::mem::size_of::<root::nsCOMPtr>(),
42176             8usize,
42177             concat!(
42178                 "Size of template specialization: ",
42179                 stringify!(root::nsCOMPtr)
42180             )
42181         );
42182         assert_eq!(
42183             ::std::mem::align_of::<root::nsCOMPtr>(),
42184             8usize,
42185             concat!(
42186                 "Alignment of template specialization: ",
42187                 stringify!(root::nsCOMPtr)
42188             )
42189         );
42190     }
42191     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_1()42192     fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_1() {
42193         assert_eq!(
42194             ::std::mem::size_of::<root::nsCOMPtr>(),
42195             8usize,
42196             concat!(
42197                 "Size of template specialization: ",
42198                 stringify!(root::nsCOMPtr)
42199             )
42200         );
42201         assert_eq!(
42202             ::std::mem::align_of::<root::nsCOMPtr>(),
42203             8usize,
42204             concat!(
42205                 "Alignment of template specialization: ",
42206                 stringify!(root::nsCOMPtr)
42207             )
42208         );
42209     }
42210     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation()42211     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation() {
42212         assert_eq!(
42213             ::std::mem::size_of::<root::nsCOMPtr>(),
42214             8usize,
42215             concat!(
42216                 "Size of template specialization: ",
42217                 stringify!(root::nsCOMPtr)
42218             )
42219         );
42220         assert_eq!(
42221             ::std::mem::align_of::<root::nsCOMPtr>(),
42222             8usize,
42223             concat!(
42224                 "Alignment of template specialization: ",
42225                 stringify!(root::nsCOMPtr)
42226             )
42227         );
42228     }
42229     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_1()42230     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_1() {
42231         assert_eq!(
42232             ::std::mem::size_of::<root::nsCOMPtr>(),
42233             8usize,
42234             concat!(
42235                 "Size of template specialization: ",
42236                 stringify!(root::nsCOMPtr)
42237             )
42238         );
42239         assert_eq!(
42240             ::std::mem::align_of::<root::nsCOMPtr>(),
42241             8usize,
42242             concat!(
42243                 "Alignment of template specialization: ",
42244                 stringify!(root::nsCOMPtr)
42245             )
42246         );
42247     }
42248     #[test]
__bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_1()42249     fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_1() {
42250         assert_eq!(
42251             ::std::mem::size_of::<root::nsCOMPtr>(),
42252             8usize,
42253             concat!(
42254                 "Size of template specialization: ",
42255                 stringify!(root::nsCOMPtr)
42256             )
42257         );
42258         assert_eq!(
42259             ::std::mem::align_of::<root::nsCOMPtr>(),
42260             8usize,
42261             concat!(
42262                 "Alignment of template specialization: ",
42263                 stringify!(root::nsCOMPtr)
42264             )
42265         );
42266     }
42267     #[test]
__bindgen_test_layout_RefPtr_open0_Performance_close0_instantiation()42268     fn __bindgen_test_layout_RefPtr_open0_Performance_close0_instantiation() {
42269         assert_eq!(
42270             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Performance>>(),
42271             8usize,
42272             concat!(
42273                 "Size of template specialization: ",
42274                 stringify!(root::RefPtr<root::mozilla::dom::Performance>)
42275             )
42276         );
42277         assert_eq!(
42278             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::Performance>>(),
42279             8usize,
42280             concat!(
42281                 "Alignment of template specialization: ",
42282                 stringify!(root::RefPtr<root::mozilla::dom::Performance>)
42283             )
42284         );
42285     }
42286     #[test]
__bindgen_test_layout_UniquePtr_open0_TimeoutManager_DefaultDelete_open1_TimeoutManager_close1_close0_instantiation( )42287     fn __bindgen_test_layout_UniquePtr_open0_TimeoutManager_DefaultDelete_open1_TimeoutManager_close1_close0_instantiation(
42288 ) {
42289         assert_eq!(
42290             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::dom::TimeoutManager>>(),
42291             8usize,
42292             concat!(
42293                 "Size of template specialization: ",
42294                 stringify!(root::mozilla::UniquePtr<root::mozilla::dom::TimeoutManager>)
42295             )
42296         );
42297         assert_eq!(
42298             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::dom::TimeoutManager>>(),
42299             8usize,
42300             concat!(
42301                 "Alignment of template specialization: ",
42302                 stringify!(root::mozilla::UniquePtr<root::mozilla::dom::TimeoutManager>)
42303             )
42304         );
42305     }
42306     #[test]
__bindgen_test_layout_DefaultDelete_open0_TimeoutManager_close0_instantiation()42307     fn __bindgen_test_layout_DefaultDelete_open0_TimeoutManager_close0_instantiation() {
42308         assert_eq!(
42309             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
42310             1usize,
42311             concat!(
42312                 "Size of template specialization: ",
42313                 stringify!(root::mozilla::DefaultDelete)
42314             )
42315         );
42316         assert_eq!(
42317             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
42318             1usize,
42319             concat!(
42320                 "Alignment of template specialization: ",
42321                 stringify!(root::mozilla::DefaultDelete)
42322             )
42323         );
42324     }
42325     #[test]
__bindgen_test_layout_RefPtr_open0_Navigator_close0_instantiation()42326     fn __bindgen_test_layout_RefPtr_open0_Navigator_close0_instantiation() {
42327         assert_eq!(
42328             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Navigator>>(),
42329             8usize,
42330             concat!(
42331                 "Size of template specialization: ",
42332                 stringify!(root::RefPtr<root::mozilla::dom::Navigator>)
42333             )
42334         );
42335         assert_eq!(
42336             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::Navigator>>(),
42337             8usize,
42338             concat!(
42339                 "Alignment of template specialization: ",
42340                 stringify!(root::RefPtr<root::mozilla::dom::Navigator>)
42341             )
42342         );
42343     }
42344     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation()42345     fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation() {
42346         assert_eq!(
42347             ::std::mem::size_of::<root::nsCOMPtr>(),
42348             8usize,
42349             concat!(
42350                 "Size of template specialization: ",
42351                 stringify!(root::nsCOMPtr)
42352             )
42353         );
42354         assert_eq!(
42355             ::std::mem::align_of::<root::nsCOMPtr>(),
42356             8usize,
42357             concat!(
42358                 "Alignment of template specialization: ",
42359                 stringify!(root::nsCOMPtr)
42360             )
42361         );
42362     }
42363     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_1()42364     fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_1() {
42365         assert_eq!(
42366             ::std::mem::size_of::<root::nsCOMPtr>(),
42367             8usize,
42368             concat!(
42369                 "Size of template specialization: ",
42370                 stringify!(root::nsCOMPtr)
42371             )
42372         );
42373         assert_eq!(
42374             ::std::mem::align_of::<root::nsCOMPtr>(),
42375             8usize,
42376             concat!(
42377                 "Alignment of template specialization: ",
42378                 stringify!(root::nsCOMPtr)
42379             )
42380         );
42381     }
42382     #[test]
__bindgen_test_layout_nsTArray_open0_ptr_AudioContext_close0_instantiation()42383     fn __bindgen_test_layout_nsTArray_open0_ptr_AudioContext_close0_instantiation() {
42384         assert_eq!(
42385             ::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::AudioContext>>(),
42386             8usize,
42387             concat!(
42388                 "Size of template specialization: ",
42389                 stringify!(root::nsTArray<*mut root::mozilla::dom::AudioContext>)
42390             )
42391         );
42392         assert_eq!(
42393             ::std::mem::align_of::<root::nsTArray<*mut root::mozilla::dom::AudioContext>>(),
42394             8usize,
42395             concat!(
42396                 "Alignment of template specialization: ",
42397                 stringify!(root::nsTArray<*mut root::mozilla::dom::AudioContext>)
42398             )
42399         );
42400     }
42401     #[test]
__bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation()42402     fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation() {
42403         assert_eq!(
42404             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::TabGroup>>(),
42405             8usize,
42406             concat!(
42407                 "Size of template specialization: ",
42408                 stringify!(root::RefPtr<root::mozilla::dom::TabGroup>)
42409             )
42410         );
42411         assert_eq!(
42412             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::TabGroup>>(),
42413             8usize,
42414             concat!(
42415                 "Alignment of template specialization: ",
42416                 stringify!(root::RefPtr<root::mozilla::dom::TabGroup>)
42417             )
42418         );
42419     }
42420     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowInner_close0_instantiation()42421     fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowInner_close0_instantiation() {
42422         assert_eq!(
42423             ::std::mem::size_of::<root::nsCOMPtr>(),
42424             8usize,
42425             concat!(
42426                 "Size of template specialization: ",
42427                 stringify!(root::nsCOMPtr)
42428             )
42429         );
42430         assert_eq!(
42431             ::std::mem::align_of::<root::nsCOMPtr>(),
42432             8usize,
42433             concat!(
42434                 "Alignment of template specialization: ",
42435                 stringify!(root::nsCOMPtr)
42436             )
42437         );
42438     }
42439     #[test]
__bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_2()42440     fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_2() {
42441         assert_eq!(
42442             ::std::mem::size_of::<root::nsCOMPtr>(),
42443             8usize,
42444             concat!(
42445                 "Size of template specialization: ",
42446                 stringify!(root::nsCOMPtr)
42447             )
42448         );
42449         assert_eq!(
42450             ::std::mem::align_of::<root::nsCOMPtr>(),
42451             8usize,
42452             concat!(
42453                 "Alignment of template specialization: ",
42454                 stringify!(root::nsCOMPtr)
42455             )
42456         );
42457     }
42458     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_2()42459     fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_2() {
42460         assert_eq!(
42461             ::std::mem::size_of::<root::nsCOMPtr>(),
42462             8usize,
42463             concat!(
42464                 "Size of template specialization: ",
42465                 stringify!(root::nsCOMPtr)
42466             )
42467         );
42468         assert_eq!(
42469             ::std::mem::align_of::<root::nsCOMPtr>(),
42470             8usize,
42471             concat!(
42472                 "Alignment of template specialization: ",
42473                 stringify!(root::nsCOMPtr)
42474             )
42475         );
42476     }
42477     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_2()42478     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_2() {
42479         assert_eq!(
42480             ::std::mem::size_of::<root::nsCOMPtr>(),
42481             8usize,
42482             concat!(
42483                 "Size of template specialization: ",
42484                 stringify!(root::nsCOMPtr)
42485             )
42486         );
42487         assert_eq!(
42488             ::std::mem::align_of::<root::nsCOMPtr>(),
42489             8usize,
42490             concat!(
42491                 "Alignment of template specialization: ",
42492                 stringify!(root::nsCOMPtr)
42493             )
42494         );
42495     }
42496     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_3()42497     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_3() {
42498         assert_eq!(
42499             ::std::mem::size_of::<root::nsCOMPtr>(),
42500             8usize,
42501             concat!(
42502                 "Size of template specialization: ",
42503                 stringify!(root::nsCOMPtr)
42504             )
42505         );
42506         assert_eq!(
42507             ::std::mem::align_of::<root::nsCOMPtr>(),
42508             8usize,
42509             concat!(
42510                 "Alignment of template specialization: ",
42511                 stringify!(root::nsCOMPtr)
42512             )
42513         );
42514     }
42515     #[test]
__bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_3()42516     fn __bindgen_test_layout_nsCOMPtr_open0_EventTarget_close0_instantiation_3() {
42517         assert_eq!(
42518             ::std::mem::size_of::<root::nsCOMPtr>(),
42519             8usize,
42520             concat!(
42521                 "Size of template specialization: ",
42522                 stringify!(root::nsCOMPtr)
42523             )
42524         );
42525         assert_eq!(
42526             ::std::mem::align_of::<root::nsCOMPtr>(),
42527             8usize,
42528             concat!(
42529                 "Alignment of template specialization: ",
42530                 stringify!(root::nsCOMPtr)
42531             )
42532         );
42533     }
42534     #[test]
__bindgen_test_layout_nsCOMPtr_open0_Element_close0_instantiation()42535     fn __bindgen_test_layout_nsCOMPtr_open0_Element_close0_instantiation() {
42536         assert_eq!(
42537             ::std::mem::size_of::<root::nsCOMPtr>(),
42538             8usize,
42539             concat!(
42540                 "Size of template specialization: ",
42541                 stringify!(root::nsCOMPtr)
42542             )
42543         );
42544         assert_eq!(
42545             ::std::mem::align_of::<root::nsCOMPtr>(),
42546             8usize,
42547             concat!(
42548                 "Alignment of template specialization: ",
42549                 stringify!(root::nsCOMPtr)
42550             )
42551         );
42552     }
42553     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIDocShell_close0_instantiation()42554     fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocShell_close0_instantiation() {
42555         assert_eq!(
42556             ::std::mem::size_of::<root::nsCOMPtr>(),
42557             8usize,
42558             concat!(
42559                 "Size of template specialization: ",
42560                 stringify!(root::nsCOMPtr)
42561             )
42562         );
42563         assert_eq!(
42564             ::std::mem::align_of::<root::nsCOMPtr>(),
42565             8usize,
42566             concat!(
42567                 "Alignment of template specialization: ",
42568                 stringify!(root::nsCOMPtr)
42569             )
42570         );
42571     }
42572     #[test]
__bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_1()42573     fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_1() {
42574         assert_eq!(
42575             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::TabGroup>>(),
42576             8usize,
42577             concat!(
42578                 "Size of template specialization: ",
42579                 stringify!(root::RefPtr<root::mozilla::dom::TabGroup>)
42580             )
42581         );
42582         assert_eq!(
42583             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::TabGroup>>(),
42584             8usize,
42585             concat!(
42586                 "Alignment of template specialization: ",
42587                 stringify!(root::RefPtr<root::mozilla::dom::TabGroup>)
42588             )
42589         );
42590     }
42591     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation_1()42592     fn __bindgen_test_layout_nsCOMPtr_open0_nsPIDOMWindowOuter_close0_instantiation_1() {
42593         assert_eq!(
42594             ::std::mem::size_of::<root::nsCOMPtr>(),
42595             8usize,
42596             concat!(
42597                 "Size of template specialization: ",
42598                 stringify!(root::nsCOMPtr)
42599             )
42600         );
42601         assert_eq!(
42602             ::std::mem::align_of::<root::nsCOMPtr>(),
42603             8usize,
42604             concat!(
42605                 "Alignment of template specialization: ",
42606                 stringify!(root::nsCOMPtr)
42607             )
42608         );
42609     }
42610     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_1()42611     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_1() {
42612         assert_eq!(
42613             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
42614             8usize,
42615             concat!(
42616                 "Size of template specialization: ",
42617                 stringify!(root::RefPtr<root::nsAtom>)
42618             )
42619         );
42620         assert_eq!(
42621             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
42622             8usize,
42623             concat!(
42624                 "Alignment of template specialization: ",
42625                 stringify!(root::RefPtr<root::nsAtom>)
42626             )
42627         );
42628     }
42629     #[test]
__bindgen_test_layout_RefPtr_open0_nsBaseContentList_close0_instantiation()42630     fn __bindgen_test_layout_RefPtr_open0_nsBaseContentList_close0_instantiation() {
42631         assert_eq!(
42632             ::std::mem::size_of::<root::RefPtr<root::nsBaseContentList>>(),
42633             8usize,
42634             concat!(
42635                 "Size of template specialization: ",
42636                 stringify!(root::RefPtr<root::nsBaseContentList>)
42637             )
42638         );
42639         assert_eq!(
42640             ::std::mem::align_of::<root::RefPtr<root::nsBaseContentList>>(),
42641             8usize,
42642             concat!(
42643                 "Alignment of template specialization: ",
42644                 stringify!(root::RefPtr<root::nsBaseContentList>)
42645             )
42646         );
42647     }
42648     #[test]
__bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsIdentifierMapEntry_ChangeCallbackEntry_close1_close0_instantiation( )42649     fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsIdentifierMapEntry_ChangeCallbackEntry_close1_close0_instantiation(
42650 ) {
42651         assert_eq!(
42652             ::std::mem::size_of::<u64>(),
42653             8usize,
42654             concat!("Size of template specialization: ", stringify!(u64))
42655         );
42656         assert_eq!(
42657             ::std::mem::align_of::<u64>(),
42658             8usize,
42659             concat!("Alignment of template specialization: ", stringify!(u64))
42660         );
42661     }
42662     #[test]
__bindgen_test_layout_RefPtr_open0_nsIdentifierMapEntry_Element_close0_instantiation()42663     fn __bindgen_test_layout_RefPtr_open0_nsIdentifierMapEntry_Element_close0_instantiation() {
42664         assert_eq!(
42665             ::std::mem::size_of::<root::RefPtr<root::nsIdentifierMapEntry_Element>>(),
42666             8usize,
42667             concat!(
42668                 "Size of template specialization: ",
42669                 stringify!(root::RefPtr<root::nsIdentifierMapEntry_Element>)
42670             )
42671         );
42672         assert_eq!(
42673             ::std::mem::align_of::<root::RefPtr<root::nsIdentifierMapEntry_Element>>(),
42674             8usize,
42675             concat!(
42676                 "Alignment of template specialization: ",
42677                 stringify!(root::RefPtr<root::nsIdentifierMapEntry_Element>)
42678             )
42679         );
42680     }
42681     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation()42682     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation() {
42683         assert_eq!(
42684             ::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>(),
42685             8usize,
42686             concat!(
42687                 "Size of template specialization: ",
42688                 stringify!(root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>)
42689             )
42690         );
42691         assert_eq!(
42692             ::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>(),
42693             8usize,
42694             concat!(
42695                 "Alignment of template specialization: ",
42696                 stringify!(root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>)
42697             )
42698         );
42699     }
42700     #[test]
__bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_2()42701     fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_2() {
42702         assert_eq!(
42703             ::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
42704             8usize,
42705             concat!(
42706                 "Size of template specialization: ",
42707                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
42708             )
42709         );
42710         assert_eq!(
42711             ::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
42712             8usize,
42713             concat!(
42714                 "Alignment of template specialization: ",
42715                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
42716             )
42717         );
42718     }
42719     #[test]
__bindgen_test_layout_RefPtr_open0_StyleSheetList_close0_instantiation()42720     fn __bindgen_test_layout_RefPtr_open0_StyleSheetList_close0_instantiation() {
42721         assert_eq!(
42722             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::StyleSheetList>>(),
42723             8usize,
42724             concat!(
42725                 "Size of template specialization: ",
42726                 stringify!(root::RefPtr<root::mozilla::dom::StyleSheetList>)
42727             )
42728         );
42729         assert_eq!(
42730             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::StyleSheetList>>(),
42731             8usize,
42732             concat!(
42733                 "Alignment of template specialization: ",
42734                 stringify!(root::RefPtr<root::mozilla::dom::StyleSheetList>)
42735             )
42736         );
42737     }
42738     #[test]
__bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation()42739     fn __bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation() {
42740         assert_eq!(
42741             ::std::mem::size_of::<root::RefPtr<root::RawServoAnimationValue>>(),
42742             8usize,
42743             concat!(
42744                 "Size of template specialization: ",
42745                 stringify!(root::RefPtr<root::RawServoAnimationValue>)
42746             )
42747         );
42748         assert_eq!(
42749             ::std::mem::align_of::<root::RefPtr<root::RawServoAnimationValue>>(),
42750             8usize,
42751             concat!(
42752                 "Alignment of template specialization: ",
42753                 stringify!(root::RefPtr<root::RawServoAnimationValue>)
42754             )
42755         );
42756     }
42757     #[test]
__bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation()42758     fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation() {
42759         assert_eq!(
42760             ::std::mem::size_of::<root::nsTArray<root::mozilla::PropertyValuePair>>(),
42761             8usize,
42762             concat!(
42763                 "Size of template specialization: ",
42764                 stringify!(root::nsTArray<root::mozilla::PropertyValuePair>)
42765             )
42766         );
42767         assert_eq!(
42768             ::std::mem::align_of::<root::nsTArray<root::mozilla::PropertyValuePair>>(),
42769             8usize,
42770             concat!(
42771                 "Alignment of template specialization: ",
42772                 stringify!(root::nsTArray<root::mozilla::PropertyValuePair>)
42773             )
42774         );
42775     }
42776     #[test]
__bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation()42777     fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation() {
42778         assert_eq!(
42779             ::std::mem::size_of::<root::nsStyleAutoArray<root::mozilla::StyleAnimation>>(),
42780             56usize,
42781             concat!(
42782                 "Size of template specialization: ",
42783                 stringify!(root::nsStyleAutoArray<root::mozilla::StyleAnimation>)
42784             )
42785         );
42786         assert_eq!(
42787             ::std::mem::align_of::<root::nsStyleAutoArray<root::mozilla::StyleAnimation>>(),
42788             8usize,
42789             concat!(
42790                 "Alignment of template specialization: ",
42791                 stringify!(root::nsStyleAutoArray<root::mozilla::StyleAnimation>)
42792             )
42793         );
42794     }
42795     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_3()42796     fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_3() {
42797         assert_eq!(
42798             ::std::mem::size_of::<root::nsCOMPtr>(),
42799             8usize,
42800             concat!(
42801                 "Size of template specialization: ",
42802                 stringify!(root::nsCOMPtr)
42803             )
42804         );
42805         assert_eq!(
42806             ::std::mem::align_of::<root::nsCOMPtr>(),
42807             8usize,
42808             concat!(
42809                 "Alignment of template specialization: ",
42810                 stringify!(root::nsCOMPtr)
42811             )
42812         );
42813     }
42814     #[test]
__bindgen_test_layout_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation( )42815     fn __bindgen_test_layout_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation(
42816 ) {
42817         assert_eq!(
42818             ::std::mem::size_of::<root::mozilla::UniquePtr<root::RawServoSelectorList>>(),
42819             8usize,
42820             concat!(
42821                 "Size of template specialization: ",
42822                 stringify!(root::mozilla::UniquePtr<root::RawServoSelectorList>)
42823             )
42824         );
42825         assert_eq!(
42826             ::std::mem::align_of::<root::mozilla::UniquePtr<root::RawServoSelectorList>>(),
42827             8usize,
42828             concat!(
42829                 "Alignment of template specialization: ",
42830                 stringify!(root::mozilla::UniquePtr<root::RawServoSelectorList>)
42831             )
42832         );
42833     }
42834     #[test]
__bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation()42835     fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation() {
42836         assert_eq!(
42837             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
42838             1usize,
42839             concat!(
42840                 "Size of template specialization: ",
42841                 stringify!(root::mozilla::DefaultDelete)
42842             )
42843         );
42844         assert_eq!(
42845             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
42846             1usize,
42847             concat!(
42848                 "Alignment of template specialization: ",
42849                 stringify!(root::mozilla::DefaultDelete)
42850             )
42851         );
42852     }
42853     #[test]
__bindgen_test_layout_UniquePtr_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation( )42854     fn __bindgen_test_layout_UniquePtr_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation(
42855 ) {
42856         assert_eq!(
42857             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSSelectorList>>(),
42858             8usize,
42859             concat!(
42860                 "Size of template specialization: ",
42861                 stringify!(root::mozilla::UniquePtr<root::nsCSSSelectorList>)
42862             )
42863         );
42864         assert_eq!(
42865             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSSelectorList>>(),
42866             8usize,
42867             concat!(
42868                 "Alignment of template specialization: ",
42869                 stringify!(root::mozilla::UniquePtr<root::nsCSSSelectorList>)
42870             )
42871         );
42872     }
42873     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation()42874     fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation() {
42875         assert_eq!(
42876             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
42877             1usize,
42878             concat!(
42879                 "Size of template specialization: ",
42880                 stringify!(root::mozilla::DefaultDelete)
42881             )
42882         );
42883         assert_eq!(
42884             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
42885             1usize,
42886             concat!(
42887                 "Alignment of template specialization: ",
42888                 stringify!(root::mozilla::DefaultDelete)
42889             )
42890         );
42891     }
42892     #[test]
__bindgen_test_layout_UniquePtr_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation_1( )42893     fn __bindgen_test_layout_UniquePtr_open0_nsCSSSelectorList_DefaultDelete_open1_nsCSSSelectorList_close1_close0_instantiation_1(
42894 ) {
42895         assert_eq!(
42896             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSSelectorList>>(),
42897             8usize,
42898             concat!(
42899                 "Size of template specialization: ",
42900                 stringify!(root::mozilla::UniquePtr<root::nsCSSSelectorList>)
42901             )
42902         );
42903         assert_eq!(
42904             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSSelectorList>>(),
42905             8usize,
42906             concat!(
42907                 "Alignment of template specialization: ",
42908                 stringify!(root::mozilla::UniquePtr<root::nsCSSSelectorList>)
42909             )
42910         );
42911     }
42912     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation_1()42913     fn __bindgen_test_layout_DefaultDelete_open0_nsCSSSelectorList_close0_instantiation_1() {
42914         assert_eq!(
42915             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
42916             1usize,
42917             concat!(
42918                 "Size of template specialization: ",
42919                 stringify!(root::mozilla::DefaultDelete)
42920             )
42921         );
42922         assert_eq!(
42923             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
42924             1usize,
42925             concat!(
42926                 "Alignment of template specialization: ",
42927                 stringify!(root::mozilla::DefaultDelete)
42928             )
42929         );
42930     }
42931     #[test]
__bindgen_test_layout_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation_1( )42932     fn __bindgen_test_layout_UniquePtr_open0_RawServoSelectorList_DefaultDelete_open1_RawServoSelectorList_close1_close0_instantiation_1(
42933 ) {
42934         assert_eq!(
42935             ::std::mem::size_of::<root::mozilla::UniquePtr<root::RawServoSelectorList>>(),
42936             8usize,
42937             concat!(
42938                 "Size of template specialization: ",
42939                 stringify!(root::mozilla::UniquePtr<root::RawServoSelectorList>)
42940             )
42941         );
42942         assert_eq!(
42943             ::std::mem::align_of::<root::mozilla::UniquePtr<root::RawServoSelectorList>>(),
42944             8usize,
42945             concat!(
42946                 "Alignment of template specialization: ",
42947                 stringify!(root::mozilla::UniquePtr<root::RawServoSelectorList>)
42948             )
42949         );
42950     }
42951     #[test]
__bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation_1()42952     fn __bindgen_test_layout_DefaultDelete_open0_RawServoSelectorList_close0_instantiation_1() {
42953         assert_eq!(
42954             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
42955             1usize,
42956             concat!(
42957                 "Size of template specialization: ",
42958                 stringify!(root::mozilla::DefaultDelete)
42959             )
42960         );
42961         assert_eq!(
42962             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
42963             1usize,
42964             concat!(
42965                 "Alignment of template specialization: ",
42966                 stringify!(root::mozilla::DefaultDelete)
42967             )
42968         );
42969     }
42970     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIObserver_close0_instantiation()42971     fn __bindgen_test_layout_nsCOMPtr_open0_nsIObserver_close0_instantiation() {
42972         assert_eq!(
42973             ::std::mem::size_of::<root::nsCOMPtr>(),
42974             8usize,
42975             concat!(
42976                 "Size of template specialization: ",
42977                 stringify!(root::nsCOMPtr)
42978             )
42979         );
42980         assert_eq!(
42981             ::std::mem::align_of::<root::nsCOMPtr>(),
42982             8usize,
42983             concat!(
42984                 "Alignment of template specialization: ",
42985                 stringify!(root::nsCOMPtr)
42986             )
42987         );
42988     }
42989     #[test]
__bindgen_test_layout_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation( )42990     fn __bindgen_test_layout_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation(
42991 ) {
42992         assert_eq!(
42993             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsIDocument_SelectorCache>>(),
42994             8usize,
42995             concat!(
42996                 "Size of template specialization: ",
42997                 stringify!(root::mozilla::UniquePtr<root::nsIDocument_SelectorCache>)
42998             )
42999         );
43000         assert_eq!(
43001             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsIDocument_SelectorCache>>(),
43002             8usize,
43003             concat!(
43004                 "Alignment of template specialization: ",
43005                 stringify!(root::mozilla::UniquePtr<root::nsIDocument_SelectorCache>)
43006             )
43007         );
43008     }
43009     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation()43010     fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation() {
43011         assert_eq!(
43012             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
43013             1usize,
43014             concat!(
43015                 "Size of template specialization: ",
43016                 stringify!(root::mozilla::DefaultDelete)
43017             )
43018         );
43019         assert_eq!(
43020             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
43021             1usize,
43022             concat!(
43023                 "Alignment of template specialization: ",
43024                 stringify!(root::mozilla::DefaultDelete)
43025             )
43026         );
43027     }
43028     #[test]
__bindgen_test_layout_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation_1( )43029     fn __bindgen_test_layout_UniquePtr_open0_nsIDocument_SelectorCache_DefaultDelete_open1_nsIDocument_SelectorCache_close1_close0_instantiation_1(
43030 ) {
43031         assert_eq!(
43032             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsIDocument_SelectorCache>>(),
43033             8usize,
43034             concat!(
43035                 "Size of template specialization: ",
43036                 stringify!(root::mozilla::UniquePtr<root::nsIDocument_SelectorCache>)
43037             )
43038         );
43039         assert_eq!(
43040             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsIDocument_SelectorCache>>(),
43041             8usize,
43042             concat!(
43043                 "Alignment of template specialization: ",
43044                 stringify!(root::mozilla::UniquePtr<root::nsIDocument_SelectorCache>)
43045             )
43046         );
43047     }
43048     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation_1()43049     fn __bindgen_test_layout_DefaultDelete_open0_nsIDocument_SelectorCache_close0_instantiation_1()
43050     {
43051         assert_eq!(
43052             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
43053             1usize,
43054             concat!(
43055                 "Size of template specialization: ",
43056                 stringify!(root::mozilla::DefaultDelete)
43057             )
43058         );
43059         assert_eq!(
43060             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
43061             1usize,
43062             concat!(
43063                 "Alignment of template specialization: ",
43064                 stringify!(root::mozilla::DefaultDelete)
43065             )
43066         );
43067     }
43068     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_4()43069     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_4() {
43070         assert_eq!(
43071             ::std::mem::size_of::<root::nsCOMPtr>(),
43072             8usize,
43073             concat!(
43074                 "Size of template specialization: ",
43075                 stringify!(root::nsCOMPtr)
43076             )
43077         );
43078         assert_eq!(
43079             ::std::mem::align_of::<root::nsCOMPtr>(),
43080             8usize,
43081             concat!(
43082                 "Alignment of template specialization: ",
43083                 stringify!(root::nsCOMPtr)
43084             )
43085         );
43086     }
43087     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_5()43088     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_5() {
43089         assert_eq!(
43090             ::std::mem::size_of::<root::nsCOMPtr>(),
43091             8usize,
43092             concat!(
43093                 "Size of template specialization: ",
43094                 stringify!(root::nsCOMPtr)
43095             )
43096         );
43097         assert_eq!(
43098             ::std::mem::align_of::<root::nsCOMPtr>(),
43099             8usize,
43100             concat!(
43101                 "Alignment of template specialization: ",
43102                 stringify!(root::nsCOMPtr)
43103             )
43104         );
43105     }
43106     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_6()43107     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_6() {
43108         assert_eq!(
43109             ::std::mem::size_of::<root::nsCOMPtr>(),
43110             8usize,
43111             concat!(
43112                 "Size of template specialization: ",
43113                 stringify!(root::nsCOMPtr)
43114             )
43115         );
43116         assert_eq!(
43117             ::std::mem::align_of::<root::nsCOMPtr>(),
43118             8usize,
43119             concat!(
43120                 "Alignment of template specialization: ",
43121                 stringify!(root::nsCOMPtr)
43122             )
43123         );
43124     }
43125     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_7()43126     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_7() {
43127         assert_eq!(
43128             ::std::mem::size_of::<root::nsCOMPtr>(),
43129             8usize,
43130             concat!(
43131                 "Size of template specialization: ",
43132                 stringify!(root::nsCOMPtr)
43133             )
43134         );
43135         assert_eq!(
43136             ::std::mem::align_of::<root::nsCOMPtr>(),
43137             8usize,
43138             concat!(
43139                 "Alignment of template specialization: ",
43140                 stringify!(root::nsCOMPtr)
43141             )
43142         );
43143     }
43144     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_8()43145     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_8() {
43146         assert_eq!(
43147             ::std::mem::size_of::<root::nsCOMPtr>(),
43148             8usize,
43149             concat!(
43150                 "Size of template specialization: ",
43151                 stringify!(root::nsCOMPtr)
43152             )
43153         );
43154         assert_eq!(
43155             ::std::mem::align_of::<root::nsCOMPtr>(),
43156             8usize,
43157             concat!(
43158                 "Alignment of template specialization: ",
43159                 stringify!(root::nsCOMPtr)
43160             )
43161         );
43162     }
43163     #[test]
__bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation()43164     fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation() {
43165         assert_eq!(
43166             ::std::mem::size_of::<root::RefPtr<root::mozilla::URLExtraData>>(),
43167             8usize,
43168             concat!(
43169                 "Size of template specialization: ",
43170                 stringify!(root::RefPtr<root::mozilla::URLExtraData>)
43171             )
43172         );
43173         assert_eq!(
43174             ::std::mem::align_of::<root::RefPtr<root::mozilla::URLExtraData>>(),
43175             8usize,
43176             concat!(
43177                 "Alignment of template specialization: ",
43178                 stringify!(root::RefPtr<root::mozilla::URLExtraData>)
43179             )
43180         );
43181     }
43182     #[test]
__bindgen_test_layout_NotNull_open0_ptr_const_nsIDocument__Encoding_close0_instantiation()43183     fn __bindgen_test_layout_NotNull_open0_ptr_const_nsIDocument__Encoding_close0_instantiation() {
43184         assert_eq!(
43185             ::std::mem::size_of::<root::mozilla::NotNull<*const root::nsIDocument_Encoding>>(),
43186             8usize,
43187             concat!(
43188                 "Size of template specialization: ",
43189                 stringify!(root::mozilla::NotNull<*const root::nsIDocument_Encoding>)
43190             )
43191         );
43192         assert_eq!(
43193             ::std::mem::align_of::<root::mozilla::NotNull<*const root::nsIDocument_Encoding>>(),
43194             8usize,
43195             concat!(
43196                 "Alignment of template specialization: ",
43197                 stringify!(root::mozilla::NotNull<*const root::nsIDocument_Encoding>)
43198             )
43199         );
43200     }
43201     #[test]
__bindgen_test_layout_RefPtr_open0_Loader_close0_instantiation()43202     fn __bindgen_test_layout_RefPtr_open0_Loader_close0_instantiation() {
43203         assert_eq!(
43204             ::std::mem::size_of::<root::RefPtr<root::mozilla::css::Loader>>(),
43205             8usize,
43206             concat!(
43207                 "Size of template specialization: ",
43208                 stringify!(root::RefPtr<root::mozilla::css::Loader>)
43209             )
43210         );
43211         assert_eq!(
43212             ::std::mem::align_of::<root::RefPtr<root::mozilla::css::Loader>>(),
43213             8usize,
43214             concat!(
43215                 "Alignment of template specialization: ",
43216                 stringify!(root::RefPtr<root::mozilla::css::Loader>)
43217             )
43218         );
43219     }
43220     #[test]
__bindgen_test_layout_RefPtr_open0_ImageLoader_close0_instantiation()43221     fn __bindgen_test_layout_RefPtr_open0_ImageLoader_close0_instantiation() {
43222         assert_eq!(
43223             ::std::mem::size_of::<root::RefPtr<root::mozilla::css::ImageLoader>>(),
43224             8usize,
43225             concat!(
43226                 "Size of template specialization: ",
43227                 stringify!(root::RefPtr<root::mozilla::css::ImageLoader>)
43228             )
43229         );
43230         assert_eq!(
43231             ::std::mem::align_of::<root::RefPtr<root::mozilla::css::ImageLoader>>(),
43232             8usize,
43233             concat!(
43234                 "Alignment of template specialization: ",
43235                 stringify!(root::RefPtr<root::mozilla::css::ImageLoader>)
43236             )
43237         );
43238     }
43239     #[test]
__bindgen_test_layout_RefPtr_open0_nsHTMLStyleSheet_close0_instantiation()43240     fn __bindgen_test_layout_RefPtr_open0_nsHTMLStyleSheet_close0_instantiation() {
43241         assert_eq!(
43242             ::std::mem::size_of::<root::RefPtr<root::nsHTMLStyleSheet>>(),
43243             8usize,
43244             concat!(
43245                 "Size of template specialization: ",
43246                 stringify!(root::RefPtr<root::nsHTMLStyleSheet>)
43247             )
43248         );
43249         assert_eq!(
43250             ::std::mem::align_of::<root::RefPtr<root::nsHTMLStyleSheet>>(),
43251             8usize,
43252             concat!(
43253                 "Alignment of template specialization: ",
43254                 stringify!(root::RefPtr<root::nsHTMLStyleSheet>)
43255             )
43256         );
43257     }
43258     #[test]
__bindgen_test_layout_RefPtr_open0_nsHTMLCSSStyleSheet_close0_instantiation()43259     fn __bindgen_test_layout_RefPtr_open0_nsHTMLCSSStyleSheet_close0_instantiation() {
43260         assert_eq!(
43261             ::std::mem::size_of::<root::RefPtr<root::nsHTMLCSSStyleSheet>>(),
43262             8usize,
43263             concat!(
43264                 "Size of template specialization: ",
43265                 stringify!(root::RefPtr<root::nsHTMLCSSStyleSheet>)
43266             )
43267         );
43268         assert_eq!(
43269             ::std::mem::align_of::<root::RefPtr<root::nsHTMLCSSStyleSheet>>(),
43270             8usize,
43271             concat!(
43272                 "Alignment of template specialization: ",
43273                 stringify!(root::RefPtr<root::nsHTMLCSSStyleSheet>)
43274             )
43275         );
43276     }
43277     #[test]
__bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation()43278     fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation() {
43279         assert_eq!(
43280             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::ImageTracker>>(),
43281             8usize,
43282             concat!(
43283                 "Size of template specialization: ",
43284                 stringify!(root::RefPtr<root::mozilla::dom::ImageTracker>)
43285             )
43286         );
43287         assert_eq!(
43288             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::ImageTracker>>(),
43289             8usize,
43290             concat!(
43291                 "Alignment of template specialization: ",
43292                 stringify!(root::RefPtr<root::mozilla::dom::ImageTracker>)
43293             )
43294         );
43295     }
43296     #[test]
__bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsPtrHashKey_open2_nsISupports_close2_close1_close0_instantiation( )43297     fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsPtrHashKey_open2_nsISupports_close2_close1_close0_instantiation(
43298 ) {
43299         assert_eq!(
43300             ::std::mem::size_of::<u64>(),
43301             8usize,
43302             concat!("Size of template specialization: ", stringify!(u64))
43303         );
43304         assert_eq!(
43305             ::std::mem::align_of::<u64>(),
43306             8usize,
43307             concat!("Alignment of template specialization: ", stringify!(u64))
43308         );
43309     }
43310     #[test]
__bindgen_test_layout_nsCOMPtr_open0_Link_close0_instantiation()43311     fn __bindgen_test_layout_nsCOMPtr_open0_Link_close0_instantiation() {
43312         assert_eq!(
43313             ::std::mem::size_of::<root::nsCOMPtr>(),
43314             8usize,
43315             concat!(
43316                 "Size of template specialization: ",
43317                 stringify!(root::nsCOMPtr)
43318             )
43319         );
43320         assert_eq!(
43321             ::std::mem::align_of::<root::nsCOMPtr>(),
43322             8usize,
43323             concat!(
43324                 "Alignment of template specialization: ",
43325                 stringify!(root::nsCOMPtr)
43326             )
43327         );
43328     }
43329     #[test]
__bindgen_test_layout_RefPtr_open0_nsSMILAnimationController_close0_instantiation()43330     fn __bindgen_test_layout_RefPtr_open0_nsSMILAnimationController_close0_instantiation() {
43331         assert_eq!(
43332             ::std::mem::size_of::<root::RefPtr<root::nsSMILAnimationController>>(),
43333             8usize,
43334             concat!(
43335                 "Size of template specialization: ",
43336                 stringify!(root::RefPtr<root::nsSMILAnimationController>)
43337             )
43338         );
43339         assert_eq!(
43340             ::std::mem::align_of::<root::RefPtr<root::nsSMILAnimationController>>(),
43341             8usize,
43342             concat!(
43343                 "Alignment of template specialization: ",
43344                 stringify!(root::RefPtr<root::nsSMILAnimationController>)
43345             )
43346         );
43347     }
43348     #[test]
__bindgen_test_layout_nsTArray_open0_nsAutoPtr_open1_nsPropertyTable_close1_close0_instantiation( )43349     fn __bindgen_test_layout_nsTArray_open0_nsAutoPtr_open1_nsPropertyTable_close1_close0_instantiation(
43350 ) {
43351         assert_eq!(
43352             ::std::mem::size_of::<root::nsTArray<root::nsAutoPtr<root::nsPropertyTable>>>(),
43353             8usize,
43354             concat!(
43355                 "Size of template specialization: ",
43356                 stringify!(root::nsTArray<root::nsAutoPtr<root::nsPropertyTable>>)
43357             )
43358         );
43359         assert_eq!(
43360             ::std::mem::align_of::<root::nsTArray<root::nsAutoPtr<root::nsPropertyTable>>>(),
43361             8usize,
43362             concat!(
43363                 "Alignment of template specialization: ",
43364                 stringify!(root::nsTArray<root::nsAutoPtr<root::nsPropertyTable>>)
43365             )
43366         );
43367     }
43368     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIHTMLCollection_close0_instantiation()43369     fn __bindgen_test_layout_nsCOMPtr_open0_nsIHTMLCollection_close0_instantiation() {
43370         assert_eq!(
43371             ::std::mem::size_of::<root::nsCOMPtr>(),
43372             8usize,
43373             concat!(
43374                 "Size of template specialization: ",
43375                 stringify!(root::nsCOMPtr)
43376             )
43377         );
43378         assert_eq!(
43379             ::std::mem::align_of::<root::nsCOMPtr>(),
43380             8usize,
43381             concat!(
43382                 "Alignment of template specialization: ",
43383                 stringify!(root::nsCOMPtr)
43384             )
43385         );
43386     }
43387     #[test]
__bindgen_test_layout_RefPtr_open0_FontFaceSet_close0_instantiation()43388     fn __bindgen_test_layout_RefPtr_open0_FontFaceSet_close0_instantiation() {
43389         assert_eq!(
43390             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::FontFaceSet>>(),
43391             8usize,
43392             concat!(
43393                 "Size of template specialization: ",
43394                 stringify!(root::RefPtr<root::mozilla::dom::FontFaceSet>)
43395             )
43396         );
43397         assert_eq!(
43398             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::FontFaceSet>>(),
43399             8usize,
43400             concat!(
43401                 "Alignment of template specialization: ",
43402                 stringify!(root::RefPtr<root::mozilla::dom::FontFaceSet>)
43403             )
43404         );
43405     }
43406     #[test]
__bindgen_test_layout_RefPtr_open0_Promise_close0_instantiation()43407     fn __bindgen_test_layout_RefPtr_open0_Promise_close0_instantiation() {
43408         assert_eq!(
43409             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Promise>>(),
43410             8usize,
43411             concat!(
43412                 "Size of template specialization: ",
43413                 stringify!(root::RefPtr<root::mozilla::dom::Promise>)
43414             )
43415         );
43416         assert_eq!(
43417             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::Promise>>(),
43418             8usize,
43419             concat!(
43420                 "Alignment of template specialization: ",
43421                 stringify!(root::RefPtr<root::mozilla::dom::Promise>)
43422             )
43423         );
43424     }
43425     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIScriptGlobalObject_close0_instantiation()43426     fn __bindgen_test_layout_nsCOMPtr_open0_nsIScriptGlobalObject_close0_instantiation() {
43427         assert_eq!(
43428             ::std::mem::size_of::<root::nsCOMPtr>(),
43429             8usize,
43430             concat!(
43431                 "Size of template specialization: ",
43432                 stringify!(root::nsCOMPtr)
43433             )
43434         );
43435         assert_eq!(
43436             ::std::mem::align_of::<root::nsCOMPtr>(),
43437             8usize,
43438             concat!(
43439                 "Alignment of template specialization: ",
43440                 stringify!(root::nsCOMPtr)
43441             )
43442         );
43443     }
43444     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_4()43445     fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_4() {
43446         assert_eq!(
43447             ::std::mem::size_of::<root::nsCOMPtr>(),
43448             8usize,
43449             concat!(
43450                 "Size of template specialization: ",
43451                 stringify!(root::nsCOMPtr)
43452             )
43453         );
43454         assert_eq!(
43455             ::std::mem::align_of::<root::nsCOMPtr>(),
43456             8usize,
43457             concat!(
43458                 "Alignment of template specialization: ",
43459                 stringify!(root::nsCOMPtr)
43460             )
43461         );
43462     }
43463     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIChannel_close0_instantiation()43464     fn __bindgen_test_layout_nsCOMPtr_open0_nsIChannel_close0_instantiation() {
43465         assert_eq!(
43466             ::std::mem::size_of::<root::nsCOMPtr>(),
43467             8usize,
43468             concat!(
43469                 "Size of template specialization: ",
43470                 stringify!(root::nsCOMPtr)
43471             )
43472         );
43473         assert_eq!(
43474             ::std::mem::align_of::<root::nsCOMPtr>(),
43475             8usize,
43476             concat!(
43477                 "Alignment of template specialization: ",
43478                 stringify!(root::nsCOMPtr)
43479             )
43480         );
43481     }
43482     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_1()43483     fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_1() {
43484         assert_eq!(
43485             ::std::mem::size_of::<root::nsCOMPtr>(),
43486             8usize,
43487             concat!(
43488                 "Size of template specialization: ",
43489                 stringify!(root::nsCOMPtr)
43490             )
43491         );
43492         assert_eq!(
43493             ::std::mem::align_of::<root::nsCOMPtr>(),
43494             8usize,
43495             concat!(
43496                 "Alignment of template specialization: ",
43497                 stringify!(root::nsCOMPtr)
43498             )
43499         );
43500     }
43501     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIChannel_close0_instantiation_1()43502     fn __bindgen_test_layout_nsCOMPtr_open0_nsIChannel_close0_instantiation_1() {
43503         assert_eq!(
43504             ::std::mem::size_of::<root::nsCOMPtr>(),
43505             8usize,
43506             concat!(
43507                 "Size of template specialization: ",
43508                 stringify!(root::nsCOMPtr)
43509             )
43510         );
43511         assert_eq!(
43512             ::std::mem::align_of::<root::nsCOMPtr>(),
43513             8usize,
43514             concat!(
43515                 "Alignment of template specialization: ",
43516                 stringify!(root::nsCOMPtr)
43517             )
43518         );
43519     }
43520     #[test]
__bindgen_test_layout_nsCOMArray_open0_nsINode_close0_instantiation()43521     fn __bindgen_test_layout_nsCOMArray_open0_nsINode_close0_instantiation() {
43522         assert_eq!(
43523             ::std::mem::size_of::<root::nsCOMArray>(),
43524             8usize,
43525             concat!(
43526                 "Size of template specialization: ",
43527                 stringify!(root::nsCOMArray)
43528             )
43529         );
43530         assert_eq!(
43531             ::std::mem::align_of::<root::nsCOMArray>(),
43532             8usize,
43533             concat!(
43534                 "Alignment of template specialization: ",
43535                 stringify!(root::nsCOMArray)
43536             )
43537         );
43538     }
43539     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_5()43540     fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_5() {
43541         assert_eq!(
43542             ::std::mem::size_of::<root::nsCOMPtr>(),
43543             8usize,
43544             concat!(
43545                 "Size of template specialization: ",
43546                 stringify!(root::nsCOMPtr)
43547             )
43548         );
43549         assert_eq!(
43550             ::std::mem::align_of::<root::nsCOMPtr>(),
43551             8usize,
43552             concat!(
43553                 "Alignment of template specialization: ",
43554                 stringify!(root::nsCOMPtr)
43555             )
43556         );
43557     }
43558     #[test]
__bindgen_test_layout_nsTArray_open0_nsWeakPtr_close0_instantiation()43559     fn __bindgen_test_layout_nsTArray_open0_nsWeakPtr_close0_instantiation() {
43560         assert_eq!(
43561             ::std::mem::size_of::<root::nsTArray<root::nsWeakPtr>>(),
43562             8usize,
43563             concat!(
43564                 "Size of template specialization: ",
43565                 stringify!(root::nsTArray<root::nsWeakPtr>)
43566             )
43567         );
43568         assert_eq!(
43569             ::std::mem::align_of::<root::nsTArray<root::nsWeakPtr>>(),
43570             8usize,
43571             concat!(
43572                 "Alignment of template specialization: ",
43573                 stringify!(root::nsTArray<root::nsWeakPtr>)
43574             )
43575         );
43576     }
43577     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIDocumentEncoder_close0_instantiation()43578     fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocumentEncoder_close0_instantiation() {
43579         assert_eq!(
43580             ::std::mem::size_of::<root::nsCOMPtr>(),
43581             8usize,
43582             concat!(
43583                 "Size of template specialization: ",
43584                 stringify!(root::nsCOMPtr)
43585             )
43586         );
43587         assert_eq!(
43588             ::std::mem::align_of::<root::nsCOMPtr>(),
43589             8usize,
43590             concat!(
43591                 "Alignment of template specialization: ",
43592                 stringify!(root::nsCOMPtr)
43593             )
43594         );
43595     }
43596     #[test]
__bindgen_test_layout_nsTArray_open0_nsIDocument_FrameRequest_close0_instantiation()43597     fn __bindgen_test_layout_nsTArray_open0_nsIDocument_FrameRequest_close0_instantiation() {
43598         assert_eq!(
43599             ::std::mem::size_of::<root::nsTArray<root::nsIDocument_FrameRequest>>(),
43600             8usize,
43601             concat!(
43602                 "Size of template specialization: ",
43603                 stringify!(root::nsTArray<root::nsIDocument_FrameRequest>)
43604             )
43605         );
43606         assert_eq!(
43607             ::std::mem::align_of::<root::nsTArray<root::nsIDocument_FrameRequest>>(),
43608             8usize,
43609             concat!(
43610                 "Alignment of template specialization: ",
43611                 stringify!(root::nsTArray<root::nsIDocument_FrameRequest>)
43612             )
43613         );
43614     }
43615     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIStructuredCloneContainer_close0_instantiation()43616     fn __bindgen_test_layout_nsCOMPtr_open0_nsIStructuredCloneContainer_close0_instantiation() {
43617         assert_eq!(
43618             ::std::mem::size_of::<root::nsCOMPtr>(),
43619             8usize,
43620             concat!(
43621                 "Size of template specialization: ",
43622                 stringify!(root::nsCOMPtr)
43623             )
43624         );
43625         assert_eq!(
43626             ::std::mem::align_of::<root::nsCOMPtr>(),
43627             8usize,
43628             concat!(
43629                 "Alignment of template specialization: ",
43630                 stringify!(root::nsCOMPtr)
43631             )
43632         );
43633     }
43634     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIVariant_close0_instantiation()43635     fn __bindgen_test_layout_nsCOMPtr_open0_nsIVariant_close0_instantiation() {
43636         assert_eq!(
43637             ::std::mem::size_of::<root::nsCOMPtr>(),
43638             8usize,
43639             concat!(
43640                 "Size of template specialization: ",
43641                 stringify!(root::nsCOMPtr)
43642             )
43643         );
43644         assert_eq!(
43645             ::std::mem::align_of::<root::nsCOMPtr>(),
43646             8usize,
43647             concat!(
43648                 "Alignment of template specialization: ",
43649                 stringify!(root::nsCOMPtr)
43650             )
43651         );
43652     }
43653     #[test]
__bindgen_test_layout_UniquePtr_open0_XPathEvaluator_DefaultDelete_open1_XPathEvaluator_close1_close0_instantiation( )43654     fn __bindgen_test_layout_UniquePtr_open0_XPathEvaluator_DefaultDelete_open1_XPathEvaluator_close1_close0_instantiation(
43655 ) {
43656         assert_eq!(
43657             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::dom::XPathEvaluator>>(),
43658             8usize,
43659             concat!(
43660                 "Size of template specialization: ",
43661                 stringify!(root::mozilla::UniquePtr<root::mozilla::dom::XPathEvaluator>)
43662             )
43663         );
43664         assert_eq!(
43665             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::dom::XPathEvaluator>>(),
43666             8usize,
43667             concat!(
43668                 "Alignment of template specialization: ",
43669                 stringify!(root::mozilla::UniquePtr<root::mozilla::dom::XPathEvaluator>)
43670             )
43671         );
43672     }
43673     #[test]
__bindgen_test_layout_DefaultDelete_open0_XPathEvaluator_close0_instantiation()43674     fn __bindgen_test_layout_DefaultDelete_open0_XPathEvaluator_close0_instantiation() {
43675         assert_eq!(
43676             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
43677             1usize,
43678             concat!(
43679                 "Size of template specialization: ",
43680                 stringify!(root::mozilla::DefaultDelete)
43681             )
43682         );
43683         assert_eq!(
43684             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
43685             1usize,
43686             concat!(
43687                 "Alignment of template specialization: ",
43688                 stringify!(root::mozilla::DefaultDelete)
43689             )
43690         );
43691     }
43692     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_AnonymousContent_close1_close0_instantiation( )43693     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_AnonymousContent_close1_close0_instantiation(
43694 ) {
43695         assert_eq!(
43696             ::std::mem::size_of::<
43697                 root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>,
43698             >(),
43699             8usize,
43700             concat!(
43701                 "Size of template specialization: ",
43702                 stringify!(root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>)
43703             )
43704         );
43705         assert_eq!(
43706             ::std::mem::align_of::<
43707                 root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>,
43708             >(),
43709             8usize,
43710             concat!(
43711                 "Alignment of template specialization: ",
43712                 stringify!(root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>)
43713             )
43714         );
43715     }
43716     #[test]
__bindgen_test_layout_LinkedList_open0_MediaQueryList_close0_instantiation()43717     fn __bindgen_test_layout_LinkedList_open0_MediaQueryList_close0_instantiation() {
43718         assert_eq!(
43719             ::std::mem::size_of::<root::mozilla::LinkedList>(),
43720             24usize,
43721             concat!(
43722                 "Size of template specialization: ",
43723                 stringify!(root::mozilla::LinkedList)
43724             )
43725         );
43726         assert_eq!(
43727             ::std::mem::align_of::<root::mozilla::LinkedList>(),
43728             8usize,
43729             concat!(
43730                 "Alignment of template specialization: ",
43731                 stringify!(root::mozilla::LinkedList)
43732             )
43733         );
43734     }
43735     #[test]
__bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation()43736     fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation() {
43737         assert_eq!(
43738             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DocGroup>>(),
43739             8usize,
43740             concat!(
43741                 "Size of template specialization: ",
43742                 stringify!(root::RefPtr<root::mozilla::dom::DocGroup>)
43743             )
43744         );
43745         assert_eq!(
43746             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::DocGroup>>(),
43747             8usize,
43748             concat!(
43749                 "Alignment of template specialization: ",
43750                 stringify!(root::RefPtr<root::mozilla::dom::DocGroup>)
43751             )
43752         );
43753     }
43754     #[test]
__bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIRunnable_close1_close0_instantiation()43755     fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIRunnable_close1_close0_instantiation()
43756     {
43757         assert_eq!(
43758             ::std::mem::size_of::<root::nsTArray<root::nsCOMPtr>>(),
43759             8usize,
43760             concat!(
43761                 "Size of template specialization: ",
43762                 stringify!(root::nsTArray<root::nsCOMPtr>)
43763             )
43764         );
43765         assert_eq!(
43766             ::std::mem::align_of::<root::nsTArray<root::nsCOMPtr>>(),
43767             8usize,
43768             concat!(
43769                 "Alignment of template specialization: ",
43770                 stringify!(root::nsTArray<root::nsCOMPtr>)
43771             )
43772         );
43773     }
43774     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation()43775     fn __bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation() {
43776         assert_eq!(
43777             ::std::mem::size_of::<root::nsCOMPtr>(),
43778             8usize,
43779             concat!(
43780                 "Size of template specialization: ",
43781                 stringify!(root::nsCOMPtr)
43782             )
43783         );
43784         assert_eq!(
43785             ::std::mem::align_of::<root::nsCOMPtr>(),
43786             8usize,
43787             concat!(
43788                 "Alignment of template specialization: ",
43789                 stringify!(root::nsCOMPtr)
43790             )
43791         );
43792     }
43793     #[test]
__bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIPrincipal_close1_close0_instantiation( )43794     fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIPrincipal_close1_close0_instantiation(
43795 ) {
43796         assert_eq!(
43797             ::std::mem::size_of::<root::nsTArray<root::nsCOMPtr>>(),
43798             8usize,
43799             concat!(
43800                 "Size of template specialization: ",
43801                 stringify!(root::nsTArray<root::nsCOMPtr>)
43802             )
43803         );
43804         assert_eq!(
43805             ::std::mem::align_of::<root::nsTArray<root::nsCOMPtr>>(),
43806             8usize,
43807             concat!(
43808                 "Alignment of template specialization: ",
43809                 stringify!(root::nsTArray<root::nsCOMPtr>)
43810             )
43811         );
43812     }
43813     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_2()43814     fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_2() {
43815         assert_eq!(
43816             ::std::mem::size_of::<root::nsCOMPtr>(),
43817             8usize,
43818             concat!(
43819                 "Size of template specialization: ",
43820                 stringify!(root::nsCOMPtr)
43821             )
43822         );
43823         assert_eq!(
43824             ::std::mem::align_of::<root::nsCOMPtr>(),
43825             8usize,
43826             concat!(
43827                 "Alignment of template specialization: ",
43828                 stringify!(root::nsCOMPtr)
43829             )
43830         );
43831     }
43832     #[test]
__bindgen_test_layout_nsTArray_open0_uint64_t_close0_instantiation()43833     fn __bindgen_test_layout_nsTArray_open0_uint64_t_close0_instantiation() {
43834         assert_eq!(
43835             ::std::mem::size_of::<root::nsTArray<u64>>(),
43836             8usize,
43837             concat!(
43838                 "Size of template specialization: ",
43839                 stringify!(root::nsTArray<u64>)
43840             )
43841         );
43842         assert_eq!(
43843             ::std::mem::align_of::<root::nsTArray<u64>>(),
43844             8usize,
43845             concat!(
43846                 "Alignment of template specialization: ",
43847                 stringify!(root::nsTArray<u64>)
43848             )
43849         );
43850     }
43851     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsINode_close0_instantiation()43852     fn __bindgen_test_layout_nsCOMPtr_open0_nsINode_close0_instantiation() {
43853         assert_eq!(
43854             ::std::mem::size_of::<root::nsCOMPtr>(),
43855             8usize,
43856             concat!(
43857                 "Size of template specialization: ",
43858                 stringify!(root::nsCOMPtr)
43859             )
43860         );
43861         assert_eq!(
43862             ::std::mem::align_of::<root::nsCOMPtr>(),
43863             8usize,
43864             concat!(
43865                 "Alignment of template specialization: ",
43866                 stringify!(root::nsCOMPtr)
43867             )
43868         );
43869     }
43870     #[test]
__bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation()43871     fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation() {
43872         assert_eq!(
43873             ::std::mem::size_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
43874             16usize,
43875             concat!(
43876                 "Size of template specialization: ",
43877                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
43878             )
43879         );
43880         assert_eq!(
43881             ::std::mem::align_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
43882             8usize,
43883             concat!(
43884                 "Alignment of template specialization: ",
43885                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
43886             )
43887         );
43888     }
43889     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_2()43890     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_2() {
43891         assert_eq!(
43892             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
43893             8usize,
43894             concat!(
43895                 "Size of template specialization: ",
43896                 stringify!(root::RefPtr<root::nsAtom>)
43897             )
43898         );
43899         assert_eq!(
43900             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
43901             8usize,
43902             concat!(
43903                 "Alignment of template specialization: ",
43904                 stringify!(root::RefPtr<root::nsAtom>)
43905             )
43906         );
43907     }
43908     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_3()43909     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_3() {
43910         assert_eq!(
43911             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
43912             8usize,
43913             concat!(
43914                 "Size of template specialization: ",
43915                 stringify!(root::RefPtr<root::nsAtom>)
43916             )
43917         );
43918         assert_eq!(
43919             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
43920             8usize,
43921             concat!(
43922                 "Alignment of template specialization: ",
43923                 stringify!(root::RefPtr<root::nsAtom>)
43924             )
43925         );
43926     }
43927     #[test]
__bindgen_test_layout_nsAutoPtr_open0_LangGroupFontPrefs_close0_instantiation()43928     fn __bindgen_test_layout_nsAutoPtr_open0_LangGroupFontPrefs_close0_instantiation() {
43929         assert_eq!(
43930             ::std::mem::size_of::<root::nsAutoPtr<root::mozilla::LangGroupFontPrefs>>(),
43931             8usize,
43932             concat!(
43933                 "Size of template specialization: ",
43934                 stringify!(root::nsAutoPtr<root::mozilla::LangGroupFontPrefs>)
43935             )
43936         );
43937         assert_eq!(
43938             ::std::mem::align_of::<root::nsAutoPtr<root::mozilla::LangGroupFontPrefs>>(),
43939             8usize,
43940             concat!(
43941                 "Alignment of template specialization: ",
43942                 stringify!(root::nsAutoPtr<root::mozilla::LangGroupFontPrefs>)
43943             )
43944         );
43945     }
43946     #[test]
__bindgen_test_layout_nsTArray_open0_nsRect_close0_instantiation()43947     fn __bindgen_test_layout_nsTArray_open0_nsRect_close0_instantiation() {
43948         assert_eq!(
43949             ::std::mem::size_of::<root::nsTArray<root::nsRect>>(),
43950             8usize,
43951             concat!(
43952                 "Size of template specialization: ",
43953                 stringify!(root::nsTArray<root::nsRect>)
43954             )
43955         );
43956         assert_eq!(
43957             ::std::mem::align_of::<root::nsTArray<root::nsRect>>(),
43958             8usize,
43959             concat!(
43960                 "Alignment of template specialization: ",
43961                 stringify!(root::nsTArray<root::nsRect>)
43962             )
43963         );
43964     }
43965     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_6()43966     fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocument_close0_instantiation_6() {
43967         assert_eq!(
43968             ::std::mem::size_of::<root::nsCOMPtr>(),
43969             8usize,
43970             concat!(
43971                 "Size of template specialization: ",
43972                 stringify!(root::nsCOMPtr)
43973             )
43974         );
43975         assert_eq!(
43976             ::std::mem::align_of::<root::nsCOMPtr>(),
43977             8usize,
43978             concat!(
43979                 "Alignment of template specialization: ",
43980                 stringify!(root::nsCOMPtr)
43981             )
43982         );
43983     }
43984     #[test]
__bindgen_test_layout_RefPtr_open0_nsDeviceContext_close0_instantiation()43985     fn __bindgen_test_layout_RefPtr_open0_nsDeviceContext_close0_instantiation() {
43986         assert_eq!(
43987             ::std::mem::size_of::<root::RefPtr<root::nsDeviceContext>>(),
43988             8usize,
43989             concat!(
43990                 "Size of template specialization: ",
43991                 stringify!(root::RefPtr<root::nsDeviceContext>)
43992             )
43993         );
43994         assert_eq!(
43995             ::std::mem::align_of::<root::RefPtr<root::nsDeviceContext>>(),
43996             8usize,
43997             concat!(
43998                 "Alignment of template specialization: ",
43999                 stringify!(root::RefPtr<root::nsDeviceContext>)
44000             )
44001         );
44002     }
44003     #[test]
__bindgen_test_layout_RefPtr_open0_EventStateManager_close0_instantiation()44004     fn __bindgen_test_layout_RefPtr_open0_EventStateManager_close0_instantiation() {
44005         assert_eq!(
44006             ::std::mem::size_of::<root::RefPtr<root::mozilla::EventStateManager>>(),
44007             8usize,
44008             concat!(
44009                 "Size of template specialization: ",
44010                 stringify!(root::RefPtr<root::mozilla::EventStateManager>)
44011             )
44012         );
44013         assert_eq!(
44014             ::std::mem::align_of::<root::RefPtr<root::mozilla::EventStateManager>>(),
44015             8usize,
44016             concat!(
44017                 "Alignment of template specialization: ",
44018                 stringify!(root::RefPtr<root::mozilla::EventStateManager>)
44019             )
44020         );
44021     }
44022     #[test]
__bindgen_test_layout_RefPtr_open0_nsRefreshDriver_close0_instantiation()44023     fn __bindgen_test_layout_RefPtr_open0_nsRefreshDriver_close0_instantiation() {
44024         assert_eq!(
44025             ::std::mem::size_of::<root::RefPtr<root::nsRefreshDriver>>(),
44026             8usize,
44027             concat!(
44028                 "Size of template specialization: ",
44029                 stringify!(root::RefPtr<root::nsRefreshDriver>)
44030             )
44031         );
44032         assert_eq!(
44033             ::std::mem::align_of::<root::RefPtr<root::nsRefreshDriver>>(),
44034             8usize,
44035             concat!(
44036                 "Alignment of template specialization: ",
44037                 stringify!(root::RefPtr<root::nsRefreshDriver>)
44038             )
44039         );
44040     }
44041     #[test]
__bindgen_test_layout_RefPtr_open0_AnimationEventDispatcher_close0_instantiation()44042     fn __bindgen_test_layout_RefPtr_open0_AnimationEventDispatcher_close0_instantiation() {
44043         assert_eq!(
44044             ::std::mem::size_of::<root::RefPtr<root::mozilla::AnimationEventDispatcher>>(),
44045             8usize,
44046             concat!(
44047                 "Size of template specialization: ",
44048                 stringify!(root::RefPtr<root::mozilla::AnimationEventDispatcher>)
44049             )
44050         );
44051         assert_eq!(
44052             ::std::mem::align_of::<root::RefPtr<root::mozilla::AnimationEventDispatcher>>(),
44053             8usize,
44054             concat!(
44055                 "Alignment of template specialization: ",
44056                 stringify!(root::RefPtr<root::mozilla::AnimationEventDispatcher>)
44057             )
44058         );
44059     }
44060     #[test]
__bindgen_test_layout_RefPtr_open0_EffectCompositor_close0_instantiation()44061     fn __bindgen_test_layout_RefPtr_open0_EffectCompositor_close0_instantiation() {
44062         assert_eq!(
44063             ::std::mem::size_of::<root::RefPtr<root::mozilla::EffectCompositor>>(),
44064             8usize,
44065             concat!(
44066                 "Size of template specialization: ",
44067                 stringify!(root::RefPtr<root::mozilla::EffectCompositor>)
44068             )
44069         );
44070         assert_eq!(
44071             ::std::mem::align_of::<root::RefPtr<root::mozilla::EffectCompositor>>(),
44072             8usize,
44073             concat!(
44074                 "Alignment of template specialization: ",
44075                 stringify!(root::RefPtr<root::mozilla::EffectCompositor>)
44076             )
44077         );
44078     }
44079     #[test]
__bindgen_test_layout_RefPtr_open0_nsTransitionManager_close0_instantiation()44080     fn __bindgen_test_layout_RefPtr_open0_nsTransitionManager_close0_instantiation() {
44081         assert_eq!(
44082             ::std::mem::size_of::<root::RefPtr<root::nsTransitionManager>>(),
44083             8usize,
44084             concat!(
44085                 "Size of template specialization: ",
44086                 stringify!(root::RefPtr<root::nsTransitionManager>)
44087             )
44088         );
44089         assert_eq!(
44090             ::std::mem::align_of::<root::RefPtr<root::nsTransitionManager>>(),
44091             8usize,
44092             concat!(
44093                 "Alignment of template specialization: ",
44094                 stringify!(root::RefPtr<root::nsTransitionManager>)
44095             )
44096         );
44097     }
44098     #[test]
__bindgen_test_layout_RefPtr_open0_nsAnimationManager_close0_instantiation()44099     fn __bindgen_test_layout_RefPtr_open0_nsAnimationManager_close0_instantiation() {
44100         assert_eq!(
44101             ::std::mem::size_of::<root::RefPtr<root::nsAnimationManager>>(),
44102             8usize,
44103             concat!(
44104                 "Size of template specialization: ",
44105                 stringify!(root::RefPtr<root::nsAnimationManager>)
44106             )
44107         );
44108         assert_eq!(
44109             ::std::mem::align_of::<root::RefPtr<root::nsAnimationManager>>(),
44110             8usize,
44111             concat!(
44112                 "Alignment of template specialization: ",
44113                 stringify!(root::RefPtr<root::nsAnimationManager>)
44114             )
44115         );
44116     }
44117     #[test]
__bindgen_test_layout_RefPtr_open0_RestyleManager_close0_instantiation()44118     fn __bindgen_test_layout_RefPtr_open0_RestyleManager_close0_instantiation() {
44119         assert_eq!(
44120             ::std::mem::size_of::<root::RefPtr<root::mozilla::RestyleManager>>(),
44121             8usize,
44122             concat!(
44123                 "Size of template specialization: ",
44124                 stringify!(root::RefPtr<root::mozilla::RestyleManager>)
44125             )
44126         );
44127         assert_eq!(
44128             ::std::mem::align_of::<root::RefPtr<root::mozilla::RestyleManager>>(),
44129             8usize,
44130             concat!(
44131                 "Alignment of template specialization: ",
44132                 stringify!(root::RefPtr<root::mozilla::RestyleManager>)
44133             )
44134         );
44135     }
44136     #[test]
__bindgen_test_layout_RefPtr_open0_CounterStyleManager_close0_instantiation()44137     fn __bindgen_test_layout_RefPtr_open0_CounterStyleManager_close0_instantiation() {
44138         assert_eq!(
44139             ::std::mem::size_of::<root::RefPtr<root::mozilla::CounterStyleManager>>(),
44140             8usize,
44141             concat!(
44142                 "Size of template specialization: ",
44143                 stringify!(root::RefPtr<root::mozilla::CounterStyleManager>)
44144             )
44145         );
44146         assert_eq!(
44147             ::std::mem::align_of::<root::RefPtr<root::mozilla::CounterStyleManager>>(),
44148             8usize,
44149             concat!(
44150                 "Alignment of template specialization: ",
44151                 stringify!(root::RefPtr<root::mozilla::CounterStyleManager>)
44152             )
44153         );
44154     }
44155     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_4()44156     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_4() {
44157         assert_eq!(
44158             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
44159             8usize,
44160             concat!(
44161                 "Size of template specialization: ",
44162                 stringify!(root::RefPtr<root::nsAtom>)
44163             )
44164         );
44165         assert_eq!(
44166             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
44167             8usize,
44168             concat!(
44169                 "Alignment of template specialization: ",
44170                 stringify!(root::RefPtr<root::nsAtom>)
44171             )
44172         );
44173     }
44174     #[test]
__bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation_1()44175     fn __bindgen_test_layout_RefPtr_open0_gfxFontFeatureValueSet_close0_instantiation_1() {
44176         assert_eq!(
44177             ::std::mem::size_of::<root::RefPtr<root::gfxFontFeatureValueSet>>(),
44178             8usize,
44179             concat!(
44180                 "Size of template specialization: ",
44181                 stringify!(root::RefPtr<root::gfxFontFeatureValueSet>)
44182             )
44183         );
44184         assert_eq!(
44185             ::std::mem::align_of::<root::RefPtr<root::gfxFontFeatureValueSet>>(),
44186             8usize,
44187             concat!(
44188                 "Alignment of template specialization: ",
44189                 stringify!(root::RefPtr<root::gfxFontFeatureValueSet>)
44190             )
44191         );
44192     }
44193     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_5()44194     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_5() {
44195         assert_eq!(
44196             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
44197             8usize,
44198             concat!(
44199                 "Size of template specialization: ",
44200                 stringify!(root::RefPtr<root::nsAtom>)
44201             )
44202         );
44203         assert_eq!(
44204             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
44205             8usize,
44206             concat!(
44207                 "Alignment of template specialization: ",
44208                 stringify!(root::RefPtr<root::nsAtom>)
44209             )
44210         );
44211     }
44212     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsITheme_close0_instantiation()44213     fn __bindgen_test_layout_nsCOMPtr_open0_nsITheme_close0_instantiation() {
44214         assert_eq!(
44215             ::std::mem::size_of::<root::nsCOMPtr>(),
44216             8usize,
44217             concat!(
44218                 "Size of template specialization: ",
44219                 stringify!(root::nsCOMPtr)
44220             )
44221         );
44222         assert_eq!(
44223             ::std::mem::align_of::<root::nsCOMPtr>(),
44224             8usize,
44225             concat!(
44226                 "Alignment of template specialization: ",
44227                 stringify!(root::nsCOMPtr)
44228             )
44229         );
44230     }
44231     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIPrintSettings_close0_instantiation()44232     fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrintSettings_close0_instantiation() {
44233         assert_eq!(
44234             ::std::mem::size_of::<root::nsCOMPtr>(),
44235             8usize,
44236             concat!(
44237                 "Size of template specialization: ",
44238                 stringify!(root::nsCOMPtr)
44239             )
44240         );
44241         assert_eq!(
44242             ::std::mem::align_of::<root::nsCOMPtr>(),
44243             8usize,
44244             concat!(
44245                 "Alignment of template specialization: ",
44246                 stringify!(root::nsCOMPtr)
44247             )
44248         );
44249     }
44250     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation_1()44251     fn __bindgen_test_layout_nsCOMPtr_open0_nsITimer_close0_instantiation_1() {
44252         assert_eq!(
44253             ::std::mem::size_of::<root::nsCOMPtr>(),
44254             8usize,
44255             concat!(
44256                 "Size of template specialization: ",
44257                 stringify!(root::nsCOMPtr)
44258             )
44259         );
44260         assert_eq!(
44261             ::std::mem::align_of::<root::nsCOMPtr>(),
44262             8usize,
44263             concat!(
44264                 "Alignment of template specialization: ",
44265                 stringify!(root::nsCOMPtr)
44266             )
44267         );
44268     }
44269     #[test]
__bindgen_test_layout_UniquePtr_open0_nsBidi_DefaultDelete_open1_nsBidi_close1_close0_instantiation( )44270     fn __bindgen_test_layout_UniquePtr_open0_nsBidi_DefaultDelete_open1_nsBidi_close1_close0_instantiation(
44271 ) {
44272         assert_eq!(
44273             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsBidi>>(),
44274             8usize,
44275             concat!(
44276                 "Size of template specialization: ",
44277                 stringify!(root::mozilla::UniquePtr<root::nsBidi>)
44278             )
44279         );
44280         assert_eq!(
44281             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsBidi>>(),
44282             8usize,
44283             concat!(
44284                 "Alignment of template specialization: ",
44285                 stringify!(root::mozilla::UniquePtr<root::nsBidi>)
44286             )
44287         );
44288     }
44289     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsBidi_close0_instantiation()44290     fn __bindgen_test_layout_DefaultDelete_open0_nsBidi_close0_instantiation() {
44291         assert_eq!(
44292             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
44293             1usize,
44294             concat!(
44295                 "Size of template specialization: ",
44296                 stringify!(root::mozilla::DefaultDelete)
44297             )
44298         );
44299         assert_eq!(
44300             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
44301             1usize,
44302             concat!(
44303                 "Alignment of template specialization: ",
44304                 stringify!(root::mozilla::DefaultDelete)
44305             )
44306         );
44307     }
44308     #[test]
__bindgen_test_layout_nsAutoPtr_open0_gfxTextPerfMetrics_close0_instantiation()44309     fn __bindgen_test_layout_nsAutoPtr_open0_gfxTextPerfMetrics_close0_instantiation() {
44310         assert_eq!(
44311             ::std::mem::size_of::<root::nsAutoPtr<root::gfxTextPerfMetrics>>(),
44312             8usize,
44313             concat!(
44314                 "Size of template specialization: ",
44315                 stringify!(root::nsAutoPtr<root::gfxTextPerfMetrics>)
44316             )
44317         );
44318         assert_eq!(
44319             ::std::mem::align_of::<root::nsAutoPtr<root::gfxTextPerfMetrics>>(),
44320             8usize,
44321             concat!(
44322                 "Alignment of template specialization: ",
44323                 stringify!(root::nsAutoPtr<root::gfxTextPerfMetrics>)
44324             )
44325         );
44326     }
44327     #[test]
__bindgen_test_layout_nsAutoPtr_open0_gfxMissingFontRecorder_close0_instantiation()44328     fn __bindgen_test_layout_nsAutoPtr_open0_gfxMissingFontRecorder_close0_instantiation() {
44329         assert_eq!(
44330             ::std::mem::size_of::<root::nsAutoPtr<root::gfxMissingFontRecorder>>(),
44331             8usize,
44332             concat!(
44333                 "Size of template specialization: ",
44334                 stringify!(root::nsAutoPtr<root::gfxMissingFontRecorder>)
44335             )
44336         );
44337         assert_eq!(
44338             ::std::mem::align_of::<root::nsAutoPtr<root::gfxMissingFontRecorder>>(),
44339             8usize,
44340             concat!(
44341                 "Alignment of template specialization: ",
44342                 stringify!(root::nsAutoPtr<root::gfxMissingFontRecorder>)
44343             )
44344         );
44345     }
44346     #[test]
__bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_1()44347     fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_1() {
44348         assert_eq!(
44349             ::std::mem::size_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
44350             16usize,
44351             concat!(
44352                 "Size of template specialization: ",
44353                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
44354             )
44355         );
44356         assert_eq!(
44357             ::std::mem::align_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
44358             8usize,
44359             concat!(
44360                 "Alignment of template specialization: ",
44361                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
44362             )
44363         );
44364     }
44365     #[test]
__bindgen_test_layout_nsTArray_open0_URLParams_Param_close0_instantiation()44366     fn __bindgen_test_layout_nsTArray_open0_URLParams_Param_close0_instantiation() {
44367         assert_eq!(
44368             ::std::mem::size_of::<root::nsTArray<root::mozilla::dom::URLParams_Param>>(),
44369             8usize,
44370             concat!(
44371                 "Size of template specialization: ",
44372                 stringify!(root::nsTArray<root::mozilla::dom::URLParams_Param>)
44373             )
44374         );
44375         assert_eq!(
44376             ::std::mem::align_of::<root::nsTArray<root::mozilla::dom::URLParams_Param>>(),
44377             8usize,
44378             concat!(
44379                 "Alignment of template specialization: ",
44380                 stringify!(root::nsTArray<root::mozilla::dom::URLParams_Param>)
44381             )
44382         );
44383     }
44384     #[test]
__bindgen_test_layout_UniquePtr_open0_URLParams_DefaultDelete_open1_URLParams_close1_close0_instantiation( )44385     fn __bindgen_test_layout_UniquePtr_open0_URLParams_DefaultDelete_open1_URLParams_close1_close0_instantiation(
44386 ) {
44387         assert_eq!(
44388             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::dom::URLParams>>(),
44389             8usize,
44390             concat!(
44391                 "Size of template specialization: ",
44392                 stringify!(root::mozilla::UniquePtr<root::mozilla::dom::URLParams>)
44393             )
44394         );
44395         assert_eq!(
44396             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::dom::URLParams>>(),
44397             8usize,
44398             concat!(
44399                 "Alignment of template specialization: ",
44400                 stringify!(root::mozilla::UniquePtr<root::mozilla::dom::URLParams>)
44401             )
44402         );
44403     }
44404     #[test]
__bindgen_test_layout_DefaultDelete_open0_URLParams_close0_instantiation()44405     fn __bindgen_test_layout_DefaultDelete_open0_URLParams_close0_instantiation() {
44406         assert_eq!(
44407             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
44408             1usize,
44409             concat!(
44410                 "Size of template specialization: ",
44411                 stringify!(root::mozilla::DefaultDelete)
44412             )
44413         );
44414         assert_eq!(
44415             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
44416             1usize,
44417             concat!(
44418                 "Alignment of template specialization: ",
44419                 stringify!(root::mozilla::DefaultDelete)
44420             )
44421         );
44422     }
44423     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_9()44424     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_9() {
44425         assert_eq!(
44426             ::std::mem::size_of::<root::nsCOMPtr>(),
44427             8usize,
44428             concat!(
44429                 "Size of template specialization: ",
44430                 stringify!(root::nsCOMPtr)
44431             )
44432         );
44433         assert_eq!(
44434             ::std::mem::align_of::<root::nsCOMPtr>(),
44435             8usize,
44436             concat!(
44437                 "Alignment of template specialization: ",
44438                 stringify!(root::nsCOMPtr)
44439             )
44440         );
44441     }
44442     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_10()44443     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_10() {
44444         assert_eq!(
44445             ::std::mem::size_of::<root::nsCOMPtr>(),
44446             8usize,
44447             concat!(
44448                 "Size of template specialization: ",
44449                 stringify!(root::nsCOMPtr)
44450             )
44451         );
44452         assert_eq!(
44453             ::std::mem::align_of::<root::nsCOMPtr>(),
44454             8usize,
44455             concat!(
44456                 "Alignment of template specialization: ",
44457                 stringify!(root::nsCOMPtr)
44458             )
44459         );
44460     }
44461     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_3()44462     fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_3() {
44463         assert_eq!(
44464             ::std::mem::size_of::<root::nsCOMPtr>(),
44465             8usize,
44466             concat!(
44467                 "Size of template specialization: ",
44468                 stringify!(root::nsCOMPtr)
44469             )
44470         );
44471         assert_eq!(
44472             ::std::mem::align_of::<root::nsCOMPtr>(),
44473             8usize,
44474             concat!(
44475                 "Alignment of template specialization: ",
44476                 stringify!(root::nsCOMPtr)
44477             )
44478         );
44479     }
44480     #[test]
__bindgen_test_layout_UniquePtr_open0_const_char_FreePolicy_open1_const_char_close1_close0_instantiation( )44481     fn __bindgen_test_layout_UniquePtr_open0_const_char_FreePolicy_open1_const_char_close1_close0_instantiation(
44482 ) {
44483         assert_eq!(
44484             ::std::mem::size_of::<root::mozilla::UniquePtr<::std::os::raw::c_char>>(),
44485             8usize,
44486             concat!(
44487                 "Size of template specialization: ",
44488                 stringify!(root::mozilla::UniquePtr<::std::os::raw::c_char>)
44489             )
44490         );
44491         assert_eq!(
44492             ::std::mem::align_of::<root::mozilla::UniquePtr<::std::os::raw::c_char>>(),
44493             8usize,
44494             concat!(
44495                 "Alignment of template specialization: ",
44496                 stringify!(root::mozilla::UniquePtr<::std::os::raw::c_char>)
44497             )
44498         );
44499     }
44500     #[test]
__bindgen_test_layout_FreePolicy_open0_const_char_close0_instantiation()44501     fn __bindgen_test_layout_FreePolicy_open0_const_char_close0_instantiation() {
44502         assert_eq!(
44503             ::std::mem::size_of::<root::mozilla::detail::FreePolicy>(),
44504             1usize,
44505             concat!(
44506                 "Size of template specialization: ",
44507                 stringify!(root::mozilla::detail::FreePolicy)
44508             )
44509         );
44510         assert_eq!(
44511             ::std::mem::align_of::<root::mozilla::detail::FreePolicy>(),
44512             1usize,
44513             concat!(
44514                 "Alignment of template specialization: ",
44515                 stringify!(root::mozilla::detail::FreePolicy)
44516             )
44517         );
44518     }
44519     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation()44520     fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation() {
44521         assert_eq!(
44522             ::std::mem::size_of::<root::nsCOMPtr>(),
44523             8usize,
44524             concat!(
44525                 "Size of template specialization: ",
44526                 stringify!(root::nsCOMPtr)
44527             )
44528         );
44529         assert_eq!(
44530             ::std::mem::align_of::<root::nsCOMPtr>(),
44531             8usize,
44532             concat!(
44533                 "Alignment of template specialization: ",
44534                 stringify!(root::nsCOMPtr)
44535             )
44536         );
44537     }
44538     #[test]
__bindgen_test_layout_nsMainThreadPtrHandle_open0_nsIURI_close0_instantiation()44539     fn __bindgen_test_layout_nsMainThreadPtrHandle_open0_nsIURI_close0_instantiation() {
44540         assert_eq!(
44541             ::std::mem::size_of::<root::nsMainThreadPtrHandle<root::nsIURI>>(),
44542             8usize,
44543             concat!(
44544                 "Size of template specialization: ",
44545                 stringify!(root::nsMainThreadPtrHandle<root::nsIURI>)
44546             )
44547         );
44548         assert_eq!(
44549             ::std::mem::align_of::<root::nsMainThreadPtrHandle<root::nsIURI>>(),
44550             8usize,
44551             concat!(
44552                 "Alignment of template specialization: ",
44553                 stringify!(root::nsMainThreadPtrHandle<root::nsIURI>)
44554             )
44555         );
44556     }
44557     #[test]
__bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_1()44558     fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_1() {
44559         assert_eq!(
44560             ::std::mem::size_of::<root::RefPtr<root::mozilla::URLExtraData>>(),
44561             8usize,
44562             concat!(
44563                 "Size of template specialization: ",
44564                 stringify!(root::RefPtr<root::mozilla::URLExtraData>)
44565             )
44566         );
44567         assert_eq!(
44568             ::std::mem::align_of::<root::RefPtr<root::mozilla::URLExtraData>>(),
44569             8usize,
44570             concat!(
44571                 "Alignment of template specialization: ",
44572                 stringify!(root::RefPtr<root::mozilla::URLExtraData>)
44573             )
44574         );
44575     }
44576     #[test]
__bindgen_test_layout_nsPtrHashKey_open0_nsIDocument_close0_instantiation()44577     fn __bindgen_test_layout_nsPtrHashKey_open0_nsIDocument_close0_instantiation() {
44578         assert_eq!(
44579             ::std::mem::size_of::<root::nsPtrHashKey<root::nsIDocument>>(),
44580             16usize,
44581             concat!(
44582                 "Size of template specialization: ",
44583                 stringify!(root::nsPtrHashKey<root::nsIDocument>)
44584             )
44585         );
44586         assert_eq!(
44587             ::std::mem::align_of::<root::nsPtrHashKey<root::nsIDocument>>(),
44588             8usize,
44589             concat!(
44590                 "Alignment of template specialization: ",
44591                 stringify!(root::nsPtrHashKey<root::nsIDocument>)
44592             )
44593         );
44594     }
44595     #[test]
__bindgen_test_layout_nsTArray_open0_GridNamedArea_close0_instantiation()44596     fn __bindgen_test_layout_nsTArray_open0_GridNamedArea_close0_instantiation() {
44597         assert_eq!(
44598             ::std::mem::size_of::<root::nsTArray<root::mozilla::css::GridNamedArea>>(),
44599             8usize,
44600             concat!(
44601                 "Size of template specialization: ",
44602                 stringify!(root::nsTArray<root::mozilla::css::GridNamedArea>)
44603             )
44604         );
44605         assert_eq!(
44606             ::std::mem::align_of::<root::nsTArray<root::mozilla::css::GridNamedArea>>(),
44607             8usize,
44608             concat!(
44609                 "Alignment of template specialization: ",
44610                 stringify!(root::nsTArray<root::mozilla::css::GridNamedArea>)
44611             )
44612         );
44613     }
44614     #[test]
__bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation()44615     fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation() {
44616         assert_eq!(
44617             ::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>(),
44618             8usize,
44619             concat!(
44620                 "Size of template specialization: ",
44621                 stringify!(root::nsTArray<::nsstring::nsStringRepr>)
44622             )
44623         );
44624         assert_eq!(
44625             ::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>(),
44626             8usize,
44627             concat!(
44628                 "Alignment of template specialization: ",
44629                 stringify!(root::nsTArray<::nsstring::nsStringRepr>)
44630             )
44631         );
44632     }
44633     #[test]
__bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation( )44634     fn __bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation(
44635 ) {
44636         assert_eq!(
44637             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>(),
44638             8usize,
44639             concat!(
44640                 "Size of template specialization: ",
44641                 stringify!(root::mozilla::UniquePtr<root::nsCSSValueList>)
44642             )
44643         );
44644         assert_eq!(
44645             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>(),
44646             8usize,
44647             concat!(
44648                 "Alignment of template specialization: ",
44649                 stringify!(root::mozilla::UniquePtr<root::nsCSSValueList>)
44650             )
44651         );
44652     }
44653     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsCSSValueList_close0_instantiation()44654     fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValueList_close0_instantiation() {
44655         assert_eq!(
44656             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
44657             1usize,
44658             concat!(
44659                 "Size of template specialization: ",
44660                 stringify!(root::mozilla::DefaultDelete)
44661             )
44662         );
44663         assert_eq!(
44664             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
44665             1usize,
44666             concat!(
44667                 "Alignment of template specialization: ",
44668                 stringify!(root::mozilla::DefaultDelete)
44669             )
44670         );
44671     }
44672     #[test]
__bindgen_test_layout_UniquePtr_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation( )44673     fn __bindgen_test_layout_UniquePtr_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation(
44674 ) {
44675         assert_eq!(
44676             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>(),
44677             8usize,
44678             concat!(
44679                 "Size of template specialization: ",
44680                 stringify!(root::mozilla::UniquePtr<root::nsCSSValuePairList>)
44681             )
44682         );
44683         assert_eq!(
44684             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>(),
44685             8usize,
44686             concat!(
44687                 "Alignment of template specialization: ",
44688                 stringify!(root::mozilla::UniquePtr<root::nsCSSValuePairList>)
44689             )
44690         );
44691     }
44692     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation()44693     fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation() {
44694         assert_eq!(
44695             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
44696             1usize,
44697             concat!(
44698                 "Size of template specialization: ",
44699                 stringify!(root::mozilla::DefaultDelete)
44700             )
44701         );
44702         assert_eq!(
44703             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
44704             1usize,
44705             concat!(
44706                 "Alignment of template specialization: ",
44707                 stringify!(root::mozilla::DefaultDelete)
44708             )
44709         );
44710     }
44711     #[test]
__bindgen_test_layout_nsTArray_open0_nsCSSValueGradientStop_close0_instantiation()44712     fn __bindgen_test_layout_nsTArray_open0_nsCSSValueGradientStop_close0_instantiation() {
44713         assert_eq!(
44714             ::std::mem::size_of::<root::nsTArray<root::nsCSSValueGradientStop>>(),
44715             8usize,
44716             concat!(
44717                 "Size of template specialization: ",
44718                 stringify!(root::nsTArray<root::nsCSSValueGradientStop>)
44719             )
44720         );
44721         assert_eq!(
44722             ::std::mem::align_of::<root::nsTArray<root::nsCSSValueGradientStop>>(),
44723             8usize,
44724             concat!(
44725                 "Alignment of template specialization: ",
44726                 stringify!(root::nsTArray<root::nsCSSValueGradientStop>)
44727             )
44728         );
44729     }
44730     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_11()44731     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_11() {
44732         assert_eq!(
44733             ::std::mem::size_of::<root::nsCOMPtr>(),
44734             8usize,
44735             concat!(
44736                 "Size of template specialization: ",
44737                 stringify!(root::nsCOMPtr)
44738             )
44739         );
44740         assert_eq!(
44741             ::std::mem::align_of::<root::nsCOMPtr>(),
44742             8usize,
44743             concat!(
44744                 "Alignment of template specialization: ",
44745                 stringify!(root::nsCOMPtr)
44746             )
44747         );
44748     }
44749     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_12()44750     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_12() {
44751         assert_eq!(
44752             ::std::mem::size_of::<root::nsCOMPtr>(),
44753             8usize,
44754             concat!(
44755                 "Size of template specialization: ",
44756                 stringify!(root::nsCOMPtr)
44757             )
44758         );
44759         assert_eq!(
44760             ::std::mem::align_of::<root::nsCOMPtr>(),
44761             8usize,
44762             concat!(
44763                 "Alignment of template specialization: ",
44764                 stringify!(root::nsCOMPtr)
44765             )
44766         );
44767     }
44768     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_4()44769     fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_4() {
44770         assert_eq!(
44771             ::std::mem::size_of::<root::nsCOMPtr>(),
44772             8usize,
44773             concat!(
44774                 "Size of template specialization: ",
44775                 stringify!(root::nsCOMPtr)
44776             )
44777         );
44778         assert_eq!(
44779             ::std::mem::align_of::<root::nsCOMPtr>(),
44780             8usize,
44781             concat!(
44782                 "Alignment of template specialization: ",
44783                 stringify!(root::nsCOMPtr)
44784             )
44785         );
44786     }
44787     #[test]
__bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation()44788     fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation() {
44789         assert_eq!(
44790             ::std::mem::size_of::<root::RefPtr<root::imgRequestProxy>>(),
44791             8usize,
44792             concat!(
44793                 "Size of template specialization: ",
44794                 stringify!(root::RefPtr<root::imgRequestProxy>)
44795             )
44796         );
44797         assert_eq!(
44798             ::std::mem::align_of::<root::RefPtr<root::imgRequestProxy>>(),
44799             8usize,
44800             concat!(
44801                 "Alignment of template specialization: ",
44802                 stringify!(root::RefPtr<root::imgRequestProxy>)
44803             )
44804         );
44805     }
44806     #[test]
__bindgen_test_layout_UniquePtr_open0_ProxyBehaviour_DefaultDelete_open1_ProxyBehaviour_close1_close0_instantiation( )44807     fn __bindgen_test_layout_UniquePtr_open0_ProxyBehaviour_DefaultDelete_open1_ProxyBehaviour_close1_close0_instantiation(
44808 ) {
44809         assert_eq!(
44810             ::std::mem::size_of::<root::mozilla::UniquePtr<root::ProxyBehaviour>>(),
44811             8usize,
44812             concat!(
44813                 "Size of template specialization: ",
44814                 stringify!(root::mozilla::UniquePtr<root::ProxyBehaviour>)
44815             )
44816         );
44817         assert_eq!(
44818             ::std::mem::align_of::<root::mozilla::UniquePtr<root::ProxyBehaviour>>(),
44819             8usize,
44820             concat!(
44821                 "Alignment of template specialization: ",
44822                 stringify!(root::mozilla::UniquePtr<root::ProxyBehaviour>)
44823             )
44824         );
44825     }
44826     #[test]
__bindgen_test_layout_DefaultDelete_open0_ProxyBehaviour_close0_instantiation()44827     fn __bindgen_test_layout_DefaultDelete_open0_ProxyBehaviour_close0_instantiation() {
44828         assert_eq!(
44829             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
44830             1usize,
44831             concat!(
44832                 "Size of template specialization: ",
44833                 stringify!(root::mozilla::DefaultDelete)
44834             )
44835         );
44836         assert_eq!(
44837             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
44838             1usize,
44839             concat!(
44840                 "Alignment of template specialization: ",
44841                 stringify!(root::mozilla::DefaultDelete)
44842             )
44843         );
44844     }
44845     #[test]
__bindgen_test_layout_RefPtr_open0_imgRequestProxy_ImageURL_close0_instantiation()44846     fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_ImageURL_close0_instantiation() {
44847         assert_eq!(
44848             ::std::mem::size_of::<root::RefPtr<root::imgRequestProxy_ImageURL>>(),
44849             8usize,
44850             concat!(
44851                 "Size of template specialization: ",
44852                 stringify!(root::RefPtr<root::imgRequestProxy_ImageURL>)
44853             )
44854         );
44855         assert_eq!(
44856             ::std::mem::align_of::<root::RefPtr<root::imgRequestProxy_ImageURL>>(),
44857             8usize,
44858             concat!(
44859                 "Alignment of template specialization: ",
44860                 stringify!(root::RefPtr<root::imgRequestProxy_ImageURL>)
44861             )
44862         );
44863     }
44864     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsILoadGroup_close0_instantiation()44865     fn __bindgen_test_layout_nsCOMPtr_open0_nsILoadGroup_close0_instantiation() {
44866         assert_eq!(
44867             ::std::mem::size_of::<root::nsCOMPtr>(),
44868             8usize,
44869             concat!(
44870                 "Size of template specialization: ",
44871                 stringify!(root::nsCOMPtr)
44872             )
44873         );
44874         assert_eq!(
44875             ::std::mem::align_of::<root::nsCOMPtr>(),
44876             8usize,
44877             concat!(
44878                 "Alignment of template specialization: ",
44879                 stringify!(root::nsCOMPtr)
44880             )
44881         );
44882     }
44883     #[test]
__bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_2()44884     fn __bindgen_test_layout_RefPtr_open0_TabGroup_close0_instantiation_2() {
44885         assert_eq!(
44886             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::TabGroup>>(),
44887             8usize,
44888             concat!(
44889                 "Size of template specialization: ",
44890                 stringify!(root::RefPtr<root::mozilla::dom::TabGroup>)
44891             )
44892         );
44893         assert_eq!(
44894             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::TabGroup>>(),
44895             8usize,
44896             concat!(
44897                 "Alignment of template specialization: ",
44898                 stringify!(root::RefPtr<root::mozilla::dom::TabGroup>)
44899             )
44900         );
44901     }
44902     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation_1()44903     fn __bindgen_test_layout_nsCOMPtr_open0_nsIEventTarget_close0_instantiation_1() {
44904         assert_eq!(
44905             ::std::mem::size_of::<root::nsCOMPtr>(),
44906             8usize,
44907             concat!(
44908                 "Size of template specialization: ",
44909                 stringify!(root::nsCOMPtr)
44910             )
44911         );
44912         assert_eq!(
44913             ::std::mem::align_of::<root::nsCOMPtr>(),
44914             8usize,
44915             concat!(
44916                 "Alignment of template specialization: ",
44917                 stringify!(root::nsCOMPtr)
44918             )
44919         );
44920     }
44921     #[test]
__bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_1()44922     fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_1() {
44923         assert_eq!(
44924             ::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>(),
44925             8usize,
44926             concat!(
44927                 "Size of template specialization: ",
44928                 stringify!(root::nsTArray<::nsstring::nsStringRepr>)
44929             )
44930         );
44931         assert_eq!(
44932             ::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>(),
44933             8usize,
44934             concat!(
44935                 "Alignment of template specialization: ",
44936                 stringify!(root::nsTArray<::nsstring::nsStringRepr>)
44937             )
44938         );
44939     }
44940     #[test]
__bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_2()44941     fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_2() {
44942         assert_eq!(
44943             ::std::mem::size_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
44944             16usize,
44945             concat!(
44946                 "Size of template specialization: ",
44947                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
44948             )
44949         );
44950         assert_eq!(
44951             ::std::mem::align_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
44952             8usize,
44953             concat!(
44954                 "Alignment of template specialization: ",
44955                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
44956             )
44957         );
44958     }
44959     #[test]
__bindgen_test_layout_nsTArray_open0_ptr_CounterStyle_close0_instantiation()44960     fn __bindgen_test_layout_nsTArray_open0_ptr_CounterStyle_close0_instantiation() {
44961         assert_eq!(
44962             ::std::mem::size_of::<root::nsTArray<*mut root::mozilla::CounterStyle>>(),
44963             8usize,
44964             concat!(
44965                 "Size of template specialization: ",
44966                 stringify!(root::nsTArray<*mut root::mozilla::CounterStyle>)
44967             )
44968         );
44969         assert_eq!(
44970             ::std::mem::align_of::<root::nsTArray<*mut root::mozilla::CounterStyle>>(),
44971             8usize,
44972             concat!(
44973                 "Alignment of template specialization: ",
44974                 stringify!(root::nsTArray<*mut root::mozilla::CounterStyle>)
44975             )
44976         );
44977     }
44978     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_6()44979     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_6() {
44980         assert_eq!(
44981             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
44982             8usize,
44983             concat!(
44984                 "Size of template specialization: ",
44985                 stringify!(root::RefPtr<root::nsAtom>)
44986             )
44987         );
44988         assert_eq!(
44989             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
44990             8usize,
44991             concat!(
44992                 "Alignment of template specialization: ",
44993                 stringify!(root::RefPtr<root::nsAtom>)
44994             )
44995         );
44996     }
44997     #[test]
__bindgen_test_layout_nsTArray_open0_nsStyleGradientStop_close0_instantiation()44998     fn __bindgen_test_layout_nsTArray_open0_nsStyleGradientStop_close0_instantiation() {
44999         assert_eq!(
45000             ::std::mem::size_of::<root::nsTArray<root::nsStyleGradientStop>>(),
45001             8usize,
45002             concat!(
45003                 "Size of template specialization: ",
45004                 stringify!(root::nsTArray<root::nsStyleGradientStop>)
45005             )
45006         );
45007         assert_eq!(
45008             ::std::mem::align_of::<root::nsTArray<root::nsStyleGradientStop>>(),
45009             8usize,
45010             concat!(
45011                 "Alignment of template specialization: ",
45012                 stringify!(root::nsTArray<root::nsStyleGradientStop>)
45013             )
45014         );
45015     }
45016     #[test]
__bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation_1()45017     fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_close0_instantiation_1() {
45018         assert_eq!(
45019             ::std::mem::size_of::<root::RefPtr<root::imgRequestProxy>>(),
45020             8usize,
45021             concat!(
45022                 "Size of template specialization: ",
45023                 stringify!(root::RefPtr<root::imgRequestProxy>)
45024             )
45025         );
45026         assert_eq!(
45027             ::std::mem::align_of::<root::RefPtr<root::imgRequestProxy>>(),
45028             8usize,
45029             concat!(
45030                 "Alignment of template specialization: ",
45031                 stringify!(root::RefPtr<root::imgRequestProxy>)
45032             )
45033         );
45034     }
45035     #[test]
__bindgen_test_layout_RefPtr_open0_ImageValue_close0_instantiation()45036     fn __bindgen_test_layout_RefPtr_open0_ImageValue_close0_instantiation() {
45037         assert_eq!(
45038             ::std::mem::size_of::<root::RefPtr<root::mozilla::css::ImageValue>>(),
45039             8usize,
45040             concat!(
45041                 "Size of template specialization: ",
45042                 stringify!(root::RefPtr<root::mozilla::css::ImageValue>)
45043             )
45044         );
45045         assert_eq!(
45046             ::std::mem::align_of::<root::RefPtr<root::mozilla::css::ImageValue>>(),
45047             8usize,
45048             concat!(
45049                 "Alignment of template specialization: ",
45050                 stringify!(root::RefPtr<root::mozilla::css::ImageValue>)
45051             )
45052         );
45053     }
45054     #[test]
__bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation_1()45055     fn __bindgen_test_layout_RefPtr_open0_ImageTracker_close0_instantiation_1() {
45056         assert_eq!(
45057             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::ImageTracker>>(),
45058             8usize,
45059             concat!(
45060                 "Size of template specialization: ",
45061                 stringify!(root::RefPtr<root::mozilla::dom::ImageTracker>)
45062             )
45063         );
45064         assert_eq!(
45065             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::ImageTracker>>(),
45066             8usize,
45067             concat!(
45068                 "Alignment of template specialization: ",
45069                 stringify!(root::RefPtr<root::mozilla::dom::ImageTracker>)
45070             )
45071         );
45072     }
45073     #[test]
__bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_1()45074     fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_1() {
45075         assert_eq!(
45076             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DocGroup>>(),
45077             8usize,
45078             concat!(
45079                 "Size of template specialization: ",
45080                 stringify!(root::RefPtr<root::mozilla::dom::DocGroup>)
45081             )
45082         );
45083         assert_eq!(
45084             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::DocGroup>>(),
45085             8usize,
45086             concat!(
45087                 "Alignment of template specialization: ",
45088                 stringify!(root::RefPtr<root::mozilla::dom::DocGroup>)
45089             )
45090         );
45091     }
45092     #[test]
__bindgen_test_layout_nsCOMArray_open0_imgIContainer_close0_instantiation()45093     fn __bindgen_test_layout_nsCOMArray_open0_imgIContainer_close0_instantiation() {
45094         assert_eq!(
45095             ::std::mem::size_of::<root::nsCOMArray>(),
45096             8usize,
45097             concat!(
45098                 "Size of template specialization: ",
45099                 stringify!(root::nsCOMArray)
45100             )
45101         );
45102         assert_eq!(
45103             ::std::mem::align_of::<root::nsCOMArray>(),
45104             8usize,
45105             concat!(
45106                 "Alignment of template specialization: ",
45107                 stringify!(root::nsCOMArray)
45108             )
45109         );
45110     }
45111     #[test]
__bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation( )45112     fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation(
45113 ) {
45114         assert_eq!(
45115             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides>>(),
45116             8usize,
45117             concat!(
45118                 "Size of template specialization: ",
45119                 stringify!(root::mozilla::UniquePtr<root::nsStyleSides>)
45120             )
45121         );
45122         assert_eq!(
45123             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleSides>>(),
45124             8usize,
45125             concat!(
45126                 "Alignment of template specialization: ",
45127                 stringify!(root::mozilla::UniquePtr<root::nsStyleSides>)
45128             )
45129         );
45130     }
45131     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation()45132     fn __bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation() {
45133         assert_eq!(
45134             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45135             1usize,
45136             concat!(
45137                 "Size of template specialization: ",
45138                 stringify!(root::mozilla::DefaultDelete)
45139             )
45140         );
45141         assert_eq!(
45142             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45143             1usize,
45144             concat!(
45145                 "Alignment of template specialization: ",
45146                 stringify!(root::mozilla::DefaultDelete)
45147             )
45148         );
45149     }
45150     #[test]
__bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_1( )45151     fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_1(
45152 ) {
45153         assert_eq!(
45154             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides>>(),
45155             8usize,
45156             concat!(
45157                 "Size of template specialization: ",
45158                 stringify!(root::mozilla::UniquePtr<root::nsStyleSides>)
45159             )
45160         );
45161         assert_eq!(
45162             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleSides>>(),
45163             8usize,
45164             concat!(
45165                 "Alignment of template specialization: ",
45166                 stringify!(root::mozilla::UniquePtr<root::nsStyleSides>)
45167             )
45168         );
45169     }
45170     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation_1()45171     fn __bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation_1() {
45172         assert_eq!(
45173             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45174             1usize,
45175             concat!(
45176                 "Size of template specialization: ",
45177                 stringify!(root::mozilla::DefaultDelete)
45178             )
45179         );
45180         assert_eq!(
45181             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45182             1usize,
45183             concat!(
45184                 "Alignment of template specialization: ",
45185                 stringify!(root::mozilla::DefaultDelete)
45186             )
45187         );
45188     }
45189     #[test]
__bindgen_test_layout_UniquePtr_open0_CachedBorderImageData_DefaultDelete_open1_CachedBorderImageData_close1_close0_instantiation( )45190     fn __bindgen_test_layout_UniquePtr_open0_CachedBorderImageData_DefaultDelete_open1_CachedBorderImageData_close1_close0_instantiation(
45191 ) {
45192         assert_eq!(
45193             ::std::mem::size_of::<root::mozilla::UniquePtr<root::CachedBorderImageData>>(),
45194             8usize,
45195             concat!(
45196                 "Size of template specialization: ",
45197                 stringify!(root::mozilla::UniquePtr<root::CachedBorderImageData>)
45198             )
45199         );
45200         assert_eq!(
45201             ::std::mem::align_of::<root::mozilla::UniquePtr<root::CachedBorderImageData>>(),
45202             8usize,
45203             concat!(
45204                 "Alignment of template specialization: ",
45205                 stringify!(root::mozilla::UniquePtr<root::CachedBorderImageData>)
45206             )
45207         );
45208     }
45209     #[test]
__bindgen_test_layout_DefaultDelete_open0_CachedBorderImageData_close0_instantiation()45210     fn __bindgen_test_layout_DefaultDelete_open0_CachedBorderImageData_close0_instantiation() {
45211         assert_eq!(
45212             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45213             1usize,
45214             concat!(
45215                 "Size of template specialization: ",
45216                 stringify!(root::mozilla::DefaultDelete)
45217             )
45218         );
45219         assert_eq!(
45220             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45221             1usize,
45222             concat!(
45223                 "Alignment of template specialization: ",
45224                 stringify!(root::mozilla::DefaultDelete)
45225             )
45226         );
45227     }
45228     #[test]
__bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_2( )45229     fn __bindgen_test_layout_UniquePtr_open0_nsStyleSides_DefaultDelete_open1_nsStyleSides_close1_close0_instantiation_2(
45230 ) {
45231         assert_eq!(
45232             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides>>(),
45233             8usize,
45234             concat!(
45235                 "Size of template specialization: ",
45236                 stringify!(root::mozilla::UniquePtr<root::nsStyleSides>)
45237             )
45238         );
45239         assert_eq!(
45240             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleSides>>(),
45241             8usize,
45242             concat!(
45243                 "Alignment of template specialization: ",
45244                 stringify!(root::mozilla::UniquePtr<root::nsStyleSides>)
45245             )
45246         );
45247     }
45248     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation_2()45249     fn __bindgen_test_layout_DefaultDelete_open0_nsStyleSides_close0_instantiation_2() {
45250         assert_eq!(
45251             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45252             1usize,
45253             concat!(
45254                 "Size of template specialization: ",
45255                 stringify!(root::mozilla::DefaultDelete)
45256             )
45257         );
45258         assert_eq!(
45259             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45260             1usize,
45261             concat!(
45262                 "Alignment of template specialization: ",
45263                 stringify!(root::mozilla::DefaultDelete)
45264             )
45265         );
45266     }
45267     #[test]
__bindgen_test_layout_nsStyleAutoArray_open0_nsStyleImageLayers_Layer_close0_instantiation()45268     fn __bindgen_test_layout_nsStyleAutoArray_open0_nsStyleImageLayers_Layer_close0_instantiation()
45269     {
45270         assert_eq!(
45271             ::std::mem::size_of::<root::nsStyleAutoArray<root::nsStyleImageLayers_Layer>>(),
45272             104usize,
45273             concat!(
45274                 "Size of template specialization: ",
45275                 stringify!(root::nsStyleAutoArray<root::nsStyleImageLayers_Layer>)
45276             )
45277         );
45278         assert_eq!(
45279             ::std::mem::align_of::<root::nsStyleAutoArray<root::nsStyleImageLayers_Layer>>(),
45280             8usize,
45281             concat!(
45282                 "Alignment of template specialization: ",
45283                 stringify!(root::nsStyleAutoArray<root::nsStyleImageLayers_Layer>)
45284             )
45285         );
45286     }
45287     #[test]
__bindgen_test_layout_nsTArray_open0_pair_open1_nsString_nsString_close1_close0_instantiation( )45288     fn __bindgen_test_layout_nsTArray_open0_pair_open1_nsString_nsString_close1_close0_instantiation(
45289 ) {
45290         assert_eq!(
45291             ::std::mem::size_of::<
45292                 root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>,
45293             >(),
45294             8usize,
45295             concat!(
45296                 "Size of template specialization: ",
45297                 stringify!(root::nsTArray<
45298                     root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>,
45299                 >)
45300             )
45301         );
45302         assert_eq!(
45303             ::std::mem::align_of::<
45304                 root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>,
45305             >(),
45306             8usize,
45307             concat!(
45308                 "Alignment of template specialization: ",
45309                 stringify!(root::nsTArray<
45310                     root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>,
45311                 >)
45312             )
45313         );
45314     }
45315     #[test]
__bindgen_test_layout_pair_open0_nsString_nsString_close0_instantiation()45316     fn __bindgen_test_layout_pair_open0_nsString_nsString_close0_instantiation() {
45317         assert_eq!(
45318             ::std::mem::size_of::<
45319                 root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>,
45320             >(),
45321             32usize,
45322             concat!(
45323                 "Size of template specialization: ",
45324                 stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > )
45325             )
45326         );
45327         assert_eq!(
45328             ::std::mem::align_of::<
45329                 root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>,
45330             >(),
45331             8usize,
45332             concat!(
45333                 "Alignment of template specialization: ",
45334                 stringify ! ( root :: std :: pair < ::nsstring::nsStringRepr , ::nsstring::nsStringRepr > )
45335             )
45336         );
45337     }
45338     #[test]
__bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation()45339     fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation() {
45340         assert_eq!(
45341             ::std::mem::size_of::<root::RefPtr<root::nsStyleImageRequest>>(),
45342             8usize,
45343             concat!(
45344                 "Size of template specialization: ",
45345                 stringify!(root::RefPtr<root::nsStyleImageRequest>)
45346             )
45347         );
45348         assert_eq!(
45349             ::std::mem::align_of::<root::RefPtr<root::nsStyleImageRequest>>(),
45350             8usize,
45351             concat!(
45352                 "Alignment of template specialization: ",
45353                 stringify!(root::RefPtr<root::nsStyleImageRequest>)
45354             )
45355         );
45356     }
45357     #[test]
__bindgen_test_layout_RefPtr_open0_nsStyleQuoteValues_close0_instantiation()45358     fn __bindgen_test_layout_RefPtr_open0_nsStyleQuoteValues_close0_instantiation() {
45359         assert_eq!(
45360             ::std::mem::size_of::<root::RefPtr<root::nsStyleQuoteValues>>(),
45361             8usize,
45362             concat!(
45363                 "Size of template specialization: ",
45364                 stringify!(root::RefPtr<root::nsStyleQuoteValues>)
45365             )
45366         );
45367         assert_eq!(
45368             ::std::mem::align_of::<root::RefPtr<root::nsStyleQuoteValues>>(),
45369             8usize,
45370             concat!(
45371                 "Alignment of template specialization: ",
45372                 stringify!(root::RefPtr<root::nsStyleQuoteValues>)
45373             )
45374         );
45375     }
45376     #[test]
__bindgen_test_layout_nsTArray_open0_nsTArray_open1_nsString_close1_close0_instantiation()45377     fn __bindgen_test_layout_nsTArray_open0_nsTArray_open1_nsString_close1_close0_instantiation() {
45378         assert_eq!(
45379             ::std::mem::size_of::<root::nsTArray<root::nsTArray<::nsstring::nsStringRepr>>>(),
45380             8usize,
45381             concat!(
45382                 "Size of template specialization: ",
45383                 stringify!(root::nsTArray<root::nsTArray<::nsstring::nsStringRepr>>)
45384             )
45385         );
45386         assert_eq!(
45387             ::std::mem::align_of::<root::nsTArray<root::nsTArray<::nsstring::nsStringRepr>>>(),
45388             8usize,
45389             concat!(
45390                 "Alignment of template specialization: ",
45391                 stringify!(root::nsTArray<root::nsTArray<::nsstring::nsStringRepr>>)
45392             )
45393         );
45394     }
45395     #[test]
__bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_2()45396     fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_2() {
45397         assert_eq!(
45398             ::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>(),
45399             8usize,
45400             concat!(
45401                 "Size of template specialization: ",
45402                 stringify!(root::nsTArray<::nsstring::nsStringRepr>)
45403             )
45404         );
45405         assert_eq!(
45406             ::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>(),
45407             8usize,
45408             concat!(
45409                 "Alignment of template specialization: ",
45410                 stringify!(root::nsTArray<::nsstring::nsStringRepr>)
45411             )
45412         );
45413     }
45414     #[test]
__bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation()45415     fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation() {
45416         assert_eq!(
45417             ::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>(),
45418             8usize,
45419             concat!(
45420                 "Size of template specialization: ",
45421                 stringify!(root::nsTArray<root::nsStyleCoord>)
45422             )
45423         );
45424         assert_eq!(
45425             ::std::mem::align_of::<root::nsTArray<root::nsStyleCoord>>(),
45426             8usize,
45427             concat!(
45428                 "Alignment of template specialization: ",
45429                 stringify!(root::nsTArray<root::nsStyleCoord>)
45430             )
45431         );
45432     }
45433     #[test]
__bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_1()45434     fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_1() {
45435         assert_eq!(
45436             ::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>(),
45437             8usize,
45438             concat!(
45439                 "Size of template specialization: ",
45440                 stringify!(root::nsTArray<root::nsStyleCoord>)
45441             )
45442         );
45443         assert_eq!(
45444             ::std::mem::align_of::<root::nsTArray<root::nsStyleCoord>>(),
45445             8usize,
45446             concat!(
45447                 "Alignment of template specialization: ",
45448                 stringify!(root::nsTArray<root::nsStyleCoord>)
45449             )
45450         );
45451     }
45452     #[test]
__bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_3()45453     fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_3() {
45454         assert_eq!(
45455             ::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>(),
45456             8usize,
45457             concat!(
45458                 "Size of template specialization: ",
45459                 stringify!(root::nsTArray<::nsstring::nsStringRepr>)
45460             )
45461         );
45462         assert_eq!(
45463             ::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>(),
45464             8usize,
45465             concat!(
45466                 "Alignment of template specialization: ",
45467                 stringify!(root::nsTArray<::nsstring::nsStringRepr>)
45468             )
45469         );
45470     }
45471     #[test]
__bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_4()45472     fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_4() {
45473         assert_eq!(
45474             ::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>(),
45475             8usize,
45476             concat!(
45477                 "Size of template specialization: ",
45478                 stringify!(root::nsTArray<::nsstring::nsStringRepr>)
45479             )
45480         );
45481         assert_eq!(
45482             ::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>(),
45483             8usize,
45484             concat!(
45485                 "Alignment of template specialization: ",
45486                 stringify!(root::nsTArray<::nsstring::nsStringRepr>)
45487             )
45488         );
45489     }
45490     #[test]
__bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation( )45491     fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation(
45492 ) {
45493         assert_eq!(
45494             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleGridTemplate>>(),
45495             8usize,
45496             concat!(
45497                 "Size of template specialization: ",
45498                 stringify!(root::mozilla::UniquePtr<root::nsStyleGridTemplate>)
45499             )
45500         );
45501         assert_eq!(
45502             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleGridTemplate>>(),
45503             8usize,
45504             concat!(
45505                 "Alignment of template specialization: ",
45506                 stringify!(root::mozilla::UniquePtr<root::nsStyleGridTemplate>)
45507             )
45508         );
45509     }
45510     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation()45511     fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation() {
45512         assert_eq!(
45513             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45514             1usize,
45515             concat!(
45516                 "Size of template specialization: ",
45517                 stringify!(root::mozilla::DefaultDelete)
45518             )
45519         );
45520         assert_eq!(
45521             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45522             1usize,
45523             concat!(
45524                 "Alignment of template specialization: ",
45525                 stringify!(root::mozilla::DefaultDelete)
45526             )
45527         );
45528     }
45529     #[test]
__bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_1( )45530     fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_1(
45531 ) {
45532         assert_eq!(
45533             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleGridTemplate>>(),
45534             8usize,
45535             concat!(
45536                 "Size of template specialization: ",
45537                 stringify!(root::mozilla::UniquePtr<root::nsStyleGridTemplate>)
45538             )
45539         );
45540         assert_eq!(
45541             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleGridTemplate>>(),
45542             8usize,
45543             concat!(
45544                 "Alignment of template specialization: ",
45545                 stringify!(root::mozilla::UniquePtr<root::nsStyleGridTemplate>)
45546             )
45547         );
45548     }
45549     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_1()45550     fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_1() {
45551         assert_eq!(
45552             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45553             1usize,
45554             concat!(
45555                 "Size of template specialization: ",
45556                 stringify!(root::mozilla::DefaultDelete)
45557             )
45558         );
45559         assert_eq!(
45560             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45561             1usize,
45562             concat!(
45563                 "Alignment of template specialization: ",
45564                 stringify!(root::mozilla::DefaultDelete)
45565             )
45566         );
45567     }
45568     #[test]
__bindgen_test_layout_RefPtr_open0_GridTemplateAreasValue_close0_instantiation()45569     fn __bindgen_test_layout_RefPtr_open0_GridTemplateAreasValue_close0_instantiation() {
45570         assert_eq!(
45571             ::std::mem::size_of::<root::RefPtr<root::mozilla::css::GridTemplateAreasValue>>(),
45572             8usize,
45573             concat!(
45574                 "Size of template specialization: ",
45575                 stringify!(root::RefPtr<root::mozilla::css::GridTemplateAreasValue>)
45576             )
45577         );
45578         assert_eq!(
45579             ::std::mem::align_of::<root::RefPtr<root::mozilla::css::GridTemplateAreasValue>>(),
45580             8usize,
45581             concat!(
45582                 "Alignment of template specialization: ",
45583                 stringify!(root::RefPtr<root::mozilla::css::GridTemplateAreasValue>)
45584             )
45585         );
45586     }
45587     #[test]
__bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation()45588     fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation() {
45589         assert_eq!(
45590             ::std::mem::size_of::<root::RefPtr<root::nsCSSShadowArray>>(),
45591             8usize,
45592             concat!(
45593                 "Size of template specialization: ",
45594                 stringify!(root::RefPtr<root::nsCSSShadowArray>)
45595             )
45596         );
45597         assert_eq!(
45598             ::std::mem::align_of::<root::RefPtr<root::nsCSSShadowArray>>(),
45599             8usize,
45600             concat!(
45601                 "Alignment of template specialization: ",
45602                 stringify!(root::RefPtr<root::nsCSSShadowArray>)
45603             )
45604         );
45605     }
45606     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_7()45607     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_7() {
45608         assert_eq!(
45609             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
45610             8usize,
45611             concat!(
45612                 "Size of template specialization: ",
45613                 stringify!(root::RefPtr<root::nsAtom>)
45614             )
45615         );
45616         assert_eq!(
45617             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
45618             8usize,
45619             concat!(
45620                 "Alignment of template specialization: ",
45621                 stringify!(root::RefPtr<root::nsAtom>)
45622             )
45623         );
45624     }
45625     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_8()45626     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_8() {
45627         assert_eq!(
45628             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
45629             8usize,
45630             concat!(
45631                 "Size of template specialization: ",
45632                 stringify!(root::RefPtr<root::nsAtom>)
45633             )
45634         );
45635         assert_eq!(
45636             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
45637             8usize,
45638             concat!(
45639                 "Alignment of template specialization: ",
45640                 stringify!(root::RefPtr<root::nsAtom>)
45641             )
45642         );
45643     }
45644     #[test]
__bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_2()45645     fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_2() {
45646         assert_eq!(
45647             ::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>(),
45648             8usize,
45649             concat!(
45650                 "Size of template specialization: ",
45651                 stringify!(root::nsTArray<root::nsStyleCoord>)
45652             )
45653         );
45654         assert_eq!(
45655             ::std::mem::align_of::<root::nsTArray<root::nsStyleCoord>>(),
45656             8usize,
45657             concat!(
45658                 "Alignment of template specialization: ",
45659                 stringify!(root::nsTArray<root::nsStyleCoord>)
45660             )
45661         );
45662     }
45663     #[test]
__bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation( )45664     fn __bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation(
45665 ) {
45666         assert_eq!(
45667             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleImage>>(),
45668             8usize,
45669             concat!(
45670                 "Size of template specialization: ",
45671                 stringify!(root::mozilla::UniquePtr<root::nsStyleImage>)
45672             )
45673         );
45674         assert_eq!(
45675             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleImage>>(),
45676             8usize,
45677             concat!(
45678                 "Alignment of template specialization: ",
45679                 stringify!(root::mozilla::UniquePtr<root::nsStyleImage>)
45680             )
45681         );
45682     }
45683     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation()45684     fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation() {
45685         assert_eq!(
45686             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45687             1usize,
45688             concat!(
45689                 "Size of template specialization: ",
45690                 stringify!(root::mozilla::DefaultDelete)
45691             )
45692         );
45693         assert_eq!(
45694             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45695             1usize,
45696             concat!(
45697                 "Alignment of template specialization: ",
45698                 stringify!(root::mozilla::DefaultDelete)
45699             )
45700         );
45701     }
45702     #[test]
__bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_1( )45703     fn __bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_1(
45704 ) {
45705         assert_eq!(
45706             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleImage>>(),
45707             8usize,
45708             concat!(
45709                 "Size of template specialization: ",
45710                 stringify!(root::mozilla::UniquePtr<root::nsStyleImage>)
45711             )
45712         );
45713         assert_eq!(
45714             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleImage>>(),
45715             8usize,
45716             concat!(
45717                 "Alignment of template specialization: ",
45718                 stringify!(root::mozilla::UniquePtr<root::nsStyleImage>)
45719             )
45720         );
45721     }
45722     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_1()45723     fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_1() {
45724         assert_eq!(
45725             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45726             1usize,
45727             concat!(
45728                 "Size of template specialization: ",
45729                 stringify!(root::mozilla::DefaultDelete)
45730             )
45731         );
45732         assert_eq!(
45733             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45734             1usize,
45735             concat!(
45736                 "Alignment of template specialization: ",
45737                 stringify!(root::mozilla::DefaultDelete)
45738             )
45739         );
45740     }
45741     #[test]
__bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation( )45742     fn __bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation(
45743 ) {
45744         assert_eq!(
45745             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>>(),
45746             8usize,
45747             concat!(
45748                 "Size of template specialization: ",
45749                 stringify!(root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>)
45750             )
45751         );
45752         assert_eq!(
45753             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>>(),
45754             8usize,
45755             concat!(
45756                 "Alignment of template specialization: ",
45757                 stringify!(root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>)
45758             )
45759         );
45760     }
45761     #[test]
__bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation()45762     fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation() {
45763         assert_eq!(
45764             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45765             1usize,
45766             concat!(
45767                 "Size of template specialization: ",
45768                 stringify!(root::mozilla::DefaultDelete)
45769             )
45770         );
45771         assert_eq!(
45772             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45773             1usize,
45774             concat!(
45775                 "Alignment of template specialization: ",
45776                 stringify!(root::mozilla::DefaultDelete)
45777             )
45778         );
45779     }
45780     #[test]
__bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_1( )45781     fn __bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_1(
45782 ) {
45783         assert_eq!(
45784             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>>(),
45785             8usize,
45786             concat!(
45787                 "Size of template specialization: ",
45788                 stringify!(root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>)
45789             )
45790         );
45791         assert_eq!(
45792             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>>(),
45793             8usize,
45794             concat!(
45795                 "Alignment of template specialization: ",
45796                 stringify!(root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>)
45797             )
45798         );
45799     }
45800     #[test]
__bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_1()45801     fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_1() {
45802         assert_eq!(
45803             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45804             1usize,
45805             concat!(
45806                 "Size of template specialization: ",
45807                 stringify!(root::mozilla::DefaultDelete)
45808             )
45809         );
45810         assert_eq!(
45811             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45812             1usize,
45813             concat!(
45814                 "Alignment of template specialization: ",
45815                 stringify!(root::mozilla::DefaultDelete)
45816             )
45817         );
45818     }
45819     #[test]
__bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_2( )45820     fn __bindgen_test_layout_UniquePtr_open0_StyleBasicShape_DefaultDelete_open1_StyleBasicShape_close1_close0_instantiation_2(
45821 ) {
45822         assert_eq!(
45823             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>>(),
45824             8usize,
45825             concat!(
45826                 "Size of template specialization: ",
45827                 stringify!(root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>)
45828             )
45829         );
45830         assert_eq!(
45831             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>>(),
45832             8usize,
45833             concat!(
45834                 "Alignment of template specialization: ",
45835                 stringify!(root::mozilla::UniquePtr<root::mozilla::StyleBasicShape>)
45836             )
45837         );
45838     }
45839     #[test]
__bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_2()45840     fn __bindgen_test_layout_DefaultDelete_open0_StyleBasicShape_close0_instantiation_2() {
45841         assert_eq!(
45842             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45843             1usize,
45844             concat!(
45845                 "Size of template specialization: ",
45846                 stringify!(root::mozilla::DefaultDelete)
45847             )
45848         );
45849         assert_eq!(
45850             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45851             1usize,
45852             concat!(
45853                 "Alignment of template specialization: ",
45854                 stringify!(root::mozilla::DefaultDelete)
45855             )
45856         );
45857     }
45858     #[test]
__bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_2( )45859     fn __bindgen_test_layout_UniquePtr_open0_nsStyleImage_DefaultDelete_open1_nsStyleImage_close1_close0_instantiation_2(
45860 ) {
45861         assert_eq!(
45862             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleImage>>(),
45863             8usize,
45864             concat!(
45865                 "Size of template specialization: ",
45866                 stringify!(root::mozilla::UniquePtr<root::nsStyleImage>)
45867             )
45868         );
45869         assert_eq!(
45870             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleImage>>(),
45871             8usize,
45872             concat!(
45873                 "Alignment of template specialization: ",
45874                 stringify!(root::mozilla::UniquePtr<root::nsStyleImage>)
45875             )
45876         );
45877     }
45878     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_2()45879     fn __bindgen_test_layout_DefaultDelete_open0_nsStyleImage_close0_instantiation_2() {
45880         assert_eq!(
45881             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
45882             1usize,
45883             concat!(
45884                 "Size of template specialization: ",
45885                 stringify!(root::mozilla::DefaultDelete)
45886             )
45887         );
45888         assert_eq!(
45889             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
45890             1usize,
45891             concat!(
45892                 "Alignment of template specialization: ",
45893                 stringify!(root::mozilla::DefaultDelete)
45894             )
45895         );
45896     }
45897     #[test]
__bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation()45898     fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation() {
45899         assert_eq!(
45900             ::std::mem::size_of::<root::RefPtr<root::mozilla::css::URLValue>>(),
45901             8usize,
45902             concat!(
45903                 "Size of template specialization: ",
45904                 stringify!(root::RefPtr<root::mozilla::css::URLValue>)
45905             )
45906         );
45907         assert_eq!(
45908             ::std::mem::align_of::<root::RefPtr<root::mozilla::css::URLValue>>(),
45909             8usize,
45910             concat!(
45911                 "Alignment of template specialization: ",
45912                 stringify!(root::RefPtr<root::mozilla::css::URLValue>)
45913             )
45914         );
45915     }
45916     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_1()45917     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_1() {
45918         assert_eq!(
45919             ::std::mem::size_of::<root::nsTArray<root::RefPtr<root::nsAtom>>>(),
45920             8usize,
45921             concat!(
45922                 "Size of template specialization: ",
45923                 stringify!(root::nsTArray<root::RefPtr<root::nsAtom>>)
45924             )
45925         );
45926         assert_eq!(
45927             ::std::mem::align_of::<root::nsTArray<root::RefPtr<root::nsAtom>>>(),
45928             8usize,
45929             concat!(
45930                 "Alignment of template specialization: ",
45931                 stringify!(root::nsTArray<root::RefPtr<root::nsAtom>>)
45932             )
45933         );
45934     }
45935     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_9()45936     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_9() {
45937         assert_eq!(
45938             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
45939             8usize,
45940             concat!(
45941                 "Size of template specialization: ",
45942                 stringify!(root::RefPtr<root::nsAtom>)
45943             )
45944         );
45945         assert_eq!(
45946             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
45947             8usize,
45948             concat!(
45949                 "Alignment of template specialization: ",
45950                 stringify!(root::RefPtr<root::nsAtom>)
45951             )
45952         );
45953     }
45954     #[test]
__bindgen_test_layout_nsTArray_open0_Position_close0_instantiation()45955     fn __bindgen_test_layout_nsTArray_open0_Position_close0_instantiation() {
45956         assert_eq!(
45957             ::std::mem::size_of::<root::nsTArray<root::mozilla::Position>>(),
45958             8usize,
45959             concat!(
45960                 "Size of template specialization: ",
45961                 stringify!(root::nsTArray<root::mozilla::Position>)
45962             )
45963         );
45964         assert_eq!(
45965             ::std::mem::align_of::<root::nsTArray<root::mozilla::Position>>(),
45966             8usize,
45967             concat!(
45968                 "Alignment of template specialization: ",
45969                 stringify!(root::nsTArray<root::mozilla::Position>)
45970             )
45971         );
45972     }
45973     #[test]
__bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation()45974     fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation() {
45975         assert_eq!(
45976             ::std::mem::size_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
45977             8usize,
45978             concat!(
45979                 "Size of template specialization: ",
45980                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
45981             )
45982         );
45983         assert_eq!(
45984             ::std::mem::align_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
45985             8usize,
45986             concat!(
45987                 "Alignment of template specialization: ",
45988                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
45989             )
45990         );
45991     }
45992     #[test]
__bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_1()45993     fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_1() {
45994         assert_eq!(
45995             ::std::mem::size_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
45996             8usize,
45997             concat!(
45998                 "Size of template specialization: ",
45999                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
46000             )
46001         );
46002         assert_eq!(
46003             ::std::mem::align_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
46004             8usize,
46005             concat!(
46006                 "Alignment of template specialization: ",
46007                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
46008             )
46009         );
46010     }
46011     #[test]
__bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_2()46012     fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_2() {
46013         assert_eq!(
46014             ::std::mem::size_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
46015             8usize,
46016             concat!(
46017                 "Size of template specialization: ",
46018                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
46019             )
46020         );
46021         assert_eq!(
46022             ::std::mem::align_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
46023             8usize,
46024             concat!(
46025                 "Alignment of template specialization: ",
46026                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
46027             )
46028         );
46029     }
46030     #[test]
__bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_3()46031     fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_3() {
46032         assert_eq!(
46033             ::std::mem::size_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
46034             8usize,
46035             concat!(
46036                 "Size of template specialization: ",
46037                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
46038             )
46039         );
46040         assert_eq!(
46041             ::std::mem::align_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
46042             8usize,
46043             concat!(
46044                 "Alignment of template specialization: ",
46045                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
46046             )
46047         );
46048     }
46049     #[test]
__bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_4()46050     fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_4() {
46051         assert_eq!(
46052             ::std::mem::size_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
46053             8usize,
46054             concat!(
46055                 "Size of template specialization: ",
46056                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
46057             )
46058         );
46059         assert_eq!(
46060             ::std::mem::align_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
46061             8usize,
46062             concat!(
46063                 "Alignment of template specialization: ",
46064                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
46065             )
46066         );
46067     }
46068     #[test]
__bindgen_test_layout_nsStyleAutoArray_open0_StyleTransition_close0_instantiation()46069     fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleTransition_close0_instantiation() {
46070         assert_eq!(
46071             ::std::mem::size_of::<root::nsStyleAutoArray<root::mozilla::StyleTransition>>(),
46072             48usize,
46073             concat!(
46074                 "Size of template specialization: ",
46075                 stringify!(root::nsStyleAutoArray<root::mozilla::StyleTransition>)
46076             )
46077         );
46078         assert_eq!(
46079             ::std::mem::align_of::<root::nsStyleAutoArray<root::mozilla::StyleTransition>>(),
46080             8usize,
46081             concat!(
46082                 "Alignment of template specialization: ",
46083                 stringify!(root::nsStyleAutoArray<root::mozilla::StyleTransition>)
46084             )
46085         );
46086     }
46087     #[test]
__bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation_1()46088     fn __bindgen_test_layout_nsStyleAutoArray_open0_StyleAnimation_close0_instantiation_1() {
46089         assert_eq!(
46090             ::std::mem::size_of::<root::nsStyleAutoArray<root::mozilla::StyleAnimation>>(),
46091             56usize,
46092             concat!(
46093                 "Size of template specialization: ",
46094                 stringify!(root::nsStyleAutoArray<root::mozilla::StyleAnimation>)
46095             )
46096         );
46097         assert_eq!(
46098             ::std::mem::align_of::<root::nsStyleAutoArray<root::mozilla::StyleAnimation>>(),
46099             8usize,
46100             concat!(
46101                 "Alignment of template specialization: ",
46102                 stringify!(root::nsStyleAutoArray<root::mozilla::StyleAnimation>)
46103             )
46104         );
46105     }
46106     #[test]
__bindgen_test_layout_nsTArray_open0_nsStyleContentData_close0_instantiation()46107     fn __bindgen_test_layout_nsTArray_open0_nsStyleContentData_close0_instantiation() {
46108         assert_eq!(
46109             ::std::mem::size_of::<root::nsTArray<root::nsStyleContentData>>(),
46110             8usize,
46111             concat!(
46112                 "Size of template specialization: ",
46113                 stringify!(root::nsTArray<root::nsStyleContentData>)
46114             )
46115         );
46116         assert_eq!(
46117             ::std::mem::align_of::<root::nsTArray<root::nsStyleContentData>>(),
46118             8usize,
46119             concat!(
46120                 "Alignment of template specialization: ",
46121                 stringify!(root::nsTArray<root::nsStyleContentData>)
46122             )
46123         );
46124     }
46125     #[test]
__bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation()46126     fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation() {
46127         assert_eq!(
46128             ::std::mem::size_of::<root::nsTArray<root::nsStyleCounterData>>(),
46129             8usize,
46130             concat!(
46131                 "Size of template specialization: ",
46132                 stringify!(root::nsTArray<root::nsStyleCounterData>)
46133             )
46134         );
46135         assert_eq!(
46136             ::std::mem::align_of::<root::nsTArray<root::nsStyleCounterData>>(),
46137             8usize,
46138             concat!(
46139                 "Alignment of template specialization: ",
46140                 stringify!(root::nsTArray<root::nsStyleCounterData>)
46141             )
46142         );
46143     }
46144     #[test]
__bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation_1()46145     fn __bindgen_test_layout_nsTArray_open0_nsStyleCounterData_close0_instantiation_1() {
46146         assert_eq!(
46147             ::std::mem::size_of::<root::nsTArray<root::nsStyleCounterData>>(),
46148             8usize,
46149             concat!(
46150                 "Size of template specialization: ",
46151                 stringify!(root::nsTArray<root::nsStyleCounterData>)
46152             )
46153         );
46154         assert_eq!(
46155             ::std::mem::align_of::<root::nsTArray<root::nsStyleCounterData>>(),
46156             8usize,
46157             concat!(
46158                 "Alignment of template specialization: ",
46159                 stringify!(root::nsTArray<root::nsStyleCounterData>)
46160             )
46161         );
46162     }
46163     #[test]
__bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_5()46164     fn __bindgen_test_layout_RefPtr_open0_nsCSSValueSharedList_close0_instantiation_5() {
46165         assert_eq!(
46166             ::std::mem::size_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
46167             8usize,
46168             concat!(
46169                 "Size of template specialization: ",
46170                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
46171             )
46172         );
46173         assert_eq!(
46174             ::std::mem::align_of::<root::RefPtr<root::nsCSSValueSharedList>>(),
46175             8usize,
46176             concat!(
46177                 "Alignment of template specialization: ",
46178                 stringify!(root::RefPtr<root::nsCSSValueSharedList>)
46179             )
46180         );
46181     }
46182     #[test]
__bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation_1()46183     fn __bindgen_test_layout_RefPtr_open0_nsStyleImageRequest_close0_instantiation_1() {
46184         assert_eq!(
46185             ::std::mem::size_of::<root::RefPtr<root::nsStyleImageRequest>>(),
46186             8usize,
46187             concat!(
46188                 "Size of template specialization: ",
46189                 stringify!(root::RefPtr<root::nsStyleImageRequest>)
46190             )
46191         );
46192         assert_eq!(
46193             ::std::mem::align_of::<root::RefPtr<root::nsStyleImageRequest>>(),
46194             8usize,
46195             concat!(
46196                 "Alignment of template specialization: ",
46197                 stringify!(root::RefPtr<root::nsStyleImageRequest>)
46198             )
46199         );
46200     }
46201     #[test]
__bindgen_test_layout_nsTArray_open0_nsCursorImage_close0_instantiation()46202     fn __bindgen_test_layout_nsTArray_open0_nsCursorImage_close0_instantiation() {
46203         assert_eq!(
46204             ::std::mem::size_of::<root::nsTArray<root::nsCursorImage>>(),
46205             8usize,
46206             concat!(
46207                 "Size of template specialization: ",
46208                 stringify!(root::nsTArray<root::nsCursorImage>)
46209             )
46210         );
46211         assert_eq!(
46212             ::std::mem::align_of::<root::nsTArray<root::nsCursorImage>>(),
46213             8usize,
46214             concat!(
46215                 "Alignment of template specialization: ",
46216                 stringify!(root::nsTArray<root::nsCursorImage>)
46217             )
46218         );
46219     }
46220     #[test]
__bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_1()46221     fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_1() {
46222         assert_eq!(
46223             ::std::mem::size_of::<root::RefPtr<root::mozilla::css::URLValue>>(),
46224             8usize,
46225             concat!(
46226                 "Size of template specialization: ",
46227                 stringify!(root::RefPtr<root::mozilla::css::URLValue>)
46228             )
46229         );
46230         assert_eq!(
46231             ::std::mem::align_of::<root::RefPtr<root::mozilla::css::URLValue>>(),
46232             8usize,
46233             concat!(
46234                 "Alignment of template specialization: ",
46235                 stringify!(root::RefPtr<root::mozilla::css::URLValue>)
46236             )
46237         );
46238     }
46239     #[test]
__bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_2()46240     fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_2() {
46241         assert_eq!(
46242             ::std::mem::size_of::<root::RefPtr<root::mozilla::css::URLValue>>(),
46243             8usize,
46244             concat!(
46245                 "Size of template specialization: ",
46246                 stringify!(root::RefPtr<root::mozilla::css::URLValue>)
46247             )
46248         );
46249         assert_eq!(
46250             ::std::mem::align_of::<root::RefPtr<root::mozilla::css::URLValue>>(),
46251             8usize,
46252             concat!(
46253                 "Alignment of template specialization: ",
46254                 stringify!(root::RefPtr<root::mozilla::css::URLValue>)
46255             )
46256         );
46257     }
46258     #[test]
__bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_3()46259     fn __bindgen_test_layout_RefPtr_open0_URLValue_close0_instantiation_3() {
46260         assert_eq!(
46261             ::std::mem::size_of::<root::RefPtr<root::mozilla::css::URLValue>>(),
46262             8usize,
46263             concat!(
46264                 "Size of template specialization: ",
46265                 stringify!(root::RefPtr<root::mozilla::css::URLValue>)
46266             )
46267         );
46268         assert_eq!(
46269             ::std::mem::align_of::<root::RefPtr<root::mozilla::css::URLValue>>(),
46270             8usize,
46271             concat!(
46272                 "Alignment of template specialization: ",
46273                 stringify!(root::RefPtr<root::mozilla::css::URLValue>)
46274             )
46275         );
46276     }
46277     #[test]
__bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_3()46278     fn __bindgen_test_layout_nsTArray_open0_nsStyleCoord_close0_instantiation_3() {
46279         assert_eq!(
46280             ::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>(),
46281             8usize,
46282             concat!(
46283                 "Size of template specialization: ",
46284                 stringify!(root::nsTArray<root::nsStyleCoord>)
46285             )
46286         );
46287         assert_eq!(
46288             ::std::mem::align_of::<root::nsTArray<root::nsStyleCoord>>(),
46289             8usize,
46290             concat!(
46291                 "Alignment of template specialization: ",
46292                 stringify!(root::nsTArray<root::nsStyleCoord>)
46293             )
46294         );
46295     }
46296     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_2()46297     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_2() {
46298         assert_eq!(
46299             ::std::mem::size_of::<root::nsTArray<root::RefPtr<root::nsAtom>>>(),
46300             8usize,
46301             concat!(
46302                 "Size of template specialization: ",
46303                 stringify!(root::nsTArray<root::RefPtr<root::nsAtom>>)
46304             )
46305         );
46306         assert_eq!(
46307             ::std::mem::align_of::<root::nsTArray<root::RefPtr<root::nsAtom>>>(),
46308             8usize,
46309             concat!(
46310                 "Alignment of template specialization: ",
46311                 stringify!(root::nsTArray<root::RefPtr<root::nsAtom>>)
46312             )
46313         );
46314     }
46315     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_10()46316     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_10() {
46317         assert_eq!(
46318             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
46319             8usize,
46320             concat!(
46321                 "Size of template specialization: ",
46322                 stringify!(root::RefPtr<root::nsAtom>)
46323             )
46324         );
46325         assert_eq!(
46326             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
46327             8usize,
46328             concat!(
46329                 "Alignment of template specialization: ",
46330                 stringify!(root::RefPtr<root::nsAtom>)
46331             )
46332         );
46333     }
46334     #[test]
__bindgen_test_layout_nsTArray_open0_nsStyleFilter_close0_instantiation()46335     fn __bindgen_test_layout_nsTArray_open0_nsStyleFilter_close0_instantiation() {
46336         assert_eq!(
46337             ::std::mem::size_of::<root::nsTArray<root::nsStyleFilter>>(),
46338             8usize,
46339             concat!(
46340                 "Size of template specialization: ",
46341                 stringify!(root::nsTArray<root::nsStyleFilter>)
46342             )
46343         );
46344         assert_eq!(
46345             ::std::mem::align_of::<root::nsTArray<root::nsStyleFilter>>(),
46346             8usize,
46347             concat!(
46348                 "Alignment of template specialization: ",
46349                 stringify!(root::nsTArray<root::nsStyleFilter>)
46350             )
46351         );
46352     }
46353     #[test]
__bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation_1()46354     fn __bindgen_test_layout_RefPtr_open0_nsCSSShadowArray_close0_instantiation_1() {
46355         assert_eq!(
46356             ::std::mem::size_of::<root::RefPtr<root::nsCSSShadowArray>>(),
46357             8usize,
46358             concat!(
46359                 "Size of template specialization: ",
46360                 stringify!(root::RefPtr<root::nsCSSShadowArray>)
46361             )
46362         );
46363         assert_eq!(
46364             ::std::mem::align_of::<root::RefPtr<root::nsCSSShadowArray>>(),
46365             8usize,
46366             concat!(
46367                 "Alignment of template specialization: ",
46368                 stringify!(root::RefPtr<root::nsCSSShadowArray>)
46369             )
46370         );
46371     }
46372     #[test]
__bindgen_test_layout_nsTArray_open0_ptr_nsISupports_close0_instantiation()46373     fn __bindgen_test_layout_nsTArray_open0_ptr_nsISupports_close0_instantiation() {
46374         assert_eq!(
46375             ::std::mem::size_of::<root::nsTArray<*mut root::nsISupports>>(),
46376             8usize,
46377             concat!(
46378                 "Size of template specialization: ",
46379                 stringify!(root::nsTArray<*mut root::nsISupports>)
46380             )
46381         );
46382         assert_eq!(
46383             ::std::mem::align_of::<root::nsTArray<*mut root::nsISupports>>(),
46384             8usize,
46385             concat!(
46386                 "Alignment of template specialization: ",
46387                 stringify!(root::nsTArray<*mut root::nsISupports>)
46388             )
46389         );
46390     }
46391     #[test]
__bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation_1( )46392     fn __bindgen_test_layout_UniquePtr_open0_nsCSSValueList_DefaultDelete_open1_nsCSSValueList_close1_close0_instantiation_1(
46393 ) {
46394         assert_eq!(
46395             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>(),
46396             8usize,
46397             concat!(
46398                 "Size of template specialization: ",
46399                 stringify!(root::mozilla::UniquePtr<root::nsCSSValueList>)
46400             )
46401         );
46402         assert_eq!(
46403             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>(),
46404             8usize,
46405             concat!(
46406                 "Alignment of template specialization: ",
46407                 stringify!(root::mozilla::UniquePtr<root::nsCSSValueList>)
46408             )
46409         );
46410     }
46411     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsCSSValueList_close0_instantiation_1()46412     fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValueList_close0_instantiation_1() {
46413         assert_eq!(
46414             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
46415             1usize,
46416             concat!(
46417                 "Size of template specialization: ",
46418                 stringify!(root::mozilla::DefaultDelete)
46419             )
46420         );
46421         assert_eq!(
46422             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
46423             1usize,
46424             concat!(
46425                 "Alignment of template specialization: ",
46426                 stringify!(root::mozilla::DefaultDelete)
46427             )
46428         );
46429     }
46430     #[test]
__bindgen_test_layout_UniquePtr_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation_1( )46431     fn __bindgen_test_layout_UniquePtr_open0_nsCSSValuePairList_DefaultDelete_open1_nsCSSValuePairList_close1_close0_instantiation_1(
46432 ) {
46433         assert_eq!(
46434             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>(),
46435             8usize,
46436             concat!(
46437                 "Size of template specialization: ",
46438                 stringify!(root::mozilla::UniquePtr<root::nsCSSValuePairList>)
46439             )
46440         );
46441         assert_eq!(
46442             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>(),
46443             8usize,
46444             concat!(
46445                 "Alignment of template specialization: ",
46446                 stringify!(root::mozilla::UniquePtr<root::nsCSSValuePairList>)
46447             )
46448         );
46449     }
46450     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation_1()46451     fn __bindgen_test_layout_DefaultDelete_open0_nsCSSValuePairList_close0_instantiation_1() {
46452         assert_eq!(
46453             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
46454             1usize,
46455             concat!(
46456                 "Size of template specialization: ",
46457                 stringify!(root::mozilla::DefaultDelete)
46458             )
46459         );
46460         assert_eq!(
46461             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
46462             1usize,
46463             concat!(
46464                 "Alignment of template specialization: ",
46465                 stringify!(root::mozilla::DefaultDelete)
46466             )
46467         );
46468     }
46469     #[test]
__bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation_1()46470     fn __bindgen_test_layout_RefPtr_open0_RawServoAnimationValue_close0_instantiation_1() {
46471         assert_eq!(
46472             ::std::mem::size_of::<root::RefPtr<root::RawServoAnimationValue>>(),
46473             8usize,
46474             concat!(
46475                 "Size of template specialization: ",
46476                 stringify!(root::RefPtr<root::RawServoAnimationValue>)
46477             )
46478         );
46479         assert_eq!(
46480             ::std::mem::align_of::<root::RefPtr<root::RawServoAnimationValue>>(),
46481             8usize,
46482             concat!(
46483                 "Alignment of template specialization: ",
46484                 stringify!(root::RefPtr<root::RawServoAnimationValue>)
46485             )
46486         );
46487     }
46488     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_13()46489     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_13() {
46490         assert_eq!(
46491             ::std::mem::size_of::<root::nsCOMPtr>(),
46492             8usize,
46493             concat!(
46494                 "Size of template specialization: ",
46495                 stringify!(root::nsCOMPtr)
46496             )
46497         );
46498         assert_eq!(
46499             ::std::mem::align_of::<root::nsCOMPtr>(),
46500             8usize,
46501             concat!(
46502                 "Alignment of template specialization: ",
46503                 stringify!(root::nsCOMPtr)
46504             )
46505         );
46506     }
46507     #[test]
__bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation_1()46508     fn __bindgen_test_layout_nsTArray_open0_nsCString_close0_instantiation_1() {
46509         assert_eq!(
46510             ::std::mem::size_of::<root::nsTArray<root::nsCString>>(),
46511             8usize,
46512             concat!(
46513                 "Size of template specialization: ",
46514                 stringify!(root::nsTArray<root::nsCString>)
46515             )
46516         );
46517         assert_eq!(
46518             ::std::mem::align_of::<root::nsTArray<root::nsCString>>(),
46519             8usize,
46520             concat!(
46521                 "Alignment of template specialization: ",
46522                 stringify!(root::nsTArray<root::nsCString>)
46523             )
46524         );
46525     }
46526     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_14()46527     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_14() {
46528         assert_eq!(
46529             ::std::mem::size_of::<root::nsCOMPtr>(),
46530             8usize,
46531             concat!(
46532                 "Size of template specialization: ",
46533                 stringify!(root::nsCOMPtr)
46534             )
46535         );
46536         assert_eq!(
46537             ::std::mem::align_of::<root::nsCOMPtr>(),
46538             8usize,
46539             concat!(
46540                 "Alignment of template specialization: ",
46541                 stringify!(root::nsCOMPtr)
46542             )
46543         );
46544     }
46545     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_15()46546     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_15() {
46547         assert_eq!(
46548             ::std::mem::size_of::<root::nsCOMPtr>(),
46549             8usize,
46550             concat!(
46551                 "Size of template specialization: ",
46552                 stringify!(root::nsCOMPtr)
46553             )
46554         );
46555         assert_eq!(
46556             ::std::mem::align_of::<root::nsCOMPtr>(),
46557             8usize,
46558             concat!(
46559                 "Alignment of template specialization: ",
46560                 stringify!(root::nsCOMPtr)
46561             )
46562         );
46563     }
46564     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_16()46565     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_16() {
46566         assert_eq!(
46567             ::std::mem::size_of::<root::nsCOMPtr>(),
46568             8usize,
46569             concat!(
46570                 "Size of template specialization: ",
46571                 stringify!(root::nsCOMPtr)
46572             )
46573         );
46574         assert_eq!(
46575             ::std::mem::align_of::<root::nsCOMPtr>(),
46576             8usize,
46577             concat!(
46578                 "Alignment of template specialization: ",
46579                 stringify!(root::nsCOMPtr)
46580             )
46581         );
46582     }
46583     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_5()46584     fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_5() {
46585         assert_eq!(
46586             ::std::mem::size_of::<root::nsCOMPtr>(),
46587             8usize,
46588             concat!(
46589                 "Size of template specialization: ",
46590                 stringify!(root::nsCOMPtr)
46591             )
46592         );
46593         assert_eq!(
46594             ::std::mem::align_of::<root::nsCOMPtr>(),
46595             8usize,
46596             concat!(
46597                 "Alignment of template specialization: ",
46598                 stringify!(root::nsCOMPtr)
46599             )
46600         );
46601     }
46602     #[test]
__bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_3()46603     fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_3() {
46604         assert_eq!(
46605             ::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
46606             8usize,
46607             concat!(
46608                 "Size of template specialization: ",
46609                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
46610             )
46611         );
46612         assert_eq!(
46613             ::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
46614             8usize,
46615             concat!(
46616                 "Alignment of template specialization: ",
46617                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
46618             )
46619         );
46620     }
46621     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsISerialEventTarget_close0_instantiation()46622     fn __bindgen_test_layout_nsCOMPtr_open0_nsISerialEventTarget_close0_instantiation() {
46623         assert_eq!(
46624             ::std::mem::size_of::<root::nsCOMPtr>(),
46625             8usize,
46626             concat!(
46627                 "Size of template specialization: ",
46628                 stringify!(root::nsCOMPtr)
46629             )
46630         );
46631         assert_eq!(
46632             ::std::mem::align_of::<root::nsCOMPtr>(),
46633             8usize,
46634             concat!(
46635                 "Alignment of template specialization: ",
46636                 stringify!(root::nsCOMPtr)
46637             )
46638         );
46639     }
46640     #[test]
__bindgen_test_layout_RefPtr_open0_RawServoStyleSheetContents_close0_instantiation()46641     fn __bindgen_test_layout_RefPtr_open0_RawServoStyleSheetContents_close0_instantiation() {
46642         assert_eq!(
46643             ::std::mem::size_of::<root::RefPtr<root::RawServoStyleSheetContents>>(),
46644             8usize,
46645             concat!(
46646                 "Size of template specialization: ",
46647                 stringify!(root::RefPtr<root::RawServoStyleSheetContents>)
46648             )
46649         );
46650         assert_eq!(
46651             ::std::mem::align_of::<root::RefPtr<root::RawServoStyleSheetContents>>(),
46652             8usize,
46653             concat!(
46654                 "Alignment of template specialization: ",
46655                 stringify!(root::RefPtr<root::RawServoStyleSheetContents>)
46656             )
46657         );
46658     }
46659     #[test]
__bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_2()46660     fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_2() {
46661         assert_eq!(
46662             ::std::mem::size_of::<root::RefPtr<root::mozilla::URLExtraData>>(),
46663             8usize,
46664             concat!(
46665                 "Size of template specialization: ",
46666                 stringify!(root::RefPtr<root::mozilla::URLExtraData>)
46667             )
46668         );
46669         assert_eq!(
46670             ::std::mem::align_of::<root::RefPtr<root::mozilla::URLExtraData>>(),
46671             8usize,
46672             concat!(
46673                 "Alignment of template specialization: ",
46674                 stringify!(root::RefPtr<root::mozilla::URLExtraData>)
46675             )
46676         );
46677     }
46678     #[test]
__bindgen_test_layout_RefPtr_open0_ServoCSSRuleList_close0_instantiation()46679     fn __bindgen_test_layout_RefPtr_open0_ServoCSSRuleList_close0_instantiation() {
46680         assert_eq!(
46681             ::std::mem::size_of::<root::RefPtr<root::mozilla::ServoCSSRuleList>>(),
46682             8usize,
46683             concat!(
46684                 "Size of template specialization: ",
46685                 stringify!(root::RefPtr<root::mozilla::ServoCSSRuleList>)
46686             )
46687         );
46688         assert_eq!(
46689             ::std::mem::align_of::<root::RefPtr<root::mozilla::ServoCSSRuleList>>(),
46690             8usize,
46691             concat!(
46692                 "Alignment of template specialization: ",
46693                 stringify!(root::RefPtr<root::mozilla::ServoCSSRuleList>)
46694             )
46695         );
46696     }
46697     #[test]
__bindgen_test_layout_MozPromiseHolder_open0_StyleSheetParsePromise_close0_instantiation()46698     fn __bindgen_test_layout_MozPromiseHolder_open0_StyleSheetParsePromise_close0_instantiation() {
46699         assert_eq!(
46700             ::std::mem::size_of::<
46701                 root::mozilla::MozPromiseHolder<root::mozilla::StyleSheetParsePromise>,
46702             >(),
46703             16usize,
46704             concat!(
46705                 "Size of template specialization: ",
46706                 stringify!(root::mozilla::MozPromiseHolder<root::mozilla::StyleSheetParsePromise>)
46707             )
46708         );
46709         assert_eq!(
46710             ::std::mem::align_of::<
46711                 root::mozilla::MozPromiseHolder<root::mozilla::StyleSheetParsePromise>,
46712             >(),
46713             8usize,
46714             concat!(
46715                 "Alignment of template specialization: ",
46716                 stringify!(root::mozilla::MozPromiseHolder<root::mozilla::StyleSheetParsePromise>)
46717             )
46718         );
46719     }
46720     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_6()46721     fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_6() {
46722         assert_eq!(
46723             ::std::mem::size_of::<root::nsCOMPtr>(),
46724             8usize,
46725             concat!(
46726                 "Size of template specialization: ",
46727                 stringify!(root::nsCOMPtr)
46728             )
46729         );
46730         assert_eq!(
46731             ::std::mem::align_of::<root::nsCOMPtr>(),
46732             8usize,
46733             concat!(
46734                 "Alignment of template specialization: ",
46735                 stringify!(root::nsCOMPtr)
46736             )
46737         );
46738     }
46739     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation_1()46740     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation_1()
46741     {
46742         assert_eq!(
46743             ::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>(),
46744             8usize,
46745             concat!(
46746                 "Size of template specialization: ",
46747                 stringify!(root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>)
46748             )
46749         );
46750         assert_eq!(
46751             ::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>(),
46752             8usize,
46753             concat!(
46754                 "Alignment of template specialization: ",
46755                 stringify!(root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>)
46756             )
46757         );
46758     }
46759     #[test]
__bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_4()46760     fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_4() {
46761         assert_eq!(
46762             ::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
46763             8usize,
46764             concat!(
46765                 "Size of template specialization: ",
46766                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
46767             )
46768         );
46769         assert_eq!(
46770             ::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
46771             8usize,
46772             concat!(
46773                 "Alignment of template specialization: ",
46774                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
46775             )
46776         );
46777     }
46778     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_SheetLoadData_close1_close0_instantiation()46779     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_SheetLoadData_close1_close0_instantiation()
46780     {
46781         assert_eq ! ( :: std :: mem :: size_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) );
46782         assert_eq ! ( :: std :: mem :: align_of :: < root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( root :: nsTArray < root :: RefPtr < root :: mozilla :: css :: SheetLoadData > > ) ) );
46783     }
46784     #[test]
__bindgen_test_layout_RefPtr_open0_SheetLoadData_close0_instantiation()46785     fn __bindgen_test_layout_RefPtr_open0_SheetLoadData_close0_instantiation() {
46786         assert_eq!(
46787             ::std::mem::size_of::<root::RefPtr<root::mozilla::css::SheetLoadData>>(),
46788             8usize,
46789             concat!(
46790                 "Size of template specialization: ",
46791                 stringify!(root::RefPtr<root::mozilla::css::SheetLoadData>)
46792             )
46793         );
46794         assert_eq!(
46795             ::std::mem::align_of::<root::RefPtr<root::mozilla::css::SheetLoadData>>(),
46796             8usize,
46797             concat!(
46798                 "Alignment of template specialization: ",
46799                 stringify!(root::RefPtr<root::mozilla::css::SheetLoadData>)
46800             )
46801         );
46802     }
46803     #[test]
__bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_5()46804     fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_5() {
46805         assert_eq!(
46806             ::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
46807             8usize,
46808             concat!(
46809                 "Size of template specialization: ",
46810                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
46811             )
46812         );
46813         assert_eq!(
46814             ::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
46815             8usize,
46816             concat!(
46817                 "Alignment of template specialization: ",
46818                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
46819             )
46820         );
46821     }
46822     #[test]
__bindgen_test_layout_nsAutoPtr_open0_Loader_Sheets_close0_instantiation()46823     fn __bindgen_test_layout_nsAutoPtr_open0_Loader_Sheets_close0_instantiation() {
46824         assert_eq!(
46825             ::std::mem::size_of::<root::nsAutoPtr<root::mozilla::css::Loader_Sheets>>(),
46826             8usize,
46827             concat!(
46828                 "Size of template specialization: ",
46829                 stringify!(root::nsAutoPtr<root::mozilla::css::Loader_Sheets>)
46830             )
46831         );
46832         assert_eq!(
46833             ::std::mem::align_of::<root::nsAutoPtr<root::mozilla::css::Loader_Sheets>>(),
46834             8usize,
46835             concat!(
46836                 "Alignment of template specialization: ",
46837                 stringify!(root::nsAutoPtr<root::mozilla::css::Loader_Sheets>)
46838             )
46839         );
46840     }
46841     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsICSSLoaderObserver_close0_instantiation()46842     fn __bindgen_test_layout_nsCOMPtr_open0_nsICSSLoaderObserver_close0_instantiation() {
46843         assert_eq!(
46844             ::std::mem::size_of::<root::nsCOMPtr>(),
46845             8usize,
46846             concat!(
46847                 "Size of template specialization: ",
46848                 stringify!(root::nsCOMPtr)
46849             )
46850         );
46851         assert_eq!(
46852             ::std::mem::align_of::<root::nsCOMPtr>(),
46853             8usize,
46854             concat!(
46855                 "Alignment of template specialization: ",
46856                 stringify!(root::nsCOMPtr)
46857             )
46858         );
46859     }
46860     #[test]
__bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_2()46861     fn __bindgen_test_layout_RefPtr_open0_DocGroup_close0_instantiation_2() {
46862         assert_eq!(
46863             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DocGroup>>(),
46864             8usize,
46865             concat!(
46866                 "Size of template specialization: ",
46867                 stringify!(root::RefPtr<root::mozilla::dom::DocGroup>)
46868             )
46869         );
46870         assert_eq!(
46871             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::DocGroup>>(),
46872             8usize,
46873             concat!(
46874                 "Alignment of template specialization: ",
46875                 stringify!(root::RefPtr<root::mozilla::dom::DocGroup>)
46876             )
46877         );
46878     }
46879     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIConsoleReportCollector_close0_instantiation()46880     fn __bindgen_test_layout_nsCOMPtr_open0_nsIConsoleReportCollector_close0_instantiation() {
46881         assert_eq!(
46882             ::std::mem::size_of::<root::nsCOMPtr>(),
46883             8usize,
46884             concat!(
46885                 "Size of template specialization: ",
46886                 stringify!(root::nsCOMPtr)
46887             )
46888         );
46889         assert_eq!(
46890             ::std::mem::align_of::<root::nsCOMPtr>(),
46891             8usize,
46892             concat!(
46893                 "Alignment of template specialization: ",
46894                 stringify!(root::nsCOMPtr)
46895             )
46896         );
46897     }
46898     #[test]
__bindgen_test_layout_UniquePtr_open0_Decoder_DefaultDelete_open1_Decoder_close1_close0_instantiation( )46899     fn __bindgen_test_layout_UniquePtr_open0_Decoder_DefaultDelete_open1_Decoder_close1_close0_instantiation(
46900 ) {
46901         assert_eq!(
46902             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::Decoder>>(),
46903             8usize,
46904             concat!(
46905                 "Size of template specialization: ",
46906                 stringify!(root::mozilla::UniquePtr<root::mozilla::Decoder>)
46907             )
46908         );
46909         assert_eq!(
46910             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::Decoder>>(),
46911             8usize,
46912             concat!(
46913                 "Alignment of template specialization: ",
46914                 stringify!(root::mozilla::UniquePtr<root::mozilla::Decoder>)
46915             )
46916         );
46917     }
46918     #[test]
__bindgen_test_layout_DefaultDelete_open0_Decoder_close0_instantiation()46919     fn __bindgen_test_layout_DefaultDelete_open0_Decoder_close0_instantiation() {
46920         assert_eq!(
46921             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
46922             1usize,
46923             concat!(
46924                 "Size of template specialization: ",
46925                 stringify!(root::mozilla::DefaultDelete)
46926             )
46927         );
46928         assert_eq!(
46929             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
46930             1usize,
46931             concat!(
46932                 "Alignment of template specialization: ",
46933                 stringify!(root::mozilla::DefaultDelete)
46934             )
46935         );
46936     }
46937     #[test]
__bindgen_test_layout_UniquePtr_open0_Decoder_DefaultDelete_open1_Decoder_close1_close0_instantiation_1( )46938     fn __bindgen_test_layout_UniquePtr_open0_Decoder_DefaultDelete_open1_Decoder_close1_close0_instantiation_1(
46939 ) {
46940         assert_eq!(
46941             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::Decoder>>(),
46942             8usize,
46943             concat!(
46944                 "Size of template specialization: ",
46945                 stringify!(root::mozilla::UniquePtr<root::mozilla::Decoder>)
46946             )
46947         );
46948         assert_eq!(
46949             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::Decoder>>(),
46950             8usize,
46951             concat!(
46952                 "Alignment of template specialization: ",
46953                 stringify!(root::mozilla::UniquePtr<root::mozilla::Decoder>)
46954             )
46955         );
46956     }
46957     #[test]
__bindgen_test_layout_DefaultDelete_open0_Decoder_close0_instantiation_1()46958     fn __bindgen_test_layout_DefaultDelete_open0_Decoder_close0_instantiation_1() {
46959         assert_eq!(
46960             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
46961             1usize,
46962             concat!(
46963                 "Size of template specialization: ",
46964                 stringify!(root::mozilla::DefaultDelete)
46965             )
46966         );
46967         assert_eq!(
46968             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
46969             1usize,
46970             concat!(
46971                 "Alignment of template specialization: ",
46972                 stringify!(root::mozilla::DefaultDelete)
46973             )
46974         );
46975     }
46976     #[test]
__bindgen_test_layout_UniquePtr_open0_Decoder_DefaultDelete_open1_Decoder_close1_close0_instantiation_2( )46977     fn __bindgen_test_layout_UniquePtr_open0_Decoder_DefaultDelete_open1_Decoder_close1_close0_instantiation_2(
46978 ) {
46979         assert_eq!(
46980             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::Decoder>>(),
46981             8usize,
46982             concat!(
46983                 "Size of template specialization: ",
46984                 stringify!(root::mozilla::UniquePtr<root::mozilla::Decoder>)
46985             )
46986         );
46987         assert_eq!(
46988             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::Decoder>>(),
46989             8usize,
46990             concat!(
46991                 "Alignment of template specialization: ",
46992                 stringify!(root::mozilla::UniquePtr<root::mozilla::Decoder>)
46993             )
46994         );
46995     }
46996     #[test]
__bindgen_test_layout_DefaultDelete_open0_Decoder_close0_instantiation_2()46997     fn __bindgen_test_layout_DefaultDelete_open0_Decoder_close0_instantiation_2() {
46998         assert_eq!(
46999             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
47000             1usize,
47001             concat!(
47002                 "Size of template specialization: ",
47003                 stringify!(root::mozilla::DefaultDelete)
47004             )
47005         );
47006         assert_eq!(
47007             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
47008             1usize,
47009             concat!(
47010                 "Alignment of template specialization: ",
47011                 stringify!(root::mozilla::DefaultDelete)
47012             )
47013         );
47014     }
47015     #[test]
__bindgen_test_layout_UniquePtr_open0_Encoder_DefaultDelete_open1_Encoder_close1_close0_instantiation( )47016     fn __bindgen_test_layout_UniquePtr_open0_Encoder_DefaultDelete_open1_Encoder_close1_close0_instantiation(
47017 ) {
47018         assert_eq!(
47019             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::Encoder>>(),
47020             8usize,
47021             concat!(
47022                 "Size of template specialization: ",
47023                 stringify!(root::mozilla::UniquePtr<root::mozilla::Encoder>)
47024             )
47025         );
47026         assert_eq!(
47027             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::Encoder>>(),
47028             8usize,
47029             concat!(
47030                 "Alignment of template specialization: ",
47031                 stringify!(root::mozilla::UniquePtr<root::mozilla::Encoder>)
47032             )
47033         );
47034     }
47035     #[test]
__bindgen_test_layout_DefaultDelete_open0_Encoder_close0_instantiation()47036     fn __bindgen_test_layout_DefaultDelete_open0_Encoder_close0_instantiation() {
47037         assert_eq!(
47038             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
47039             1usize,
47040             concat!(
47041                 "Size of template specialization: ",
47042                 stringify!(root::mozilla::DefaultDelete)
47043             )
47044         );
47045         assert_eq!(
47046             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
47047             1usize,
47048             concat!(
47049                 "Alignment of template specialization: ",
47050                 stringify!(root::mozilla::DefaultDelete)
47051             )
47052         );
47053     }
47054     #[test]
__bindgen_test_layout_RefPtr_open0_Loader_close0_instantiation_1()47055     fn __bindgen_test_layout_RefPtr_open0_Loader_close0_instantiation_1() {
47056         assert_eq!(
47057             ::std::mem::size_of::<root::RefPtr<root::mozilla::css::Loader>>(),
47058             8usize,
47059             concat!(
47060                 "Size of template specialization: ",
47061                 stringify!(root::RefPtr<root::mozilla::css::Loader>)
47062             )
47063         );
47064         assert_eq!(
47065             ::std::mem::align_of::<root::RefPtr<root::mozilla::css::Loader>>(),
47066             8usize,
47067             concat!(
47068                 "Alignment of template specialization: ",
47069                 stringify!(root::RefPtr<root::mozilla::css::Loader>)
47070             )
47071         );
47072     }
47073     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_17()47074     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_17() {
47075         assert_eq!(
47076             ::std::mem::size_of::<root::nsCOMPtr>(),
47077             8usize,
47078             concat!(
47079                 "Size of template specialization: ",
47080                 stringify!(root::nsCOMPtr)
47081             )
47082         );
47083         assert_eq!(
47084             ::std::mem::align_of::<root::nsCOMPtr>(),
47085             8usize,
47086             concat!(
47087                 "Alignment of template specialization: ",
47088                 stringify!(root::nsCOMPtr)
47089             )
47090         );
47091     }
47092     #[test]
__bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_6()47093     fn __bindgen_test_layout_RefPtr_open0_StyleSheet_close0_instantiation_6() {
47094         assert_eq!(
47095             ::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
47096             8usize,
47097             concat!(
47098                 "Size of template specialization: ",
47099                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
47100             )
47101         );
47102         assert_eq!(
47103             ::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>(),
47104             8usize,
47105             concat!(
47106                 "Alignment of template specialization: ",
47107                 stringify!(root::RefPtr<root::mozilla::StyleSheet>)
47108             )
47109         );
47110     }
47111     #[test]
__bindgen_test_layout_RefPtr_open0_SheetLoadData_close0_instantiation_1()47112     fn __bindgen_test_layout_RefPtr_open0_SheetLoadData_close0_instantiation_1() {
47113         assert_eq!(
47114             ::std::mem::size_of::<root::RefPtr<root::mozilla::css::SheetLoadData>>(),
47115             8usize,
47116             concat!(
47117                 "Size of template specialization: ",
47118                 stringify!(root::RefPtr<root::mozilla::css::SheetLoadData>)
47119             )
47120         );
47121         assert_eq!(
47122             ::std::mem::align_of::<root::RefPtr<root::mozilla::css::SheetLoadData>>(),
47123             8usize,
47124             concat!(
47125                 "Alignment of template specialization: ",
47126                 stringify!(root::RefPtr<root::mozilla::css::SheetLoadData>)
47127             )
47128         );
47129     }
47130     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIStyleSheetLinkingElement_close0_instantiation()47131     fn __bindgen_test_layout_nsCOMPtr_open0_nsIStyleSheetLinkingElement_close0_instantiation() {
47132         assert_eq!(
47133             ::std::mem::size_of::<root::nsCOMPtr>(),
47134             8usize,
47135             concat!(
47136                 "Size of template specialization: ",
47137                 stringify!(root::nsCOMPtr)
47138             )
47139         );
47140         assert_eq!(
47141             ::std::mem::align_of::<root::nsCOMPtr>(),
47142             8usize,
47143             concat!(
47144                 "Alignment of template specialization: ",
47145                 stringify!(root::nsCOMPtr)
47146             )
47147         );
47148     }
47149     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsICSSLoaderObserver_close0_instantiation_1()47150     fn __bindgen_test_layout_nsCOMPtr_open0_nsICSSLoaderObserver_close0_instantiation_1() {
47151         assert_eq!(
47152             ::std::mem::size_of::<root::nsCOMPtr>(),
47153             8usize,
47154             concat!(
47155                 "Size of template specialization: ",
47156                 stringify!(root::nsCOMPtr)
47157             )
47158         );
47159         assert_eq!(
47160             ::std::mem::align_of::<root::nsCOMPtr>(),
47161             8usize,
47162             concat!(
47163                 "Alignment of template specialization: ",
47164                 stringify!(root::nsCOMPtr)
47165             )
47166         );
47167     }
47168     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_7()47169     fn __bindgen_test_layout_nsCOMPtr_open0_nsIPrincipal_close0_instantiation_7() {
47170         assert_eq!(
47171             ::std::mem::size_of::<root::nsCOMPtr>(),
47172             8usize,
47173             concat!(
47174                 "Size of template specialization: ",
47175                 stringify!(root::nsCOMPtr)
47176             )
47177         );
47178         assert_eq!(
47179             ::std::mem::align_of::<root::nsCOMPtr>(),
47180             8usize,
47181             concat!(
47182                 "Alignment of template specialization: ",
47183                 stringify!(root::nsCOMPtr)
47184             )
47185         );
47186     }
47187     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsINode_close0_instantiation_1()47188     fn __bindgen_test_layout_nsCOMPtr_open0_nsINode_close0_instantiation_1() {
47189         assert_eq!(
47190             ::std::mem::size_of::<root::nsCOMPtr>(),
47191             8usize,
47192             concat!(
47193                 "Size of template specialization: ",
47194                 stringify!(root::nsCOMPtr)
47195             )
47196         );
47197         assert_eq!(
47198             ::std::mem::align_of::<root::nsCOMPtr>(),
47199             8usize,
47200             concat!(
47201                 "Alignment of template specialization: ",
47202                 stringify!(root::nsCOMPtr)
47203             )
47204         );
47205     }
47206     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_2()47207     fn __bindgen_test_layout_nsCOMPtr_open0_nsIContent_close0_instantiation_2() {
47208         assert_eq!(
47209             ::std::mem::size_of::<root::nsCOMPtr>(),
47210             8usize,
47211             concat!(
47212                 "Size of template specialization: ",
47213                 stringify!(root::nsCOMPtr)
47214             )
47215         );
47216         assert_eq!(
47217             ::std::mem::align_of::<root::nsCOMPtr>(),
47218             8usize,
47219             concat!(
47220                 "Alignment of template specialization: ",
47221                 stringify!(root::nsCOMPtr)
47222             )
47223         );
47224     }
47225     #[test]
__bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation()47226     fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation() {
47227         assert_eq!(
47228             ::std::mem::size_of::<root::RefPtr<root::nsXBLBinding>>(),
47229             8usize,
47230             concat!(
47231                 "Size of template specialization: ",
47232                 stringify!(root::RefPtr<root::nsXBLBinding>)
47233             )
47234         );
47235         assert_eq!(
47236             ::std::mem::align_of::<root::RefPtr<root::nsXBLBinding>>(),
47237             8usize,
47238             concat!(
47239                 "Alignment of template specialization: ",
47240                 stringify!(root::RefPtr<root::nsXBLBinding>)
47241             )
47242         );
47243     }
47244     #[test]
__bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation()47245     fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation() {
47246         assert_eq!(
47247             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::XBLChildrenElement>>(),
47248             8usize,
47249             concat!(
47250                 "Size of template specialization: ",
47251                 stringify!(root::RefPtr<root::mozilla::dom::XBLChildrenElement>)
47252             )
47253         );
47254         assert_eq!(
47255             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::XBLChildrenElement>>(),
47256             8usize,
47257             concat!(
47258                 "Alignment of template specialization: ",
47259                 stringify!(root::RefPtr<root::mozilla::dom::XBLChildrenElement>)
47260             )
47261         );
47262     }
47263     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_XBLChildrenElement_close1_close0_instantiation( )47264     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_XBLChildrenElement_close1_close0_instantiation(
47265 ) {
47266         assert_eq!(
47267             ::std::mem::size_of::<
47268                 root::nsTArray<root::RefPtr<root::mozilla::dom::XBLChildrenElement>>,
47269             >(),
47270             8usize,
47271             concat!(
47272                 "Size of template specialization: ",
47273                 stringify!(root::nsTArray<root::RefPtr<root::mozilla::dom::XBLChildrenElement>>)
47274             )
47275         );
47276         assert_eq!(
47277             ::std::mem::align_of::<
47278                 root::nsTArray<root::RefPtr<root::mozilla::dom::XBLChildrenElement>>,
47279             >(),
47280             8usize,
47281             concat!(
47282                 "Alignment of template specialization: ",
47283                 stringify!(root::nsTArray<root::RefPtr<root::mozilla::dom::XBLChildrenElement>>)
47284             )
47285         );
47286     }
47287     #[test]
__bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation_1()47288     fn __bindgen_test_layout_RefPtr_open0_XBLChildrenElement_close0_instantiation_1() {
47289         assert_eq!(
47290             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::XBLChildrenElement>>(),
47291             8usize,
47292             concat!(
47293                 "Size of template specialization: ",
47294                 stringify!(root::RefPtr<root::mozilla::dom::XBLChildrenElement>)
47295             )
47296         );
47297         assert_eq!(
47298             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::XBLChildrenElement>>(),
47299             8usize,
47300             concat!(
47301                 "Alignment of template specialization: ",
47302                 stringify!(root::RefPtr<root::mozilla::dom::XBLChildrenElement>)
47303             )
47304         );
47305     }
47306     #[test]
__bindgen_test_layout_RefPtr_open0_nsAnonymousContentList_close0_instantiation()47307     fn __bindgen_test_layout_RefPtr_open0_nsAnonymousContentList_close0_instantiation() {
47308         assert_eq!(
47309             ::std::mem::size_of::<root::RefPtr<root::nsAnonymousContentList>>(),
47310             8usize,
47311             concat!(
47312                 "Size of template specialization: ",
47313                 stringify!(root::RefPtr<root::nsAnonymousContentList>)
47314             )
47315         );
47316         assert_eq!(
47317             ::std::mem::align_of::<root::RefPtr<root::nsAnonymousContentList>>(),
47318             8usize,
47319             concat!(
47320                 "Alignment of template specialization: ",
47321                 stringify!(root::RefPtr<root::nsAnonymousContentList>)
47322             )
47323         );
47324     }
47325     #[test]
__bindgen_test_layout_RefPtr_open0_nsDOMCSSAttributeDeclaration_close0_instantiation()47326     fn __bindgen_test_layout_RefPtr_open0_nsDOMCSSAttributeDeclaration_close0_instantiation() {
47327         assert_eq!(
47328             ::std::mem::size_of::<root::RefPtr<root::nsDOMCSSAttributeDeclaration>>(),
47329             8usize,
47330             concat!(
47331                 "Size of template specialization: ",
47332                 stringify!(root::RefPtr<root::nsDOMCSSAttributeDeclaration>)
47333             )
47334         );
47335         assert_eq!(
47336             ::std::mem::align_of::<root::RefPtr<root::nsDOMCSSAttributeDeclaration>>(),
47337             8usize,
47338             concat!(
47339                 "Alignment of template specialization: ",
47340                 stringify!(root::RefPtr<root::nsDOMCSSAttributeDeclaration>)
47341             )
47342         );
47343     }
47344     #[test]
__bindgen_test_layout_RefPtr_open0_DeclarationBlock_close0_instantiation()47345     fn __bindgen_test_layout_RefPtr_open0_DeclarationBlock_close0_instantiation() {
47346         assert_eq!(
47347             ::std::mem::size_of::<root::RefPtr<root::mozilla::DeclarationBlock>>(),
47348             8usize,
47349             concat!(
47350                 "Size of template specialization: ",
47351                 stringify!(root::RefPtr<root::mozilla::DeclarationBlock>)
47352             )
47353         );
47354         assert_eq!(
47355             ::std::mem::align_of::<root::RefPtr<root::mozilla::DeclarationBlock>>(),
47356             8usize,
47357             concat!(
47358                 "Alignment of template specialization: ",
47359                 stringify!(root::RefPtr<root::mozilla::DeclarationBlock>)
47360             )
47361         );
47362     }
47363     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIControllers_close0_instantiation()47364     fn __bindgen_test_layout_nsCOMPtr_open0_nsIControllers_close0_instantiation() {
47365         assert_eq!(
47366             ::std::mem::size_of::<root::nsCOMPtr>(),
47367             8usize,
47368             concat!(
47369                 "Size of template specialization: ",
47370                 stringify!(root::nsCOMPtr)
47371             )
47372         );
47373         assert_eq!(
47374             ::std::mem::align_of::<root::nsCOMPtr>(),
47375             8usize,
47376             concat!(
47377                 "Alignment of template specialization: ",
47378                 stringify!(root::nsCOMPtr)
47379             )
47380         );
47381     }
47382     #[test]
__bindgen_test_layout_RefPtr_open0_nsLabelsNodeList_close0_instantiation()47383     fn __bindgen_test_layout_RefPtr_open0_nsLabelsNodeList_close0_instantiation() {
47384         assert_eq!(
47385             ::std::mem::size_of::<root::RefPtr<root::nsLabelsNodeList>>(),
47386             8usize,
47387             concat!(
47388                 "Size of template specialization: ",
47389                 stringify!(root::RefPtr<root::nsLabelsNodeList>)
47390             )
47391         );
47392         assert_eq!(
47393             ::std::mem::align_of::<root::RefPtr<root::nsLabelsNodeList>>(),
47394             8usize,
47395             concat!(
47396                 "Alignment of template specialization: ",
47397                 stringify!(root::RefPtr<root::nsLabelsNodeList>)
47398             )
47399         );
47400     }
47401     #[test]
__bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation_1()47402     fn __bindgen_test_layout_RefPtr_open0_ShadowRoot_close0_instantiation_1() {
47403         assert_eq!(
47404             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::ShadowRoot>>(),
47405             8usize,
47406             concat!(
47407                 "Size of template specialization: ",
47408                 stringify!(root::RefPtr<root::mozilla::dom::ShadowRoot>)
47409             )
47410         );
47411         assert_eq!(
47412             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::ShadowRoot>>(),
47413             8usize,
47414             concat!(
47415                 "Alignment of template specialization: ",
47416                 stringify!(root::RefPtr<root::mozilla::dom::ShadowRoot>)
47417             )
47418         );
47419     }
47420     #[test]
__bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_1()47421     fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_1() {
47422         assert_eq!(
47423             ::std::mem::size_of::<root::RefPtr<root::nsXBLBinding>>(),
47424             8usize,
47425             concat!(
47426                 "Size of template specialization: ",
47427                 stringify!(root::RefPtr<root::nsXBLBinding>)
47428             )
47429         );
47430         assert_eq!(
47431             ::std::mem::align_of::<root::RefPtr<root::nsXBLBinding>>(),
47432             8usize,
47433             concat!(
47434                 "Alignment of template specialization: ",
47435                 stringify!(root::RefPtr<root::nsXBLBinding>)
47436             )
47437         );
47438     }
47439     #[test]
__bindgen_test_layout_RefPtr_open0_CustomElementData_close0_instantiation()47440     fn __bindgen_test_layout_RefPtr_open0_CustomElementData_close0_instantiation() {
47441         assert_eq!(
47442             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::CustomElementData>>(),
47443             8usize,
47444             concat!(
47445                 "Size of template specialization: ",
47446                 stringify!(root::RefPtr<root::mozilla::dom::CustomElementData>)
47447             )
47448         );
47449         assert_eq!(
47450             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::CustomElementData>>(),
47451             8usize,
47452             concat!(
47453                 "Alignment of template specialization: ",
47454                 stringify!(root::RefPtr<root::mozilla::dom::CustomElementData>)
47455             )
47456         );
47457     }
47458     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_2()47459     fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_2() {
47460         assert_eq!(
47461             ::std::mem::size_of::<root::nsCOMPtr>(),
47462             8usize,
47463             concat!(
47464                 "Size of template specialization: ",
47465                 stringify!(root::nsCOMPtr)
47466             )
47467         );
47468         assert_eq!(
47469             ::std::mem::align_of::<root::nsCOMPtr>(),
47470             8usize,
47471             concat!(
47472                 "Alignment of template specialization: ",
47473                 stringify!(root::nsCOMPtr)
47474             )
47475         );
47476     }
47477     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsICSSDeclaration_close0_instantiation()47478     fn __bindgen_test_layout_nsCOMPtr_open0_nsICSSDeclaration_close0_instantiation() {
47479         assert_eq!(
47480             ::std::mem::size_of::<root::nsCOMPtr>(),
47481             8usize,
47482             concat!(
47483                 "Size of template specialization: ",
47484                 stringify!(root::nsCOMPtr)
47485             )
47486         );
47487         assert_eq!(
47488             ::std::mem::align_of::<root::nsCOMPtr>(),
47489             8usize,
47490             concat!(
47491                 "Alignment of template specialization: ",
47492                 stringify!(root::nsCOMPtr)
47493             )
47494         );
47495     }
47496     #[test]
__bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation()47497     fn __bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation() {
47498         assert_eq!(
47499             ::std::mem::size_of::<root::RefPtr<root::nsDOMAttributeMap>>(),
47500             8usize,
47501             concat!(
47502                 "Size of template specialization: ",
47503                 stringify!(root::RefPtr<root::nsDOMAttributeMap>)
47504             )
47505         );
47506         assert_eq!(
47507             ::std::mem::align_of::<root::RefPtr<root::nsDOMAttributeMap>>(),
47508             8usize,
47509             concat!(
47510                 "Alignment of template specialization: ",
47511                 stringify!(root::RefPtr<root::nsDOMAttributeMap>)
47512             )
47513         );
47514     }
47515     #[test]
__bindgen_test_layout_RefPtr_open0_nsContentList_close0_instantiation()47516     fn __bindgen_test_layout_RefPtr_open0_nsContentList_close0_instantiation() {
47517         assert_eq!(
47518             ::std::mem::size_of::<root::RefPtr<root::nsContentList>>(),
47519             8usize,
47520             concat!(
47521                 "Size of template specialization: ",
47522                 stringify!(root::RefPtr<root::nsContentList>)
47523             )
47524         );
47525         assert_eq!(
47526             ::std::mem::align_of::<root::RefPtr<root::nsContentList>>(),
47527             8usize,
47528             concat!(
47529                 "Alignment of template specialization: ",
47530                 stringify!(root::RefPtr<root::nsContentList>)
47531             )
47532         );
47533     }
47534     #[test]
__bindgen_test_layout_RefPtr_open0_nsDOMTokenList_close0_instantiation()47535     fn __bindgen_test_layout_RefPtr_open0_nsDOMTokenList_close0_instantiation() {
47536         assert_eq!(
47537             ::std::mem::size_of::<root::RefPtr<root::nsDOMTokenList>>(),
47538             8usize,
47539             concat!(
47540                 "Size of template specialization: ",
47541                 stringify!(root::RefPtr<root::nsDOMTokenList>)
47542             )
47543         );
47544         assert_eq!(
47545             ::std::mem::align_of::<root::RefPtr<root::nsDOMTokenList>>(),
47546             8usize,
47547             concat!(
47548                 "Alignment of template specialization: ",
47549                 stringify!(root::RefPtr<root::nsDOMTokenList>)
47550             )
47551         );
47552     }
47553     #[test]
__bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation_1()47554     fn __bindgen_test_layout_RefPtr_open0_nsDOMAttributeMap_close0_instantiation_1() {
47555         assert_eq!(
47556             ::std::mem::size_of::<root::RefPtr<root::nsDOMAttributeMap>>(),
47557             8usize,
47558             concat!(
47559                 "Size of template specialization: ",
47560                 stringify!(root::RefPtr<root::nsDOMAttributeMap>)
47561             )
47562         );
47563         assert_eq!(
47564             ::std::mem::align_of::<root::RefPtr<root::nsDOMAttributeMap>>(),
47565             8usize,
47566             concat!(
47567                 "Alignment of template specialization: ",
47568                 stringify!(root::RefPtr<root::nsDOMAttributeMap>)
47569             )
47570         );
47571     }
47572     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsDOMAttributeMap_Element_close0_instantiation()47573     fn __bindgen_test_layout_nsCOMPtr_open0_nsDOMAttributeMap_Element_close0_instantiation() {
47574         assert_eq!(
47575             ::std::mem::size_of::<root::nsCOMPtr>(),
47576             8usize,
47577             concat!(
47578                 "Size of template specialization: ",
47579                 stringify!(root::nsCOMPtr)
47580             )
47581         );
47582         assert_eq!(
47583             ::std::mem::align_of::<root::nsCOMPtr>(),
47584             8usize,
47585             concat!(
47586                 "Alignment of template specialization: ",
47587                 stringify!(root::nsCOMPtr)
47588             )
47589         );
47590     }
47591     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_3()47592     fn __bindgen_test_layout_nsCOMPtr_open0_nsISupports_close0_instantiation_3() {
47593         assert_eq!(
47594             ::std::mem::size_of::<root::nsCOMPtr>(),
47595             8usize,
47596             concat!(
47597                 "Size of template specialization: ",
47598                 stringify!(root::nsCOMPtr)
47599             )
47600         );
47601         assert_eq!(
47602             ::std::mem::align_of::<root::nsCOMPtr>(),
47603             8usize,
47604             concat!(
47605                 "Alignment of template specialization: ",
47606                 stringify!(root::nsCOMPtr)
47607             )
47608         );
47609     }
47610     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIObserver_close0_instantiation_1()47611     fn __bindgen_test_layout_nsCOMPtr_open0_nsIObserver_close0_instantiation_1() {
47612         assert_eq!(
47613             ::std::mem::size_of::<root::nsCOMPtr>(),
47614             8usize,
47615             concat!(
47616                 "Size of template specialization: ",
47617                 stringify!(root::nsCOMPtr)
47618             )
47619         );
47620         assert_eq!(
47621             ::std::mem::align_of::<root::nsCOMPtr>(),
47622             8usize,
47623             concat!(
47624                 "Alignment of template specialization: ",
47625                 stringify!(root::nsCOMPtr)
47626             )
47627         );
47628     }
47629     #[test]
__bindgen_test_layout_UniquePtr_open0_nsIWidget_LongTapInfo_DefaultDelete_open1_nsIWidget_LongTapInfo_close1_close0_instantiation( )47630     fn __bindgen_test_layout_UniquePtr_open0_nsIWidget_LongTapInfo_DefaultDelete_open1_nsIWidget_LongTapInfo_close1_close0_instantiation(
47631 ) {
47632         assert_eq!(
47633             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsIWidget_LongTapInfo>>(),
47634             8usize,
47635             concat!(
47636                 "Size of template specialization: ",
47637                 stringify!(root::mozilla::UniquePtr<root::nsIWidget_LongTapInfo>)
47638             )
47639         );
47640         assert_eq!(
47641             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsIWidget_LongTapInfo>>(),
47642             8usize,
47643             concat!(
47644                 "Alignment of template specialization: ",
47645                 stringify!(root::mozilla::UniquePtr<root::nsIWidget_LongTapInfo>)
47646             )
47647         );
47648     }
47649     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsIWidget_LongTapInfo_close0_instantiation()47650     fn __bindgen_test_layout_DefaultDelete_open0_nsIWidget_LongTapInfo_close0_instantiation() {
47651         assert_eq!(
47652             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
47653             1usize,
47654             concat!(
47655                 "Size of template specialization: ",
47656                 stringify!(root::mozilla::DefaultDelete)
47657             )
47658         );
47659         assert_eq!(
47660             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
47661             1usize,
47662             concat!(
47663                 "Alignment of template specialization: ",
47664                 stringify!(root::mozilla::DefaultDelete)
47665             )
47666         );
47667     }
47668     #[test]
__bindgen_test_layout_UniquePtr_open0_nsISMILAttr_DefaultDelete_open1_nsISMILAttr_close1_close0_instantiation( )47669     fn __bindgen_test_layout_UniquePtr_open0_nsISMILAttr_DefaultDelete_open1_nsISMILAttr_close1_close0_instantiation(
47670 ) {
47671         assert_eq!(
47672             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsISMILAttr>>(),
47673             8usize,
47674             concat!(
47675                 "Size of template specialization: ",
47676                 stringify!(root::mozilla::UniquePtr<root::nsISMILAttr>)
47677             )
47678         );
47679         assert_eq!(
47680             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsISMILAttr>>(),
47681             8usize,
47682             concat!(
47683                 "Alignment of template specialization: ",
47684                 stringify!(root::mozilla::UniquePtr<root::nsISMILAttr>)
47685             )
47686         );
47687     }
47688     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsISMILAttr_close0_instantiation()47689     fn __bindgen_test_layout_DefaultDelete_open0_nsISMILAttr_close0_instantiation() {
47690         assert_eq!(
47691             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
47692             1usize,
47693             concat!(
47694                 "Size of template specialization: ",
47695                 stringify!(root::mozilla::DefaultDelete)
47696             )
47697         );
47698         assert_eq!(
47699             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
47700             1usize,
47701             concat!(
47702                 "Alignment of template specialization: ",
47703                 stringify!(root::mozilla::DefaultDelete)
47704             )
47705         );
47706     }
47707     #[test]
__bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_3()47708     fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_3() {
47709         assert_eq!(
47710             ::std::mem::size_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
47711             16usize,
47712             concat!(
47713                 "Size of template specialization: ",
47714                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
47715             )
47716         );
47717         assert_eq!(
47718             ::std::mem::align_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
47719             8usize,
47720             concat!(
47721                 "Alignment of template specialization: ",
47722                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
47723             )
47724         );
47725     }
47726     #[test]
__bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_4()47727     fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_4() {
47728         assert_eq!(
47729             ::std::mem::size_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
47730             16usize,
47731             concat!(
47732                 "Size of template specialization: ",
47733                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
47734             )
47735         );
47736         assert_eq!(
47737             ::std::mem::align_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
47738             8usize,
47739             concat!(
47740                 "Alignment of template specialization: ",
47741                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
47742             )
47743         );
47744     }
47745     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_3()47746     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_3() {
47747         assert_eq!(
47748             ::std::mem::size_of::<root::nsTArray<root::RefPtr<root::nsAtom>>>(),
47749             8usize,
47750             concat!(
47751                 "Size of template specialization: ",
47752                 stringify!(root::nsTArray<root::RefPtr<root::nsAtom>>)
47753             )
47754         );
47755         assert_eq!(
47756             ::std::mem::align_of::<root::nsTArray<root::RefPtr<root::nsAtom>>>(),
47757             8usize,
47758             concat!(
47759                 "Alignment of template specialization: ",
47760                 stringify!(root::nsTArray<root::RefPtr<root::nsAtom>>)
47761             )
47762         );
47763     }
47764     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_11()47765     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_11() {
47766         assert_eq!(
47767             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
47768             8usize,
47769             concat!(
47770                 "Size of template specialization: ",
47771                 stringify!(root::RefPtr<root::nsAtom>)
47772             )
47773         );
47774         assert_eq!(
47775             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
47776             8usize,
47777             concat!(
47778                 "Alignment of template specialization: ",
47779                 stringify!(root::RefPtr<root::nsAtom>)
47780             )
47781         );
47782     }
47783     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsINode_close1_close0_instantiation()47784     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsINode_close1_close0_instantiation() {
47785         assert_eq!(
47786             ::std::mem::size_of::<root::nsTArray<root::RefPtr<root::nsINode>>>(),
47787             8usize,
47788             concat!(
47789                 "Size of template specialization: ",
47790                 stringify!(root::nsTArray<root::RefPtr<root::nsINode>>)
47791             )
47792         );
47793         assert_eq!(
47794             ::std::mem::align_of::<root::nsTArray<root::RefPtr<root::nsINode>>>(),
47795             8usize,
47796             concat!(
47797                 "Alignment of template specialization: ",
47798                 stringify!(root::nsTArray<root::RefPtr<root::nsINode>>)
47799             )
47800         );
47801     }
47802     #[test]
__bindgen_test_layout_RefPtr_open0_nsINode_close0_instantiation()47803     fn __bindgen_test_layout_RefPtr_open0_nsINode_close0_instantiation() {
47804         assert_eq!(
47805             ::std::mem::size_of::<root::RefPtr<root::nsINode>>(),
47806             8usize,
47807             concat!(
47808                 "Size of template specialization: ",
47809                 stringify!(root::RefPtr<root::nsINode>)
47810             )
47811         );
47812         assert_eq!(
47813             ::std::mem::align_of::<root::RefPtr<root::nsINode>>(),
47814             8usize,
47815             concat!(
47816                 "Alignment of template specialization: ",
47817                 stringify!(root::RefPtr<root::nsINode>)
47818             )
47819         );
47820     }
47821     #[test]
__bindgen_test_layout_RefPtr_open0_Element_close0_instantiation()47822     fn __bindgen_test_layout_RefPtr_open0_Element_close0_instantiation() {
47823         assert_eq!(
47824             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>(),
47825             8usize,
47826             concat!(
47827                 "Size of template specialization: ",
47828                 stringify!(root::RefPtr<root::mozilla::dom::Element>)
47829             )
47830         );
47831         assert_eq!(
47832             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::Element>>(),
47833             8usize,
47834             concat!(
47835                 "Alignment of template specialization: ",
47836                 stringify!(root::RefPtr<root::mozilla::dom::Element>)
47837             )
47838         );
47839     }
47840     #[test]
__bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_3()47841     fn __bindgen_test_layout_RefPtr_open0_URLExtraData_close0_instantiation_3() {
47842         assert_eq!(
47843             ::std::mem::size_of::<root::RefPtr<root::mozilla::URLExtraData>>(),
47844             8usize,
47845             concat!(
47846                 "Size of template specialization: ",
47847                 stringify!(root::RefPtr<root::mozilla::URLExtraData>)
47848             )
47849         );
47850         assert_eq!(
47851             ::std::mem::align_of::<root::RefPtr<root::mozilla::URLExtraData>>(),
47852             8usize,
47853             concat!(
47854                 "Alignment of template specialization: ",
47855                 stringify!(root::RefPtr<root::mozilla::URLExtraData>)
47856             )
47857         );
47858     }
47859     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_18()47860     fn __bindgen_test_layout_nsCOMPtr_open0_nsIURI_close0_instantiation_18() {
47861         assert_eq!(
47862             ::std::mem::size_of::<root::nsCOMPtr>(),
47863             8usize,
47864             concat!(
47865                 "Size of template specialization: ",
47866                 stringify!(root::nsCOMPtr)
47867             )
47868         );
47869         assert_eq!(
47870             ::std::mem::align_of::<root::nsCOMPtr>(),
47871             8usize,
47872             concat!(
47873                 "Alignment of template specialization: ",
47874                 stringify!(root::nsCOMPtr)
47875             )
47876         );
47877     }
47878     #[test]
__bindgen_test_layout_RefPtr_open0_ServoDeclarationBlock_close0_instantiation()47879     fn __bindgen_test_layout_RefPtr_open0_ServoDeclarationBlock_close0_instantiation() {
47880         assert_eq!(
47881             ::std::mem::size_of::<root::RefPtr<root::mozilla::ServoDeclarationBlock>>(),
47882             8usize,
47883             concat!(
47884                 "Size of template specialization: ",
47885                 stringify!(root::RefPtr<root::mozilla::ServoDeclarationBlock>)
47886             )
47887         );
47888         assert_eq!(
47889             ::std::mem::align_of::<root::RefPtr<root::mozilla::ServoDeclarationBlock>>(),
47890             8usize,
47891             concat!(
47892                 "Alignment of template specialization: ",
47893                 stringify!(root::RefPtr<root::mozilla::ServoDeclarationBlock>)
47894             )
47895         );
47896     }
47897     #[test]
__bindgen_test_layout_RefPtr_open0_RawServoStyleRule_close0_instantiation()47898     fn __bindgen_test_layout_RefPtr_open0_RawServoStyleRule_close0_instantiation() {
47899         assert_eq!(
47900             ::std::mem::size_of::<root::RefPtr<root::RawServoStyleRule>>(),
47901             8usize,
47902             concat!(
47903                 "Size of template specialization: ",
47904                 stringify!(root::RefPtr<root::RawServoStyleRule>)
47905             )
47906         );
47907         assert_eq!(
47908             ::std::mem::align_of::<root::RefPtr<root::RawServoStyleRule>>(),
47909             8usize,
47910             concat!(
47911                 "Alignment of template specialization: ",
47912                 stringify!(root::RefPtr<root::RawServoStyleRule>)
47913             )
47914         );
47915     }
47916     #[test]
__bindgen_test_layout_nsPtrHashKey_open0_RawServoStyleRule_close0_instantiation()47917     fn __bindgen_test_layout_nsPtrHashKey_open0_RawServoStyleRule_close0_instantiation() {
47918         assert_eq!(
47919             ::std::mem::size_of::<root::nsPtrHashKey<root::RawServoStyleRule>>(),
47920             16usize,
47921             concat!(
47922                 "Size of template specialization: ",
47923                 stringify!(root::nsPtrHashKey<root::RawServoStyleRule>)
47924             )
47925         );
47926         assert_eq!(
47927             ::std::mem::align_of::<root::nsPtrHashKey<root::RawServoStyleRule>>(),
47928             8usize,
47929             concat!(
47930                 "Alignment of template specialization: ",
47931                 stringify!(root::nsPtrHashKey<root::RawServoStyleRule>)
47932             )
47933         );
47934     }
47935     #[test]
__bindgen_test_layout_UniquePtr_open0_RawServoAuthorStyles_DefaultDelete_open1_RawServoAuthorStyles_close1_close0_instantiation( )47936     fn __bindgen_test_layout_UniquePtr_open0_RawServoAuthorStyles_DefaultDelete_open1_RawServoAuthorStyles_close1_close0_instantiation(
47937 ) {
47938         assert_eq!(
47939             ::std::mem::size_of::<root::mozilla::UniquePtr<root::RawServoAuthorStyles>>(),
47940             8usize,
47941             concat!(
47942                 "Size of template specialization: ",
47943                 stringify!(root::mozilla::UniquePtr<root::RawServoAuthorStyles>)
47944             )
47945         );
47946         assert_eq!(
47947             ::std::mem::align_of::<root::mozilla::UniquePtr<root::RawServoAuthorStyles>>(),
47948             8usize,
47949             concat!(
47950                 "Alignment of template specialization: ",
47951                 stringify!(root::mozilla::UniquePtr<root::RawServoAuthorStyles>)
47952             )
47953         );
47954     }
47955     #[test]
__bindgen_test_layout_DefaultDelete_open0_RawServoAuthorStyles_close0_instantiation()47956     fn __bindgen_test_layout_DefaultDelete_open0_RawServoAuthorStyles_close0_instantiation() {
47957         assert_eq!(
47958             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
47959             1usize,
47960             concat!(
47961                 "Size of template specialization: ",
47962                 stringify!(root::mozilla::DefaultDelete)
47963             )
47964         );
47965         assert_eq!(
47966             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
47967             1usize,
47968             concat!(
47969                 "Alignment of template specialization: ",
47970                 stringify!(root::mozilla::DefaultDelete)
47971             )
47972         );
47973     }
47974     #[test]
__bindgen_test_layout_UniquePtr_open0_ServoStyleRuleMap_DefaultDelete_open1_ServoStyleRuleMap_close1_close0_instantiation( )47975     fn __bindgen_test_layout_UniquePtr_open0_ServoStyleRuleMap_DefaultDelete_open1_ServoStyleRuleMap_close1_close0_instantiation(
47976 ) {
47977         assert_eq!(
47978             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::ServoStyleRuleMap>>(),
47979             8usize,
47980             concat!(
47981                 "Size of template specialization: ",
47982                 stringify!(root::mozilla::UniquePtr<root::mozilla::ServoStyleRuleMap>)
47983             )
47984         );
47985         assert_eq!(
47986             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::ServoStyleRuleMap>>(),
47987             8usize,
47988             concat!(
47989                 "Alignment of template specialization: ",
47990                 stringify!(root::mozilla::UniquePtr<root::mozilla::ServoStyleRuleMap>)
47991             )
47992         );
47993     }
47994     #[test]
__bindgen_test_layout_DefaultDelete_open0_ServoStyleRuleMap_close0_instantiation()47995     fn __bindgen_test_layout_DefaultDelete_open0_ServoStyleRuleMap_close0_instantiation() {
47996         assert_eq!(
47997             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
47998             1usize,
47999             concat!(
48000                 "Size of template specialization: ",
48001                 stringify!(root::mozilla::DefaultDelete)
48002             )
48003         );
48004         assert_eq!(
48005             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
48006             1usize,
48007             concat!(
48008                 "Alignment of template specialization: ",
48009                 stringify!(root::mozilla::DefaultDelete)
48010             )
48011         );
48012     }
48013     #[test]
__bindgen_test_layout_BaseTimeDuration_open0_StickyTimeDurationValueCalculator_close0_instantiation( )48014     fn __bindgen_test_layout_BaseTimeDuration_open0_StickyTimeDurationValueCalculator_close0_instantiation(
48015 ) {
48016         assert_eq!(
48017             ::std::mem::size_of::<root::mozilla::BaseTimeDuration>(),
48018             8usize,
48019             concat!(
48020                 "Size of template specialization: ",
48021                 stringify!(root::mozilla::BaseTimeDuration)
48022             )
48023         );
48024         assert_eq!(
48025             ::std::mem::align_of::<root::mozilla::BaseTimeDuration>(),
48026             8usize,
48027             concat!(
48028                 "Alignment of template specialization: ",
48029                 stringify!(root::mozilla::BaseTimeDuration)
48030             )
48031         );
48032     }
48033     #[test]
__bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation()48034     fn __bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation() {
48035         assert_eq!(
48036             ::std::mem::size_of::<root::RefPtr<root::RawServoDeclarationBlock>>(),
48037             8usize,
48038             concat!(
48039                 "Size of template specialization: ",
48040                 stringify!(root::RefPtr<root::RawServoDeclarationBlock>)
48041             )
48042         );
48043         assert_eq!(
48044             ::std::mem::align_of::<root::RefPtr<root::RawServoDeclarationBlock>>(),
48045             8usize,
48046             concat!(
48047                 "Alignment of template specialization: ",
48048                 stringify!(root::RefPtr<root::RawServoDeclarationBlock>)
48049             )
48050         );
48051     }
48052     #[test]
__bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation_1()48053     fn __bindgen_test_layout_nsTArray_open0_PropertyValuePair_close0_instantiation_1() {
48054         assert_eq!(
48055             ::std::mem::size_of::<root::nsTArray<root::mozilla::PropertyValuePair>>(),
48056             8usize,
48057             concat!(
48058                 "Size of template specialization: ",
48059                 stringify!(root::nsTArray<root::mozilla::PropertyValuePair>)
48060             )
48061         );
48062         assert_eq!(
48063             ::std::mem::align_of::<root::nsTArray<root::mozilla::PropertyValuePair>>(),
48064             8usize,
48065             concat!(
48066                 "Alignment of template specialization: ",
48067                 stringify!(root::nsTArray<root::mozilla::PropertyValuePair>)
48068             )
48069         );
48070     }
48071     #[test]
__bindgen_test_layout_nsTArray_open0_ServoAttrSnapshot_close0_instantiation()48072     fn __bindgen_test_layout_nsTArray_open0_ServoAttrSnapshot_close0_instantiation() {
48073         assert_eq!(
48074             ::std::mem::size_of::<root::nsTArray<root::mozilla::ServoAttrSnapshot>>(),
48075             8usize,
48076             concat!(
48077                 "Size of template specialization: ",
48078                 stringify!(root::nsTArray<root::mozilla::ServoAttrSnapshot>)
48079             )
48080         );
48081         assert_eq!(
48082             ::std::mem::align_of::<root::nsTArray<root::mozilla::ServoAttrSnapshot>>(),
48083             8usize,
48084             concat!(
48085                 "Alignment of template specialization: ",
48086                 stringify!(root::nsTArray<root::mozilla::ServoAttrSnapshot>)
48087             )
48088         );
48089     }
48090     #[test]
__bindgen_test_layout_nsRefPtrHashKey_open0_Element_close0_instantiation()48091     fn __bindgen_test_layout_nsRefPtrHashKey_open0_Element_close0_instantiation() {
48092         assert_eq!(
48093             ::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::Element>>(),
48094             16usize,
48095             concat!(
48096                 "Size of template specialization: ",
48097                 stringify!(root::nsRefPtrHashKey<root::mozilla::dom::Element>)
48098             )
48099         );
48100         assert_eq!(
48101             ::std::mem::align_of::<root::nsRefPtrHashKey<root::mozilla::dom::Element>>(),
48102             8usize,
48103             concat!(
48104                 "Alignment of template specialization: ",
48105                 stringify!(root::nsRefPtrHashKey<root::mozilla::dom::Element>)
48106             )
48107         );
48108     }
48109     #[test]
__bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation()48110     fn __bindgen_test_layout_nsTArray_open0_ptr_nsIContent_close0_instantiation() {
48111         assert_eq!(
48112             ::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>(),
48113             8usize,
48114             concat!(
48115                 "Size of template specialization: ",
48116                 stringify!(root::nsTArray<*mut root::nsIContent>)
48117             )
48118         );
48119         assert_eq!(
48120             ::std::mem::align_of::<root::nsTArray<*mut root::nsIContent>>(),
48121             8usize,
48122             concat!(
48123                 "Alignment of template specialization: ",
48124                 stringify!(root::nsTArray<*mut root::nsIContent>)
48125             )
48126         );
48127     }
48128     #[test]
__bindgen_test_layout_RefPtr_open0_Element_close0_instantiation_1()48129     fn __bindgen_test_layout_RefPtr_open0_Element_close0_instantiation_1() {
48130         assert_eq!(
48131             ::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>(),
48132             8usize,
48133             concat!(
48134                 "Size of template specialization: ",
48135                 stringify!(root::RefPtr<root::mozilla::dom::Element>)
48136             )
48137         );
48138         assert_eq!(
48139             ::std::mem::align_of::<root::RefPtr<root::mozilla::dom::Element>>(),
48140             8usize,
48141             concat!(
48142                 "Alignment of template specialization: ",
48143                 stringify!(root::RefPtr<root::mozilla::dom::Element>)
48144             )
48145         );
48146     }
48147     #[test]
__bindgen_test_layout_OwningNonNull_open0_EffectCompositor_AnimationStyleRuleProcessor_close0_instantiation( )48148     fn __bindgen_test_layout_OwningNonNull_open0_EffectCompositor_AnimationStyleRuleProcessor_close0_instantiation(
48149 ) {
48150         assert_eq!(
48151             ::std::mem::size_of::<
48152                 root::mozilla::OwningNonNull<
48153                     root::mozilla::EffectCompositor_AnimationStyleRuleProcessor,
48154                 >,
48155             >(),
48156             8usize,
48157             concat!(
48158                 "Size of template specialization: ",
48159                 stringify!(root::mozilla::OwningNonNull<
48160                     root::mozilla::EffectCompositor_AnimationStyleRuleProcessor,
48161                 >)
48162             )
48163         );
48164         assert_eq!(
48165             ::std::mem::align_of::<
48166                 root::mozilla::OwningNonNull<
48167                     root::mozilla::EffectCompositor_AnimationStyleRuleProcessor,
48168                 >,
48169             >(),
48170             8usize,
48171             concat!(
48172                 "Alignment of template specialization: ",
48173                 stringify!(root::mozilla::OwningNonNull<
48174                     root::mozilla::EffectCompositor_AnimationStyleRuleProcessor,
48175                 >)
48176             )
48177         );
48178     }
48179     #[test]
__bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_2( )48180     fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_2(
48181 ) {
48182         assert_eq!(
48183             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleGridTemplate>>(),
48184             8usize,
48185             concat!(
48186                 "Size of template specialization: ",
48187                 stringify!(root::mozilla::UniquePtr<root::nsStyleGridTemplate>)
48188             )
48189         );
48190         assert_eq!(
48191             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleGridTemplate>>(),
48192             8usize,
48193             concat!(
48194                 "Alignment of template specialization: ",
48195                 stringify!(root::mozilla::UniquePtr<root::nsStyleGridTemplate>)
48196             )
48197         );
48198     }
48199     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_2()48200     fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_2() {
48201         assert_eq!(
48202             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
48203             1usize,
48204             concat!(
48205                 "Size of template specialization: ",
48206                 stringify!(root::mozilla::DefaultDelete)
48207             )
48208         );
48209         assert_eq!(
48210             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
48211             1usize,
48212             concat!(
48213                 "Alignment of template specialization: ",
48214                 stringify!(root::mozilla::DefaultDelete)
48215             )
48216         );
48217     }
48218     #[test]
__bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_3( )48219     fn __bindgen_test_layout_UniquePtr_open0_nsStyleGridTemplate_DefaultDelete_open1_nsStyleGridTemplate_close1_close0_instantiation_3(
48220 ) {
48221         assert_eq!(
48222             ::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleGridTemplate>>(),
48223             8usize,
48224             concat!(
48225                 "Size of template specialization: ",
48226                 stringify!(root::mozilla::UniquePtr<root::nsStyleGridTemplate>)
48227             )
48228         );
48229         assert_eq!(
48230             ::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleGridTemplate>>(),
48231             8usize,
48232             concat!(
48233                 "Alignment of template specialization: ",
48234                 stringify!(root::mozilla::UniquePtr<root::nsStyleGridTemplate>)
48235             )
48236         );
48237     }
48238     #[test]
__bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_3()48239     fn __bindgen_test_layout_DefaultDelete_open0_nsStyleGridTemplate_close0_instantiation_3() {
48240         assert_eq!(
48241             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
48242             1usize,
48243             concat!(
48244                 "Size of template specialization: ",
48245                 stringify!(root::mozilla::DefaultDelete)
48246             )
48247         );
48248         assert_eq!(
48249             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
48250             1usize,
48251             concat!(
48252                 "Alignment of template specialization: ",
48253                 stringify!(root::mozilla::DefaultDelete)
48254             )
48255         );
48256     }
48257     #[test]
__bindgen_test_layout_RefPtr_open0_RawServoMediaList_close0_instantiation()48258     fn __bindgen_test_layout_RefPtr_open0_RawServoMediaList_close0_instantiation() {
48259         assert_eq!(
48260             ::std::mem::size_of::<root::RefPtr<root::RawServoMediaList>>(),
48261             8usize,
48262             concat!(
48263                 "Size of template specialization: ",
48264                 stringify!(root::RefPtr<root::RawServoMediaList>)
48265             )
48266         );
48267         assert_eq!(
48268             ::std::mem::align_of::<root::RefPtr<root::RawServoMediaList>>(),
48269             8usize,
48270             concat!(
48271                 "Alignment of template specialization: ",
48272                 stringify!(root::RefPtr<root::RawServoMediaList>)
48273             )
48274         );
48275     }
48276     #[test]
__bindgen_test_layout_UniquePtr_open0_RawServoStyleSet_DefaultDelete_open1_RawServoStyleSet_close1_close0_instantiation( )48277     fn __bindgen_test_layout_UniquePtr_open0_RawServoStyleSet_DefaultDelete_open1_RawServoStyleSet_close1_close0_instantiation(
48278 ) {
48279         assert_eq!(
48280             ::std::mem::size_of::<root::mozilla::UniquePtr<root::RawServoStyleSet>>(),
48281             8usize,
48282             concat!(
48283                 "Size of template specialization: ",
48284                 stringify!(root::mozilla::UniquePtr<root::RawServoStyleSet>)
48285             )
48286         );
48287         assert_eq!(
48288             ::std::mem::align_of::<root::mozilla::UniquePtr<root::RawServoStyleSet>>(),
48289             8usize,
48290             concat!(
48291                 "Alignment of template specialization: ",
48292                 stringify!(root::mozilla::UniquePtr<root::RawServoStyleSet>)
48293             )
48294         );
48295     }
48296     #[test]
__bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation()48297     fn __bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation() {
48298         assert_eq!(
48299             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
48300             1usize,
48301             concat!(
48302                 "Size of template specialization: ",
48303                 stringify!(root::mozilla::DefaultDelete)
48304             )
48305         );
48306         assert_eq!(
48307             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
48308             1usize,
48309             concat!(
48310                 "Alignment of template specialization: ",
48311                 stringify!(root::mozilla::DefaultDelete)
48312             )
48313         );
48314     }
48315     #[test]
__bindgen_test_layout_UniquePtr_open0_ServoStyleRuleMap_DefaultDelete_open1_ServoStyleRuleMap_close1_close0_instantiation_1( )48316     fn __bindgen_test_layout_UniquePtr_open0_ServoStyleRuleMap_DefaultDelete_open1_ServoStyleRuleMap_close1_close0_instantiation_1(
48317 ) {
48318         assert_eq!(
48319             ::std::mem::size_of::<root::mozilla::UniquePtr<root::mozilla::ServoStyleRuleMap>>(),
48320             8usize,
48321             concat!(
48322                 "Size of template specialization: ",
48323                 stringify!(root::mozilla::UniquePtr<root::mozilla::ServoStyleRuleMap>)
48324             )
48325         );
48326         assert_eq!(
48327             ::std::mem::align_of::<root::mozilla::UniquePtr<root::mozilla::ServoStyleRuleMap>>(),
48328             8usize,
48329             concat!(
48330                 "Alignment of template specialization: ",
48331                 stringify!(root::mozilla::UniquePtr<root::mozilla::ServoStyleRuleMap>)
48332             )
48333         );
48334     }
48335     #[test]
__bindgen_test_layout_DefaultDelete_open0_ServoStyleRuleMap_close0_instantiation_1()48336     fn __bindgen_test_layout_DefaultDelete_open0_ServoStyleRuleMap_close0_instantiation_1() {
48337         assert_eq!(
48338             ::std::mem::size_of::<root::mozilla::DefaultDelete>(),
48339             1usize,
48340             concat!(
48341                 "Size of template specialization: ",
48342                 stringify!(root::mozilla::DefaultDelete)
48343             )
48344         );
48345         assert_eq!(
48346             ::std::mem::align_of::<root::mozilla::DefaultDelete>(),
48347             1usize,
48348             concat!(
48349                 "Alignment of template specialization: ",
48350                 stringify!(root::mozilla::DefaultDelete)
48351             )
48352         );
48353     }
48354     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsXBLBinding_close1_close0_instantiation()48355     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsXBLBinding_close1_close0_instantiation()
48356     {
48357         assert_eq!(
48358             ::std::mem::size_of::<root::nsTArray<root::RefPtr<root::nsXBLBinding>>>(),
48359             8usize,
48360             concat!(
48361                 "Size of template specialization: ",
48362                 stringify!(root::nsTArray<root::RefPtr<root::nsXBLBinding>>)
48363             )
48364         );
48365         assert_eq!(
48366             ::std::mem::align_of::<root::nsTArray<root::RefPtr<root::nsXBLBinding>>>(),
48367             8usize,
48368             concat!(
48369                 "Alignment of template specialization: ",
48370                 stringify!(root::nsTArray<root::RefPtr<root::nsXBLBinding>>)
48371             )
48372         );
48373     }
48374     #[test]
__bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_2()48375     fn __bindgen_test_layout_RefPtr_open0_nsXBLBinding_close0_instantiation_2() {
48376         assert_eq!(
48377             ::std::mem::size_of::<root::RefPtr<root::nsXBLBinding>>(),
48378             8usize,
48379             concat!(
48380                 "Size of template specialization: ",
48381                 stringify!(root::RefPtr<root::nsXBLBinding>)
48382             )
48383         );
48384         assert_eq!(
48385             ::std::mem::align_of::<root::RefPtr<root::nsXBLBinding>>(),
48386             8usize,
48387             concat!(
48388                 "Alignment of template specialization: ",
48389                 stringify!(root::RefPtr<root::nsXBLBinding>)
48390             )
48391         );
48392     }
48393     #[test]
__bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsRefPtrHashKey_open2_nsIContent_close2_close1_close0_instantiation( )48394     fn __bindgen_test_layout_nsAutoPtr_open0_nsTHashtable_open1_nsRefPtrHashKey_open2_nsIContent_close2_close1_close0_instantiation(
48395 ) {
48396         assert_eq!(
48397             ::std::mem::size_of::<u64>(),
48398             8usize,
48399             concat!("Size of template specialization: ", stringify!(u64))
48400         );
48401         assert_eq!(
48402             ::std::mem::align_of::<u64>(),
48403             8usize,
48404             concat!("Alignment of template specialization: ", stringify!(u64))
48405         );
48406     }
48407     #[test]
__bindgen_test_layout_nsRefPtrHashKey_open0_nsIContent_close0_instantiation()48408     fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsIContent_close0_instantiation() {
48409         assert_eq!(
48410             ::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIContent>>(),
48411             16usize,
48412             concat!(
48413                 "Size of template specialization: ",
48414                 stringify!(root::nsRefPtrHashKey<root::nsIContent>)
48415             )
48416         );
48417         assert_eq!(
48418             ::std::mem::align_of::<root::nsRefPtrHashKey<root::nsIContent>>(),
48419             8usize,
48420             concat!(
48421                 "Alignment of template specialization: ",
48422                 stringify!(root::nsRefPtrHashKey<root::nsIContent>)
48423             )
48424         );
48425     }
48426     #[test]
__bindgen_test_layout_nsAutoPtr_open0_nsBindingManager_WrapperHashtable_close0_instantiation( )48427     fn __bindgen_test_layout_nsAutoPtr_open0_nsBindingManager_WrapperHashtable_close0_instantiation(
48428 ) {
48429         assert_eq!(
48430             ::std::mem::size_of::<root::nsAutoPtr<root::nsBindingManager_WrapperHashtable>>(),
48431             8usize,
48432             concat!(
48433                 "Size of template specialization: ",
48434                 stringify!(root::nsAutoPtr<root::nsBindingManager_WrapperHashtable>)
48435             )
48436         );
48437         assert_eq!(
48438             ::std::mem::align_of::<root::nsAutoPtr<root::nsBindingManager_WrapperHashtable>>(),
48439             8usize,
48440             concat!(
48441                 "Alignment of template specialization: ",
48442                 stringify!(root::nsAutoPtr<root::nsBindingManager_WrapperHashtable>)
48443             )
48444         );
48445     }
48446     #[test]
__bindgen_test_layout_nsAutoPtr_open0_nsRefPtrHashtable_open1_nsURIHashKey_nsXBLDocumentInfo_close1_close0_instantiation( )48447     fn __bindgen_test_layout_nsAutoPtr_open0_nsRefPtrHashtable_open1_nsURIHashKey_nsXBLDocumentInfo_close1_close0_instantiation(
48448 ) {
48449         assert_eq!(
48450             ::std::mem::size_of::<u64>(),
48451             8usize,
48452             concat!("Size of template specialization: ", stringify!(u64))
48453         );
48454         assert_eq!(
48455             ::std::mem::align_of::<u64>(),
48456             8usize,
48457             concat!("Alignment of template specialization: ", stringify!(u64))
48458         );
48459     }
48460     #[test]
__bindgen_test_layout_nsAutoPtr_open0_nsInterfaceHashtable_open1_nsURIHashKey_nsIStreamListener_close1_close0_instantiation( )48461     fn __bindgen_test_layout_nsAutoPtr_open0_nsInterfaceHashtable_open1_nsURIHashKey_nsIStreamListener_close1_close0_instantiation(
48462 ) {
48463         assert_eq!(
48464             ::std::mem::size_of::<u64>(),
48465             8usize,
48466             concat!("Size of template specialization: ", stringify!(u64))
48467         );
48468         assert_eq!(
48469             ::std::mem::align_of::<u64>(),
48470             8usize,
48471             concat!("Alignment of template specialization: ", stringify!(u64))
48472         );
48473     }
48474     #[test]
__bindgen_test_layout_RefPtr_open0_nsRunnableMethod_open1_nsBindingManager_void_close1_close0_instantiation( )48475     fn __bindgen_test_layout_RefPtr_open0_nsRunnableMethod_open1_nsBindingManager_void_close1_close0_instantiation(
48476 ) {
48477         assert_eq!(
48478             ::std::mem::size_of::<u64>(),
48479             8usize,
48480             concat!("Size of template specialization: ", stringify!(u64))
48481         );
48482         assert_eq!(
48483             ::std::mem::align_of::<u64>(),
48484             8usize,
48485             concat!("Alignment of template specialization: ", stringify!(u64))
48486         );
48487     }
48488     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_12()48489     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_12() {
48490         assert_eq!(
48491             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
48492             8usize,
48493             concat!(
48494                 "Size of template specialization: ",
48495                 stringify!(root::RefPtr<root::nsAtom>)
48496             )
48497         );
48498         assert_eq!(
48499             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
48500             8usize,
48501             concat!(
48502                 "Alignment of template specialization: ",
48503                 stringify!(root::RefPtr<root::nsAtom>)
48504             )
48505         );
48506     }
48507     #[test]
__bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation()48508     fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation() {
48509         assert_eq!(
48510             ::std::mem::size_of::<root::RefPtr<root::mozilla::ServoStyleContext>>(),
48511             8usize,
48512             concat!(
48513                 "Size of template specialization: ",
48514                 stringify!(root::RefPtr<root::mozilla::ServoStyleContext>)
48515             )
48516         );
48517         assert_eq!(
48518             ::std::mem::align_of::<root::RefPtr<root::mozilla::ServoStyleContext>>(),
48519             8usize,
48520             concat!(
48521                 "Alignment of template specialization: ",
48522                 stringify!(root::RefPtr<root::mozilla::ServoStyleContext>)
48523             )
48524         );
48525     }
48526     #[test]
__bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation_1()48527     fn __bindgen_test_layout_RefPtr_open0_RawServoDeclarationBlock_close0_instantiation_1() {
48528         assert_eq!(
48529             ::std::mem::size_of::<root::RefPtr<root::RawServoDeclarationBlock>>(),
48530             8usize,
48531             concat!(
48532                 "Size of template specialization: ",
48533                 stringify!(root::RefPtr<root::RawServoDeclarationBlock>)
48534             )
48535         );
48536         assert_eq!(
48537             ::std::mem::align_of::<root::RefPtr<root::RawServoDeclarationBlock>>(),
48538             8usize,
48539             concat!(
48540                 "Alignment of template specialization: ",
48541                 stringify!(root::RefPtr<root::RawServoDeclarationBlock>)
48542             )
48543         );
48544     }
48545     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_13()48546     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_13() {
48547         assert_eq!(
48548             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
48549             8usize,
48550             concat!(
48551                 "Size of template specialization: ",
48552                 stringify!(root::RefPtr<root::nsAtom>)
48553             )
48554         );
48555         assert_eq!(
48556             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
48557             8usize,
48558             concat!(
48559                 "Alignment of template specialization: ",
48560                 stringify!(root::RefPtr<root::nsAtom>)
48561             )
48562         );
48563     }
48564     #[test]
__bindgen_test_layout_RefPtr_open0_nsCSSFontFaceRule_close0_instantiation()48565     fn __bindgen_test_layout_RefPtr_open0_nsCSSFontFaceRule_close0_instantiation() {
48566         assert_eq!(
48567             ::std::mem::size_of::<root::RefPtr<root::nsCSSFontFaceRule>>(),
48568             8usize,
48569             concat!(
48570                 "Size of template specialization: ",
48571                 stringify!(root::RefPtr<root::nsCSSFontFaceRule>)
48572             )
48573         );
48574         assert_eq!(
48575             ::std::mem::align_of::<root::RefPtr<root::nsCSSFontFaceRule>>(),
48576             8usize,
48577             concat!(
48578                 "Alignment of template specialization: ",
48579                 stringify!(root::RefPtr<root::nsCSSFontFaceRule>)
48580             )
48581         );
48582     }
48583     #[test]
__bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_5()48584     fn __bindgen_test_layout_nsRefPtrHashKey_open0_nsAtom_close0_instantiation_5() {
48585         assert_eq!(
48586             ::std::mem::size_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
48587             16usize,
48588             concat!(
48589                 "Size of template specialization: ",
48590                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
48591             )
48592         );
48593         assert_eq!(
48594             ::std::mem::align_of::<root::nsRefPtrHashKey<root::nsAtom>>(),
48595             8usize,
48596             concat!(
48597                 "Alignment of template specialization: ",
48598                 stringify!(root::nsRefPtrHashKey<root::nsAtom>)
48599             )
48600         );
48601     }
48602     #[test]
__bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_4()48603     fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_nsAtom_close1_close0_instantiation_4() {
48604         assert_eq!(
48605             ::std::mem::size_of::<root::nsTArray<root::RefPtr<root::nsAtom>>>(),
48606             8usize,
48607             concat!(
48608                 "Size of template specialization: ",
48609                 stringify!(root::nsTArray<root::RefPtr<root::nsAtom>>)
48610             )
48611         );
48612         assert_eq!(
48613             ::std::mem::align_of::<root::nsTArray<root::RefPtr<root::nsAtom>>>(),
48614             8usize,
48615             concat!(
48616                 "Alignment of template specialization: ",
48617                 stringify!(root::nsTArray<root::RefPtr<root::nsAtom>>)
48618             )
48619         );
48620     }
48621     #[test]
__bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_14()48622     fn __bindgen_test_layout_RefPtr_open0_nsAtom_close0_instantiation_14() {
48623         assert_eq!(
48624             ::std::mem::size_of::<root::RefPtr<root::nsAtom>>(),
48625             8usize,
48626             concat!(
48627                 "Size of template specialization: ",
48628                 stringify!(root::RefPtr<root::nsAtom>)
48629             )
48630         );
48631         assert_eq!(
48632             ::std::mem::align_of::<root::RefPtr<root::nsAtom>>(),
48633             8usize,
48634             concat!(
48635                 "Alignment of template specialization: ",
48636                 stringify!(root::RefPtr<root::nsAtom>)
48637             )
48638         );
48639     }
48640     #[test]
__bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation_1()48641     fn __bindgen_test_layout_nsCOMPtr_open0_nsIRunnable_close0_instantiation_1() {
48642         assert_eq!(
48643             ::std::mem::size_of::<root::nsCOMPtr>(),
48644             8usize,
48645             concat!(
48646                 "Size of template specialization: ",
48647                 stringify!(root::nsCOMPtr)
48648             )
48649         );
48650         assert_eq!(
48651             ::std::mem::align_of::<root::nsCOMPtr>(),
48652             8usize,
48653             concat!(
48654                 "Alignment of template specialization: ",
48655                 stringify!(root::nsCOMPtr)
48656             )
48657         );
48658     }
48659 }
48660