diff options
59 files changed, 10012 insertions, 6662 deletions
diff --git a/components/layout/block.rs b/components/layout/block.rs index 6a3db5a6141..3ae8a439a4d 100644 --- a/components/layout/block.rs +++ b/components/layout/block.rs @@ -56,7 +56,7 @@ use style::computed_values::{border_collapse, box_sizing, display, float, overfl use style::computed_values::{position, text_align}; use style::context::SharedStyleContext; use style::logical_geometry::{LogicalPoint, LogicalRect, LogicalSize, WritingMode}; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::servo::restyle_damage::{BUBBLE_ISIZES, REFLOW, REFLOW_OUT_OF_FLOW, REPOSITION}; use style::values::computed::{LengthOrPercentageOrNone, LengthOrPercentage}; use style::values::computed::LengthOrPercentageOrAuto; @@ -2139,7 +2139,7 @@ impl Flow for BlockFlow { self.build_display_list_for_block(state, BorderPaintingMode::Separate); } - fn repair_style(&mut self, new_style: &::StyleArc<ServoComputedValues>) { + fn repair_style(&mut self, new_style: &::StyleArc<ComputedValues>) { self.fragment.repair_style(new_style) } diff --git a/components/layout/construct.rs b/components/layout/construct.rs index cbb4400544e..cfb92ebc78a 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -52,7 +52,7 @@ use style::computed_values::content::ContentItem; use style::computed_values::position; use style::context::SharedStyleContext; use style::logical_geometry::Direction; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::properties::longhands::list_style_image; use style::selector_parser::{PseudoElement, RestyleDamage}; use style::servo::restyle_damage::{BUBBLE_ISIZES, RECONSTRUCT_FLOW}; @@ -109,7 +109,7 @@ pub enum ConstructionItem { /// Inline fragments and associated {ib} splits that have not yet found flows. InlineFragments(InlineFragmentsConstructionResult), /// Potentially ignorable whitespace. - Whitespace(OpaqueNode, PseudoElementType<()>, StyleArc<ServoComputedValues>, RestyleDamage), + Whitespace(OpaqueNode, PseudoElementType<()>, StyleArc<ComputedValues>, RestyleDamage), /// TableColumn Fragment TableColumnFragment(Fragment), } @@ -677,7 +677,7 @@ impl<'a, ConcreteThreadSafeLayoutNode: ThreadSafeLayoutNode> fn create_fragments_for_node_text_content(&self, fragments: &mut IntermediateInlineFragments, node: &ConcreteThreadSafeLayoutNode, - style: &StyleArc<ServoComputedValues>) { + style: &StyleArc<ComputedValues>) { // Fast path: If there is no text content, return immediately. let text_content = node.text_content(); if text_content.is_empty() { @@ -1806,7 +1806,7 @@ pub fn strip_ignorable_whitespace_from_end(this: &mut LinkedList<Fragment>) { /// If the 'unicode-bidi' property has a value other than 'normal', return the bidi control codes /// to inject before and after the text content of the element. -fn bidi_control_chars(style: &StyleArc<ServoComputedValues>) -> Option<(&'static str, &'static str)> { +fn bidi_control_chars(style: &StyleArc<ComputedValues>) -> Option<(&'static str, &'static str)> { use style::computed_values::direction::T::*; use style::computed_values::unicode_bidi::T::*; @@ -1851,7 +1851,7 @@ trait ComputedValueUtils { fn has_padding_or_border(&self) -> bool; } -impl ComputedValueUtils for ServoComputedValues { +impl ComputedValueUtils for ComputedValues { fn has_padding_or_border(&self) -> bool { let padding = self.get_padding(); let border = self.get_border(); diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs index 4b79c5e7a68..025a5d5f654 100644 --- a/components/layout/display_list_builder.rs +++ b/components/layout/display_list_builder.rs @@ -51,7 +51,7 @@ use style::computed_values::{background_attachment, background_clip, background_ use style::computed_values::{background_repeat, border_style, cursor}; use style::computed_values::{image_rendering, overflow_x, pointer_events, position, visibility}; use style::logical_geometry::{LogicalPoint, LogicalRect, LogicalSize, WritingMode}; -use style::properties::{self, ServoComputedValues}; +use style::properties::{self, ComputedValues}; use style::properties::longhands::border_image_repeat::computed_value::RepeatKeyword; use style::properties::style_structs; use style::servo::restyle_damage::REPAINT; @@ -375,14 +375,14 @@ pub trait FragmentDisplayListBuilding { /// list if necessary. fn build_display_list_for_background_if_applicable(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>); /// Computes the background size for an image with the given background area according to the /// rules in CSS-BACKGROUNDS § 3.9. fn compute_background_image_size(&self, - style: &ServoComputedValues, + style: &ComputedValues, bounds: &Rect<Au>, image: &WebRenderImageInfo, index: usize) -> Size2D<Au>; @@ -391,7 +391,7 @@ pub trait FragmentDisplayListBuilding { /// appropriate section of the display list. fn build_display_list_for_background_image(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>, clip: &LocalClip, @@ -402,7 +402,7 @@ pub trait FragmentDisplayListBuilding { /// appropriate section of the display list. fn build_display_list_for_webrender_image(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>, clip: &LocalClip, @@ -413,7 +413,7 @@ pub trait FragmentDisplayListBuilding { /// worklet to the appropriate section of the display list. fn build_display_list_for_background_paint_worklet(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>, clip: &LocalClip, @@ -443,14 +443,14 @@ pub trait FragmentDisplayListBuilding { absolute_bounds: &Rect<Au>, clip: &LocalClip, gradient: &Gradient, - style: &ServoComputedValues); + style: &ComputedValues); /// Adds the display items necessary to paint the borders of this fragment to a display list if /// necessary. fn build_display_list_for_borders_if_applicable( &self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, border_painting_mode: BorderPaintingMode, bounds: &Rect<Au>, display_list_section: DisplayListSection, @@ -460,7 +460,7 @@ pub trait FragmentDisplayListBuilding { /// if necessary. fn build_display_list_for_outline_if_applicable(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, bounds: &Rect<Au>, clip: &Rect<Au>); @@ -468,7 +468,7 @@ pub trait FragmentDisplayListBuilding { /// list if necessary. fn build_display_list_for_box_shadow_if_applicable(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>, clip: &Rect<Au>); @@ -476,7 +476,7 @@ pub trait FragmentDisplayListBuilding { /// Adds display items necessary to draw debug boxes around a scanned text fragment. fn build_debug_borders_around_text_fragments(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, stacking_relative_border_box: &Rect<Au>, stacking_relative_content_box: &Rect<Au>, text_fragment: &ScannedTextFragmentInfo, @@ -607,7 +607,7 @@ fn build_border_radius(abs_bounds: &Rect<Au>, /// Get the border radius for the rectangle inside of a rounded border. This is useful /// for building the clip for the content inside the border. fn build_border_radius_for_inner_rect(outer_rect: &Rect<Au>, - style: &ServoComputedValues) + style: &ComputedValues) -> BorderRadii<Au> { let mut radii = build_border_radius(&outer_rect, style.get_border()); if radii.is_square() { @@ -633,7 +633,7 @@ fn build_border_radius_for_inner_rect(outer_rect: &Rect<Au>, } fn build_inner_border_box_for_border_rect(border_box: &Rect<Au>, - style: &ServoComputedValues) + style: &ComputedValues) -> Rect<Au> { let border_widths = style.logical_border_width().to_physical(style.writing_mode); let mut inner_border_box = *border_box; @@ -845,7 +845,7 @@ fn convert_ellipse_size_keyword(keyword: ShapeExtent, impl FragmentDisplayListBuilding for Fragment { fn build_display_list_for_background_if_applicable(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>) { // FIXME: This causes a lot of background colors to be displayed when they are clearly not @@ -950,7 +950,7 @@ impl FragmentDisplayListBuilding for Fragment { } fn compute_background_image_size(&self, - style: &ServoComputedValues, + style: &ComputedValues, bounds: &Rect<Au>, image: &WebRenderImageInfo, index: usize) @@ -996,7 +996,7 @@ impl FragmentDisplayListBuilding for Fragment { fn build_display_list_for_background_image(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>, clip: &LocalClip, @@ -1020,7 +1020,7 @@ impl FragmentDisplayListBuilding for Fragment { fn build_display_list_for_webrender_image(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>, clip: &LocalClip, @@ -1157,7 +1157,7 @@ impl FragmentDisplayListBuilding for Fragment { fn build_display_list_for_background_paint_worklet(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>, clip: &LocalClip, @@ -1338,7 +1338,7 @@ impl FragmentDisplayListBuilding for Fragment { absolute_bounds: &Rect<Au>, clip: &LocalClip, gradient: &Gradient, - style: &ServoComputedValues) { + style: &ComputedValues) { let border = self.border_width().to_physical(style.writing_mode); let mut bounds = *absolute_bounds; bounds.origin.x = bounds.origin.x + border.left; @@ -1380,7 +1380,7 @@ impl FragmentDisplayListBuilding for Fragment { fn build_display_list_for_box_shadow_if_applicable(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>, clip: &Rect<Au>) { @@ -1423,7 +1423,7 @@ impl FragmentDisplayListBuilding for Fragment { fn build_display_list_for_borders_if_applicable( &self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, border_painting_mode: BorderPaintingMode, bounds: &Rect<Au>, display_list_section: DisplayListSection, @@ -1570,7 +1570,7 @@ impl FragmentDisplayListBuilding for Fragment { fn build_display_list_for_outline_if_applicable(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, bounds: &Rect<Au>, clip: &Rect<Au>) { use style::values::Either; @@ -1615,7 +1615,7 @@ impl FragmentDisplayListBuilding for Fragment { fn build_debug_borders_around_text_fragments(&self, state: &mut DisplayListBuildState, - style: &ServoComputedValues, + style: &ComputedValues, stacking_relative_border_box: &Rect<Au>, stacking_relative_content_box: &Rect<Au>, text_fragment: &ScannedTextFragmentInfo, @@ -2886,12 +2886,12 @@ impl BaseFlowDisplayListBuilding for BaseFlow { } } -trait ServoComputedValuesCursorUtility { +trait ComputedValuesCursorUtility { fn get_cursor(&self, default_cursor: Cursor) -> Option<Cursor>; } -impl ServoComputedValuesCursorUtility for ServoComputedValues { - /// Gets the cursor to use given the specific ServoComputedValues. `default_cursor` specifies +impl ComputedValuesCursorUtility for ComputedValues { + /// Gets the cursor to use given the specific ComputedValues. `default_cursor` specifies /// the cursor to use if `cursor` is `auto`. Typically, this will be `PointerCursor`, but for /// text display items it may be `TextCursor` or `VerticalTextCursor`. #[inline] diff --git a/components/layout/flex.rs b/components/layout/flex.rs index 30295eabfe7..6b2e5d3425a 100644 --- a/components/layout/flex.rs +++ b/components/layout/flex.rs @@ -23,7 +23,7 @@ use std::ops::Range; use style::computed_values::{align_content, align_self, flex_direction, flex_wrap, justify_content}; use style::computed_values::border_collapse; use style::logical_geometry::{Direction, LogicalSize}; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::servo::restyle_damage::{REFLOW, REFLOW_OUT_OF_FLOW}; use style::values::computed::{LengthOrPercentage, LengthOrPercentageOrAuto, LengthOrPercentageOrNone}; use style::values::computed::flex::FlexBasis; @@ -973,7 +973,7 @@ impl Flow for FlexFlow { self.block_flow.collect_stacking_contexts(state); } - fn repair_style(&mut self, new_style: &::StyleArc<ServoComputedValues>) { + fn repair_style(&mut self, new_style: &::StyleArc<ComputedValues>) { self.block_flow.repair_style(new_style) } diff --git a/components/layout/flow.rs b/components/layout/flow.rs index 240942ec843..3ce8de5ec98 100644 --- a/components/layout/flow.rs +++ b/components/layout/flow.rs @@ -52,7 +52,7 @@ use std::sync::atomic::Ordering; use style::computed_values::{clear, float, overflow_x, position, text_align}; use style::context::SharedStyleContext; use style::logical_geometry::{LogicalRect, LogicalSize, WritingMode}; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::selector_parser::RestyleDamage; use style::servo::restyle_damage::{RECONSTRUCT_FLOW, REFLOW, REFLOW_OUT_OF_FLOW, REPAINT, REPOSITION}; use style::values::computed::LengthOrPercentageOrAuto; @@ -424,7 +424,7 @@ pub trait Flow: fmt::Debug + Sync + Send + 'static { /// Attempts to perform incremental fixup of this flow by replacing its fragment's style with /// the new style. This can only succeed if the flow has exactly one fragment. - fn repair_style(&mut self, new_style: &::StyleArc<ServoComputedValues>); + fn repair_style(&mut self, new_style: &::StyleArc<ComputedValues>); /// Print any extra children (such as fragments) contained in this Flow /// for debugging purposes. Any items inserted into the tree will become @@ -561,7 +561,7 @@ pub trait MutableFlowUtils { /// Calls `repair_style` and `bubble_inline_sizes`. You should use this method instead of /// calling them individually, since there is no reason not to perform both operations. - fn repair_style_and_bubble_inline_sizes(self, style: &::StyleArc<ServoComputedValues>); + fn repair_style_and_bubble_inline_sizes(self, style: &::StyleArc<ComputedValues>); } pub trait MutableOwnedFlowUtils { @@ -1033,7 +1033,7 @@ pub enum ForceNonfloatedFlag { impl BaseFlow { #[inline] - pub fn new(style: Option<&ServoComputedValues>, + pub fn new(style: Option<&ComputedValues>, writing_mode: WritingMode, force_nonfloated: ForceNonfloatedFlag) -> BaseFlow { @@ -1119,7 +1119,7 @@ impl BaseFlow { /// /// These flags are initially set during flow construction. They only need to be updated here /// if they are based on properties that can change without triggering `RECONSTRUCT_FLOW`. - pub fn update_flags_if_needed(&mut self, style: &ServoComputedValues) { + pub fn update_flags_if_needed(&mut self, style: &ComputedValues) { // For absolutely-positioned flows, changes to top/bottom/left/right can cause these flags // to get out of date: if self.restyle_damage.contains(REFLOW_OUT_OF_FLOW) { @@ -1381,7 +1381,7 @@ impl<'a> MutableFlowUtils for &'a mut Flow { /// Calls `repair_style` and `bubble_inline_sizes`. You should use this method instead of /// calling them individually, since there is no reason not to perform both operations. - fn repair_style_and_bubble_inline_sizes(self, style: &::StyleArc<ServoComputedValues>) { + fn repair_style_and_bubble_inline_sizes(self, style: &::StyleArc<ComputedValues>) { self.repair_style(style); mut_base(self).update_flags_if_needed(style); self.bubble_inline_sizes(); diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index b9bbe5ddd6e..9e7eaf6c72f 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -45,7 +45,7 @@ use style::computed_values::{overflow_wrap, overflow_x, position, text_decoratio use style::computed_values::{transform_style, vertical_align, white_space, word_break}; use style::computed_values::content::ContentItem; use style::logical_geometry::{Direction, LogicalMargin, LogicalRect, LogicalSize, WritingMode}; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::selector_parser::RestyleDamage; use style::servo::restyle_damage::RECONSTRUCT_FLOW; use style::str::char_is_whitespace; @@ -95,10 +95,10 @@ pub struct Fragment { pub node: OpaqueNode, /// The CSS style of this fragment. - pub style: StyleArc<ServoComputedValues>, + pub style: StyleArc<ComputedValues>, /// The CSS style of this fragment when it's selected - pub selected_style: StyleArc<ServoComputedValues>, + pub selected_style: StyleArc<ComputedValues>, /// The position of this fragment relative to its owning flow. The size includes padding and /// border, but not margin. @@ -676,8 +676,8 @@ impl Fragment { /// Constructs a new `Fragment` instance from an opaque node. pub fn from_opaque_node_and_style(node: OpaqueNode, pseudo: PseudoElementType<()>, - style: StyleArc<ServoComputedValues>, - selected_style: StyleArc<ServoComputedValues>, + style: StyleArc<ComputedValues>, + selected_style: StyleArc<ComputedValues>, mut restyle_damage: RestyleDamage, specific: SpecificFragmentInfo) -> Fragment { @@ -706,7 +706,7 @@ impl Fragment { /// type. For the new anonymous fragment, layout-related values (border box, etc.) are reset to /// initial values. pub fn create_similar_anonymous_fragment(&self, - style: StyleArc<ServoComputedValues>, + style: StyleArc<ComputedValues>, specific: SpecificFragmentInfo) -> Fragment { let writing_mode = style.writing_mode; @@ -1339,7 +1339,7 @@ impl Fragment { // Return offset from original position because of `position: relative`. pub fn relative_position(&self, containing_block_size: &LogicalSize<Au>) -> LogicalSize<Au> { - fn from_style(style: &ServoComputedValues, container_size: &LogicalSize<Au>) + fn from_style(style: &ComputedValues, container_size: &LogicalSize<Au>) -> LogicalSize<Au> { let offsets = style.logical_position(); let offset_i = if offsets.inline_start != LengthOrPercentageOrAuto::Auto { @@ -1392,12 +1392,12 @@ impl Fragment { } #[inline(always)] - pub fn style(&self) -> &ServoComputedValues { + pub fn style(&self) -> &ComputedValues { &*self.style } #[inline(always)] - pub fn selected_style(&self) -> &ServoComputedValues { + pub fn selected_style(&self) -> &ComputedValues { &*self.selected_style } @@ -2142,7 +2142,7 @@ impl Fragment { }; return inline_metrics; - fn inline_metrics_of_block(flow: &FlowRef, style: &ServoComputedValues) -> InlineMetrics { + fn inline_metrics_of_block(flow: &FlowRef, style: &ComputedValues) -> InlineMetrics { // CSS 2.1 § 10.8: "The height of each inline-level box in the line box is calculated. // For replaced elements, inline-block elements, and inline-table elements, this is the // height of their margin box." @@ -2423,7 +2423,7 @@ impl Fragment { } } - pub fn repair_style(&mut self, new_style: &StyleArc<ServoComputedValues>) { + pub fn repair_style(&mut self, new_style: &StyleArc<ComputedValues>) { self.style = (*new_style).clone() } @@ -3038,9 +3038,9 @@ pub struct InlineStyleIterator<'a> { } impl<'a> Iterator for InlineStyleIterator<'a> { - type Item = &'a ServoComputedValues; + type Item = &'a ComputedValues; - fn next(&mut self) -> Option<&'a ServoComputedValues> { + fn next(&mut self) -> Option<&'a ComputedValues> { if !self.primary_style_yielded { self.primary_style_yielded = true; return Some(&*self.fragment.style) diff --git a/components/layout/generated_content.rs b/components/layout/generated_content.rs index 5f6f9b1e706..281c5965c9f 100644 --- a/components/layout/generated_content.rs +++ b/components/layout/generated_content.rs @@ -18,7 +18,7 @@ use smallvec::SmallVec; use std::collections::{HashMap, LinkedList}; use style::computed_values::{display, list_style_type}; use style::computed_values::content::ContentItem; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::selector_parser::RestyleDamage; use style::servo::restyle_damage::RESOLVE_GENERATED_CONTENT; use text::TextRunScanner; @@ -298,7 +298,7 @@ impl<'a,'b> ResolveGeneratedContentFragmentMutator<'a,'b> { self.incremented = true } - fn quote(&self, style: &ServoComputedValues, close: bool) -> String { + fn quote(&self, style: &ComputedValues, close: bool) -> String { let quotes = &style.get_list().quotes; if quotes.0.is_empty() { return String::new() @@ -368,7 +368,7 @@ impl Counter { layout_context: &LayoutContext, node: OpaqueNode, pseudo: PseudoElementType<()>, - style: ::StyleArc<ServoComputedValues>, + style: ::StyleArc<ComputedValues>, list_style_type: list_style_type::T, mode: RenderingMode) -> Option<SpecificFragmentInfo> { @@ -431,7 +431,7 @@ struct CounterValue { fn render_text(layout_context: &LayoutContext, node: OpaqueNode, pseudo: PseudoElementType<()>, - style: ::StyleArc<ServoComputedValues>, + style: ::StyleArc<ComputedValues>, string: String) -> Option<SpecificFragmentInfo> { let mut fragments = LinkedList::new(); diff --git a/components/layout/inline.rs b/components/layout/inline.rs index de58b05255b..9228c21a7ba 100644 --- a/components/layout/inline.rs +++ b/components/layout/inline.rs @@ -33,7 +33,7 @@ use std::sync::Arc; use style::computed_values::{display, overflow_x, position, text_align, text_justify}; use style::computed_values::{vertical_align, white_space}; use style::logical_geometry::{LogicalRect, LogicalSize, WritingMode}; -use style::properties::{longhands, ServoComputedValues}; +use style::properties::{longhands, ComputedValues}; use style::servo::restyle_damage::{BUBBLE_ISIZES, REFLOW, REFLOW_OUT_OF_FLOW, REPOSITION, RESOLVE_GENERATED_CONTENT}; use text; use unicode_bidi as bidi; @@ -1106,7 +1106,7 @@ impl InlineFlow { /// Computes the minimum metrics for each line. This is done during flow construction. /// /// `style` is the style of the block. - pub fn minimum_line_metrics(&self, font_context: &mut FontContext, style: &ServoComputedValues) + pub fn minimum_line_metrics(&self, font_context: &mut FontContext, style: &ComputedValues) -> LineMetrics { InlineFlow::minimum_line_metrics_for_fragments(&self.fragments.fragments, font_context, @@ -1119,7 +1119,7 @@ impl InlineFlow { /// `style` is the style of the block that these fragments belong to. pub fn minimum_line_metrics_for_fragments(fragments: &[Fragment], font_context: &mut FontContext, - style: &ServoComputedValues) + style: &ComputedValues) -> LineMetrics { // As a special case, if this flow contains only hypothetical fragments, then the entire // flow is hypothetical and takes up no space. See CSS 2.1 § 10.3.7. @@ -1665,7 +1665,7 @@ impl Flow for InlineFlow { self.build_display_list_for_inline(state); } - fn repair_style(&mut self, _: &StyleArc<ServoComputedValues>) {} + fn repair_style(&mut self, _: &StyleArc<ComputedValues>) {} fn compute_overflow(&self) -> Overflow { let mut overflow = Overflow::new(); @@ -1754,8 +1754,8 @@ impl fmt::Debug for InlineFlow { #[derive(Clone)] pub struct InlineFragmentNodeInfo { pub address: OpaqueNode, - pub style: StyleArc<ServoComputedValues>, - pub selected_style: StyleArc<ServoComputedValues>, + pub style: StyleArc<ComputedValues>, + pub selected_style: StyleArc<ComputedValues>, pub pseudo: PseudoElementType<()>, pub flags: InlineFragmentNodeFlags, } diff --git a/components/layout/list_item.rs b/components/layout/list_item.rs index cb8cd27df70..faf8ae259fc 100644 --- a/components/layout/list_item.rs +++ b/components/layout/list_item.rs @@ -20,7 +20,7 @@ use generated_content; use inline::InlineFlow; use style::computed_values::{list_style_type, position}; use style::logical_geometry::LogicalSize; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::servo::restyle_damage::RESOLVE_GENERATED_CONTENT; /// A block with the CSS `display` property equal to `list-item`. @@ -147,7 +147,7 @@ impl Flow for ListItemFlow { self.block_flow.collect_stacking_contexts(state); } - fn repair_style(&mut self, new_style: &::StyleArc<ServoComputedValues>) { + fn repair_style(&mut self, new_style: &::StyleArc<ComputedValues>) { self.block_flow.repair_style(new_style) } diff --git a/components/layout/model.rs b/components/layout/model.rs index 7f564a599ab..c96c3bdaaf5 100644 --- a/components/layout/model.rs +++ b/components/layout/model.rs @@ -13,7 +13,7 @@ use std::cmp::{max, min}; use std::fmt; use style::computed_values::transform::ComputedMatrix; use style::logical_geometry::{LogicalMargin, WritingMode}; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::values::computed::{BorderCornerRadius, LengthOrPercentageOrAuto}; use style::values::computed::{LengthOrPercentage, LengthOrPercentageOrNone}; @@ -481,7 +481,7 @@ pub fn specified_border_radius( } #[inline] -pub fn padding_from_style(style: &ServoComputedValues, +pub fn padding_from_style(style: &ComputedValues, containing_block_inline_size: Au, writing_mode: WritingMode) -> LogicalMargin<Au> { @@ -498,7 +498,7 @@ pub fn padding_from_style(style: &ServoComputedValues, /// /// This is used when calculating intrinsic inline sizes. #[inline] -pub fn specified_margin_from_style(style: &ServoComputedValues, +pub fn specified_margin_from_style(style: &ComputedValues, writing_mode: WritingMode) -> LogicalMargin<Au> { let margin_style = style.get_margin(); LogicalMargin::from_physical(writing_mode, SideOffsets2D::new( diff --git a/components/layout/multicol.rs b/components/layout/multicol.rs index afe45c2aea7..739341ab4e3 100644 --- a/components/layout/multicol.rs +++ b/components/layout/multicol.rs @@ -20,7 +20,7 @@ use std::cmp::{min, max}; use std::fmt; use std::sync::Arc; use style::logical_geometry::LogicalSize; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::values::Either; use style::values::computed::{LengthOrPercentageOrAuto, LengthOrPercentageOrNone}; @@ -193,7 +193,7 @@ impl Flow for MulticolFlow { self.block_flow.collect_stacking_contexts(state); } - fn repair_style(&mut self, new_style: &StyleArc<ServoComputedValues>) { + fn repair_style(&mut self, new_style: &StyleArc<ComputedValues>) { self.block_flow.repair_style(new_style) } @@ -275,7 +275,7 @@ impl Flow for MulticolColumnFlow { self.block_flow.collect_stacking_contexts(state); } - fn repair_style(&mut self, new_style: &StyleArc<ServoComputedValues>) { + fn repair_style(&mut self, new_style: &StyleArc<ComputedValues>) { self.block_flow.repair_style(new_style) } diff --git a/components/layout/table.rs b/components/layout/table.rs index d199b059a69..809e2ac4e29 100644 --- a/components/layout/table.rs +++ b/components/layout/table.rs @@ -24,7 +24,7 @@ use std::fmt; use style::computed_values::{border_collapse, border_spacing, table_layout}; use style::context::SharedStyleContext; use style::logical_geometry::LogicalSize; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::servo::restyle_damage::{REFLOW, REFLOW_OUT_OF_FLOW}; use style::values::CSSFloat; use style::values::computed::LengthOrPercentageOrAuto; @@ -506,7 +506,7 @@ impl Flow for TableFlow { self.block_flow.collect_stacking_contexts(state); } - fn repair_style(&mut self, new_style: &::StyleArc<ServoComputedValues>) { + fn repair_style(&mut self, new_style: &::StyleArc<ComputedValues>) { self.block_flow.repair_style(new_style) } diff --git a/components/layout/table_caption.rs b/components/layout/table_caption.rs index 99d95fd9587..c225339b082 100644 --- a/components/layout/table_caption.rs +++ b/components/layout/table_caption.rs @@ -16,7 +16,7 @@ use fragment::{Fragment, FragmentBorderBoxIterator, Overflow}; use gfx_traits::print_tree::PrintTree; use std::fmt; use style::logical_geometry::LogicalSize; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; /// A table formatting context. pub struct TableCaptionFlow { @@ -83,7 +83,7 @@ impl Flow for TableCaptionFlow { self.block_flow.collect_stacking_contexts(state); } - fn repair_style(&mut self, new_style: &::StyleArc<ServoComputedValues>) { + fn repair_style(&mut self, new_style: &::StyleArc<ComputedValues>) { self.block_flow.repair_style(new_style) } diff --git a/components/layout/table_cell.rs b/components/layout/table_cell.rs index 47f74891488..6ba7667a0a9 100644 --- a/components/layout/table_cell.rs +++ b/components/layout/table_cell.rs @@ -20,7 +20,7 @@ use script_layout_interface::wrapper_traits::ThreadSafeLayoutNode; use std::fmt; use style::computed_values::{border_collapse, border_top_style, vertical_align}; use style::logical_geometry::{LogicalMargin, LogicalRect, LogicalSize, WritingMode}; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::values::computed::Color; use table::InternalTable; use table_row::{CollapsedBorder, CollapsedBorderProvenance}; @@ -263,7 +263,7 @@ impl Flow for TableCellFlow { self.block_flow.collect_stacking_contexts(state); } - fn repair_style(&mut self, new_style: &::StyleArc<ServoComputedValues>) { + fn repair_style(&mut self, new_style: &::StyleArc<ComputedValues>) { self.block_flow.repair_style(new_style) } diff --git a/components/layout/table_colgroup.rs b/components/layout/table_colgroup.rs index 85d5207646e..4967f19ee73 100644 --- a/components/layout/table_colgroup.rs +++ b/components/layout/table_colgroup.rs @@ -16,7 +16,7 @@ use layout_debug; use std::cmp::max; use std::fmt; use style::logical_geometry::LogicalSize; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::values::computed::LengthOrPercentageOrAuto; /// A table formatting context. @@ -94,7 +94,7 @@ impl Flow for TableColGroupFlow { fn collect_stacking_contexts(&mut self, _: &mut DisplayListBuildState) {} - fn repair_style(&mut self, _: &::StyleArc<ServoComputedValues>) {} + fn repair_style(&mut self, _: &::StyleArc<ComputedValues>) {} fn compute_overflow(&self) -> Overflow { Overflow::new() diff --git a/components/layout/table_row.rs b/components/layout/table_row.rs index 45b47ee8de5..cc683096831 100644 --- a/components/layout/table_row.rs +++ b/components/layout/table_row.rs @@ -23,7 +23,7 @@ use std::fmt; use std::iter::{Enumerate, IntoIterator, Peekable}; use style::computed_values::{border_collapse, border_spacing, border_top_style}; use style::logical_geometry::{LogicalSize, PhysicalSide, WritingMode}; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::servo::restyle_damage::{REFLOW, REFLOW_OUT_OF_FLOW}; use style::values::computed::{Color, LengthOrPercentageOrAuto}; use table::{ColumnComputedInlineSize, ColumnIntrinsicInlineSize, InternalTable, VecExt}; @@ -481,7 +481,7 @@ impl Flow for TableRowFlow { self.block_flow.collect_stacking_contexts(state); } - fn repair_style(&mut self, new_style: &::StyleArc<ServoComputedValues>) { + fn repair_style(&mut self, new_style: &::StyleArc<ComputedValues>) { self.block_flow.repair_style(new_style) } @@ -612,7 +612,7 @@ impl CollapsedBorder { /// Creates a collapsed border from the block-start border described in the given CSS style /// object. - fn top(css_style: &ServoComputedValues, provenance: CollapsedBorderProvenance) + fn top(css_style: &ComputedValues, provenance: CollapsedBorderProvenance) -> CollapsedBorder { CollapsedBorder { style: css_style.get_border().border_top_style, @@ -624,7 +624,7 @@ impl CollapsedBorder { /// Creates a collapsed border style from the right border described in the given CSS style /// object. - fn right(css_style: &ServoComputedValues, provenance: CollapsedBorderProvenance) + fn right(css_style: &ComputedValues, provenance: CollapsedBorderProvenance) -> CollapsedBorder { CollapsedBorder { style: css_style.get_border().border_right_style, @@ -636,7 +636,7 @@ impl CollapsedBorder { /// Creates a collapsed border style from the bottom border described in the given CSS style /// object. - fn bottom(css_style: &ServoComputedValues, provenance: CollapsedBorderProvenance) + fn bottom(css_style: &ComputedValues, provenance: CollapsedBorderProvenance) -> CollapsedBorder { CollapsedBorder { style: css_style.get_border().border_bottom_style, @@ -648,7 +648,7 @@ impl CollapsedBorder { /// Creates a collapsed border style from the left border described in the given CSS style /// object. - fn left(css_style: &ServoComputedValues, provenance: CollapsedBorderProvenance) + fn left(css_style: &ComputedValues, provenance: CollapsedBorderProvenance) -> CollapsedBorder { CollapsedBorder { style: css_style.get_border().border_left_style, @@ -660,7 +660,7 @@ impl CollapsedBorder { /// Creates a collapsed border style from the given physical side. fn from_side(side: PhysicalSide, - css_style: &ServoComputedValues, + css_style: &ComputedValues, provenance: CollapsedBorderProvenance) -> CollapsedBorder { match side { @@ -673,7 +673,7 @@ impl CollapsedBorder { /// Creates a collapsed border style from the inline-start border described in the given CSS /// style object. - pub fn inline_start(css_style: &ServoComputedValues, provenance: CollapsedBorderProvenance) + pub fn inline_start(css_style: &ComputedValues, provenance: CollapsedBorderProvenance) -> CollapsedBorder { CollapsedBorder::from_side(css_style.writing_mode.inline_start_physical_side(), css_style, @@ -682,7 +682,7 @@ impl CollapsedBorder { /// Creates a collapsed border style from the inline-start border described in the given CSS /// style object. - pub fn inline_end(css_style: &ServoComputedValues, provenance: CollapsedBorderProvenance) + pub fn inline_end(css_style: &ComputedValues, provenance: CollapsedBorderProvenance) -> CollapsedBorder { CollapsedBorder::from_side(css_style.writing_mode.inline_end_physical_side(), css_style, @@ -691,7 +691,7 @@ impl CollapsedBorder { /// Creates a collapsed border style from the block-start border described in the given CSS /// style object. - pub fn block_start(css_style: &ServoComputedValues, provenance: CollapsedBorderProvenance) + pub fn block_start(css_style: &ComputedValues, provenance: CollapsedBorderProvenance) -> CollapsedBorder { CollapsedBorder::from_side(css_style.writing_mode.block_start_physical_side(), css_style, @@ -700,7 +700,7 @@ impl CollapsedBorder { /// Creates a collapsed border style from the block-end border described in the given CSS style /// object. - pub fn block_end(css_style: &ServoComputedValues, provenance: CollapsedBorderProvenance) + pub fn block_end(css_style: &ComputedValues, provenance: CollapsedBorderProvenance) -> CollapsedBorder { CollapsedBorder::from_side(css_style.writing_mode.block_end_physical_side(), css_style, @@ -909,7 +909,7 @@ pub struct BorderCollapseInfoForChildTableCell<'a> { /// table row. This is done eagerly here so that at least the inline inside border collapse /// computations can be parallelized across all the rows of the table. fn perform_inline_direction_border_collapse_for_row( - row_style: &ServoComputedValues, + row_style: &ComputedValues, children_count: usize, child_index: usize, child_table_cell: &mut TableCellFlow, diff --git a/components/layout/table_rowgroup.rs b/components/layout/table_rowgroup.rs index 7664796b082..779832923d0 100644 --- a/components/layout/table_rowgroup.rs +++ b/components/layout/table_rowgroup.rs @@ -20,7 +20,7 @@ use std::fmt; use std::iter::{IntoIterator, Iterator, Peekable}; use style::computed_values::{border_collapse, border_spacing}; use style::logical_geometry::LogicalSize; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use table::{ColumnIntrinsicInlineSize, InternalTable, TableLikeFlow}; /// A table formatting context. @@ -185,7 +185,7 @@ impl Flow for TableRowGroupFlow { self.block_flow.collect_stacking_contexts(state); } - fn repair_style(&mut self, new_style: &::StyleArc<ServoComputedValues>) { + fn repair_style(&mut self, new_style: &::StyleArc<ComputedValues>) { self.block_flow.repair_style(new_style) } diff --git a/components/layout/table_wrapper.rs b/components/layout/table_wrapper.rs index 015f32a9762..ac0e6025c67 100644 --- a/components/layout/table_wrapper.rs +++ b/components/layout/table_wrapper.rs @@ -30,7 +30,7 @@ use std::ops::Add; use style::computed_values::{border_collapse, position, table_layout}; use style::context::SharedStyleContext; use style::logical_geometry::{LogicalRect, LogicalSize}; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::values::CSSFloat; use style::values::computed::LengthOrPercentageOrAuto; use table::{ColumnComputedInlineSize, ColumnIntrinsicInlineSize}; @@ -466,7 +466,7 @@ impl Flow for TableWrapperFlow { self.block_flow.collect_stacking_contexts(state); } - fn repair_style(&mut self, new_style: &::StyleArc<ServoComputedValues>) { + fn repair_style(&mut self, new_style: &::StyleArc<ComputedValues>) { self.block_flow.repair_style(new_style) } diff --git a/components/layout/text.rs b/components/layout/text.rs index 10093f251b8..ab2f941fc03 100644 --- a/components/layout/text.rs +++ b/components/layout/text.rs @@ -26,7 +26,7 @@ use std::sync::Arc; use style::computed_values::{text_rendering, text_transform}; use style::computed_values::{word_break, white_space}; use style::logical_geometry::{LogicalSize, WritingMode}; -use style::properties::ServoComputedValues; +use style::properties::ComputedValues; use style::properties::style_structs; use style::values::generics::text::LineHeight; use unicode_bidi as bidi; @@ -445,7 +445,7 @@ pub fn font_metrics_for_style(font_context: &mut FontContext, font_style: ::Styl } /// Returns the line block-size needed by the given computed style and font size. -pub fn line_height_from_style(style: &ServoComputedValues, metrics: &FontMetrics) -> Au { +pub fn line_height_from_style(style: &ComputedValues, metrics: &FontMetrics) -> Au { let font_size = style.get_font().font_size; match style.get_inheritedtext().line_height { LineHeight::Normal => metrics.line_gap, diff --git a/components/layout_thread/dom_wrapper.rs b/components/layout_thread/dom_wrapper.rs index cf4aef91049..00e73df2b25 100644 --- a/components/layout_thread/dom_wrapper.rs +++ b/components/layout_thread/dom_wrapper.rs @@ -78,7 +78,7 @@ use style::selector_parser::{AttrValue as SelectorAttrValue, NonTSPseudoClass, P use style::selector_parser::{PseudoElement, SelectorImpl, extended_filtering}; use style::shared_lock::{SharedRwLock as StyleSharedRwLock, Locked as StyleLocked}; use style::str::is_whitespace; -use style::stylearc::Arc; +use style::stylearc::{Arc, ArcBorrow}; pub unsafe fn drop_style_and_layout_data(data: OpaqueStyleAndLayoutData) { let ptr: *mut StyleData = data.ptr.get(); @@ -412,9 +412,9 @@ impl<'le> TElement for ServoLayoutElement<'le> { ServoLayoutNode::from_layout_js(self.element.upcast()) } - fn style_attribute(&self) -> Option<&Arc<StyleLocked<PropertyDeclarationBlock>>> { + fn style_attribute(&self) -> Option<ArcBorrow<StyleLocked<PropertyDeclarationBlock>>> { unsafe { - (*self.element.style_attribute()).as_ref() + (*self.element.style_attribute()).as_ref().map(|x| x.borrow_arc()) } } diff --git a/components/script/dom/cssrulelist.rs b/components/script/dom/cssrulelist.rs index 28b1779be29..78ec43e5c51 100644 --- a/components/script/dom/cssrulelist.rs +++ b/components/script/dom/cssrulelist.rs @@ -90,13 +90,15 @@ impl CSSRuleList { let index = idx as usize; let parent_stylesheet = self.parent_stylesheet.style_stylesheet(); - let new_rule = - css_rules.insert_rule(&parent_stylesheet.shared_lock, - rule, - &parent_stylesheet.contents, - index, - nested, - None)?; + let new_rule = css_rules.with_raw_offset_arc(|arc| { + arc.insert_rule(&parent_stylesheet.shared_lock, + rule, + &parent_stylesheet.contents, + index, + nested, + None) + })?; + let parent_stylesheet = &*self.parent_stylesheet; let dom_rule = CSSRule::new_specific(&window, parent_stylesheet, new_rule); diff --git a/components/script_layout_interface/wrapper_traits.rs b/components/script_layout_interface/wrapper_traits.rs index 33ffc3b545b..67506a154d4 100644 --- a/components/script_layout_interface/wrapper_traits.rs +++ b/components/script_layout_interface/wrapper_traits.rs @@ -22,7 +22,7 @@ use style::data::ElementData; use style::dom::{LayoutIterator, NodeInfo, PresentationalHintsSynthesizer, TNode}; use style::dom::OpaqueNode; use style::font_metrics::ServoMetricsProvider; -use style::properties::{CascadeFlags, ServoComputedValues}; +use style::properties::{CascadeFlags, ComputedValues}; use style::selector_parser::{PseudoElement, PseudoElementCascadeType, SelectorImpl}; use style::stylearc::Arc; use style::stylist::RuleInclusion; @@ -181,7 +181,7 @@ pub trait ThreadSafeLayoutNode: Clone + Copy + Debug + GetLayoutData + NodeInfo /// it can be used to reach siblings and cousins. A simple immutable borrow /// of the parent data is fine, since the bottom-up traversal will not process /// the parent until all the children have been processed. - fn parent_style(&self) -> Arc<ServoComputedValues>; + fn parent_style(&self) -> Arc<ComputedValues>; #[inline] fn is_element_or_elements_pseudo(&self) -> bool { @@ -223,7 +223,7 @@ pub trait ThreadSafeLayoutNode: Clone + Copy + Debug + GetLayoutData + NodeInfo fn get_style_and_layout_data(&self) -> Option<OpaqueStyleAndLayoutData>; - fn style(&self, context: &SharedStyleContext) -> Arc<ServoComputedValues> { + fn style(&self, context: &SharedStyleContext) -> Arc<ComputedValues> { if let Some(el) = self.as_element() { el.style(context) } else { @@ -234,7 +234,7 @@ pub trait ThreadSafeLayoutNode: Clone + Copy + Debug + GetLayoutData + NodeInfo } } - fn selected_style(&self) -> Arc<ServoComputedValues> { + fn selected_style(&self) -> Arc<ComputedValues> { if let Some(el) = self.as_element() { el.selected_style() } else { @@ -393,7 +393,7 @@ pub trait ThreadSafeLayoutElement: Clone + Copy + Sized + Debug + /// /// Unlike the version on TNode, this handles pseudo-elements. #[inline] - fn style(&self, context: &SharedStyleContext) -> Arc<ServoComputedValues> { + fn style(&self, context: &SharedStyleContext) -> Arc<ComputedValues> { let data = self.style_data(); match self.get_pseudo_element_type() { PseudoElementType::Normal => { @@ -416,7 +416,7 @@ pub trait ThreadSafeLayoutElement: Clone + Copy + Sized + Debug + &style_pseudo, Some(data.styles.primary()), CascadeFlags::empty(), - &ServoMetricsProvider) + &ServoMetricsProvider, (), ()) .clone() } PseudoElementCascadeType::Lazy => { @@ -428,7 +428,7 @@ pub trait ThreadSafeLayoutElement: Clone + Copy + Sized + Debug + RuleInclusion::All, data.styles.primary(), /* is_probe = */ false, - &ServoMetricsProvider) + &ServoMetricsProvider, (), ()) .unwrap() .clone() } @@ -438,7 +438,7 @@ pub trait ThreadSafeLayoutElement: Clone + Copy + Sized + Debug + } #[inline] - fn selected_style(&self) -> Arc<ServoComputedValues> { + fn selected_style(&self) -> Arc<ComputedValues> { let data = self.style_data(); data.styles.pseudos .get(&PseudoElement::Selection).map(|s| s) @@ -454,7 +454,7 @@ pub trait ThreadSafeLayoutElement: Clone + Copy + Sized + Debug + /// This should be used just for querying layout, or when we know the /// element style is precomputed, not from general layout itself. #[inline] - fn resolved_style(&self) -> Arc<ServoComputedValues> { + fn resolved_style(&self) -> Arc<ComputedValues> { let data = self.style_data(); match self.get_pseudo_element_type() { PseudoElementType::Normal diff --git a/components/servo_arc/lib.rs b/components/servo_arc/lib.rs index ff4074767f8..b1f4f277a49 100644 --- a/components/servo_arc/lib.rs +++ b/components/servo_arc/lib.rs @@ -194,6 +194,30 @@ impl<T> Arc<T> { p: NonZeroPtrMut::new(ptr as *mut ArcInner<T>), } } + + /// Produce a pointer to the data that can be converted back + /// to an arc + pub fn borrow_arc<'a>(&'a self) -> ArcBorrow<'a, T> { + ArcBorrow(&**self) + } + /// Temporarily converts |self| into a bonafide RawOffsetArc and exposes it to the + /// provided callback. The refcount is not modified. + #[inline(always)] + pub fn with_raw_offset_arc<F, U>(&self, f: F) -> U + where F: FnOnce(&RawOffsetArc<T>) -> U + { + // Synthesize transient Arc, which never touches the refcount of the ArcInner. + let transient = unsafe { NoDrop::new(Arc::into_raw_offset(ptr::read(self))) }; + + // Expose the transient Arc to the callback, which may clone it if it wants. + let result = f(&transient); + + // Forget the transient Arc to leave the refcount untouched. + mem::forget(transient); + + // Forward the result. + result + } } impl<T: ?Sized> Arc<T> { @@ -637,6 +661,8 @@ impl<H: 'static, T: 'static> ThinArc<H, T> { let result = f(&transient); // Forget the transient Arc to leave the refcount untouched. + // XXXManishearth this can be removed when unions stabilize, + // since then NoDrop becomes zero overhead mem::forget(transient); // Forward the result. @@ -700,6 +726,193 @@ impl<H: PartialEq + 'static, T: PartialEq + 'static> PartialEq for ThinArc<H, T> impl<H: Eq + 'static, T: Eq + 'static> Eq for ThinArc<H, T> {} +/// An Arc, except it holds a pointer to the T instead of to the +/// entire ArcInner. +/// +/// ```text +/// Arc<T> RawOffsetArc<T> +/// | | +/// v v +/// --------------------- +/// | RefCount | T (data) | [ArcInner<T>] +/// --------------------- +/// ``` +/// +/// This means that this is a direct pointer to +/// its contained data (and can be read from by both C++ and Rust), +/// but we can also convert it to a "regular" Arc<T> by removing the offset +#[derive(Eq)] +pub struct RawOffsetArc<T: 'static> { + ptr: NonZeroPtrMut<T>, +} + +unsafe impl<T: 'static + Sync + Send> Send for RawOffsetArc<T> {} +unsafe impl<T: 'static + Sync + Send> Sync for RawOffsetArc<T> {} + +impl<T: 'static> Deref for RawOffsetArc<T> { + type Target = T; + fn deref(&self) -> &Self::Target { + unsafe { &*self.ptr.ptr() } + } +} + +impl<T: 'static> Clone for RawOffsetArc<T> { + fn clone(&self) -> Self { + Arc::into_raw_offset(self.clone_arc()) + } +} + +impl<T: 'static> Drop for RawOffsetArc<T> { + fn drop(&mut self) { + let _ = Arc::from_raw_offset(RawOffsetArc { ptr: self.ptr.clone() }); + } +} + + +impl<T: fmt::Debug + 'static> fmt::Debug for RawOffsetArc<T> { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + fmt::Debug::fmt(&**self, f) + } +} + +impl<T: PartialEq> PartialEq for RawOffsetArc<T> { + fn eq(&self, other: &RawOffsetArc<T>) -> bool { + *(*self) == *(*other) + } + + fn ne(&self, other: &RawOffsetArc<T>) -> bool { + *(*self) != *(*other) + } +} + +impl<T: 'static> RawOffsetArc<T> { + /// Temporarily converts |self| into a bonafide Arc and exposes it to the + /// provided callback. The refcount is not modified. + #[inline(always)] + pub fn with_arc<F, U>(&self, f: F) -> U + where F: FnOnce(&Arc<T>) -> U + { + // Synthesize transient Arc, which never touches the refcount of the ArcInner. + let transient = unsafe { NoDrop::new(Arc::from_raw(self.ptr.ptr())) }; + + // Expose the transient Arc to the callback, which may clone it if it wants. + let result = f(&transient); + + // Forget the transient Arc to leave the refcount untouched. + // XXXManishearth this can be removed when unions stabilize, + // since then NoDrop becomes zero overhead + mem::forget(transient); + + // Forward the result. + result + } + + /// If uniquely owned, provide a mutable reference + /// Else create a copy, and mutate that + pub fn make_mut(&mut self) -> &mut T where T: Clone { + unsafe { + // extract the RawOffsetArc as an owned variable + let this = ptr::read(self); + // treat it as a real Arc + let mut arc = Arc::from_raw_offset(this); + // obtain the mutable reference. Cast away the lifetime + // This may mutate `arc` + let ret = Arc::make_mut(&mut arc) as *mut _; + // Store the possibly-mutated arc back inside, after converting + // it to a RawOffsetArc again + ptr::write(self, Arc::into_raw_offset(arc)); + &mut *ret + } + } + + /// Clone it as an Arc + pub fn clone_arc(&self) -> Arc<T> { + RawOffsetArc::with_arc(self, |a| a.clone()) + } + + /// Produce a pointer to the data that can be converted back + /// to an arc + pub fn borrow_arc<'a>(&'a self) -> ArcBorrow<'a, T> { + ArcBorrow(&**self) + } +} + +impl<T: 'static> Arc<T> { + /// Converts an Arc into a RawOffsetArc. This consumes the Arc, so the refcount + /// is not modified. + #[inline] + pub fn into_raw_offset(a: Self) -> RawOffsetArc<T> { + RawOffsetArc { + ptr: NonZeroPtrMut::new(Arc::into_raw(a) as *mut T), + } + } + + /// Converts a RawOffsetArc into an Arc. This consumes the RawOffsetArc, so the refcount + /// is not modified. + #[inline] + pub fn from_raw_offset(a: RawOffsetArc<T>) -> Self { + let ptr = a.ptr.ptr(); + mem::forget(a); + unsafe { Arc::from_raw(ptr) } + } +} + +/// A "borrowed Arc". This is a pointer to +/// a T that is known to have been allocated within an +/// Arc. +/// +/// This is equivalent in guarantees to `&Arc<T>`, however it is +/// a bit more flexible. To obtain an `&Arc<T>` you must have +/// an Arc<T> instance somewhere pinned down until we're done with it. +/// +/// However, Gecko hands us refcounted things as pointers to T directly, +/// so we have to conjure up a temporary Arc on the stack each time. The +/// same happens for when the object is managed by a RawOffsetArc. +/// +/// ArcBorrow lets us deal with borrows of known-refcounted objects +/// without needing to worry about how they're actually stored. +#[derive(PartialEq, Eq)] +pub struct ArcBorrow<'a, T: 'a>(&'a T); + +impl<'a, T> Copy for ArcBorrow<'a, T> {} +impl<'a, T> Clone for ArcBorrow<'a, T> { + fn clone(&self) -> Self { + *self + } +} + +impl<'a, T> ArcBorrow<'a, T> { + pub fn clone_arc(&self) -> Arc<T> { + let arc = unsafe { Arc::from_raw(self.0) }; + // addref it! + mem::forget(arc.clone()); + arc + } + + pub fn with_arc<F, U>(&self, f: F) -> U where F: FnOnce(&Arc<T>) -> U, T: 'static { + // Synthesize transient Arc, which never touches the refcount. + let transient = unsafe { NoDrop::new(Arc::from_raw(self.0)) }; + + // Expose the transient Arc to the callback, which may clone it if it wants. + let result = f(&transient); + + // Forget the transient Arc to leave the refcount untouched. + // XXXManishearth this can be removed when unions stabilize, + // since then NoDrop becomes zero overhead + mem::forget(transient); + + // Forward the result. + result + } +} + +impl<'a, T> Deref for ArcBorrow<'a, T> { + type Target = T; + fn deref(&self) -> &T { + &*self.0 + } +} + #[cfg(test)] mod tests { use std::clone::Clone; diff --git a/components/style/animation.rs b/components/style/animation.rs index a696d6bb303..84392bead13 100644 --- a/components/style/animation.rs +++ b/components/style/animation.rs @@ -11,7 +11,7 @@ use context::SharedStyleContext; use dom::OpaqueNode; use euclid::Point2D; use font_metrics::FontMetricsProvider; -use properties::{self, CascadeFlags, ComputedValues, Importance}; +use properties::{self, CascadeFlags, ComputedValues, ComputedValuesInner, Importance}; use properties::animated_properties::{AnimatableLonghand, AnimatedProperty, TransitionProperty}; use properties::longhands::animation_direction::computed_value::single_value::T as AnimationDirection; use properties::longhands::animation_iteration_count::single_value::computed_value::T as AnimationIterationCount; @@ -347,8 +347,8 @@ impl PropertyAnimation { fn from_animatable_longhand(animatable_longhand: &AnimatableLonghand, timing_function: TimingFunction, duration: Time, - old_style: &ComputedValues, - new_style: &ComputedValues) + old_style: &ComputedValuesInner, + new_style: &ComputedValuesInner) -> Option<PropertyAnimation> { let animated_property = AnimatedProperty::from_animatable_longhand(animatable_longhand, old_style, @@ -480,10 +480,10 @@ pub fn start_transitions_if_applicable(new_animations_sender: &Sender<Animation> fn compute_style_for_animation_step(context: &SharedStyleContext, step: &KeyframesStep, - previous_style: &ComputedValues, - style_from_cascade: &ComputedValues, + previous_style: &ComputedValuesInner, + style_from_cascade: &ComputedValuesInner, font_metrics_provider: &FontMetricsProvider) - -> ComputedValues { + -> ComputedValuesInner { match step.value { KeyframesStepValue::ComputedValues => style_from_cascade.clone(), KeyframesStepValue::Declarations { block: ref declarations } => { diff --git a/components/style/dom.rs b/components/style/dom.rs index fefa193eba9..f9173fa4f32 100644 --- a/components/style/dom.rs +++ b/components/style/dom.rs @@ -15,7 +15,7 @@ use data::ElementData; use element_state::ElementState; use font_metrics::FontMetricsProvider; use media_queries::Device; -use properties::{AnimationRules, ComputedValues, PropertyDeclarationBlock}; +use properties::{AnimationRules, ComputedValues, ComputedValuesInner, PropertyDeclarationBlock}; #[cfg(feature = "gecko")] use properties::animated_properties::AnimationValue; #[cfg(feature = "gecko")] use properties::animated_properties::TransitionProperty; use rule_tree::CascadeLevel; @@ -30,7 +30,7 @@ use std::fmt; use std::fmt::Debug; use std::hash::Hash; use std::ops::Deref; -use stylearc::Arc; +use stylearc::{Arc, ArcBorrow}; use stylist::Stylist; use thread_state; @@ -360,7 +360,7 @@ pub trait TElement : Eq + PartialEq + Debug + Hash + Sized + Copy + Clone + } /// Get this element's style attribute. - fn style_attribute(&self) -> Option<&Arc<Locked<PropertyDeclarationBlock>>>; + fn style_attribute(&self) -> Option<ArcBorrow<Locked<PropertyDeclarationBlock>>>; /// Unset the style attribute's dirty bit. /// Servo doesn't need to manage ditry bit for style attribute. @@ -368,7 +368,7 @@ pub trait TElement : Eq + PartialEq + Debug + Hash + Sized + Copy + Clone + } /// Get this element's SMIL override declarations. - fn get_smil_override(&self) -> Option<&Arc<Locked<PropertyDeclarationBlock>>> { + fn get_smil_override(&self) -> Option<ArcBorrow<Locked<PropertyDeclarationBlock>>> { None } @@ -436,7 +436,7 @@ pub trait TElement : Eq + PartialEq + Debug + Hash + Sized + Copy + Clone + fn may_generate_pseudo( &self, pseudo: &PseudoElement, - _primary_style: &ComputedValues, + _primary_style: &ComputedValuesInner, ) -> bool { // ::before/::after are always supported for now, though we could try to // optimize out leaf elements. diff --git a/components/style/gecko/arc_types.rs b/components/style/gecko/arc_types.rs index 352cd7b7e4d..704369e225c 100644 --- a/components/style/gecko/arc_types.rs +++ b/components/style/gecko/arc_types.rs @@ -10,11 +10,11 @@ use gecko_bindings::bindings::{RawServoImportRule, RawServoSupportsRule}; use gecko_bindings::bindings::{RawServoKeyframe, RawServoKeyframesRule}; -use gecko_bindings::bindings::{RawServoNamespaceRule, RawServoPageRule}; -use gecko_bindings::bindings::{RawServoRuleNode, RawServoRuleNodeStrong, RawServoDocumentRule, RawServoMediaRule}; -use gecko_bindings::bindings::{ServoComputedValues, ServoCssRules}; +use gecko_bindings::bindings::{RawServoMediaRule, RawServoNamespaceRule, RawServoPageRule}; +use gecko_bindings::bindings::{RawServoRuleNode, RawServoRuleNodeStrong, RawServoDocumentRule}; +use gecko_bindings::bindings::ServoCssRules; use gecko_bindings::structs::{RawServoAnimationValue, RawServoDeclarationBlock, RawServoStyleRule, RawServoMediaList}; -use gecko_bindings::structs::RawServoStyleSheetContents; +use gecko_bindings::structs::{RawServoStyleSheetContents, ServoStyleContext}; use gecko_bindings::sugar::ownership::{HasArcFFI, HasFFI}; use media_queries::MediaList; use properties::{ComputedValues, PropertyDeclarationBlock}; @@ -51,8 +51,8 @@ impl_arc_ffi!(Locked<CssRules> => ServoCssRules impl_arc_ffi!(StylesheetContents => RawServoStyleSheetContents [Servo_StyleSheetContents_AddRef, Servo_StyleSheetContents_Release]); -impl_arc_ffi!(ComputedValues => ServoComputedValues - [Servo_ComputedValues_AddRef, Servo_ComputedValues_Release]); +impl_arc_ffi!(ComputedValues => ServoStyleContext + [Servo_StyleContext_AddRef, Servo_StyleContext_Release]); impl_arc_ffi!(Locked<PropertyDeclarationBlock> => RawServoDeclarationBlock [Servo_DeclarationBlock_AddRef, Servo_DeclarationBlock_Release]); diff --git a/components/style/gecko/data.rs b/components/style/gecko/data.rs index c6a73714b26..88af4fed72d 100644 --- a/components/style/gecko/data.rs +++ b/components/style/gecko/data.rs @@ -16,7 +16,7 @@ use gecko_bindings::structs::nsIDocument; use gecko_bindings::sugar::ownership::{HasArcFFI, HasBoxFFI, HasFFI, HasSimpleFFI}; use invalidation::media_queries::{MediaListKey, ToMediaListKey}; use media_queries::{Device, MediaList}; -use properties::ComputedValues; +use properties::ComputedValuesInner; use shared_lock::{Locked, StylesheetGuards, SharedRwLockReadGuard}; use stylearc::Arc; use stylesheet_set::StylesheetSet; @@ -188,8 +188,8 @@ impl PerDocumentStyleDataImpl { } /// Get the default computed values for this document. - pub fn default_computed_values(&self) -> &Arc<ComputedValues> { - self.stylist.device().default_computed_values_arc() + pub fn default_computed_values(&self) -> &ComputedValuesInner { + self.stylist.device().default_computed_values() } /// Clear the stylist. This will be a no-op if the stylist is diff --git a/components/style/gecko/generated/bindings.rs b/components/style/gecko/generated/bindings.rs index d9c09666859..fb2cf3bcfc9 100644 --- a/components/style/gecko/generated/bindings.rs +++ b/components/style/gecko/generated/bindings.rs @@ -5,6 +5,10 @@ use gecko_bindings::structs::nsStyleTransformMatrix; use gecko_bindings::structs::nsTArray; type nsACString_internal = nsACString; type nsAString_internal = nsAString; +pub type ServoStyleContextBorrowed<'a> = &'a ServoStyleContext; +pub type ServoStyleContextBorrowedOrNull<'a> = Option<&'a ::properties::ComputedValues>; +pub type ServoComputedValuesBorrowed<'a> = &'a ServoComputedValues; +pub type ServoComputedValuesBorrowedOrNull<'a> = Option<&'a ServoComputedValues>; use gecko_bindings::structs::mozilla::css::GridTemplateAreasValue; use gecko_bindings::structs::mozilla::css::ErrorReporter; use gecko_bindings::structs::mozilla::css::ImageValue; @@ -215,6 +219,9 @@ use gecko_bindings::structs::nsresult; use gecko_bindings::structs::Loader; use gecko_bindings::structs::LoaderReusableStyleSheets; use gecko_bindings::structs::ServoStyleSheet; +use gecko_bindings::structs::ServoComputedValues; +use gecko_bindings::structs::ServoStyleContext; +use gecko_bindings::structs::ServoStyleContextStrong; use gecko_bindings::structs::EffectCompositor_CascadeLevel; use gecko_bindings::structs::UpdateAnimationsTasks; use gecko_bindings::structs::ParsingMode; @@ -314,11 +321,6 @@ pub struct ServoCssRules(ServoCssRulesVoid); pub type RawServoStyleSheetContentsStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoStyleSheetContents>; pub type RawServoStyleSheetContentsBorrowed<'a> = &'a RawServoStyleSheetContents; pub type RawServoStyleSheetContentsBorrowedOrNull<'a> = Option<&'a RawServoStyleSheetContents>; -pub type ServoComputedValuesStrong = ::gecko_bindings::sugar::ownership::Strong<ServoComputedValues>; -pub type ServoComputedValuesBorrowed<'a> = &'a ServoComputedValues; -pub type ServoComputedValuesBorrowedOrNull<'a> = Option<&'a ServoComputedValues>; -enum ServoComputedValuesVoid { } -pub struct ServoComputedValues(ServoComputedValuesVoid); pub type RawServoDeclarationBlockStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoDeclarationBlock>; pub type RawServoDeclarationBlockBorrowed<'a> = &'a RawServoDeclarationBlock; pub type RawServoDeclarationBlockBorrowedOrNull<'a> = Option<&'a RawServoDeclarationBlock>; @@ -400,12 +402,6 @@ extern "C" { RawServoStyleSheetContentsBorrowed); } extern "C" { - pub fn Servo_ComputedValues_AddRef(ptr: ServoComputedValuesBorrowed); -} -extern "C" { - pub fn Servo_ComputedValues_Release(ptr: ServoComputedValuesBorrowed); -} -extern "C" { pub fn Servo_DeclarationBlock_AddRef(ptr: RawServoDeclarationBlockBorrowed); } @@ -529,6 +525,19 @@ extern "C" { *mut nsTArray<*mut nsIContent>); } extern "C" { + pub fn Gecko_ServoStyleContext_Init(context: *mut ServoStyleContext, + parent_context: + ServoStyleContextBorrowedOrNull, + pres_context: + RawGeckoPresContextBorrowed, + values: ServoComputedValuesBorrowed, + pseudo_type: CSSPseudoElementType, + pseudo_tag: *mut nsIAtom); +} +extern "C" { + pub fn Gecko_ServoStyleContext_Destroy(context: *mut ServoStyleContext); +} +extern "C" { pub fn Gecko_ConstructStyleChildrenIterator(aElement: RawGeckoElementBorrowed, aIterator: @@ -755,9 +764,9 @@ extern "C" { extern "C" { pub fn Gecko_UpdateAnimations(aElementOrPseudo: RawGeckoElementBorrowed, aOldComputedValues: - ServoComputedValuesBorrowedOrNull, + ServoStyleContextBorrowedOrNull, aComputedValues: - ServoComputedValuesBorrowedOrNull, + ServoStyleContextBorrowedOrNull, aTasks: UpdateAnimationsTasks); } extern "C" { @@ -1957,10 +1966,10 @@ extern "C" { pub fn Servo_StyleSet_ResolveForDeclarations(set: RawServoStyleSetBorrowed, parent_style: - ServoComputedValuesBorrowedOrNull, + ServoStyleContextBorrowedOrNull, declarations: RawServoDeclarationBlockBorrowed) - -> ServoComputedValuesStrong; + -> ServoStyleContextStrong; } extern "C" { pub fn Servo_StyleSet_MightHaveAttributeDependency(set: @@ -2661,23 +2670,22 @@ extern "C" { } extern "C" { pub fn Servo_ComputedValues_GetForAnonymousBox(parent_style_or_null: - ServoComputedValuesBorrowedOrNull, + ServoStyleContextBorrowedOrNull, + pseudo_type: + CSSPseudoElementType, pseudo_tag: *mut nsIAtom, set: RawServoStyleSetBorrowed) - -> ServoComputedValuesStrong; + -> ServoStyleContextStrong; } extern "C" { pub fn Servo_ComputedValues_Inherit(set: RawServoStyleSetBorrowed, + pseudo_type: CSSPseudoElementType, + pseudo_tag: *mut nsIAtom, parent_style: - ServoComputedValuesBorrowedOrNull, + ServoStyleContextBorrowedOrNull, target: InheritTarget) - -> ServoComputedValuesStrong; -} -extern "C" { - pub fn Servo_ComputedValues_GetVisitedStyle(values: - ServoComputedValuesBorrowed) - -> ServoComputedValuesStrong; + -> ServoStyleContextStrong; } extern "C" { pub fn Servo_ComputedValues_GetStyleBits(values: @@ -2698,6 +2706,16 @@ extern "C" { RawGeckoServoStyleRuleListBorrowedMut); } extern "C" { + pub fn Servo_StyleContext_NewContext(values: ServoComputedValuesBorrowed, + parent: + ServoStyleContextBorrowedOrNull, + pres_context: + RawGeckoPresContextBorrowed, + pseudo_type: CSSPseudoElementType, + pseudo_tag: *mut nsIAtom) + -> ServoStyleContextStrong; +} +extern "C" { pub fn Servo_Initialize(dummy_url_data: *mut RawGeckoURLExtraData); } extern "C" { @@ -2716,20 +2734,22 @@ extern "C" { extern "C" { pub fn Servo_ResolveStyle(element: RawGeckoElementBorrowed, set: RawServoStyleSetBorrowed) - -> ServoComputedValuesStrong; + -> ServoStyleContextStrong; } extern "C" { pub fn Servo_ResolvePseudoStyle(element: RawGeckoElementBorrowed, pseudo_type: CSSPseudoElementType, - is_probe: bool, + pseudo_tag: *mut nsIAtom, is_probe: bool, inherited_style: ServoComputedValuesBorrowedOrNull, + parent_style_context: + ServoStyleContextBorrowedOrNull, set: RawServoStyleSetBorrowed) - -> ServoComputedValuesStrong; + -> ServoStyleContextStrong; } extern "C" { pub fn Servo_SetExplicitStyle(element: RawGeckoElementBorrowed, - primary_style: ServoComputedValuesBorrowed); + primary_style: ServoStyleContextBorrowed); } extern "C" { pub fn Servo_HasAuthorSpecifiedRules(element: RawGeckoElementBorrowed, @@ -2739,11 +2759,14 @@ extern "C" { extern "C" { pub fn Servo_ResolveStyleLazily(element: RawGeckoElementBorrowed, pseudo_type: CSSPseudoElementType, + pseudo_tag: *mut nsIAtom, + parent_style_context: + ServoStyleContextBorrowedOrNull, rule_inclusion: StyleRuleInclusion, snapshots: *const ServoElementSnapshotTable, set: RawServoStyleSetBorrowed) - -> ServoComputedValuesStrong; + -> ServoStyleContextStrong; } extern "C" { pub fn Servo_TraverseSubtree(root: RawGeckoElementBorrowed, @@ -2765,12 +2788,12 @@ extern "C" { element: RawGeckoElementBorrowed, existing_style: - ServoComputedValuesBorrowed, + ServoStyleContextBorrowed, snapshots: *const ServoElementSnapshotTable, pseudo_type: CSSPseudoElementType) - -> ServoComputedValuesStrong; + -> ServoStyleContextStrong; } extern "C" { pub fn Servo_SerializeFontValueForCanvas(declarations: @@ -2794,124 +2817,7 @@ extern "C" { -> bool; } extern "C" { - pub fn Servo_GetStyleFont(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleFont; -} -extern "C" { - pub fn Servo_GetStyleColor(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleColor; -} -extern "C" { - pub fn Servo_GetStyleList(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleList; -} -extern "C" { - pub fn Servo_GetStyleText(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleText; -} -extern "C" { - pub fn Servo_GetStyleVisibility(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleVisibility; -} -extern "C" { - pub fn Servo_GetStyleUserInterface(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleUserInterface; -} -extern "C" { - pub fn Servo_GetStyleTableBorder(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleTableBorder; -} -extern "C" { - pub fn Servo_GetStyleSVG(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleSVG; -} -extern "C" { - pub fn Servo_GetStyleVariables(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleVariables; -} -extern "C" { - pub fn Servo_GetStyleBackground(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleBackground; -} -extern "C" { - pub fn Servo_GetStylePosition(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStylePosition; -} -extern "C" { - pub fn Servo_GetStyleTextReset(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleTextReset; -} -extern "C" { - pub fn Servo_GetStyleDisplay(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleDisplay; -} -extern "C" { - pub fn Servo_GetStyleContent(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleContent; -} -extern "C" { - pub fn Servo_GetStyleUIReset(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleUIReset; -} -extern "C" { - pub fn Servo_GetStyleTable(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleTable; -} -extern "C" { - pub fn Servo_GetStyleMargin(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleMargin; -} -extern "C" { - pub fn Servo_GetStylePadding(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStylePadding; -} -extern "C" { - pub fn Servo_GetStyleBorder(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleBorder; -} -extern "C" { - pub fn Servo_GetStyleOutline(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleOutline; -} -extern "C" { - pub fn Servo_GetStyleXUL(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleXUL; -} -extern "C" { - pub fn Servo_GetStyleSVGReset(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleSVGReset; -} -extern "C" { - pub fn Servo_GetStyleColumn(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleColumn; -} -extern "C" { - pub fn Servo_GetStyleEffects(computed_values: - ServoComputedValuesBorrowedOrNull) - -> *const nsStyleEffects; + pub fn Servo_GetEmptyVariables() -> *const nsStyleVariables; } extern "C" { pub fn Gecko_CreateCSSErrorReporter(sheet: *mut ServoStyleSheet, diff --git a/components/style/gecko/generated/pseudo_element_definition.rs b/components/style/gecko/generated/pseudo_element_definition.rs index 8a1382b714d..9760ae46142 100644 --- a/components/style/gecko/generated/pseudo_element_definition.rs +++ b/components/style/gecko/generated/pseudo_element_definition.rs @@ -689,6 +689,45 @@ impl PseudoElement { } } + + /// Construct a `CSSPseudoElementType` from a pseudo-element + #[inline] + pub fn pseudo_type(&self) -> CSSPseudoElementType { + match *self { + PseudoElement::After => CSSPseudoElementType::after, + PseudoElement::Before => CSSPseudoElementType::before, + PseudoElement::Backdrop => CSSPseudoElementType::backdrop, + PseudoElement::Cue => CSSPseudoElementType::cue, + PseudoElement::FirstLetter => CSSPseudoElementType::firstLetter, + PseudoElement::FirstLine => CSSPseudoElementType::firstLine, + PseudoElement::MozSelection => CSSPseudoElementType::mozSelection, + PseudoElement::MozFocusInner => CSSPseudoElementType::mozFocusInner, + PseudoElement::MozFocusOuter => CSSPseudoElementType::mozFocusOuter, + PseudoElement::MozListBullet => CSSPseudoElementType::mozListBullet, + PseudoElement::MozListNumber => CSSPseudoElementType::mozListNumber, + PseudoElement::MozMathAnonymous => CSSPseudoElementType::mozMathAnonymous, + PseudoElement::MozNumberWrapper => CSSPseudoElementType::mozNumberWrapper, + PseudoElement::MozNumberText => CSSPseudoElementType::mozNumberText, + PseudoElement::MozNumberSpinBox => CSSPseudoElementType::mozNumberSpinBox, + PseudoElement::MozNumberSpinUp => CSSPseudoElementType::mozNumberSpinUp, + PseudoElement::MozNumberSpinDown => CSSPseudoElementType::mozNumberSpinDown, + PseudoElement::MozProgressBar => CSSPseudoElementType::mozProgressBar, + PseudoElement::MozRangeTrack => CSSPseudoElementType::mozRangeTrack, + PseudoElement::MozRangeProgress => CSSPseudoElementType::mozRangeProgress, + PseudoElement::MozRangeThumb => CSSPseudoElementType::mozRangeThumb, + PseudoElement::MozMeterBar => CSSPseudoElementType::mozMeterBar, + PseudoElement::MozPlaceholder => CSSPseudoElementType::mozPlaceholder, + PseudoElement::Placeholder => CSSPseudoElementType::placeholder, + PseudoElement::MozColorSwatch => CSSPseudoElementType::mozColorSwatch, + _ => CSSPseudoElementType::NotPseudo + } + } + + /// Get a PseudoInfo for a pseudo + pub fn pseudo_info(&self) -> (*mut structs::nsIAtom, CSSPseudoElementType) { + (self.atom().as_ptr(), self.pseudo_type()) + } + /// Construct a pseudo-element from an anonymous box `Atom`. #[inline] pub fn from_anon_box_atom(atom: &Atom) -> Option<Self> { diff --git a/components/style/gecko/generated/structs_debug.rs b/components/style/gecko/generated/structs_debug.rs index 283f677bdf4..46ab3074534 100644 --- a/components/style/gecko/generated/structs_debug.rs +++ b/components/style/gecko/generated/structs_debug.rs @@ -9,6 +9,14 @@ use data::ElementData; pub type ServoUnsafeCell<T> = ::std::cell::UnsafeCell<T>; pub type ServoCell<T> = ::std::cell::Cell<T>; pub type ServoNodeData = AtomicRefCell<ElementData>; +pub type ServoWritingMode = ::logical_geometry::WritingMode; +pub type ServoFontComputationData = ::properties::FontComputationData; +pub type ServoCustomPropertiesMap = Option<::stylearc::Arc<::custom_properties::CustomPropertiesMap>>; +pub type ServoRuleNode = Option<::rule_tree::StrongRuleNode>; +pub type ServoVisitedStyle = Option<::stylearc::RawOffsetArc<::properties::ComputedValues>>; +pub type ServoComputedValueFlags = ::properties::computed_value_flags::ComputedValueFlags; +pub type ServoRawOffsetArc<T> = ::stylearc::RawOffsetArc<T>; +pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<ServoStyleContext>; #[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { @@ -1036,16 +1044,6 @@ pub mod root { use self::super::super::root; #[repr(C)] #[derive(Debug, Copy, Clone)] - pub struct __is_swappable { - pub _address: u8, - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct __is_nothrow_swappable { - pub _address: u8, - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] pub struct pair<_T1, _T2> { pub first: _T1, pub second: _T2, @@ -1054,8 +1052,6 @@ pub mod root { } pub type pair_first_type<_T1> = _T1; pub type pair_second_type<_T2> = _T2; - pub type pair__PCCP = u8; - pub type pair__PCCFP = u8; #[repr(C)] #[derive(Debug, Copy)] pub struct input_iterator_tag { @@ -1075,54 +1071,101 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct iterator { + #[derive(Debug, Copy)] + pub struct forward_iterator_tag { pub _address: u8, } - pub type iterator_iterator_category<_Category> = _Category; - pub type iterator_value_type<_Tp> = _Tp; - pub type iterator_difference_type<_Distance> = _Distance; - pub type iterator_pointer<_Pointer> = _Pointer; - pub type iterator_reference<_Reference> = _Reference; + #[test] + fn bindgen_test_layout_forward_iterator_tag() { + assert_eq!(::std::mem::size_of::<forward_iterator_tag>() , 1usize + , concat ! ( + "Size of: " , stringify ! ( forward_iterator_tag ) )); + assert_eq! (::std::mem::align_of::<forward_iterator_tag>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( forward_iterator_tag ) + )); + } + impl Clone for forward_iterator_tag { + fn clone(&self) -> Self { *self } + } #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct __iterator_traits { + #[derive(Debug, Copy)] + pub struct bidirectional_iterator_tag { pub _address: u8, } + #[test] + fn bindgen_test_layout_bidirectional_iterator_tag() { + assert_eq!(::std::mem::size_of::<bidirectional_iterator_tag>() , + 1usize , concat ! ( + "Size of: " , stringify ! ( bidirectional_iterator_tag + ) )); + assert_eq! (::std::mem::align_of::<bidirectional_iterator_tag>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( + bidirectional_iterator_tag ) )); + } + impl Clone for bidirectional_iterator_tag { + fn clone(&self) -> Self { *self } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct random_access_iterator_tag { + pub _address: u8, + } + #[test] + fn bindgen_test_layout_random_access_iterator_tag() { + assert_eq!(::std::mem::size_of::<random_access_iterator_tag>() , + 1usize , concat ! ( + "Size of: " , stringify ! ( random_access_iterator_tag + ) )); + assert_eq! (::std::mem::align_of::<random_access_iterator_tag>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( + random_access_iterator_tag ) )); + } + impl Clone for random_access_iterator_tag { + fn clone(&self) -> Self { *self } + } #[repr(C)] - #[derive(Debug, Copy, Clone)] pub struct iterator_traits { pub _address: u8, } #[repr(C)] #[derive(Debug, Copy, Clone)] - pub struct reverse_iterator<_Iterator> { - pub current: _Iterator, - pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<_Iterator>>, + pub struct iterator { + pub _address: u8, } - pub type reverse_iterator___traits_type = root::std::iterator_traits; - pub type reverse_iterator_iterator_type<_Iterator> = _Iterator; + pub type iterator_value_type<_Tp> = _Tp; + pub type iterator_difference_type<_Distance> = _Distance; + pub type iterator_pointer<_Pointer> = _Pointer; + pub type iterator_reference<_Reference> = _Reference; + pub type iterator_iterator_category<_Category> = _Category; + #[repr(C)] + pub struct reverse_iterator<_Iter> { + pub __t: _Iter, + pub current: _Iter, + pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<_Iter>>, + } + pub type reverse_iterator_iterator_type<_Iter> = _Iter; pub type reverse_iterator_difference_type = - root::std::reverse_iterator___traits_type; - pub type reverse_iterator_pointer = - root::std::reverse_iterator___traits_type; - pub type reverse_iterator_reference = - root::std::reverse_iterator___traits_type; + root::std::iterator_traits; + pub type reverse_iterator_reference = root::std::iterator_traits; + pub type reverse_iterator_pointer = root::std::iterator_traits; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atomic { } - pub mod chrono { - #[allow(unused_imports)] - use self::super::super::super::root; + pub type atomic___base = u8; + #[repr(C)] + pub struct __bit_const_reference { + pub __seg_: root::std::__bit_const_reference___storage_pointer, + pub __mask_: root::std::__bit_const_reference___storage_type, } + pub type __bit_const_reference___storage_type = [u8; 0usize]; + pub type __bit_const_reference___storage_pointer = [u8; 0usize]; } - pub mod __gnu_cxx { - #[allow(unused_imports)] - use self::super::super::root; - } - pub type __off_t = ::std::os::raw::c_long; - pub type __off64_t = ::std::os::raw::c_long; + pub type __int64_t = ::std::os::raw::c_longlong; + pub type __darwin_off_t = root::__int64_t; pub mod mozilla { #[allow(unused_imports)] use self::super::super::root; @@ -1166,9 +1209,8 @@ pub mod root { root::nsSubstringTuple; pub type nsStringRepr_string_type = ::nsstring::nsStringRepr; pub type nsStringRepr_const_iterator = - root::nsReadingIterator<root::mozilla::detail::nsStringRepr_char_type>; - pub type nsStringRepr_iterator = - root::nsWritingIterator<root::mozilla::detail::nsStringRepr_char_type>; + root::nsReadingIterator<u16>; + pub type nsStringRepr_iterator = root::nsWritingIterator<u16>; pub type nsStringRepr_comparator_type = root::nsStringComparator; pub type nsStringRepr_char_iterator = *mut root::mozilla::detail::nsStringRepr_char_type; @@ -1235,9 +1277,9 @@ pub mod root { root::nsCSubstringTuple; pub type nsCStringRepr_string_type = root::nsCString; pub type nsCStringRepr_const_iterator = - root::nsReadingIterator<root::mozilla::detail::nsCStringRepr_char_type>; + root::nsReadingIterator<::std::os::raw::c_char>; pub type nsCStringRepr_iterator = - root::nsWritingIterator<root::mozilla::detail::nsCStringRepr_char_type>; + root::nsWritingIterator<::std::os::raw::c_char>; pub type nsCStringRepr_comparator_type = root::nsCStringComparator; pub type nsCStringRepr_char_iterator = @@ -1374,7 +1416,7 @@ pub mod root { #[repr(C)] #[derive(Debug)] pub struct MutexImpl { - pub platformData_: [*mut ::std::os::raw::c_void; 5usize], + pub platformData_: [*mut ::std::os::raw::c_void; 8usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -1383,7 +1425,7 @@ pub mod root { } #[test] fn bindgen_test_layout_MutexImpl() { - assert_eq!(::std::mem::size_of::<MutexImpl>() , 40usize , + assert_eq!(::std::mem::size_of::<MutexImpl>() , 64usize , concat ! ( "Size of: " , stringify ! ( MutexImpl ) )); assert_eq! (::std::mem::align_of::<MutexImpl>() , 8usize , @@ -2307,7 +2349,7 @@ pub mod root { } } #[repr(C)] - #[derive(Debug)] + #[derive(Debug, Copy)] pub struct ThreadSafeAutoRefCnt { pub mValue: u64, } @@ -2328,6 +2370,9 @@ pub mod root { ThreadSafeAutoRefCnt ) , "::" , stringify ! ( mValue ) )); } + impl Clone for ThreadSafeAutoRefCnt { + fn clone(&self) -> Self { *self } + } #[repr(C)] #[derive(Debug)] pub struct OwningNonNull<T> { @@ -4042,7 +4087,6 @@ pub mod root { ) , "::" , stringify ! ( mEmpty ) )); } #[repr(C)] - #[derive(Debug)] pub struct Element { pub _base: root::mozilla::dom::FragmentOrElement, pub mState: root::mozilla::EventStates, @@ -4188,7 +4232,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] pub struct NodeInfo { pub mRefCnt: root::nsCycleCollectingAutoRefCnt, pub _mOwningThread: root::nsAutoOwningThread, @@ -5261,7 +5304,6 @@ pub mod root { _unused: [u8; 0], } #[repr(C)] - #[derive(Debug)] pub struct Attr { pub _base: root::nsIAttribute, pub _base_1: root::nsIDOMAttr, @@ -5720,7 +5762,6 @@ pub mod root { _unused: [u8; 0], } #[repr(C)] - #[derive(Debug)] pub struct FragmentOrElement { pub _base: root::nsIContent, pub mRefCnt: root::nsCycleCollectingAutoRefCnt, @@ -5760,7 +5801,6 @@ pub mod root { * accessed through the DOM. */ #[repr(C)] - #[derive(Debug)] pub struct FragmentOrElement_nsExtendedDOMSlots { /** * SMIL Overridde style rules (for SMIL animation of CSS properties) @@ -5948,7 +5988,6 @@ pub mod root { stringify ! ( mFrameLoaderOrOpener ) )); } #[repr(C)] - #[derive(Debug)] pub struct FragmentOrElement_nsDOMSlots { pub _base: root::nsINode_nsSlots, /** @@ -6181,7 +6220,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] pub struct DOMIntersectionObserverEntry { pub _base: root::nsISupports, pub _base_1: root::nsWrapperCache, @@ -6331,7 +6369,6 @@ pub mod root { ! ( mValue ) )); } #[repr(C)] - #[derive(Debug)] pub struct IntersectionObserverInit { pub _base: root::mozilla::dom::DictionaryBase, pub mRoot: root::RefPtr<root::mozilla::dom::Element>, @@ -6386,7 +6423,6 @@ pub mod root { _unused: [u8; 0], } #[repr(C)] - #[derive(Debug)] pub struct DestinationInsertionPointList { pub _base: root::nsINodeList, pub mRefCnt: root::nsCycleCollectingAutoRefCnt, @@ -7546,6 +7582,9 @@ pub mod root { } #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum LazyComputeBehavior { Allow = 0, Assert = 1, } + #[repr(i32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum TraversalRootBehavior { Normal = 0, UnstyledChildrenOnly = 1, @@ -7590,6 +7629,459 @@ pub mod root { FirstLetterContinuation = 1, PlaceholderFrame = 2, } + #[repr(C)] + #[derive(Debug)] + pub struct ServoStyleContext { + pub _base: root::nsStyleContext, + pub mPresContext: *mut root::nsPresContext, + pub mSource: root::ServoComputedValues, + } + #[test] + fn bindgen_test_layout_ServoStyleContext() { + assert_eq!(::std::mem::size_of::<ServoStyleContext>() , 272usize , + concat ! ( + "Size of: " , stringify ! ( ServoStyleContext ) )); + assert_eq! (::std::mem::align_of::<ServoStyleContext>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ServoStyleContext ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleContext ) ) . + mPresContext as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ServoStyleContext ) , "::" , stringify ! ( + mPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleContext ) ) . mSource + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoStyleContext ) , "::" , stringify ! ( mSource ) + )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoFont { + pub gecko: root::nsStyleFont, + } + #[test] + fn bindgen_test_layout_GeckoFont() { + assert_eq!(::std::mem::size_of::<GeckoFont>() , 120usize , concat + ! ( "Size of: " , stringify ! ( GeckoFont ) )); + assert_eq! (::std::mem::align_of::<GeckoFont>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( GeckoFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoFont ) ) . gecko as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoFont ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoColor { + pub gecko: root::nsStyleColor, + } + #[test] + fn bindgen_test_layout_GeckoColor() { + assert_eq!(::std::mem::size_of::<GeckoColor>() , 4usize , concat ! + ( "Size of: " , stringify ! ( GeckoColor ) )); + assert_eq! (::std::mem::align_of::<GeckoColor>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( GeckoColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoColor ) ) . gecko as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoColor ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoList { + pub gecko: root::nsStyleList, + } + #[test] + fn bindgen_test_layout_GeckoList() { + assert_eq!(::std::mem::size_of::<GeckoList>() , 48usize , concat ! + ( "Size of: " , stringify ! ( GeckoList ) )); + assert_eq! (::std::mem::align_of::<GeckoList>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( GeckoList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoList ) ) . gecko as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoList ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoText { + pub gecko: root::nsStyleText, + } + #[test] + fn bindgen_test_layout_GeckoText() { + assert_eq!(::std::mem::size_of::<GeckoText>() , 160usize , concat + ! ( "Size of: " , stringify ! ( GeckoText ) )); + assert_eq! (::std::mem::align_of::<GeckoText>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( GeckoText ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoText ) ) . gecko as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoText ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoVisibility { + pub gecko: root::nsStyleVisibility, + } + #[test] + fn bindgen_test_layout_GeckoVisibility() { + assert_eq!(::std::mem::size_of::<GeckoVisibility>() , 7usize , + concat ! ( + "Size of: " , stringify ! ( GeckoVisibility ) )); + assert_eq! (::std::mem::align_of::<GeckoVisibility>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoVisibility ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoVisibility + ) , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoUserInterface { + pub gecko: root::nsStyleUserInterface, + } + #[test] + fn bindgen_test_layout_GeckoUserInterface() { + assert_eq!(::std::mem::size_of::<GeckoUserInterface>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( GeckoUserInterface ) )); + assert_eq! (::std::mem::align_of::<GeckoUserInterface>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( GeckoUserInterface ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoUserInterface ) ) . gecko as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + GeckoUserInterface ) , "::" , stringify ! ( gecko ) + )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoTableBorder { + pub gecko: root::nsStyleTableBorder, + } + #[test] + fn bindgen_test_layout_GeckoTableBorder() { + assert_eq!(::std::mem::size_of::<GeckoTableBorder>() , 12usize , + concat ! ( + "Size of: " , stringify ! ( GeckoTableBorder ) )); + assert_eq! (::std::mem::align_of::<GeckoTableBorder>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoTableBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoTableBorder ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + GeckoTableBorder ) , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoSVG { + pub gecko: root::nsStyleSVG, + } + #[test] + fn bindgen_test_layout_GeckoSVG() { + assert_eq!(::std::mem::size_of::<GeckoSVG>() , 128usize , concat ! + ( "Size of: " , stringify ! ( GeckoSVG ) )); + assert_eq! (::std::mem::align_of::<GeckoSVG>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( GeckoSVG ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoSVG ) ) . gecko as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoSVG ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoBackground { + pub gecko: root::nsStyleBackground, + } + #[test] + fn bindgen_test_layout_GeckoBackground() { + assert_eq!(::std::mem::size_of::<GeckoBackground>() , 160usize , + concat ! ( + "Size of: " , stringify ! ( GeckoBackground ) )); + assert_eq! (::std::mem::align_of::<GeckoBackground>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoBackground ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoBackground ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoBackground + ) , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoPosition { + pub gecko: root::nsStylePosition, + } + #[test] + fn bindgen_test_layout_GeckoPosition() { + assert_eq!(::std::mem::size_of::<GeckoPosition>() , 520usize , + concat ! ( "Size of: " , stringify ! ( GeckoPosition ) + )); + assert_eq! (::std::mem::align_of::<GeckoPosition>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoPosition ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoPosition ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoTextReset { + pub gecko: root::nsStyleTextReset, + } + #[test] + fn bindgen_test_layout_GeckoTextReset() { + assert_eq!(::std::mem::size_of::<GeckoTextReset>() , 80usize , + concat ! ( "Size of: " , stringify ! ( GeckoTextReset ) + )); + assert_eq! (::std::mem::align_of::<GeckoTextReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoTextReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoTextReset ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoTextReset + ) , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoDisplay { + pub gecko: root::nsStyleDisplay, + } + #[test] + fn bindgen_test_layout_GeckoDisplay() { + assert_eq!(::std::mem::size_of::<GeckoDisplay>() , 416usize , + concat ! ( "Size of: " , stringify ! ( GeckoDisplay ) + )); + assert_eq! (::std::mem::align_of::<GeckoDisplay>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoDisplay ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoDisplay ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoContent { + pub gecko: root::nsStyleContent, + } + #[test] + fn bindgen_test_layout_GeckoContent() { + assert_eq!(::std::mem::size_of::<GeckoContent>() , 24usize , + concat ! ( "Size of: " , stringify ! ( GeckoContent ) + )); + assert_eq! (::std::mem::align_of::<GeckoContent>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoContent ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoContent ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoUIReset { + pub gecko: root::nsStyleUIReset, + } + #[test] + fn bindgen_test_layout_GeckoUIReset() { + assert_eq!(::std::mem::size_of::<GeckoUIReset>() , 56usize , + concat ! ( "Size of: " , stringify ! ( GeckoUIReset ) + )); + assert_eq! (::std::mem::align_of::<GeckoUIReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoUIReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoUIReset ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoUIReset ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoTable { + pub gecko: root::nsStyleTable, + } + #[test] + fn bindgen_test_layout_GeckoTable() { + assert_eq!(::std::mem::size_of::<GeckoTable>() , 8usize , concat ! + ( "Size of: " , stringify ! ( GeckoTable ) )); + assert_eq! (::std::mem::align_of::<GeckoTable>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( GeckoTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoTable ) ) . gecko as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoTable ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoMargin { + pub gecko: root::nsStyleMargin, + } + #[test] + fn bindgen_test_layout_GeckoMargin() { + assert_eq!(::std::mem::size_of::<GeckoMargin>() , 40usize , concat + ! ( "Size of: " , stringify ! ( GeckoMargin ) )); + assert_eq! (::std::mem::align_of::<GeckoMargin>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoMargin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoMargin ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoMargin ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoPadding { + pub gecko: root::nsStylePadding, + } + #[test] + fn bindgen_test_layout_GeckoPadding() { + assert_eq!(::std::mem::size_of::<GeckoPadding>() , 40usize , + concat ! ( "Size of: " , stringify ! ( GeckoPadding ) + )); + assert_eq! (::std::mem::align_of::<GeckoPadding>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoPadding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoPadding ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoPadding ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoBorder { + pub gecko: root::nsStyleBorder, + } + #[test] + fn bindgen_test_layout_GeckoBorder() { + assert_eq!(::std::mem::size_of::<GeckoBorder>() , 312usize , + concat ! ( "Size of: " , stringify ! ( GeckoBorder ) + )); + assert_eq! (::std::mem::align_of::<GeckoBorder>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoBorder ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoBorder ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoOutline { + pub gecko: root::nsStyleOutline, + } + #[test] + fn bindgen_test_layout_GeckoOutline() { + assert_eq!(::std::mem::size_of::<GeckoOutline>() , 104usize , + concat ! ( "Size of: " , stringify ! ( GeckoOutline ) + )); + assert_eq! (::std::mem::align_of::<GeckoOutline>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoOutline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoOutline ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoOutline ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoXUL { + pub gecko: root::nsStyleXUL, + } + #[test] + fn bindgen_test_layout_GeckoXUL() { + assert_eq!(::std::mem::size_of::<GeckoXUL>() , 16usize , concat ! + ( "Size of: " , stringify ! ( GeckoXUL ) )); + assert_eq! (::std::mem::align_of::<GeckoXUL>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( GeckoXUL ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoXUL ) ) . gecko as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoXUL ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoSVGReset { + pub gecko: root::nsStyleSVGReset, + } + #[test] + fn bindgen_test_layout_GeckoSVGReset() { + assert_eq!(::std::mem::size_of::<GeckoSVGReset>() , 192usize , + concat ! ( "Size of: " , stringify ! ( GeckoSVGReset ) + )); + assert_eq! (::std::mem::align_of::<GeckoSVGReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoSVGReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoSVGReset ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoSVGReset ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoColumn { + pub gecko: root::nsStyleColumn, + } + #[test] + fn bindgen_test_layout_GeckoColumn() { + assert_eq!(::std::mem::size_of::<GeckoColumn>() , 64usize , concat + ! ( "Size of: " , stringify ! ( GeckoColumn ) )); + assert_eq! (::std::mem::align_of::<GeckoColumn>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoColumn ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoColumn ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoColumn ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoEffects { + pub gecko: root::nsStyleEffects, + } + #[test] + fn bindgen_test_layout_GeckoEffects() { + assert_eq!(::std::mem::size_of::<GeckoEffects>() , 40usize , + concat ! ( "Size of: " , stringify ! ( GeckoEffects ) + )); + assert_eq! (::std::mem::align_of::<GeckoEffects>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoEffects ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoEffects ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoEffects ) + , "::" , stringify ! ( gecko ) )); + } #[repr(u8)] /** * Enumeration that represents one of the two supported style system backends. @@ -7900,6 +8392,78 @@ pub mod root { CORS_USE_CREDENTIALS = 2, } #[repr(C)] + pub struct CSSStyleSheet { + pub _base: root::mozilla::StyleSheet, + pub mRuleCollection: root::RefPtr<root::CSSRuleListImpl>, + pub mInRuleProcessorCache: bool, + pub mScopeElement: root::RefPtr<root::mozilla::dom::Element>, + pub mRuleProcessors: *mut u8, + } + pub use self::super::super::root::mozilla::net::ReferrerPolicy as + CSSStyleSheet_ReferrerPolicy; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct CSSStyleSheet_cycleCollection { + pub _base: root::mozilla::StyleSheet_cycleCollection, + } + #[test] + fn bindgen_test_layout_CSSStyleSheet_cycleCollection() { + assert_eq!(::std::mem::size_of::<CSSStyleSheet_cycleCollection>() + , 16usize , concat ! ( + "Size of: " , stringify ! ( + CSSStyleSheet_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<CSSStyleSheet_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + CSSStyleSheet_cycleCollection ) )); + } + impl Clone for CSSStyleSheet_cycleCollection { + fn clone(&self) -> Self { *self } + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct CSSStyleSheet_COMTypeInfo { + pub _address: u8, + } + extern "C" { + #[link_name = + "_ZN7mozilla13CSSStyleSheet21_cycleCollectorGlobalE"] + pub static mut CSSStyleSheet__cycleCollectorGlobal: + root::mozilla::CSSStyleSheet_cycleCollection; + } + #[test] + fn bindgen_test_layout_CSSStyleSheet() { + assert_eq!(::std::mem::size_of::<CSSStyleSheet>() , 176usize , + concat ! ( "Size of: " , stringify ! ( CSSStyleSheet ) + )); + assert_eq! (::std::mem::align_of::<CSSStyleSheet>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( CSSStyleSheet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSStyleSheet ) ) . + mRuleCollection as * const _ as usize } , 144usize , + concat ! ( + "Alignment of field: " , stringify ! ( CSSStyleSheet ) + , "::" , stringify ! ( mRuleCollection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSStyleSheet ) ) . + mInRuleProcessorCache as * const _ as usize } , + 152usize , concat ! ( + "Alignment of field: " , stringify ! ( CSSStyleSheet ) + , "::" , stringify ! ( mInRuleProcessorCache ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSStyleSheet ) ) . mScopeElement + as * const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( CSSStyleSheet ) + , "::" , stringify ! ( mScopeElement ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSStyleSheet ) ) . + mRuleProcessors as * const _ as usize } , 168usize , + concat ! ( + "Alignment of field: " , stringify ! ( CSSStyleSheet ) + , "::" , stringify ! ( mRuleProcessors ) )); + } + #[repr(C)] #[derive(Debug)] pub struct ServoStyleSheet { pub _base: root::mozilla::StyleSheet, @@ -8141,10 +8705,135 @@ pub mod root { NotPseudo = 28, MAX = 29, } + /** + * The set of style sheets that apply to a document, backed by a Servo + * Stylist. A ServoStyleSet contains ServoStyleSheets. + */ #[repr(C)] - #[derive(Debug, Copy, Clone)] pub struct ServoStyleSet { - _unused: [u8; 0], + pub mPresContext: *mut root::nsPresContext, + pub mRawSet: root::mozilla::UniquePtr<root::RawServoStyleSet>, + pub mSheets: [u64; 9usize], + pub mAuthorStyleDisabled: bool, + pub mStylistState: root::mozilla::StylistState, + pub mUserFontSetUpdateGeneration: u64, + pub mUserFontCacheUpdateGeneration: u32, + pub mNeedsRestyleAfterEnsureUniqueInner: bool, + pub mNonInheritingStyleContexts: [u64; 5usize], + pub mPostTraversalTasks: root::nsTArray<root::mozilla::PostTraversalTask>, + pub mStyleRuleMap: root::RefPtr<root::mozilla::ServoStyleRuleMap>, + pub mBindingManager: root::RefPtr<root::nsBindingManager>, + } + pub type ServoStyleSet_SnapshotTable = + root::mozilla::ServoElementSnapshotTable; + #[repr(C)] + #[derive(Debug)] + pub struct ServoStyleSet_AutoSetInServoTraversal { + pub mSet: *mut root::mozilla::ServoStyleSet, + } + #[test] + fn bindgen_test_layout_ServoStyleSet_AutoSetInServoTraversal() { + assert_eq!(::std::mem::size_of::<ServoStyleSet_AutoSetInServoTraversal>() + , 8usize , concat ! ( + "Size of: " , stringify ! ( + ServoStyleSet_AutoSetInServoTraversal ) )); + assert_eq! (::std::mem::align_of::<ServoStyleSet_AutoSetInServoTraversal>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + ServoStyleSet_AutoSetInServoTraversal ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const ServoStyleSet_AutoSetInServoTraversal + ) ) . mSet as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + ServoStyleSet_AutoSetInServoTraversal ) , "::" , + stringify ! ( mSet ) )); + } + extern "C" { + #[link_name = "_ZN7mozilla13ServoStyleSet17sInServoTraversalE"] + pub static mut ServoStyleSet_sInServoTraversal: + *mut root::mozilla::ServoStyleSet; + } + #[test] + fn bindgen_test_layout_ServoStyleSet() { + assert_eq!(::std::mem::size_of::<ServoStyleSet>() , 176usize , + concat ! ( "Size of: " , stringify ! ( ServoStyleSet ) + )); + assert_eq! (::std::mem::align_of::<ServoStyleSet>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ServoStyleSet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . mPresContext + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . mRawSet as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mRawSet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . mSheets as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mSheets ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mAuthorStyleDisabled as * const _ as usize } , 88usize + , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mAuthorStyleDisabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . mStylistState + as * const _ as usize } , 89usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mStylistState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mUserFontSetUpdateGeneration as * const _ as usize } , + 96usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mUserFontSetUpdateGeneration ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mUserFontCacheUpdateGeneration as * const _ as usize } + , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mUserFontCacheUpdateGeneration + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mNeedsRestyleAfterEnsureUniqueInner as * const _ as + usize } , 108usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( + mNeedsRestyleAfterEnsureUniqueInner ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mNonInheritingStyleContexts as * const _ as usize } , + 112usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mNonInheritingStyleContexts ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mPostTraversalTasks as * const _ as usize } , 152usize + , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mPostTraversalTasks ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . mStyleRuleMap + as * const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mStyleRuleMap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mBindingManager as * const _ as usize } , 168usize , + concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mBindingManager ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -8966,7 +9655,7 @@ pub mod root { } #[test] fn bindgen_test_layout_OffTheBooksMutex() { - assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 72usize , + assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 96usize , concat ! ( "Size of: " , stringify ! ( OffTheBooksMutex ) )); assert_eq! (::std::mem::align_of::<OffTheBooksMutex>() , 8usize , @@ -8974,7 +9663,7 @@ pub mod root { "Alignment of " , stringify ! ( OffTheBooksMutex ) )); assert_eq! (unsafe { & ( * ( 0 as * const OffTheBooksMutex ) ) . - mOwningThread as * const _ as usize } , 64usize , + mOwningThread as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( OffTheBooksMutex ) , "::" , stringify ! ( @@ -8992,7 +9681,7 @@ pub mod root { } #[test] fn bindgen_test_layout_Mutex() { - assert_eq!(::std::mem::size_of::<Mutex>() , 72usize , concat ! ( + assert_eq!(::std::mem::size_of::<Mutex>() , 96usize , concat ! ( "Size of: " , stringify ! ( Mutex ) )); assert_eq! (::std::mem::align_of::<Mutex>() , 8usize , concat ! ( "Alignment of " , stringify ! ( Mutex ) )); @@ -10463,8 +11152,6 @@ pub mod root { PropertyStyleAnimationValuePair ) , "::" , stringify ! ( mValue ) )); } - pub type ComputedKeyframeValues = - root::nsTArray<root::mozilla::PropertyStyleAnimationValuePair>; #[test] fn __bindgen_test_layout_DefaultDelete_instantiation_3() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , @@ -11461,7 +12148,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] pub struct PseudoElementHashEntry { pub _base: root::PLDHashEntryHdr, pub mElement: root::RefPtr<root::mozilla::dom::Element>, @@ -11625,6 +12311,76 @@ pub mod root { "Alignment of field: " , stringify ! ( ServoMediaList ) , "::" , stringify ! ( mRawList ) )); } + /** + * A PostTraversalTask is a task to be performed immediately after a Servo + * traversal. There are just a few tasks we need to perform, so we use this + * class rather than Runnables, to avoid virtual calls and some allocations. + * + * A PostTraversalTask is only safe to run immediately after the Servo + * traversal, since it can hold raw pointers to DOM objects. + */ + #[repr(C)] + #[derive(Debug, Copy)] + pub struct PostTraversalTask { + pub mType: root::mozilla::PostTraversalTask_Type, + pub mTarget: *mut ::std::os::raw::c_void, + pub mResult: root::nsresult, + } + #[repr(i32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum PostTraversalTask_Type { + ResolveFontFaceLoadedPromise = 0, + RejectFontFaceLoadedPromise = 1, + DispatchLoadingEventAndReplaceReadyPromise = 2, + DispatchFontFaceSetCheckLoadingFinishedAfterDelay = 3, + LoadFontEntry = 4, + } + #[test] + fn bindgen_test_layout_PostTraversalTask() { + assert_eq!(::std::mem::size_of::<PostTraversalTask>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( PostTraversalTask ) )); + assert_eq! (::std::mem::align_of::<PostTraversalTask>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( PostTraversalTask ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PostTraversalTask ) ) . mType as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + PostTraversalTask ) , "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PostTraversalTask ) ) . mTarget + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + PostTraversalTask ) , "::" , stringify ! ( mTarget ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PostTraversalTask ) ) . mResult + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + PostTraversalTask ) , "::" , stringify ! ( mResult ) + )); + } + impl Clone for PostTraversalTask { + fn clone(&self) -> Self { *self } + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct ServoStyleRuleMap { + _unused: [u8; 0], + } + #[repr(u8)] + /** + * A few flags used to track which kind of stylist state we may need to + * update. + */ + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StylistState { + NotDirty = 0, + StyleSheetsDirty = 1, + FullyDirty = 2, + } #[repr(C)] #[derive(Debug)] pub struct CSSFontFaceDescriptors { @@ -11726,196 +12482,194 @@ pub mod root { pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>, } } + pub type va_list = root::__builtin_va_list; + pub type fpos_t = root::__darwin_off_t; #[repr(C)] #[derive(Debug, Copy)] - pub struct _IO_FILE { - pub _flags: ::std::os::raw::c_int, - pub _IO_read_ptr: *mut ::std::os::raw::c_char, - pub _IO_read_end: *mut ::std::os::raw::c_char, - pub _IO_read_base: *mut ::std::os::raw::c_char, - pub _IO_write_base: *mut ::std::os::raw::c_char, - pub _IO_write_ptr: *mut ::std::os::raw::c_char, - pub _IO_write_end: *mut ::std::os::raw::c_char, - pub _IO_buf_base: *mut ::std::os::raw::c_char, - pub _IO_buf_end: *mut ::std::os::raw::c_char, - pub _IO_save_base: *mut ::std::os::raw::c_char, - pub _IO_backup_base: *mut ::std::os::raw::c_char, - pub _IO_save_end: *mut ::std::os::raw::c_char, - pub _markers: *mut root::_IO_marker, - pub _chain: *mut root::_IO_FILE, - pub _fileno: ::std::os::raw::c_int, - pub _flags2: ::std::os::raw::c_int, - pub _old_offset: root::__off_t, - pub _cur_column: ::std::os::raw::c_ushort, - pub _vtable_offset: ::std::os::raw::c_schar, - pub _shortbuf: [::std::os::raw::c_char; 1usize], - pub _lock: *mut root::_IO_lock_t, - pub _offset: root::__off64_t, - pub __pad1: *mut ::std::os::raw::c_void, - pub __pad2: *mut ::std::os::raw::c_void, - pub __pad3: *mut ::std::os::raw::c_void, - pub __pad4: *mut ::std::os::raw::c_void, - pub __pad5: usize, - pub _mode: ::std::os::raw::c_int, - pub _unused2: [::std::os::raw::c_char; 20usize], - } - #[test] - fn bindgen_test_layout__IO_FILE() { - assert_eq!(::std::mem::size_of::<_IO_FILE>() , 216usize , concat ! ( - "Size of: " , stringify ! ( _IO_FILE ) )); - assert_eq! (::std::mem::align_of::<_IO_FILE>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( _IO_FILE ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _flags as * const _ as + pub struct __sbuf { + pub _base: *mut ::std::os::raw::c_uchar, + pub _size: ::std::os::raw::c_int, + } + #[test] + fn bindgen_test_layout___sbuf() { + assert_eq!(::std::mem::size_of::<__sbuf>() , 16usize , concat ! ( + "Size of: " , stringify ! ( __sbuf ) )); + assert_eq! (::std::mem::align_of::<__sbuf>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( __sbuf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __sbuf ) ) . _base as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _flags ) )); + "Alignment of field: " , stringify ! ( __sbuf ) , "::" , + stringify ! ( _base ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_ptr as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _IO_read_ptr ) )); + & ( * ( 0 as * const __sbuf ) ) . _size as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( __sbuf ) , "::" , + stringify ! ( _size ) )); + } + impl Clone for __sbuf { + fn clone(&self) -> Self { *self } + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct __sFILEX { + _unused: [u8; 0], + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct __sFILE { + pub _p: *mut ::std::os::raw::c_uchar, + pub _r: ::std::os::raw::c_int, + pub _w: ::std::os::raw::c_int, + pub _flags: ::std::os::raw::c_short, + pub _file: ::std::os::raw::c_short, + pub _bf: root::__sbuf, + pub _lbfsize: ::std::os::raw::c_int, + pub _cookie: *mut ::std::os::raw::c_void, + pub _close: ::std::option::Option<unsafe extern "C" fn(arg1: + *mut ::std::os::raw::c_void) + -> ::std::os::raw::c_int>, + pub _read: ::std::option::Option<unsafe extern "C" fn(arg1: + *mut ::std::os::raw::c_void, + arg2: + *mut ::std::os::raw::c_char, + arg3: + ::std::os::raw::c_int) + -> ::std::os::raw::c_int>, + pub _seek: ::std::option::Option<unsafe extern "C" fn(arg1: + *mut ::std::os::raw::c_void, + arg2: + root::fpos_t, + arg3: + ::std::os::raw::c_int) + -> root::fpos_t>, + pub _write: ::std::option::Option<unsafe extern "C" fn(arg1: + *mut ::std::os::raw::c_void, + arg2: + *const ::std::os::raw::c_char, + arg3: + ::std::os::raw::c_int) + -> ::std::os::raw::c_int>, + pub _ub: root::__sbuf, + pub _extra: *mut root::__sFILEX, + pub _ur: ::std::os::raw::c_int, + pub _ubuf: [::std::os::raw::c_uchar; 3usize], + pub _nbuf: [::std::os::raw::c_uchar; 1usize], + pub _lb: root::__sbuf, + pub _blksize: ::std::os::raw::c_int, + pub _offset: root::fpos_t, + } + #[test] + fn bindgen_test_layout___sFILE() { + assert_eq!(::std::mem::size_of::<__sFILE>() , 152usize , concat ! ( + "Size of: " , stringify ! ( __sFILE ) )); + assert_eq! (::std::mem::align_of::<__sFILE>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( __sFILE ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __sFILE ) ) . _p as * const _ as + usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _p ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_end as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _IO_read_end ) )); + & ( * ( 0 as * const __sFILE ) ) . _r as * const _ as + usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _r ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_base as * - const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _IO_read_base ) )); + & ( * ( 0 as * const __sFILE ) ) . _w as * const _ as + usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _w ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_base as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _IO_write_base ) )); + & ( * ( 0 as * const __sFILE ) ) . _flags as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _flags ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_ptr as * - const _ as usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _IO_write_ptr ) )); + & ( * ( 0 as * const __sFILE ) ) . _file as * const _ as + usize } , 18usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _file ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_end as * - const _ as usize } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _IO_write_end ) )); + & ( * ( 0 as * const __sFILE ) ) . _bf as * const _ as + usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _bf ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _IO_buf_base as * - const _ as usize } , 56usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _IO_buf_base ) )); + & ( * ( 0 as * const __sFILE ) ) . _lbfsize as * const _ + as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _lbfsize ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _IO_buf_end as * const - _ as usize } , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _IO_buf_end ) )); + & ( * ( 0 as * const __sFILE ) ) . _cookie as * const _ as + usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _cookie ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _IO_save_base as * - const _ as usize } , 72usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _IO_save_base ) )); + & ( * ( 0 as * const __sFILE ) ) . _close as * const _ as + usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _close ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _IO_backup_base as * - const _ as usize } , 80usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _IO_backup_base ) )); + & ( * ( 0 as * const __sFILE ) ) . _read as * const _ as + usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _read ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _IO_save_end as * - const _ as usize } , 88usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _IO_save_end ) )); + & ( * ( 0 as * const __sFILE ) ) . _seek as * const _ as + usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _seek ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __sFILE ) ) . _write as * const _ as + usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _write ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _markers as * const _ - as usize } , 96usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _markers ) )); + & ( * ( 0 as * const __sFILE ) ) . _ub as * const _ as + usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _ub ) )); assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _chain as * const _ as + & ( * ( 0 as * const __sFILE ) ) . _extra as * const _ as usize } , 104usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _chain ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _fileno as * const _ - as usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _fileno ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _flags2 as * const _ - as usize } , 116usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _flags2 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _old_offset as * const - _ as usize } , 120usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _old_offset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _cur_column as * const - _ as usize } , 128usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _cur_column ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _vtable_offset as * - const _ as usize } , 130usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _vtable_offset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _shortbuf as * const _ - as usize } , 131usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _shortbuf ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _lock as * const _ as - usize } , 136usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _lock ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _offset as * const _ - as usize } , 144usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _extra ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __sFILE ) ) . _ur as * const _ as + usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _ur ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __sFILE ) ) . _ubuf as * const _ as + usize } , 116usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _ubuf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __sFILE ) ) . _nbuf as * const _ as + usize } , 119usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _nbuf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __sFILE ) ) . _lb as * const _ as + usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _lb ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __sFILE ) ) . _blksize as * const _ + as usize } , 136usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + stringify ! ( _blksize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const __sFILE ) ) . _offset as * const _ as + usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( __sFILE ) , "::" , stringify ! ( _offset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . __pad1 as * const _ as - usize } , 152usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( __pad1 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . __pad2 as * const _ as - usize } , 160usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( __pad2 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . __pad3 as * const _ as - usize } , 168usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( __pad3 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . __pad4 as * const _ as - usize } , 176usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( __pad4 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . __pad5 as * const _ as - usize } , 184usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( __pad5 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _mode as * const _ as - usize } , 192usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _mode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_FILE ) ) . _unused2 as * const _ - as usize } , 196usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , - stringify ! ( _unused2 ) )); - } - impl Clone for _IO_FILE { + } + impl Clone for __sFILE { fn clone(&self) -> Self { *self } } - pub type FILE = root::_IO_FILE; - pub type va_list = root::__builtin_va_list; + pub type FILE = root::__sFILE; #[repr(C)] #[derive(Debug, Copy)] pub struct InfallibleAllocPolicy { @@ -12472,39 +13226,6 @@ pub mod root { NS_OK_NO_NAME_CLAUSE_HANDLED = 7864354, } pub type nsrefcnt = root::MozRefCountType; - pub type _IO_lock_t = ::std::os::raw::c_void; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct _IO_marker { - pub _next: *mut root::_IO_marker, - pub _sbuf: *mut root::_IO_FILE, - pub _pos: ::std::os::raw::c_int, - } - #[test] - fn bindgen_test_layout__IO_marker() { - assert_eq!(::std::mem::size_of::<_IO_marker>() , 24usize , concat ! ( - "Size of: " , stringify ! ( _IO_marker ) )); - assert_eq! (::std::mem::align_of::<_IO_marker>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( _IO_marker ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_marker ) ) . _next as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_marker ) , "::" - , stringify ! ( _next ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_marker ) ) . _sbuf as * const _ - as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_marker ) , "::" - , stringify ! ( _sbuf ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const _IO_marker ) ) . _pos as * const _ as - usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( _IO_marker ) , "::" - , stringify ! ( _pos ) )); - } - impl Clone for _IO_marker { - fn clone(&self) -> Self { *self } - } #[repr(C)] pub struct nsQueryFrame__bindgen_vtable(::std::os::raw::c_void); #[repr(C)] @@ -14870,11 +15591,6 @@ pub mod root { AutoSetAsyncStackForNewCalls ) , "::" , stringify ! ( oldAsyncCallIsExplicit ) )); } - pub type WarningReporter = - ::std::option::Option<unsafe extern "C" fn(cx: - *mut root::JSContext, - report: - *mut root::JSErrorReport)>; #[repr(C)] #[derive(Debug)] pub struct AutoHideScriptedCaller { @@ -15036,141 +15752,6 @@ pub mod root { pub struct JSCompartment { _unused: [u8; 0], } - /** - * Describes a single error or warning that occurs in the execution of script. - */ - #[repr(C)] - pub struct JSErrorReport { - pub _base: root::JSErrorBase, - pub linebuf_: *const u16, - pub linebufLength_: usize, - pub tokenOffset_: usize, - pub notes: root::mozilla::UniquePtr<root::JSErrorNotes>, - pub flags: ::std::os::raw::c_uint, - pub exnType: i16, - pub _bitfield_1: u8, - pub __bindgen_padding_0: u8, - } - #[test] - fn bindgen_test_layout_JSErrorReport() { - assert_eq!(::std::mem::size_of::<JSErrorReport>() , 72usize , concat ! - ( "Size of: " , stringify ! ( JSErrorReport ) )); - assert_eq! (::std::mem::align_of::<JSErrorReport>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( JSErrorReport ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . linebuf_ as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( linebuf_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . linebufLength_ as - * const _ as usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( linebufLength_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . tokenOffset_ as * - const _ as usize } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( tokenOffset_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . notes as * const - _ as usize } , 56usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( notes ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . flags as * const - _ as usize } , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . exnType as * - const _ as usize } , 68usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( exnType ) )); - } - impl JSErrorReport { - #[inline] - pub fn isMuted(&self) -> bool { - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - let mask = 1u64 as u8; - let val = (unit_field_val & mask) >> 0usize; - unsafe { ::std::mem::transmute(val as u8) } - } - #[inline] - pub fn set_isMuted(&mut self, val: bool) { - let mask = 1u64 as u8; - let val = val as u8 as u8; - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - unit_field_val &= !mask; - unit_field_val |= (val << 0usize) & mask; - unsafe { - ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as - *const u8, - &mut self._bitfield_1 as - *mut _ as *mut u8, - ::std::mem::size_of::<u8>()); - } - } - #[inline] - pub fn ownsLinebuf_(&self) -> bool { - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - let mask = 2u64 as u8; - let val = (unit_field_val & mask) >> 1usize; - unsafe { ::std::mem::transmute(val as u8) } - } - #[inline] - pub fn set_ownsLinebuf_(&mut self, val: bool) { - let mask = 2u64 as u8; - let val = val as u8 as u8; - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - unit_field_val &= !mask; - unit_field_val |= (val << 1usize) & mask; - unsafe { - ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as - *const u8, - &mut self._bitfield_1 as - *mut _ as *mut u8, - ::std::mem::size_of::<u8>()); - } - } - #[inline] - pub fn new_bitfield_1(isMuted: bool, ownsLinebuf_: bool) -> u8 { - ({ ({ 0 } | ((isMuted as u8 as u8) << 0usize) & (1u64 as u8)) } | - ((ownsLinebuf_ as u8 as u8) << 1usize) & (2u64 as u8)) - } - } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSRuntime { @@ -16075,7 +16656,7 @@ pub mod root { #[derive(Debug)] pub struct gfxFontFeatureValueSet_ValueList { pub name: ::nsstring::nsStringRepr, - pub featureSelectors: root::nsTArray<u32>, + pub featureSelectors: root::nsTArray<::std::os::raw::c_uint>, } #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_ValueList() { @@ -16180,7 +16761,7 @@ pub mod root { pub struct gfxFontFeatureValueSet_FeatureValueHashEntry { pub _base: root::PLDHashEntryHdr, pub mKey: root::gfxFontFeatureValueSet_FeatureValueHashKey, - pub mValues: root::nsTArray<u32>, + pub mValues: root::nsTArray<::std::os::raw::c_uint>, } pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyType = *const root::gfxFontFeatureValueSet_FeatureValueHashKey; @@ -16290,7 +16871,7 @@ pub mod root { pub alternateValues: root::nsTArray<root::gfxAlternateValue>, pub featureValueLookup: root::RefPtr<root::gfxFontFeatureValueSet>, pub fontFeatureSettings: root::nsTArray<root::gfxFontFeature>, - pub fontVariationSettings: root::nsTArray<root::gfxFontVariation>, + pub fontVariationSettings: root::nsTArray<root::mozilla::gfx::FontVariation>, pub languageOverride: u32, } #[test] @@ -17280,7 +17861,6 @@ pub mod root { APPEND_UNSCROLLED_ONLY = 4, } #[repr(C)] - #[derive(Debug)] pub struct nsIPresShell_PointerCaptureInfo { pub mPendingContent: root::nsCOMPtr<root::nsIContent>, pub mOverrideContent: root::nsCOMPtr<root::nsIContent>, @@ -18269,6 +18849,2380 @@ pub mod root { (16384u64 as u16)) } } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleFont { + pub mFont: root::nsFont, + pub mSize: root::nscoord, + pub mGenericID: u8, + pub mScriptLevel: i8, + pub mMathVariant: u8, + pub mMathDisplay: u8, + pub mMinFontSizeRatio: u8, + pub mExplicitLanguage: bool, + pub mAllowZoom: bool, + pub mScriptUnconstrainedSize: root::nscoord, + pub mScriptMinSize: root::nscoord, + pub mScriptSizeMultiplier: f32, + pub mLanguage: root::nsCOMPtr<root::nsIAtom>, + } + pub const nsStyleFont_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleFont() { + assert_eq!(::std::mem::size_of::<nsStyleFont>() , 120usize , concat ! + ( "Size of: " , stringify ! ( nsStyleFont ) )); + assert_eq! (::std::mem::align_of::<nsStyleFont>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mFont as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mSize as * const _ + as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mGenericID as * + const _ as usize } , 92usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mGenericID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mScriptLevel as * + const _ as usize } , 93usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptLevel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMathVariant as * + const _ as usize } , 94usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMathVariant ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMathDisplay as * + const _ as usize } , 95usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMathDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMinFontSizeRatio + as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMinFontSizeRatio ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mExplicitLanguage + as * const _ as usize } , 97usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mExplicitLanguage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mAllowZoom as * + const _ as usize } , 98usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mAllowZoom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . + mScriptUnconstrainedSize as * const _ as usize } , + 100usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptUnconstrainedSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mScriptMinSize as * + const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptMinSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . + mScriptSizeMultiplier as * const _ as usize } , 108usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptSizeMultiplier ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mLanguage as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mLanguage ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleColor { + pub mColor: root::nscolor, + } + pub const nsStyleColor_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleColor() { + assert_eq!(::std::mem::size_of::<nsStyleColor>() , 4usize , concat ! ( + "Size of: " , stringify ! ( nsStyleColor ) )); + assert_eq! (::std::mem::align_of::<nsStyleColor>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColor ) ) . mColor as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColor ) , + "::" , stringify ! ( mColor ) )); + } + #[test] + fn __bindgen_test_layout_StaticRefPtr_instantiation_21() { + assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + } + #[test] + fn __bindgen_test_layout_StaticRefPtr_instantiation_22() { + assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleList { + pub mListStylePosition: u8, + pub mListStyleImage: root::RefPtr<root::nsStyleImageRequest>, + pub mCounterStyle: root::mozilla::CounterStylePtr, + pub mQuotes: root::RefPtr<root::nsStyleQuoteValues>, + pub mImageRegion: root::nsRect, + } + pub const nsStyleList_kHasFinishStyle: bool = true; + extern "C" { + #[link_name = "_ZN11nsStyleList14sInitialQuotesE"] + pub static mut nsStyleList_sInitialQuotes: + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>; + } + extern "C" { + #[link_name = "_ZN11nsStyleList11sNoneQuotesE"] + pub static mut nsStyleList_sNoneQuotes: + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>; + } + #[test] + fn bindgen_test_layout_nsStyleList() { + assert_eq!(::std::mem::size_of::<nsStyleList>() , 48usize , concat ! ( + "Size of: " , stringify ! ( nsStyleList ) )); + assert_eq! (::std::mem::align_of::<nsStyleList>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mListStylePosition + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mListStylePosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mListStyleImage as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mListStyleImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mCounterStyle as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mCounterStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mQuotes as * const + _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mQuotes ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mImageRegion as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mImageRegion ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleText { + pub mTextAlign: u8, + pub mTextAlignLast: u8, + pub _bitfield_1: u8, + pub mTextJustify: root::mozilla::StyleTextJustify, + pub mTextTransform: u8, + pub mWhiteSpace: root::mozilla::StyleWhiteSpace, + pub mWordBreak: u8, + pub mOverflowWrap: u8, + pub mHyphens: root::mozilla::StyleHyphens, + pub mRubyAlign: u8, + pub mRubyPosition: u8, + pub mTextSizeAdjust: u8, + pub mTextCombineUpright: u8, + pub mControlCharacterVisibility: u8, + pub mTextEmphasisPosition: u8, + pub mTextEmphasisStyle: u8, + pub mTextRendering: u8, + pub mTextEmphasisColor: root::mozilla::StyleComplexColor, + pub mWebkitTextFillColor: root::mozilla::StyleComplexColor, + pub mWebkitTextStrokeColor: root::mozilla::StyleComplexColor, + pub mTabSize: root::nsStyleCoord, + pub mWordSpacing: root::nsStyleCoord, + pub mLetterSpacing: root::nsStyleCoord, + pub mLineHeight: root::nsStyleCoord, + pub mTextIndent: root::nsStyleCoord, + pub mWebkitTextStrokeWidth: root::nscoord, + pub mTextShadow: root::RefPtr<root::nsCSSShadowArray>, + pub mTextEmphasisStyleString: ::nsstring::nsStringRepr, + } + pub const nsStyleText_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleText() { + assert_eq!(::std::mem::size_of::<nsStyleText>() , 160usize , concat ! + ( "Size of: " , stringify ! ( nsStyleText ) )); + assert_eq! (::std::mem::align_of::<nsStyleText>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleText ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextAlign as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextAlignLast as * + const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextAlignLast ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextJustify as * + const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextJustify ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextTransform as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWhiteSpace as * + const _ as usize } , 5usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWhiteSpace ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWordBreak as * + const _ as usize } , 6usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWordBreak ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mOverflowWrap as * + const _ as usize } , 7usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mOverflowWrap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mHyphens as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mHyphens ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mRubyAlign as * + const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mRubyAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mRubyPosition as * + const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mRubyPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextSizeAdjust as + * const _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextSizeAdjust ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextCombineUpright + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextCombineUpright ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mControlCharacterVisibility as * const _ as usize } , + 13usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mControlCharacterVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mTextEmphasisPosition as * const _ as usize } , 14usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyle + as * const _ as usize } , 15usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextRendering as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisColor + as * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextFillColor as * const _ as usize } , 28usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextFillColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextStrokeColor as * const _ as usize } , 36usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextStrokeColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTabSize as * const + _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTabSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWordSpacing as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWordSpacing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mLetterSpacing as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mLetterSpacing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mLineHeight as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mLineHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextIndent as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextIndent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextStrokeWidth as * const _ as usize } , 128usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextStrokeWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextShadow as * + const _ as usize } , 136usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextShadow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mTextEmphasisStyleString as * const _ as usize } , + 144usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisStyleString ) )); + } + impl nsStyleText { + #[inline] + pub fn mTextAlignTrue(&self) -> bool { + let mut unit_field_val: u8 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as *mut u8 + as *mut u8, + ::std::mem::size_of::<u8>()) + }; + let mask = 1u64 as u8; + let val = (unit_field_val & mask) >> 0usize; + unsafe { ::std::mem::transmute(val as u8) } + } + #[inline] + pub fn set_mTextAlignTrue(&mut self, val: bool) { + let mask = 1u64 as u8; + let val = val as u8 as u8; + let mut unit_field_val: u8 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as *mut u8 + as *mut u8, + ::std::mem::size_of::<u8>()) + }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + unsafe { + ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as + *const u8, + &mut self._bitfield_1 as + *mut _ as *mut u8, + ::std::mem::size_of::<u8>()); + } + } + #[inline] + pub fn mTextAlignLastTrue(&self) -> bool { + let mut unit_field_val: u8 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as *mut u8 + as *mut u8, + ::std::mem::size_of::<u8>()) + }; + let mask = 2u64 as u8; + let val = (unit_field_val & mask) >> 1usize; + unsafe { ::std::mem::transmute(val as u8) } + } + #[inline] + pub fn set_mTextAlignLastTrue(&mut self, val: bool) { + let mask = 2u64 as u8; + let val = val as u8 as u8; + let mut unit_field_val: u8 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as *mut u8 + as *mut u8, + ::std::mem::size_of::<u8>()) + }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + unsafe { + ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as + *const u8, + &mut self._bitfield_1 as + *mut _ as *mut u8, + ::std::mem::size_of::<u8>()); + } + } + #[inline] + pub fn new_bitfield_1(mTextAlignTrue: bool, mTextAlignLastTrue: bool) + -> u8 { + ({ + ({ 0 } | + ((mTextAlignTrue as u8 as u8) << 0usize) & (1u64 as u8)) + } | ((mTextAlignLastTrue as u8 as u8) << 1usize) & (2u64 as u8)) + } + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleVisibility { + pub mImageOrientation: root::nsStyleImageOrientation, + pub mDirection: u8, + pub mVisible: u8, + pub mImageRendering: u8, + pub mWritingMode: u8, + pub mTextOrientation: u8, + pub mColorAdjust: u8, + } + pub const nsStyleVisibility_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleVisibility() { + assert_eq!(::std::mem::size_of::<nsStyleVisibility>() , 7usize , + concat ! ( "Size of: " , stringify ! ( nsStyleVisibility ) + )); + assert_eq! (::std::mem::align_of::<nsStyleVisibility>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mImageOrientation as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mImageOrientation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mDirection as + * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mVisible as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mVisible ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mImageRendering as * const _ as usize } , 3usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mImageRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mWritingMode + as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mWritingMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mTextOrientation as * const _ as usize } , 5usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mTextOrientation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mColorAdjust + as * const _ as usize } , 6usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mColorAdjust ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleUserInterface { + pub mUserInput: root::mozilla::StyleUserInput, + pub mUserModify: root::mozilla::StyleUserModify, + pub mUserFocus: root::mozilla::StyleUserFocus, + pub mPointerEvents: u8, + pub mCursor: u8, + pub mCursorImages: root::nsTArray<root::nsCursorImage>, + pub mCaretColor: root::mozilla::StyleComplexColor, + } + pub const nsStyleUserInterface_kHasFinishStyle: bool = true; + #[test] + fn bindgen_test_layout_nsStyleUserInterface() { + assert_eq!(::std::mem::size_of::<nsStyleUserInterface>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleUserInterface ) )); + assert_eq! (::std::mem::align_of::<nsStyleUserInterface>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleUserInterface ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserInput + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserInput ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mUserModify as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserModify + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserFocus + as * const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserFocus ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mPointerEvents as * const _ as usize } , 3usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( + mPointerEvents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursor as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mCursor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mCursorImages as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( + mCursorImages ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mCaretColor as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mCaretColor + ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleTableBorder { + pub mBorderSpacingCol: root::nscoord, + pub mBorderSpacingRow: root::nscoord, + pub mBorderCollapse: u8, + pub mCaptionSide: u8, + pub mEmptyCells: u8, + } + pub const nsStyleTableBorder_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleTableBorder() { + assert_eq!(::std::mem::size_of::<nsStyleTableBorder>() , 12usize , + concat ! ( "Size of: " , stringify ! ( nsStyleTableBorder ) + )); + assert_eq! (::std::mem::align_of::<nsStyleTableBorder>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleTableBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderSpacingCol as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderSpacingCol ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderSpacingRow as * const _ as usize } , 4usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderSpacingRow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderCollapse as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderCollapse ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . mCaptionSide + as * const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mCaptionSide ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . mEmptyCells + as * const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mEmptyCells ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleSVG { + pub mFill: root::nsStyleSVGPaint, + pub mStroke: root::nsStyleSVGPaint, + pub mMarkerEnd: root::RefPtr<root::mozilla::css::URLValue>, + pub mMarkerMid: root::RefPtr<root::mozilla::css::URLValue>, + pub mMarkerStart: root::RefPtr<root::mozilla::css::URLValue>, + pub mStrokeDasharray: root::nsTArray<root::nsStyleCoord>, + pub mContextProps: root::nsTArray<root::nsCOMPtr<root::nsIAtom>>, + pub mStrokeDashoffset: root::nsStyleCoord, + pub mStrokeWidth: root::nsStyleCoord, + pub mFillOpacity: f32, + pub mStrokeMiterlimit: f32, + pub mStrokeOpacity: f32, + pub mClipRule: root::mozilla::StyleFillRule, + pub mColorInterpolation: u8, + pub mColorInterpolationFilters: u8, + pub mFillRule: root::mozilla::StyleFillRule, + pub mPaintOrder: u8, + pub mShapeRendering: u8, + pub mStrokeLinecap: u8, + pub mStrokeLinejoin: u8, + pub mTextAnchor: u8, + pub mContextPropsBits: u8, + pub mContextFlags: u8, + } + pub const nsStyleSVG_FILL_OPACITY_SOURCE_MASK: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::FILL_OPACITY_SOURCE_MASK; + pub const nsStyleSVG_STROKE_OPACITY_SOURCE_MASK: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::STROKE_OPACITY_SOURCE_MASK; + pub const nsStyleSVG_STROKE_DASHARRAY_CONTEXT: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::STROKE_DASHARRAY_CONTEXT; + pub const nsStyleSVG_STROKE_DASHOFFSET_CONTEXT: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::STROKE_DASHOFFSET_CONTEXT; + pub const nsStyleSVG_STROKE_WIDTH_CONTEXT: root::nsStyleSVG__bindgen_ty_1 + = + nsStyleSVG__bindgen_ty_1::STROKE_WIDTH_CONTEXT; + pub const nsStyleSVG_FILL_OPACITY_SOURCE_SHIFT: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::FILL_OPACITY_SOURCE_SHIFT; + pub const nsStyleSVG_STROKE_OPACITY_SOURCE_SHIFT: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::STROKE_OPACITY_SOURCE_SHIFT; + #[repr(u32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum nsStyleSVG__bindgen_ty_1 { + FILL_OPACITY_SOURCE_MASK = 3, + STROKE_OPACITY_SOURCE_MASK = 12, + STROKE_DASHARRAY_CONTEXT = 16, + STROKE_DASHOFFSET_CONTEXT = 32, + STROKE_WIDTH_CONTEXT = 64, + FILL_OPACITY_SOURCE_SHIFT = 0, + STROKE_OPACITY_SOURCE_SHIFT = 2, + } + pub const nsStyleSVG_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleSVG() { + assert_eq!(::std::mem::size_of::<nsStyleSVG>() , 128usize , concat ! ( + "Size of: " , stringify ! ( nsStyleSVG ) )); + assert_eq! (::std::mem::align_of::<nsStyleSVG>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleSVG ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFill as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStroke as * const _ + as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStroke ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerEnd as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerMid as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerMid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerStart as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDasharray as + * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeDasharray ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mContextProps as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mContextProps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDashoffset as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeDashoffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeWidth as * + const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFillOpacity as * + const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFillOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeMiterlimit as + * const _ as usize } , 108usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeMiterlimit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeOpacity as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mClipRule as * const + _ as usize } , 116usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mClipRule ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolation + as * const _ as usize } , 117usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mColorInterpolation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . + mColorInterpolationFilters as * const _ as usize } , + 118usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mColorInterpolationFilters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFillRule as * const + _ as usize } , 119usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFillRule ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mPaintOrder as * + const _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mPaintOrder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mShapeRendering as * + const _ as usize } , 121usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mShapeRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinecap as * + const _ as usize } , 122usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeLinecap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinejoin as * + const _ as usize } , 123usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeLinejoin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mTextAnchor as * + const _ as usize } , 124usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mTextAnchor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mContextPropsBits as + * const _ as usize } , 125usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mContextPropsBits ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mContextFlags as * + const _ as usize } , 126usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mContextFlags ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleVariables { + pub mVariables: root::mozilla::CSSVariableValues, + } + pub const nsStyleVariables_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleVariables() { + assert_eq!(::std::mem::size_of::<nsStyleVariables>() , 56usize , + concat ! ( "Size of: " , stringify ! ( nsStyleVariables ) + )); + assert_eq! (::std::mem::align_of::<nsStyleVariables>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleVariables ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVariables ) ) . mVariables as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVariables ) + , "::" , stringify ! ( mVariables ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleBackground { + pub mImage: root::nsStyleImageLayers, + pub mBackgroundColor: root::mozilla::StyleComplexColor, + } + pub const nsStyleBackground_kHasFinishStyle: bool = true; + #[test] + fn bindgen_test_layout_nsStyleBackground() { + assert_eq!(::std::mem::size_of::<nsStyleBackground>() , 160usize , + concat ! ( "Size of: " , stringify ! ( nsStyleBackground ) + )); + assert_eq! (::std::mem::align_of::<nsStyleBackground>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleBackground ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBackground ) ) . mImage as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBackground ) + , "::" , stringify ! ( mImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBackground ) ) . + mBackgroundColor as * const _ as usize } , 152usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBackground ) + , "::" , stringify ! ( mBackgroundColor ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStylePosition { + pub mObjectPosition: root::mozilla::Position, + pub mOffset: root::nsStyleSides, + pub mWidth: root::nsStyleCoord, + pub mMinWidth: root::nsStyleCoord, + pub mMaxWidth: root::nsStyleCoord, + pub mHeight: root::nsStyleCoord, + pub mMinHeight: root::nsStyleCoord, + pub mMaxHeight: root::nsStyleCoord, + pub mFlexBasis: root::nsStyleCoord, + pub mGridAutoColumnsMin: root::nsStyleCoord, + pub mGridAutoColumnsMax: root::nsStyleCoord, + pub mGridAutoRowsMin: root::nsStyleCoord, + pub mGridAutoRowsMax: root::nsStyleCoord, + pub mGridAutoFlow: u8, + pub mBoxSizing: root::mozilla::StyleBoxSizing, + pub mAlignContent: u16, + pub mAlignItems: u8, + pub mAlignSelf: u8, + pub mJustifyContent: u16, + pub mJustifyItems: u8, + pub mJustifySelf: u8, + pub mFlexDirection: u8, + pub mFlexWrap: u8, + pub mObjectFit: u8, + pub mOrder: i32, + pub mFlexGrow: f32, + pub mFlexShrink: f32, + pub mZIndex: root::nsStyleCoord, + pub mGridTemplateColumns: root::nsStyleGridTemplate, + pub mGridTemplateRows: root::nsStyleGridTemplate, + pub mGridTemplateAreas: root::RefPtr<root::mozilla::css::GridTemplateAreasValue>, + pub mGridColumnStart: root::nsStyleGridLine, + pub mGridColumnEnd: root::nsStyleGridLine, + pub mGridRowStart: root::nsStyleGridLine, + pub mGridRowEnd: root::nsStyleGridLine, + pub mGridColumnGap: root::nsStyleCoord, + pub mGridRowGap: root::nsStyleCoord, + } + pub const nsStylePosition_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStylePosition() { + assert_eq!(::std::mem::size_of::<nsStylePosition>() , 520usize , + concat ! ( "Size of: " , stringify ! ( nsStylePosition ) + )); + assert_eq! (::std::mem::align_of::<nsStylePosition>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStylePosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mObjectPosition + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mObjectPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mOffset as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mWidth as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMinWidth as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMinWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMaxWidth as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMaxWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mHeight as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMinHeight as * + const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMinHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMaxHeight as * + const _ as usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMaxHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexBasis as * + const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexBasis ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoColumnsMin as * const _ as usize } , 176usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoColumnsMin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoColumnsMax as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoColumnsMax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoRowsMin as * const _ as usize } , 208usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoRowsMin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoRowsMax as * const _ as usize } , 224usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoRowsMax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoFlow + as * const _ as usize } , 240usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoFlow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mBoxSizing as * + const _ as usize } , 241usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mBoxSizing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignContent + as * const _ as usize } , 242usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignItems as + * const _ as usize } , 244usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignItems ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignSelf as * + const _ as usize } , 245usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignSelf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifyContent + as * const _ as usize } , 246usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifyContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifyItems + as * const _ as usize } , 248usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifyItems ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifySelf as + * const _ as usize } , 249usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifySelf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexDirection + as * const _ as usize } , 250usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexWrap as * + const _ as usize } , 251usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexWrap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mObjectFit as * + const _ as usize } , 252usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mObjectFit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mOrder as * + const _ as usize } , 256usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mOrder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexGrow as * + const _ as usize } , 260usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexGrow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexShrink as + * const _ as usize } , 264usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexShrink ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mZIndex as * + const _ as usize } , 272usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mZIndex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateColumns as * const _ as usize } , 288usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateColumns ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateRows as * const _ as usize } , 336usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateRows ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateAreas as * const _ as usize } , 384usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateAreas ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridColumnStart as * const _ as usize } , 392usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnEnd + as * const _ as usize } , 416usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowStart + as * const _ as usize } , 440usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowEnd as + * const _ as usize } , 464usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnGap + as * const _ as usize } , 488usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnGap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowGap as + * const _ as usize } , 504usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowGap ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleTextReset { + pub mTextOverflow: root::nsStyleTextOverflow, + pub mTextDecorationLine: u8, + pub mTextDecorationStyle: u8, + pub mUnicodeBidi: u8, + pub mInitialLetterSink: root::nscoord, + pub mInitialLetterSize: f32, + pub mTextDecorationColor: root::mozilla::StyleComplexColor, + } + pub const nsStyleTextReset_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleTextReset() { + assert_eq!(::std::mem::size_of::<nsStyleTextReset>() , 80usize , + concat ! ( "Size of: " , stringify ! ( nsStyleTextReset ) + )); + assert_eq! (::std::mem::align_of::<nsStyleTextReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleTextReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . mTextOverflow + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextOverflow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationLine as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationLine ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationStyle as * const _ as usize } , 57usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . mUnicodeBidi + as * const _ as usize } , 58usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mUnicodeBidi ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mInitialLetterSink as * const _ as usize } , 60usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mInitialLetterSink ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mInitialLetterSize as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mInitialLetterSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationColor as * const _ as usize } , 68usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationColor ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleDisplay { + pub mBinding: root::BindingHolder, + pub mDisplay: root::mozilla::StyleDisplay, + pub mOriginalDisplay: root::mozilla::StyleDisplay, + pub mContain: u8, + pub mAppearance: u8, + pub mPosition: u8, + pub mFloat: root::mozilla::StyleFloat, + pub mOriginalFloat: root::mozilla::StyleFloat, + pub mBreakType: root::mozilla::StyleClear, + pub mBreakInside: u8, + pub mBreakBefore: bool, + pub mBreakAfter: bool, + pub mOverflowX: u8, + pub mOverflowY: u8, + pub mOverflowClipBox: u8, + pub mResize: u8, + pub mOrient: root::mozilla::StyleOrient, + pub mIsolation: u8, + pub mTopLayer: u8, + pub mWillChangeBitField: u8, + pub mWillChange: root::nsCOMArray, + pub mTouchAction: u8, + pub mScrollBehavior: u8, + pub mScrollSnapTypeX: u8, + pub mScrollSnapTypeY: u8, + pub mScrollSnapPointsX: root::nsStyleCoord, + pub mScrollSnapPointsY: root::nsStyleCoord, + pub mScrollSnapDestination: root::mozilla::Position, + pub mScrollSnapCoordinate: root::nsTArray<root::mozilla::Position>, + pub mBackfaceVisibility: u8, + pub mTransformStyle: u8, + pub mTransformBox: root::nsStyleDisplay_StyleGeometryBox, + pub mSpecifiedTransform: root::RefPtr<root::nsCSSValueSharedList>, + pub mTransformOrigin: [root::nsStyleCoord; 3usize], + pub mChildPerspective: root::nsStyleCoord, + pub mPerspectiveOrigin: [root::nsStyleCoord; 2usize], + pub mVerticalAlign: root::nsStyleCoord, + pub mTransitions: root::nsStyleAutoArray<root::mozilla::StyleTransition>, + pub mTransitionTimingFunctionCount: u32, + pub mTransitionDurationCount: u32, + pub mTransitionDelayCount: u32, + pub mTransitionPropertyCount: u32, + pub mAnimations: root::nsStyleAutoArray<root::mozilla::StyleAnimation>, + pub mAnimationTimingFunctionCount: u32, + pub mAnimationDurationCount: u32, + pub mAnimationDelayCount: u32, + pub mAnimationNameCount: u32, + pub mAnimationDirectionCount: u32, + pub mAnimationFillModeCount: u32, + pub mAnimationPlayStateCount: u32, + pub mAnimationIterationCountCount: u32, + pub mShapeOutside: root::mozilla::StyleShapeSource, + } + pub use self::super::root::mozilla::StyleGeometryBox as + nsStyleDisplay_StyleGeometryBox; + pub const nsStyleDisplay_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleDisplay() { + assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 416usize , concat + ! ( "Size of: " , stringify ! ( nsStyleDisplay ) )); + assert_eq! (::std::mem::align_of::<nsStyleDisplay>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBinding as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBinding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mDisplay as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalDisplay + as * const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOriginalDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mContain as * + const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mContain ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mAppearance as * + const _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAppearance ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mPosition as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mFloat as * + const _ as usize } , 13usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalFloat + as * const _ as usize } , 14usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOriginalFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakType as * + const _ as usize } , 15usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakInside as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakInside ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakBefore as + * const _ as usize } , 17usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakBefore ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakAfter as * + const _ as usize } , 18usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakAfter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowX as * + const _ as usize } , 19usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowY as * + const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowClipBox + as * const _ as usize } , 21usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowClipBox ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mResize as * + const _ as usize } , 22usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mResize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOrient as * + const _ as usize } , 23usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOrient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mIsolation as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mIsolation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTopLayer as * + const _ as usize } , 25usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTopLayer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mWillChangeBitField as * const _ as usize } , 26usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mWillChangeBitField ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChange as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mWillChange ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTouchAction as + * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTouchAction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollBehavior + as * const _ as usize } , 41usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollBehavior ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeX + as * const _ as usize } , 42usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapTypeX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeY + as * const _ as usize } , 43usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapTypeY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapPointsX as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapPointsX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapPointsY as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapPointsY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapDestination as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapDestination ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapCoordinate as * const _ as usize } , 104usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapCoordinate ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mBackfaceVisibility as * const _ as usize } , 112usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBackfaceVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformStyle + as * const _ as usize } , 113usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformBox as + * const _ as usize } , 114usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformBox ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mSpecifiedTransform as * const _ as usize } , 120usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mSpecifiedTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformOrigin + as * const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformOrigin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mChildPerspective as * const _ as usize } , 176usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mChildPerspective ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mPerspectiveOrigin as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mPerspectiveOrigin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mVerticalAlign + as * const _ as usize } , 224usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mVerticalAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitions as + * const _ as usize } , 240usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionTimingFunctionCount as * const _ as usize } , + 288usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionTimingFunctionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionDurationCount as * const _ as usize } , + 292usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionDurationCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionDelayCount as * const _ as usize } , 296usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionDelayCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionPropertyCount as * const _ as usize } , + 300usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionPropertyCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimations as * + const _ as usize } , 304usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimations ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationTimingFunctionCount as * const _ as usize } , + 368usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationTimingFunctionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDurationCount as * const _ as usize } , 372usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDurationCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDelayCount as * const _ as usize } , 376usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDelayCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationNameCount as * const _ as usize } , 380usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationNameCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDirectionCount as * const _ as usize } , + 384usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDirectionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationFillModeCount as * const _ as usize } , 388usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationFillModeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationPlayStateCount as * const _ as usize } , + 392usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationPlayStateCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationIterationCountCount as * const _ as usize } , + 396usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationIterationCountCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mShapeOutside as + * const _ as usize } , 400usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mShapeOutside ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleContent { + pub mContents: root::nsTArray<root::nsStyleContentData>, + pub mIncrements: root::nsTArray<root::nsStyleCounterData>, + pub mResets: root::nsTArray<root::nsStyleCounterData>, + } + pub const nsStyleContent_kHasFinishStyle: bool = true; + #[test] + fn bindgen_test_layout_nsStyleContent() { + assert_eq!(::std::mem::size_of::<nsStyleContent>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsStyleContent ) )); + assert_eq! (::std::mem::align_of::<nsStyleContent>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mContents as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mContents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mIncrements as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mIncrements ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mResets as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mResets ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleUIReset { + pub mUserSelect: root::mozilla::StyleUserSelect, + pub mForceBrokenImageIcon: u8, + pub mIMEMode: u8, + pub mWindowDragging: root::mozilla::StyleWindowDragging, + pub mWindowShadow: u8, + pub mWindowOpacity: f32, + pub mSpecifiedWindowTransform: root::RefPtr<root::nsCSSValueSharedList>, + pub mWindowTransformOrigin: [root::nsStyleCoord; 2usize], + } + pub const nsStyleUIReset_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleUIReset() { + assert_eq!(::std::mem::size_of::<nsStyleUIReset>() , 56usize , concat + ! ( "Size of: " , stringify ! ( nsStyleUIReset ) )); + assert_eq! (::std::mem::align_of::<nsStyleUIReset>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleUIReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mUserSelect as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mUserSelect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . + mForceBrokenImageIcon as * const _ as usize } , 1usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mForceBrokenImageIcon ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mIMEMode as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mIMEMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowDragging + as * const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowDragging ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowShadow as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowShadow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowOpacity + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . + mSpecifiedWindowTransform as * const _ as usize } , + 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mSpecifiedWindowTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . + mWindowTransformOrigin as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowTransformOrigin ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleTable { + pub mLayoutStrategy: u8, + pub mSpan: i32, + } + pub const nsStyleTable_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleTable() { + assert_eq!(::std::mem::size_of::<nsStyleTable>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleTable ) )); + assert_eq! (::std::mem::align_of::<nsStyleTable>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTable ) ) . mLayoutStrategy as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTable ) , + "::" , stringify ! ( mLayoutStrategy ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTable ) ) . mSpan as * const _ + as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTable ) , + "::" , stringify ! ( mSpan ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleMargin { + pub mMargin: root::nsStyleSides, + } + pub const nsStyleMargin_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleMargin() { + assert_eq!(::std::mem::size_of::<nsStyleMargin>() , 40usize , concat ! + ( "Size of: " , stringify ! ( nsStyleMargin ) )); + assert_eq! (::std::mem::align_of::<nsStyleMargin>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleMargin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleMargin ) ) . mMargin as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleMargin ) , + "::" , stringify ! ( mMargin ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStylePadding { + pub mPadding: root::nsStyleSides, + } + pub const nsStylePadding_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStylePadding() { + assert_eq!(::std::mem::size_of::<nsStylePadding>() , 40usize , concat + ! ( "Size of: " , stringify ! ( nsStylePadding ) )); + assert_eq! (::std::mem::align_of::<nsStylePadding>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStylePadding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePadding ) ) . mPadding as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePadding ) , + "::" , stringify ! ( mPadding ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleBorder { + pub mBorderColors: *mut *mut root::nsBorderColors, + pub mBorderRadius: root::nsStyleCorners, + pub mBorderImageSource: root::nsStyleImage, + pub mBorderImageSlice: root::nsStyleSides, + pub mBorderImageWidth: root::nsStyleSides, + pub mBorderImageOutset: root::nsStyleSides, + pub mBorderImageFill: u8, + pub mBorderImageRepeatH: u8, + pub mBorderImageRepeatV: u8, + pub mFloatEdge: root::mozilla::StyleFloatEdge, + pub mBoxDecorationBreak: root::mozilla::StyleBoxDecorationBreak, + pub mBorderStyle: [u8; 4usize], + pub __bindgen_anon_1: root::nsStyleBorder__bindgen_ty_1, + pub mComputedBorder: root::nsMargin, + pub mBorder: root::nsMargin, + pub mTwipsPerPixel: root::nscoord, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsStyleBorder__bindgen_ty_1 { + pub __bindgen_anon_1: root::__BindgenUnionField<root::nsStyleBorder__bindgen_ty_1__bindgen_ty_1>, + pub mBorderColor: root::__BindgenUnionField<[root::mozilla::StyleComplexColor; 4usize]>, + pub bindgen_union_field: [u32; 8usize], + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { + pub mBorderTopColor: root::mozilla::StyleComplexColor, + pub mBorderRightColor: root::mozilla::StyleComplexColor, + pub mBorderBottomColor: root::mozilla::StyleComplexColor, + pub mBorderLeftColor: root::mozilla::StyleComplexColor, + } + #[test] + fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1__bindgen_ty_1() { + assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() + , 32usize , concat ! ( + "Size of: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderTopColor as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderTopColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderRightColor as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderRightColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderBottomColor as * const _ as usize } , 16usize + , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderBottomColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderLeftColor as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderLeftColor ) )); + } + impl Clone for nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { + fn clone(&self) -> Self { *self } + } + #[test] + fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1() { + assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1>() , + 32usize , concat ! ( + "Size of: " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1>() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleBorder__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1 ) ) . + mBorderColor as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1 ) , "::" , stringify ! ( + mBorderColor ) )); + } + impl Clone for nsStyleBorder__bindgen_ty_1 { + fn clone(&self) -> Self { *self } + } + pub const nsStyleBorder_kHasFinishStyle: bool = true; + #[test] + fn bindgen_test_layout_nsStyleBorder() { + assert_eq!(::std::mem::size_of::<nsStyleBorder>() , 312usize , concat + ! ( "Size of: " , stringify ! ( nsStyleBorder ) )); + assert_eq! (::std::mem::align_of::<nsStyleBorder>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderColors as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderColors ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderRadius as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderRadius ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageSource as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageSource ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageSlice + as * const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageSlice ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageWidth + as * const _ as usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageOutset as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageOutset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageFill + as * const _ as usize } , 232usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageRepeatH as * const _ as usize } , 233usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageRepeatH ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageRepeatV as * const _ as usize } , 234usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageRepeatV ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mFloatEdge as * + const _ as usize } , 235usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mFloatEdge ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBoxDecorationBreak as * const _ as usize } , 236usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBoxDecorationBreak ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderStyle as * + const _ as usize } , 237usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mComputedBorder + as * const _ as usize } , 276usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mComputedBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorder as * + const _ as usize } , 292usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mTwipsPerPixel as + * const _ as usize } , 308usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mTwipsPerPixel ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleOutline { + pub mOutlineRadius: root::nsStyleCorners, + pub mOutlineWidth: root::nscoord, + pub mOutlineOffset: root::nscoord, + pub mOutlineColor: root::mozilla::StyleComplexColor, + pub mOutlineStyle: u8, + pub mActualOutlineWidth: root::nscoord, + pub mTwipsPerPixel: root::nscoord, + } + pub const nsStyleOutline_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleOutline() { + assert_eq!(::std::mem::size_of::<nsStyleOutline>() , 104usize , concat + ! ( "Size of: " , stringify ! ( nsStyleOutline ) )); + assert_eq! (::std::mem::align_of::<nsStyleOutline>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleOutline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineRadius + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineRadius ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineWidth as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineOffset + as * const _ as usize } , 76usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineColor as + * const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineStyle as + * const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . + mActualOutlineWidth as * const _ as usize } , 92usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mActualOutlineWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mTwipsPerPixel + as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mTwipsPerPixel ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleXUL { + pub mBoxFlex: f32, + pub mBoxOrdinal: u32, + pub mBoxAlign: root::mozilla::StyleBoxAlign, + pub mBoxDirection: root::mozilla::StyleBoxDirection, + pub mBoxOrient: root::mozilla::StyleBoxOrient, + pub mBoxPack: root::mozilla::StyleBoxPack, + pub mStackSizing: root::mozilla::StyleStackSizing, + } + pub const nsStyleXUL_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleXUL() { + assert_eq!(::std::mem::size_of::<nsStyleXUL>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsStyleXUL ) )); + assert_eq! (::std::mem::align_of::<nsStyleXUL>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleXUL ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxFlex as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxFlex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrdinal as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxOrdinal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxAlign as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxDirection as * + const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrient as * + const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxOrient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxPack as * const + _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxPack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mStackSizing as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mStackSizing ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleSVGReset { + pub mMask: root::nsStyleImageLayers, + pub mClipPath: root::mozilla::StyleShapeSource, + pub mStopColor: root::nscolor, + pub mFloodColor: root::nscolor, + pub mLightingColor: root::nscolor, + pub mStopOpacity: f32, + pub mFloodOpacity: f32, + pub mDominantBaseline: u8, + pub mVectorEffect: u8, + pub mMaskType: u8, + } + pub const nsStyleSVGReset_kHasFinishStyle: bool = true; + #[test] + fn bindgen_test_layout_nsStyleSVGReset() { + assert_eq!(::std::mem::size_of::<nsStyleSVGReset>() , 192usize , + concat ! ( "Size of: " , stringify ! ( nsStyleSVGReset ) + )); + assert_eq! (::std::mem::align_of::<nsStyleSVGReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleSVGReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mMask as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mMask ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mClipPath as * + const _ as usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mClipPath ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopColor as * + const _ as usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mStopColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodColor as + * const _ as usize } , 172usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mFloodColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mLightingColor + as * const _ as usize } , 176usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mLightingColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopOpacity as + * const _ as usize } , 180usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mStopOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodOpacity + as * const _ as usize } , 184usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mFloodOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . + mDominantBaseline as * const _ as usize } , 188usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mDominantBaseline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mVectorEffect + as * const _ as usize } , 189usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mVectorEffect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mMaskType as * + const _ as usize } , 190usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mMaskType ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleColumn { + pub mColumnCount: u32, + pub mColumnWidth: root::nsStyleCoord, + pub mColumnGap: root::nsStyleCoord, + pub mColumnRuleColor: root::mozilla::StyleComplexColor, + pub mColumnRuleStyle: u8, + pub mColumnFill: u8, + pub mColumnSpan: u8, + pub mColumnRuleWidth: root::nscoord, + pub mTwipsPerPixel: root::nscoord, + } + pub const nsStyleColumn_kHasFinishStyle: bool = false; + pub const nsStyleColumn_kMaxColumnCount: u32 = 1000; + #[test] + fn bindgen_test_layout_nsStyleColumn() { + assert_eq!(::std::mem::size_of::<nsStyleColumn>() , 64usize , concat ! + ( "Size of: " , stringify ! ( nsStyleColumn ) )); + assert_eq! (::std::mem::align_of::<nsStyleColumn>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleColumn ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnCount as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnWidth as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnGap as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnGap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleColor + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleStyle + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnFill as * + const _ as usize } , 49usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnSpan as * + const _ as usize } , 50usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnSpan ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleWidth + as * const _ as usize } , 52usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mTwipsPerPixel as + * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mTwipsPerPixel ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleEffects { + pub mFilters: root::nsTArray<root::nsStyleFilter>, + pub mBoxShadow: root::RefPtr<root::nsCSSShadowArray>, + pub mClip: root::nsRect, + pub mOpacity: f32, + pub mClipFlags: u8, + pub mMixBlendMode: u8, + } + pub const nsStyleEffects_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleEffects() { + assert_eq!(::std::mem::size_of::<nsStyleEffects>() , 40usize , concat + ! ( "Size of: " , stringify ! ( nsStyleEffects ) )); + assert_eq! (::std::mem::align_of::<nsStyleEffects>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleEffects ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mFilters as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mFilters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mBoxShadow as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mBoxShadow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mClip as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mClip ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mOpacity as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mClipFlags as * + const _ as usize } , 36usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mClipFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mMixBlendMode as + * const _ as usize } , 37usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mMixBlendMode ) )); + } + /** + * We want C++ to be abe to read the style struct fields of ComputedValues + * so we define this type on the C++ side and use the bindgenned version + * on the Rust side. + * + */ + #[repr(C)] + #[derive(Debug)] + pub struct ServoComputedValues { + pub Font: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoFont>, + pub Color: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoColor>, + pub List: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoList>, + pub Text: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoText>, + pub Visibility: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoVisibility>, + pub UserInterface: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoUserInterface>, + pub TableBorder: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoTableBorder>, + pub SVG: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoSVG>, + pub Background: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoBackground>, + pub Position: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoPosition>, + pub TextReset: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoTextReset>, + pub Display: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoDisplay>, + pub Content: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoContent>, + pub UIReset: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoUIReset>, + pub Table: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoTable>, + pub Margin: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoMargin>, + pub Padding: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoPadding>, + pub Border: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoBorder>, + pub Outline: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoOutline>, + pub XUL: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoXUL>, + pub SVGReset: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoSVGReset>, + pub Column: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoColumn>, + pub Effects: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoEffects>, + pub custom_properties: ::gecko_bindings::structs::ServoCustomPropertiesMap, + pub writing_mode: ::gecko_bindings::structs::ServoWritingMode, + pub font_computation_data: ::gecko_bindings::structs::ServoFontComputationData, + /// The rule node representing the ordered list of rules matched for this + /// node. Can be None for default values and text nodes. This is + /// essentially an optimization to avoid referencing the root rule node. + pub rules: ::gecko_bindings::structs::ServoRuleNode, + /// The element's computed values if visited, only computed if there's a + /// relevant link for this element. A element's "relevant link" is the + /// element being matched if it is a link or the nearest ancestor link. + pub visited_style: ::gecko_bindings::structs::ServoVisitedStyle, + pub flags: ::gecko_bindings::structs::ServoComputedValueFlags, + } + #[test] + fn bindgen_test_layout_ServoComputedValues() { + assert_eq!(::std::mem::size_of::<ServoComputedValues>() , 232usize , + concat ! ( + "Size of: " , stringify ! ( ServoComputedValues ) )); + assert_eq! (::std::mem::align_of::<ServoComputedValues>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ServoComputedValues ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Font as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Font ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Color as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Color ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . List as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( List ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Text as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Text ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Visibility + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Visibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . + UserInterface as * const _ as usize } , 40usize , concat ! + ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( UserInterface ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . TableBorder + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( TableBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . SVG as * + const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( SVG ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Background + as * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Background ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Position as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Position ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . TextReset + as * const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( TextReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Display as + * const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Display ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Content as + * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Content ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . UIReset as + * const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( UIReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Table as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Table ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Margin as * + const _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Margin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Padding as + * const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Padding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Border as * + const _ as usize } , 136usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Border ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Outline as + * const _ as usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Outline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . XUL as * + const _ as usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( XUL ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . SVGReset as + * const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( SVGReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Column as * + const _ as usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Column ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Effects as + * const _ as usize } , 176usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Effects ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . + custom_properties as * const _ as usize } , 184usize , + concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( custom_properties ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . + writing_mode as * const _ as usize } , 192usize , concat ! + ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( writing_mode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . + font_computation_data as * const _ as usize } , 196usize , + concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( font_computation_data ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . rules as * + const _ as usize } , 208usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( rules ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . + visited_style as * const _ as usize } , 216usize , concat + ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( visited_style ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . flags as * + const _ as usize } , 224usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( flags ) )); + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct ServoComputedValuesForgotten { + pub mPtr: *const root::ServoComputedValues, + } + #[test] + fn bindgen_test_layout_ServoComputedValuesForgotten() { + assert_eq!(::std::mem::size_of::<ServoComputedValuesForgotten>() , + 8usize , concat ! ( + "Size of: " , stringify ! ( ServoComputedValuesForgotten ) + )); + assert_eq! (::std::mem::align_of::<ServoComputedValuesForgotten>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + ServoComputedValuesForgotten ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValuesForgotten ) ) . + mPtr as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoComputedValuesForgotten ) , "::" , stringify ! ( mPtr + ) )); + } + impl Clone for ServoComputedValuesForgotten { + fn clone(&self) -> Self { *self } + } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum WeakMapTraceKind { @@ -18323,7 +21277,7 @@ pub mod root { * count is 1. */ #[repr(C)] - #[derive(Debug)] + #[derive(Debug, Copy)] pub struct nsStringBuffer { pub mRefCount: u32, pub mStorageSize: u32, @@ -18345,6 +21299,9 @@ pub mod root { "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mStorageSize ) )); } + impl Clone for nsStringBuffer { + fn clone(&self) -> Self { *self } + } #[repr(C)] #[derive(Debug, Copy)] pub struct nsIAtom { @@ -18809,7 +21766,6 @@ pub mod root { * of nsIContent children and provides access to them. */ #[repr(C)] - #[derive(Debug)] pub struct nsINode { pub _base: root::mozilla::dom::EventTarget, pub mNodeInfo: root::RefPtr<root::mozilla::dom::NodeInfo>, @@ -20112,7 +23068,7 @@ pub mod root { pub mUpgradeInsecurePreloads: bool, pub mHSTSPrimingURIList: [u64; 6usize], pub mDocumentContainer: u64, - pub mCharacterSet: root::mozilla::NotNull<*const root::nsIDocument_Encoding>, + pub mCharacterSet: root::mozilla::NotNull<*const root::mozilla::Encoding>, pub mCharacterSetSource: i32, pub mParentDocument: *mut root::nsIDocument, pub mCachedRootElement: *mut root::mozilla::dom::Element, @@ -20170,7 +23126,7 @@ pub mod root { */ pub mFrameRequestCallbackCounter: i32, pub mStaticCloneCount: u32, - pub mBlockedTrackingNodes: root::nsTArray<root::nsWeakPtr>, + pub mBlockedTrackingNodes: root::nsTArray<root::nsCOMPtr<root::nsIWeakReference>>, pub mWindow: *mut root::nsPIDOMWindowInner, pub mCachedEncoder: root::nsCOMPtr<root::nsIDocumentEncoder>, pub mFrameRequestCallbacks: root::nsTArray<root::nsIDocument_FrameRequest>, @@ -22951,10 +25907,144 @@ pub mod root { } #[repr(C)] #[derive(Debug, Copy, Clone)] - pub struct nsBindingManager { + pub struct nsCSSRuleProcessor { _unused: [u8; 0], } #[repr(C)] + pub struct nsBindingManager { + pub _base: root::nsStubMutationObserver, + pub mRefCnt: root::nsCycleCollectingAutoRefCnt, + pub _mOwningThread: root::nsAutoOwningThread, + pub mBoundContentSet: u64, + pub mWrapperTable: u64, + pub mDocumentTable: u64, + pub mLoadingDocTable: u64, + pub mAttachedStack: root::nsBindingList, + pub mProcessingAttachedStack: bool, + pub mDestroyed: bool, + pub mAttachedStackSizeOnOutermost: u32, + pub mProcessAttachedQueueEvent: u64, + pub mDocument: *mut root::nsIDocument, + } + pub type nsBindingManager_HasThreadSafeRefCnt = root::mozilla::FalseType; + #[repr(u32)] + /** + * Notify the binding manager that an element + * has been removed from its document, + * so that it can update any bindings or + * nsIAnonymousContentCreator-created anonymous + * content that may depend on the document. + * @param aContent the element that's being moved + * @param aOldDocument the old document in which the + * content resided. + * @param aDestructorHandling whether or not to run the possible XBL + * destructor. + */ + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum nsBindingManager_DestructorHandling { + eRunDtor = 0, + eDoNotRunDtor = 1, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsBindingManager_cycleCollection { + pub _base: root::nsXPCOMCycleCollectionParticipant, + } + #[test] + fn bindgen_test_layout_nsBindingManager_cycleCollection() { + assert_eq!(::std::mem::size_of::<nsBindingManager_cycleCollection>() , + 16usize , concat ! ( + "Size of: " , stringify ! ( + nsBindingManager_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<nsBindingManager_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsBindingManager_cycleCollection ) )); + } + impl Clone for nsBindingManager_cycleCollection { + fn clone(&self) -> Self { *self } + } + pub type nsBindingManager_WrapperHashtable = u8; + extern "C" { + #[link_name = "_ZN16nsBindingManager21_cycleCollectorGlobalE"] + pub static mut nsBindingManager__cycleCollectorGlobal: + root::nsBindingManager_cycleCollection; + } + #[test] + fn bindgen_test_layout_nsBindingManager() { + assert_eq!(::std::mem::size_of::<nsBindingManager>() , 88usize , + concat ! ( "Size of: " , stringify ! ( nsBindingManager ) + )); + assert_eq! (::std::mem::align_of::<nsBindingManager>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsBindingManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mRefCnt as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . _mOwningThread + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( _mOwningThread ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . + mBoundContentSet as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mBoundContentSet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mWrapperTable + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mWrapperTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mDocumentTable + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mDocumentTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . + mLoadingDocTable as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mLoadingDocTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mAttachedStack + as * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mAttachedStack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . + mProcessingAttachedStack as * const _ as usize } , 64usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mProcessingAttachedStack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mDestroyed as + * const _ as usize } , 65usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mDestroyed ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . + mAttachedStackSizeOnOutermost as * const _ as usize } , + 68usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mAttachedStackSizeOnOutermost ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . + mProcessAttachedQueueEvent as * const _ as usize } , + 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mProcessAttachedQueueEvent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mDocument as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mDocument ) )); + } + #[repr(C)] #[derive(Debug)] pub struct nsCSSCounterStyleRule { pub _base: root::mozilla::css::Rule, @@ -23013,7 +26103,6 @@ pub mod root { * is supported by all content objects. */ #[repr(C)] - #[derive(Debug)] pub struct nsIContent { pub _base: root::nsINode, } @@ -23098,10 +26187,69 @@ pub mod root { assert_eq! (::std::mem::align_of::<nsIContent>() , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIContent ) )); } + /** + * An nsStyleContext represents the computed style data for an element. + * The computed style data are stored in a set of structs (see + * nsStyleStruct.h) that are cached either on the style context or in + * the rule tree (see nsRuleNode.h for a description of this caching and + * how the cached structs are shared). + * + * Since the data in |nsIStyleRule|s and |nsRuleNode|s are immutable + * (with a few exceptions, like system color changes), the data in an + * nsStyleContext are also immutable (with the additional exception of + * GetUniqueStyleData). When style data change, + * ElementRestyler::Restyle creates a new style context. + * + * Style contexts are reference counted. References are generally held + * by: + * 1. the |nsIFrame|s that are using the style context and + * 2. any *child* style contexts (this might be the reverse of + * expectation, but it makes sense in this case) + */ #[repr(C)] - #[derive(Debug, Copy, Clone)] + #[derive(Debug)] pub struct nsStyleContext { - _unused: [u8; 0], + pub mParent: root::RefPtr<root::nsStyleContext>, + pub mPseudoTag: root::nsCOMPtr<root::nsIAtom>, + pub mBits: u64, + pub mRefCnt: u32, + pub mFrameRefCnt: u32, + } + extern "C" { + #[link_name = "_ZN14nsStyleContext16sDependencyTableE"] + pub static mut nsStyleContext_sDependencyTable: [u32; 0usize]; + } + #[test] + fn bindgen_test_layout_nsStyleContext() { + assert_eq!(::std::mem::size_of::<nsStyleContext>() , 32usize , concat + ! ( "Size of: " , stringify ! ( nsStyleContext ) )); + assert_eq! (::std::mem::align_of::<nsStyleContext>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContext ) ) . mParent as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContext ) , + "::" , stringify ! ( mParent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContext ) ) . mPseudoTag as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContext ) , + "::" , stringify ! ( mPseudoTag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContext ) ) . mBits as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContext ) , + "::" , stringify ! ( mBits ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContext ) ) . mRefCnt as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContext ) , + "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContext ) ) . mFrameRefCnt as + * const _ as usize } , 28usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContext ) , + "::" , stringify ! ( mFrameRefCnt ) )); } #[repr(C)] pub struct nsPresContext { @@ -26316,7 +29464,6 @@ pub mod root { } pub const kNameSpaceID_None: i32 = 0; #[repr(C)] - #[derive(Debug)] pub struct nsNodeInfoManager { pub mRefCnt: root::nsCycleCollectingAutoRefCnt, pub _mOwningThread: root::nsAutoOwningThread, @@ -26742,13 +29889,12 @@ pub mod root { _unused: [u8; 0], } #[repr(C)] - #[derive(Debug)] pub struct nsDOMAttributeMap { pub _base: root::nsIDOMMozNamedAttrMap, pub _base_1: root::nsWrapperCache, pub mRefCnt: root::nsCycleCollectingAutoRefCnt, pub _mOwningThread: root::nsAutoOwningThread, - pub mContent: root::nsCOMPtr<root::nsDOMAttributeMap_Element>, + pub mContent: root::nsCOMPtr<root::mozilla::dom::Element>, /** * Cache of Attrs. */ @@ -26897,57 +30043,57 @@ pub mod root { pub struct nsDOMMutationObserver { _unused: [u8; 0], } - pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_HAS_LISTENERMANAGER; - pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_HAS_PROPERTIES; - pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_IS_ANONYMOUS_ROOT; - pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; - pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_IS_NATIVE_ANONYMOUS_ROOT; - pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_FORCE_XBL_BINDINGS; - pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_MAY_BE_IN_BINDING_MNGR; - pub const NODE_IS_EDITABLE: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_IS_EDITABLE; - pub const NODE_IS_NATIVE_ANONYMOUS: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_IS_NATIVE_ANONYMOUS; - pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_IS_IN_SHADOW_TREE; - pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_HAS_EMPTY_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_HAS_SLOW_SELECTOR; - pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_HAS_EDGE_CHILD_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; - pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_ALL_SELECTOR_FLAGS; - pub const NODE_NEEDS_FRAME: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_NEEDS_FRAME; - pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_DESCENDANTS_NEED_FRAMES; - pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_HAS_ACCESSKEY; - pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_HAS_DIRECTION_RTL; - pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_HAS_DIRECTION_LTR; - pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_ALL_DIRECTION_FLAGS; - pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_CHROME_ONLY_ACCESS; - pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; - pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_83 = - _bindgen_ty_83::NODE_TYPE_SPECIFIC_BITS_OFFSET; + pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_LISTENERMANAGER; + pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_PROPERTIES; + pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_ANONYMOUS_ROOT; + pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; + pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_NATIVE_ANONYMOUS_ROOT; + pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_FORCE_XBL_BINDINGS; + pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_MAY_BE_IN_BINDING_MNGR; + pub const NODE_IS_EDITABLE: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_EDITABLE; + pub const NODE_IS_NATIVE_ANONYMOUS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_NATIVE_ANONYMOUS; + pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_IN_SHADOW_TREE; + pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_EMPTY_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_SLOW_SELECTOR; + pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_EDGE_CHILD_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; + pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_ALL_SELECTOR_FLAGS; + pub const NODE_NEEDS_FRAME: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_NEEDS_FRAME; + pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_DESCENDANTS_NEED_FRAMES; + pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_ACCESSKEY; + pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_DIRECTION_RTL; + pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_DIRECTION_LTR; + pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_ALL_DIRECTION_FLAGS; + pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_CHROME_ONLY_ACCESS; + pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; + pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_83 { + pub enum _bindgen_ty_18 { NODE_HAS_LISTENERMANAGER = 4, NODE_HAS_PROPERTIES = 8, NODE_IS_ANONYMOUS_ROOT = 16, @@ -27016,7 +30162,6 @@ pub mod root { _unused: [u8; 0], } #[repr(C)] - #[derive(Debug)] pub struct nsXBLBinding { pub mRefCnt: root::nsCycleCollectingAutoRefCnt, pub _mOwningThread: root::nsAutoOwningThread, @@ -28141,7 +31286,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] pub struct CapturingContentInfo { pub mAllowed: bool, pub mPointerLock: bool, @@ -28495,6 +31639,58 @@ pub mod root { } #[repr(C)] #[derive(Debug, Copy, Clone)] + pub struct nsIInterfaceInfo { + _unused: [u8; 0], + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsIXPConnectJSObjectHolder { + pub _base: root::nsISupports, + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsIXPConnectJSObjectHolder_COMTypeInfo { + pub _address: u8, + } + #[test] + fn bindgen_test_layout_nsIXPConnectJSObjectHolder() { + assert_eq!(::std::mem::size_of::<nsIXPConnectJSObjectHolder>() , + 8usize , concat ! ( + "Size of: " , stringify ! ( nsIXPConnectJSObjectHolder ) + )); + assert_eq! (::std::mem::align_of::<nsIXPConnectJSObjectHolder>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIXPConnectJSObjectHolder + ) )); + } + impl Clone for nsIXPConnectJSObjectHolder { + fn clone(&self) -> Self { *self } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsIXPConnectWrappedJS { + pub _base: root::nsIXPConnectJSObjectHolder, + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsIXPConnectWrappedJS_COMTypeInfo { + pub _address: u8, + } + #[test] + fn bindgen_test_layout_nsIXPConnectWrappedJS() { + assert_eq!(::std::mem::size_of::<nsIXPConnectWrappedJS>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIXPConnectWrappedJS ) )); + assert_eq! (::std::mem::align_of::<nsIXPConnectWrappedJS>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIXPConnectWrappedJS ) + )); + } + impl Clone for nsIXPConnectWrappedJS { + fn clone(&self) -> Self { *self } + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] pub struct nsISimpleEnumerator { _unused: [u8; 0], } @@ -29242,353 +32438,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] - pub struct nsStyleDisplay { - pub mBinding: root::BindingHolder, - pub mDisplay: root::mozilla::StyleDisplay, - pub mOriginalDisplay: root::mozilla::StyleDisplay, - pub mContain: u8, - pub mAppearance: u8, - pub mPosition: u8, - pub mFloat: root::mozilla::StyleFloat, - pub mOriginalFloat: root::mozilla::StyleFloat, - pub mBreakType: root::mozilla::StyleClear, - pub mBreakInside: u8, - pub mBreakBefore: bool, - pub mBreakAfter: bool, - pub mOverflowX: u8, - pub mOverflowY: u8, - pub mOverflowClipBox: u8, - pub mResize: u8, - pub mOrient: root::mozilla::StyleOrient, - pub mIsolation: u8, - pub mTopLayer: u8, - pub mWillChangeBitField: u8, - pub mWillChange: root::nsCOMArray, - pub mTouchAction: u8, - pub mScrollBehavior: u8, - pub mScrollSnapTypeX: u8, - pub mScrollSnapTypeY: u8, - pub mScrollSnapPointsX: root::nsStyleCoord, - pub mScrollSnapPointsY: root::nsStyleCoord, - pub mScrollSnapDestination: root::mozilla::Position, - pub mScrollSnapCoordinate: root::nsTArray<root::mozilla::Position>, - pub mBackfaceVisibility: u8, - pub mTransformStyle: u8, - pub mTransformBox: root::nsStyleDisplay_StyleGeometryBox, - pub mSpecifiedTransform: root::RefPtr<root::nsCSSValueSharedList>, - pub mTransformOrigin: [root::nsStyleCoord; 3usize], - pub mChildPerspective: root::nsStyleCoord, - pub mPerspectiveOrigin: [root::nsStyleCoord; 2usize], - pub mVerticalAlign: root::nsStyleCoord, - pub mTransitions: root::nsStyleAutoArray<root::mozilla::StyleTransition>, - pub mTransitionTimingFunctionCount: u32, - pub mTransitionDurationCount: u32, - pub mTransitionDelayCount: u32, - pub mTransitionPropertyCount: u32, - pub mAnimations: root::nsStyleAutoArray<root::mozilla::StyleAnimation>, - pub mAnimationTimingFunctionCount: u32, - pub mAnimationDurationCount: u32, - pub mAnimationDelayCount: u32, - pub mAnimationNameCount: u32, - pub mAnimationDirectionCount: u32, - pub mAnimationFillModeCount: u32, - pub mAnimationPlayStateCount: u32, - pub mAnimationIterationCountCount: u32, - pub mShapeOutside: root::mozilla::StyleShapeSource, - } - pub use self::super::root::mozilla::StyleGeometryBox as - nsStyleDisplay_StyleGeometryBox; - pub const nsStyleDisplay_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleDisplay() { - assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 416usize , concat - ! ( "Size of: " , stringify ! ( nsStyleDisplay ) )); - assert_eq! (::std::mem::align_of::<nsStyleDisplay>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mBinding as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBinding ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mDisplay as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mDisplay ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalDisplay - as * const _ as usize } , 9usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOriginalDisplay ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mContain as * - const _ as usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mContain ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mAppearance as * - const _ as usize } , 11usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAppearance ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mPosition as * - const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mPosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mFloat as * - const _ as usize } , 13usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mFloat ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalFloat - as * const _ as usize } , 14usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOriginalFloat ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakType as * - const _ as usize } , 15usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBreakType ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakInside as - * const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBreakInside ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakBefore as - * const _ as usize } , 17usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBreakBefore ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakAfter as * - const _ as usize } , 18usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBreakAfter ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowX as * - const _ as usize } , 19usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOverflowX ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowY as * - const _ as usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOverflowY ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowClipBox - as * const _ as usize } , 21usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOverflowClipBox ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mResize as * - const _ as usize } , 22usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mResize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOrient as * - const _ as usize } , 23usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOrient ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mIsolation as * - const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mIsolation ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTopLayer as * - const _ as usize } , 25usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTopLayer ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mWillChangeBitField as * const _ as usize } , 26usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mWillChangeBitField ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChange as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mWillChange ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTouchAction as - * const _ as usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTouchAction ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollBehavior - as * const _ as usize } , 41usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollBehavior ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeX - as * const _ as usize } , 42usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapTypeX ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeY - as * const _ as usize } , 43usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapTypeY ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mScrollSnapPointsX as * const _ as usize } , 48usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapPointsX ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mScrollSnapPointsY as * const _ as usize } , 64usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapPointsY ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mScrollSnapDestination as * const _ as usize } , 80usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapDestination ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mScrollSnapCoordinate as * const _ as usize } , 104usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapCoordinate ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mBackfaceVisibility as * const _ as usize } , 112usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBackfaceVisibility ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformStyle - as * const _ as usize } , 113usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransformStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformBox as - * const _ as usize } , 114usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransformBox ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mSpecifiedTransform as * const _ as usize } , 120usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mSpecifiedTransform ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformOrigin - as * const _ as usize } , 128usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransformOrigin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mChildPerspective as * const _ as usize } , 176usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mChildPerspective ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mPerspectiveOrigin as * const _ as usize } , 192usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mPerspectiveOrigin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mVerticalAlign - as * const _ as usize } , 224usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mVerticalAlign ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitions as - * const _ as usize } , 240usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransitions ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mTransitionTimingFunctionCount as * const _ as usize } , - 288usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransitionTimingFunctionCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mTransitionDurationCount as * const _ as usize } , - 292usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransitionDurationCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mTransitionDelayCount as * const _ as usize } , 296usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransitionDelayCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mTransitionPropertyCount as * const _ as usize } , - 300usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransitionPropertyCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimations as * - const _ as usize } , 304usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimations ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationTimingFunctionCount as * const _ as usize } , - 368usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationTimingFunctionCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationDurationCount as * const _ as usize } , 372usize - , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationDurationCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationDelayCount as * const _ as usize } , 376usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationDelayCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationNameCount as * const _ as usize } , 380usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationNameCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationDirectionCount as * const _ as usize } , - 384usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationDirectionCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationFillModeCount as * const _ as usize } , 388usize - , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationFillModeCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationPlayStateCount as * const _ as usize } , - 392usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationPlayStateCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationIterationCountCount as * const _ as usize } , - 396usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationIterationCountCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mShapeOutside as - * const _ as usize } , 400usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mShapeOutside ) )); - } - #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct nsBidi { _unused: [u8; 0], @@ -32233,7 +35082,7 @@ pub mod root { pub mRefCnt: root::nsAutoRefCnt, pub _mOwningThread: root::nsAutoOwningThread, pub mBehaviour: root::mozilla::UniquePtr<root::ProxyBehaviour>, - pub mURI: root::RefPtr<root::imgRequestProxy_ImageURL>, + pub mURI: root::RefPtr<root::mozilla::image::ImageURL>, pub mListener: *mut root::imgINotificationObserver, pub mLoadGroup: root::nsCOMPtr<root::nsILoadGroup>, pub mLoadFlags: root::nsLoadFlags, @@ -33465,7 +36314,7 @@ pub mod root { pub _mOwningThread: root::nsAutoOwningThread, pub mLoader: *mut root::imgLoader, pub mRequest: root::nsCOMPtr<root::nsIRequest>, - pub mURI: root::RefPtr<root::imgRequest_ImageURL>, + pub mURI: root::RefPtr<root::mozilla::image::ImageURL>, pub mCurrentURI: root::nsCOMPtr<root::nsIURI>, pub mLoadingPrincipal: root::nsCOMPtr<root::nsIPrincipal>, pub mPrincipal: root::nsCOMPtr<root::nsIPrincipal>, @@ -33492,8 +36341,8 @@ pub mod root { pub mImageErrorCode: root::nsresult, pub mBoostCategoriesRequested: u32, pub mMutex: root::mozilla::Mutex, - pub mProgressTracker: root::RefPtr<root::imgRequest_ProgressTracker>, - pub mImage: root::RefPtr<root::imgRequest_Image>, + pub mProgressTracker: root::RefPtr<root::mozilla::image::ProgressTracker>, + pub mImage: root::RefPtr<root::mozilla::image::Image>, pub _bitfield_1: u8, pub __bindgen_padding_0: [u8; 7usize], } @@ -33507,7 +36356,7 @@ pub mod root { pub type imgRequest_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_imgRequest() { - assert_eq!(::std::mem::size_of::<imgRequest>() , 424usize , concat ! ( + assert_eq!(::std::mem::size_of::<imgRequest>() , 448usize , concat ! ( "Size of: " , stringify ! ( imgRequest ) )); assert_eq! (::std::mem::align_of::<imgRequest>() , 8usize , concat ! ( "Alignment of " , stringify ! ( imgRequest ) )); @@ -33778,157 +36627,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStyleVisibility { - pub mImageOrientation: root::nsStyleImageOrientation, - pub mDirection: u8, - pub mVisible: u8, - pub mImageRendering: u8, - pub mWritingMode: u8, - pub mTextOrientation: u8, - pub mColorAdjust: u8, - } - pub const nsStyleVisibility_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleVisibility() { - assert_eq!(::std::mem::size_of::<nsStyleVisibility>() , 7usize , - concat ! ( "Size of: " , stringify ! ( nsStyleVisibility ) - )); - assert_eq! (::std::mem::align_of::<nsStyleVisibility>() , 1usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleVisibility ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . - mImageOrientation as * const _ as usize } , 0usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mImageOrientation ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . mDirection as - * const _ as usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mDirection ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . mVisible as * - const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mVisible ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . - mImageRendering as * const _ as usize } , 3usize , concat - ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mImageRendering ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . mWritingMode - as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mWritingMode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . - mTextOrientation as * const _ as usize } , 5usize , concat - ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mTextOrientation ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . mColorAdjust - as * const _ as usize } , 6usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mColorAdjust ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleFont { - pub mFont: root::nsFont, - pub mSize: root::nscoord, - pub mGenericID: u8, - pub mScriptLevel: i8, - pub mMathVariant: u8, - pub mMathDisplay: u8, - pub mMinFontSizeRatio: u8, - pub mExplicitLanguage: bool, - pub mAllowZoom: bool, - pub mScriptUnconstrainedSize: root::nscoord, - pub mScriptMinSize: root::nscoord, - pub mScriptSizeMultiplier: f32, - pub mLanguage: root::nsCOMPtr<root::nsIAtom>, - } - pub const nsStyleFont_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleFont() { - assert_eq!(::std::mem::size_of::<nsStyleFont>() , 120usize , concat ! - ( "Size of: " , stringify ! ( nsStyleFont ) )); - assert_eq! (::std::mem::align_of::<nsStyleFont>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( nsStyleFont ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mFont as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mFont ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mSize as * const _ - as usize } , 88usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mSize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mGenericID as * - const _ as usize } , 92usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mGenericID ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mScriptLevel as * - const _ as usize } , 93usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mScriptLevel ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mMathVariant as * - const _ as usize } , 94usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mMathVariant ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mMathDisplay as * - const _ as usize } , 95usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mMathDisplay ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mMinFontSizeRatio - as * const _ as usize } , 96usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mMinFontSizeRatio ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mExplicitLanguage - as * const _ as usize } , 97usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mExplicitLanguage ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mAllowZoom as * - const _ as usize } , 98usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mAllowZoom ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . - mScriptUnconstrainedSize as * const _ as usize } , - 100usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mScriptUnconstrainedSize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mScriptMinSize as * - const _ as usize } , 104usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mScriptMinSize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . - mScriptSizeMultiplier as * const _ as usize } , 108usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mScriptSizeMultiplier ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mLanguage as * - const _ as usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mLanguage ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsStyleGradientStop { pub mLocation: root::nsStyleCoord, pub mColor: root::nscolor, @@ -34268,24 +36966,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStyleColor { - pub mColor: root::nscolor, - } - pub const nsStyleColor_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleColor() { - assert_eq!(::std::mem::size_of::<nsStyleColor>() , 4usize , concat ! ( - "Size of: " , stringify ! ( nsStyleColor ) )); - assert_eq! (::std::mem::align_of::<nsStyleColor>() , 4usize , concat ! - ( "Alignment of " , stringify ! ( nsStyleColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColor ) ) . mColor as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColor ) , - "::" , stringify ! ( mColor ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsStyleImageLayers { pub mAttachmentCount: u32, pub mClipCount: u32, @@ -34632,69 +37312,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStyleBackground { - pub mImage: root::nsStyleImageLayers, - pub mBackgroundColor: root::mozilla::StyleComplexColor, - } - pub const nsStyleBackground_kHasFinishStyle: bool = true; - #[test] - fn bindgen_test_layout_nsStyleBackground() { - assert_eq!(::std::mem::size_of::<nsStyleBackground>() , 160usize , - concat ! ( "Size of: " , stringify ! ( nsStyleBackground ) - )); - assert_eq! (::std::mem::align_of::<nsStyleBackground>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleBackground ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBackground ) ) . mImage as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBackground ) - , "::" , stringify ! ( mImage ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBackground ) ) . - mBackgroundColor as * const _ as usize } , 152usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBackground ) - , "::" , stringify ! ( mBackgroundColor ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleMargin { - pub mMargin: root::nsStyleSides, - } - pub const nsStyleMargin_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleMargin() { - assert_eq!(::std::mem::size_of::<nsStyleMargin>() , 40usize , concat ! - ( "Size of: " , stringify ! ( nsStyleMargin ) )); - assert_eq! (::std::mem::align_of::<nsStyleMargin>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleMargin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleMargin ) ) . mMargin as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleMargin ) , - "::" , stringify ! ( mMargin ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStylePadding { - pub mPadding: root::nsStyleSides, - } - pub const nsStylePadding_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStylePadding() { - assert_eq!(::std::mem::size_of::<nsStylePadding>() , 40usize , concat - ! ( "Size of: " , stringify ! ( nsStylePadding ) )); - assert_eq! (::std::mem::align_of::<nsStylePadding>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStylePadding ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePadding ) ) . mPadding as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePadding ) , - "::" , stringify ! ( mPadding ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsBorderColors { pub mNext: *mut root::nsBorderColors, pub mColor: root::nscolor, @@ -34802,250 +37419,6 @@ pub mod root { "Alignment of field: " , stringify ! ( nsCSSShadowArray ) , "::" , stringify ! ( mArray ) )); } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleBorder { - pub mBorderColors: *mut *mut root::nsBorderColors, - pub mBorderRadius: root::nsStyleCorners, - pub mBorderImageSource: root::nsStyleImage, - pub mBorderImageSlice: root::nsStyleSides, - pub mBorderImageWidth: root::nsStyleSides, - pub mBorderImageOutset: root::nsStyleSides, - pub mBorderImageFill: u8, - pub mBorderImageRepeatH: u8, - pub mBorderImageRepeatV: u8, - pub mFloatEdge: root::mozilla::StyleFloatEdge, - pub mBoxDecorationBreak: root::mozilla::StyleBoxDecorationBreak, - pub mBorderStyle: [u8; 4usize], - pub __bindgen_anon_1: root::nsStyleBorder__bindgen_ty_1, - pub mComputedBorder: root::nsMargin, - pub mBorder: root::nsMargin, - pub mTwipsPerPixel: root::nscoord, - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct nsStyleBorder__bindgen_ty_1 { - pub __bindgen_anon_1: root::__BindgenUnionField<root::nsStyleBorder__bindgen_ty_1__bindgen_ty_1>, - pub mBorderColor: root::__BindgenUnionField<[root::mozilla::StyleComplexColor; 4usize]>, - pub bindgen_union_field: [u32; 8usize], - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { - pub mBorderTopColor: root::mozilla::StyleComplexColor, - pub mBorderRightColor: root::mozilla::StyleComplexColor, - pub mBorderBottomColor: root::mozilla::StyleComplexColor, - pub mBorderLeftColor: root::mozilla::StyleComplexColor, - } - #[test] - fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() - , 32usize , concat ! ( - "Size of: " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); - assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() - , 4usize , concat ! ( - "Alignment of " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); - assert_eq! (unsafe { - & ( - * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 - ) ) . mBorderTopColor as * const _ as usize } , 0usize , - concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , - stringify ! ( mBorderTopColor ) )); - assert_eq! (unsafe { - & ( - * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 - ) ) . mBorderRightColor as * const _ as usize } , 8usize , - concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , - stringify ! ( mBorderRightColor ) )); - assert_eq! (unsafe { - & ( - * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 - ) ) . mBorderBottomColor as * const _ as usize } , 16usize - , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , - stringify ! ( mBorderBottomColor ) )); - assert_eq! (unsafe { - & ( - * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 - ) ) . mBorderLeftColor as * const _ as usize } , 24usize , - concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , - stringify ! ( mBorderLeftColor ) )); - } - impl Clone for nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { - fn clone(&self) -> Self { *self } - } - #[test] - fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1>() , - 32usize , concat ! ( - "Size of: " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) - )); - assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1>() , - 4usize , concat ! ( - "Alignment of " , stringify ! ( - nsStyleBorder__bindgen_ty_1 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1 ) ) . - mBorderColor as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleBorder__bindgen_ty_1 ) , "::" , stringify ! ( - mBorderColor ) )); - } - impl Clone for nsStyleBorder__bindgen_ty_1 { - fn clone(&self) -> Self { *self } - } - pub const nsStyleBorder_kHasFinishStyle: bool = true; - #[test] - fn bindgen_test_layout_nsStyleBorder() { - assert_eq!(::std::mem::size_of::<nsStyleBorder>() , 312usize , concat - ! ( "Size of: " , stringify ! ( nsStyleBorder ) )); - assert_eq! (::std::mem::align_of::<nsStyleBorder>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleBorder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderColors as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderColors ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderRadius as - * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderRadius ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . - mBorderImageSource as * const _ as usize } , 80usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageSource ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageSlice - as * const _ as usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageSlice ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageWidth - as * const _ as usize } , 152usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . - mBorderImageOutset as * const _ as usize } , 192usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageOutset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageFill - as * const _ as usize } , 232usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageFill ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . - mBorderImageRepeatH as * const _ as usize } , 233usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageRepeatH ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . - mBorderImageRepeatV as * const _ as usize } , 234usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageRepeatV ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mFloatEdge as * - const _ as usize } , 235usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mFloatEdge ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . - mBoxDecorationBreak as * const _ as usize } , 236usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBoxDecorationBreak ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderStyle as * - const _ as usize } , 237usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mComputedBorder - as * const _ as usize } , 276usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mComputedBorder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorder as * - const _ as usize } , 292usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mTwipsPerPixel as - * const _ as usize } , 308usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mTwipsPerPixel ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleOutline { - pub mOutlineRadius: root::nsStyleCorners, - pub mOutlineWidth: root::nscoord, - pub mOutlineOffset: root::nscoord, - pub mOutlineColor: root::mozilla::StyleComplexColor, - pub mOutlineStyle: u8, - pub mActualOutlineWidth: root::nscoord, - pub mTwipsPerPixel: root::nscoord, - } - pub const nsStyleOutline_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleOutline() { - assert_eq!(::std::mem::size_of::<nsStyleOutline>() , 104usize , concat - ! ( "Size of: " , stringify ! ( nsStyleOutline ) )); - assert_eq! (::std::mem::align_of::<nsStyleOutline>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleOutline ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineRadius - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mOutlineRadius ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineWidth as - * const _ as usize } , 72usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mOutlineWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineOffset - as * const _ as usize } , 76usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mOutlineOffset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineColor as - * const _ as usize } , 80usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mOutlineColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineStyle as - * const _ as usize } , 88usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mOutlineStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . - mActualOutlineWidth as * const _ as usize } , 92usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mActualOutlineWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mTwipsPerPixel - as * const _ as usize } , 96usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mTwipsPerPixel ) )); - } /** * An object that allows sharing of arrays that store 'quotes' property * values. This is particularly important for inheritance, where we want @@ -35079,80 +37452,6 @@ pub mod root { "Alignment of field: " , stringify ! ( nsStyleQuoteValues ) , "::" , stringify ! ( mQuotePairs ) )); } - #[test] - fn __bindgen_test_layout_StaticRefPtr_instantiation_86() { - assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); - } - #[test] - fn __bindgen_test_layout_StaticRefPtr_instantiation_87() { - assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleList { - pub mListStylePosition: u8, - pub mListStyleImage: root::RefPtr<root::nsStyleImageRequest>, - pub mCounterStyle: root::mozilla::CounterStylePtr, - pub mQuotes: root::RefPtr<root::nsStyleQuoteValues>, - pub mImageRegion: root::nsRect, - } - pub const nsStyleList_kHasFinishStyle: bool = true; - extern "C" { - #[link_name = "_ZN11nsStyleList14sInitialQuotesE"] - pub static mut nsStyleList_sInitialQuotes: - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>; - } - extern "C" { - #[link_name = "_ZN11nsStyleList11sNoneQuotesE"] - pub static mut nsStyleList_sNoneQuotes: - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>; - } - #[test] - fn bindgen_test_layout_nsStyleList() { - assert_eq!(::std::mem::size_of::<nsStyleList>() , 48usize , concat ! ( - "Size of: " , stringify ! ( nsStyleList ) )); - assert_eq! (::std::mem::align_of::<nsStyleList>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( nsStyleList ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleList ) ) . mListStylePosition - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleList ) , - "::" , stringify ! ( mListStylePosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleList ) ) . mListStyleImage as - * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleList ) , - "::" , stringify ! ( mListStyleImage ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleList ) ) . mCounterStyle as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleList ) , - "::" , stringify ! ( mCounterStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleList ) ) . mQuotes as * const - _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleList ) , - "::" , stringify ! ( mQuotes ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleList ) ) . mImageRegion as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleList ) , - "::" , stringify ! ( mImageRegion ) )); - } #[repr(C)] #[derive(Debug)] pub struct nsStyleGridLine { @@ -35331,250 +37630,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStylePosition { - pub mObjectPosition: root::mozilla::Position, - pub mOffset: root::nsStyleSides, - pub mWidth: root::nsStyleCoord, - pub mMinWidth: root::nsStyleCoord, - pub mMaxWidth: root::nsStyleCoord, - pub mHeight: root::nsStyleCoord, - pub mMinHeight: root::nsStyleCoord, - pub mMaxHeight: root::nsStyleCoord, - pub mFlexBasis: root::nsStyleCoord, - pub mGridAutoColumnsMin: root::nsStyleCoord, - pub mGridAutoColumnsMax: root::nsStyleCoord, - pub mGridAutoRowsMin: root::nsStyleCoord, - pub mGridAutoRowsMax: root::nsStyleCoord, - pub mGridAutoFlow: u8, - pub mBoxSizing: root::mozilla::StyleBoxSizing, - pub mAlignContent: u16, - pub mAlignItems: u8, - pub mAlignSelf: u8, - pub mJustifyContent: u16, - pub mJustifyItems: u8, - pub mJustifySelf: u8, - pub mFlexDirection: u8, - pub mFlexWrap: u8, - pub mObjectFit: u8, - pub mOrder: i32, - pub mFlexGrow: f32, - pub mFlexShrink: f32, - pub mZIndex: root::nsStyleCoord, - pub mGridTemplateColumns: root::nsStyleGridTemplate, - pub mGridTemplateRows: root::nsStyleGridTemplate, - pub mGridTemplateAreas: root::RefPtr<root::mozilla::css::GridTemplateAreasValue>, - pub mGridColumnStart: root::nsStyleGridLine, - pub mGridColumnEnd: root::nsStyleGridLine, - pub mGridRowStart: root::nsStyleGridLine, - pub mGridRowEnd: root::nsStyleGridLine, - pub mGridColumnGap: root::nsStyleCoord, - pub mGridRowGap: root::nsStyleCoord, - } - pub const nsStylePosition_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStylePosition() { - assert_eq!(::std::mem::size_of::<nsStylePosition>() , 520usize , - concat ! ( "Size of: " , stringify ! ( nsStylePosition ) - )); - assert_eq! (::std::mem::align_of::<nsStylePosition>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStylePosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mObjectPosition - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mObjectPosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mOffset as * - const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mOffset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mWidth as * - const _ as usize } , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mMinWidth as * - const _ as usize } , 80usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mMinWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mMaxWidth as * - const _ as usize } , 96usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mMaxWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mHeight as * - const _ as usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mHeight ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mMinHeight as * - const _ as usize } , 128usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mMinHeight ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mMaxHeight as * - const _ as usize } , 144usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mMaxHeight ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mFlexBasis as * - const _ as usize } , 160usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mFlexBasis ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridAutoColumnsMin as * const _ as usize } , 176usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridAutoColumnsMin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridAutoColumnsMax as * const _ as usize } , 192usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridAutoColumnsMax ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridAutoRowsMin as * const _ as usize } , 208usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridAutoRowsMin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridAutoRowsMax as * const _ as usize } , 224usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridAutoRowsMax ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoFlow - as * const _ as usize } , 240usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridAutoFlow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mBoxSizing as * - const _ as usize } , 241usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mBoxSizing ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mAlignContent - as * const _ as usize } , 242usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mAlignContent ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mAlignItems as - * const _ as usize } , 244usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mAlignItems ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mAlignSelf as * - const _ as usize } , 245usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mAlignSelf ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mJustifyContent - as * const _ as usize } , 246usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mJustifyContent ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mJustifyItems - as * const _ as usize } , 248usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mJustifyItems ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mJustifySelf as - * const _ as usize } , 249usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mJustifySelf ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mFlexDirection - as * const _ as usize } , 250usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mFlexDirection ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mFlexWrap as * - const _ as usize } , 251usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mFlexWrap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mObjectFit as * - const _ as usize } , 252usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mObjectFit ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mOrder as * - const _ as usize } , 256usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mOrder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mFlexGrow as * - const _ as usize } , 260usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mFlexGrow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mFlexShrink as - * const _ as usize } , 264usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mFlexShrink ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mZIndex as * - const _ as usize } , 272usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mZIndex ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridTemplateColumns as * const _ as usize } , 288usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridTemplateColumns ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridTemplateRows as * const _ as usize } , 336usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridTemplateRows ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridTemplateAreas as * const _ as usize } , 384usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridTemplateAreas ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridColumnStart as * const _ as usize } , 392usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridColumnStart ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnEnd - as * const _ as usize } , 416usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridColumnEnd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridRowStart - as * const _ as usize } , 440usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridRowStart ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridRowEnd as - * const _ as usize } , 464usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridRowEnd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnGap - as * const _ as usize } , 488usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridColumnGap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridRowGap as - * const _ as usize } , 504usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridRowGap ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsStyleTextOverflowSide { pub mString: ::nsstring::nsStringRepr, pub mType: u8, @@ -35634,334 +37689,6 @@ pub mod root { ) , "::" , stringify ! ( mLogicalDirections ) )); } #[repr(C)] - #[derive(Debug)] - pub struct nsStyleTextReset { - pub mTextOverflow: root::nsStyleTextOverflow, - pub mTextDecorationLine: u8, - pub mTextDecorationStyle: u8, - pub mUnicodeBidi: u8, - pub mInitialLetterSink: root::nscoord, - pub mInitialLetterSize: f32, - pub mTextDecorationColor: root::mozilla::StyleComplexColor, - } - pub const nsStyleTextReset_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleTextReset() { - assert_eq!(::std::mem::size_of::<nsStyleTextReset>() , 80usize , - concat ! ( "Size of: " , stringify ! ( nsStyleTextReset ) - )); - assert_eq! (::std::mem::align_of::<nsStyleTextReset>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleTextReset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . mTextOverflow - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mTextOverflow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . - mTextDecorationLine as * const _ as usize } , 56usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mTextDecorationLine ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . - mTextDecorationStyle as * const _ as usize } , 57usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mTextDecorationStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . mUnicodeBidi - as * const _ as usize } , 58usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mUnicodeBidi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . - mInitialLetterSink as * const _ as usize } , 60usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mInitialLetterSink ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . - mInitialLetterSize as * const _ as usize } , 64usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mInitialLetterSize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . - mTextDecorationColor as * const _ as usize } , 68usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mTextDecorationColor ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleText { - pub mTextAlign: u8, - pub mTextAlignLast: u8, - pub _bitfield_1: u8, - pub mTextJustify: root::mozilla::StyleTextJustify, - pub mTextTransform: u8, - pub mWhiteSpace: root::mozilla::StyleWhiteSpace, - pub mWordBreak: u8, - pub mOverflowWrap: u8, - pub mHyphens: root::mozilla::StyleHyphens, - pub mRubyAlign: u8, - pub mRubyPosition: u8, - pub mTextSizeAdjust: u8, - pub mTextCombineUpright: u8, - pub mControlCharacterVisibility: u8, - pub mTextEmphasisPosition: u8, - pub mTextEmphasisStyle: u8, - pub mTextRendering: u8, - pub mTextEmphasisColor: root::mozilla::StyleComplexColor, - pub mWebkitTextFillColor: root::mozilla::StyleComplexColor, - pub mWebkitTextStrokeColor: root::mozilla::StyleComplexColor, - pub mTabSize: root::nsStyleCoord, - pub mWordSpacing: root::nsStyleCoord, - pub mLetterSpacing: root::nsStyleCoord, - pub mLineHeight: root::nsStyleCoord, - pub mTextIndent: root::nsStyleCoord, - pub mWebkitTextStrokeWidth: root::nscoord, - pub mTextShadow: root::RefPtr<root::nsCSSShadowArray>, - pub mTextEmphasisStyleString: ::nsstring::nsStringRepr, - } - pub const nsStyleText_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleText() { - assert_eq!(::std::mem::size_of::<nsStyleText>() , 160usize , concat ! - ( "Size of: " , stringify ! ( nsStyleText ) )); - assert_eq! (::std::mem::align_of::<nsStyleText>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( nsStyleText ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextAlign as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextAlign ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextAlignLast as * - const _ as usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextAlignLast ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextJustify as * - const _ as usize } , 3usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextJustify ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextTransform as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextTransform ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mWhiteSpace as * - const _ as usize } , 5usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWhiteSpace ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mWordBreak as * - const _ as usize } , 6usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWordBreak ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mOverflowWrap as * - const _ as usize } , 7usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mOverflowWrap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mHyphens as * const - _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mHyphens ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mRubyAlign as * - const _ as usize } , 9usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mRubyAlign ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mRubyPosition as * - const _ as usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mRubyPosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextSizeAdjust as - * const _ as usize } , 11usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextSizeAdjust ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextCombineUpright - as * const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextCombineUpright ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mControlCharacterVisibility as * const _ as usize } , - 13usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mControlCharacterVisibility ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mTextEmphasisPosition as * const _ as usize } , 14usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextEmphasisPosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyle - as * const _ as usize } , 15usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextEmphasisStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextRendering as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextRendering ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisColor - as * const _ as usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextEmphasisColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mWebkitTextFillColor as * const _ as usize } , 28usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWebkitTextFillColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mWebkitTextStrokeColor as * const _ as usize } , 36usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWebkitTextStrokeColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTabSize as * const - _ as usize } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTabSize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mWordSpacing as * - const _ as usize } , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWordSpacing ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mLetterSpacing as * - const _ as usize } , 80usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mLetterSpacing ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mLineHeight as * - const _ as usize } , 96usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mLineHeight ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextIndent as * - const _ as usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextIndent ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mWebkitTextStrokeWidth as * const _ as usize } , 128usize - , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWebkitTextStrokeWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextShadow as * - const _ as usize } , 136usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextShadow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mTextEmphasisStyleString as * const _ as usize } , - 144usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextEmphasisStyleString ) )); - } - impl nsStyleText { - #[inline] - pub fn mTextAlignTrue(&self) -> bool { - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - let mask = 1u64 as u8; - let val = (unit_field_val & mask) >> 0usize; - unsafe { ::std::mem::transmute(val as u8) } - } - #[inline] - pub fn set_mTextAlignTrue(&mut self, val: bool) { - let mask = 1u64 as u8; - let val = val as u8 as u8; - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - unit_field_val &= !mask; - unit_field_val |= (val << 0usize) & mask; - unsafe { - ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as - *const u8, - &mut self._bitfield_1 as - *mut _ as *mut u8, - ::std::mem::size_of::<u8>()); - } - } - #[inline] - pub fn mTextAlignLastTrue(&self) -> bool { - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - let mask = 2u64 as u8; - let val = (unit_field_val & mask) >> 1usize; - unsafe { ::std::mem::transmute(val as u8) } - } - #[inline] - pub fn set_mTextAlignLastTrue(&mut self, val: bool) { - let mask = 2u64 as u8; - let val = val as u8 as u8; - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - unit_field_val &= !mask; - unit_field_val |= (val << 1usize) & mask; - unsafe { - ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as - *const u8, - &mut self._bitfield_1 as - *mut _ as *mut u8, - ::std::mem::size_of::<u8>()); - } - } - #[inline] - pub fn new_bitfield_1(mTextAlignTrue: bool, mTextAlignLastTrue: bool) - -> u8 { - ({ - ({ 0 } | - ((mTextAlignTrue as u8 as u8) << 0usize) & (1u64 as u8)) - } | ((mTextAlignLastTrue as u8 as u8) << 1usize) & (2u64 as u8)) - } - } - #[repr(C)] #[derive(Debug, Copy)] pub struct nsStyleImageOrientation { pub mOrientation: u8, @@ -36165,77 +37892,6 @@ pub mod root { "Alignment of field: " , stringify ! ( BindingHolder ) , "::" , stringify ! ( mPtr ) )); } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleTable { - pub mLayoutStrategy: u8, - pub mSpan: i32, - } - pub const nsStyleTable_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleTable() { - assert_eq!(::std::mem::size_of::<nsStyleTable>() , 8usize , concat ! ( - "Size of: " , stringify ! ( nsStyleTable ) )); - assert_eq! (::std::mem::align_of::<nsStyleTable>() , 4usize , concat ! - ( "Alignment of " , stringify ! ( nsStyleTable ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTable ) ) . mLayoutStrategy as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTable ) , - "::" , stringify ! ( mLayoutStrategy ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTable ) ) . mSpan as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTable ) , - "::" , stringify ! ( mSpan ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleTableBorder { - pub mBorderSpacingCol: root::nscoord, - pub mBorderSpacingRow: root::nscoord, - pub mBorderCollapse: u8, - pub mCaptionSide: u8, - pub mEmptyCells: u8, - } - pub const nsStyleTableBorder_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleTableBorder() { - assert_eq!(::std::mem::size_of::<nsStyleTableBorder>() , 12usize , - concat ! ( "Size of: " , stringify ! ( nsStyleTableBorder ) - )); - assert_eq! (::std::mem::align_of::<nsStyleTableBorder>() , 4usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleTableBorder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTableBorder ) ) . - mBorderSpacingCol as * const _ as usize } , 0usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTableBorder - ) , "::" , stringify ! ( mBorderSpacingCol ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTableBorder ) ) . - mBorderSpacingRow as * const _ as usize } , 4usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTableBorder - ) , "::" , stringify ! ( mBorderSpacingRow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTableBorder ) ) . - mBorderCollapse as * const _ as usize } , 8usize , concat - ! ( - "Alignment of field: " , stringify ! ( nsStyleTableBorder - ) , "::" , stringify ! ( mBorderCollapse ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTableBorder ) ) . mCaptionSide - as * const _ as usize } , 9usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTableBorder - ) , "::" , stringify ! ( mCaptionSide ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTableBorder ) ) . mEmptyCells - as * const _ as usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTableBorder - ) , "::" , stringify ! ( mEmptyCells ) )); - } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum nsStyleContentType { @@ -36390,99 +38046,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStyleContent { - pub mContents: root::nsTArray<root::nsStyleContentData>, - pub mIncrements: root::nsTArray<root::nsStyleCounterData>, - pub mResets: root::nsTArray<root::nsStyleCounterData>, - } - pub const nsStyleContent_kHasFinishStyle: bool = true; - #[test] - fn bindgen_test_layout_nsStyleContent() { - assert_eq!(::std::mem::size_of::<nsStyleContent>() , 24usize , concat - ! ( "Size of: " , stringify ! ( nsStyleContent ) )); - assert_eq! (::std::mem::align_of::<nsStyleContent>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleContent ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleContent ) ) . mContents as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleContent ) , - "::" , stringify ! ( mContents ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleContent ) ) . mIncrements as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleContent ) , - "::" , stringify ! ( mIncrements ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleContent ) ) . mResets as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleContent ) , - "::" , stringify ! ( mResets ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleUIReset { - pub mUserSelect: root::mozilla::StyleUserSelect, - pub mForceBrokenImageIcon: u8, - pub mIMEMode: u8, - pub mWindowDragging: root::mozilla::StyleWindowDragging, - pub mWindowShadow: u8, - pub mWindowOpacity: f32, - pub mSpecifiedWindowTransform: root::RefPtr<root::nsCSSValueSharedList>, - pub mWindowTransformOrigin: [root::nsStyleCoord; 2usize], - } - pub const nsStyleUIReset_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleUIReset() { - assert_eq!(::std::mem::size_of::<nsStyleUIReset>() , 56usize , concat - ! ( "Size of: " , stringify ! ( nsStyleUIReset ) )); - assert_eq! (::std::mem::align_of::<nsStyleUIReset>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleUIReset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . mUserSelect as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mUserSelect ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . - mForceBrokenImageIcon as * const _ as usize } , 1usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mForceBrokenImageIcon ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . mIMEMode as * - const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mIMEMode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowDragging - as * const _ as usize } , 3usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mWindowDragging ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowShadow as - * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mWindowShadow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowOpacity - as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mWindowOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . - mSpecifiedWindowTransform as * const _ as usize } , - 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mSpecifiedWindowTransform ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . - mWindowTransformOrigin as * const _ as usize } , 24usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mWindowTransformOrigin ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsCursorImage { pub mHaveHotspot: bool, pub mHotspotX: f32, @@ -36516,192 +38079,6 @@ pub mod root { "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mImage ) )); } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleUserInterface { - pub mUserInput: root::mozilla::StyleUserInput, - pub mUserModify: root::mozilla::StyleUserModify, - pub mUserFocus: root::mozilla::StyleUserFocus, - pub mPointerEvents: u8, - pub mCursor: u8, - pub mCursorImages: root::nsTArray<root::nsCursorImage>, - pub mCaretColor: root::mozilla::StyleComplexColor, - } - pub const nsStyleUserInterface_kHasFinishStyle: bool = true; - #[test] - fn bindgen_test_layout_nsStyleUserInterface() { - assert_eq!(::std::mem::size_of::<nsStyleUserInterface>() , 24usize , - concat ! ( - "Size of: " , stringify ! ( nsStyleUserInterface ) )); - assert_eq! (::std::mem::align_of::<nsStyleUserInterface>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleUserInterface ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserInput - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( mUserInput ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . - mUserModify as * const _ as usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( mUserModify - ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserFocus - as * const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( mUserFocus ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . - mPointerEvents as * const _ as usize } , 3usize , concat ! - ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( - mPointerEvents ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursor as - * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( mCursor ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . - mCursorImages as * const _ as usize } , 8usize , concat ! - ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( - mCursorImages ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . - mCaretColor as * const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( mCaretColor - ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleXUL { - pub mBoxFlex: f32, - pub mBoxOrdinal: u32, - pub mBoxAlign: root::mozilla::StyleBoxAlign, - pub mBoxDirection: root::mozilla::StyleBoxDirection, - pub mBoxOrient: root::mozilla::StyleBoxOrient, - pub mBoxPack: root::mozilla::StyleBoxPack, - pub mStackSizing: root::mozilla::StyleStackSizing, - } - pub const nsStyleXUL_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleXUL() { - assert_eq!(::std::mem::size_of::<nsStyleXUL>() , 16usize , concat ! ( - "Size of: " , stringify ! ( nsStyleXUL ) )); - assert_eq! (::std::mem::align_of::<nsStyleXUL>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( nsStyleXUL ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxFlex as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxFlex ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrdinal as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxOrdinal ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxAlign as * const - _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxAlign ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxDirection as * - const _ as usize } , 9usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxDirection ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrient as * - const _ as usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxOrient ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxPack as * const - _ as usize } , 11usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxPack ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mStackSizing as * - const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mStackSizing ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleColumn { - pub mColumnCount: u32, - pub mColumnWidth: root::nsStyleCoord, - pub mColumnGap: root::nsStyleCoord, - pub mColumnRuleColor: root::mozilla::StyleComplexColor, - pub mColumnRuleStyle: u8, - pub mColumnFill: u8, - pub mColumnSpan: u8, - pub mColumnRuleWidth: root::nscoord, - pub mTwipsPerPixel: root::nscoord, - } - pub const nsStyleColumn_kHasFinishStyle: bool = false; - pub const nsStyleColumn_kMaxColumnCount: u32 = 1000; - #[test] - fn bindgen_test_layout_nsStyleColumn() { - assert_eq!(::std::mem::size_of::<nsStyleColumn>() , 64usize , concat ! - ( "Size of: " , stringify ! ( nsStyleColumn ) )); - assert_eq! (::std::mem::align_of::<nsStyleColumn>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleColumn ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnCount as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnWidth as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnGap as * - const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnGap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleColor - as * const _ as usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnRuleColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleStyle - as * const _ as usize } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnRuleStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnFill as * - const _ as usize } , 49usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnFill ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnSpan as * - const _ as usize } , 50usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnSpan ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleWidth - as * const _ as usize } , 52usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnRuleWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mTwipsPerPixel as - * const _ as usize } , 56usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mTwipsPerPixel ) )); - } #[repr(u8)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum nsStyleSVGPaintType { @@ -36789,189 +38166,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStyleSVG { - pub mFill: root::nsStyleSVGPaint, - pub mStroke: root::nsStyleSVGPaint, - pub mMarkerEnd: root::RefPtr<root::mozilla::css::URLValue>, - pub mMarkerMid: root::RefPtr<root::mozilla::css::URLValue>, - pub mMarkerStart: root::RefPtr<root::mozilla::css::URLValue>, - pub mStrokeDasharray: root::nsTArray<root::nsStyleCoord>, - pub mContextProps: root::nsTArray<root::nsCOMPtr<root::nsIAtom>>, - pub mStrokeDashoffset: root::nsStyleCoord, - pub mStrokeWidth: root::nsStyleCoord, - pub mFillOpacity: f32, - pub mStrokeMiterlimit: f32, - pub mStrokeOpacity: f32, - pub mClipRule: root::mozilla::StyleFillRule, - pub mColorInterpolation: u8, - pub mColorInterpolationFilters: u8, - pub mFillRule: root::mozilla::StyleFillRule, - pub mPaintOrder: u8, - pub mShapeRendering: u8, - pub mStrokeLinecap: u8, - pub mStrokeLinejoin: u8, - pub mTextAnchor: u8, - pub mContextPropsBits: u8, - pub mContextFlags: u8, - } - pub const nsStyleSVG_FILL_OPACITY_SOURCE_MASK: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::FILL_OPACITY_SOURCE_MASK; - pub const nsStyleSVG_STROKE_OPACITY_SOURCE_MASK: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::STROKE_OPACITY_SOURCE_MASK; - pub const nsStyleSVG_STROKE_DASHARRAY_CONTEXT: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::STROKE_DASHARRAY_CONTEXT; - pub const nsStyleSVG_STROKE_DASHOFFSET_CONTEXT: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::STROKE_DASHOFFSET_CONTEXT; - pub const nsStyleSVG_STROKE_WIDTH_CONTEXT: root::nsStyleSVG__bindgen_ty_1 - = - nsStyleSVG__bindgen_ty_1::STROKE_WIDTH_CONTEXT; - pub const nsStyleSVG_FILL_OPACITY_SOURCE_SHIFT: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::FILL_OPACITY_SOURCE_SHIFT; - pub const nsStyleSVG_STROKE_OPACITY_SOURCE_SHIFT: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::STROKE_OPACITY_SOURCE_SHIFT; - #[repr(u32)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum nsStyleSVG__bindgen_ty_1 { - FILL_OPACITY_SOURCE_MASK = 3, - STROKE_OPACITY_SOURCE_MASK = 12, - STROKE_DASHARRAY_CONTEXT = 16, - STROKE_DASHOFFSET_CONTEXT = 32, - STROKE_WIDTH_CONTEXT = 64, - FILL_OPACITY_SOURCE_SHIFT = 0, - STROKE_OPACITY_SOURCE_SHIFT = 2, - } - pub const nsStyleSVG_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleSVG() { - assert_eq!(::std::mem::size_of::<nsStyleSVG>() , 128usize , concat ! ( - "Size of: " , stringify ! ( nsStyleSVG ) )); - assert_eq! (::std::mem::align_of::<nsStyleSVG>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( nsStyleSVG ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mFill as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mFill ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStroke as * const _ - as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStroke ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerEnd as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mMarkerEnd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerMid as * - const _ as usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mMarkerMid ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerStart as * - const _ as usize } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mMarkerStart ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDasharray as - * const _ as usize } , 56usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeDasharray ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mContextProps as * - const _ as usize } , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mContextProps ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDashoffset as - * const _ as usize } , 72usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeDashoffset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeWidth as * - const _ as usize } , 88usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mFillOpacity as * - const _ as usize } , 104usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mFillOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeMiterlimit as - * const _ as usize } , 108usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeMiterlimit ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeOpacity as * - const _ as usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mClipRule as * const - _ as usize } , 116usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mClipRule ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolation - as * const _ as usize } , 117usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mColorInterpolation ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . - mColorInterpolationFilters as * const _ as usize } , - 118usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mColorInterpolationFilters ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mFillRule as * const - _ as usize } , 119usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mFillRule ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mPaintOrder as * - const _ as usize } , 120usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mPaintOrder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mShapeRendering as * - const _ as usize } , 121usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mShapeRendering ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinecap as * - const _ as usize } , 122usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeLinecap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinejoin as * - const _ as usize } , 123usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeLinejoin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mTextAnchor as * - const _ as usize } , 124usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mTextAnchor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mContextPropsBits as - * const _ as usize } , 125usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mContextPropsBits ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mContextFlags as * - const _ as usize } , 126usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mContextFlags ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsStyleFilter { pub mType: u32, pub mFilterParameter: root::nsStyleCoord, @@ -37028,149 +38222,6 @@ pub mod root { "Alignment of field: " , stringify ! ( nsStyleFilter ) , "::" , stringify ! ( mFilterParameter ) )); } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleSVGReset { - pub mMask: root::nsStyleImageLayers, - pub mClipPath: root::mozilla::StyleShapeSource, - pub mStopColor: root::nscolor, - pub mFloodColor: root::nscolor, - pub mLightingColor: root::nscolor, - pub mStopOpacity: f32, - pub mFloodOpacity: f32, - pub mDominantBaseline: u8, - pub mVectorEffect: u8, - pub mMaskType: u8, - } - pub const nsStyleSVGReset_kHasFinishStyle: bool = true; - #[test] - fn bindgen_test_layout_nsStyleSVGReset() { - assert_eq!(::std::mem::size_of::<nsStyleSVGReset>() , 192usize , - concat ! ( "Size of: " , stringify ! ( nsStyleSVGReset ) - )); - assert_eq! (::std::mem::align_of::<nsStyleSVGReset>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleSVGReset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mMask as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mMask ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mClipPath as * - const _ as usize } , 152usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mClipPath ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopColor as * - const _ as usize } , 168usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mStopColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodColor as - * const _ as usize } , 172usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mFloodColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mLightingColor - as * const _ as usize } , 176usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mLightingColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopOpacity as - * const _ as usize } , 180usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mStopOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodOpacity - as * const _ as usize } , 184usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mFloodOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . - mDominantBaseline as * const _ as usize } , 188usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mDominantBaseline ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mVectorEffect - as * const _ as usize } , 189usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mVectorEffect ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mMaskType as * - const _ as usize } , 190usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mMaskType ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleVariables { - pub mVariables: root::mozilla::CSSVariableValues, - } - pub const nsStyleVariables_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleVariables() { - assert_eq!(::std::mem::size_of::<nsStyleVariables>() , 56usize , - concat ! ( "Size of: " , stringify ! ( nsStyleVariables ) - )); - assert_eq! (::std::mem::align_of::<nsStyleVariables>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleVariables ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVariables ) ) . mVariables as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVariables ) - , "::" , stringify ! ( mVariables ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleEffects { - pub mFilters: root::nsTArray<root::nsStyleFilter>, - pub mBoxShadow: root::RefPtr<root::nsCSSShadowArray>, - pub mClip: root::nsRect, - pub mOpacity: f32, - pub mClipFlags: u8, - pub mMixBlendMode: u8, - } - pub const nsStyleEffects_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleEffects() { - assert_eq!(::std::mem::size_of::<nsStyleEffects>() , 40usize , concat - ! ( "Size of: " , stringify ! ( nsStyleEffects ) )); - assert_eq! (::std::mem::align_of::<nsStyleEffects>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleEffects ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mFilters as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mFilters ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mBoxShadow as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mBoxShadow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mClip as * const - _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mClip ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mOpacity as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mClipFlags as * - const _ as usize } , 36usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mClipFlags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mMixBlendMode as - * const _ as usize } , 37usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mMixBlendMode ) )); - } /** * These *_Simple types are used to map Gecko types to layout-equivalent but * simpler Rust types, to aid Rust binding generation. @@ -37393,7 +38444,7 @@ pub mod root { root::nsTArray<root::RefPtr<root::RawServoAnimationValue>>; pub type RawGeckoKeyframeList = root::nsTArray<root::mozilla::Keyframe>; pub type RawGeckoComputedKeyframeValuesList = - root::nsTArray<root::mozilla::ComputedKeyframeValues>; + root::nsTArray<root::nsTArray<root::mozilla::PropertyStyleAnimationValuePair>>; pub type RawGeckoStyleAnimationList = root::nsStyleAutoArray<root::mozilla::StyleAnimation>; pub type RawGeckoFontFaceRuleList = @@ -37408,6 +38459,15 @@ pub mod root { pub type RawGeckoGfxMatrix4x4 = [root::mozilla::gfx::Float; 16usize]; pub type RawGeckoStyleChildrenIterator = root::mozilla::dom::StyleChildrenIterator; + pub type RawServoDeclarationBlockBorrowed = + *const root::RawServoDeclarationBlock; + pub type ServoStyleContextBorrowed = + *const root::mozilla::ServoStyleContext; + pub type ServoStyleContextBorrowedOrNull = + *const root::mozilla::ServoStyleContext; + pub type ServoComputedValuesBorrowed = *const root::ServoComputedValues; + pub type ServoComputedValuesBorrowedOrNull = + *const root::ServoComputedValues; pub type RawServoAnimationValueMapBorrowedMut = *mut root::RawServoAnimationValueMap; pub type RawGeckoNodeBorrowed = *const root::RawGeckoNode; @@ -37722,6 +38782,11 @@ pub mod root { pub struct nsIConsoleReportCollector { _unused: [u8; 0], } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct CSSRuleListImpl { + _unused: [u8; 0], + } /** * An nsMediaQueryResultCacheKey records what feature/value combinations * a set of media query results are valid for. This allows the caller @@ -37962,6 +39027,11 @@ pub mod root { } #[repr(C)] #[derive(Debug, Copy, Clone)] + pub struct nsXBLDocumentInfo { + _unused: [u8; 0], + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] pub struct ElementRuleProcessorData { _unused: [u8; 0], } @@ -38073,7 +39143,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] pub struct nsIAttribute { pub _base: root::nsINode, pub mAttrMap: root::RefPtr<root::nsDOMAttributeMap>, @@ -38096,6 +39165,35 @@ pub mod root { "::" , stringify ! ( mAttrMap ) )); } /** + * There are two advantages to inheriting from nsStubMutationObserver + * rather than directly from nsIMutationObserver: + * 1. smaller compiled code size (since there's no need for the code + * for the empty virtual function implementations for every + * nsIMutationObserver implementation) + * 2. the performance of document's loop over observers benefits from + * the fact that more of the functions called are the same (which + * can reduce instruction cache misses and perhaps improve branch + * prediction) + */ + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsStubMutationObserver { + pub _base: root::nsIMutationObserver, + } + #[test] + fn bindgen_test_layout_nsStubMutationObserver() { + assert_eq!(::std::mem::size_of::<nsStubMutationObserver>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsStubMutationObserver ) )); + assert_eq! (::std::mem::align_of::<nsStubMutationObserver>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsStubMutationObserver ) + )); + } + impl Clone for nsStubMutationObserver { + fn clone(&self) -> Self { *self } + } + /** * Structure used as a key for caching Attrs in nsDOMAttributeMap's mAttributeCache. */ #[repr(C)] @@ -38240,46 +39338,46 @@ pub mod root { pub struct nsAttrValueOrString { _unused: [u8; 0], } - pub const ELEMENT_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_1; - pub const ELEMENT_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_SHARED_RESTYLE_BIT_3: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_3; - pub const ELEMENT_SHARED_RESTYLE_BIT_4: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_SHARED_RESTYLE_BIT_3: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_SHARED_RESTYLE_BIT_4: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_1; pub const ELEMENT_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO: - root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_HAS_SNAPSHOT: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_3; - pub const ELEMENT_HANDLED_SNAPSHOT: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_HAS_PENDING_RESTYLE: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_1; - pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE: root::_bindgen_ty_85 + root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_SNAPSHOT: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_HANDLED_SNAPSHOT: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_PENDING_RESTYLE: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE: root::_bindgen_ty_20 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_3; + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_3; pub const ELEMENT_IS_POTENTIAL_ANIMATION_ONLY_RESTYLE_ROOT: - root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR; - pub const ELEMENT_PENDING_RESTYLE_FLAGS: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_PENDING_RESTYLE_FLAGS; - pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS; - pub const ELEMENT_ALL_RESTYLE_FLAGS: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_ALL_RESTYLE_FLAGS; - pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_85 = - _bindgen_ty_85::ELEMENT_TYPE_SPECIFIC_BITS_OFFSET; + root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR; + pub const ELEMENT_PENDING_RESTYLE_FLAGS: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_PENDING_RESTYLE_FLAGS; + pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS; + pub const ELEMENT_ALL_RESTYLE_FLAGS: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_ALL_RESTYLE_FLAGS; + pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_85 { + pub enum _bindgen_ty_20 { ELEMENT_SHARED_RESTYLE_BIT_1 = 8388608, ELEMENT_SHARED_RESTYLE_BIT_2 = 16777216, ELEMENT_SHARED_RESTYLE_BIT_3 = 33554432, @@ -38316,10 +39414,54 @@ pub mod root { impl Clone for LookAndFeelInt { fn clone(&self) -> Self { *self } } + /** + * An object implementing |nsIStyleRule| (henceforth, a rule) represents + * immutable stylistic information that either applies or does not apply + * to a given element. It belongs to an object or group of objects that + * implement |nsIStyleSheet| and |nsIStyleRuleProcessor| (henceforth, a + * sheet). + * + * A rule becomes relevant to the computation of style data when + * |nsIStyleRuleProcessor::RulesMatching| creates a rule node that + * points to the rule. (A rule node, |nsRuleNode|, is a node in the + * rule tree, which is a lexicographic tree indexed by rules. The path + * from the root of the rule tree to the |nsRuleNode| for a given + * |nsStyleContext| contains exactly the rules that match the element + * that the style context is for, in priority (weight, origin, + * specificity) order.) + * + * The computation of style data uses the rule tree, which calls + * |nsIStyleRule::MapRuleInfoInto| below. + * + * It is worth emphasizing that the data represented by a rule + * implementation are immutable. When the data need to be changed, a + * new rule object must be created. Failing to do this will lead to + * bugs in the handling of dynamic style changes, since the rule tree + * caches the results of |MapRuleInfoInto|. + * + * |nsIStyleRule| objects are owned by |nsRuleNode| objects (in addition + * to typically being owned by their sheet), which are in turn garbage + * collected (with the garbage collection roots being style contexts). + */ #[repr(C)] - #[derive(Debug, Copy, Clone)] + #[derive(Debug, Copy)] pub struct nsIStyleRule { - _unused: [u8; 0], + pub _base: root::nsISupports, + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsIStyleRule_COMTypeInfo { + pub _address: u8, + } + #[test] + fn bindgen_test_layout_nsIStyleRule() { + assert_eq!(::std::mem::size_of::<nsIStyleRule>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIStyleRule ) )); + assert_eq! (::std::mem::align_of::<nsIStyleRule>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIStyleRule ) )); + } + impl Clone for nsIStyleRule { + fn clone(&self) -> Self { *self } } #[repr(C)] #[derive(Debug)] @@ -38626,6 +39768,27 @@ pub mod root { pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_placeholder: u32 = 8; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozColorSwatch: u32 = 12; #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct ElementDependentRuleProcessorData { + _unused: [u8; 0], + } + pub type nsBindingList = root::nsTArray<root::RefPtr<root::nsXBLBinding>>; + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsRuleData { + _unused: [u8; 0], + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsCSSFontFeatureValuesRule { + _unused: [u8; 0], + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsCSSPageRule { + _unused: [u8; 0], + } + #[repr(C)] #[derive(Debug, Copy)] pub struct nsIDOMCSSCounterStyleRule { pub _base: root::nsISupports, @@ -38829,22 +39992,6 @@ pub mod root { } #[repr(C)] #[derive(Debug, Copy)] - pub struct _bindgen_ty_29 { - pub _address: u8, - } - impl Clone for _bindgen_ty_29 { - fn clone(&self) -> Self { *self } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct _bindgen_ty_30 { - pub _address: u8, - } - impl Clone for _bindgen_ty_30 { - fn clone(&self) -> Self { *self } - } - #[repr(C)] - #[derive(Debug, Copy)] pub struct __va_list_tag { pub gp_offset: ::std::os::raw::c_uint, pub fp_offset: ::std::os::raw::c_uint, @@ -38883,7 +40030,7 @@ pub mod root { } pub type __builtin_va_list = [root::__va_list_tag; 1usize]; #[test] - fn __bindgen_test_layout_IntegralConstant_instantiation_88() { + fn __bindgen_test_layout_IntegralConstant_instantiation_23() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -38892,7 +40039,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_IntegralConstant_instantiation_89() { + fn __bindgen_test_layout_IntegralConstant_instantiation_24() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -38901,7 +40048,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_90() { + fn __bindgen_test_layout_nsCharTraits_instantiation_25() { assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38912,33 +40059,29 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_instantiation_91() { - assert_eq!(::std::mem::size_of::<root::nsReadingIterator<root::mozilla::detail::nsStringRepr_char_type>>() - , 24usize , concat ! ( + fn __bindgen_test_layout_nsReadingIterator_instantiation_26() { + assert_eq!(::std::mem::size_of::<root::nsReadingIterator<u16>>() , + 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsReadingIterator<root::mozilla::detail::nsStringRepr_char_type> - ) )); - assert_eq!(::std::mem::align_of::<root::nsReadingIterator<root::mozilla::detail::nsStringRepr_char_type>>() - , 8usize , concat ! ( + root::nsReadingIterator<u16> ) )); + assert_eq!(::std::mem::align_of::<root::nsReadingIterator<u16>>() , + 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsReadingIterator<root::mozilla::detail::nsStringRepr_char_type> - ) )); + root::nsReadingIterator<u16> ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_instantiation_92() { - assert_eq!(::std::mem::size_of::<root::nsWritingIterator<root::mozilla::detail::nsStringRepr_char_type>>() - , 24usize , concat ! ( + fn __bindgen_test_layout_nsWritingIterator_instantiation_27() { + assert_eq!(::std::mem::size_of::<root::nsWritingIterator<u16>>() , + 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsWritingIterator<root::mozilla::detail::nsStringRepr_char_type> - ) )); - assert_eq!(::std::mem::align_of::<root::nsWritingIterator<root::mozilla::detail::nsStringRepr_char_type>>() - , 8usize , concat ! ( + root::nsWritingIterator<u16> ) )); + assert_eq!(::std::mem::align_of::<root::nsWritingIterator<u16>>() , + 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsWritingIterator<root::mozilla::detail::nsStringRepr_char_type> - ) )); + root::nsWritingIterator<u16> ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_93() { + fn __bindgen_test_layout_nsCharTraits_instantiation_28() { assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38949,33 +40092,29 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_instantiation_94() { - assert_eq!(::std::mem::size_of::<root::nsReadingIterator<root::mozilla::detail::nsCStringRepr_char_type>>() + fn __bindgen_test_layout_nsReadingIterator_instantiation_29() { + assert_eq!(::std::mem::size_of::<root::nsReadingIterator<::std::os::raw::c_char>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsReadingIterator<root::mozilla::detail::nsCStringRepr_char_type> - ) )); - assert_eq!(::std::mem::align_of::<root::nsReadingIterator<root::mozilla::detail::nsCStringRepr_char_type>>() + root::nsReadingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::<root::nsReadingIterator<::std::os::raw::c_char>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsReadingIterator<root::mozilla::detail::nsCStringRepr_char_type> - ) )); + root::nsReadingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_instantiation_95() { - assert_eq!(::std::mem::size_of::<root::nsWritingIterator<root::mozilla::detail::nsCStringRepr_char_type>>() + fn __bindgen_test_layout_nsWritingIterator_instantiation_30() { + assert_eq!(::std::mem::size_of::<root::nsWritingIterator<::std::os::raw::c_char>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsWritingIterator<root::mozilla::detail::nsCStringRepr_char_type> - ) )); - assert_eq!(::std::mem::align_of::<root::nsWritingIterator<root::mozilla::detail::nsCStringRepr_char_type>>() + root::nsWritingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::<root::nsWritingIterator<::std::os::raw::c_char>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsWritingIterator<root::mozilla::detail::nsCStringRepr_char_type> - ) )); + root::nsWritingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_96() { + fn __bindgen_test_layout_nsCharTraits_instantiation_31() { assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38986,7 +40125,7 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_97() { + fn __bindgen_test_layout_nsCharTraits_instantiation_32() { assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38997,7 +40136,7 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout__bindgen_ty_id_191636_instantiation_98() { + fn __bindgen_test_layout__bindgen_ty_id_195333_instantiation_33() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -39006,7 +40145,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout__bindgen_ty_id_191672_instantiation_99() { + fn __bindgen_test_layout__bindgen_ty_id_195369_instantiation_34() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -39015,7 +40154,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_100() { + fn __bindgen_test_layout_nsTArray_instantiation_35() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39026,7 +40165,7 @@ pub mod root { root::nsTArray<root::nsCString> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_101() { + fn __bindgen_test_layout_Handle_instantiation_36() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::jsid>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39037,7 +40176,7 @@ pub mod root { root::JS::Handle<root::jsid> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_102() { + fn __bindgen_test_layout_Handle_instantiation_37() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39048,7 +40187,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_103() { + fn __bindgen_test_layout_Handle_instantiation_38() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39059,7 +40198,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_104() { + fn __bindgen_test_layout_MutableHandle_instantiation_39() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39070,7 +40209,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Rooted_instantiation_105() { + fn __bindgen_test_layout_Rooted_instantiation_40() { assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39081,7 +40220,7 @@ pub mod root { [u64; 3usize] ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_106() { + fn __bindgen_test_layout_DeletePolicy_instantiation_41() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39092,7 +40231,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_107() { + fn __bindgen_test_layout_nsTArray_instantiation_42() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39103,7 +40242,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_108() { + fn __bindgen_test_layout_nsTArray_instantiation_43() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::FontFamilyName>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39114,29 +40253,29 @@ pub mod root { root::nsTArray<root::mozilla::FontFamilyName> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_109() { - assert_eq!(::std::mem::size_of::<root::nsTArray<u32>>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_instantiation_44() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<u32> ) )); - assert_eq!(::std::mem::align_of::<root::nsTArray<u32>>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::std::os::raw::c_uint>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray<u32> ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_110() { - assert_eq!(::std::mem::size_of::<root::nsTArray<u32>>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_instantiation_45() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<u32> ) )); - assert_eq!(::std::mem::align_of::<root::nsTArray<u32>>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::std::os::raw::c_uint>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray<u32> ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_PointTyped_instantiation_111() { + fn __bindgen_test_layout_PointTyped_instantiation_46() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39147,7 +40286,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntPointTyped_instantiation_112() { + fn __bindgen_test_layout_IntPointTyped_instantiation_47() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39158,7 +40297,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_SizeTyped_instantiation_113() { + fn __bindgen_test_layout_SizeTyped_instantiation_48() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39169,7 +40308,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_RectTyped_instantiation_114() { + fn __bindgen_test_layout_RectTyped_instantiation_49() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39180,7 +40319,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_IntPointTyped_instantiation_115() { + fn __bindgen_test_layout_IntPointTyped_instantiation_50() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39191,7 +40330,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntSizeTyped_instantiation_116() { + fn __bindgen_test_layout_IntSizeTyped_instantiation_51() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39202,7 +40341,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntRectTyped_instantiation_117() { + fn __bindgen_test_layout_IntRectTyped_instantiation_52() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39213,7 +40352,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_MarginTyped_instantiation_118() { + fn __bindgen_test_layout_MarginTyped_instantiation_53() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39224,7 +40363,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_RectTyped_instantiation_119() { + fn __bindgen_test_layout_RectTyped_instantiation_54() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39235,7 +40374,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_IntRectTyped_instantiation_120() { + fn __bindgen_test_layout_IntRectTyped_instantiation_55() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39246,7 +40385,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactor_instantiation_121() { + fn __bindgen_test_layout_ScaleFactor_instantiation_56() { assert_eq!(::std::mem::size_of::<u32>() , 4usize , concat ! ( "Size of template specialization: " , stringify ! ( u32 ) )); @@ -39255,7 +40394,7 @@ pub mod root { u32 ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_122() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_57() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39266,7 +40405,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_123() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_58() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39277,7 +40416,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_124() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_59() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39288,7 +40427,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_BaseTimeDuration_instantiation_125() { + fn __bindgen_test_layout_BaseTimeDuration_instantiation_60() { assert_eq!(::std::mem::size_of::<root::mozilla::BaseTimeDuration>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39299,7 +40438,7 @@ pub mod root { root::mozilla::BaseTimeDuration ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_126() { + fn __bindgen_test_layout_already_AddRefed_instantiation_61() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39310,7 +40449,7 @@ pub mod root { root::already_AddRefed<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_127() { + fn __bindgen_test_layout_already_AddRefed_instantiation_62() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39321,7 +40460,7 @@ pub mod root { root::already_AddRefed<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_128() { + fn __bindgen_test_layout_RefPtr_instantiation_63() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39332,7 +40471,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_129() { + fn __bindgen_test_layout_nsTArray_instantiation_64() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39345,7 +40484,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_130() { + fn __bindgen_test_layout_RefPtr_instantiation_65() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39356,7 +40495,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_131() { + fn __bindgen_test_layout_nsTArray_instantiation_66() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39369,7 +40508,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_WeakPtr_instantiation_132() { + fn __bindgen_test_layout_WeakPtr_instantiation_67() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -39378,7 +40517,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_133() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_68() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<::std::os::raw::c_void>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39389,7 +40528,7 @@ pub mod root { root::nsPtrHashKey<::std::os::raw::c_void> ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_134() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_69() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::WeakFrame>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39400,7 +40539,40 @@ pub mod root { root::nsPtrHashKey<root::WeakFrame> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_135() { + fn __bindgen_test_layout_already_AddRefed_instantiation_70() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_71() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_72() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIAtom>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIAtom>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_73() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39411,7 +40583,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_TErrorResult_instantiation_136() { + fn __bindgen_test_layout_TErrorResult_instantiation_74() { assert_eq!(::std::mem::size_of::<root::mozilla::binding_danger::TErrorResult>() , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39422,7 +40594,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[test] - fn __bindgen_test_layout_TErrorResult_instantiation_137() { + fn __bindgen_test_layout_TErrorResult_instantiation_75() { assert_eq!(::std::mem::size_of::<root::mozilla::binding_danger::TErrorResult>() , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39433,7 +40605,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_138() { + fn __bindgen_test_layout_already_AddRefed_instantiation_76() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStringBuffer>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39444,7 +40616,7 @@ pub mod root { root::already_AddRefed<root::nsStringBuffer> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_139() { + fn __bindgen_test_layout_Handle_instantiation_77() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39455,7 +40627,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_140() { + fn __bindgen_test_layout_MutableHandle_instantiation_78() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39466,7 +40638,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_141() { + fn __bindgen_test_layout_Handle_instantiation_79() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39477,7 +40649,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_142() { + fn __bindgen_test_layout_nsTArray_instantiation_80() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39488,7 +40660,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_143() { + fn __bindgen_test_layout_Handle_instantiation_81() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39499,7 +40671,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_144() { + fn __bindgen_test_layout_RefPtr_instantiation_82() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39510,7 +40682,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_145() { + fn __bindgen_test_layout_Handle_instantiation_83() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39521,7 +40693,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_146() { + fn __bindgen_test_layout_Handle_instantiation_84() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39532,7 +40704,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_147() { + fn __bindgen_test_layout_already_AddRefed_instantiation_85() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39543,7 +40715,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_148() { + fn __bindgen_test_layout_already_AddRefed_instantiation_86() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39554,7 +40726,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_149() { + fn __bindgen_test_layout_already_AddRefed_instantiation_87() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsINode>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39565,7 +40737,7 @@ pub mod root { root::already_AddRefed<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_150() { + fn __bindgen_test_layout_Handle_instantiation_88() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39576,7 +40748,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_151() { + fn __bindgen_test_layout_MutableHandle_instantiation_89() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39587,7 +40759,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_152() { + fn __bindgen_test_layout_MutableHandle_instantiation_90() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39598,7 +40770,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_153() { + fn __bindgen_test_layout_DeletePolicy_instantiation_91() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39609,7 +40781,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_154() { + fn __bindgen_test_layout_UniquePtr_instantiation_92() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39620,7 +40792,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_155() { + fn __bindgen_test_layout_DeletePolicy_instantiation_93() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39631,7 +40803,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_156() { + fn __bindgen_test_layout_UniquePtr_instantiation_94() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39642,7 +40814,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_157() { + fn __bindgen_test_layout_DeletePolicy_instantiation_95() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39653,7 +40825,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_158() { + fn __bindgen_test_layout_UniquePtr_instantiation_96() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39664,7 +40836,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_159() { + fn __bindgen_test_layout_DeletePolicy_instantiation_97() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39675,7 +40847,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_160() { + fn __bindgen_test_layout_UniquePtr_instantiation_98() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39686,7 +40858,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_161() { + fn __bindgen_test_layout_DeletePolicy_instantiation_99() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39697,7 +40869,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_162() { + fn __bindgen_test_layout_UniquePtr_instantiation_100() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39708,7 +40880,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_iterator_instantiation_163() { + fn __bindgen_test_layout_iterator_instantiation_101() { assert_eq!(::std::mem::size_of::<root::std::iterator>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39719,7 +40891,7 @@ pub mod root { root::std::iterator ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_164() { + fn __bindgen_test_layout_DeletePolicy_instantiation_102() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39730,7 +40902,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_165() { + fn __bindgen_test_layout_UniquePtr_instantiation_103() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39741,7 +40913,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_166() { + fn __bindgen_test_layout_DeletePolicy_instantiation_104() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39752,7 +40924,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_167() { + fn __bindgen_test_layout_UniquePtr_instantiation_105() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39763,7 +40935,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_168() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_106() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIPrincipal>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39774,7 +40946,7 @@ pub mod root { root::nsCOMPtr<root::nsIPrincipal> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_169() { + fn __bindgen_test_layout_Handle_instantiation_107() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39785,7 +40957,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_170() { + fn __bindgen_test_layout_MutableHandle_instantiation_108() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39796,7 +40968,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_171() { + fn __bindgen_test_layout_nsTArray_instantiation_109() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39807,7 +40979,7 @@ pub mod root { root::nsTArray<root::nsCString> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_172() { + fn __bindgen_test_layout_nsTArray_instantiation_110() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39818,7 +40990,7 @@ pub mod root { root::nsTArray<root::nsCString> ) )); } #[test] - fn __bindgen_test_layout_Heap_instantiation_173() { + fn __bindgen_test_layout_Heap_instantiation_111() { assert_eq!(::std::mem::size_of::<root::JS::Heap<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39829,7 +41001,7 @@ pub mod root { root::JS::Heap<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Heap_instantiation_174() { + fn __bindgen_test_layout_Heap_instantiation_112() { assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39840,7 +41012,7 @@ pub mod root { root::JS::Heap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_TenuredHeap_instantiation_175() { + fn __bindgen_test_layout_TenuredHeap_instantiation_113() { assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39851,7 +41023,7 @@ pub mod root { root::JS::TenuredHeap ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_176() { + fn __bindgen_test_layout_already_AddRefed_instantiation_114() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39862,20 +41034,20 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_NotNull_instantiation_177() { - assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::nsIDocument_Encoding>>() + fn __bindgen_test_layout_NotNull_instantiation_115() { + assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsIDocument_Encoding> ) + root::mozilla::NotNull<*const root::mozilla::Encoding> ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::nsIDocument_Encoding>>() + assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsIDocument_Encoding> ) + root::mozilla::NotNull<*const root::mozilla::Encoding> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_178() { + fn __bindgen_test_layout_nsTArray_instantiation_116() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39888,7 +41060,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_179() { + fn __bindgen_test_layout_RefPtr_instantiation_117() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39899,7 +41071,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_180() { + fn __bindgen_test_layout_nsTArray_instantiation_118() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39912,7 +41084,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_181() { + fn __bindgen_test_layout_RefPtr_instantiation_119() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39923,7 +41095,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_182() { + fn __bindgen_test_layout_nsTArray_instantiation_120() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39936,18 +41108,18 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_183() { - assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIDocument_Element>>() + fn __bindgen_test_layout_nsTArray_instantiation_121() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); - assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIDocument_Element>>() + root::nsTArray<*mut root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); + root::nsTArray<*mut root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_184() { + fn __bindgen_test_layout_RefPtr_instantiation_122() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39958,7 +41130,20 @@ pub mod root { root::RefPtr<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_185() { + fn __bindgen_test_layout_nsTArray_instantiation_123() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_124() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIObserver>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39969,7 +41154,7 @@ pub mod root { root::nsCOMPtr<root::nsIObserver> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_186() { + fn __bindgen_test_layout_nsTArray_instantiation_125() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCOMPtr<root::nsIObserver>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39980,7 +41165,7 @@ pub mod root { root::nsTArray<root::nsCOMPtr<root::nsIObserver>> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_187() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_126() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIObserver>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39991,7 +41176,7 @@ pub mod root { root::nsCOMPtr<root::nsIObserver> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_188() { + fn __bindgen_test_layout_already_AddRefed_instantiation_127() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIDocument>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40002,7 +41187,7 @@ pub mod root { root::already_AddRefed<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_189() { + fn __bindgen_test_layout_already_AddRefed_instantiation_128() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40013,7 +41198,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_190() { + fn __bindgen_test_layout_RefPtr_instantiation_129() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40024,18 +41209,18 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_191() { - assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIDocument_Element>>() + fn __bindgen_test_layout_nsTArray_instantiation_130() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); - assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIDocument_Element>>() + root::nsTArray<*mut root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); + root::nsTArray<*mut root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_192() { + fn __bindgen_test_layout_already_AddRefed_instantiation_131() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIDocument>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40046,7 +41231,7 @@ pub mod root { root::already_AddRefed<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_193() { + fn __bindgen_test_layout_MutableHandle_instantiation_132() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40057,7 +41242,7 @@ pub mod root { root::JS::MutableHandle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_194() { + fn __bindgen_test_layout_already_AddRefed_instantiation_133() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsContentList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40068,7 +41253,7 @@ pub mod root { root::already_AddRefed<root::nsContentList> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_195() { + fn __bindgen_test_layout_already_AddRefed_instantiation_134() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsContentList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40079,7 +41264,7 @@ pub mod root { root::already_AddRefed<root::nsContentList> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_196() { + fn __bindgen_test_layout_already_AddRefed_instantiation_135() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsINode>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40090,7 +41275,7 @@ pub mod root { root::already_AddRefed<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_197() { + fn __bindgen_test_layout_RefPtr_instantiation_136() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40101,7 +41286,20 @@ pub mod root { root::RefPtr<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_198() { + fn __bindgen_test_layout_nsTArray_instantiation_137() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_138() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40112,7 +41310,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_199() { + fn __bindgen_test_layout_already_AddRefed_instantiation_139() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40123,7 +41321,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_200() { + fn __bindgen_test_layout_already_AddRefed_instantiation_140() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40134,7 +41332,7 @@ pub mod root { root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_201() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_141() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::mozilla::dom::Link>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40145,7 +41343,18 @@ pub mod root { root::nsCOMPtr<root::mozilla::dom::Link> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_202() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_142() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIWeakReference>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIWeakReference> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIWeakReference>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIWeakReference> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_143() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40156,7 +41365,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_203() { + fn __bindgen_test_layout_nsTArray_instantiation_144() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40169,7 +41378,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_204() { + fn __bindgen_test_layout_nsTArray_instantiation_145() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40180,7 +41389,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_205() { + fn __bindgen_test_layout_Handle_instantiation_146() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40191,7 +41400,165 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_206() { + fn __bindgen_test_layout_already_AddRefed_instantiation_147() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_148() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_149() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_150() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_151() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_152() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_153() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_154() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>> + ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>> + ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_155() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_156() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_157() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::RawServoAnimationValue>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::RawServoAnimationValue> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::RawServoAnimationValue>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::RawServoAnimationValue> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_158() { + assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_159() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>> + ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>> + ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_160() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_161() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40202,7 +41569,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_207() { + fn __bindgen_test_layout_UniquePtr_instantiation_162() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsISMILAttr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40213,7 +41580,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsISMILAttr> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_208() { + fn __bindgen_test_layout_already_AddRefed_instantiation_163() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40224,7 +41591,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_209() { + fn __bindgen_test_layout_nsTArray_instantiation_164() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40235,7 +41602,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_210() { + fn __bindgen_test_layout_Handle_instantiation_165() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40246,7 +41613,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_211() { + fn __bindgen_test_layout_Handle_instantiation_166() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40257,7 +41624,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_212() { + fn __bindgen_test_layout_Handle_instantiation_167() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40268,7 +41635,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_213() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_168() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40281,7 +41648,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsDataHashtable_instantiation_214() { + fn __bindgen_test_layout_nsDataHashtable_instantiation_169() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40292,7 +41659,40 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_215() { + fn __bindgen_test_layout_nsTArray_instantiation_170() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_171() { + assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIContent>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::nsIContent> ) )); + assert_eq!(::std::mem::align_of::<root::nsRefPtrHashKey<root::nsIContent>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::nsIContent> ) )); + } + #[test] + fn __bindgen_test_layout_nsTHashtable_instantiation_172() { + assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 6usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 6usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 6usize] ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_173() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40303,7 +41703,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_216() { + fn __bindgen_test_layout_nsTArray_instantiation_174() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40314,7 +41714,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_217() { + fn __bindgen_test_layout_nsTArray_instantiation_175() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40325,7 +41725,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_218() { + fn __bindgen_test_layout_already_AddRefed_instantiation_176() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40336,7 +41736,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_219() { + fn __bindgen_test_layout_already_AddRefed_instantiation_177() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40347,7 +41747,88 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_SupportsWeakPtr_instantiation_220() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_178() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIStyleRule>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIStyleRule> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIStyleRule>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIStyleRule> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_179() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::CSSStyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::CSSStyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::CSSStyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::CSSStyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_180() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>> + ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>> + ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_181() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_182() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::CSSStyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::CSSStyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::CSSStyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::CSSStyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_183() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>> + ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>> + ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_184() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIStyleRuleProcessor>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIStyleRuleProcessor> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIStyleRuleProcessor>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIStyleRuleProcessor> ) )); + } + #[test] + fn __bindgen_test_layout_SupportsWeakPtr_instantiation_185() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -40356,7 +41837,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_221() { + fn __bindgen_test_layout_already_AddRefed_instantiation_186() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40367,7 +41848,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_222() { + fn __bindgen_test_layout_nsTArray_instantiation_187() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40378,33 +41859,33 @@ pub mod root { root::nsTArray<root::nsRect> ) )); } #[test] - fn __bindgen_test_layout_NotNull_instantiation_223() { - assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::nsPresContext_Encoding>>() + fn __bindgen_test_layout_NotNull_instantiation_188() { + assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsPresContext_Encoding> - ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::nsPresContext_Encoding>>() + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); + assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsPresContext_Encoding> - ) )); + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); } #[test] - fn __bindgen_test_layout_NotNull_instantiation_224() { - assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::nsPresContext_Encoding>>() + fn __bindgen_test_layout_NotNull_instantiation_189() { + assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsPresContext_Encoding> - ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::nsPresContext_Encoding>>() + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); + assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsPresContext_Encoding> - ) )); + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_225() { + fn __bindgen_test_layout_already_AddRefed_instantiation_190() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsITimer>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40415,7 +41896,7 @@ pub mod root { root::already_AddRefed<root::nsITimer> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_226() { + fn __bindgen_test_layout_DefaultDelete_instantiation_191() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40426,7 +41907,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_227() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_192() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIAtom>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40437,7 +41918,7 @@ pub mod root { root::nsRefPtrHashKey<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_228() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_193() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40448,7 +41929,7 @@ pub mod root { root::nsCOMPtr<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_229() { + fn __bindgen_test_layout_nsTArray_instantiation_194() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCOMPtr<root::nsIAtom>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40459,7 +41940,7 @@ pub mod root { root::nsTArray<root::nsCOMPtr<root::nsIAtom>> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_230() { + fn __bindgen_test_layout_already_AddRefed_instantiation_195() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40470,7 +41951,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_231() { + fn __bindgen_test_layout_already_AddRefed_instantiation_196() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40481,7 +41962,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_232() { + fn __bindgen_test_layout_already_AddRefed_instantiation_197() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40492,7 +41973,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_233() { + fn __bindgen_test_layout_already_AddRefed_instantiation_198() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40503,7 +41984,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_234() { + fn __bindgen_test_layout_already_AddRefed_instantiation_199() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40514,7 +41995,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_235() { + fn __bindgen_test_layout_Handle_instantiation_200() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40525,7 +42006,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_236() { + fn __bindgen_test_layout_Handle_instantiation_201() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40536,7 +42017,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_237() { + fn __bindgen_test_layout_Handle_instantiation_202() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40547,7 +42028,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsPIDOMWindow_instantiation_238() { + fn __bindgen_test_layout_nsPIDOMWindow_instantiation_203() { assert_eq!(::std::mem::size_of::<[u64; 31usize]>() , 248usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40558,7 +42039,7 @@ pub mod root { [u64; 31usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_239() { + fn __bindgen_test_layout_already_AddRefed_instantiation_204() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40569,7 +42050,7 @@ pub mod root { root::already_AddRefed<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_240() { + fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_205() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40580,7 +42061,7 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_241() { + fn __bindgen_test_layout_Handle_instantiation_206() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40591,7 +42072,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_242() { + fn __bindgen_test_layout_nsTArray_instantiation_207() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40602,7 +42083,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_243() { + fn __bindgen_test_layout_Handle_instantiation_208() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40613,7 +42094,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_244() { + fn __bindgen_test_layout_OwningNonNull_instantiation_209() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40624,7 +42105,7 @@ pub mod root { root::mozilla::OwningNonNull<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_245() { + fn __bindgen_test_layout_OwningNonNull_instantiation_210() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40635,7 +42116,7 @@ pub mod root { root::mozilla::OwningNonNull<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_246() { + fn __bindgen_test_layout_OwningNonNull_instantiation_211() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40646,7 +42127,7 @@ pub mod root { root::mozilla::OwningNonNull<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_247() { + fn __bindgen_test_layout_Handle_instantiation_212() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40657,7 +42138,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_248() { + fn __bindgen_test_layout_Handle_instantiation_213() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40668,7 +42149,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_249() { + fn __bindgen_test_layout_Handle_instantiation_214() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40679,7 +42160,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_250() { + fn __bindgen_test_layout_MutableHandle_instantiation_215() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40690,7 +42171,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_251() { + fn __bindgen_test_layout_Handle_instantiation_216() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::jsid>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40701,7 +42182,7 @@ pub mod root { root::JS::Handle<root::jsid> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_252() { + fn __bindgen_test_layout_MutableHandle_instantiation_217() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::PropertyDescriptor>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40712,7 +42193,7 @@ pub mod root { root::JS::MutableHandle<root::JS::PropertyDescriptor> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_253() { + fn __bindgen_test_layout_Handle_instantiation_218() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::jsid>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40723,7 +42204,7 @@ pub mod root { root::JS::Handle<root::jsid> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_254() { + fn __bindgen_test_layout_MutableHandle_instantiation_219() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::PropertyDescriptor>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40734,7 +42215,7 @@ pub mod root { root::JS::MutableHandle<root::JS::PropertyDescriptor> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_255() { + fn __bindgen_test_layout_Handle_instantiation_220() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40745,7 +42226,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_256() { + fn __bindgen_test_layout_Handle_instantiation_221() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40756,7 +42237,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_257() { + fn __bindgen_test_layout_Handle_instantiation_222() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40767,7 +42248,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_258() { + fn __bindgen_test_layout_MutableHandle_instantiation_223() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40778,7 +42259,7 @@ pub mod root { root::JS::MutableHandle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_259() { + fn __bindgen_test_layout_RefPtr_instantiation_224() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::XBLChildrenElement>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40789,7 +42270,7 @@ pub mod root { root::RefPtr<root::mozilla::dom::XBLChildrenElement> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_260() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_225() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIWeakReference>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40800,7 +42281,7 @@ pub mod root { root::nsCOMPtr<root::nsIWeakReference> ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_261() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_226() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<::std::os::raw::c_void>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40811,7 +42292,7 @@ pub mod root { root::nsPtrHashKey<::std::os::raw::c_void> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_262() { + fn __bindgen_test_layout_already_AddRefed_instantiation_227() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40822,7 +42303,7 @@ pub mod root { root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_263() { + fn __bindgen_test_layout_already_AddRefed_instantiation_228() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40833,20 +42314,20 @@ pub mod root { root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_NotNull_instantiation_264() { - assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::nsLanguageAtomService_Encoding>>() + fn __bindgen_test_layout_NotNull_instantiation_229() { + assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsLanguageAtomService_Encoding> - ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::nsLanguageAtomService_Encoding>>() + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); + assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsLanguageAtomService_Encoding> - ) )); + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_265() { + fn __bindgen_test_layout_already_AddRefed_instantiation_230() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40857,7 +42338,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_266() { + fn __bindgen_test_layout_already_AddRefed_instantiation_231() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40867,8 +42348,16 @@ pub mod root { "Alignment of template specialization: " , stringify ! ( root::already_AddRefed<root::nsIAtom> ) )); } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct _bindgen_ty_11 { + pub _address: u8, + } + impl Clone for _bindgen_ty_11 { + fn clone(&self) -> Self { *self } + } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_267() { + fn __bindgen_test_layout_already_AddRefed_instantiation_232() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40879,7 +42368,7 @@ pub mod root { root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_nsPIDOMWindow_instantiation_268() { + fn __bindgen_test_layout_nsPIDOMWindow_instantiation_233() { assert_eq!(::std::mem::size_of::<[u64; 31usize]>() , 248usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40890,7 +42379,7 @@ pub mod root { [u64; 31usize] ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_269() { + fn __bindgen_test_layout_MutableHandle_instantiation_234() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40901,7 +42390,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_270() { + fn __bindgen_test_layout_MutableHandle_instantiation_235() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40912,7 +42401,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_271() { + fn __bindgen_test_layout_already_AddRefed_instantiation_236() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::CSSValue>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40923,7 +42412,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::CSSValue> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_272() { + fn __bindgen_test_layout_DefaultDelete_instantiation_237() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40934,7 +42423,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_273() { + fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_238() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40945,7 +42434,7 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_Rooted_instantiation_274() { + fn __bindgen_test_layout_Rooted_instantiation_239() { assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40956,7 +42445,7 @@ pub mod root { [u64; 3usize] ) )); } #[test] - fn __bindgen_test_layout_Rooted_instantiation_275() { + fn __bindgen_test_layout_Rooted_instantiation_240() { assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40967,7 +42456,7 @@ pub mod root { [u64; 3usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_276() { + fn __bindgen_test_layout_already_AddRefed_instantiation_241() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsISupports>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40978,7 +42467,7 @@ pub mod root { root::already_AddRefed<root::nsISupports> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_277() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_242() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsISupports>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40989,7 +42478,7 @@ pub mod root { root::nsCOMPtr<root::nsISupports> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_278() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_243() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41000,20 +42489,20 @@ pub mod root { root::nsCOMPtr<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_NotNull_instantiation_279() { - assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::nsIParser_Encoding>>() + fn __bindgen_test_layout_NotNull_instantiation_244() { + assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsIParser_Encoding> ) + root::mozilla::NotNull<*const root::mozilla::Encoding> ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::nsIParser_Encoding>>() + assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsIParser_Encoding> ) + root::mozilla::NotNull<*const root::mozilla::Encoding> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_280() { + fn __bindgen_test_layout_nsTArray_instantiation_245() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41024,7 +42513,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_281() { + fn __bindgen_test_layout_Handle_instantiation_246() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41035,7 +42524,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_282() { + fn __bindgen_test_layout_MutableHandle_instantiation_247() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41046,7 +42535,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_283() { + fn __bindgen_test_layout_Handle_instantiation_248() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41057,7 +42546,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_284() { + fn __bindgen_test_layout_MutableHandle_instantiation_249() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41068,7 +42557,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_285() { + fn __bindgen_test_layout_nsTArray_instantiation_250() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41079,7 +42568,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_286() { + fn __bindgen_test_layout_Handle_instantiation_251() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41090,7 +42579,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_287() { + fn __bindgen_test_layout_RefPtr_instantiation_252() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41101,7 +42590,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_288() { + fn __bindgen_test_layout_RefPtr_instantiation_253() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41112,7 +42601,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_289() { + fn __bindgen_test_layout_RefPtr_instantiation_254() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41123,7 +42612,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_290() { + fn __bindgen_test_layout_nsTArray_instantiation_255() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::css::SheetLoadData>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41136,7 +42625,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_291() { + fn __bindgen_test_layout_RefPtr_instantiation_256() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41147,7 +42636,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_292() { + fn __bindgen_test_layout_already_AddRefed_instantiation_257() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41158,7 +42647,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_293() { + fn __bindgen_test_layout_already_AddRefed_instantiation_258() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41169,7 +42658,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_294() { + fn __bindgen_test_layout_Handle_instantiation_259() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41180,7 +42669,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_295() { + fn __bindgen_test_layout_nsTArray_instantiation_260() { assert_eq!(::std::mem::size_of::<root::nsTArray<f64>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41191,7 +42680,7 @@ pub mod root { root::nsTArray<f64> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_296() { + fn __bindgen_test_layout_RefPtr_instantiation_261() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41204,7 +42693,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_297() { + fn __bindgen_test_layout_nsTArray_instantiation_262() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41217,7 +42706,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_298() { + fn __bindgen_test_layout_RefPtr_instantiation_263() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41230,7 +42719,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_299() { + fn __bindgen_test_layout_UniquePtr_instantiation_264() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::ProfilerBacktrace>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41241,7 +42730,7 @@ pub mod root { root::mozilla::UniquePtr<root::ProfilerBacktrace> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_300() { + fn __bindgen_test_layout_nsTArray_instantiation_265() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41252,7 +42741,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_301() { + fn __bindgen_test_layout_Handle_instantiation_266() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41263,7 +42752,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_302() { + fn __bindgen_test_layout_MutableHandle_instantiation_267() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41274,7 +42763,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_303() { + fn __bindgen_test_layout_Handle_instantiation_268() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41285,7 +42774,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_304() { + fn __bindgen_test_layout_MutableHandle_instantiation_269() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41296,7 +42785,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_305() { + fn __bindgen_test_layout_already_AddRefed_instantiation_270() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41307,7 +42796,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_nsDataHashtable_instantiation_306() { + fn __bindgen_test_layout_nsDataHashtable_instantiation_271() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41318,7 +42807,7 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_307() { + fn __bindgen_test_layout_OwningNonNull_instantiation_272() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41331,7 +42820,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_308() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_273() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIAtom>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41342,7 +42831,7 @@ pub mod root { root::nsRefPtrHashKey<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_309() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_274() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIContent>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41353,7 +42842,7 @@ pub mod root { root::nsRefPtrHashKey<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_310() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_275() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41364,7 +42853,7 @@ pub mod root { root::nsCOMPtr<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_311() { + fn __bindgen_test_layout_DefaultDelete_instantiation_276() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41375,7 +42864,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_312() { + fn __bindgen_test_layout_already_AddRefed_instantiation_277() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41386,7 +42875,7 @@ pub mod root { root::already_AddRefed<root::mozilla::URLExtraData> ) )); } #[test] - fn __bindgen_test_layout_nsMainThreadPtrHolder_instantiation_313() { + fn __bindgen_test_layout_nsMainThreadPtrHolder_instantiation_278() { assert_eq!(::std::mem::size_of::<root::nsMainThreadPtrHolder<root::nsIURI>>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41397,7 +42886,7 @@ pub mod root { root::nsMainThreadPtrHolder<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_314() { + fn __bindgen_test_layout_already_AddRefed_instantiation_279() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41408,7 +42897,7 @@ pub mod root { root::already_AddRefed<root::mozilla::URLExtraData> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_315() { + fn __bindgen_test_layout_already_AddRefed_instantiation_280() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41419,7 +42908,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_316() { + fn __bindgen_test_layout_already_AddRefed_instantiation_281() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41430,7 +42919,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_317() { + fn __bindgen_test_layout_already_AddRefed_instantiation_282() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41441,7 +42930,7 @@ pub mod root { root::already_AddRefed<root::mozilla::URLExtraData> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_318() { + fn __bindgen_test_layout_already_AddRefed_instantiation_283() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41452,7 +42941,7 @@ pub mod root { root::already_AddRefed<root::mozilla::URLExtraData> ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_319() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_284() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::nsIDocument>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41463,7 +42952,7 @@ pub mod root { root::nsPtrHashKey<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_320() { + fn __bindgen_test_layout_already_AddRefed_instantiation_285() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41474,7 +42963,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_321() { + fn __bindgen_test_layout_DefaultDelete_instantiation_286() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41485,7 +42974,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_322() { + fn __bindgen_test_layout_UniquePtr_instantiation_287() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41496,7 +42985,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValueList> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_323() { + fn __bindgen_test_layout_DefaultDelete_instantiation_288() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41507,7 +42996,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_324() { + fn __bindgen_test_layout_UniquePtr_instantiation_289() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41518,7 +43007,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValuePairList> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_325() { + fn __bindgen_test_layout_already_AddRefed_instantiation_290() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStringBuffer>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41529,7 +43018,7 @@ pub mod root { root::already_AddRefed<root::nsStringBuffer> ) )); } #[test] - fn __bindgen_test_layout_SupportsWeakPtr_instantiation_326() { + fn __bindgen_test_layout_SupportsWeakPtr_instantiation_291() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -41538,7 +43027,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_327() { + fn __bindgen_test_layout_nsTArray_instantiation_292() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41549,7 +43038,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_328() { + fn __bindgen_test_layout_nsTArray_instantiation_293() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41560,18 +43049,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_329() { - assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIAtom> ) )); - assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIAtom> ) )); - } - #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_330() { + fn __bindgen_test_layout_already_AddRefed_instantiation_294() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41582,7 +43060,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_331() { + fn __bindgen_test_layout_Maybe_instantiation_295() { assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41593,7 +43071,7 @@ pub mod root { [u32; 3usize] ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_332() { + fn __bindgen_test_layout_Maybe_instantiation_296() { assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41604,7 +43082,7 @@ pub mod root { [u32; 3usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_333() { + fn __bindgen_test_layout_already_AddRefed_instantiation_297() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleImageRequest>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41615,7 +43093,7 @@ pub mod root { root::already_AddRefed<root::nsStyleImageRequest> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_334() { + fn __bindgen_test_layout_already_AddRefed_instantiation_298() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41626,7 +43104,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_335() { + fn __bindgen_test_layout_DefaultDelete_instantiation_299() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41637,7 +43115,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_336() { + fn __bindgen_test_layout_UniquePtr_instantiation_300() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41648,7 +43126,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsStyleSides> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_337() { + fn __bindgen_test_layout_DefaultDelete_instantiation_301() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41659,7 +43137,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_338() { + fn __bindgen_test_layout_UniquePtr_instantiation_302() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41670,7 +43148,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsStyleSides> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_339() { + fn __bindgen_test_layout_already_AddRefed_instantiation_303() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41681,7 +43159,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_340() { + fn __bindgen_test_layout_Maybe_instantiation_304() { assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41692,7 +43170,7 @@ pub mod root { [u32; 3usize] ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_341() { + fn __bindgen_test_layout_DefaultDelete_instantiation_305() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41703,7 +43181,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_342() { + fn __bindgen_test_layout_DefaultDelete_instantiation_306() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41714,7 +43192,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_pair_instantiation_343() { + fn __bindgen_test_layout_pair_instantiation_307() { assert_eq!(::std::mem::size_of::<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>() , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41725,7 +43203,7 @@ pub mod root { root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_344() { + fn __bindgen_test_layout_nsTArray_instantiation_308() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>>() , 8usize , concat ! ( @@ -41740,18 +43218,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_345() { - assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIURI> ) )); - assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIURI> ) )); - } - #[test] - fn __bindgen_test_layout_nsTArray_instantiation_346() { + fn __bindgen_test_layout_nsTArray_instantiation_309() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41762,7 +43229,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_347() { + fn __bindgen_test_layout_nsTArray_instantiation_310() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41773,7 +43240,7 @@ pub mod root { root::nsTArray<root::nsStyleCoord> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_348() { + fn __bindgen_test_layout_nsTArray_instantiation_311() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41784,18 +43251,7 @@ pub mod root { root::nsTArray<root::nsStyleCoord> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_349() { - assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIAtom>>() , - 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::nsCOMPtr<root::nsIAtom> ) )); - assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIAtom>>() , - 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::nsCOMPtr<root::nsIAtom> ) )); - } - #[test] - fn __bindgen_test_layout_RefPtr_instantiation_350() { + fn __bindgen_test_layout_RefPtr_instantiation_312() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::RawServoAnimationValue>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41806,7 +43262,7 @@ pub mod root { root::RefPtr<root::RawServoAnimationValue> ) )); } #[test] - fn __bindgen_test_layout_nsStyleAutoArray_instantiation_351() { + fn __bindgen_test_layout_nsStyleAutoArray_instantiation_313() { assert_eq!(::std::mem::size_of::<root::nsStyleAutoArray<root::mozilla::StyleAnimation>>() , 64usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41817,7 +43273,7 @@ pub mod root { root::nsStyleAutoArray<root::mozilla::StyleAnimation> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_352() { + fn __bindgen_test_layout_DefaultDelete_instantiation_314() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41828,7 +43284,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_353() { + fn __bindgen_test_layout_UniquePtr_instantiation_315() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41839,7 +43295,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValueList> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_354() { + fn __bindgen_test_layout_DefaultDelete_instantiation_316() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41850,7 +43306,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_355() { + fn __bindgen_test_layout_UniquePtr_instantiation_317() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41861,7 +43317,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValuePairList> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_356() { + fn __bindgen_test_layout_RefPtr_instantiation_318() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41872,7 +43328,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_357() { + fn __bindgen_test_layout_RefPtr_instantiation_319() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41883,7 +43339,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_NonNull_instantiation_358() { + fn __bindgen_test_layout_NonNull_instantiation_320() { assert_eq!(::std::mem::size_of::<root::mozilla::dom::NonNull<root::mozilla::dom::Element>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41896,7 +43352,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_NonNull_instantiation_359() { + fn __bindgen_test_layout_NonNull_instantiation_321() { assert_eq!(::std::mem::size_of::<root::mozilla::dom::NonNull<root::mozilla::dom::CSSPseudoElement>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41909,7 +43365,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_360() { + fn __bindgen_test_layout_Handle_instantiation_322() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41920,7 +43376,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_361() { + fn __bindgen_test_layout_MutableHandle_instantiation_323() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41931,7 +43387,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_362() { + fn __bindgen_test_layout_Maybe_instantiation_324() { assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41942,7 +43398,7 @@ pub mod root { [u64; 18usize] ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_363() { + fn __bindgen_test_layout_Maybe_instantiation_325() { assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41953,7 +43409,7 @@ pub mod root { [u64; 18usize] ) )); } #[test] - fn __bindgen_test_layout_BaseTimeDuration_instantiation_364() { + fn __bindgen_test_layout_BaseTimeDuration_instantiation_326() { assert_eq!(::std::mem::size_of::<root::mozilla::BaseTimeDuration>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41964,7 +43420,7 @@ pub mod root { root::mozilla::BaseTimeDuration ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_365() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_327() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41975,7 +43431,7 @@ pub mod root { root::nsCOMPtr<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_366() { + fn __bindgen_test_layout_already_AddRefed_instantiation_328() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41986,7 +43442,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_367() { + fn __bindgen_test_layout_already_AddRefed_instantiation_329() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41997,7 +43453,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_368() { + fn __bindgen_test_layout_nsTArray_instantiation_330() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42008,7 +43464,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_369() { + fn __bindgen_test_layout_nsTArray_instantiation_331() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42019,7 +43475,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_370() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_332() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42030,7 +43486,7 @@ pub mod root { root::nsCOMPtr<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_371() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_333() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42043,7 +43499,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_372() { + fn __bindgen_test_layout_DefaultDelete_instantiation_334() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42054,7 +43510,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_373() { + fn __bindgen_test_layout_already_AddRefed_instantiation_335() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42065,7 +43521,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_374() { + fn __bindgen_test_layout_nsTArray_instantiation_336() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42078,7 +43534,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_375() { + fn __bindgen_test_layout_Handle_instantiation_337() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42089,7 +43545,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_376() { + fn __bindgen_test_layout_Handle_instantiation_338() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42100,7 +43556,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_377() { + fn __bindgen_test_layout_RefPtr_instantiation_339() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42111,7 +43567,7 @@ pub mod root { root::RefPtr<root::mozilla::dom::DOMRect> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_378() { + fn __bindgen_test_layout_Handle_instantiation_340() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42122,7 +43578,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_379() { + fn __bindgen_test_layout_MutableHandle_instantiation_341() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42133,7 +43589,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Sequence_instantiation_380() { + fn __bindgen_test_layout_Sequence_instantiation_342() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -42142,7 +43598,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_381() { + fn __bindgen_test_layout_Handle_instantiation_343() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42153,7 +43609,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Sequence_instantiation_382() { + fn __bindgen_test_layout_Sequence_instantiation_344() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -42162,7 +43618,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_Sequence_instantiation_383() { + fn __bindgen_test_layout_Sequence_instantiation_345() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -42171,7 +43627,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_384() { + fn __bindgen_test_layout_Handle_instantiation_346() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42182,7 +43638,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_385() { + fn __bindgen_test_layout_Handle_instantiation_347() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42193,7 +43649,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_386() { + fn __bindgen_test_layout_MutableHandle_instantiation_348() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42204,7 +43660,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_387() { + fn __bindgen_test_layout_Handle_instantiation_349() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42215,7 +43671,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_388() { + fn __bindgen_test_layout_MutableHandle_instantiation_350() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42226,7 +43682,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_389() { + fn __bindgen_test_layout_Handle_instantiation_351() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42237,7 +43693,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_390() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_352() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::Element>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42248,7 +43704,7 @@ pub mod root { root::nsRefPtrHashKey<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_nsClassHashtable_instantiation_391() { + fn __bindgen_test_layout_nsClassHashtable_instantiation_353() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42259,7 +43715,7 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_392() { + fn __bindgen_test_layout_Handle_instantiation_354() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42270,7 +43726,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_393() { + fn __bindgen_test_layout_nsTArray_instantiation_355() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42281,7 +43737,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_394() { + fn __bindgen_test_layout_nsTArray_instantiation_356() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42292,7 +43748,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_395() { + fn __bindgen_test_layout_nsTArray_instantiation_357() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42303,7 +43759,51 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_396() { + fn __bindgen_test_layout_RefPtr_instantiation_358() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::nsXBLBinding>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::nsXBLBinding> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::nsXBLBinding>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::nsXBLBinding> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_359() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::nsXBLBinding>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::nsXBLBinding>> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::nsXBLBinding>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::nsXBLBinding>> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_360() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::gfxFontFeature>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::gfxFontFeature> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::gfxFontFeature>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::gfxFontFeature> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_361() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::gfx::FontVariation>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::gfx::FontVariation> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::mozilla::gfx::FontVariation>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::gfx::FontVariation> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_362() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::CSSValue>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42314,7 +43814,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::CSSValue> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_397() { + fn __bindgen_test_layout_Handle_instantiation_363() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42325,7 +43825,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_398() { + fn __bindgen_test_layout_nsTArray_instantiation_364() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -42336,7 +43836,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } #[test] - fn __bindgen_test_layout_nsAutoPtr_instantiation_399() { + fn __bindgen_test_layout_nsAutoPtr_instantiation_365() { assert_eq!(::std::mem::size_of::<root::nsAutoPtr<root::nsMediaQuery>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( diff --git a/components/style/gecko/generated/structs_release.rs b/components/style/gecko/generated/structs_release.rs index 4da90f6597e..9e380343899 100644 --- a/components/style/gecko/generated/structs_release.rs +++ b/components/style/gecko/generated/structs_release.rs @@ -9,6 +9,14 @@ use data::ElementData; pub type ServoUnsafeCell<T> = ::std::cell::UnsafeCell<T>; pub type ServoCell<T> = ::std::cell::Cell<T>; pub type ServoNodeData = AtomicRefCell<ElementData>; +pub type ServoWritingMode = ::logical_geometry::WritingMode; +pub type ServoFontComputationData = ::properties::FontComputationData; +pub type ServoCustomPropertiesMap = Option<::stylearc::Arc<::custom_properties::CustomPropertiesMap>>; +pub type ServoRuleNode = Option<::rule_tree::StrongRuleNode>; +pub type ServoVisitedStyle = Option<::stylearc::RawOffsetArc<::properties::ComputedValues>>; +pub type ServoComputedValueFlags = ::properties::computed_value_flags::ComputedValueFlags; +pub type ServoRawOffsetArc<T> = ::stylearc::RawOffsetArc<T>; +pub type ServoStyleContextStrong = ::gecko_bindings::sugar::ownership::Strong<ServoStyleContext>; #[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] pub mod root { @@ -1036,16 +1044,6 @@ pub mod root { use self::super::super::root; #[repr(C)] #[derive(Debug, Copy, Clone)] - pub struct __is_swappable { - pub _address: u8, - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct __is_nothrow_swappable { - pub _address: u8, - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] pub struct pair<_T1, _T2> { pub first: _T1, pub second: _T2, @@ -1054,8 +1052,6 @@ pub mod root { } pub type pair_first_type<_T1> = _T1; pub type pair_second_type<_T2> = _T2; - pub type pair__PCCP = u8; - pub type pair__PCCFP = u8; #[repr(C)] #[derive(Debug, Copy)] pub struct input_iterator_tag { @@ -1075,47 +1071,98 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct iterator { + #[derive(Debug, Copy)] + pub struct forward_iterator_tag { pub _address: u8, } - pub type iterator_iterator_category<_Category> = _Category; - pub type iterator_value_type<_Tp> = _Tp; - pub type iterator_difference_type<_Distance> = _Distance; - pub type iterator_pointer<_Pointer> = _Pointer; - pub type iterator_reference<_Reference> = _Reference; + #[test] + fn bindgen_test_layout_forward_iterator_tag() { + assert_eq!(::std::mem::size_of::<forward_iterator_tag>() , 1usize + , concat ! ( + "Size of: " , stringify ! ( forward_iterator_tag ) )); + assert_eq! (::std::mem::align_of::<forward_iterator_tag>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( forward_iterator_tag ) + )); + } + impl Clone for forward_iterator_tag { + fn clone(&self) -> Self { *self } + } #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct __iterator_traits { + #[derive(Debug, Copy)] + pub struct bidirectional_iterator_tag { pub _address: u8, } + #[test] + fn bindgen_test_layout_bidirectional_iterator_tag() { + assert_eq!(::std::mem::size_of::<bidirectional_iterator_tag>() , + 1usize , concat ! ( + "Size of: " , stringify ! ( bidirectional_iterator_tag + ) )); + assert_eq! (::std::mem::align_of::<bidirectional_iterator_tag>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( + bidirectional_iterator_tag ) )); + } + impl Clone for bidirectional_iterator_tag { + fn clone(&self) -> Self { *self } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct random_access_iterator_tag { + pub _address: u8, + } + #[test] + fn bindgen_test_layout_random_access_iterator_tag() { + assert_eq!(::std::mem::size_of::<random_access_iterator_tag>() , + 1usize , concat ! ( + "Size of: " , stringify ! ( random_access_iterator_tag + ) )); + assert_eq! (::std::mem::align_of::<random_access_iterator_tag>() , + 1usize , concat ! ( + "Alignment of " , stringify ! ( + random_access_iterator_tag ) )); + } + impl Clone for random_access_iterator_tag { + fn clone(&self) -> Self { *self } + } #[repr(C)] - #[derive(Debug, Copy, Clone)] pub struct iterator_traits { pub _address: u8, } #[repr(C)] #[derive(Debug, Copy, Clone)] - pub struct reverse_iterator<_Iterator> { - pub current: _Iterator, - pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<_Iterator>>, + pub struct iterator { + pub _address: u8, } - pub type reverse_iterator___traits_type = root::std::iterator_traits; - pub type reverse_iterator_iterator_type<_Iterator> = _Iterator; + pub type iterator_value_type<_Tp> = _Tp; + pub type iterator_difference_type<_Distance> = _Distance; + pub type iterator_pointer<_Pointer> = _Pointer; + pub type iterator_reference<_Reference> = _Reference; + pub type iterator_iterator_category<_Category> = _Category; + #[repr(C)] + pub struct reverse_iterator<_Iter> { + pub __t: _Iter, + pub current: _Iter, + pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<_Iter>>, + } + pub type reverse_iterator_iterator_type<_Iter> = _Iter; pub type reverse_iterator_difference_type = - root::std::reverse_iterator___traits_type; - pub type reverse_iterator_pointer = - root::std::reverse_iterator___traits_type; - pub type reverse_iterator_reference = - root::std::reverse_iterator___traits_type; + root::std::iterator_traits; + pub type reverse_iterator_reference = root::std::iterator_traits; + pub type reverse_iterator_pointer = root::std::iterator_traits; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atomic { } - } - pub mod __gnu_cxx { - #[allow(unused_imports)] - use self::super::super::root; + pub type atomic___base = u8; + #[repr(C)] + pub struct __bit_const_reference { + pub __seg_: root::std::__bit_const_reference___storage_pointer, + pub __mask_: root::std::__bit_const_reference___storage_type, + } + pub type __bit_const_reference___storage_type = [u8; 0usize]; + pub type __bit_const_reference___storage_pointer = [u8; 0usize]; } pub mod mozilla { #[allow(unused_imports)] @@ -1160,9 +1207,8 @@ pub mod root { root::nsSubstringTuple; pub type nsStringRepr_string_type = ::nsstring::nsStringRepr; pub type nsStringRepr_const_iterator = - root::nsReadingIterator<root::mozilla::detail::nsStringRepr_char_type>; - pub type nsStringRepr_iterator = - root::nsWritingIterator<root::mozilla::detail::nsStringRepr_char_type>; + root::nsReadingIterator<u16>; + pub type nsStringRepr_iterator = root::nsWritingIterator<u16>; pub type nsStringRepr_comparator_type = root::nsStringComparator; pub type nsStringRepr_char_iterator = *mut root::mozilla::detail::nsStringRepr_char_type; @@ -1229,9 +1275,9 @@ pub mod root { root::nsCSubstringTuple; pub type nsCStringRepr_string_type = root::nsCString; pub type nsCStringRepr_const_iterator = - root::nsReadingIterator<root::mozilla::detail::nsCStringRepr_char_type>; + root::nsReadingIterator<::std::os::raw::c_char>; pub type nsCStringRepr_iterator = - root::nsWritingIterator<root::mozilla::detail::nsCStringRepr_char_type>; + root::nsWritingIterator<::std::os::raw::c_char>; pub type nsCStringRepr_comparator_type = root::nsCStringComparator; pub type nsCStringRepr_char_iterator = @@ -1316,7 +1362,7 @@ pub mod root { #[repr(C)] #[derive(Debug)] pub struct MutexImpl { - pub platformData_: [*mut ::std::os::raw::c_void; 5usize], + pub platformData_: [*mut ::std::os::raw::c_void; 8usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -1325,7 +1371,7 @@ pub mod root { } #[test] fn bindgen_test_layout_MutexImpl() { - assert_eq!(::std::mem::size_of::<MutexImpl>() , 40usize , + assert_eq!(::std::mem::size_of::<MutexImpl>() , 64usize , concat ! ( "Size of: " , stringify ! ( MutexImpl ) )); assert_eq! (::std::mem::align_of::<MutexImpl>() , 8usize , @@ -2202,7 +2248,7 @@ pub mod root { } } #[repr(C)] - #[derive(Debug)] + #[derive(Debug, Copy)] pub struct ThreadSafeAutoRefCnt { pub mValue: u64, } @@ -2223,6 +2269,9 @@ pub mod root { ThreadSafeAutoRefCnt ) , "::" , stringify ! ( mValue ) )); } + impl Clone for ThreadSafeAutoRefCnt { + fn clone(&self) -> Self { *self } + } #[repr(C)] #[derive(Debug)] pub struct OwningNonNull<T> { @@ -3934,7 +3983,6 @@ pub mod root { ) , "::" , stringify ! ( mEmpty ) )); } #[repr(C)] - #[derive(Debug)] pub struct Element { pub _base: root::mozilla::dom::FragmentOrElement, pub mState: root::mozilla::EventStates, @@ -4080,7 +4128,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] pub struct NodeInfo { pub mRefCnt: root::nsCycleCollectingAutoRefCnt, pub mDocument: *mut root::nsIDocument, @@ -5138,7 +5185,6 @@ pub mod root { _unused: [u8; 0], } #[repr(C)] - #[derive(Debug)] pub struct Attr { pub _base: root::nsIAttribute, pub _base_1: root::nsIDOMAttr, @@ -5595,7 +5641,6 @@ pub mod root { _unused: [u8; 0], } #[repr(C)] - #[derive(Debug)] pub struct FragmentOrElement { pub _base: root::nsIContent, pub mRefCnt: root::nsCycleCollectingAutoRefCnt, @@ -5634,7 +5679,6 @@ pub mod root { * accessed through the DOM. */ #[repr(C)] - #[derive(Debug)] pub struct FragmentOrElement_nsExtendedDOMSlots { /** * SMIL Overridde style rules (for SMIL animation of CSS properties) @@ -5822,7 +5866,6 @@ pub mod root { stringify ! ( mFrameLoaderOrOpener ) )); } #[repr(C)] - #[derive(Debug)] pub struct FragmentOrElement_nsDOMSlots { pub _base: root::nsINode_nsSlots, /** @@ -6047,7 +6090,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] pub struct DOMIntersectionObserverEntry { pub _base: root::nsISupports, pub _base_1: root::nsWrapperCache, @@ -6196,7 +6238,6 @@ pub mod root { ! ( mValue ) )); } #[repr(C)] - #[derive(Debug)] pub struct IntersectionObserverInit { pub _base: root::mozilla::dom::DictionaryBase, pub mRoot: root::RefPtr<root::mozilla::dom::Element>, @@ -6251,7 +6292,6 @@ pub mod root { _unused: [u8; 0], } #[repr(C)] - #[derive(Debug)] pub struct DestinationInsertionPointList { pub _base: root::nsINodeList, pub mRefCnt: root::nsCycleCollectingAutoRefCnt, @@ -7394,6 +7434,9 @@ pub mod root { } #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum LazyComputeBehavior { Allow = 0, Assert = 1, } + #[repr(i32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum TraversalRootBehavior { Normal = 0, UnstyledChildrenOnly = 1, @@ -7438,6 +7481,459 @@ pub mod root { FirstLetterContinuation = 1, PlaceholderFrame = 2, } + #[repr(C)] + #[derive(Debug)] + pub struct ServoStyleContext { + pub _base: root::nsStyleContext, + pub mPresContext: *mut root::nsPresContext, + pub mSource: root::ServoComputedValues, + } + #[test] + fn bindgen_test_layout_ServoStyleContext() { + assert_eq!(::std::mem::size_of::<ServoStyleContext>() , 272usize , + concat ! ( + "Size of: " , stringify ! ( ServoStyleContext ) )); + assert_eq! (::std::mem::align_of::<ServoStyleContext>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ServoStyleContext ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleContext ) ) . + mPresContext as * const _ as usize } , 32usize , + concat ! ( + "Alignment of field: " , stringify ! ( + ServoStyleContext ) , "::" , stringify ! ( + mPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleContext ) ) . mSource + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoStyleContext ) , "::" , stringify ! ( mSource ) + )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoFont { + pub gecko: root::nsStyleFont, + } + #[test] + fn bindgen_test_layout_GeckoFont() { + assert_eq!(::std::mem::size_of::<GeckoFont>() , 120usize , concat + ! ( "Size of: " , stringify ! ( GeckoFont ) )); + assert_eq! (::std::mem::align_of::<GeckoFont>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( GeckoFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoFont ) ) . gecko as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoFont ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoColor { + pub gecko: root::nsStyleColor, + } + #[test] + fn bindgen_test_layout_GeckoColor() { + assert_eq!(::std::mem::size_of::<GeckoColor>() , 4usize , concat ! + ( "Size of: " , stringify ! ( GeckoColor ) )); + assert_eq! (::std::mem::align_of::<GeckoColor>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( GeckoColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoColor ) ) . gecko as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoColor ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoList { + pub gecko: root::nsStyleList, + } + #[test] + fn bindgen_test_layout_GeckoList() { + assert_eq!(::std::mem::size_of::<GeckoList>() , 48usize , concat ! + ( "Size of: " , stringify ! ( GeckoList ) )); + assert_eq! (::std::mem::align_of::<GeckoList>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( GeckoList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoList ) ) . gecko as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoList ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoText { + pub gecko: root::nsStyleText, + } + #[test] + fn bindgen_test_layout_GeckoText() { + assert_eq!(::std::mem::size_of::<GeckoText>() , 160usize , concat + ! ( "Size of: " , stringify ! ( GeckoText ) )); + assert_eq! (::std::mem::align_of::<GeckoText>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( GeckoText ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoText ) ) . gecko as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoText ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoVisibility { + pub gecko: root::nsStyleVisibility, + } + #[test] + fn bindgen_test_layout_GeckoVisibility() { + assert_eq!(::std::mem::size_of::<GeckoVisibility>() , 7usize , + concat ! ( + "Size of: " , stringify ! ( GeckoVisibility ) )); + assert_eq! (::std::mem::align_of::<GeckoVisibility>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoVisibility ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoVisibility + ) , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoUserInterface { + pub gecko: root::nsStyleUserInterface, + } + #[test] + fn bindgen_test_layout_GeckoUserInterface() { + assert_eq!(::std::mem::size_of::<GeckoUserInterface>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( GeckoUserInterface ) )); + assert_eq! (::std::mem::align_of::<GeckoUserInterface>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( GeckoUserInterface ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoUserInterface ) ) . gecko as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + GeckoUserInterface ) , "::" , stringify ! ( gecko ) + )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoTableBorder { + pub gecko: root::nsStyleTableBorder, + } + #[test] + fn bindgen_test_layout_GeckoTableBorder() { + assert_eq!(::std::mem::size_of::<GeckoTableBorder>() , 12usize , + concat ! ( + "Size of: " , stringify ! ( GeckoTableBorder ) )); + assert_eq! (::std::mem::align_of::<GeckoTableBorder>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoTableBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoTableBorder ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + GeckoTableBorder ) , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoSVG { + pub gecko: root::nsStyleSVG, + } + #[test] + fn bindgen_test_layout_GeckoSVG() { + assert_eq!(::std::mem::size_of::<GeckoSVG>() , 128usize , concat ! + ( "Size of: " , stringify ! ( GeckoSVG ) )); + assert_eq! (::std::mem::align_of::<GeckoSVG>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( GeckoSVG ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoSVG ) ) . gecko as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoSVG ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoBackground { + pub gecko: root::nsStyleBackground, + } + #[test] + fn bindgen_test_layout_GeckoBackground() { + assert_eq!(::std::mem::size_of::<GeckoBackground>() , 160usize , + concat ! ( + "Size of: " , stringify ! ( GeckoBackground ) )); + assert_eq! (::std::mem::align_of::<GeckoBackground>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoBackground ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoBackground ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoBackground + ) , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoPosition { + pub gecko: root::nsStylePosition, + } + #[test] + fn bindgen_test_layout_GeckoPosition() { + assert_eq!(::std::mem::size_of::<GeckoPosition>() , 520usize , + concat ! ( "Size of: " , stringify ! ( GeckoPosition ) + )); + assert_eq! (::std::mem::align_of::<GeckoPosition>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoPosition ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoPosition ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoTextReset { + pub gecko: root::nsStyleTextReset, + } + #[test] + fn bindgen_test_layout_GeckoTextReset() { + assert_eq!(::std::mem::size_of::<GeckoTextReset>() , 80usize , + concat ! ( "Size of: " , stringify ! ( GeckoTextReset ) + )); + assert_eq! (::std::mem::align_of::<GeckoTextReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoTextReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoTextReset ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoTextReset + ) , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoDisplay { + pub gecko: root::nsStyleDisplay, + } + #[test] + fn bindgen_test_layout_GeckoDisplay() { + assert_eq!(::std::mem::size_of::<GeckoDisplay>() , 416usize , + concat ! ( "Size of: " , stringify ! ( GeckoDisplay ) + )); + assert_eq! (::std::mem::align_of::<GeckoDisplay>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoDisplay ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoDisplay ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoContent { + pub gecko: root::nsStyleContent, + } + #[test] + fn bindgen_test_layout_GeckoContent() { + assert_eq!(::std::mem::size_of::<GeckoContent>() , 24usize , + concat ! ( "Size of: " , stringify ! ( GeckoContent ) + )); + assert_eq! (::std::mem::align_of::<GeckoContent>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoContent ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoContent ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoUIReset { + pub gecko: root::nsStyleUIReset, + } + #[test] + fn bindgen_test_layout_GeckoUIReset() { + assert_eq!(::std::mem::size_of::<GeckoUIReset>() , 56usize , + concat ! ( "Size of: " , stringify ! ( GeckoUIReset ) + )); + assert_eq! (::std::mem::align_of::<GeckoUIReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoUIReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoUIReset ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoUIReset ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoTable { + pub gecko: root::nsStyleTable, + } + #[test] + fn bindgen_test_layout_GeckoTable() { + assert_eq!(::std::mem::size_of::<GeckoTable>() , 8usize , concat ! + ( "Size of: " , stringify ! ( GeckoTable ) )); + assert_eq! (::std::mem::align_of::<GeckoTable>() , 4usize , concat + ! ( "Alignment of " , stringify ! ( GeckoTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoTable ) ) . gecko as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoTable ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoMargin { + pub gecko: root::nsStyleMargin, + } + #[test] + fn bindgen_test_layout_GeckoMargin() { + assert_eq!(::std::mem::size_of::<GeckoMargin>() , 40usize , concat + ! ( "Size of: " , stringify ! ( GeckoMargin ) )); + assert_eq! (::std::mem::align_of::<GeckoMargin>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoMargin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoMargin ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoMargin ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoPadding { + pub gecko: root::nsStylePadding, + } + #[test] + fn bindgen_test_layout_GeckoPadding() { + assert_eq!(::std::mem::size_of::<GeckoPadding>() , 40usize , + concat ! ( "Size of: " , stringify ! ( GeckoPadding ) + )); + assert_eq! (::std::mem::align_of::<GeckoPadding>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoPadding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoPadding ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoPadding ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoBorder { + pub gecko: root::nsStyleBorder, + } + #[test] + fn bindgen_test_layout_GeckoBorder() { + assert_eq!(::std::mem::size_of::<GeckoBorder>() , 312usize , + concat ! ( "Size of: " , stringify ! ( GeckoBorder ) + )); + assert_eq! (::std::mem::align_of::<GeckoBorder>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoBorder ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoBorder ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoOutline { + pub gecko: root::nsStyleOutline, + } + #[test] + fn bindgen_test_layout_GeckoOutline() { + assert_eq!(::std::mem::size_of::<GeckoOutline>() , 104usize , + concat ! ( "Size of: " , stringify ! ( GeckoOutline ) + )); + assert_eq! (::std::mem::align_of::<GeckoOutline>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoOutline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoOutline ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoOutline ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoXUL { + pub gecko: root::nsStyleXUL, + } + #[test] + fn bindgen_test_layout_GeckoXUL() { + assert_eq!(::std::mem::size_of::<GeckoXUL>() , 16usize , concat ! + ( "Size of: " , stringify ! ( GeckoXUL ) )); + assert_eq! (::std::mem::align_of::<GeckoXUL>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( GeckoXUL ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoXUL ) ) . gecko as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoXUL ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoSVGReset { + pub gecko: root::nsStyleSVGReset, + } + #[test] + fn bindgen_test_layout_GeckoSVGReset() { + assert_eq!(::std::mem::size_of::<GeckoSVGReset>() , 192usize , + concat ! ( "Size of: " , stringify ! ( GeckoSVGReset ) + )); + assert_eq! (::std::mem::align_of::<GeckoSVGReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoSVGReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoSVGReset ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoSVGReset ) + , "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoColumn { + pub gecko: root::nsStyleColumn, + } + #[test] + fn bindgen_test_layout_GeckoColumn() { + assert_eq!(::std::mem::size_of::<GeckoColumn>() , 64usize , concat + ! ( "Size of: " , stringify ! ( GeckoColumn ) )); + assert_eq! (::std::mem::align_of::<GeckoColumn>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoColumn ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoColumn ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoColumn ) , + "::" , stringify ! ( gecko ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct GeckoEffects { + pub gecko: root::nsStyleEffects, + } + #[test] + fn bindgen_test_layout_GeckoEffects() { + assert_eq!(::std::mem::size_of::<GeckoEffects>() , 40usize , + concat ! ( "Size of: " , stringify ! ( GeckoEffects ) + )); + assert_eq! (::std::mem::align_of::<GeckoEffects>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( GeckoEffects ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const GeckoEffects ) ) . gecko as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( GeckoEffects ) + , "::" , stringify ! ( gecko ) )); + } #[repr(u8)] /** * Enumeration that represents one of the two supported style system backends. @@ -7750,6 +8246,78 @@ pub mod root { CORS_USE_CREDENTIALS = 2, } #[repr(C)] + pub struct CSSStyleSheet { + pub _base: root::mozilla::StyleSheet, + pub mRuleCollection: root::RefPtr<root::CSSRuleListImpl>, + pub mInRuleProcessorCache: bool, + pub mScopeElement: root::RefPtr<root::mozilla::dom::Element>, + pub mRuleProcessors: *mut u8, + } + pub use self::super::super::root::mozilla::net::ReferrerPolicy as + CSSStyleSheet_ReferrerPolicy; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct CSSStyleSheet_cycleCollection { + pub _base: root::mozilla::StyleSheet_cycleCollection, + } + #[test] + fn bindgen_test_layout_CSSStyleSheet_cycleCollection() { + assert_eq!(::std::mem::size_of::<CSSStyleSheet_cycleCollection>() + , 16usize , concat ! ( + "Size of: " , stringify ! ( + CSSStyleSheet_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<CSSStyleSheet_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + CSSStyleSheet_cycleCollection ) )); + } + impl Clone for CSSStyleSheet_cycleCollection { + fn clone(&self) -> Self { *self } + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct CSSStyleSheet_COMTypeInfo { + pub _address: u8, + } + extern "C" { + #[link_name = + "_ZN7mozilla13CSSStyleSheet21_cycleCollectorGlobalE"] + pub static mut CSSStyleSheet__cycleCollectorGlobal: + root::mozilla::CSSStyleSheet_cycleCollection; + } + #[test] + fn bindgen_test_layout_CSSStyleSheet() { + assert_eq!(::std::mem::size_of::<CSSStyleSheet>() , 168usize , + concat ! ( "Size of: " , stringify ! ( CSSStyleSheet ) + )); + assert_eq! (::std::mem::align_of::<CSSStyleSheet>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( CSSStyleSheet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSStyleSheet ) ) . + mRuleCollection as * const _ as usize } , 136usize , + concat ! ( + "Alignment of field: " , stringify ! ( CSSStyleSheet ) + , "::" , stringify ! ( mRuleCollection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSStyleSheet ) ) . + mInRuleProcessorCache as * const _ as usize } , + 144usize , concat ! ( + "Alignment of field: " , stringify ! ( CSSStyleSheet ) + , "::" , stringify ! ( mInRuleProcessorCache ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSStyleSheet ) ) . mScopeElement + as * const _ as usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( CSSStyleSheet ) + , "::" , stringify ! ( mScopeElement ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const CSSStyleSheet ) ) . + mRuleProcessors as * const _ as usize } , 160usize , + concat ! ( + "Alignment of field: " , stringify ! ( CSSStyleSheet ) + , "::" , stringify ! ( mRuleProcessors ) )); + } + #[repr(C)] #[derive(Debug)] pub struct ServoStyleSheet { pub _base: root::mozilla::StyleSheet, @@ -7984,10 +8552,135 @@ pub mod root { NotPseudo = 28, MAX = 29, } + /** + * The set of style sheets that apply to a document, backed by a Servo + * Stylist. A ServoStyleSet contains ServoStyleSheets. + */ #[repr(C)] - #[derive(Debug, Copy, Clone)] pub struct ServoStyleSet { - _unused: [u8; 0], + pub mPresContext: *mut root::nsPresContext, + pub mRawSet: root::mozilla::UniquePtr<root::RawServoStyleSet>, + pub mSheets: [u64; 9usize], + pub mAuthorStyleDisabled: bool, + pub mStylistState: root::mozilla::StylistState, + pub mUserFontSetUpdateGeneration: u64, + pub mUserFontCacheUpdateGeneration: u32, + pub mNeedsRestyleAfterEnsureUniqueInner: bool, + pub mNonInheritingStyleContexts: [u64; 5usize], + pub mPostTraversalTasks: root::nsTArray<root::mozilla::PostTraversalTask>, + pub mStyleRuleMap: root::RefPtr<root::mozilla::ServoStyleRuleMap>, + pub mBindingManager: root::RefPtr<root::nsBindingManager>, + } + pub type ServoStyleSet_SnapshotTable = + root::mozilla::ServoElementSnapshotTable; + #[repr(C)] + #[derive(Debug)] + pub struct ServoStyleSet_AutoSetInServoTraversal { + pub mSet: *mut root::mozilla::ServoStyleSet, + } + #[test] + fn bindgen_test_layout_ServoStyleSet_AutoSetInServoTraversal() { + assert_eq!(::std::mem::size_of::<ServoStyleSet_AutoSetInServoTraversal>() + , 8usize , concat ! ( + "Size of: " , stringify ! ( + ServoStyleSet_AutoSetInServoTraversal ) )); + assert_eq! (::std::mem::align_of::<ServoStyleSet_AutoSetInServoTraversal>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + ServoStyleSet_AutoSetInServoTraversal ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const ServoStyleSet_AutoSetInServoTraversal + ) ) . mSet as * const _ as usize } , 0usize , concat ! + ( + "Alignment of field: " , stringify ! ( + ServoStyleSet_AutoSetInServoTraversal ) , "::" , + stringify ! ( mSet ) )); + } + extern "C" { + #[link_name = "_ZN7mozilla13ServoStyleSet17sInServoTraversalE"] + pub static mut ServoStyleSet_sInServoTraversal: + *mut root::mozilla::ServoStyleSet; + } + #[test] + fn bindgen_test_layout_ServoStyleSet() { + assert_eq!(::std::mem::size_of::<ServoStyleSet>() , 176usize , + concat ! ( "Size of: " , stringify ! ( ServoStyleSet ) + )); + assert_eq! (::std::mem::align_of::<ServoStyleSet>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ServoStyleSet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . mPresContext + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mPresContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . mRawSet as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mRawSet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . mSheets as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mSheets ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mAuthorStyleDisabled as * const _ as usize } , 88usize + , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mAuthorStyleDisabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . mStylistState + as * const _ as usize } , 89usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mStylistState ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mUserFontSetUpdateGeneration as * const _ as usize } , + 96usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mUserFontSetUpdateGeneration ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mUserFontCacheUpdateGeneration as * const _ as usize } + , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mUserFontCacheUpdateGeneration + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mNeedsRestyleAfterEnsureUniqueInner as * const _ as + usize } , 108usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( + mNeedsRestyleAfterEnsureUniqueInner ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mNonInheritingStyleContexts as * const _ as usize } , + 112usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mNonInheritingStyleContexts ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mPostTraversalTasks as * const _ as usize } , 152usize + , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mPostTraversalTasks ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . mStyleRuleMap + as * const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mStyleRuleMap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleSet ) ) . + mBindingManager as * const _ as usize } , 168usize , + concat ! ( + "Alignment of field: " , stringify ! ( ServoStyleSet ) + , "::" , stringify ! ( mBindingManager ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -8706,7 +9399,7 @@ pub mod root { } #[test] fn bindgen_test_layout_OffTheBooksMutex() { - assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 40usize , + assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 64usize , concat ! ( "Size of: " , stringify ! ( OffTheBooksMutex ) )); assert_eq! (::std::mem::align_of::<OffTheBooksMutex>() , 8usize , @@ -8725,7 +9418,7 @@ pub mod root { } #[test] fn bindgen_test_layout_Mutex() { - assert_eq!(::std::mem::size_of::<Mutex>() , 40usize , concat ! ( + assert_eq!(::std::mem::size_of::<Mutex>() , 64usize , concat ! ( "Size of: " , stringify ! ( Mutex ) )); assert_eq! (::std::mem::align_of::<Mutex>() , 8usize , concat ! ( "Alignment of " , stringify ! ( Mutex ) )); @@ -10196,8 +10889,6 @@ pub mod root { PropertyStyleAnimationValuePair ) , "::" , stringify ! ( mValue ) )); } - pub type ComputedKeyframeValues = - root::nsTArray<root::mozilla::PropertyStyleAnimationValuePair>; #[test] fn __bindgen_test_layout_DefaultDelete_instantiation_3() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , @@ -11186,7 +11877,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] pub struct PseudoElementHashEntry { pub _base: root::PLDHashEntryHdr, pub mElement: root::RefPtr<root::mozilla::dom::Element>, @@ -11350,6 +12040,76 @@ pub mod root { "Alignment of field: " , stringify ! ( ServoMediaList ) , "::" , stringify ! ( mRawList ) )); } + /** + * A PostTraversalTask is a task to be performed immediately after a Servo + * traversal. There are just a few tasks we need to perform, so we use this + * class rather than Runnables, to avoid virtual calls and some allocations. + * + * A PostTraversalTask is only safe to run immediately after the Servo + * traversal, since it can hold raw pointers to DOM objects. + */ + #[repr(C)] + #[derive(Debug, Copy)] + pub struct PostTraversalTask { + pub mType: root::mozilla::PostTraversalTask_Type, + pub mTarget: *mut ::std::os::raw::c_void, + pub mResult: root::nsresult, + } + #[repr(i32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum PostTraversalTask_Type { + ResolveFontFaceLoadedPromise = 0, + RejectFontFaceLoadedPromise = 1, + DispatchLoadingEventAndReplaceReadyPromise = 2, + DispatchFontFaceSetCheckLoadingFinishedAfterDelay = 3, + LoadFontEntry = 4, + } + #[test] + fn bindgen_test_layout_PostTraversalTask() { + assert_eq!(::std::mem::size_of::<PostTraversalTask>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( PostTraversalTask ) )); + assert_eq! (::std::mem::align_of::<PostTraversalTask>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( PostTraversalTask ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PostTraversalTask ) ) . mType as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + PostTraversalTask ) , "::" , stringify ! ( mType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const PostTraversalTask ) ) . mTarget + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( + PostTraversalTask ) , "::" , stringify ! ( mTarget ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const PostTraversalTask ) ) . mResult + as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + PostTraversalTask ) , "::" , stringify ! ( mResult ) + )); + } + impl Clone for PostTraversalTask { + fn clone(&self) -> Self { *self } + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct ServoStyleRuleMap { + _unused: [u8; 0], + } + #[repr(u8)] + /** + * A few flags used to track which kind of stylist state we may need to + * update. + */ + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum StylistState { + NotDirty = 0, + StyleSheetsDirty = 1, + FullyDirty = 2, + } #[repr(C)] #[derive(Debug)] pub struct CSSFontFaceDescriptors { @@ -14366,11 +15126,6 @@ pub mod root { AutoSetAsyncStackForNewCalls ) , "::" , stringify ! ( oldAsyncCallIsExplicit ) )); } - pub type WarningReporter = - ::std::option::Option<unsafe extern "C" fn(cx: - *mut root::JSContext, - report: - *mut root::JSErrorReport)>; #[repr(C)] #[derive(Debug)] pub struct AutoHideScriptedCaller { @@ -14524,141 +15279,6 @@ pub mod root { pub struct JSCompartment { _unused: [u8; 0], } - /** - * Describes a single error or warning that occurs in the execution of script. - */ - #[repr(C)] - pub struct JSErrorReport { - pub _base: root::JSErrorBase, - pub linebuf_: *const u16, - pub linebufLength_: usize, - pub tokenOffset_: usize, - pub notes: root::mozilla::UniquePtr<root::JSErrorNotes>, - pub flags: ::std::os::raw::c_uint, - pub exnType: i16, - pub _bitfield_1: u8, - pub __bindgen_padding_0: u8, - } - #[test] - fn bindgen_test_layout_JSErrorReport() { - assert_eq!(::std::mem::size_of::<JSErrorReport>() , 72usize , concat ! - ( "Size of: " , stringify ! ( JSErrorReport ) )); - assert_eq! (::std::mem::align_of::<JSErrorReport>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( JSErrorReport ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . linebuf_ as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( linebuf_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . linebufLength_ as - * const _ as usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( linebufLength_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . tokenOffset_ as * - const _ as usize } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( tokenOffset_ ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . notes as * const - _ as usize } , 56usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( notes ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . flags as * const - _ as usize } , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( flags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const JSErrorReport ) ) . exnType as * - const _ as usize } , 68usize , concat ! ( - "Alignment of field: " , stringify ! ( JSErrorReport ) , - "::" , stringify ! ( exnType ) )); - } - impl JSErrorReport { - #[inline] - pub fn isMuted(&self) -> bool { - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - let mask = 1u64 as u8; - let val = (unit_field_val & mask) >> 0usize; - unsafe { ::std::mem::transmute(val as u8) } - } - #[inline] - pub fn set_isMuted(&mut self, val: bool) { - let mask = 1u64 as u8; - let val = val as u8 as u8; - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - unit_field_val &= !mask; - unit_field_val |= (val << 0usize) & mask; - unsafe { - ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as - *const u8, - &mut self._bitfield_1 as - *mut _ as *mut u8, - ::std::mem::size_of::<u8>()); - } - } - #[inline] - pub fn ownsLinebuf_(&self) -> bool { - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - let mask = 2u64 as u8; - let val = (unit_field_val & mask) >> 1usize; - unsafe { ::std::mem::transmute(val as u8) } - } - #[inline] - pub fn set_ownsLinebuf_(&mut self, val: bool) { - let mask = 2u64 as u8; - let val = val as u8 as u8; - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - unit_field_val &= !mask; - unit_field_val |= (val << 1usize) & mask; - unsafe { - ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as - *const u8, - &mut self._bitfield_1 as - *mut _ as *mut u8, - ::std::mem::size_of::<u8>()); - } - } - #[inline] - pub fn new_bitfield_1(isMuted: bool, ownsLinebuf_: bool) -> u8 { - ({ ({ 0 } | ((isMuted as u8 as u8) << 0usize) & (1u64 as u8)) } | - ((ownsLinebuf_ as u8 as u8) << 1usize) & (2u64 as u8)) - } - } #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct JSRuntime { @@ -15711,7 +16331,7 @@ pub mod root { #[derive(Debug)] pub struct gfxFontFeatureValueSet_ValueList { pub name: ::nsstring::nsStringRepr, - pub featureSelectors: root::nsTArray<u32>, + pub featureSelectors: root::nsTArray<::std::os::raw::c_uint>, } #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_ValueList() { @@ -15816,7 +16436,7 @@ pub mod root { pub struct gfxFontFeatureValueSet_FeatureValueHashEntry { pub _base: root::PLDHashEntryHdr, pub mKey: root::gfxFontFeatureValueSet_FeatureValueHashKey, - pub mValues: root::nsTArray<u32>, + pub mValues: root::nsTArray<::std::os::raw::c_uint>, } pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyType = *const root::gfxFontFeatureValueSet_FeatureValueHashKey; @@ -15919,7 +16539,7 @@ pub mod root { pub alternateValues: root::nsTArray<root::gfxAlternateValue>, pub featureValueLookup: root::RefPtr<root::gfxFontFeatureValueSet>, pub fontFeatureSettings: root::nsTArray<root::gfxFontFeature>, - pub fontVariationSettings: root::nsTArray<root::gfxFontVariation>, + pub fontVariationSettings: root::nsTArray<root::mozilla::gfx::FontVariation>, pub languageOverride: u32, } #[test] @@ -16907,7 +17527,6 @@ pub mod root { APPEND_UNSCROLLED_ONLY = 4, } #[repr(C)] - #[derive(Debug)] pub struct nsIPresShell_PointerCaptureInfo { pub mPendingContent: root::nsCOMPtr, pub mOverrideContent: root::nsCOMPtr, @@ -17885,6 +18504,2380 @@ pub mod root { (16384u64 as u16)) } } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleFont { + pub mFont: root::nsFont, + pub mSize: root::nscoord, + pub mGenericID: u8, + pub mScriptLevel: i8, + pub mMathVariant: u8, + pub mMathDisplay: u8, + pub mMinFontSizeRatio: u8, + pub mExplicitLanguage: bool, + pub mAllowZoom: bool, + pub mScriptUnconstrainedSize: root::nscoord, + pub mScriptMinSize: root::nscoord, + pub mScriptSizeMultiplier: f32, + pub mLanguage: root::nsCOMPtr, + } + pub const nsStyleFont_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleFont() { + assert_eq!(::std::mem::size_of::<nsStyleFont>() , 120usize , concat ! + ( "Size of: " , stringify ! ( nsStyleFont ) )); + assert_eq! (::std::mem::align_of::<nsStyleFont>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mFont as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mFont ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mSize as * const _ + as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mGenericID as * + const _ as usize } , 92usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mGenericID ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mScriptLevel as * + const _ as usize } , 93usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptLevel ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMathVariant as * + const _ as usize } , 94usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMathVariant ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMathDisplay as * + const _ as usize } , 95usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMathDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mMinFontSizeRatio + as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mMinFontSizeRatio ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mExplicitLanguage + as * const _ as usize } , 97usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mExplicitLanguage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mAllowZoom as * + const _ as usize } , 98usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mAllowZoom ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . + mScriptUnconstrainedSize as * const _ as usize } , + 100usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptUnconstrainedSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mScriptMinSize as * + const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptMinSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . + mScriptSizeMultiplier as * const _ as usize } , 108usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mScriptSizeMultiplier ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleFont ) ) . mLanguage as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleFont ) , + "::" , stringify ! ( mLanguage ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleColor { + pub mColor: root::nscolor, + } + pub const nsStyleColor_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleColor() { + assert_eq!(::std::mem::size_of::<nsStyleColor>() , 4usize , concat ! ( + "Size of: " , stringify ! ( nsStyleColor ) )); + assert_eq! (::std::mem::align_of::<nsStyleColor>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColor ) ) . mColor as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColor ) , + "::" , stringify ! ( mColor ) )); + } + #[test] + fn __bindgen_test_layout_StaticRefPtr_instantiation_21() { + assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + } + #[test] + fn __bindgen_test_layout_StaticRefPtr_instantiation_22() { + assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleList { + pub mListStylePosition: u8, + pub mListStyleImage: root::RefPtr<root::nsStyleImageRequest>, + pub mCounterStyle: root::mozilla::CounterStylePtr, + pub mQuotes: root::RefPtr<root::nsStyleQuoteValues>, + pub mImageRegion: root::nsRect, + } + pub const nsStyleList_kHasFinishStyle: bool = true; + extern "C" { + #[link_name = "_ZN11nsStyleList14sInitialQuotesE"] + pub static mut nsStyleList_sInitialQuotes: + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>; + } + extern "C" { + #[link_name = "_ZN11nsStyleList11sNoneQuotesE"] + pub static mut nsStyleList_sNoneQuotes: + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>; + } + #[test] + fn bindgen_test_layout_nsStyleList() { + assert_eq!(::std::mem::size_of::<nsStyleList>() , 48usize , concat ! ( + "Size of: " , stringify ! ( nsStyleList ) )); + assert_eq! (::std::mem::align_of::<nsStyleList>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleList ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mListStylePosition + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mListStylePosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mListStyleImage as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mListStyleImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mCounterStyle as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mCounterStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mQuotes as * const + _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mQuotes ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleList ) ) . mImageRegion as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleList ) , + "::" , stringify ! ( mImageRegion ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleText { + pub mTextAlign: u8, + pub mTextAlignLast: u8, + pub _bitfield_1: u8, + pub mTextJustify: root::mozilla::StyleTextJustify, + pub mTextTransform: u8, + pub mWhiteSpace: root::mozilla::StyleWhiteSpace, + pub mWordBreak: u8, + pub mOverflowWrap: u8, + pub mHyphens: root::mozilla::StyleHyphens, + pub mRubyAlign: u8, + pub mRubyPosition: u8, + pub mTextSizeAdjust: u8, + pub mTextCombineUpright: u8, + pub mControlCharacterVisibility: u8, + pub mTextEmphasisPosition: u8, + pub mTextEmphasisStyle: u8, + pub mTextRendering: u8, + pub mTextEmphasisColor: root::mozilla::StyleComplexColor, + pub mWebkitTextFillColor: root::mozilla::StyleComplexColor, + pub mWebkitTextStrokeColor: root::mozilla::StyleComplexColor, + pub mTabSize: root::nsStyleCoord, + pub mWordSpacing: root::nsStyleCoord, + pub mLetterSpacing: root::nsStyleCoord, + pub mLineHeight: root::nsStyleCoord, + pub mTextIndent: root::nsStyleCoord, + pub mWebkitTextStrokeWidth: root::nscoord, + pub mTextShadow: root::RefPtr<root::nsCSSShadowArray>, + pub mTextEmphasisStyleString: ::nsstring::nsStringRepr, + } + pub const nsStyleText_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleText() { + assert_eq!(::std::mem::size_of::<nsStyleText>() , 160usize , concat ! + ( "Size of: " , stringify ! ( nsStyleText ) )); + assert_eq! (::std::mem::align_of::<nsStyleText>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleText ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextAlign as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextAlignLast as * + const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextAlignLast ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextJustify as * + const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextJustify ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextTransform as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWhiteSpace as * + const _ as usize } , 5usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWhiteSpace ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWordBreak as * + const _ as usize } , 6usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWordBreak ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mOverflowWrap as * + const _ as usize } , 7usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mOverflowWrap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mHyphens as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mHyphens ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mRubyAlign as * + const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mRubyAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mRubyPosition as * + const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mRubyPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextSizeAdjust as + * const _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextSizeAdjust ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextCombineUpright + as * const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextCombineUpright ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mControlCharacterVisibility as * const _ as usize } , + 13usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mControlCharacterVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mTextEmphasisPosition as * const _ as usize } , 14usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyle + as * const _ as usize } , 15usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextRendering as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisColor + as * const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextFillColor as * const _ as usize } , 28usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextFillColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextStrokeColor as * const _ as usize } , 36usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextStrokeColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTabSize as * const + _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTabSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mWordSpacing as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWordSpacing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mLetterSpacing as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mLetterSpacing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mLineHeight as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mLineHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextIndent as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextIndent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mWebkitTextStrokeWidth as * const _ as usize } , 128usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mWebkitTextStrokeWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . mTextShadow as * + const _ as usize } , 136usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextShadow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleText ) ) . + mTextEmphasisStyleString as * const _ as usize } , + 144usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleText ) , + "::" , stringify ! ( mTextEmphasisStyleString ) )); + } + impl nsStyleText { + #[inline] + pub fn mTextAlignTrue(&self) -> bool { + let mut unit_field_val: u8 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as *mut u8 + as *mut u8, + ::std::mem::size_of::<u8>()) + }; + let mask = 1u64 as u8; + let val = (unit_field_val & mask) >> 0usize; + unsafe { ::std::mem::transmute(val as u8) } + } + #[inline] + pub fn set_mTextAlignTrue(&mut self, val: bool) { + let mask = 1u64 as u8; + let val = val as u8 as u8; + let mut unit_field_val: u8 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as *mut u8 + as *mut u8, + ::std::mem::size_of::<u8>()) + }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + unsafe { + ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as + *const u8, + &mut self._bitfield_1 as + *mut _ as *mut u8, + ::std::mem::size_of::<u8>()); + } + } + #[inline] + pub fn mTextAlignLastTrue(&self) -> bool { + let mut unit_field_val: u8 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as *mut u8 + as *mut u8, + ::std::mem::size_of::<u8>()) + }; + let mask = 2u64 as u8; + let val = (unit_field_val & mask) >> 1usize; + unsafe { ::std::mem::transmute(val as u8) } + } + #[inline] + pub fn set_mTextAlignLastTrue(&mut self, val: bool) { + let mask = 2u64 as u8; + let val = val as u8 as u8; + let mut unit_field_val: u8 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as *mut u8 + as *mut u8, + ::std::mem::size_of::<u8>()) + }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + unsafe { + ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as + *const u8, + &mut self._bitfield_1 as + *mut _ as *mut u8, + ::std::mem::size_of::<u8>()); + } + } + #[inline] + pub fn new_bitfield_1(mTextAlignTrue: bool, mTextAlignLastTrue: bool) + -> u8 { + ({ + ({ 0 } | + ((mTextAlignTrue as u8 as u8) << 0usize) & (1u64 as u8)) + } | ((mTextAlignLastTrue as u8 as u8) << 1usize) & (2u64 as u8)) + } + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleVisibility { + pub mImageOrientation: root::nsStyleImageOrientation, + pub mDirection: u8, + pub mVisible: u8, + pub mImageRendering: u8, + pub mWritingMode: u8, + pub mTextOrientation: u8, + pub mColorAdjust: u8, + } + pub const nsStyleVisibility_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleVisibility() { + assert_eq!(::std::mem::size_of::<nsStyleVisibility>() , 7usize , + concat ! ( "Size of: " , stringify ! ( nsStyleVisibility ) + )); + assert_eq! (::std::mem::align_of::<nsStyleVisibility>() , 1usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mImageOrientation as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mImageOrientation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mDirection as + * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mVisible as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mVisible ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mImageRendering as * const _ as usize } , 3usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mImageRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mWritingMode + as * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mWritingMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . + mTextOrientation as * const _ as usize } , 5usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mTextOrientation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVisibility ) ) . mColorAdjust + as * const _ as usize } , 6usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVisibility ) + , "::" , stringify ! ( mColorAdjust ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleUserInterface { + pub mUserInput: root::mozilla::StyleUserInput, + pub mUserModify: root::mozilla::StyleUserModify, + pub mUserFocus: root::mozilla::StyleUserFocus, + pub mPointerEvents: u8, + pub mCursor: u8, + pub mCursorImages: root::nsTArray<root::nsCursorImage>, + pub mCaretColor: root::mozilla::StyleComplexColor, + } + pub const nsStyleUserInterface_kHasFinishStyle: bool = true; + #[test] + fn bindgen_test_layout_nsStyleUserInterface() { + assert_eq!(::std::mem::size_of::<nsStyleUserInterface>() , 24usize , + concat ! ( + "Size of: " , stringify ! ( nsStyleUserInterface ) )); + assert_eq! (::std::mem::align_of::<nsStyleUserInterface>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleUserInterface ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserInput + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserInput ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mUserModify as * const _ as usize } , 1usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserModify + ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserFocus + as * const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mUserFocus ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mPointerEvents as * const _ as usize } , 3usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( + mPointerEvents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursor as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mCursor ) + )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mCursorImages as * const _ as usize } , 8usize , concat ! + ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( + mCursorImages ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUserInterface ) ) . + mCaretColor as * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleUserInterface ) , "::" , stringify ! ( mCaretColor + ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleTableBorder { + pub mBorderSpacingCol: root::nscoord, + pub mBorderSpacingRow: root::nscoord, + pub mBorderCollapse: u8, + pub mCaptionSide: u8, + pub mEmptyCells: u8, + } + pub const nsStyleTableBorder_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleTableBorder() { + assert_eq!(::std::mem::size_of::<nsStyleTableBorder>() , 12usize , + concat ! ( "Size of: " , stringify ! ( nsStyleTableBorder ) + )); + assert_eq! (::std::mem::align_of::<nsStyleTableBorder>() , 4usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleTableBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderSpacingCol as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderSpacingCol ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderSpacingRow as * const _ as usize } , 4usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderSpacingRow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . + mBorderCollapse as * const _ as usize } , 8usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mBorderCollapse ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . mCaptionSide + as * const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mCaptionSide ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTableBorder ) ) . mEmptyCells + as * const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTableBorder + ) , "::" , stringify ! ( mEmptyCells ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleSVG { + pub mFill: root::nsStyleSVGPaint, + pub mStroke: root::nsStyleSVGPaint, + pub mMarkerEnd: root::RefPtr<root::mozilla::css::URLValue>, + pub mMarkerMid: root::RefPtr<root::mozilla::css::URLValue>, + pub mMarkerStart: root::RefPtr<root::mozilla::css::URLValue>, + pub mStrokeDasharray: root::nsTArray<root::nsStyleCoord>, + pub mContextProps: root::nsTArray<root::nsCOMPtr>, + pub mStrokeDashoffset: root::nsStyleCoord, + pub mStrokeWidth: root::nsStyleCoord, + pub mFillOpacity: f32, + pub mStrokeMiterlimit: f32, + pub mStrokeOpacity: f32, + pub mClipRule: root::mozilla::StyleFillRule, + pub mColorInterpolation: u8, + pub mColorInterpolationFilters: u8, + pub mFillRule: root::mozilla::StyleFillRule, + pub mPaintOrder: u8, + pub mShapeRendering: u8, + pub mStrokeLinecap: u8, + pub mStrokeLinejoin: u8, + pub mTextAnchor: u8, + pub mContextPropsBits: u8, + pub mContextFlags: u8, + } + pub const nsStyleSVG_FILL_OPACITY_SOURCE_MASK: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::FILL_OPACITY_SOURCE_MASK; + pub const nsStyleSVG_STROKE_OPACITY_SOURCE_MASK: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::STROKE_OPACITY_SOURCE_MASK; + pub const nsStyleSVG_STROKE_DASHARRAY_CONTEXT: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::STROKE_DASHARRAY_CONTEXT; + pub const nsStyleSVG_STROKE_DASHOFFSET_CONTEXT: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::STROKE_DASHOFFSET_CONTEXT; + pub const nsStyleSVG_STROKE_WIDTH_CONTEXT: root::nsStyleSVG__bindgen_ty_1 + = + nsStyleSVG__bindgen_ty_1::STROKE_WIDTH_CONTEXT; + pub const nsStyleSVG_FILL_OPACITY_SOURCE_SHIFT: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::FILL_OPACITY_SOURCE_SHIFT; + pub const nsStyleSVG_STROKE_OPACITY_SOURCE_SHIFT: + root::nsStyleSVG__bindgen_ty_1 = + nsStyleSVG__bindgen_ty_1::STROKE_OPACITY_SOURCE_SHIFT; + #[repr(u32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum nsStyleSVG__bindgen_ty_1 { + FILL_OPACITY_SOURCE_MASK = 3, + STROKE_OPACITY_SOURCE_MASK = 12, + STROKE_DASHARRAY_CONTEXT = 16, + STROKE_DASHOFFSET_CONTEXT = 32, + STROKE_WIDTH_CONTEXT = 64, + FILL_OPACITY_SOURCE_SHIFT = 0, + STROKE_OPACITY_SOURCE_SHIFT = 2, + } + pub const nsStyleSVG_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleSVG() { + assert_eq!(::std::mem::size_of::<nsStyleSVG>() , 128usize , concat ! ( + "Size of: " , stringify ! ( nsStyleSVG ) )); + assert_eq! (::std::mem::align_of::<nsStyleSVG>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleSVG ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFill as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStroke as * const _ + as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStroke ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerEnd as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerMid as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerMid ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerStart as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mMarkerStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDasharray as + * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeDasharray ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mContextProps as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mContextProps ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDashoffset as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeDashoffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeWidth as * + const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFillOpacity as * + const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFillOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeMiterlimit as + * const _ as usize } , 108usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeMiterlimit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeOpacity as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mClipRule as * const + _ as usize } , 116usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mClipRule ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolation + as * const _ as usize } , 117usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mColorInterpolation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . + mColorInterpolationFilters as * const _ as usize } , + 118usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mColorInterpolationFilters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mFillRule as * const + _ as usize } , 119usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mFillRule ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mPaintOrder as * + const _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mPaintOrder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mShapeRendering as * + const _ as usize } , 121usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mShapeRendering ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinecap as * + const _ as usize } , 122usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeLinecap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinejoin as * + const _ as usize } , 123usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mStrokeLinejoin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mTextAnchor as * + const _ as usize } , 124usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mTextAnchor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mContextPropsBits as + * const _ as usize } , 125usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mContextPropsBits ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVG ) ) . mContextFlags as * + const _ as usize } , 126usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" + , stringify ! ( mContextFlags ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleVariables { + pub mVariables: root::mozilla::CSSVariableValues, + } + pub const nsStyleVariables_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleVariables() { + assert_eq!(::std::mem::size_of::<nsStyleVariables>() , 48usize , + concat ! ( "Size of: " , stringify ! ( nsStyleVariables ) + )); + assert_eq! (::std::mem::align_of::<nsStyleVariables>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleVariables ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleVariables ) ) . mVariables as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleVariables ) + , "::" , stringify ! ( mVariables ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleBackground { + pub mImage: root::nsStyleImageLayers, + pub mBackgroundColor: root::mozilla::StyleComplexColor, + } + pub const nsStyleBackground_kHasFinishStyle: bool = true; + #[test] + fn bindgen_test_layout_nsStyleBackground() { + assert_eq!(::std::mem::size_of::<nsStyleBackground>() , 160usize , + concat ! ( "Size of: " , stringify ! ( nsStyleBackground ) + )); + assert_eq! (::std::mem::align_of::<nsStyleBackground>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleBackground ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBackground ) ) . mImage as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBackground ) + , "::" , stringify ! ( mImage ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBackground ) ) . + mBackgroundColor as * const _ as usize } , 152usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBackground ) + , "::" , stringify ! ( mBackgroundColor ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStylePosition { + pub mObjectPosition: root::mozilla::Position, + pub mOffset: root::nsStyleSides, + pub mWidth: root::nsStyleCoord, + pub mMinWidth: root::nsStyleCoord, + pub mMaxWidth: root::nsStyleCoord, + pub mHeight: root::nsStyleCoord, + pub mMinHeight: root::nsStyleCoord, + pub mMaxHeight: root::nsStyleCoord, + pub mFlexBasis: root::nsStyleCoord, + pub mGridAutoColumnsMin: root::nsStyleCoord, + pub mGridAutoColumnsMax: root::nsStyleCoord, + pub mGridAutoRowsMin: root::nsStyleCoord, + pub mGridAutoRowsMax: root::nsStyleCoord, + pub mGridAutoFlow: u8, + pub mBoxSizing: root::mozilla::StyleBoxSizing, + pub mAlignContent: u16, + pub mAlignItems: u8, + pub mAlignSelf: u8, + pub mJustifyContent: u16, + pub mJustifyItems: u8, + pub mJustifySelf: u8, + pub mFlexDirection: u8, + pub mFlexWrap: u8, + pub mObjectFit: u8, + pub mOrder: i32, + pub mFlexGrow: f32, + pub mFlexShrink: f32, + pub mZIndex: root::nsStyleCoord, + pub mGridTemplateColumns: root::nsStyleGridTemplate, + pub mGridTemplateRows: root::nsStyleGridTemplate, + pub mGridTemplateAreas: root::RefPtr<root::mozilla::css::GridTemplateAreasValue>, + pub mGridColumnStart: root::nsStyleGridLine, + pub mGridColumnEnd: root::nsStyleGridLine, + pub mGridRowStart: root::nsStyleGridLine, + pub mGridRowEnd: root::nsStyleGridLine, + pub mGridColumnGap: root::nsStyleCoord, + pub mGridRowGap: root::nsStyleCoord, + } + pub const nsStylePosition_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStylePosition() { + assert_eq!(::std::mem::size_of::<nsStylePosition>() , 520usize , + concat ! ( "Size of: " , stringify ! ( nsStylePosition ) + )); + assert_eq! (::std::mem::align_of::<nsStylePosition>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStylePosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mObjectPosition + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mObjectPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mOffset as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mWidth as * + const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMinWidth as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMinWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMaxWidth as * + const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMaxWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mHeight as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMinHeight as * + const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMinHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mMaxHeight as * + const _ as usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mMaxHeight ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexBasis as * + const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexBasis ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoColumnsMin as * const _ as usize } , 176usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoColumnsMin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoColumnsMax as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoColumnsMax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoRowsMin as * const _ as usize } , 208usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoRowsMin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridAutoRowsMax as * const _ as usize } , 224usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoRowsMax ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoFlow + as * const _ as usize } , 240usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridAutoFlow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mBoxSizing as * + const _ as usize } , 241usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mBoxSizing ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignContent + as * const _ as usize } , 242usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignItems as + * const _ as usize } , 244usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignItems ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mAlignSelf as * + const _ as usize } , 245usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mAlignSelf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifyContent + as * const _ as usize } , 246usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifyContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifyItems + as * const _ as usize } , 248usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifyItems ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mJustifySelf as + * const _ as usize } , 249usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mJustifySelf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexDirection + as * const _ as usize } , 250usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexWrap as * + const _ as usize } , 251usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexWrap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mObjectFit as * + const _ as usize } , 252usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mObjectFit ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mOrder as * + const _ as usize } , 256usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mOrder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexGrow as * + const _ as usize } , 260usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexGrow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mFlexShrink as + * const _ as usize } , 264usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mFlexShrink ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mZIndex as * + const _ as usize } , 272usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mZIndex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateColumns as * const _ as usize } , 288usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateColumns ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateRows as * const _ as usize } , 336usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateRows ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridTemplateAreas as * const _ as usize } , 384usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridTemplateAreas ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . + mGridColumnStart as * const _ as usize } , 392usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnEnd + as * const _ as usize } , 416usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowStart + as * const _ as usize } , 440usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowStart ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowEnd as + * const _ as usize } , 464usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowEnd ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnGap + as * const _ as usize } , 488usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridColumnGap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePosition ) ) . mGridRowGap as + * const _ as usize } , 504usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePosition ) , + "::" , stringify ! ( mGridRowGap ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleTextReset { + pub mTextOverflow: root::nsStyleTextOverflow, + pub mTextDecorationLine: u8, + pub mTextDecorationStyle: u8, + pub mUnicodeBidi: u8, + pub mInitialLetterSink: root::nscoord, + pub mInitialLetterSize: f32, + pub mTextDecorationColor: root::mozilla::StyleComplexColor, + } + pub const nsStyleTextReset_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleTextReset() { + assert_eq!(::std::mem::size_of::<nsStyleTextReset>() , 80usize , + concat ! ( "Size of: " , stringify ! ( nsStyleTextReset ) + )); + assert_eq! (::std::mem::align_of::<nsStyleTextReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleTextReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . mTextOverflow + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextOverflow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationLine as * const _ as usize } , 56usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationLine ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationStyle as * const _ as usize } , 57usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . mUnicodeBidi + as * const _ as usize } , 58usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mUnicodeBidi ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mInitialLetterSink as * const _ as usize } , 60usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mInitialLetterSink ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mInitialLetterSize as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mInitialLetterSize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTextReset ) ) . + mTextDecorationColor as * const _ as usize } , 68usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTextReset ) + , "::" , stringify ! ( mTextDecorationColor ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleDisplay { + pub mBinding: root::BindingHolder, + pub mDisplay: root::mozilla::StyleDisplay, + pub mOriginalDisplay: root::mozilla::StyleDisplay, + pub mContain: u8, + pub mAppearance: u8, + pub mPosition: u8, + pub mFloat: root::mozilla::StyleFloat, + pub mOriginalFloat: root::mozilla::StyleFloat, + pub mBreakType: root::mozilla::StyleClear, + pub mBreakInside: u8, + pub mBreakBefore: bool, + pub mBreakAfter: bool, + pub mOverflowX: u8, + pub mOverflowY: u8, + pub mOverflowClipBox: u8, + pub mResize: u8, + pub mOrient: root::mozilla::StyleOrient, + pub mIsolation: u8, + pub mTopLayer: u8, + pub mWillChangeBitField: u8, + pub mWillChange: root::nsCOMArray, + pub mTouchAction: u8, + pub mScrollBehavior: u8, + pub mScrollSnapTypeX: u8, + pub mScrollSnapTypeY: u8, + pub mScrollSnapPointsX: root::nsStyleCoord, + pub mScrollSnapPointsY: root::nsStyleCoord, + pub mScrollSnapDestination: root::mozilla::Position, + pub mScrollSnapCoordinate: root::nsTArray<root::mozilla::Position>, + pub mBackfaceVisibility: u8, + pub mTransformStyle: u8, + pub mTransformBox: root::nsStyleDisplay_StyleGeometryBox, + pub mSpecifiedTransform: root::RefPtr<root::nsCSSValueSharedList>, + pub mTransformOrigin: [root::nsStyleCoord; 3usize], + pub mChildPerspective: root::nsStyleCoord, + pub mPerspectiveOrigin: [root::nsStyleCoord; 2usize], + pub mVerticalAlign: root::nsStyleCoord, + pub mTransitions: root::nsStyleAutoArray<root::mozilla::StyleTransition>, + pub mTransitionTimingFunctionCount: u32, + pub mTransitionDurationCount: u32, + pub mTransitionDelayCount: u32, + pub mTransitionPropertyCount: u32, + pub mAnimations: root::nsStyleAutoArray<root::mozilla::StyleAnimation>, + pub mAnimationTimingFunctionCount: u32, + pub mAnimationDurationCount: u32, + pub mAnimationDelayCount: u32, + pub mAnimationNameCount: u32, + pub mAnimationDirectionCount: u32, + pub mAnimationFillModeCount: u32, + pub mAnimationPlayStateCount: u32, + pub mAnimationIterationCountCount: u32, + pub mShapeOutside: root::mozilla::StyleShapeSource, + } + pub use self::super::root::mozilla::StyleGeometryBox as + nsStyleDisplay_StyleGeometryBox; + pub const nsStyleDisplay_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleDisplay() { + assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 416usize , concat + ! ( "Size of: " , stringify ! ( nsStyleDisplay ) )); + assert_eq! (::std::mem::align_of::<nsStyleDisplay>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBinding as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBinding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mDisplay as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalDisplay + as * const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOriginalDisplay ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mContain as * + const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mContain ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mAppearance as * + const _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAppearance ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mPosition as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mPosition ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mFloat as * + const _ as usize } , 13usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalFloat + as * const _ as usize } , 14usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOriginalFloat ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakType as * + const _ as usize } , 15usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakType ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakInside as + * const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakInside ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakBefore as + * const _ as usize } , 17usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakBefore ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakAfter as * + const _ as usize } , 18usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBreakAfter ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowX as * + const _ as usize } , 19usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowY as * + const _ as usize } , 20usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowClipBox + as * const _ as usize } , 21usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOverflowClipBox ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mResize as * + const _ as usize } , 22usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mResize ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mOrient as * + const _ as usize } , 23usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mOrient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mIsolation as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mIsolation ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTopLayer as * + const _ as usize } , 25usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTopLayer ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mWillChangeBitField as * const _ as usize } , 26usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mWillChangeBitField ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChange as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mWillChange ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTouchAction as + * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTouchAction ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollBehavior + as * const _ as usize } , 41usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollBehavior ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeX + as * const _ as usize } , 42usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapTypeX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeY + as * const _ as usize } , 43usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapTypeY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapPointsX as * const _ as usize } , 48usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapPointsX ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapPointsY as * const _ as usize } , 64usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapPointsY ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapDestination as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapDestination ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mScrollSnapCoordinate as * const _ as usize } , 104usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mScrollSnapCoordinate ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mBackfaceVisibility as * const _ as usize } , 112usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mBackfaceVisibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformStyle + as * const _ as usize } , 113usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformBox as + * const _ as usize } , 114usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformBox ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mSpecifiedTransform as * const _ as usize } , 120usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mSpecifiedTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformOrigin + as * const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransformOrigin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mChildPerspective as * const _ as usize } , 176usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mChildPerspective ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mPerspectiveOrigin as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mPerspectiveOrigin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mVerticalAlign + as * const _ as usize } , 224usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mVerticalAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitions as + * const _ as usize } , 240usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitions ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionTimingFunctionCount as * const _ as usize } , + 288usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionTimingFunctionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionDurationCount as * const _ as usize } , + 292usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionDurationCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionDelayCount as * const _ as usize } , 296usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionDelayCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mTransitionPropertyCount as * const _ as usize } , + 300usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mTransitionPropertyCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimations as * + const _ as usize } , 304usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimations ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationTimingFunctionCount as * const _ as usize } , + 368usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationTimingFunctionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDurationCount as * const _ as usize } , 372usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDurationCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDelayCount as * const _ as usize } , 376usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDelayCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationNameCount as * const _ as usize } , 380usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationNameCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationDirectionCount as * const _ as usize } , + 384usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationDirectionCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationFillModeCount as * const _ as usize } , 388usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationFillModeCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationPlayStateCount as * const _ as usize } , + 392usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationPlayStateCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . + mAnimationIterationCountCount as * const _ as usize } , + 396usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mAnimationIterationCountCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleDisplay ) ) . mShapeOutside as + * const _ as usize } , 400usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleDisplay ) , + "::" , stringify ! ( mShapeOutside ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleContent { + pub mContents: root::nsTArray<root::nsStyleContentData>, + pub mIncrements: root::nsTArray<root::nsStyleCounterData>, + pub mResets: root::nsTArray<root::nsStyleCounterData>, + } + pub const nsStyleContent_kHasFinishStyle: bool = true; + #[test] + fn bindgen_test_layout_nsStyleContent() { + assert_eq!(::std::mem::size_of::<nsStyleContent>() , 24usize , concat + ! ( "Size of: " , stringify ! ( nsStyleContent ) )); + assert_eq! (::std::mem::align_of::<nsStyleContent>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleContent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mContents as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mContents ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mIncrements as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mIncrements ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContent ) ) . mResets as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContent ) , + "::" , stringify ! ( mResets ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleUIReset { + pub mUserSelect: root::mozilla::StyleUserSelect, + pub mForceBrokenImageIcon: u8, + pub mIMEMode: u8, + pub mWindowDragging: root::mozilla::StyleWindowDragging, + pub mWindowShadow: u8, + pub mWindowOpacity: f32, + pub mSpecifiedWindowTransform: root::RefPtr<root::nsCSSValueSharedList>, + pub mWindowTransformOrigin: [root::nsStyleCoord; 2usize], + } + pub const nsStyleUIReset_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleUIReset() { + assert_eq!(::std::mem::size_of::<nsStyleUIReset>() , 56usize , concat + ! ( "Size of: " , stringify ! ( nsStyleUIReset ) )); + assert_eq! (::std::mem::align_of::<nsStyleUIReset>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleUIReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mUserSelect as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mUserSelect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . + mForceBrokenImageIcon as * const _ as usize } , 1usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mForceBrokenImageIcon ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mIMEMode as * + const _ as usize } , 2usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mIMEMode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowDragging + as * const _ as usize } , 3usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowDragging ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowShadow as + * const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowShadow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowOpacity + as * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . + mSpecifiedWindowTransform as * const _ as usize } , + 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mSpecifiedWindowTransform ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleUIReset ) ) . + mWindowTransformOrigin as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleUIReset ) , + "::" , stringify ! ( mWindowTransformOrigin ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleTable { + pub mLayoutStrategy: u8, + pub mSpan: i32, + } + pub const nsStyleTable_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleTable() { + assert_eq!(::std::mem::size_of::<nsStyleTable>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsStyleTable ) )); + assert_eq! (::std::mem::align_of::<nsStyleTable>() , 4usize , concat ! + ( "Alignment of " , stringify ! ( nsStyleTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTable ) ) . mLayoutStrategy as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTable ) , + "::" , stringify ! ( mLayoutStrategy ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleTable ) ) . mSpan as * const _ + as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleTable ) , + "::" , stringify ! ( mSpan ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleMargin { + pub mMargin: root::nsStyleSides, + } + pub const nsStyleMargin_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleMargin() { + assert_eq!(::std::mem::size_of::<nsStyleMargin>() , 40usize , concat ! + ( "Size of: " , stringify ! ( nsStyleMargin ) )); + assert_eq! (::std::mem::align_of::<nsStyleMargin>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleMargin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleMargin ) ) . mMargin as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleMargin ) , + "::" , stringify ! ( mMargin ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStylePadding { + pub mPadding: root::nsStyleSides, + } + pub const nsStylePadding_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStylePadding() { + assert_eq!(::std::mem::size_of::<nsStylePadding>() , 40usize , concat + ! ( "Size of: " , stringify ! ( nsStylePadding ) )); + assert_eq! (::std::mem::align_of::<nsStylePadding>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStylePadding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStylePadding ) ) . mPadding as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStylePadding ) , + "::" , stringify ! ( mPadding ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleBorder { + pub mBorderColors: *mut *mut root::nsBorderColors, + pub mBorderRadius: root::nsStyleCorners, + pub mBorderImageSource: root::nsStyleImage, + pub mBorderImageSlice: root::nsStyleSides, + pub mBorderImageWidth: root::nsStyleSides, + pub mBorderImageOutset: root::nsStyleSides, + pub mBorderImageFill: u8, + pub mBorderImageRepeatH: u8, + pub mBorderImageRepeatV: u8, + pub mFloatEdge: root::mozilla::StyleFloatEdge, + pub mBoxDecorationBreak: root::mozilla::StyleBoxDecorationBreak, + pub mBorderStyle: [u8; 4usize], + pub __bindgen_anon_1: root::nsStyleBorder__bindgen_ty_1, + pub mComputedBorder: root::nsMargin, + pub mBorder: root::nsMargin, + pub mTwipsPerPixel: root::nscoord, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsStyleBorder__bindgen_ty_1 { + pub __bindgen_anon_1: root::__BindgenUnionField<root::nsStyleBorder__bindgen_ty_1__bindgen_ty_1>, + pub mBorderColor: root::__BindgenUnionField<[root::mozilla::StyleComplexColor; 4usize]>, + pub bindgen_union_field: [u32; 8usize], + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { + pub mBorderTopColor: root::mozilla::StyleComplexColor, + pub mBorderRightColor: root::mozilla::StyleComplexColor, + pub mBorderBottomColor: root::mozilla::StyleComplexColor, + pub mBorderLeftColor: root::mozilla::StyleComplexColor, + } + #[test] + fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1__bindgen_ty_1() { + assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() + , 32usize , concat ! ( + "Size of: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() + , 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderTopColor as * const _ as usize } , 0usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderTopColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderRightColor as * const _ as usize } , 8usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderRightColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderBottomColor as * const _ as usize } , 16usize + , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderBottomColor ) )); + assert_eq! (unsafe { + & ( + * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 + ) ) . mBorderLeftColor as * const _ as usize } , 24usize , + concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , + stringify ! ( mBorderLeftColor ) )); + } + impl Clone for nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { + fn clone(&self) -> Self { *self } + } + #[test] + fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1() { + assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1>() , + 32usize , concat ! ( + "Size of: " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) + )); + assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1>() , + 4usize , concat ! ( + "Alignment of " , stringify ! ( + nsStyleBorder__bindgen_ty_1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1 ) ) . + mBorderColor as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + nsStyleBorder__bindgen_ty_1 ) , "::" , stringify ! ( + mBorderColor ) )); + } + impl Clone for nsStyleBorder__bindgen_ty_1 { + fn clone(&self) -> Self { *self } + } + pub const nsStyleBorder_kHasFinishStyle: bool = true; + #[test] + fn bindgen_test_layout_nsStyleBorder() { + assert_eq!(::std::mem::size_of::<nsStyleBorder>() , 312usize , concat + ! ( "Size of: " , stringify ! ( nsStyleBorder ) )); + assert_eq! (::std::mem::align_of::<nsStyleBorder>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderColors as + * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderColors ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderRadius as + * const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderRadius ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageSource as * const _ as usize } , 80usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageSource ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageSlice + as * const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageSlice ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageWidth + as * const _ as usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageOutset as * const _ as usize } , 192usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageOutset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageFill + as * const _ as usize } , 232usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageRepeatH as * const _ as usize } , 233usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageRepeatH ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBorderImageRepeatV as * const _ as usize } , 234usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderImageRepeatV ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mFloatEdge as * + const _ as usize } , 235usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mFloatEdge ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . + mBoxDecorationBreak as * const _ as usize } , 236usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBoxDecorationBreak ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorderStyle as * + const _ as usize } , 237usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorderStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mComputedBorder + as * const _ as usize } , 276usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mComputedBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mBorder as * + const _ as usize } , 292usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleBorder ) ) . mTwipsPerPixel as + * const _ as usize } , 308usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleBorder ) , + "::" , stringify ! ( mTwipsPerPixel ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleOutline { + pub mOutlineRadius: root::nsStyleCorners, + pub mOutlineWidth: root::nscoord, + pub mOutlineOffset: root::nscoord, + pub mOutlineColor: root::mozilla::StyleComplexColor, + pub mOutlineStyle: u8, + pub mActualOutlineWidth: root::nscoord, + pub mTwipsPerPixel: root::nscoord, + } + pub const nsStyleOutline_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleOutline() { + assert_eq!(::std::mem::size_of::<nsStyleOutline>() , 104usize , concat + ! ( "Size of: " , stringify ! ( nsStyleOutline ) )); + assert_eq! (::std::mem::align_of::<nsStyleOutline>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleOutline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineRadius + as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineRadius ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineWidth as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineOffset + as * const _ as usize } , 76usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineOffset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineColor as + * const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineStyle as + * const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mOutlineStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . + mActualOutlineWidth as * const _ as usize } , 92usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mActualOutlineWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleOutline ) ) . mTwipsPerPixel + as * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleOutline ) , + "::" , stringify ! ( mTwipsPerPixel ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleXUL { + pub mBoxFlex: f32, + pub mBoxOrdinal: u32, + pub mBoxAlign: root::mozilla::StyleBoxAlign, + pub mBoxDirection: root::mozilla::StyleBoxDirection, + pub mBoxOrient: root::mozilla::StyleBoxOrient, + pub mBoxPack: root::mozilla::StyleBoxPack, + pub mStackSizing: root::mozilla::StyleStackSizing, + } + pub const nsStyleXUL_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleXUL() { + assert_eq!(::std::mem::size_of::<nsStyleXUL>() , 16usize , concat ! ( + "Size of: " , stringify ! ( nsStyleXUL ) )); + assert_eq! (::std::mem::align_of::<nsStyleXUL>() , 4usize , concat ! ( + "Alignment of " , stringify ! ( nsStyleXUL ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxFlex as * const + _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxFlex ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrdinal as * + const _ as usize } , 4usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxOrdinal ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxAlign as * const + _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxAlign ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxDirection as * + const _ as usize } , 9usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxDirection ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrient as * + const _ as usize } , 10usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxOrient ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mBoxPack as * const + _ as usize } , 11usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mBoxPack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleXUL ) ) . mStackSizing as * + const _ as usize } , 12usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" + , stringify ! ( mStackSizing ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleSVGReset { + pub mMask: root::nsStyleImageLayers, + pub mClipPath: root::mozilla::StyleShapeSource, + pub mStopColor: root::nscolor, + pub mFloodColor: root::nscolor, + pub mLightingColor: root::nscolor, + pub mStopOpacity: f32, + pub mFloodOpacity: f32, + pub mDominantBaseline: u8, + pub mVectorEffect: u8, + pub mMaskType: u8, + } + pub const nsStyleSVGReset_kHasFinishStyle: bool = true; + #[test] + fn bindgen_test_layout_nsStyleSVGReset() { + assert_eq!(::std::mem::size_of::<nsStyleSVGReset>() , 192usize , + concat ! ( "Size of: " , stringify ! ( nsStyleSVGReset ) + )); + assert_eq! (::std::mem::align_of::<nsStyleSVGReset>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsStyleSVGReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mMask as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mMask ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mClipPath as * + const _ as usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mClipPath ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopColor as * + const _ as usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mStopColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodColor as + * const _ as usize } , 172usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mFloodColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mLightingColor + as * const _ as usize } , 176usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mLightingColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopOpacity as + * const _ as usize } , 180usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mStopOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodOpacity + as * const _ as usize } , 184usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mFloodOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . + mDominantBaseline as * const _ as usize } , 188usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mDominantBaseline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mVectorEffect + as * const _ as usize } , 189usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mVectorEffect ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleSVGReset ) ) . mMaskType as * + const _ as usize } , 190usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , + "::" , stringify ! ( mMaskType ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleColumn { + pub mColumnCount: u32, + pub mColumnWidth: root::nsStyleCoord, + pub mColumnGap: root::nsStyleCoord, + pub mColumnRuleColor: root::mozilla::StyleComplexColor, + pub mColumnRuleStyle: u8, + pub mColumnFill: u8, + pub mColumnSpan: u8, + pub mColumnRuleWidth: root::nscoord, + pub mTwipsPerPixel: root::nscoord, + } + pub const nsStyleColumn_kHasFinishStyle: bool = false; + pub const nsStyleColumn_kMaxColumnCount: u32 = 1000; + #[test] + fn bindgen_test_layout_nsStyleColumn() { + assert_eq!(::std::mem::size_of::<nsStyleColumn>() , 64usize , concat ! + ( "Size of: " , stringify ! ( nsStyleColumn ) )); + assert_eq! (::std::mem::align_of::<nsStyleColumn>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleColumn ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnCount as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnCount ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnWidth as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnGap as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnGap ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleColor + as * const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleColor ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleStyle + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnFill as * + const _ as usize } , 49usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnFill ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnSpan as * + const _ as usize } , 50usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnSpan ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleWidth + as * const _ as usize } , 52usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mColumnRuleWidth ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleColumn ) ) . mTwipsPerPixel as + * const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleColumn ) , + "::" , stringify ! ( mTwipsPerPixel ) )); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsStyleEffects { + pub mFilters: root::nsTArray<root::nsStyleFilter>, + pub mBoxShadow: root::RefPtr<root::nsCSSShadowArray>, + pub mClip: root::nsRect, + pub mOpacity: f32, + pub mClipFlags: u8, + pub mMixBlendMode: u8, + } + pub const nsStyleEffects_kHasFinishStyle: bool = false; + #[test] + fn bindgen_test_layout_nsStyleEffects() { + assert_eq!(::std::mem::size_of::<nsStyleEffects>() , 40usize , concat + ! ( "Size of: " , stringify ! ( nsStyleEffects ) )); + assert_eq! (::std::mem::align_of::<nsStyleEffects>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleEffects ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mFilters as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mFilters ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mBoxShadow as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mBoxShadow ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mClip as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mClip ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mOpacity as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mOpacity ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mClipFlags as * + const _ as usize } , 36usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mClipFlags ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleEffects ) ) . mMixBlendMode as + * const _ as usize } , 37usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleEffects ) , + "::" , stringify ! ( mMixBlendMode ) )); + } + /** + * We want C++ to be abe to read the style struct fields of ComputedValues + * so we define this type on the C++ side and use the bindgenned version + * on the Rust side. + * + */ + #[repr(C)] + #[derive(Debug)] + pub struct ServoComputedValues { + pub Font: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoFont>, + pub Color: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoColor>, + pub List: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoList>, + pub Text: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoText>, + pub Visibility: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoVisibility>, + pub UserInterface: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoUserInterface>, + pub TableBorder: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoTableBorder>, + pub SVG: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoSVG>, + pub Background: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoBackground>, + pub Position: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoPosition>, + pub TextReset: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoTextReset>, + pub Display: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoDisplay>, + pub Content: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoContent>, + pub UIReset: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoUIReset>, + pub Table: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoTable>, + pub Margin: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoMargin>, + pub Padding: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoPadding>, + pub Border: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoBorder>, + pub Outline: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoOutline>, + pub XUL: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoXUL>, + pub SVGReset: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoSVGReset>, + pub Column: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoColumn>, + pub Effects: ::gecko_bindings::structs::ServoRawOffsetArc<root::mozilla::GeckoEffects>, + pub custom_properties: ::gecko_bindings::structs::ServoCustomPropertiesMap, + pub writing_mode: ::gecko_bindings::structs::ServoWritingMode, + pub font_computation_data: ::gecko_bindings::structs::ServoFontComputationData, + /// The rule node representing the ordered list of rules matched for this + /// node. Can be None for default values and text nodes. This is + /// essentially an optimization to avoid referencing the root rule node. + pub rules: ::gecko_bindings::structs::ServoRuleNode, + /// The element's computed values if visited, only computed if there's a + /// relevant link for this element. A element's "relevant link" is the + /// element being matched if it is a link or the nearest ancestor link. + pub visited_style: ::gecko_bindings::structs::ServoVisitedStyle, + pub flags: ::gecko_bindings::structs::ServoComputedValueFlags, + } + #[test] + fn bindgen_test_layout_ServoComputedValues() { + assert_eq!(::std::mem::size_of::<ServoComputedValues>() , 232usize , + concat ! ( + "Size of: " , stringify ! ( ServoComputedValues ) )); + assert_eq! (::std::mem::align_of::<ServoComputedValues>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( ServoComputedValues ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Font as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Font ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Color as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Color ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . List as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( List ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Text as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Text ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Visibility + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Visibility ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . + UserInterface as * const _ as usize } , 40usize , concat ! + ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( UserInterface ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . TableBorder + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( TableBorder ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . SVG as * + const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( SVG ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Background + as * const _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Background ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Position as + * const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Position ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . TextReset + as * const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( TextReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Display as + * const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Display ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Content as + * const _ as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Content ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . UIReset as + * const _ as usize } , 104usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( UIReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Table as * + const _ as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Table ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Margin as * + const _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Margin ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Padding as + * const _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Padding ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Border as * + const _ as usize } , 136usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Border ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Outline as + * const _ as usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Outline ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . XUL as * + const _ as usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( XUL ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . SVGReset as + * const _ as usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( SVGReset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Column as * + const _ as usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Column ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . Effects as + * const _ as usize } , 176usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( Effects ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . + custom_properties as * const _ as usize } , 184usize , + concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( custom_properties ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . + writing_mode as * const _ as usize } , 192usize , concat ! + ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( writing_mode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . + font_computation_data as * const _ as usize } , 196usize , + concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( font_computation_data ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . rules as * + const _ as usize } , 208usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( rules ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . + visited_style as * const _ as usize } , 216usize , concat + ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( visited_style ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValues ) ) . flags as * + const _ as usize } , 224usize , concat ! ( + "Alignment of field: " , stringify ! ( ServoComputedValues + ) , "::" , stringify ! ( flags ) )); + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct ServoComputedValuesForgotten { + pub mPtr: *const root::ServoComputedValues, + } + #[test] + fn bindgen_test_layout_ServoComputedValuesForgotten() { + assert_eq!(::std::mem::size_of::<ServoComputedValuesForgotten>() , + 8usize , concat ! ( + "Size of: " , stringify ! ( ServoComputedValuesForgotten ) + )); + assert_eq! (::std::mem::align_of::<ServoComputedValuesForgotten>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( + ServoComputedValuesForgotten ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoComputedValuesForgotten ) ) . + mPtr as * const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoComputedValuesForgotten ) , "::" , stringify ! ( mPtr + ) )); + } + impl Clone for ServoComputedValuesForgotten { + fn clone(&self) -> Self { *self } + } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum WeakMapTraceKind { @@ -17939,7 +20932,7 @@ pub mod root { * count is 1. */ #[repr(C)] - #[derive(Debug)] + #[derive(Debug, Copy)] pub struct nsStringBuffer { pub mRefCount: u32, pub mStorageSize: u32, @@ -17961,6 +20954,9 @@ pub mod root { "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mStorageSize ) )); } + impl Clone for nsStringBuffer { + fn clone(&self) -> Self { *self } + } #[repr(C)] #[derive(Debug, Copy)] pub struct nsIAtom { @@ -18425,7 +21421,6 @@ pub mod root { * of nsIContent children and provides access to them. */ #[repr(C)] - #[derive(Debug)] pub struct nsINode { pub _base: root::mozilla::dom::EventTarget, pub mNodeInfo: root::RefPtr<root::mozilla::dom::NodeInfo>, @@ -19706,7 +22701,7 @@ pub mod root { pub mUpgradeInsecurePreloads: bool, pub mHSTSPrimingURIList: [u64; 5usize], pub mDocumentContainer: u64, - pub mCharacterSet: root::mozilla::NotNull<*const root::nsIDocument_Encoding>, + pub mCharacterSet: root::mozilla::NotNull<*const root::mozilla::Encoding>, pub mCharacterSetSource: i32, pub mParentDocument: *mut root::nsIDocument, pub mCachedRootElement: *mut root::mozilla::dom::Element, @@ -19759,7 +22754,7 @@ pub mod root { */ pub mFrameRequestCallbackCounter: i32, pub mStaticCloneCount: u32, - pub mBlockedTrackingNodes: root::nsTArray<root::nsWeakPtr>, + pub mBlockedTrackingNodes: root::nsTArray<root::nsCOMPtr>, pub mWindow: *mut root::nsPIDOMWindowInner, pub mCachedEncoder: root::nsCOMPtr, pub mFrameRequestCallbacks: root::nsTArray<root::nsIDocument_FrameRequest>, @@ -22540,10 +25535,138 @@ pub mod root { } #[repr(C)] #[derive(Debug, Copy, Clone)] - pub struct nsBindingManager { + pub struct nsCSSRuleProcessor { _unused: [u8; 0], } #[repr(C)] + pub struct nsBindingManager { + pub _base: root::nsStubMutationObserver, + pub mRefCnt: root::nsCycleCollectingAutoRefCnt, + pub mBoundContentSet: u64, + pub mWrapperTable: u64, + pub mDocumentTable: u64, + pub mLoadingDocTable: u64, + pub mAttachedStack: root::nsBindingList, + pub mProcessingAttachedStack: bool, + pub mDestroyed: bool, + pub mAttachedStackSizeOnOutermost: u32, + pub mProcessAttachedQueueEvent: u64, + pub mDocument: *mut root::nsIDocument, + } + pub type nsBindingManager_HasThreadSafeRefCnt = root::mozilla::FalseType; + #[repr(u32)] + /** + * Notify the binding manager that an element + * has been removed from its document, + * so that it can update any bindings or + * nsIAnonymousContentCreator-created anonymous + * content that may depend on the document. + * @param aContent the element that's being moved + * @param aOldDocument the old document in which the + * content resided. + * @param aDestructorHandling whether or not to run the possible XBL + * destructor. + */ + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum nsBindingManager_DestructorHandling { + eRunDtor = 0, + eDoNotRunDtor = 1, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsBindingManager_cycleCollection { + pub _base: root::nsXPCOMCycleCollectionParticipant, + } + #[test] + fn bindgen_test_layout_nsBindingManager_cycleCollection() { + assert_eq!(::std::mem::size_of::<nsBindingManager_cycleCollection>() , + 16usize , concat ! ( + "Size of: " , stringify ! ( + nsBindingManager_cycleCollection ) )); + assert_eq! (::std::mem::align_of::<nsBindingManager_cycleCollection>() + , 8usize , concat ! ( + "Alignment of " , stringify ! ( + nsBindingManager_cycleCollection ) )); + } + impl Clone for nsBindingManager_cycleCollection { + fn clone(&self) -> Self { *self } + } + pub type nsBindingManager_WrapperHashtable = u8; + extern "C" { + #[link_name = "_ZN16nsBindingManager21_cycleCollectorGlobalE"] + pub static mut nsBindingManager__cycleCollectorGlobal: + root::nsBindingManager_cycleCollection; + } + #[test] + fn bindgen_test_layout_nsBindingManager() { + assert_eq!(::std::mem::size_of::<nsBindingManager>() , 80usize , + concat ! ( "Size of: " , stringify ! ( nsBindingManager ) + )); + assert_eq! (::std::mem::align_of::<nsBindingManager>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsBindingManager ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mRefCnt as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mRefCnt ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . + mBoundContentSet as * const _ as usize } , 16usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mBoundContentSet ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mWrapperTable + as * const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mWrapperTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mDocumentTable + as * const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mDocumentTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . + mLoadingDocTable as * const _ as usize } , 40usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mLoadingDocTable ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mAttachedStack + as * const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mAttachedStack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . + mProcessingAttachedStack as * const _ as usize } , 56usize + , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mProcessingAttachedStack ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mDestroyed as + * const _ as usize } , 57usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mDestroyed ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . + mAttachedStackSizeOnOutermost as * const _ as usize } , + 60usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mAttachedStackSizeOnOutermost ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . + mProcessAttachedQueueEvent as * const _ as usize } , + 64usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mProcessAttachedQueueEvent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsBindingManager ) ) . mDocument as * + const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( nsBindingManager ) + , "::" , stringify ! ( mDocument ) )); + } + #[repr(C)] #[derive(Debug)] pub struct nsCSSCounterStyleRule { pub _base: root::mozilla::css::Rule, @@ -22602,7 +25725,6 @@ pub mod root { * is supported by all content objects. */ #[repr(C)] - #[derive(Debug)] pub struct nsIContent { pub _base: root::nsINode, } @@ -22687,10 +25809,59 @@ pub mod root { assert_eq! (::std::mem::align_of::<nsIContent>() , 8usize , concat ! ( "Alignment of " , stringify ! ( nsIContent ) )); } + /** + * An nsStyleContext represents the computed style data for an element. + * The computed style data are stored in a set of structs (see + * nsStyleStruct.h) that are cached either on the style context or in + * the rule tree (see nsRuleNode.h for a description of this caching and + * how the cached structs are shared). + * + * Since the data in |nsIStyleRule|s and |nsRuleNode|s are immutable + * (with a few exceptions, like system color changes), the data in an + * nsStyleContext are also immutable (with the additional exception of + * GetUniqueStyleData). When style data change, + * ElementRestyler::Restyle creates a new style context. + * + * Style contexts are reference counted. References are generally held + * by: + * 1. the |nsIFrame|s that are using the style context and + * 2. any *child* style contexts (this might be the reverse of + * expectation, but it makes sense in this case) + */ #[repr(C)] - #[derive(Debug, Copy, Clone)] + #[derive(Debug)] pub struct nsStyleContext { - _unused: [u8; 0], + pub mParent: root::RefPtr<root::nsStyleContext>, + pub mPseudoTag: root::nsCOMPtr, + pub mBits: u64, + pub mRefCnt: u32, + } + #[test] + fn bindgen_test_layout_nsStyleContext() { + assert_eq!(::std::mem::size_of::<nsStyleContext>() , 32usize , concat + ! ( "Size of: " , stringify ! ( nsStyleContext ) )); + assert_eq! (::std::mem::align_of::<nsStyleContext>() , 8usize , concat + ! ( "Alignment of " , stringify ! ( nsStyleContext ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContext ) ) . mParent as * + const _ as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContext ) , + "::" , stringify ! ( mParent ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContext ) ) . mPseudoTag as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContext ) , + "::" , stringify ! ( mPseudoTag ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContext ) ) . mBits as * const + _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContext ) , + "::" , stringify ! ( mBits ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsStyleContext ) ) . mRefCnt as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( nsStyleContext ) , + "::" , stringify ! ( mRefCnt ) )); } #[repr(C)] pub struct nsPresContext { @@ -25787,7 +28958,6 @@ pub mod root { } pub const kNameSpaceID_None: i32 = 0; #[repr(C)] - #[derive(Debug)] pub struct nsNodeInfoManager { pub mRefCnt: root::nsCycleCollectingAutoRefCnt, pub mNodeInfoHash: *mut root::PLHashTable, @@ -26206,7 +29376,6 @@ pub mod root { _unused: [u8; 0], } #[repr(C)] - #[derive(Debug)] pub struct nsDOMAttributeMap { pub _base: root::nsIDOMMozNamedAttrMap, pub _base_1: root::nsWrapperCache, @@ -26353,57 +29522,57 @@ pub mod root { pub struct nsDOMMutationObserver { _unused: [u8; 0], } - pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_HAS_LISTENERMANAGER; - pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_HAS_PROPERTIES; - pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_IS_ANONYMOUS_ROOT; - pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; - pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_IS_NATIVE_ANONYMOUS_ROOT; - pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_FORCE_XBL_BINDINGS; - pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_MAY_BE_IN_BINDING_MNGR; - pub const NODE_IS_EDITABLE: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_IS_EDITABLE; - pub const NODE_IS_NATIVE_ANONYMOUS: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_IS_NATIVE_ANONYMOUS; - pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_IS_IN_SHADOW_TREE; - pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_HAS_EMPTY_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_HAS_SLOW_SELECTOR; - pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_HAS_EDGE_CHILD_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; - pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_ALL_SELECTOR_FLAGS; - pub const NODE_NEEDS_FRAME: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_NEEDS_FRAME; - pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_DESCENDANTS_NEED_FRAMES; - pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_HAS_ACCESSKEY; - pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_HAS_DIRECTION_RTL; - pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_HAS_DIRECTION_LTR; - pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_ALL_DIRECTION_FLAGS; - pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_CHROME_ONLY_ACCESS; - pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; - pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_77 = - _bindgen_ty_77::NODE_TYPE_SPECIFIC_BITS_OFFSET; + pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_LISTENERMANAGER; + pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_PROPERTIES; + pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_ANONYMOUS_ROOT; + pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; + pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_NATIVE_ANONYMOUS_ROOT; + pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_FORCE_XBL_BINDINGS; + pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_MAY_BE_IN_BINDING_MNGR; + pub const NODE_IS_EDITABLE: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_EDITABLE; + pub const NODE_IS_NATIVE_ANONYMOUS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_NATIVE_ANONYMOUS; + pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_IN_SHADOW_TREE; + pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_EMPTY_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_SLOW_SELECTOR; + pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_EDGE_CHILD_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; + pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_ALL_SELECTOR_FLAGS; + pub const NODE_NEEDS_FRAME: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_NEEDS_FRAME; + pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_DESCENDANTS_NEED_FRAMES; + pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_ACCESSKEY; + pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_DIRECTION_RTL; + pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_HAS_DIRECTION_LTR; + pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_ALL_DIRECTION_FLAGS; + pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_CHROME_ONLY_ACCESS; + pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; + pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_18 = + _bindgen_ty_18::NODE_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_77 { + pub enum _bindgen_ty_18 { NODE_HAS_LISTENERMANAGER = 4, NODE_HAS_PROPERTIES = 8, NODE_IS_ANONYMOUS_ROOT = 16, @@ -26440,7 +29609,6 @@ pub mod root { _unused: [u8; 0], } #[repr(C)] - #[derive(Debug)] pub struct nsXBLBinding { pub mRefCnt: root::nsCycleCollectingAutoRefCnt, pub mMarkedForDeath: bool, @@ -27559,7 +30727,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] pub struct CapturingContentInfo { pub mAllowed: bool, pub mPointerLock: bool, @@ -27913,6 +31080,58 @@ pub mod root { } #[repr(C)] #[derive(Debug, Copy, Clone)] + pub struct nsIInterfaceInfo { + _unused: [u8; 0], + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsIXPConnectJSObjectHolder { + pub _base: root::nsISupports, + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsIXPConnectJSObjectHolder_COMTypeInfo { + pub _address: u8, + } + #[test] + fn bindgen_test_layout_nsIXPConnectJSObjectHolder() { + assert_eq!(::std::mem::size_of::<nsIXPConnectJSObjectHolder>() , + 8usize , concat ! ( + "Size of: " , stringify ! ( nsIXPConnectJSObjectHolder ) + )); + assert_eq! (::std::mem::align_of::<nsIXPConnectJSObjectHolder>() , + 8usize , concat ! ( + "Alignment of " , stringify ! ( nsIXPConnectJSObjectHolder + ) )); + } + impl Clone for nsIXPConnectJSObjectHolder { + fn clone(&self) -> Self { *self } + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsIXPConnectWrappedJS { + pub _base: root::nsIXPConnectJSObjectHolder, + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsIXPConnectWrappedJS_COMTypeInfo { + pub _address: u8, + } + #[test] + fn bindgen_test_layout_nsIXPConnectWrappedJS() { + assert_eq!(::std::mem::size_of::<nsIXPConnectWrappedJS>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsIXPConnectWrappedJS ) )); + assert_eq! (::std::mem::align_of::<nsIXPConnectWrappedJS>() , 8usize , + concat ! ( + "Alignment of " , stringify ! ( nsIXPConnectWrappedJS ) + )); + } + impl Clone for nsIXPConnectWrappedJS { + fn clone(&self) -> Self { *self } + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] pub struct nsISimpleEnumerator { _unused: [u8; 0], } @@ -28660,353 +31879,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] - pub struct nsStyleDisplay { - pub mBinding: root::BindingHolder, - pub mDisplay: root::mozilla::StyleDisplay, - pub mOriginalDisplay: root::mozilla::StyleDisplay, - pub mContain: u8, - pub mAppearance: u8, - pub mPosition: u8, - pub mFloat: root::mozilla::StyleFloat, - pub mOriginalFloat: root::mozilla::StyleFloat, - pub mBreakType: root::mozilla::StyleClear, - pub mBreakInside: u8, - pub mBreakBefore: bool, - pub mBreakAfter: bool, - pub mOverflowX: u8, - pub mOverflowY: u8, - pub mOverflowClipBox: u8, - pub mResize: u8, - pub mOrient: root::mozilla::StyleOrient, - pub mIsolation: u8, - pub mTopLayer: u8, - pub mWillChangeBitField: u8, - pub mWillChange: root::nsCOMArray, - pub mTouchAction: u8, - pub mScrollBehavior: u8, - pub mScrollSnapTypeX: u8, - pub mScrollSnapTypeY: u8, - pub mScrollSnapPointsX: root::nsStyleCoord, - pub mScrollSnapPointsY: root::nsStyleCoord, - pub mScrollSnapDestination: root::mozilla::Position, - pub mScrollSnapCoordinate: root::nsTArray<root::mozilla::Position>, - pub mBackfaceVisibility: u8, - pub mTransformStyle: u8, - pub mTransformBox: root::nsStyleDisplay_StyleGeometryBox, - pub mSpecifiedTransform: root::RefPtr<root::nsCSSValueSharedList>, - pub mTransformOrigin: [root::nsStyleCoord; 3usize], - pub mChildPerspective: root::nsStyleCoord, - pub mPerspectiveOrigin: [root::nsStyleCoord; 2usize], - pub mVerticalAlign: root::nsStyleCoord, - pub mTransitions: root::nsStyleAutoArray<root::mozilla::StyleTransition>, - pub mTransitionTimingFunctionCount: u32, - pub mTransitionDurationCount: u32, - pub mTransitionDelayCount: u32, - pub mTransitionPropertyCount: u32, - pub mAnimations: root::nsStyleAutoArray<root::mozilla::StyleAnimation>, - pub mAnimationTimingFunctionCount: u32, - pub mAnimationDurationCount: u32, - pub mAnimationDelayCount: u32, - pub mAnimationNameCount: u32, - pub mAnimationDirectionCount: u32, - pub mAnimationFillModeCount: u32, - pub mAnimationPlayStateCount: u32, - pub mAnimationIterationCountCount: u32, - pub mShapeOutside: root::mozilla::StyleShapeSource, - } - pub use self::super::root::mozilla::StyleGeometryBox as - nsStyleDisplay_StyleGeometryBox; - pub const nsStyleDisplay_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleDisplay() { - assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 416usize , concat - ! ( "Size of: " , stringify ! ( nsStyleDisplay ) )); - assert_eq! (::std::mem::align_of::<nsStyleDisplay>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mBinding as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBinding ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mDisplay as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mDisplay ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalDisplay - as * const _ as usize } , 9usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOriginalDisplay ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mContain as * - const _ as usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mContain ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mAppearance as * - const _ as usize } , 11usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAppearance ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mPosition as * - const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mPosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mFloat as * - const _ as usize } , 13usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mFloat ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOriginalFloat - as * const _ as usize } , 14usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOriginalFloat ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakType as * - const _ as usize } , 15usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBreakType ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakInside as - * const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBreakInside ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakBefore as - * const _ as usize } , 17usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBreakBefore ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mBreakAfter as * - const _ as usize } , 18usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBreakAfter ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowX as * - const _ as usize } , 19usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOverflowX ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowY as * - const _ as usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOverflowY ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOverflowClipBox - as * const _ as usize } , 21usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOverflowClipBox ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mResize as * - const _ as usize } , 22usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mResize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mOrient as * - const _ as usize } , 23usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mOrient ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mIsolation as * - const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mIsolation ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTopLayer as * - const _ as usize } , 25usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTopLayer ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mWillChangeBitField as * const _ as usize } , 26usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mWillChangeBitField ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mWillChange as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mWillChange ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTouchAction as - * const _ as usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTouchAction ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollBehavior - as * const _ as usize } , 41usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollBehavior ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeX - as * const _ as usize } , 42usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapTypeX ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mScrollSnapTypeY - as * const _ as usize } , 43usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapTypeY ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mScrollSnapPointsX as * const _ as usize } , 48usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapPointsX ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mScrollSnapPointsY as * const _ as usize } , 64usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapPointsY ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mScrollSnapDestination as * const _ as usize } , 80usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapDestination ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mScrollSnapCoordinate as * const _ as usize } , 104usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mScrollSnapCoordinate ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mBackfaceVisibility as * const _ as usize } , 112usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mBackfaceVisibility ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformStyle - as * const _ as usize } , 113usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransformStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformBox as - * const _ as usize } , 114usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransformBox ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mSpecifiedTransform as * const _ as usize } , 120usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mSpecifiedTransform ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTransformOrigin - as * const _ as usize } , 128usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransformOrigin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mChildPerspective as * const _ as usize } , 176usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mChildPerspective ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mPerspectiveOrigin as * const _ as usize } , 192usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mPerspectiveOrigin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mVerticalAlign - as * const _ as usize } , 224usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mVerticalAlign ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mTransitions as - * const _ as usize } , 240usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransitions ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mTransitionTimingFunctionCount as * const _ as usize } , - 288usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransitionTimingFunctionCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mTransitionDurationCount as * const _ as usize } , - 292usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransitionDurationCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mTransitionDelayCount as * const _ as usize } , 296usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransitionDelayCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mTransitionPropertyCount as * const _ as usize } , - 300usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mTransitionPropertyCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mAnimations as * - const _ as usize } , 304usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimations ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationTimingFunctionCount as * const _ as usize } , - 368usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationTimingFunctionCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationDurationCount as * const _ as usize } , 372usize - , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationDurationCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationDelayCount as * const _ as usize } , 376usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationDelayCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationNameCount as * const _ as usize } , 380usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationNameCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationDirectionCount as * const _ as usize } , - 384usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationDirectionCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationFillModeCount as * const _ as usize } , 388usize - , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationFillModeCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationPlayStateCount as * const _ as usize } , - 392usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationPlayStateCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . - mAnimationIterationCountCount as * const _ as usize } , - 396usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mAnimationIterationCountCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleDisplay ) ) . mShapeOutside as - * const _ as usize } , 400usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleDisplay ) , - "::" , stringify ! ( mShapeOutside ) )); - } - #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct nsBidi { _unused: [u8; 0], @@ -31650,7 +34522,7 @@ pub mod root { pub _base_4: root::nsITimedChannel, pub mRefCnt: root::nsAutoRefCnt, pub mBehaviour: root::mozilla::UniquePtr<root::ProxyBehaviour>, - pub mURI: root::RefPtr<root::imgRequestProxy_ImageURL>, + pub mURI: root::RefPtr<root::mozilla::image::ImageURL>, pub mListener: *mut root::imgINotificationObserver, pub mLoadGroup: root::nsCOMPtr, pub mLoadFlags: root::nsLoadFlags, @@ -32790,7 +35662,7 @@ pub mod root { pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt, pub mLoader: *mut root::imgLoader, pub mRequest: root::nsCOMPtr, - pub mURI: root::RefPtr<root::imgRequest_ImageURL>, + pub mURI: root::RefPtr<root::mozilla::image::ImageURL>, pub mCurrentURI: root::nsCOMPtr, pub mLoadingPrincipal: root::nsCOMPtr, pub mPrincipal: root::nsCOMPtr, @@ -32817,8 +35689,8 @@ pub mod root { pub mImageErrorCode: root::nsresult, pub mBoostCategoriesRequested: u32, pub mMutex: root::mozilla::Mutex, - pub mProgressTracker: root::RefPtr<root::imgRequest_ProgressTracker>, - pub mImage: root::RefPtr<root::imgRequest_Image>, + pub mProgressTracker: root::RefPtr<root::mozilla::image::ProgressTracker>, + pub mImage: root::RefPtr<root::mozilla::image::Image>, pub _bitfield_1: u8, pub __bindgen_padding_0: [u8; 7usize], } @@ -32832,7 +35704,7 @@ pub mod root { pub type imgRequest_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_imgRequest() { - assert_eq!(::std::mem::size_of::<imgRequest>() , 384usize , concat ! ( + assert_eq!(::std::mem::size_of::<imgRequest>() , 408usize , concat ! ( "Size of: " , stringify ! ( imgRequest ) )); assert_eq! (::std::mem::align_of::<imgRequest>() , 8usize , concat ! ( "Alignment of " , stringify ! ( imgRequest ) )); @@ -33103,157 +35975,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStyleVisibility { - pub mImageOrientation: root::nsStyleImageOrientation, - pub mDirection: u8, - pub mVisible: u8, - pub mImageRendering: u8, - pub mWritingMode: u8, - pub mTextOrientation: u8, - pub mColorAdjust: u8, - } - pub const nsStyleVisibility_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleVisibility() { - assert_eq!(::std::mem::size_of::<nsStyleVisibility>() , 7usize , - concat ! ( "Size of: " , stringify ! ( nsStyleVisibility ) - )); - assert_eq! (::std::mem::align_of::<nsStyleVisibility>() , 1usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleVisibility ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . - mImageOrientation as * const _ as usize } , 0usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mImageOrientation ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . mDirection as - * const _ as usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mDirection ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . mVisible as * - const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mVisible ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . - mImageRendering as * const _ as usize } , 3usize , concat - ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mImageRendering ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . mWritingMode - as * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mWritingMode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . - mTextOrientation as * const _ as usize } , 5usize , concat - ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mTextOrientation ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVisibility ) ) . mColorAdjust - as * const _ as usize } , 6usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVisibility ) - , "::" , stringify ! ( mColorAdjust ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleFont { - pub mFont: root::nsFont, - pub mSize: root::nscoord, - pub mGenericID: u8, - pub mScriptLevel: i8, - pub mMathVariant: u8, - pub mMathDisplay: u8, - pub mMinFontSizeRatio: u8, - pub mExplicitLanguage: bool, - pub mAllowZoom: bool, - pub mScriptUnconstrainedSize: root::nscoord, - pub mScriptMinSize: root::nscoord, - pub mScriptSizeMultiplier: f32, - pub mLanguage: root::nsCOMPtr, - } - pub const nsStyleFont_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleFont() { - assert_eq!(::std::mem::size_of::<nsStyleFont>() , 120usize , concat ! - ( "Size of: " , stringify ! ( nsStyleFont ) )); - assert_eq! (::std::mem::align_of::<nsStyleFont>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( nsStyleFont ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mFont as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mFont ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mSize as * const _ - as usize } , 88usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mSize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mGenericID as * - const _ as usize } , 92usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mGenericID ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mScriptLevel as * - const _ as usize } , 93usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mScriptLevel ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mMathVariant as * - const _ as usize } , 94usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mMathVariant ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mMathDisplay as * - const _ as usize } , 95usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mMathDisplay ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mMinFontSizeRatio - as * const _ as usize } , 96usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mMinFontSizeRatio ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mExplicitLanguage - as * const _ as usize } , 97usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mExplicitLanguage ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mAllowZoom as * - const _ as usize } , 98usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mAllowZoom ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . - mScriptUnconstrainedSize as * const _ as usize } , - 100usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mScriptUnconstrainedSize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mScriptMinSize as * - const _ as usize } , 104usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mScriptMinSize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . - mScriptSizeMultiplier as * const _ as usize } , 108usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mScriptSizeMultiplier ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleFont ) ) . mLanguage as * - const _ as usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleFont ) , - "::" , stringify ! ( mLanguage ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsStyleGradientStop { pub mLocation: root::nsStyleCoord, pub mColor: root::nscolor, @@ -33593,24 +36314,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStyleColor { - pub mColor: root::nscolor, - } - pub const nsStyleColor_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleColor() { - assert_eq!(::std::mem::size_of::<nsStyleColor>() , 4usize , concat ! ( - "Size of: " , stringify ! ( nsStyleColor ) )); - assert_eq! (::std::mem::align_of::<nsStyleColor>() , 4usize , concat ! - ( "Alignment of " , stringify ! ( nsStyleColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColor ) ) . mColor as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColor ) , - "::" , stringify ! ( mColor ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsStyleImageLayers { pub mAttachmentCount: u32, pub mClipCount: u32, @@ -33957,69 +36660,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStyleBackground { - pub mImage: root::nsStyleImageLayers, - pub mBackgroundColor: root::mozilla::StyleComplexColor, - } - pub const nsStyleBackground_kHasFinishStyle: bool = true; - #[test] - fn bindgen_test_layout_nsStyleBackground() { - assert_eq!(::std::mem::size_of::<nsStyleBackground>() , 160usize , - concat ! ( "Size of: " , stringify ! ( nsStyleBackground ) - )); - assert_eq! (::std::mem::align_of::<nsStyleBackground>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleBackground ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBackground ) ) . mImage as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBackground ) - , "::" , stringify ! ( mImage ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBackground ) ) . - mBackgroundColor as * const _ as usize } , 152usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBackground ) - , "::" , stringify ! ( mBackgroundColor ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleMargin { - pub mMargin: root::nsStyleSides, - } - pub const nsStyleMargin_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleMargin() { - assert_eq!(::std::mem::size_of::<nsStyleMargin>() , 40usize , concat ! - ( "Size of: " , stringify ! ( nsStyleMargin ) )); - assert_eq! (::std::mem::align_of::<nsStyleMargin>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleMargin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleMargin ) ) . mMargin as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleMargin ) , - "::" , stringify ! ( mMargin ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStylePadding { - pub mPadding: root::nsStyleSides, - } - pub const nsStylePadding_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStylePadding() { - assert_eq!(::std::mem::size_of::<nsStylePadding>() , 40usize , concat - ! ( "Size of: " , stringify ! ( nsStylePadding ) )); - assert_eq! (::std::mem::align_of::<nsStylePadding>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStylePadding ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePadding ) ) . mPadding as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePadding ) , - "::" , stringify ! ( mPadding ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsBorderColors { pub mNext: *mut root::nsBorderColors, pub mColor: root::nscolor, @@ -34127,250 +36767,6 @@ pub mod root { "Alignment of field: " , stringify ! ( nsCSSShadowArray ) , "::" , stringify ! ( mArray ) )); } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleBorder { - pub mBorderColors: *mut *mut root::nsBorderColors, - pub mBorderRadius: root::nsStyleCorners, - pub mBorderImageSource: root::nsStyleImage, - pub mBorderImageSlice: root::nsStyleSides, - pub mBorderImageWidth: root::nsStyleSides, - pub mBorderImageOutset: root::nsStyleSides, - pub mBorderImageFill: u8, - pub mBorderImageRepeatH: u8, - pub mBorderImageRepeatV: u8, - pub mFloatEdge: root::mozilla::StyleFloatEdge, - pub mBoxDecorationBreak: root::mozilla::StyleBoxDecorationBreak, - pub mBorderStyle: [u8; 4usize], - pub __bindgen_anon_1: root::nsStyleBorder__bindgen_ty_1, - pub mComputedBorder: root::nsMargin, - pub mBorder: root::nsMargin, - pub mTwipsPerPixel: root::nscoord, - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct nsStyleBorder__bindgen_ty_1 { - pub __bindgen_anon_1: root::__BindgenUnionField<root::nsStyleBorder__bindgen_ty_1__bindgen_ty_1>, - pub mBorderColor: root::__BindgenUnionField<[root::mozilla::StyleComplexColor; 4usize]>, - pub bindgen_union_field: [u32; 8usize], - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { - pub mBorderTopColor: root::mozilla::StyleComplexColor, - pub mBorderRightColor: root::mozilla::StyleComplexColor, - pub mBorderBottomColor: root::mozilla::StyleComplexColor, - pub mBorderLeftColor: root::mozilla::StyleComplexColor, - } - #[test] - fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() - , 32usize , concat ! ( - "Size of: " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); - assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1__bindgen_ty_1>() - , 4usize , concat ! ( - "Alignment of " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) )); - assert_eq! (unsafe { - & ( - * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 - ) ) . mBorderTopColor as * const _ as usize } , 0usize , - concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , - stringify ! ( mBorderTopColor ) )); - assert_eq! (unsafe { - & ( - * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 - ) ) . mBorderRightColor as * const _ as usize } , 8usize , - concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , - stringify ! ( mBorderRightColor ) )); - assert_eq! (unsafe { - & ( - * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 - ) ) . mBorderBottomColor as * const _ as usize } , 16usize - , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , - stringify ! ( mBorderBottomColor ) )); - assert_eq! (unsafe { - & ( - * ( 0 as * const nsStyleBorder__bindgen_ty_1__bindgen_ty_1 - ) ) . mBorderLeftColor as * const _ as usize } , 24usize , - concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleBorder__bindgen_ty_1__bindgen_ty_1 ) , "::" , - stringify ! ( mBorderLeftColor ) )); - } - impl Clone for nsStyleBorder__bindgen_ty_1__bindgen_ty_1 { - fn clone(&self) -> Self { *self } - } - #[test] - fn bindgen_test_layout_nsStyleBorder__bindgen_ty_1() { - assert_eq!(::std::mem::size_of::<nsStyleBorder__bindgen_ty_1>() , - 32usize , concat ! ( - "Size of: " , stringify ! ( nsStyleBorder__bindgen_ty_1 ) - )); - assert_eq! (::std::mem::align_of::<nsStyleBorder__bindgen_ty_1>() , - 4usize , concat ! ( - "Alignment of " , stringify ! ( - nsStyleBorder__bindgen_ty_1 ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder__bindgen_ty_1 ) ) . - mBorderColor as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleBorder__bindgen_ty_1 ) , "::" , stringify ! ( - mBorderColor ) )); - } - impl Clone for nsStyleBorder__bindgen_ty_1 { - fn clone(&self) -> Self { *self } - } - pub const nsStyleBorder_kHasFinishStyle: bool = true; - #[test] - fn bindgen_test_layout_nsStyleBorder() { - assert_eq!(::std::mem::size_of::<nsStyleBorder>() , 312usize , concat - ! ( "Size of: " , stringify ! ( nsStyleBorder ) )); - assert_eq! (::std::mem::align_of::<nsStyleBorder>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleBorder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderColors as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderColors ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderRadius as - * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderRadius ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . - mBorderImageSource as * const _ as usize } , 80usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageSource ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageSlice - as * const _ as usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageSlice ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageWidth - as * const _ as usize } , 152usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . - mBorderImageOutset as * const _ as usize } , 192usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageOutset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderImageFill - as * const _ as usize } , 232usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageFill ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . - mBorderImageRepeatH as * const _ as usize } , 233usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageRepeatH ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . - mBorderImageRepeatV as * const _ as usize } , 234usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderImageRepeatV ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mFloatEdge as * - const _ as usize } , 235usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mFloatEdge ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . - mBoxDecorationBreak as * const _ as usize } , 236usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBoxDecorationBreak ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorderStyle as * - const _ as usize } , 237usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorderStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mComputedBorder - as * const _ as usize } , 276usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mComputedBorder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mBorder as * - const _ as usize } , 292usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mBorder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleBorder ) ) . mTwipsPerPixel as - * const _ as usize } , 308usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleBorder ) , - "::" , stringify ! ( mTwipsPerPixel ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleOutline { - pub mOutlineRadius: root::nsStyleCorners, - pub mOutlineWidth: root::nscoord, - pub mOutlineOffset: root::nscoord, - pub mOutlineColor: root::mozilla::StyleComplexColor, - pub mOutlineStyle: u8, - pub mActualOutlineWidth: root::nscoord, - pub mTwipsPerPixel: root::nscoord, - } - pub const nsStyleOutline_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleOutline() { - assert_eq!(::std::mem::size_of::<nsStyleOutline>() , 104usize , concat - ! ( "Size of: " , stringify ! ( nsStyleOutline ) )); - assert_eq! (::std::mem::align_of::<nsStyleOutline>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleOutline ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineRadius - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mOutlineRadius ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineWidth as - * const _ as usize } , 72usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mOutlineWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineOffset - as * const _ as usize } , 76usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mOutlineOffset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineColor as - * const _ as usize } , 80usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mOutlineColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mOutlineStyle as - * const _ as usize } , 88usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mOutlineStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . - mActualOutlineWidth as * const _ as usize } , 92usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mActualOutlineWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleOutline ) ) . mTwipsPerPixel - as * const _ as usize } , 96usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleOutline ) , - "::" , stringify ! ( mTwipsPerPixel ) )); - } /** * An object that allows sharing of arrays that store 'quotes' property * values. This is particularly important for inheritance, where we want @@ -34404,80 +36800,6 @@ pub mod root { "Alignment of field: " , stringify ! ( nsStyleQuoteValues ) , "::" , stringify ! ( mQuotePairs ) )); } - #[test] - fn __bindgen_test_layout_StaticRefPtr_instantiation_80() { - assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); - } - #[test] - fn __bindgen_test_layout_StaticRefPtr_instantiation_81() { - assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleList { - pub mListStylePosition: u8, - pub mListStyleImage: root::RefPtr<root::nsStyleImageRequest>, - pub mCounterStyle: root::mozilla::CounterStylePtr, - pub mQuotes: root::RefPtr<root::nsStyleQuoteValues>, - pub mImageRegion: root::nsRect, - } - pub const nsStyleList_kHasFinishStyle: bool = true; - extern "C" { - #[link_name = "_ZN11nsStyleList14sInitialQuotesE"] - pub static mut nsStyleList_sInitialQuotes: - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>; - } - extern "C" { - #[link_name = "_ZN11nsStyleList11sNoneQuotesE"] - pub static mut nsStyleList_sNoneQuotes: - root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>; - } - #[test] - fn bindgen_test_layout_nsStyleList() { - assert_eq!(::std::mem::size_of::<nsStyleList>() , 48usize , concat ! ( - "Size of: " , stringify ! ( nsStyleList ) )); - assert_eq! (::std::mem::align_of::<nsStyleList>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( nsStyleList ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleList ) ) . mListStylePosition - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleList ) , - "::" , stringify ! ( mListStylePosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleList ) ) . mListStyleImage as - * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleList ) , - "::" , stringify ! ( mListStyleImage ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleList ) ) . mCounterStyle as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleList ) , - "::" , stringify ! ( mCounterStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleList ) ) . mQuotes as * const - _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleList ) , - "::" , stringify ! ( mQuotes ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleList ) ) . mImageRegion as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleList ) , - "::" , stringify ! ( mImageRegion ) )); - } #[repr(C)] #[derive(Debug)] pub struct nsStyleGridLine { @@ -34656,250 +36978,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStylePosition { - pub mObjectPosition: root::mozilla::Position, - pub mOffset: root::nsStyleSides, - pub mWidth: root::nsStyleCoord, - pub mMinWidth: root::nsStyleCoord, - pub mMaxWidth: root::nsStyleCoord, - pub mHeight: root::nsStyleCoord, - pub mMinHeight: root::nsStyleCoord, - pub mMaxHeight: root::nsStyleCoord, - pub mFlexBasis: root::nsStyleCoord, - pub mGridAutoColumnsMin: root::nsStyleCoord, - pub mGridAutoColumnsMax: root::nsStyleCoord, - pub mGridAutoRowsMin: root::nsStyleCoord, - pub mGridAutoRowsMax: root::nsStyleCoord, - pub mGridAutoFlow: u8, - pub mBoxSizing: root::mozilla::StyleBoxSizing, - pub mAlignContent: u16, - pub mAlignItems: u8, - pub mAlignSelf: u8, - pub mJustifyContent: u16, - pub mJustifyItems: u8, - pub mJustifySelf: u8, - pub mFlexDirection: u8, - pub mFlexWrap: u8, - pub mObjectFit: u8, - pub mOrder: i32, - pub mFlexGrow: f32, - pub mFlexShrink: f32, - pub mZIndex: root::nsStyleCoord, - pub mGridTemplateColumns: root::nsStyleGridTemplate, - pub mGridTemplateRows: root::nsStyleGridTemplate, - pub mGridTemplateAreas: root::RefPtr<root::mozilla::css::GridTemplateAreasValue>, - pub mGridColumnStart: root::nsStyleGridLine, - pub mGridColumnEnd: root::nsStyleGridLine, - pub mGridRowStart: root::nsStyleGridLine, - pub mGridRowEnd: root::nsStyleGridLine, - pub mGridColumnGap: root::nsStyleCoord, - pub mGridRowGap: root::nsStyleCoord, - } - pub const nsStylePosition_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStylePosition() { - assert_eq!(::std::mem::size_of::<nsStylePosition>() , 520usize , - concat ! ( "Size of: " , stringify ! ( nsStylePosition ) - )); - assert_eq! (::std::mem::align_of::<nsStylePosition>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStylePosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mObjectPosition - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mObjectPosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mOffset as * - const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mOffset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mWidth as * - const _ as usize } , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mMinWidth as * - const _ as usize } , 80usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mMinWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mMaxWidth as * - const _ as usize } , 96usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mMaxWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mHeight as * - const _ as usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mHeight ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mMinHeight as * - const _ as usize } , 128usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mMinHeight ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mMaxHeight as * - const _ as usize } , 144usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mMaxHeight ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mFlexBasis as * - const _ as usize } , 160usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mFlexBasis ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridAutoColumnsMin as * const _ as usize } , 176usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridAutoColumnsMin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridAutoColumnsMax as * const _ as usize } , 192usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridAutoColumnsMax ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridAutoRowsMin as * const _ as usize } , 208usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridAutoRowsMin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridAutoRowsMax as * const _ as usize } , 224usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridAutoRowsMax ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridAutoFlow - as * const _ as usize } , 240usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridAutoFlow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mBoxSizing as * - const _ as usize } , 241usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mBoxSizing ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mAlignContent - as * const _ as usize } , 242usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mAlignContent ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mAlignItems as - * const _ as usize } , 244usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mAlignItems ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mAlignSelf as * - const _ as usize } , 245usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mAlignSelf ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mJustifyContent - as * const _ as usize } , 246usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mJustifyContent ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mJustifyItems - as * const _ as usize } , 248usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mJustifyItems ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mJustifySelf as - * const _ as usize } , 249usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mJustifySelf ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mFlexDirection - as * const _ as usize } , 250usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mFlexDirection ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mFlexWrap as * - const _ as usize } , 251usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mFlexWrap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mObjectFit as * - const _ as usize } , 252usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mObjectFit ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mOrder as * - const _ as usize } , 256usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mOrder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mFlexGrow as * - const _ as usize } , 260usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mFlexGrow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mFlexShrink as - * const _ as usize } , 264usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mFlexShrink ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mZIndex as * - const _ as usize } , 272usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mZIndex ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridTemplateColumns as * const _ as usize } , 288usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridTemplateColumns ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridTemplateRows as * const _ as usize } , 336usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridTemplateRows ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridTemplateAreas as * const _ as usize } , 384usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridTemplateAreas ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . - mGridColumnStart as * const _ as usize } , 392usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridColumnStart ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnEnd - as * const _ as usize } , 416usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridColumnEnd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridRowStart - as * const _ as usize } , 440usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridRowStart ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridRowEnd as - * const _ as usize } , 464usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridRowEnd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridColumnGap - as * const _ as usize } , 488usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridColumnGap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStylePosition ) ) . mGridRowGap as - * const _ as usize } , 504usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStylePosition ) , - "::" , stringify ! ( mGridRowGap ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsStyleTextOverflowSide { pub mString: ::nsstring::nsStringRepr, pub mType: u8, @@ -34959,334 +37037,6 @@ pub mod root { ) , "::" , stringify ! ( mLogicalDirections ) )); } #[repr(C)] - #[derive(Debug)] - pub struct nsStyleTextReset { - pub mTextOverflow: root::nsStyleTextOverflow, - pub mTextDecorationLine: u8, - pub mTextDecorationStyle: u8, - pub mUnicodeBidi: u8, - pub mInitialLetterSink: root::nscoord, - pub mInitialLetterSize: f32, - pub mTextDecorationColor: root::mozilla::StyleComplexColor, - } - pub const nsStyleTextReset_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleTextReset() { - assert_eq!(::std::mem::size_of::<nsStyleTextReset>() , 80usize , - concat ! ( "Size of: " , stringify ! ( nsStyleTextReset ) - )); - assert_eq! (::std::mem::align_of::<nsStyleTextReset>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleTextReset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . mTextOverflow - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mTextOverflow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . - mTextDecorationLine as * const _ as usize } , 56usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mTextDecorationLine ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . - mTextDecorationStyle as * const _ as usize } , 57usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mTextDecorationStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . mUnicodeBidi - as * const _ as usize } , 58usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mUnicodeBidi ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . - mInitialLetterSink as * const _ as usize } , 60usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mInitialLetterSink ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . - mInitialLetterSize as * const _ as usize } , 64usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mInitialLetterSize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTextReset ) ) . - mTextDecorationColor as * const _ as usize } , 68usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTextReset ) - , "::" , stringify ! ( mTextDecorationColor ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleText { - pub mTextAlign: u8, - pub mTextAlignLast: u8, - pub _bitfield_1: u8, - pub mTextJustify: root::mozilla::StyleTextJustify, - pub mTextTransform: u8, - pub mWhiteSpace: root::mozilla::StyleWhiteSpace, - pub mWordBreak: u8, - pub mOverflowWrap: u8, - pub mHyphens: root::mozilla::StyleHyphens, - pub mRubyAlign: u8, - pub mRubyPosition: u8, - pub mTextSizeAdjust: u8, - pub mTextCombineUpright: u8, - pub mControlCharacterVisibility: u8, - pub mTextEmphasisPosition: u8, - pub mTextEmphasisStyle: u8, - pub mTextRendering: u8, - pub mTextEmphasisColor: root::mozilla::StyleComplexColor, - pub mWebkitTextFillColor: root::mozilla::StyleComplexColor, - pub mWebkitTextStrokeColor: root::mozilla::StyleComplexColor, - pub mTabSize: root::nsStyleCoord, - pub mWordSpacing: root::nsStyleCoord, - pub mLetterSpacing: root::nsStyleCoord, - pub mLineHeight: root::nsStyleCoord, - pub mTextIndent: root::nsStyleCoord, - pub mWebkitTextStrokeWidth: root::nscoord, - pub mTextShadow: root::RefPtr<root::nsCSSShadowArray>, - pub mTextEmphasisStyleString: ::nsstring::nsStringRepr, - } - pub const nsStyleText_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleText() { - assert_eq!(::std::mem::size_of::<nsStyleText>() , 160usize , concat ! - ( "Size of: " , stringify ! ( nsStyleText ) )); - assert_eq! (::std::mem::align_of::<nsStyleText>() , 8usize , concat ! - ( "Alignment of " , stringify ! ( nsStyleText ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextAlign as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextAlign ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextAlignLast as * - const _ as usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextAlignLast ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextJustify as * - const _ as usize } , 3usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextJustify ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextTransform as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextTransform ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mWhiteSpace as * - const _ as usize } , 5usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWhiteSpace ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mWordBreak as * - const _ as usize } , 6usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWordBreak ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mOverflowWrap as * - const _ as usize } , 7usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mOverflowWrap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mHyphens as * const - _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mHyphens ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mRubyAlign as * - const _ as usize } , 9usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mRubyAlign ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mRubyPosition as * - const _ as usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mRubyPosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextSizeAdjust as - * const _ as usize } , 11usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextSizeAdjust ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextCombineUpright - as * const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextCombineUpright ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mControlCharacterVisibility as * const _ as usize } , - 13usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mControlCharacterVisibility ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mTextEmphasisPosition as * const _ as usize } , 14usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextEmphasisPosition ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisStyle - as * const _ as usize } , 15usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextEmphasisStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextRendering as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextRendering ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextEmphasisColor - as * const _ as usize } , 20usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextEmphasisColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mWebkitTextFillColor as * const _ as usize } , 28usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWebkitTextFillColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mWebkitTextStrokeColor as * const _ as usize } , 36usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWebkitTextStrokeColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTabSize as * const - _ as usize } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTabSize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mWordSpacing as * - const _ as usize } , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWordSpacing ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mLetterSpacing as * - const _ as usize } , 80usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mLetterSpacing ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mLineHeight as * - const _ as usize } , 96usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mLineHeight ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextIndent as * - const _ as usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextIndent ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mWebkitTextStrokeWidth as * const _ as usize } , 128usize - , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mWebkitTextStrokeWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . mTextShadow as * - const _ as usize } , 136usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextShadow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleText ) ) . - mTextEmphasisStyleString as * const _ as usize } , - 144usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleText ) , - "::" , stringify ! ( mTextEmphasisStyleString ) )); - } - impl nsStyleText { - #[inline] - pub fn mTextAlignTrue(&self) -> bool { - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - let mask = 1u64 as u8; - let val = (unit_field_val & mask) >> 0usize; - unsafe { ::std::mem::transmute(val as u8) } - } - #[inline] - pub fn set_mTextAlignTrue(&mut self, val: bool) { - let mask = 1u64 as u8; - let val = val as u8 as u8; - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - unit_field_val &= !mask; - unit_field_val |= (val << 0usize) & mask; - unsafe { - ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as - *const u8, - &mut self._bitfield_1 as - *mut _ as *mut u8, - ::std::mem::size_of::<u8>()); - } - } - #[inline] - pub fn mTextAlignLastTrue(&self) -> bool { - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - let mask = 2u64 as u8; - let val = (unit_field_val & mask) >> 1usize; - unsafe { ::std::mem::transmute(val as u8) } - } - #[inline] - pub fn set_mTextAlignLastTrue(&mut self, val: bool) { - let mask = 2u64 as u8; - let val = val as u8 as u8; - let mut unit_field_val: u8 = - unsafe { ::std::mem::uninitialized() }; - unsafe { - ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ - as *const u8, - &mut unit_field_val as *mut u8 - as *mut u8, - ::std::mem::size_of::<u8>()) - }; - unit_field_val &= !mask; - unit_field_val |= (val << 1usize) & mask; - unsafe { - ::std::ptr::copy_nonoverlapping(&unit_field_val as *const _ as - *const u8, - &mut self._bitfield_1 as - *mut _ as *mut u8, - ::std::mem::size_of::<u8>()); - } - } - #[inline] - pub fn new_bitfield_1(mTextAlignTrue: bool, mTextAlignLastTrue: bool) - -> u8 { - ({ - ({ 0 } | - ((mTextAlignTrue as u8 as u8) << 0usize) & (1u64 as u8)) - } | ((mTextAlignLastTrue as u8 as u8) << 1usize) & (2u64 as u8)) - } - } - #[repr(C)] #[derive(Debug, Copy)] pub struct nsStyleImageOrientation { pub mOrientation: u8, @@ -35490,77 +37240,6 @@ pub mod root { "Alignment of field: " , stringify ! ( BindingHolder ) , "::" , stringify ! ( mPtr ) )); } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleTable { - pub mLayoutStrategy: u8, - pub mSpan: i32, - } - pub const nsStyleTable_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleTable() { - assert_eq!(::std::mem::size_of::<nsStyleTable>() , 8usize , concat ! ( - "Size of: " , stringify ! ( nsStyleTable ) )); - assert_eq! (::std::mem::align_of::<nsStyleTable>() , 4usize , concat ! - ( "Alignment of " , stringify ! ( nsStyleTable ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTable ) ) . mLayoutStrategy as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTable ) , - "::" , stringify ! ( mLayoutStrategy ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTable ) ) . mSpan as * const _ - as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTable ) , - "::" , stringify ! ( mSpan ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleTableBorder { - pub mBorderSpacingCol: root::nscoord, - pub mBorderSpacingRow: root::nscoord, - pub mBorderCollapse: u8, - pub mCaptionSide: u8, - pub mEmptyCells: u8, - } - pub const nsStyleTableBorder_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleTableBorder() { - assert_eq!(::std::mem::size_of::<nsStyleTableBorder>() , 12usize , - concat ! ( "Size of: " , stringify ! ( nsStyleTableBorder ) - )); - assert_eq! (::std::mem::align_of::<nsStyleTableBorder>() , 4usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleTableBorder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTableBorder ) ) . - mBorderSpacingCol as * const _ as usize } , 0usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTableBorder - ) , "::" , stringify ! ( mBorderSpacingCol ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTableBorder ) ) . - mBorderSpacingRow as * const _ as usize } , 4usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTableBorder - ) , "::" , stringify ! ( mBorderSpacingRow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTableBorder ) ) . - mBorderCollapse as * const _ as usize } , 8usize , concat - ! ( - "Alignment of field: " , stringify ! ( nsStyleTableBorder - ) , "::" , stringify ! ( mBorderCollapse ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTableBorder ) ) . mCaptionSide - as * const _ as usize } , 9usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTableBorder - ) , "::" , stringify ! ( mCaptionSide ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleTableBorder ) ) . mEmptyCells - as * const _ as usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleTableBorder - ) , "::" , stringify ! ( mEmptyCells ) )); - } #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum nsStyleContentType { @@ -35715,99 +37394,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStyleContent { - pub mContents: root::nsTArray<root::nsStyleContentData>, - pub mIncrements: root::nsTArray<root::nsStyleCounterData>, - pub mResets: root::nsTArray<root::nsStyleCounterData>, - } - pub const nsStyleContent_kHasFinishStyle: bool = true; - #[test] - fn bindgen_test_layout_nsStyleContent() { - assert_eq!(::std::mem::size_of::<nsStyleContent>() , 24usize , concat - ! ( "Size of: " , stringify ! ( nsStyleContent ) )); - assert_eq! (::std::mem::align_of::<nsStyleContent>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleContent ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleContent ) ) . mContents as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleContent ) , - "::" , stringify ! ( mContents ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleContent ) ) . mIncrements as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleContent ) , - "::" , stringify ! ( mIncrements ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleContent ) ) . mResets as * - const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleContent ) , - "::" , stringify ! ( mResets ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleUIReset { - pub mUserSelect: root::mozilla::StyleUserSelect, - pub mForceBrokenImageIcon: u8, - pub mIMEMode: u8, - pub mWindowDragging: root::mozilla::StyleWindowDragging, - pub mWindowShadow: u8, - pub mWindowOpacity: f32, - pub mSpecifiedWindowTransform: root::RefPtr<root::nsCSSValueSharedList>, - pub mWindowTransformOrigin: [root::nsStyleCoord; 2usize], - } - pub const nsStyleUIReset_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleUIReset() { - assert_eq!(::std::mem::size_of::<nsStyleUIReset>() , 56usize , concat - ! ( "Size of: " , stringify ! ( nsStyleUIReset ) )); - assert_eq! (::std::mem::align_of::<nsStyleUIReset>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleUIReset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . mUserSelect as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mUserSelect ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . - mForceBrokenImageIcon as * const _ as usize } , 1usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mForceBrokenImageIcon ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . mIMEMode as * - const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mIMEMode ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowDragging - as * const _ as usize } , 3usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mWindowDragging ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowShadow as - * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mWindowShadow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . mWindowOpacity - as * const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mWindowOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . - mSpecifiedWindowTransform as * const _ as usize } , - 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mSpecifiedWindowTransform ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUIReset ) ) . - mWindowTransformOrigin as * const _ as usize } , 24usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleUIReset ) , - "::" , stringify ! ( mWindowTransformOrigin ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsCursorImage { pub mHaveHotspot: bool, pub mHotspotX: f32, @@ -35841,192 +37427,6 @@ pub mod root { "Alignment of field: " , stringify ! ( nsCursorImage ) , "::" , stringify ! ( mImage ) )); } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleUserInterface { - pub mUserInput: root::mozilla::StyleUserInput, - pub mUserModify: root::mozilla::StyleUserModify, - pub mUserFocus: root::mozilla::StyleUserFocus, - pub mPointerEvents: u8, - pub mCursor: u8, - pub mCursorImages: root::nsTArray<root::nsCursorImage>, - pub mCaretColor: root::mozilla::StyleComplexColor, - } - pub const nsStyleUserInterface_kHasFinishStyle: bool = true; - #[test] - fn bindgen_test_layout_nsStyleUserInterface() { - assert_eq!(::std::mem::size_of::<nsStyleUserInterface>() , 24usize , - concat ! ( - "Size of: " , stringify ! ( nsStyleUserInterface ) )); - assert_eq! (::std::mem::align_of::<nsStyleUserInterface>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleUserInterface ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserInput - as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( mUserInput ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . - mUserModify as * const _ as usize } , 1usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( mUserModify - ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . mUserFocus - as * const _ as usize } , 2usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( mUserFocus ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . - mPointerEvents as * const _ as usize } , 3usize , concat ! - ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( - mPointerEvents ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . mCursor as - * const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( mCursor ) - )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . - mCursorImages as * const _ as usize } , 8usize , concat ! - ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( - mCursorImages ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleUserInterface ) ) . - mCaretColor as * const _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( - nsStyleUserInterface ) , "::" , stringify ! ( mCaretColor - ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleXUL { - pub mBoxFlex: f32, - pub mBoxOrdinal: u32, - pub mBoxAlign: root::mozilla::StyleBoxAlign, - pub mBoxDirection: root::mozilla::StyleBoxDirection, - pub mBoxOrient: root::mozilla::StyleBoxOrient, - pub mBoxPack: root::mozilla::StyleBoxPack, - pub mStackSizing: root::mozilla::StyleStackSizing, - } - pub const nsStyleXUL_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleXUL() { - assert_eq!(::std::mem::size_of::<nsStyleXUL>() , 16usize , concat ! ( - "Size of: " , stringify ! ( nsStyleXUL ) )); - assert_eq! (::std::mem::align_of::<nsStyleXUL>() , 4usize , concat ! ( - "Alignment of " , stringify ! ( nsStyleXUL ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxFlex as * const - _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxFlex ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrdinal as * - const _ as usize } , 4usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxOrdinal ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxAlign as * const - _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxAlign ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxDirection as * - const _ as usize } , 9usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxDirection ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxOrient as * - const _ as usize } , 10usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxOrient ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mBoxPack as * const - _ as usize } , 11usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mBoxPack ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleXUL ) ) . mStackSizing as * - const _ as usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleXUL ) , "::" - , stringify ! ( mStackSizing ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleColumn { - pub mColumnCount: u32, - pub mColumnWidth: root::nsStyleCoord, - pub mColumnGap: root::nsStyleCoord, - pub mColumnRuleColor: root::mozilla::StyleComplexColor, - pub mColumnRuleStyle: u8, - pub mColumnFill: u8, - pub mColumnSpan: u8, - pub mColumnRuleWidth: root::nscoord, - pub mTwipsPerPixel: root::nscoord, - } - pub const nsStyleColumn_kHasFinishStyle: bool = false; - pub const nsStyleColumn_kMaxColumnCount: u32 = 1000; - #[test] - fn bindgen_test_layout_nsStyleColumn() { - assert_eq!(::std::mem::size_of::<nsStyleColumn>() , 64usize , concat ! - ( "Size of: " , stringify ! ( nsStyleColumn ) )); - assert_eq! (::std::mem::align_of::<nsStyleColumn>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleColumn ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnCount as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnCount ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnWidth as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnGap as * - const _ as usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnGap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleColor - as * const _ as usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnRuleColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleStyle - as * const _ as usize } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnRuleStyle ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnFill as * - const _ as usize } , 49usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnFill ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnSpan as * - const _ as usize } , 50usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnSpan ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mColumnRuleWidth - as * const _ as usize } , 52usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mColumnRuleWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleColumn ) ) . mTwipsPerPixel as - * const _ as usize } , 56usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleColumn ) , - "::" , stringify ! ( mTwipsPerPixel ) )); - } #[repr(u8)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum nsStyleSVGPaintType { @@ -36114,189 +37514,6 @@ pub mod root { } #[repr(C)] #[derive(Debug)] - pub struct nsStyleSVG { - pub mFill: root::nsStyleSVGPaint, - pub mStroke: root::nsStyleSVGPaint, - pub mMarkerEnd: root::RefPtr<root::mozilla::css::URLValue>, - pub mMarkerMid: root::RefPtr<root::mozilla::css::URLValue>, - pub mMarkerStart: root::RefPtr<root::mozilla::css::URLValue>, - pub mStrokeDasharray: root::nsTArray<root::nsStyleCoord>, - pub mContextProps: root::nsTArray<root::nsCOMPtr>, - pub mStrokeDashoffset: root::nsStyleCoord, - pub mStrokeWidth: root::nsStyleCoord, - pub mFillOpacity: f32, - pub mStrokeMiterlimit: f32, - pub mStrokeOpacity: f32, - pub mClipRule: root::mozilla::StyleFillRule, - pub mColorInterpolation: u8, - pub mColorInterpolationFilters: u8, - pub mFillRule: root::mozilla::StyleFillRule, - pub mPaintOrder: u8, - pub mShapeRendering: u8, - pub mStrokeLinecap: u8, - pub mStrokeLinejoin: u8, - pub mTextAnchor: u8, - pub mContextPropsBits: u8, - pub mContextFlags: u8, - } - pub const nsStyleSVG_FILL_OPACITY_SOURCE_MASK: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::FILL_OPACITY_SOURCE_MASK; - pub const nsStyleSVG_STROKE_OPACITY_SOURCE_MASK: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::STROKE_OPACITY_SOURCE_MASK; - pub const nsStyleSVG_STROKE_DASHARRAY_CONTEXT: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::STROKE_DASHARRAY_CONTEXT; - pub const nsStyleSVG_STROKE_DASHOFFSET_CONTEXT: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::STROKE_DASHOFFSET_CONTEXT; - pub const nsStyleSVG_STROKE_WIDTH_CONTEXT: root::nsStyleSVG__bindgen_ty_1 - = - nsStyleSVG__bindgen_ty_1::STROKE_WIDTH_CONTEXT; - pub const nsStyleSVG_FILL_OPACITY_SOURCE_SHIFT: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::FILL_OPACITY_SOURCE_SHIFT; - pub const nsStyleSVG_STROKE_OPACITY_SOURCE_SHIFT: - root::nsStyleSVG__bindgen_ty_1 = - nsStyleSVG__bindgen_ty_1::STROKE_OPACITY_SOURCE_SHIFT; - #[repr(u32)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum nsStyleSVG__bindgen_ty_1 { - FILL_OPACITY_SOURCE_MASK = 3, - STROKE_OPACITY_SOURCE_MASK = 12, - STROKE_DASHARRAY_CONTEXT = 16, - STROKE_DASHOFFSET_CONTEXT = 32, - STROKE_WIDTH_CONTEXT = 64, - FILL_OPACITY_SOURCE_SHIFT = 0, - STROKE_OPACITY_SOURCE_SHIFT = 2, - } - pub const nsStyleSVG_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleSVG() { - assert_eq!(::std::mem::size_of::<nsStyleSVG>() , 128usize , concat ! ( - "Size of: " , stringify ! ( nsStyleSVG ) )); - assert_eq! (::std::mem::align_of::<nsStyleSVG>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( nsStyleSVG ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mFill as * const _ - as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mFill ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStroke as * const _ - as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStroke ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerEnd as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mMarkerEnd ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerMid as * - const _ as usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mMarkerMid ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mMarkerStart as * - const _ as usize } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mMarkerStart ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDasharray as - * const _ as usize } , 56usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeDasharray ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mContextProps as * - const _ as usize } , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mContextProps ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeDashoffset as - * const _ as usize } , 72usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeDashoffset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeWidth as * - const _ as usize } , 88usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeWidth ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mFillOpacity as * - const _ as usize } , 104usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mFillOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeMiterlimit as - * const _ as usize } , 108usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeMiterlimit ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeOpacity as * - const _ as usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mClipRule as * const - _ as usize } , 116usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mClipRule ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mColorInterpolation - as * const _ as usize } , 117usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mColorInterpolation ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . - mColorInterpolationFilters as * const _ as usize } , - 118usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mColorInterpolationFilters ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mFillRule as * const - _ as usize } , 119usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mFillRule ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mPaintOrder as * - const _ as usize } , 120usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mPaintOrder ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mShapeRendering as * - const _ as usize } , 121usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mShapeRendering ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinecap as * - const _ as usize } , 122usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeLinecap ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mStrokeLinejoin as * - const _ as usize } , 123usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mStrokeLinejoin ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mTextAnchor as * - const _ as usize } , 124usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mTextAnchor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mContextPropsBits as - * const _ as usize } , 125usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mContextPropsBits ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVG ) ) . mContextFlags as * - const _ as usize } , 126usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVG ) , "::" - , stringify ! ( mContextFlags ) )); - } - #[repr(C)] - #[derive(Debug)] pub struct nsStyleFilter { pub mType: u32, pub mFilterParameter: root::nsStyleCoord, @@ -36353,149 +37570,6 @@ pub mod root { "Alignment of field: " , stringify ! ( nsStyleFilter ) , "::" , stringify ! ( mFilterParameter ) )); } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleSVGReset { - pub mMask: root::nsStyleImageLayers, - pub mClipPath: root::mozilla::StyleShapeSource, - pub mStopColor: root::nscolor, - pub mFloodColor: root::nscolor, - pub mLightingColor: root::nscolor, - pub mStopOpacity: f32, - pub mFloodOpacity: f32, - pub mDominantBaseline: u8, - pub mVectorEffect: u8, - pub mMaskType: u8, - } - pub const nsStyleSVGReset_kHasFinishStyle: bool = true; - #[test] - fn bindgen_test_layout_nsStyleSVGReset() { - assert_eq!(::std::mem::size_of::<nsStyleSVGReset>() , 192usize , - concat ! ( "Size of: " , stringify ! ( nsStyleSVGReset ) - )); - assert_eq! (::std::mem::align_of::<nsStyleSVGReset>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleSVGReset ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mMask as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mMask ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mClipPath as * - const _ as usize } , 152usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mClipPath ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopColor as * - const _ as usize } , 168usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mStopColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodColor as - * const _ as usize } , 172usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mFloodColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mLightingColor - as * const _ as usize } , 176usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mLightingColor ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mStopOpacity as - * const _ as usize } , 180usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mStopOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mFloodOpacity - as * const _ as usize } , 184usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mFloodOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . - mDominantBaseline as * const _ as usize } , 188usize , - concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mDominantBaseline ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mVectorEffect - as * const _ as usize } , 189usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mVectorEffect ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleSVGReset ) ) . mMaskType as * - const _ as usize } , 190usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleSVGReset ) , - "::" , stringify ! ( mMaskType ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleVariables { - pub mVariables: root::mozilla::CSSVariableValues, - } - pub const nsStyleVariables_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleVariables() { - assert_eq!(::std::mem::size_of::<nsStyleVariables>() , 48usize , - concat ! ( "Size of: " , stringify ! ( nsStyleVariables ) - )); - assert_eq! (::std::mem::align_of::<nsStyleVariables>() , 8usize , - concat ! ( - "Alignment of " , stringify ! ( nsStyleVariables ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleVariables ) ) . mVariables as - * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleVariables ) - , "::" , stringify ! ( mVariables ) )); - } - #[repr(C)] - #[derive(Debug)] - pub struct nsStyleEffects { - pub mFilters: root::nsTArray<root::nsStyleFilter>, - pub mBoxShadow: root::RefPtr<root::nsCSSShadowArray>, - pub mClip: root::nsRect, - pub mOpacity: f32, - pub mClipFlags: u8, - pub mMixBlendMode: u8, - } - pub const nsStyleEffects_kHasFinishStyle: bool = false; - #[test] - fn bindgen_test_layout_nsStyleEffects() { - assert_eq!(::std::mem::size_of::<nsStyleEffects>() , 40usize , concat - ! ( "Size of: " , stringify ! ( nsStyleEffects ) )); - assert_eq! (::std::mem::align_of::<nsStyleEffects>() , 8usize , concat - ! ( "Alignment of " , stringify ! ( nsStyleEffects ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mFilters as * - const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mFilters ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mBoxShadow as * - const _ as usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mBoxShadow ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mClip as * const - _ as usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mClip ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mOpacity as * - const _ as usize } , 32usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mOpacity ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mClipFlags as * - const _ as usize } , 36usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mClipFlags ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const nsStyleEffects ) ) . mMixBlendMode as - * const _ as usize } , 37usize , concat ! ( - "Alignment of field: " , stringify ! ( nsStyleEffects ) , - "::" , stringify ! ( mMixBlendMode ) )); - } /** * These *_Simple types are used to map Gecko types to layout-equivalent but * simpler Rust types, to aid Rust binding generation. @@ -36718,7 +37792,7 @@ pub mod root { root::nsTArray<root::RefPtr<root::RawServoAnimationValue>>; pub type RawGeckoKeyframeList = root::nsTArray<root::mozilla::Keyframe>; pub type RawGeckoComputedKeyframeValuesList = - root::nsTArray<root::mozilla::ComputedKeyframeValues>; + root::nsTArray<root::nsTArray<root::mozilla::PropertyStyleAnimationValuePair>>; pub type RawGeckoStyleAnimationList = root::nsStyleAutoArray<root::mozilla::StyleAnimation>; pub type RawGeckoFontFaceRuleList = @@ -36733,6 +37807,15 @@ pub mod root { pub type RawGeckoGfxMatrix4x4 = [root::mozilla::gfx::Float; 16usize]; pub type RawGeckoStyleChildrenIterator = root::mozilla::dom::StyleChildrenIterator; + pub type RawServoDeclarationBlockBorrowed = + *const root::RawServoDeclarationBlock; + pub type ServoStyleContextBorrowed = + *const root::mozilla::ServoStyleContext; + pub type ServoStyleContextBorrowedOrNull = + *const root::mozilla::ServoStyleContext; + pub type ServoComputedValuesBorrowed = *const root::ServoComputedValues; + pub type ServoComputedValuesBorrowedOrNull = + *const root::ServoComputedValues; pub type RawServoAnimationValueMapBorrowedMut = *mut root::RawServoAnimationValueMap; pub type RawGeckoNodeBorrowed = *const root::RawGeckoNode; @@ -37047,6 +38130,11 @@ pub mod root { pub struct nsIConsoleReportCollector { _unused: [u8; 0], } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct CSSRuleListImpl { + _unused: [u8; 0], + } /** * An nsMediaQueryResultCacheKey records what feature/value combinations * a set of media query results are valid for. This allows the caller @@ -37287,6 +38375,11 @@ pub mod root { } #[repr(C)] #[derive(Debug, Copy, Clone)] + pub struct nsXBLDocumentInfo { + _unused: [u8; 0], + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] pub struct ElementRuleProcessorData { _unused: [u8; 0], } @@ -37398,7 +38491,6 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug)] pub struct nsIAttribute { pub _base: root::nsINode, pub mAttrMap: root::RefPtr<root::nsDOMAttributeMap>, @@ -37421,6 +38513,35 @@ pub mod root { "::" , stringify ! ( mAttrMap ) )); } /** + * There are two advantages to inheriting from nsStubMutationObserver + * rather than directly from nsIMutationObserver: + * 1. smaller compiled code size (since there's no need for the code + * for the empty virtual function implementations for every + * nsIMutationObserver implementation) + * 2. the performance of document's loop over observers benefits from + * the fact that more of the functions called are the same (which + * can reduce instruction cache misses and perhaps improve branch + * prediction) + */ + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsStubMutationObserver { + pub _base: root::nsIMutationObserver, + } + #[test] + fn bindgen_test_layout_nsStubMutationObserver() { + assert_eq!(::std::mem::size_of::<nsStubMutationObserver>() , 8usize , + concat ! ( + "Size of: " , stringify ! ( nsStubMutationObserver ) )); + assert_eq! (::std::mem::align_of::<nsStubMutationObserver>() , 8usize + , concat ! ( + "Alignment of " , stringify ! ( nsStubMutationObserver ) + )); + } + impl Clone for nsStubMutationObserver { + fn clone(&self) -> Self { *self } + } + /** * Structure used as a key for caching Attrs in nsDOMAttributeMap's mAttributeCache. */ #[repr(C)] @@ -37565,46 +38686,46 @@ pub mod root { pub struct nsAttrValueOrString { _unused: [u8; 0], } - pub const ELEMENT_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_1; - pub const ELEMENT_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_SHARED_RESTYLE_BIT_3: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_3; - pub const ELEMENT_SHARED_RESTYLE_BIT_4: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_SHARED_RESTYLE_BIT_3: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_SHARED_RESTYLE_BIT_4: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_1; pub const ELEMENT_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO: - root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_HAS_SNAPSHOT: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_3; - pub const ELEMENT_HANDLED_SNAPSHOT: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_HAS_PENDING_RESTYLE: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_1; - pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE: root::_bindgen_ty_79 + root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_SNAPSHOT: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_HANDLED_SNAPSHOT: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_PENDING_RESTYLE: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE: root::_bindgen_ty_20 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_3; + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_3; pub const ELEMENT_IS_POTENTIAL_ANIMATION_ONLY_RESTYLE_ROOT: - root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR; - pub const ELEMENT_PENDING_RESTYLE_FLAGS: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_PENDING_RESTYLE_FLAGS; - pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS; - pub const ELEMENT_ALL_RESTYLE_FLAGS: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_ALL_RESTYLE_FLAGS; - pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_79 = - _bindgen_ty_79::ELEMENT_TYPE_SPECIFIC_BITS_OFFSET; + root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR; + pub const ELEMENT_PENDING_RESTYLE_FLAGS: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_PENDING_RESTYLE_FLAGS; + pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS; + pub const ELEMENT_ALL_RESTYLE_FLAGS: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_ALL_RESTYLE_FLAGS; + pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_20 = + _bindgen_ty_20::ELEMENT_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_79 { + pub enum _bindgen_ty_20 { ELEMENT_SHARED_RESTYLE_BIT_1 = 8388608, ELEMENT_SHARED_RESTYLE_BIT_2 = 16777216, ELEMENT_SHARED_RESTYLE_BIT_3 = 33554432, @@ -37641,10 +38762,54 @@ pub mod root { impl Clone for LookAndFeelInt { fn clone(&self) -> Self { *self } } + /** + * An object implementing |nsIStyleRule| (henceforth, a rule) represents + * immutable stylistic information that either applies or does not apply + * to a given element. It belongs to an object or group of objects that + * implement |nsIStyleSheet| and |nsIStyleRuleProcessor| (henceforth, a + * sheet). + * + * A rule becomes relevant to the computation of style data when + * |nsIStyleRuleProcessor::RulesMatching| creates a rule node that + * points to the rule. (A rule node, |nsRuleNode|, is a node in the + * rule tree, which is a lexicographic tree indexed by rules. The path + * from the root of the rule tree to the |nsRuleNode| for a given + * |nsStyleContext| contains exactly the rules that match the element + * that the style context is for, in priority (weight, origin, + * specificity) order.) + * + * The computation of style data uses the rule tree, which calls + * |nsIStyleRule::MapRuleInfoInto| below. + * + * It is worth emphasizing that the data represented by a rule + * implementation are immutable. When the data need to be changed, a + * new rule object must be created. Failing to do this will lead to + * bugs in the handling of dynamic style changes, since the rule tree + * caches the results of |MapRuleInfoInto|. + * + * |nsIStyleRule| objects are owned by |nsRuleNode| objects (in addition + * to typically being owned by their sheet), which are in turn garbage + * collected (with the garbage collection roots being style contexts). + */ #[repr(C)] - #[derive(Debug, Copy, Clone)] + #[derive(Debug, Copy)] pub struct nsIStyleRule { - _unused: [u8; 0], + pub _base: root::nsISupports, + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsIStyleRule_COMTypeInfo { + pub _address: u8, + } + #[test] + fn bindgen_test_layout_nsIStyleRule() { + assert_eq!(::std::mem::size_of::<nsIStyleRule>() , 8usize , concat ! ( + "Size of: " , stringify ! ( nsIStyleRule ) )); + assert_eq! (::std::mem::align_of::<nsIStyleRule>() , 8usize , concat ! + ( "Alignment of " , stringify ! ( nsIStyleRule ) )); + } + impl Clone for nsIStyleRule { + fn clone(&self) -> Self { *self } } #[repr(C)] #[derive(Debug)] @@ -37951,6 +39116,27 @@ pub mod root { pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_placeholder: u32 = 8; pub const SERVO_CSS_PSEUDO_ELEMENT_FLAGS_mozColorSwatch: u32 = 12; #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct ElementDependentRuleProcessorData { + _unused: [u8; 0], + } + pub type nsBindingList = root::nsTArray<root::RefPtr<root::nsXBLBinding>>; + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsRuleData { + _unused: [u8; 0], + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsCSSFontFeatureValuesRule { + _unused: [u8; 0], + } + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct nsCSSPageRule { + _unused: [u8; 0], + } + #[repr(C)] #[derive(Debug, Copy)] pub struct nsIDOMCSSCounterStyleRule { pub _base: root::nsISupports, @@ -38154,22 +39340,6 @@ pub mod root { } #[repr(C)] #[derive(Debug, Copy)] - pub struct _bindgen_ty_29 { - pub _address: u8, - } - impl Clone for _bindgen_ty_29 { - fn clone(&self) -> Self { *self } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct _bindgen_ty_30 { - pub _address: u8, - } - impl Clone for _bindgen_ty_30 { - fn clone(&self) -> Self { *self } - } - #[repr(C)] - #[derive(Debug, Copy)] pub struct __va_list_tag { pub gp_offset: ::std::os::raw::c_uint, pub fp_offset: ::std::os::raw::c_uint, @@ -38208,7 +39378,7 @@ pub mod root { } pub type __builtin_va_list = [root::__va_list_tag; 1usize]; #[test] - fn __bindgen_test_layout_IntegralConstant_instantiation_82() { + fn __bindgen_test_layout_IntegralConstant_instantiation_23() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -38217,7 +39387,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_IntegralConstant_instantiation_83() { + fn __bindgen_test_layout_IntegralConstant_instantiation_24() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -38226,7 +39396,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_84() { + fn __bindgen_test_layout_nsCharTraits_instantiation_25() { assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38237,33 +39407,29 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_instantiation_85() { - assert_eq!(::std::mem::size_of::<root::nsReadingIterator<root::mozilla::detail::nsStringRepr_char_type>>() - , 24usize , concat ! ( + fn __bindgen_test_layout_nsReadingIterator_instantiation_26() { + assert_eq!(::std::mem::size_of::<root::nsReadingIterator<u16>>() , + 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsReadingIterator<root::mozilla::detail::nsStringRepr_char_type> - ) )); - assert_eq!(::std::mem::align_of::<root::nsReadingIterator<root::mozilla::detail::nsStringRepr_char_type>>() - , 8usize , concat ! ( + root::nsReadingIterator<u16> ) )); + assert_eq!(::std::mem::align_of::<root::nsReadingIterator<u16>>() , + 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsReadingIterator<root::mozilla::detail::nsStringRepr_char_type> - ) )); + root::nsReadingIterator<u16> ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_instantiation_86() { - assert_eq!(::std::mem::size_of::<root::nsWritingIterator<root::mozilla::detail::nsStringRepr_char_type>>() - , 24usize , concat ! ( + fn __bindgen_test_layout_nsWritingIterator_instantiation_27() { + assert_eq!(::std::mem::size_of::<root::nsWritingIterator<u16>>() , + 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsWritingIterator<root::mozilla::detail::nsStringRepr_char_type> - ) )); - assert_eq!(::std::mem::align_of::<root::nsWritingIterator<root::mozilla::detail::nsStringRepr_char_type>>() - , 8usize , concat ! ( + root::nsWritingIterator<u16> ) )); + assert_eq!(::std::mem::align_of::<root::nsWritingIterator<u16>>() , + 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsWritingIterator<root::mozilla::detail::nsStringRepr_char_type> - ) )); + root::nsWritingIterator<u16> ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_87() { + fn __bindgen_test_layout_nsCharTraits_instantiation_28() { assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38274,33 +39440,29 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_instantiation_88() { - assert_eq!(::std::mem::size_of::<root::nsReadingIterator<root::mozilla::detail::nsCStringRepr_char_type>>() + fn __bindgen_test_layout_nsReadingIterator_instantiation_29() { + assert_eq!(::std::mem::size_of::<root::nsReadingIterator<::std::os::raw::c_char>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsReadingIterator<root::mozilla::detail::nsCStringRepr_char_type> - ) )); - assert_eq!(::std::mem::align_of::<root::nsReadingIterator<root::mozilla::detail::nsCStringRepr_char_type>>() + root::nsReadingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::<root::nsReadingIterator<::std::os::raw::c_char>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsReadingIterator<root::mozilla::detail::nsCStringRepr_char_type> - ) )); + root::nsReadingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_instantiation_89() { - assert_eq!(::std::mem::size_of::<root::nsWritingIterator<root::mozilla::detail::nsCStringRepr_char_type>>() + fn __bindgen_test_layout_nsWritingIterator_instantiation_30() { + assert_eq!(::std::mem::size_of::<root::nsWritingIterator<::std::os::raw::c_char>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsWritingIterator<root::mozilla::detail::nsCStringRepr_char_type> - ) )); - assert_eq!(::std::mem::align_of::<root::nsWritingIterator<root::mozilla::detail::nsCStringRepr_char_type>>() + root::nsWritingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::<root::nsWritingIterator<::std::os::raw::c_char>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsWritingIterator<root::mozilla::detail::nsCStringRepr_char_type> - ) )); + root::nsWritingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_90() { + fn __bindgen_test_layout_nsCharTraits_instantiation_31() { assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38311,7 +39473,7 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_91() { + fn __bindgen_test_layout_nsCharTraits_instantiation_32() { assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38322,7 +39484,7 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout__bindgen_ty_id_187558_instantiation_92() { + fn __bindgen_test_layout__bindgen_ty_id_192855_instantiation_33() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -38331,7 +39493,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout__bindgen_ty_id_187594_instantiation_93() { + fn __bindgen_test_layout__bindgen_ty_id_192891_instantiation_34() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -38340,7 +39502,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_94() { + fn __bindgen_test_layout_nsTArray_instantiation_35() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38351,7 +39513,7 @@ pub mod root { root::nsTArray<root::nsCString> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_95() { + fn __bindgen_test_layout_Handle_instantiation_36() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::jsid>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38362,7 +39524,7 @@ pub mod root { root::JS::Handle<root::jsid> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_96() { + fn __bindgen_test_layout_Handle_instantiation_37() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38373,7 +39535,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_97() { + fn __bindgen_test_layout_Handle_instantiation_38() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38384,7 +39546,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_98() { + fn __bindgen_test_layout_MutableHandle_instantiation_39() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38395,7 +39557,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Rooted_instantiation_99() { + fn __bindgen_test_layout_Rooted_instantiation_40() { assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38406,7 +39568,7 @@ pub mod root { [u64; 3usize] ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_100() { + fn __bindgen_test_layout_DeletePolicy_instantiation_41() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38417,7 +39579,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_101() { + fn __bindgen_test_layout_nsTArray_instantiation_42() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38428,7 +39590,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_102() { + fn __bindgen_test_layout_nsTArray_instantiation_43() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::FontFamilyName>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38439,29 +39601,29 @@ pub mod root { root::nsTArray<root::mozilla::FontFamilyName> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_103() { - assert_eq!(::std::mem::size_of::<root::nsTArray<u32>>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_instantiation_44() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<u32> ) )); - assert_eq!(::std::mem::align_of::<root::nsTArray<u32>>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::std::os::raw::c_uint>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray<u32> ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_104() { - assert_eq!(::std::mem::size_of::<root::nsTArray<u32>>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_instantiation_45() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<u32> ) )); - assert_eq!(::std::mem::align_of::<root::nsTArray<u32>>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::std::os::raw::c_uint>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray<u32> ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_PointTyped_instantiation_105() { + fn __bindgen_test_layout_PointTyped_instantiation_46() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38472,7 +39634,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntPointTyped_instantiation_106() { + fn __bindgen_test_layout_IntPointTyped_instantiation_47() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38483,7 +39645,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_SizeTyped_instantiation_107() { + fn __bindgen_test_layout_SizeTyped_instantiation_48() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38494,7 +39656,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_RectTyped_instantiation_108() { + fn __bindgen_test_layout_RectTyped_instantiation_49() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38505,7 +39667,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_IntPointTyped_instantiation_109() { + fn __bindgen_test_layout_IntPointTyped_instantiation_50() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38516,7 +39678,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntSizeTyped_instantiation_110() { + fn __bindgen_test_layout_IntSizeTyped_instantiation_51() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38527,7 +39689,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntRectTyped_instantiation_111() { + fn __bindgen_test_layout_IntRectTyped_instantiation_52() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38538,7 +39700,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_MarginTyped_instantiation_112() { + fn __bindgen_test_layout_MarginTyped_instantiation_53() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38549,7 +39711,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_RectTyped_instantiation_113() { + fn __bindgen_test_layout_RectTyped_instantiation_54() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38560,7 +39722,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_IntRectTyped_instantiation_114() { + fn __bindgen_test_layout_IntRectTyped_instantiation_55() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38571,7 +39733,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactor_instantiation_115() { + fn __bindgen_test_layout_ScaleFactor_instantiation_56() { assert_eq!(::std::mem::size_of::<u32>() , 4usize , concat ! ( "Size of template specialization: " , stringify ! ( u32 ) )); @@ -38580,7 +39742,7 @@ pub mod root { u32 ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_116() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_57() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38591,7 +39753,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_117() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_58() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38602,7 +39764,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_118() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_59() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38613,7 +39775,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_BaseTimeDuration_instantiation_119() { + fn __bindgen_test_layout_BaseTimeDuration_instantiation_60() { assert_eq!(::std::mem::size_of::<root::mozilla::BaseTimeDuration>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38624,7 +39786,7 @@ pub mod root { root::mozilla::BaseTimeDuration ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_120() { + fn __bindgen_test_layout_already_AddRefed_instantiation_61() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38635,7 +39797,7 @@ pub mod root { root::already_AddRefed<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_121() { + fn __bindgen_test_layout_already_AddRefed_instantiation_62() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38646,7 +39808,7 @@ pub mod root { root::already_AddRefed<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_122() { + fn __bindgen_test_layout_RefPtr_instantiation_63() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38657,7 +39819,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_123() { + fn __bindgen_test_layout_nsTArray_instantiation_64() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38670,7 +39832,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_124() { + fn __bindgen_test_layout_RefPtr_instantiation_65() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38681,7 +39843,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_125() { + fn __bindgen_test_layout_nsTArray_instantiation_66() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38694,7 +39856,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_WeakPtr_instantiation_126() { + fn __bindgen_test_layout_WeakPtr_instantiation_67() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -38703,7 +39865,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_127() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_68() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::WeakFrame>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38714,7 +39876,40 @@ pub mod root { root::nsPtrHashKey<root::WeakFrame> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_128() { + fn __bindgen_test_layout_already_AddRefed_instantiation_69() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_70() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_71() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_72() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38725,7 +39920,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_TErrorResult_instantiation_129() { + fn __bindgen_test_layout_TErrorResult_instantiation_73() { assert_eq!(::std::mem::size_of::<root::mozilla::binding_danger::TErrorResult>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38736,7 +39931,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[test] - fn __bindgen_test_layout_TErrorResult_instantiation_130() { + fn __bindgen_test_layout_TErrorResult_instantiation_74() { assert_eq!(::std::mem::size_of::<root::mozilla::binding_danger::TErrorResult>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38747,7 +39942,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_131() { + fn __bindgen_test_layout_already_AddRefed_instantiation_75() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStringBuffer>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38758,7 +39953,7 @@ pub mod root { root::already_AddRefed<root::nsStringBuffer> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_132() { + fn __bindgen_test_layout_Handle_instantiation_76() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38769,7 +39964,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_133() { + fn __bindgen_test_layout_MutableHandle_instantiation_77() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38780,7 +39975,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_134() { + fn __bindgen_test_layout_Handle_instantiation_78() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38791,7 +39986,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_135() { + fn __bindgen_test_layout_nsTArray_instantiation_79() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38802,7 +39997,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_136() { + fn __bindgen_test_layout_Handle_instantiation_80() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38813,7 +40008,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_137() { + fn __bindgen_test_layout_RefPtr_instantiation_81() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38824,7 +40019,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_138() { + fn __bindgen_test_layout_Handle_instantiation_82() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38835,7 +40030,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_139() { + fn __bindgen_test_layout_Handle_instantiation_83() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38846,7 +40041,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_140() { + fn __bindgen_test_layout_already_AddRefed_instantiation_84() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38857,7 +40052,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_141() { + fn __bindgen_test_layout_already_AddRefed_instantiation_85() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38868,7 +40063,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_142() { + fn __bindgen_test_layout_already_AddRefed_instantiation_86() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsINode>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38879,7 +40074,7 @@ pub mod root { root::already_AddRefed<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_143() { + fn __bindgen_test_layout_Handle_instantiation_87() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38890,7 +40085,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_144() { + fn __bindgen_test_layout_MutableHandle_instantiation_88() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38901,7 +40096,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_145() { + fn __bindgen_test_layout_MutableHandle_instantiation_89() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38912,7 +40107,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_146() { + fn __bindgen_test_layout_DeletePolicy_instantiation_90() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38923,7 +40118,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_147() { + fn __bindgen_test_layout_UniquePtr_instantiation_91() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38934,7 +40129,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_148() { + fn __bindgen_test_layout_DeletePolicy_instantiation_92() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38945,7 +40140,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_149() { + fn __bindgen_test_layout_UniquePtr_instantiation_93() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38956,7 +40151,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_150() { + fn __bindgen_test_layout_DeletePolicy_instantiation_94() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38967,7 +40162,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_151() { + fn __bindgen_test_layout_UniquePtr_instantiation_95() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38978,7 +40173,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_152() { + fn __bindgen_test_layout_DeletePolicy_instantiation_96() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -38989,7 +40184,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_153() { + fn __bindgen_test_layout_UniquePtr_instantiation_97() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39000,7 +40195,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_154() { + fn __bindgen_test_layout_DeletePolicy_instantiation_98() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39011,7 +40206,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_155() { + fn __bindgen_test_layout_UniquePtr_instantiation_99() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39022,7 +40217,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_iterator_instantiation_156() { + fn __bindgen_test_layout_iterator_instantiation_100() { assert_eq!(::std::mem::size_of::<root::std::iterator>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39033,7 +40228,7 @@ pub mod root { root::std::iterator ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_157() { + fn __bindgen_test_layout_DeletePolicy_instantiation_101() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39044,7 +40239,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_158() { + fn __bindgen_test_layout_UniquePtr_instantiation_102() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39055,7 +40250,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_159() { + fn __bindgen_test_layout_DeletePolicy_instantiation_103() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39066,7 +40261,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_160() { + fn __bindgen_test_layout_UniquePtr_instantiation_104() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39077,7 +40272,7 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_161() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_105() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39088,7 +40283,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_162() { + fn __bindgen_test_layout_Handle_instantiation_106() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39099,7 +40294,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_163() { + fn __bindgen_test_layout_MutableHandle_instantiation_107() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39110,7 +40305,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_164() { + fn __bindgen_test_layout_nsTArray_instantiation_108() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39121,7 +40316,7 @@ pub mod root { root::nsTArray<root::nsCString> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_165() { + fn __bindgen_test_layout_nsTArray_instantiation_109() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39132,7 +40327,7 @@ pub mod root { root::nsTArray<root::nsCString> ) )); } #[test] - fn __bindgen_test_layout_Heap_instantiation_166() { + fn __bindgen_test_layout_Heap_instantiation_110() { assert_eq!(::std::mem::size_of::<root::JS::Heap<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39143,7 +40338,7 @@ pub mod root { root::JS::Heap<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Heap_instantiation_167() { + fn __bindgen_test_layout_Heap_instantiation_111() { assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39154,7 +40349,7 @@ pub mod root { root::JS::Heap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_TenuredHeap_instantiation_168() { + fn __bindgen_test_layout_TenuredHeap_instantiation_112() { assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39165,7 +40360,7 @@ pub mod root { root::JS::TenuredHeap ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_169() { + fn __bindgen_test_layout_already_AddRefed_instantiation_113() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39176,20 +40371,20 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_NotNull_instantiation_170() { - assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::nsIDocument_Encoding>>() + fn __bindgen_test_layout_NotNull_instantiation_114() { + assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsIDocument_Encoding> ) + root::mozilla::NotNull<*const root::mozilla::Encoding> ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::nsIDocument_Encoding>>() + assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsIDocument_Encoding> ) + root::mozilla::NotNull<*const root::mozilla::Encoding> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_171() { + fn __bindgen_test_layout_nsTArray_instantiation_115() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39202,7 +40397,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_172() { + fn __bindgen_test_layout_RefPtr_instantiation_116() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39213,7 +40408,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_173() { + fn __bindgen_test_layout_nsTArray_instantiation_117() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39226,7 +40421,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_174() { + fn __bindgen_test_layout_RefPtr_instantiation_118() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39237,7 +40432,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_175() { + fn __bindgen_test_layout_nsTArray_instantiation_119() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39250,18 +40445,18 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_176() { - assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIDocument_Element>>() + fn __bindgen_test_layout_nsTArray_instantiation_120() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); - assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIDocument_Element>>() + root::nsTArray<*mut root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); + root::nsTArray<*mut root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_177() { + fn __bindgen_test_layout_RefPtr_instantiation_121() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39272,7 +40467,20 @@ pub mod root { root::RefPtr<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_178() { + fn __bindgen_test_layout_nsTArray_instantiation_122() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_123() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39283,7 +40491,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_179() { + fn __bindgen_test_layout_nsTArray_instantiation_124() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCOMPtr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39294,7 +40502,7 @@ pub mod root { root::nsTArray<root::nsCOMPtr> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_180() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_125() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39305,7 +40513,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_181() { + fn __bindgen_test_layout_already_AddRefed_instantiation_126() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIDocument>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39316,7 +40524,7 @@ pub mod root { root::already_AddRefed<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_182() { + fn __bindgen_test_layout_already_AddRefed_instantiation_127() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39327,7 +40535,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_183() { + fn __bindgen_test_layout_RefPtr_instantiation_128() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39338,18 +40546,18 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_184() { - assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIDocument_Element>>() + fn __bindgen_test_layout_nsTArray_instantiation_129() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); - assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIDocument_Element>>() + root::nsTArray<*mut root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); + root::nsTArray<*mut root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_185() { + fn __bindgen_test_layout_already_AddRefed_instantiation_130() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIDocument>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39360,7 +40568,7 @@ pub mod root { root::already_AddRefed<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_186() { + fn __bindgen_test_layout_MutableHandle_instantiation_131() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39371,7 +40579,7 @@ pub mod root { root::JS::MutableHandle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_187() { + fn __bindgen_test_layout_already_AddRefed_instantiation_132() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsContentList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39382,7 +40590,7 @@ pub mod root { root::already_AddRefed<root::nsContentList> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_188() { + fn __bindgen_test_layout_already_AddRefed_instantiation_133() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsContentList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39393,7 +40601,7 @@ pub mod root { root::already_AddRefed<root::nsContentList> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_189() { + fn __bindgen_test_layout_already_AddRefed_instantiation_134() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsINode>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39404,7 +40612,7 @@ pub mod root { root::already_AddRefed<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_190() { + fn __bindgen_test_layout_RefPtr_instantiation_135() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39415,7 +40623,20 @@ pub mod root { root::RefPtr<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_191() { + fn __bindgen_test_layout_nsTArray_instantiation_136() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_137() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39426,7 +40647,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_192() { + fn __bindgen_test_layout_already_AddRefed_instantiation_138() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39437,7 +40658,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_193() { + fn __bindgen_test_layout_already_AddRefed_instantiation_139() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39448,7 +40669,7 @@ pub mod root { root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_194() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_140() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39459,7 +40680,18 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_195() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_141() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_142() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39470,7 +40702,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_196() { + fn __bindgen_test_layout_nsTArray_instantiation_143() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::StyleSheet>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39483,7 +40715,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_197() { + fn __bindgen_test_layout_nsTArray_instantiation_144() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39494,7 +40726,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_198() { + fn __bindgen_test_layout_Handle_instantiation_145() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39505,7 +40737,130 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_199() { + fn __bindgen_test_layout_already_AddRefed_instantiation_146() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_147() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_148() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_149() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_150() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_151() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_152() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_153() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>> + ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>> + ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_154() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_155() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_156() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::RawServoAnimationValue>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::RawServoAnimationValue> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::RawServoAnimationValue>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::RawServoAnimationValue> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_157() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39516,7 +40871,42 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_200() { + fn __bindgen_test_layout_nsTArray_instantiation_158() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>> + ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::ServoStyleSheet>> + ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_159() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::nsStyleContext>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::nsStyleContext> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::nsStyleContext>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::nsStyleContext> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_160() { + assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_161() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsISMILAttr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39527,7 +40917,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsISMILAttr> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_201() { + fn __bindgen_test_layout_already_AddRefed_instantiation_162() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39538,7 +40928,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_202() { + fn __bindgen_test_layout_nsTArray_instantiation_163() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39549,7 +40939,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_203() { + fn __bindgen_test_layout_Handle_instantiation_164() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39560,7 +40950,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_204() { + fn __bindgen_test_layout_Handle_instantiation_165() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39571,7 +40961,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_205() { + fn __bindgen_test_layout_Handle_instantiation_166() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39582,7 +40972,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_206() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_167() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39595,7 +40985,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsDataHashtable_instantiation_207() { + fn __bindgen_test_layout_nsDataHashtable_instantiation_168() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39606,7 +40996,40 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_208() { + fn __bindgen_test_layout_nsTArray_instantiation_169() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_170() { + assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIContent>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::nsIContent> ) )); + assert_eq!(::std::mem::align_of::<root::nsRefPtrHashKey<root::nsIContent>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::nsIContent> ) )); + } + #[test] + fn __bindgen_test_layout_nsTHashtable_instantiation_171() { + assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 5usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 5usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 5usize] ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_172() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39617,7 +41040,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_209() { + fn __bindgen_test_layout_nsTArray_instantiation_173() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39628,7 +41051,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_210() { + fn __bindgen_test_layout_nsTArray_instantiation_174() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39639,7 +41062,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_211() { + fn __bindgen_test_layout_already_AddRefed_instantiation_175() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39650,7 +41073,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_212() { + fn __bindgen_test_layout_already_AddRefed_instantiation_176() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39661,7 +41084,88 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_SupportsWeakPtr_instantiation_213() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_177() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_178() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::CSSStyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::CSSStyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::CSSStyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::CSSStyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_179() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>> + ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>> + ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_180() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_181() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::CSSStyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::CSSStyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::CSSStyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::CSSStyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_182() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>> + ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::CSSStyleSheet>> + ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_183() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_SupportsWeakPtr_instantiation_184() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -39670,7 +41174,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_214() { + fn __bindgen_test_layout_already_AddRefed_instantiation_185() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39681,7 +41185,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_215() { + fn __bindgen_test_layout_nsTArray_instantiation_186() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39692,33 +41196,33 @@ pub mod root { root::nsTArray<root::nsRect> ) )); } #[test] - fn __bindgen_test_layout_NotNull_instantiation_216() { - assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::nsPresContext_Encoding>>() + fn __bindgen_test_layout_NotNull_instantiation_187() { + assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsPresContext_Encoding> - ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::nsPresContext_Encoding>>() + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); + assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsPresContext_Encoding> - ) )); + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); } #[test] - fn __bindgen_test_layout_NotNull_instantiation_217() { - assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::nsPresContext_Encoding>>() + fn __bindgen_test_layout_NotNull_instantiation_188() { + assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsPresContext_Encoding> - ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::nsPresContext_Encoding>>() + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); + assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsPresContext_Encoding> - ) )); + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_218() { + fn __bindgen_test_layout_already_AddRefed_instantiation_189() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsITimer>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39729,7 +41233,7 @@ pub mod root { root::already_AddRefed<root::nsITimer> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_219() { + fn __bindgen_test_layout_DefaultDelete_instantiation_190() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39740,7 +41244,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_220() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_191() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIAtom>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39751,7 +41255,7 @@ pub mod root { root::nsRefPtrHashKey<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_221() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_192() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39762,7 +41266,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_222() { + fn __bindgen_test_layout_nsTArray_instantiation_193() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCOMPtr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39773,7 +41277,7 @@ pub mod root { root::nsTArray<root::nsCOMPtr> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_223() { + fn __bindgen_test_layout_already_AddRefed_instantiation_194() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39784,7 +41288,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_224() { + fn __bindgen_test_layout_already_AddRefed_instantiation_195() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39795,7 +41299,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_225() { + fn __bindgen_test_layout_already_AddRefed_instantiation_196() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39806,7 +41310,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_226() { + fn __bindgen_test_layout_already_AddRefed_instantiation_197() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39817,7 +41321,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_227() { + fn __bindgen_test_layout_already_AddRefed_instantiation_198() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39828,7 +41332,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_228() { + fn __bindgen_test_layout_Handle_instantiation_199() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39839,7 +41343,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_229() { + fn __bindgen_test_layout_Handle_instantiation_200() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39850,7 +41354,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_230() { + fn __bindgen_test_layout_Handle_instantiation_201() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39861,7 +41365,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsPIDOMWindow_instantiation_231() { + fn __bindgen_test_layout_nsPIDOMWindow_instantiation_202() { assert_eq!(::std::mem::size_of::<[u64; 30usize]>() , 240usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39872,7 +41376,7 @@ pub mod root { [u64; 30usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_232() { + fn __bindgen_test_layout_already_AddRefed_instantiation_203() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39883,7 +41387,7 @@ pub mod root { root::already_AddRefed<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_233() { + fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_204() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39894,7 +41398,7 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_234() { + fn __bindgen_test_layout_Handle_instantiation_205() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39905,7 +41409,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_235() { + fn __bindgen_test_layout_nsTArray_instantiation_206() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39916,7 +41420,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_236() { + fn __bindgen_test_layout_Handle_instantiation_207() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39927,7 +41431,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_237() { + fn __bindgen_test_layout_OwningNonNull_instantiation_208() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39938,7 +41442,7 @@ pub mod root { root::mozilla::OwningNonNull<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_238() { + fn __bindgen_test_layout_OwningNonNull_instantiation_209() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39949,7 +41453,7 @@ pub mod root { root::mozilla::OwningNonNull<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_239() { + fn __bindgen_test_layout_OwningNonNull_instantiation_210() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39960,7 +41464,7 @@ pub mod root { root::mozilla::OwningNonNull<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_240() { + fn __bindgen_test_layout_Handle_instantiation_211() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39971,7 +41475,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_241() { + fn __bindgen_test_layout_Handle_instantiation_212() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39982,7 +41486,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_242() { + fn __bindgen_test_layout_Handle_instantiation_213() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -39993,7 +41497,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_243() { + fn __bindgen_test_layout_MutableHandle_instantiation_214() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40004,7 +41508,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_244() { + fn __bindgen_test_layout_Handle_instantiation_215() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::jsid>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40015,7 +41519,7 @@ pub mod root { root::JS::Handle<root::jsid> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_245() { + fn __bindgen_test_layout_MutableHandle_instantiation_216() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::PropertyDescriptor>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40026,7 +41530,7 @@ pub mod root { root::JS::MutableHandle<root::JS::PropertyDescriptor> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_246() { + fn __bindgen_test_layout_Handle_instantiation_217() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::jsid>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40037,7 +41541,7 @@ pub mod root { root::JS::Handle<root::jsid> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_247() { + fn __bindgen_test_layout_MutableHandle_instantiation_218() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::PropertyDescriptor>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40048,7 +41552,7 @@ pub mod root { root::JS::MutableHandle<root::JS::PropertyDescriptor> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_248() { + fn __bindgen_test_layout_Handle_instantiation_219() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40059,7 +41563,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_249() { + fn __bindgen_test_layout_Handle_instantiation_220() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40070,7 +41574,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_250() { + fn __bindgen_test_layout_Handle_instantiation_221() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40081,7 +41585,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_251() { + fn __bindgen_test_layout_MutableHandle_instantiation_222() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40092,7 +41596,7 @@ pub mod root { root::JS::MutableHandle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_252() { + fn __bindgen_test_layout_RefPtr_instantiation_223() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::XBLChildrenElement>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40103,7 +41607,7 @@ pub mod root { root::RefPtr<root::mozilla::dom::XBLChildrenElement> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_253() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_224() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40114,7 +41618,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_254() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_225() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<::std::os::raw::c_void>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40125,7 +41629,7 @@ pub mod root { root::nsPtrHashKey<::std::os::raw::c_void> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_255() { + fn __bindgen_test_layout_already_AddRefed_instantiation_226() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40136,7 +41640,7 @@ pub mod root { root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_256() { + fn __bindgen_test_layout_already_AddRefed_instantiation_227() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40147,20 +41651,20 @@ pub mod root { root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_NotNull_instantiation_257() { - assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::nsLanguageAtomService_Encoding>>() + fn __bindgen_test_layout_NotNull_instantiation_228() { + assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsLanguageAtomService_Encoding> - ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::nsLanguageAtomService_Encoding>>() + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); + assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsLanguageAtomService_Encoding> - ) )); + root::mozilla::NotNull<*const root::mozilla::Encoding> ) + )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_258() { + fn __bindgen_test_layout_already_AddRefed_instantiation_229() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40171,7 +41675,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_259() { + fn __bindgen_test_layout_already_AddRefed_instantiation_230() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40181,8 +41685,16 @@ pub mod root { "Alignment of template specialization: " , stringify ! ( root::already_AddRefed<root::nsIAtom> ) )); } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct _bindgen_ty_11 { + pub _address: u8, + } + impl Clone for _bindgen_ty_11 { + fn clone(&self) -> Self { *self } + } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_260() { + fn __bindgen_test_layout_already_AddRefed_instantiation_231() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40193,7 +41705,7 @@ pub mod root { root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_nsPIDOMWindow_instantiation_261() { + fn __bindgen_test_layout_nsPIDOMWindow_instantiation_232() { assert_eq!(::std::mem::size_of::<[u64; 30usize]>() , 240usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40204,7 +41716,7 @@ pub mod root { [u64; 30usize] ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_262() { + fn __bindgen_test_layout_MutableHandle_instantiation_233() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40215,7 +41727,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_263() { + fn __bindgen_test_layout_MutableHandle_instantiation_234() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40226,7 +41738,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_264() { + fn __bindgen_test_layout_already_AddRefed_instantiation_235() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::CSSValue>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40237,7 +41749,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::CSSValue> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_265() { + fn __bindgen_test_layout_DefaultDelete_instantiation_236() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40248,7 +41760,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_266() { + fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_237() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40259,7 +41771,7 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_Rooted_instantiation_267() { + fn __bindgen_test_layout_Rooted_instantiation_238() { assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40270,7 +41782,7 @@ pub mod root { [u64; 3usize] ) )); } #[test] - fn __bindgen_test_layout_Rooted_instantiation_268() { + fn __bindgen_test_layout_Rooted_instantiation_239() { assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40281,7 +41793,7 @@ pub mod root { [u64; 3usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_269() { + fn __bindgen_test_layout_already_AddRefed_instantiation_240() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsISupports>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40292,7 +41804,7 @@ pub mod root { root::already_AddRefed<root::nsISupports> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_270() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_241() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40303,7 +41815,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_271() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_242() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40314,20 +41826,20 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_NotNull_instantiation_272() { - assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::nsIParser_Encoding>>() + fn __bindgen_test_layout_NotNull_instantiation_243() { + assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsIParser_Encoding> ) + root::mozilla::NotNull<*const root::mozilla::Encoding> ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::nsIParser_Encoding>>() + assert_eq!(::std::mem::align_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsIParser_Encoding> ) + root::mozilla::NotNull<*const root::mozilla::Encoding> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_273() { + fn __bindgen_test_layout_nsTArray_instantiation_244() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40338,7 +41850,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_274() { + fn __bindgen_test_layout_Handle_instantiation_245() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40349,7 +41861,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_275() { + fn __bindgen_test_layout_MutableHandle_instantiation_246() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40360,7 +41872,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_276() { + fn __bindgen_test_layout_Handle_instantiation_247() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40371,7 +41883,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_277() { + fn __bindgen_test_layout_MutableHandle_instantiation_248() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40382,7 +41894,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_278() { + fn __bindgen_test_layout_nsTArray_instantiation_249() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40393,7 +41905,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_279() { + fn __bindgen_test_layout_Handle_instantiation_250() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40404,7 +41916,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_280() { + fn __bindgen_test_layout_RefPtr_instantiation_251() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40415,7 +41927,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_281() { + fn __bindgen_test_layout_RefPtr_instantiation_252() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40426,7 +41938,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_282() { + fn __bindgen_test_layout_RefPtr_instantiation_253() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40437,7 +41949,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_283() { + fn __bindgen_test_layout_nsTArray_instantiation_254() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::css::SheetLoadData>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40450,7 +41962,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_284() { + fn __bindgen_test_layout_RefPtr_instantiation_255() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40461,7 +41973,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_285() { + fn __bindgen_test_layout_already_AddRefed_instantiation_256() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40472,7 +41984,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_286() { + fn __bindgen_test_layout_already_AddRefed_instantiation_257() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40483,7 +41995,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_287() { + fn __bindgen_test_layout_Handle_instantiation_258() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40494,7 +42006,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_288() { + fn __bindgen_test_layout_nsTArray_instantiation_259() { assert_eq!(::std::mem::size_of::<root::nsTArray<f64>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40505,7 +42017,7 @@ pub mod root { root::nsTArray<f64> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_289() { + fn __bindgen_test_layout_RefPtr_instantiation_260() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40518,7 +42030,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_290() { + fn __bindgen_test_layout_nsTArray_instantiation_261() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40531,7 +42043,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_291() { + fn __bindgen_test_layout_RefPtr_instantiation_262() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40544,7 +42056,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_292() { + fn __bindgen_test_layout_UniquePtr_instantiation_263() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::ProfilerBacktrace>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40555,7 +42067,7 @@ pub mod root { root::mozilla::UniquePtr<root::ProfilerBacktrace> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_293() { + fn __bindgen_test_layout_nsTArray_instantiation_264() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40566,7 +42078,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_294() { + fn __bindgen_test_layout_Handle_instantiation_265() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40577,7 +42089,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_295() { + fn __bindgen_test_layout_MutableHandle_instantiation_266() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40588,7 +42100,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_296() { + fn __bindgen_test_layout_Handle_instantiation_267() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40599,7 +42111,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_297() { + fn __bindgen_test_layout_MutableHandle_instantiation_268() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40610,7 +42122,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_298() { + fn __bindgen_test_layout_already_AddRefed_instantiation_269() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40621,7 +42133,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_nsDataHashtable_instantiation_299() { + fn __bindgen_test_layout_nsDataHashtable_instantiation_270() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40632,7 +42144,7 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_300() { + fn __bindgen_test_layout_OwningNonNull_instantiation_271() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40645,7 +42157,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_301() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_272() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIAtom>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40656,7 +42168,7 @@ pub mod root { root::nsRefPtrHashKey<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_302() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_273() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIContent>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40667,7 +42179,7 @@ pub mod root { root::nsRefPtrHashKey<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_303() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_274() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40678,7 +42190,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_304() { + fn __bindgen_test_layout_DefaultDelete_instantiation_275() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40689,7 +42201,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_305() { + fn __bindgen_test_layout_already_AddRefed_instantiation_276() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40700,7 +42212,7 @@ pub mod root { root::already_AddRefed<root::mozilla::URLExtraData> ) )); } #[test] - fn __bindgen_test_layout_nsMainThreadPtrHolder_instantiation_306() { + fn __bindgen_test_layout_nsMainThreadPtrHolder_instantiation_277() { assert_eq!(::std::mem::size_of::<root::nsMainThreadPtrHolder<root::nsIURI>>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40711,7 +42223,7 @@ pub mod root { root::nsMainThreadPtrHolder<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_307() { + fn __bindgen_test_layout_already_AddRefed_instantiation_278() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40722,7 +42234,7 @@ pub mod root { root::already_AddRefed<root::mozilla::URLExtraData> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_308() { + fn __bindgen_test_layout_already_AddRefed_instantiation_279() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40733,7 +42245,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_309() { + fn __bindgen_test_layout_already_AddRefed_instantiation_280() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40744,7 +42256,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_310() { + fn __bindgen_test_layout_already_AddRefed_instantiation_281() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40755,7 +42267,7 @@ pub mod root { root::already_AddRefed<root::mozilla::URLExtraData> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_311() { + fn __bindgen_test_layout_already_AddRefed_instantiation_282() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40766,7 +42278,7 @@ pub mod root { root::already_AddRefed<root::mozilla::URLExtraData> ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_312() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_283() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::nsIDocument>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40777,7 +42289,7 @@ pub mod root { root::nsPtrHashKey<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_313() { + fn __bindgen_test_layout_already_AddRefed_instantiation_284() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40788,7 +42300,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_314() { + fn __bindgen_test_layout_DefaultDelete_instantiation_285() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40799,7 +42311,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_315() { + fn __bindgen_test_layout_UniquePtr_instantiation_286() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40810,7 +42322,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValueList> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_316() { + fn __bindgen_test_layout_DefaultDelete_instantiation_287() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40821,7 +42333,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_317() { + fn __bindgen_test_layout_UniquePtr_instantiation_288() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40832,7 +42344,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValuePairList> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_318() { + fn __bindgen_test_layout_already_AddRefed_instantiation_289() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStringBuffer>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40843,7 +42355,7 @@ pub mod root { root::already_AddRefed<root::nsStringBuffer> ) )); } #[test] - fn __bindgen_test_layout_SupportsWeakPtr_instantiation_319() { + fn __bindgen_test_layout_SupportsWeakPtr_instantiation_290() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -40852,7 +42364,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_320() { + fn __bindgen_test_layout_nsTArray_instantiation_291() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40863,7 +42375,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_321() { + fn __bindgen_test_layout_nsTArray_instantiation_292() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40874,18 +42386,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_322() { - assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIAtom> ) )); - assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIAtom> ) )); - } - #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_323() { + fn __bindgen_test_layout_already_AddRefed_instantiation_293() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40896,7 +42397,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_324() { + fn __bindgen_test_layout_Maybe_instantiation_294() { assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40907,7 +42408,7 @@ pub mod root { [u32; 3usize] ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_325() { + fn __bindgen_test_layout_Maybe_instantiation_295() { assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40918,7 +42419,7 @@ pub mod root { [u32; 3usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_326() { + fn __bindgen_test_layout_already_AddRefed_instantiation_296() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleImageRequest>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40929,7 +42430,7 @@ pub mod root { root::already_AddRefed<root::nsStyleImageRequest> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_327() { + fn __bindgen_test_layout_already_AddRefed_instantiation_297() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40940,7 +42441,7 @@ pub mod root { root::already_AddRefed<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_328() { + fn __bindgen_test_layout_DefaultDelete_instantiation_298() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40951,7 +42452,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_329() { + fn __bindgen_test_layout_UniquePtr_instantiation_299() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40962,7 +42463,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsStyleSides> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_330() { + fn __bindgen_test_layout_DefaultDelete_instantiation_300() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40973,7 +42474,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_331() { + fn __bindgen_test_layout_UniquePtr_instantiation_301() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40984,7 +42485,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsStyleSides> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_332() { + fn __bindgen_test_layout_already_AddRefed_instantiation_302() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -40995,7 +42496,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_333() { + fn __bindgen_test_layout_Maybe_instantiation_303() { assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41006,7 +42507,7 @@ pub mod root { [u32; 3usize] ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_334() { + fn __bindgen_test_layout_DefaultDelete_instantiation_304() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41017,7 +42518,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_335() { + fn __bindgen_test_layout_DefaultDelete_instantiation_305() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41028,7 +42529,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_pair_instantiation_336() { + fn __bindgen_test_layout_pair_instantiation_306() { assert_eq!(::std::mem::size_of::<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>() , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41039,7 +42540,7 @@ pub mod root { root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_337() { + fn __bindgen_test_layout_nsTArray_instantiation_307() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>>() , 8usize , concat ! ( @@ -41054,18 +42555,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_338() { - assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIURI> ) )); - assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIURI> ) )); - } - #[test] - fn __bindgen_test_layout_nsTArray_instantiation_339() { + fn __bindgen_test_layout_nsTArray_instantiation_308() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41076,7 +42566,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_340() { + fn __bindgen_test_layout_nsTArray_instantiation_309() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41087,7 +42577,7 @@ pub mod root { root::nsTArray<root::nsStyleCoord> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_341() { + fn __bindgen_test_layout_nsTArray_instantiation_310() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41098,18 +42588,7 @@ pub mod root { root::nsTArray<root::nsStyleCoord> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_342() { - assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - root::nsCOMPtr ) )); - assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat - ! ( - "Alignment of template specialization: " , stringify ! ( - root::nsCOMPtr ) )); - } - #[test] - fn __bindgen_test_layout_RefPtr_instantiation_343() { + fn __bindgen_test_layout_RefPtr_instantiation_311() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::RawServoAnimationValue>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41120,7 +42599,7 @@ pub mod root { root::RefPtr<root::RawServoAnimationValue> ) )); } #[test] - fn __bindgen_test_layout_nsStyleAutoArray_instantiation_344() { + fn __bindgen_test_layout_nsStyleAutoArray_instantiation_312() { assert_eq!(::std::mem::size_of::<root::nsStyleAutoArray<root::mozilla::StyleAnimation>>() , 64usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41131,7 +42610,7 @@ pub mod root { root::nsStyleAutoArray<root::mozilla::StyleAnimation> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_345() { + fn __bindgen_test_layout_DefaultDelete_instantiation_313() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41142,7 +42621,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_346() { + fn __bindgen_test_layout_UniquePtr_instantiation_314() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41153,7 +42632,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValueList> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_347() { + fn __bindgen_test_layout_DefaultDelete_instantiation_315() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41164,7 +42643,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_348() { + fn __bindgen_test_layout_UniquePtr_instantiation_316() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41175,7 +42654,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValuePairList> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_349() { + fn __bindgen_test_layout_RefPtr_instantiation_317() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41186,7 +42665,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_350() { + fn __bindgen_test_layout_RefPtr_instantiation_318() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41197,7 +42676,7 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_NonNull_instantiation_351() { + fn __bindgen_test_layout_NonNull_instantiation_319() { assert_eq!(::std::mem::size_of::<root::mozilla::dom::NonNull<root::mozilla::dom::Element>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41210,7 +42689,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_NonNull_instantiation_352() { + fn __bindgen_test_layout_NonNull_instantiation_320() { assert_eq!(::std::mem::size_of::<root::mozilla::dom::NonNull<root::mozilla::dom::CSSPseudoElement>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41223,7 +42702,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_353() { + fn __bindgen_test_layout_Handle_instantiation_321() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41234,7 +42713,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_354() { + fn __bindgen_test_layout_MutableHandle_instantiation_322() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41245,7 +42724,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_355() { + fn __bindgen_test_layout_Maybe_instantiation_323() { assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41256,7 +42735,7 @@ pub mod root { [u64; 18usize] ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_356() { + fn __bindgen_test_layout_Maybe_instantiation_324() { assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41267,7 +42746,7 @@ pub mod root { [u64; 18usize] ) )); } #[test] - fn __bindgen_test_layout_BaseTimeDuration_instantiation_357() { + fn __bindgen_test_layout_BaseTimeDuration_instantiation_325() { assert_eq!(::std::mem::size_of::<root::mozilla::BaseTimeDuration>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41278,7 +42757,7 @@ pub mod root { root::mozilla::BaseTimeDuration ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_358() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_326() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41289,7 +42768,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_359() { + fn __bindgen_test_layout_already_AddRefed_instantiation_327() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41300,7 +42779,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_360() { + fn __bindgen_test_layout_already_AddRefed_instantiation_328() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41311,7 +42790,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_361() { + fn __bindgen_test_layout_nsTArray_instantiation_329() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41322,7 +42801,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_362() { + fn __bindgen_test_layout_nsTArray_instantiation_330() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41333,7 +42812,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_363() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_331() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41344,7 +42823,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_364() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_332() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41357,7 +42836,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_365() { + fn __bindgen_test_layout_DefaultDelete_instantiation_333() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41368,7 +42847,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_366() { + fn __bindgen_test_layout_already_AddRefed_instantiation_334() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41379,7 +42858,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_367() { + fn __bindgen_test_layout_nsTArray_instantiation_335() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41392,7 +42871,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_368() { + fn __bindgen_test_layout_Handle_instantiation_336() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41403,7 +42882,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_369() { + fn __bindgen_test_layout_Handle_instantiation_337() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41414,7 +42893,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_370() { + fn __bindgen_test_layout_RefPtr_instantiation_338() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41425,7 +42904,7 @@ pub mod root { root::RefPtr<root::mozilla::dom::DOMRect> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_371() { + fn __bindgen_test_layout_Handle_instantiation_339() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41436,7 +42915,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_372() { + fn __bindgen_test_layout_MutableHandle_instantiation_340() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41447,7 +42926,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Sequence_instantiation_373() { + fn __bindgen_test_layout_Sequence_instantiation_341() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -41456,7 +42935,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_374() { + fn __bindgen_test_layout_Handle_instantiation_342() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41467,7 +42946,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Sequence_instantiation_375() { + fn __bindgen_test_layout_Sequence_instantiation_343() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -41476,7 +42955,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_Sequence_instantiation_376() { + fn __bindgen_test_layout_Sequence_instantiation_344() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -41485,7 +42964,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_377() { + fn __bindgen_test_layout_Handle_instantiation_345() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41496,7 +42975,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_378() { + fn __bindgen_test_layout_Handle_instantiation_346() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41507,7 +42986,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_379() { + fn __bindgen_test_layout_MutableHandle_instantiation_347() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41518,7 +42997,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_380() { + fn __bindgen_test_layout_Handle_instantiation_348() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41529,7 +43008,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_381() { + fn __bindgen_test_layout_MutableHandle_instantiation_349() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41540,7 +43019,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_382() { + fn __bindgen_test_layout_Handle_instantiation_350() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41551,7 +43030,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_383() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_351() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::Element>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41562,7 +43041,7 @@ pub mod root { root::nsRefPtrHashKey<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_nsClassHashtable_instantiation_384() { + fn __bindgen_test_layout_nsClassHashtable_instantiation_352() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41573,7 +43052,7 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_385() { + fn __bindgen_test_layout_Handle_instantiation_353() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41584,7 +43063,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_386() { + fn __bindgen_test_layout_nsTArray_instantiation_354() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41595,7 +43074,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_387() { + fn __bindgen_test_layout_nsTArray_instantiation_355() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41606,7 +43085,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_388() { + fn __bindgen_test_layout_nsTArray_instantiation_356() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41617,7 +43096,51 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_389() { + fn __bindgen_test_layout_RefPtr_instantiation_357() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::nsXBLBinding>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::nsXBLBinding> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::nsXBLBinding>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::nsXBLBinding> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_358() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::nsXBLBinding>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::nsXBLBinding>> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::nsXBLBinding>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::nsXBLBinding>> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_359() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::gfxFontFeature>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::gfxFontFeature> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::gfxFontFeature>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::gfxFontFeature> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_360() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::gfx::FontVariation>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::gfx::FontVariation> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::mozilla::gfx::FontVariation>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::mozilla::gfx::FontVariation> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_361() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::CSSValue>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41628,7 +43151,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::CSSValue> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_390() { + fn __bindgen_test_layout_Handle_instantiation_362() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41639,7 +43162,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_391() { + fn __bindgen_test_layout_nsTArray_instantiation_363() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -41650,7 +43173,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } #[test] - fn __bindgen_test_layout_nsAutoPtr_instantiation_392() { + fn __bindgen_test_layout_nsAutoPtr_instantiation_364() { assert_eq!(::std::mem::size_of::<root::nsAutoPtr<root::nsMediaQuery>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( diff --git a/components/style/gecko/media_queries.rs b/components/style/gecko/media_queries.rs index 58dbe0f9c9d..2e7d6c594e1 100644 --- a/components/style/gecko/media_queries.rs +++ b/components/style/gecko/media_queries.rs @@ -17,7 +17,7 @@ use gecko_bindings::structs::{nsMediaFeature_ValueType, nsMediaFeature_RangeType use gecko_bindings::structs::{nsPresContext, RawGeckoPresContextOwned}; use media_queries::MediaType; use parser::ParserContext; -use properties::{ComputedValues, StyleBuilder}; +use properties::{ComputedValuesInner, StyleBuilder}; use properties::longhands::font_size; use selectors::parser::SelectorParseError; use std::fmt::{self, Write}; @@ -26,7 +26,6 @@ use str::starts_with_ignore_ascii_case; use string_cache::Atom; use style_traits::{ToCss, ParseError, StyleParseError}; use style_traits::viewport::ViewportConstraints; -use stylearc::Arc; use values::{CSSFloat, specified}; use values::computed::{self, ToComputedValue}; @@ -37,7 +36,7 @@ pub struct Device { /// stylist, and thus the `Device`, so having a raw pres context pointer /// here is fine. pres_context: RawGeckoPresContextOwned, - default_values: Arc<ComputedValues>, + default_values: ComputedValuesInner, viewport_override: Option<ViewportConstraints>, /// The font size of the root element /// This is set when computing the style of the root @@ -62,7 +61,7 @@ impl Device { assert!(!pres_context.is_null()); Device { pres_context: pres_context, - default_values: ComputedValues::default_values(unsafe { &*pres_context }), + default_values: ComputedValuesInner::default_values(unsafe { &*pres_context }), viewport_override: None, root_font_size: AtomicIsize::new(font_size::get_initial_value().0 as isize), // FIXME(bz): Seems dubious? used_root_font_size: AtomicBool::new(false), @@ -78,19 +77,7 @@ impl Device { /// Returns the default computed values as a reference, in order to match /// Servo. - pub fn default_computed_values(&self) -> &ComputedValues { - &*self.default_values - } - - /// Returns the default computed values, but wrapped in an arc for cheap - /// cloning. - pub fn default_computed_values_arc(&self) -> &Arc<ComputedValues> { - &self.default_values - } - - /// Returns the default computed values as an `Arc`, in order to avoid - /// clones. - pub fn default_values_arc(&self) -> &Arc<ComputedValues> { + pub fn default_computed_values(&self) -> &ComputedValuesInner { &self.default_values } @@ -114,7 +101,7 @@ impl Device { pub fn reset_computed_values(&mut self) { // NB: A following stylesheet flush will populate this if appropriate. self.viewport_override = None; - self.default_values = ComputedValues::default_values(self.pres_context()); + self.default_values = ComputedValuesInner::default_values(self.pres_context()); self.used_root_font_size.store(false, Ordering::Relaxed); } diff --git a/components/style/gecko/pseudo_element_definition.mako.rs b/components/style/gecko/pseudo_element_definition.mako.rs index 5eb08071d39..3f0c5c0f489 100644 --- a/components/style/gecko/pseudo_element_definition.mako.rs +++ b/components/style/gecko/pseudo_element_definition.mako.rs @@ -107,6 +107,25 @@ impl PseudoElement { } } + + /// Construct a `CSSPseudoElementType` from a pseudo-element + #[inline] + pub fn pseudo_type(&self) -> CSSPseudoElementType { + match *self { + % for pseudo in PSEUDOS: + % if not pseudo.is_anon_box(): + PseudoElement::${pseudo.capitalized()} => CSSPseudoElementType::${pseudo.original_ident}, + % endif + % endfor + _ => CSSPseudoElementType::NotPseudo + } + } + + /// Get a PseudoInfo for a pseudo + pub fn pseudo_info(&self) -> (*mut structs::nsIAtom, CSSPseudoElementType) { + (self.atom().as_ptr(), self.pseudo_type()) + } + /// Construct a pseudo-element from an anonymous box `Atom`. #[inline] pub fn from_anon_box_atom(atom: &Atom) -> Option<Self> { diff --git a/components/style/gecko/restyle_damage.rs b/components/style/gecko/restyle_damage.rs index e9be48644ca..471b95f0304 100644 --- a/components/style/gecko/restyle_damage.rs +++ b/components/style/gecko/restyle_damage.rs @@ -7,7 +7,6 @@ use gecko_bindings::bindings; use gecko_bindings::structs; use gecko_bindings::structs::{nsChangeHint, nsStyleContext}; -use gecko_bindings::sugar::ownership::FFIArcHelpers; use matching::{StyleChange, StyleDifference}; use properties::ComputedValues; use std::ops::{BitAnd, BitOr, BitOrAssign, Not}; @@ -56,7 +55,7 @@ impl GeckoRestyleDamage { let mut any_style_changed: bool = false; let hint = unsafe { bindings::Gecko_CalcStyleDifference(context, - new_style.as_borrowed_opt().unwrap(), + &new_style, &mut any_style_changed) }; let change = if any_style_changed { StyleChange::Changed } else { StyleChange::Unchanged }; diff --git a/components/style/gecko/wrapper.rs b/components/style/gecko/wrapper.rs index 75044c4080b..c6744249a44 100644 --- a/components/style/gecko/wrapper.rs +++ b/components/style/gecko/wrapper.rs @@ -88,7 +88,7 @@ use std::mem; use std::ops::DerefMut; use std::ptr; use string_cache::{Atom, Namespace, WeakAtom, WeakNamespace}; -use stylearc::Arc; +use stylearc::{Arc, ArcBorrow, RawOffsetArc}; use stylesheets::UrlExtraData; use stylist::Stylist; @@ -860,13 +860,15 @@ impl<'le> TElement for GeckoElement<'le> { device.pres_context().mDocument.raw::<structs::nsIDocument>() } - fn style_attribute(&self) -> Option<&Arc<Locked<PropertyDeclarationBlock>>> { + fn style_attribute(&self) -> Option<ArcBorrow<Locked<PropertyDeclarationBlock>>> { if !self.may_have_style_attribute() { return None; } let declarations = unsafe { Gecko_GetStyleAttrDeclarationBlock(self.0) }; - declarations.map_or(None, |s| s.as_arc_opt()) + let declarations: Option<&RawOffsetArc<Locked<PropertyDeclarationBlock>>> = + declarations.and_then(|s| s.as_arc_opt()); + declarations.map(|s| s.borrow_arc()) } fn unset_dirty_style_attribute(&self) { @@ -877,9 +879,11 @@ impl<'le> TElement for GeckoElement<'le> { unsafe { Gecko_UnsetDirtyStyleAttr(self.0) }; } - fn get_smil_override(&self) -> Option<&Arc<Locked<PropertyDeclarationBlock>>> { + fn get_smil_override(&self) -> Option<ArcBorrow<Locked<PropertyDeclarationBlock>>> { let declarations = unsafe { Gecko_GetSMILOverrideDeclarationBlock(self.0) }; - declarations.map(|s| s.as_arc_opt()).unwrap_or(None) + let declarations: Option<&RawOffsetArc<Locked<PropertyDeclarationBlock>>> = + declarations.and_then(|s| s.as_arc_opt()); + declarations.map(|s| s.borrow_arc()) } fn get_animation_rule_by_cascade(&self, cascade_level: ServoCascadeLevel) @@ -1097,10 +1101,9 @@ impl<'le> TElement for GeckoElement<'le> { let computed_data = self.borrow_data(); let computed_values = computed_data.as_ref().map(|d| d.styles.primary()); - let computed_values_opt = - computed_values.map(|v| *HasArcFFI::arc_as_borrowed(v)); let before_change_values = - before_change_style.as_ref().map(|v| *HasArcFFI::arc_as_borrowed(v)); + before_change_style.as_ref().map(|x| &**x); + let computed_values_opt = computed_values.as_ref().map(|x| &***x); unsafe { Gecko_UpdateAnimations(self.0, before_change_values, @@ -1182,7 +1185,7 @@ impl<'le> TElement for GeckoElement<'le> { }; let end_value = AnimationValue::arc_from_borrowed(&raw_end_value); debug_assert!(end_value.is_some()); - map.insert(property, end_value.unwrap().clone()); + map.insert(property, end_value.unwrap().clone_arc()); } map } @@ -1428,17 +1431,19 @@ impl<'le> PresentationalHintsSynthesizer for GeckoElement<'le> { } } let declarations = unsafe { Gecko_GetHTMLPresentationAttrDeclarationBlock(self.0) }; - let declarations = declarations.and_then(|s| s.as_arc_opt()); + let declarations: Option<&RawOffsetArc<Locked<PropertyDeclarationBlock>>> = + declarations.and_then(|s| s.as_arc_opt()); if let Some(decl) = declarations { hints.push( - ApplicableDeclarationBlock::from_declarations(Clone::clone(decl), ServoCascadeLevel::PresHints) + ApplicableDeclarationBlock::from_declarations(decl.clone_arc(), ServoCascadeLevel::PresHints) ); } let declarations = unsafe { Gecko_GetExtraContentStyleDeclarations(self.0) }; - let declarations = declarations.and_then(|s| s.as_arc_opt()); + let declarations: Option<&RawOffsetArc<Locked<PropertyDeclarationBlock>>> = + declarations.and_then(|s| s.as_arc_opt()); if let Some(decl) = declarations { hints.push( - ApplicableDeclarationBlock::from_declarations(Clone::clone(decl), ServoCascadeLevel::PresHints) + ApplicableDeclarationBlock::from_declarations(decl.clone_arc(), ServoCascadeLevel::PresHints) ); } @@ -1458,20 +1463,22 @@ impl<'le> PresentationalHintsSynthesizer for GeckoElement<'le> { Gecko_GetVisitedLinkAttrDeclarationBlock(self.0) }, }; - let declarations = declarations.and_then(|s| s.as_arc_opt()); + let declarations: Option<&RawOffsetArc<Locked<PropertyDeclarationBlock>>> = + declarations.and_then(|s| s.as_arc_opt()); if let Some(decl) = declarations { hints.push( - ApplicableDeclarationBlock::from_declarations(Clone::clone(decl), ServoCascadeLevel::PresHints) + ApplicableDeclarationBlock::from_declarations(decl.clone_arc(), ServoCascadeLevel::PresHints) ); } let active = self.get_state().intersects(NonTSPseudoClass::Active.state_flag()); if active { let declarations = unsafe { Gecko_GetActiveLinkAttrDeclarationBlock(self.0) }; - let declarations = declarations.and_then(|s| s.as_arc_opt()); + let declarations: Option<&RawOffsetArc<Locked<PropertyDeclarationBlock>>> = + declarations.and_then(|s| s.as_arc_opt()); if let Some(decl) = declarations { hints.push( - ApplicableDeclarationBlock::from_declarations(Clone::clone(decl), ServoCascadeLevel::PresHints) + ApplicableDeclarationBlock::from_declarations(decl.clone_arc(), ServoCascadeLevel::PresHints) ); } } diff --git a/components/style/gecko_bindings/sugar/ownership.rs b/components/style/gecko_bindings/sugar/ownership.rs index 0b5111b3870..b4e0677bb9e 100644 --- a/components/style/gecko_bindings/sugar/ownership.rs +++ b/components/style/gecko_bindings/sugar/ownership.rs @@ -8,7 +8,7 @@ use std::marker::PhantomData; use std::mem::{forget, transmute}; use std::ops::{Deref, DerefMut}; use std::ptr; -use stylearc::Arc; +use stylearc::{Arc, RawOffsetArc}; /// Indicates that a given Servo type has a corresponding Gecko FFI type. pub unsafe trait HasFFI : Sized + 'static { @@ -88,7 +88,7 @@ pub unsafe trait HasArcFFI : HasFFI { /// (usually on the C++ side) without running the Arc destructor. unsafe fn release_opt(ptr: Option<&Self::FFIType>) { if let Some(arc) = Self::arc_from_borrowed(&ptr) { - let _: Arc<_> = ptr::read(arc as *const Arc<_>); + let _: RawOffsetArc<_> = ptr::read(arc as *const RawOffsetArc<_>); } } @@ -102,16 +102,16 @@ pub unsafe trait HasArcFFI : HasFFI { /// know that a strong reference to the backing Arc is disappearing /// (usually on the C++ side) without running the Arc destructor. unsafe fn release(ptr: &Self::FFIType) { - let _: Arc<_> = ptr::read(Self::as_arc(&ptr) as *const Arc<_>); + let _: RawOffsetArc<_> = ptr::read(Self::as_arc(&ptr) as *const RawOffsetArc<_>); } #[inline] /// Converts a borrowed FFI reference to a borrowed Arc. /// /// &GeckoType -> &Arc<ServoType> - fn as_arc<'a>(ptr: &'a &Self::FFIType) -> &'a Arc<Self> { + fn as_arc<'a>(ptr: &'a &Self::FFIType) -> &'a RawOffsetArc<Self> { debug_assert!(!(ptr as *const _).is_null()); unsafe { - transmute::<&&Self::FFIType, &Arc<Self>>(ptr) + transmute::<&&Self::FFIType, &RawOffsetArc<Self>>(ptr) } } @@ -119,9 +119,9 @@ pub unsafe trait HasArcFFI : HasFFI { /// Converts a borrowed Arc to a borrowed FFI reference. /// /// &Arc<ServoType> -> &GeckoType - fn arc_as_borrowed<'a>(arc: &'a Arc<Self>) -> &'a &Self::FFIType { + fn arc_as_borrowed<'a>(arc: &'a RawOffsetArc<Self>) -> &'a &Self::FFIType { unsafe { - transmute::<&Arc<Self>, &&Self::FFIType>(arc) + transmute::<&RawOffsetArc<Self>, &&Self::FFIType>(arc) } } @@ -129,10 +129,10 @@ pub unsafe trait HasArcFFI : HasFFI { /// Converts a borrowed nullable FFI reference to a borrowed Arc. /// /// &GeckoType -> &Arc<ServoType> - fn arc_from_borrowed<'a>(ptr: &'a Option<&Self::FFIType>) -> Option<&'a Arc<Self>> { + fn arc_from_borrowed<'a>(ptr: &'a Option<&Self::FFIType>) -> Option<&'a RawOffsetArc<Self>> { unsafe { if let Some(ref reference) = *ptr { - Some(transmute::<&&Self::FFIType, &Arc<_>>(reference)) + Some(transmute::<&&Self::FFIType, &RawOffsetArc<_>>(reference)) } else { None } @@ -165,7 +165,7 @@ impl<GeckoType> Strong<GeckoType> { /// Panics on null. /// /// Strong<GeckoType> -> Arc<ServoType> - pub fn into_arc<ServoType>(self) -> Arc<ServoType> + pub fn into_arc<ServoType>(self) -> RawOffsetArc<ServoType> where ServoType: HasArcFFI<FFIType = GeckoType>, { self.into_arc_opt().unwrap() @@ -177,7 +177,7 @@ impl<GeckoType> Strong<GeckoType> { /// Returns None on null. /// /// Strong<GeckoType> -> Arc<ServoType> - pub fn into_arc_opt<ServoType>(self) -> Option<Arc<ServoType>> + pub fn into_arc_opt<ServoType>(self) -> Option<RawOffsetArc<ServoType>> where ServoType: HasArcFFI<FFIType = GeckoType>, { if self.is_null() { @@ -194,7 +194,7 @@ impl<GeckoType> Strong<GeckoType> { /// Returns None on null. /// /// Strong<GeckoType> -> Arc<ServoType> - pub fn as_arc_opt<ServoType>(&self) -> Option<&Arc<ServoType>> + pub fn as_arc_opt<ServoType>(&self) -> Option<&RawOffsetArc<ServoType>> where ServoType: HasArcFFI<FFIType = GeckoType>, { if self.is_null() { @@ -222,18 +222,15 @@ pub unsafe trait FFIArcHelpers { /// Arc<ServoType> -> Strong<GeckoType> fn into_strong(self) -> Strong<<Self::Inner as HasFFI>::FFIType>; - /// Produces a (nullable) borrowed FFI reference by borrowing an Arc. + /// Produces a borrowed FFI reference by borrowing an Arc. /// - /// &Arc<ServoType> -> Option<&GeckoType> - /// - /// FIXME(emilio): What's the point of the nullability? Arc should be - /// non-null, right? + /// &Arc<ServoType> -> &GeckoType /// /// Then the `arc_as_borrowed` method can go away. - fn as_borrowed_opt(&self) -> Option<&<Self::Inner as HasFFI>::FFIType>; + fn as_borrowed(&self) -> &<Self::Inner as HasFFI>::FFIType; } -unsafe impl<T: HasArcFFI> FFIArcHelpers for Arc<T> { +unsafe impl<T: HasArcFFI> FFIArcHelpers for RawOffsetArc<T> { type Inner = T; #[inline] @@ -242,9 +239,22 @@ unsafe impl<T: HasArcFFI> FFIArcHelpers for Arc<T> { } #[inline] - fn as_borrowed_opt(&self) -> Option<&T::FFIType> { - let borrowedptr = self as *const Arc<T> as *const Option<&T::FFIType>; - unsafe { ptr::read(borrowedptr) } + fn as_borrowed(&self) -> &T::FFIType { + unsafe { &*(&**self as *const T as *const T::FFIType) } + } +} + +unsafe impl<T: HasArcFFI> FFIArcHelpers for Arc<T> { + type Inner = T; + + #[inline] + fn into_strong(self) -> Strong<T::FFIType> { + Arc::into_raw_offset(self).into_strong() + } + + #[inline] + fn as_borrowed(&self) -> &T::FFIType { + unsafe { &*(&**self as *const T as *const T::FFIType) } } } diff --git a/components/style/gecko_bindings/sugar/refptr.rs b/components/style/gecko_bindings/sugar/refptr.rs index 77c6ca4f3c3..048e12151ca 100644 --- a/components/style/gecko_bindings/sugar/refptr.rs +++ b/components/style/gecko_bindings/sugar/refptr.rs @@ -211,7 +211,7 @@ impl<T> structs::RefPtr<T> { /// Sets the contents to an Arc<T> /// will leak existing contents pub fn set_arc_leaky<U>(&mut self, other: Arc<U>) where U: HasArcFFI<FFIType = T> { - *self = unsafe { mem::transmute(other) }; // Arc::into_raw is unstable :( + *self = unsafe { mem::transmute(Arc::into_raw_offset(other)) }; } } diff --git a/components/style/matching.rs b/components/style/matching.rs index b720c5de04a..5b06c08b5b3 100644 --- a/components/style/matching.rs +++ b/components/style/matching.rs @@ -18,7 +18,7 @@ use properties::longhands::display::computed_value as display; use rule_tree::{CascadeLevel, StrongRuleNode}; use selector_parser::{PseudoElement, RestyleDamage}; use selectors::matching::ElementSelectorFlags; -use stylearc::Arc; +use stylearc::{Arc, ArcBorrow}; /// Represents the result of comparing an element's old and new style. pub struct StyleDifference { @@ -690,7 +690,7 @@ pub trait MatchMethods : TElement { }; let replace_rule_node = |level: CascadeLevel, - pdb: Option<&Arc<Locked<PropertyDeclarationBlock>>>, + pdb: Option<ArcBorrow<Locked<PropertyDeclarationBlock>>>, path: &mut StrongRuleNode| -> bool { let new_node = stylist.rule_tree() .update_rule_at_level(level, pdb, path, guards); @@ -737,7 +737,7 @@ pub trait MatchMethods : TElement { primary_rules: &mut StrongRuleNode| { let animation_rule = self.get_animation_rule_by_cascade(level); replace_rule_node(level, - animation_rule.as_ref(), + animation_rule.as_ref().map(|a| a.borrow_arc()), primary_rules); }; diff --git a/components/style/properties/declaration_block.rs b/components/style/properties/declaration_block.rs index 7afbdbdd518..0e2bb0eb040 100644 --- a/components/style/properties/declaration_block.rs +++ b/components/style/properties/declaration_block.rs @@ -110,13 +110,13 @@ impl<'a> Iterator for PropertyDeclarationIterator<'a> { pub struct AnimationValueIterator<'a, 'cx, 'cx_a:'cx> { iter: Iter<'a, (PropertyDeclaration, Importance)>, context: &'cx mut Context<'cx_a>, - default_values: &'a Arc<ComputedValues>, + default_values: &'a ComputedValuesInner, } impl<'a, 'cx, 'cx_a:'cx> AnimationValueIterator<'a, 'cx, 'cx_a> { fn new(declarations: &'a PropertyDeclarationBlock, context: &'cx mut Context<'cx_a>, - default_values: &'a Arc<ComputedValues>) -> AnimationValueIterator<'a, 'cx, 'cx_a> { + default_values: &'a ComputedValuesInner) -> AnimationValueIterator<'a, 'cx, 'cx_a> { AnimationValueIterator { iter: declarations.declarations().iter(), context: context, @@ -204,7 +204,7 @@ impl PropertyDeclarationBlock { /// Return an iterator of (AnimatableLonghand, AnimationValue). pub fn to_animation_value_iter<'a, 'cx, 'cx_a:'cx>(&'a self, context: &'cx mut Context<'cx_a>, - default_values: &'a Arc<ComputedValues>) + default_values: &'a ComputedValuesInner) -> AnimationValueIterator<'a, 'cx, 'cx_a> { AnimationValueIterator::new(self, context, default_values) } diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs index 13ca780ee9f..346d4b38853 100644 --- a/components/style/properties/gecko.mako.rs +++ b/components/style/properties/gecko.mako.rs @@ -46,7 +46,6 @@ use gecko_bindings::structs; use gecko_bindings::structs::nsCSSPropertyID; use gecko_bindings::structs::nsStyleVariables; use gecko_bindings::sugar::ns_style_coord::{CoordDataValue, CoordData, CoordDataMut}; -use gecko_bindings::sugar::ownership::HasArcFFI; use gecko::values::convert_nscolor_to_rgba; use gecko::values::convert_rgba_to_nscolor; use gecko::values::GeckoStyleCoordConvertible; @@ -58,11 +57,9 @@ use properties::computed_value_flags::ComputedValueFlags; use properties::{longhands, FontComputationData, Importance, LonghandId}; use properties::{PropertyDeclaration, PropertyDeclarationBlock, PropertyDeclarationId}; use rule_tree::StrongRuleNode; -use std::fmt::{self, Debug}; -use std::mem::{forget, transmute, zeroed}; -use std::ptr; -use stylearc::Arc; -use std::cmp; +use std::mem::{forget, uninitialized, transmute, zeroed}; +use std::{cmp, ops, ptr}; +use stylearc::{Arc, RawOffsetArc}; use values::{Auto, CustomIdent, Either, KeyframesName}; use values::computed::ToComputedValue; use values::computed::effects::{BoxShadow, Filter, SimpleShadow}; @@ -75,28 +72,50 @@ pub mod style_structs { % endfor } -// FIXME(emilio): Unify both definitions, since they're equal now. -#[derive(Clone)] -pub struct ComputedValues { - % for style_struct in data.style_structs: - ${style_struct.ident}: Arc<style_structs::${style_struct.name}>, - % endfor - custom_properties: Option<Arc<CustomPropertiesMap>>, - pub writing_mode: WritingMode, - pub font_computation_data: FontComputationData, - pub flags: ComputedValueFlags, - - /// The rule node representing the ordered list of rules matched for this - /// node. Can be None for default values and text nodes. This is - /// essentially an optimization to avoid referencing the root rule node. - pub rules: Option<StrongRuleNode>, - /// The element's computed values if visited, only computed if there's a - /// relevant link for this element. A element's "relevant link" is the - /// element being matched if it is a link or the nearest ancestor link. - visited_style: Option<Arc<ComputedValues>>, + +pub type ComputedValuesInner = ::gecko_bindings::structs::ServoComputedValues; + +#[derive(Debug)] +#[repr(C)] +pub struct ComputedValues(::gecko_bindings::structs::mozilla::ServoStyleContext); + +impl Drop for ComputedValues { + fn drop(&mut self) { + unsafe { + bindings::Gecko_ServoStyleContext_Destroy(&mut self.0); + } + } +} + +unsafe impl Sync for ComputedValues {} +unsafe impl Send for ComputedValues {} + +impl Clone for ComputedValues { + fn clone(&self) -> Self { + unreachable!() + } } -impl ComputedValues { +impl Clone for ComputedValuesInner { + fn clone(&self) -> Self { + ComputedValuesInner { + % for style_struct in data.style_structs: + ${style_struct.gecko_name}: self.${style_struct.gecko_name}.clone(), + % endfor + custom_properties: self.custom_properties.clone(), + writing_mode: self.writing_mode.clone(), + font_computation_data: self.font_computation_data.clone(), + flags: self.flags.clone(), + rules: self.rules.clone(), + visited_style: self.visited_style.clone(), + } + } +} + +pub type PseudoInfo = (*mut structs::nsIAtom, structs::CSSPseudoElementType); +pub type ParentStyleContextInfo<'a> = Option< &'a ComputedValues>; + +impl ComputedValuesInner { pub fn new(custom_properties: Option<Arc<CustomPropertiesMap>>, writing_mode: WritingMode, font_size_keyword: Option<(longhands::font_size::KeywordSize, f32)>, @@ -107,33 +126,76 @@ impl ComputedValues { ${style_struct.ident}: Arc<style_structs::${style_struct.name}>, % endfor ) -> Self { - ComputedValues { - custom_properties, - writing_mode, + ComputedValuesInner { + custom_properties: custom_properties, + writing_mode: writing_mode, font_computation_data: FontComputationData::new(font_size_keyword), - flags, - rules, - visited_style: visited_style, + rules: rules, + visited_style: visited_style.map(|x| Arc::into_raw_offset(x)), + flags: flags, % for style_struct in data.style_structs: - ${style_struct.ident}, + ${style_struct.gecko_name}: Arc::into_raw_offset(${style_struct.ident}), % endfor } } - pub fn default_values(pres_context: RawGeckoPresContextBorrowed) -> Arc<Self> { - Arc::new(ComputedValues { - custom_properties: None, - writing_mode: WritingMode::empty(), // FIXME(bz): This seems dubious - font_computation_data: FontComputationData::default_values(), - flags: ComputedValueFlags::empty(), - rules: None, - visited_style: None, - % for style_struct in data.style_structs: - ${style_struct.ident}: style_structs::${style_struct.name}::default(pres_context), - % endfor - }) + pub fn default_values(pres_context: RawGeckoPresContextBorrowed) -> Self { + ComputedValuesInner { + custom_properties: None, + writing_mode: WritingMode::empty(), // FIXME(bz): This seems dubious + font_computation_data: FontComputationData::default_values(), + rules: None, + visited_style: None, + flags: ComputedValueFlags::empty(), + % for style_struct in data.style_structs: + ${style_struct.gecko_name}: Arc::into_raw_offset( + style_structs::${style_struct.name}::default(pres_context) + ), + % endfor + } + } + pub fn to_outer(self, device: &Device, parent: ParentStyleContextInfo, + info: Option<PseudoInfo>) -> Arc<ComputedValues> { + let (tag, ty) = if let Some(info) = info { + info + } else { + (ptr::null_mut(), structs::CSSPseudoElementType::NotPseudo) + }; + + unsafe { self.to_outer_helper(device.pres_context(), parent, ty, tag) } + } + + pub unsafe fn to_outer_helper(self, pres_context: bindings::RawGeckoPresContextBorrowed, + parent: ParentStyleContextInfo, + pseudo_ty: structs::CSSPseudoElementType, + pseudo_tag: *mut structs::nsIAtom) -> Arc<ComputedValues> { + let arc = unsafe { + let arc: Arc<ComputedValues> = Arc::new(uninitialized()); + bindings::Gecko_ServoStyleContext_Init(&arc.0 as *const _ as *mut _, parent, pres_context, + &self, pseudo_ty, pseudo_tag); + // We're simulating a move by having C++ do a memcpy and then forgetting + // it on this end. + forget(self); + arc + }; + arc + } +} + +impl ops::Deref for ComputedValues { + type Target = ComputedValuesInner; + fn deref(&self) -> &ComputedValuesInner { + &self.0.mSource + } +} + +impl ops::DerefMut for ComputedValues { + fn deref_mut(&mut self) -> &mut ComputedValuesInner { + &mut self.0.mSource } +} +impl ComputedValuesInner { #[inline] pub fn is_display_contents(&self) -> bool { self.get_box().clone_display() == longhands::display::computed_value::T::contents @@ -149,20 +211,21 @@ impl ComputedValues { % for style_struct in data.style_structs: #[inline] pub fn clone_${style_struct.name_lower}(&self) -> Arc<style_structs::${style_struct.name}> { - self.${style_struct.ident}.clone() + Arc::from_raw_offset(self.${style_struct.gecko_name}.clone()) } #[inline] pub fn get_${style_struct.name_lower}(&self) -> &style_structs::${style_struct.name} { - &self.${style_struct.ident} + &self.${style_struct.gecko_name} } - pub fn ${style_struct.name_lower}_arc(&self) -> &Arc<style_structs::${style_struct.name}> { - &self.${style_struct.ident} + + pub fn ${style_struct.name_lower}_arc(&self) -> &RawOffsetArc<style_structs::${style_struct.name}> { + &self.${style_struct.gecko_name} } #[inline] pub fn mutate_${style_struct.name_lower}(&mut self) -> &mut style_structs::${style_struct.name} { - Arc::make_mut(&mut self.${style_struct.ident}) + RawOffsetArc::make_mut(&mut self.${style_struct.gecko_name}) } % endfor @@ -177,19 +240,19 @@ impl ComputedValues { } /// Gets a reference to the visited style, if any. - pub fn get_visited_style(&self) -> Option<<&Arc<ComputedValues>> { - self.visited_style.as_ref() + pub fn get_visited_style(&self) -> Option< & ComputedValues> { + self.visited_style.as_ref().map(|x| &**x) } /// Gets a reference to the visited style. Panic if no visited style exists. - pub fn visited_style(&self) -> &Arc<ComputedValues> { + pub fn visited_style(&self) -> &ComputedValues { self.get_visited_style().unwrap() } /// Clone the visited style. Used for inheriting parent styles in /// StyleBuilder::for_inheritance. pub fn clone_visited_style(&self) -> Option<Arc<ComputedValues>> { - self.visited_style.clone() + self.visited_style.as_ref().map(|x| x.clone_arc()) } /// Gets a reference to the custom properties map (if one exists). @@ -238,9 +301,7 @@ impl ComputedValues { } <%def name="declare_style_struct(style_struct)"> -pub struct ${style_struct.gecko_struct_name} { - gecko: ${style_struct.gecko_ffi_name}, -} +pub use ::gecko_bindings::structs::mozilla::Gecko${style_struct.gecko_name} as ${style_struct.gecko_struct_name}; impl ${style_struct.gecko_struct_name} { pub fn gecko(&self) -> &${style_struct.gecko_ffi_name} { &self.gecko @@ -737,20 +798,6 @@ impl Clone for ${style_struct.gecko_struct_name} { } } -// FIXME(bholley): Make bindgen generate Debug for all types. -%if style_struct.gecko_ffi_name in ("nsStyle" + x for x in "Border Display List Background Font SVGReset".split()): -impl Debug for ${style_struct.gecko_struct_name} { - // FIXME(bholley): Generate this. - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "Gecko style struct: ${style_struct.gecko_struct_name}") - } -} -%else: -impl Debug for ${style_struct.gecko_struct_name} { - // FIXME(bholley): Generate this. - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { self.gecko.fmt(f) } -} -%endif </%def> <%def name="impl_simple_type_with_conversion(ident, gecko_ffi_name=None)"> @@ -4797,7 +4844,7 @@ clip-path #[allow(non_snake_case, unused_variables)] pub unsafe extern "C" fn Servo_GetStyle${style_struct.gecko_name}(computed_values: ServoComputedValuesBorrowedOrNull) -> *const ${style_struct.gecko_ffi_name} { - ComputedValues::arc_from_borrowed(&computed_values).unwrap().get_${style_struct.name_lower}().get_gecko() + computed_values.unwrap().get_${style_struct.name_lower}().get_gecko() as *const ${style_struct.gecko_ffi_name} } </%def> @@ -4816,7 +4863,7 @@ static mut EMPTY_VARIABLES_STRUCT: Option<nsStyleVariables> = None; #[no_mangle] #[allow(non_snake_case)] -pub unsafe extern "C" fn Servo_GetStyleVariables(_cv: ServoComputedValuesBorrowedOrNull) +pub unsafe extern "C" fn Servo_GetEmptyVariables() -> *const nsStyleVariables { EMPTY_VARIABLES_STRUCT.as_ref().unwrap() } diff --git a/components/style/properties/helpers.mako.rs b/components/style/properties/helpers.mako.rs index e59be799737..580e2fd6329 100644 --- a/components/style/properties/helpers.mako.rs +++ b/components/style/properties/helpers.mako.rs @@ -292,7 +292,7 @@ #[allow(unused_imports)] use properties::{DeclaredValue, LonghandId, LonghandIdSet}; #[allow(unused_imports)] - use properties::{CSSWideKeyword, ComputedValues, PropertyDeclaration}; + use properties::{CSSWideKeyword, ComputedValuesInner, PropertyDeclaration}; #[allow(unused_imports)] use properties::style_structs; #[allow(unused_imports)] @@ -310,8 +310,8 @@ ${caller.body()} #[allow(unused_variables)] pub fn cascade_property(declaration: &PropertyDeclaration, - inherited_style: &ComputedValues, - default_style: &ComputedValues, + inherited_style: &ComputedValuesInner, + default_style: &ComputedValuesInner, context: &mut computed::Context, cacheable: &mut bool, cascade_info: &mut Option<<&mut CascadeInfo>) { diff --git a/components/style/properties/helpers/animated_properties.mako.rs b/components/style/properties/helpers/animated_properties.mako.rs index d81028284e3..f4c16093f91 100644 --- a/components/style/properties/helpers/animated_properties.mako.rs +++ b/components/style/properties/helpers/animated_properties.mako.rs @@ -29,7 +29,7 @@ use smallvec::SmallVec; use std::cmp; #[cfg(feature = "gecko")] use fnv::FnvHashMap; use style_traits::ParseError; -use super::ComputedValues; +use super::ComputedValuesInner; #[cfg(any(feature = "gecko", feature = "testing"))] use values::Auto; use values::{CSSFloat, CustomIdent, Either}; @@ -394,7 +394,7 @@ impl AnimatedProperty { /// Update `style` with the proper computed style corresponding to this /// animation at `progress`. - pub fn update(&self, style: &mut ComputedValues, progress: f64) { + pub fn update(&self, style: &mut ComputedValuesInner, progress: f64) { match *self { % for prop in data.longhands: % if prop.animatable: @@ -427,8 +427,8 @@ impl AnimatedProperty { /// Get an animatable value from a transition-property, an old style, and a /// new style. pub fn from_animatable_longhand(property: &AnimatableLonghand, - old_style: &ComputedValues, - new_style: &ComputedValues) + old_style: &ComputedValuesInner, + new_style: &ComputedValuesInner) -> AnimatedProperty { match *property { % for prop in data.longhands: @@ -521,7 +521,7 @@ impl AnimationValue { /// Construct an AnimationValue from a property declaration pub fn from_declaration(decl: &PropertyDeclaration, context: &mut Context, - initial: &ComputedValues) -> Option<Self> { + initial: &ComputedValuesInner) -> Option<Self> { use properties::LonghandId; match *decl { @@ -593,7 +593,7 @@ impl AnimationValue { /// Get an AnimationValue for an AnimatableLonghand from a given computed values. pub fn from_computed_values(property: &AnimatableLonghand, - computed_values: &ComputedValues) + computed_values: &ComputedValuesInner) -> Self { match *property { % for prop in data.longhands: diff --git a/components/style/properties/longhand/box.mako.rs b/components/style/properties/longhand/box.mako.rs index f2c3c8d517e..10e1358e48d 100644 --- a/components/style/properties/longhand/box.mako.rs +++ b/components/style/properties/longhand/box.mako.rs @@ -181,7 +181,7 @@ % if product == "servo": fn cascade_property_custom(_declaration: &PropertyDeclaration, - _inherited_style: &ComputedValues, + _inherited_style: &ComputedValuesInner, context: &mut computed::Context, _cacheable: &mut bool) { longhands::_servo_display_for_hypothetical_box::derive_from_display(context); diff --git a/components/style/properties/longhand/text.mako.rs b/components/style/properties/longhand/text.mako.rs index 3be23f1681e..c2ec468f7c1 100644 --- a/components/style/properties/longhand/text.mako.rs +++ b/components/style/properties/longhand/text.mako.rs @@ -249,7 +249,7 @@ ${helpers.single_keyword("unicode-bidi", % if product == "servo": fn cascade_property_custom(_declaration: &PropertyDeclaration, - _inherited_style: &ComputedValues, + _inherited_style: &ComputedValuesInner, context: &mut computed::Context, _cacheable: &mut bool) { longhands::_servo_text_decorations_in_effect::derive_from_text_decoration(context); diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs index 9c6a017ced3..43248e0feae 100644 --- a/components/style/properties/properties.mako.rs +++ b/components/style/properties/properties.mako.rs @@ -12,9 +12,7 @@ use std::borrow::Cow; use std::collections::HashSet; -use std::fmt; -use std::mem; -use std::ops::Deref; +use std::{fmt, mem, ops}; use stylearc::{Arc, UniqueArc}; use app_units::Au; @@ -113,7 +111,7 @@ pub struct FontComputationData { } -impl FontComputationData{ +impl FontComputationData { /// Assigns values for variables in struct FontComputationData pub fn new(font_size_keyword: Option<(longhands::font_size::KeywordSize, f32)>) -> Self { FontComputationData { @@ -1873,21 +1871,20 @@ pub mod style_structs { #[cfg(feature = "gecko")] -pub use gecko_properties::ComputedValues; +pub use gecko_properties::{ComputedValues, ComputedValuesInner, ParentStyleContextInfo, PseudoInfo}; -/// A legacy alias for a servo-version of ComputedValues. Should go away soon. #[cfg(feature = "servo")] -pub type ServoComputedValues = ComputedValues; +/// Servo doesn't have style contexts so this is extraneous info +pub type PseudoInfo = (); +#[cfg(feature = "servo")] +/// Servo doesn't have style contexts so this is extraneous info +pub type ParentStyleContextInfo = (); + -/// The struct that Servo uses to represent computed values. -/// -/// This struct contains an immutable atomically-reference-counted pointer to -/// every kind of style struct. -/// -/// When needed, the structs may be copied in order to get mutated. #[cfg(feature = "servo")] -#[cfg_attr(feature = "servo", derive(Clone))] -pub struct ComputedValues { +#[cfg_attr(feature = "servo", derive(Clone, Debug))] +/// Actual data of ComputedValues, to match up with Gecko +pub struct ComputedValuesInner { % for style_struct in data.active_style_structs(): ${style_struct.ident}: Arc<style_structs::${style_struct.name}>, % endfor @@ -1911,8 +1908,26 @@ pub struct ComputedValues { visited_style: Option<Arc<ComputedValues>>, } +/// The struct that Servo uses to represent computed values. +/// +/// This struct contains an immutable atomically-reference-counted pointer to +/// every kind of style struct. +/// +/// When needed, the structs may be copied in order to get mutated. +#[cfg(feature = "servo")] +#[cfg_attr(feature = "servo", derive(Clone, Debug))] +pub struct ComputedValues { + /// The actual computed values + /// + /// In Gecko the outer ComputedValues is actually a style context, + /// whereas ComputedValuesInner is the core set of computed values. + /// + /// We maintain this distinction in servo to reduce the amount of special casing. + pub inner: ComputedValuesInner, +} + #[cfg(feature = "servo")] -impl ComputedValues { +impl ComputedValuesInner { /// Construct a `ComputedValues` instance. pub fn new( custom_properties: Option<Arc<::custom_properties::CustomPropertiesMap>>, @@ -1925,22 +1940,45 @@ impl ComputedValues { ${style_struct.ident}: Arc<style_structs::${style_struct.name}>, % endfor ) -> Self { - let font_computation_data = FontComputationData::new(font_size_keyword); - ComputedValues { - custom_properties, - writing_mode, - font_computation_data, - flags, - rules, - visited_style, + ComputedValuesInner { + custom_properties: custom_properties, + writing_mode: writing_mode, + font_computation_data: FontComputationData::new(font_size_keyword), + rules: rules, + visited_style: visited_style, + flags: flags, % for style_struct in data.active_style_structs(): - ${style_struct.ident}, + ${style_struct.ident}: ${style_struct.ident}, % endfor } } /// Get the initial computed values. pub fn initial_values() -> &'static Self { &*INITIAL_SERVO_VALUES } +} + +#[cfg(feature = "servo")] +impl ops::Deref for ComputedValues { + type Target = ComputedValuesInner; + fn deref(&self) -> &ComputedValuesInner { + &self.inner + } +} + +#[cfg(feature = "servo")] +impl ops::DerefMut for ComputedValues { + fn deref_mut(&mut self) -> &mut ComputedValuesInner { + &mut self.inner + } +} + +#[cfg(feature = "servo")] +impl ComputedValuesInner { + /// Convert to an Arc<ComputedValues> + pub fn to_outer(self, _: &Device, _: ParentStyleContextInfo, + _: Option<PseudoInfo>) -> Arc<ComputedValues> { + Arc::new(ComputedValues {inner: self}) + } % for style_struct in data.active_style_structs(): /// Clone the ${style_struct.name} struct. @@ -1979,12 +2017,12 @@ impl ComputedValues { } /// Gets a reference to the visited style, if any. - pub fn get_visited_style(&self) -> Option<<&Arc<ComputedValues>> { - self.visited_style.as_ref() + pub fn get_visited_style(&self) -> Option< & ComputedValues> { + self.visited_style.as_ref().map(|x| &**x) } /// Gets a reference to the visited style. Panic if no visited style exists. - pub fn visited_style(&self) -> &Arc<ComputedValues> { + pub fn visited_style(&self) -> &ComputedValues { self.get_visited_style().unwrap() } @@ -2237,14 +2275,6 @@ impl ComputedValues { } } -// We manually implement Debug for ComputedValues so that we can avoid the -// verbose stringification of every property and instead focus on a few values. -impl fmt::Debug for ComputedValues { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "ComputedValues {{ rules: {:?}, .. }}", self.rules) - } -} - /// Return a WritingMode bitflags from the relevant CSS properties. pub fn get_writing_mode(inheritedbox_style: &style_structs::InheritedBox) -> WritingMode { use logical_geometry; @@ -2296,10 +2326,24 @@ pub fn get_writing_mode(inheritedbox_style: &style_structs::InheritedBox) -> Wri flags } +% if product == "gecko": + pub use ::stylearc::RawOffsetArc as BuilderArc; + /// Clone an arc, returning a regular arc + fn clone_arc<T: 'static>(x: &BuilderArc<T>) -> Arc<T> { + Arc::from_raw_offset(x.clone()) + } +% else: + pub use ::stylearc::Arc as BuilderArc; + /// Clone an arc, returning a regular arc + fn clone_arc<T: 'static>(x: &BuilderArc<T>) -> Arc<T> { + x.clone() + } +% endif + /// A reference to a style struct of the parent, or our own style struct. pub enum StyleStructRef<'a, T: 'static> { /// A borrowed struct from the parent, for example, for inheriting style. - Borrowed(&'a Arc<T>), + Borrowed(&'a BuilderArc<T>), /// An owned struct, that we've already mutated. Owned(UniqueArc<T>), /// Temporarily vacated, will panic if accessed @@ -2360,13 +2404,13 @@ impl<'a, T: 'a> StyleStructRef<'a, T> pub fn build(self) -> Arc<T> { match self { StyleStructRef::Owned(v) => v.shareable(), - StyleStructRef::Borrowed(v) => v.clone(), + StyleStructRef::Borrowed(v) => clone_arc(v), StyleStructRef::Vacated => panic!("Accessed vacated style struct") } } } -impl<'a, T: 'a> Deref for StyleStructRef<'a, T> { +impl<'a, T: 'a> ops::Deref for StyleStructRef<'a, T> { type Target = T; fn deref(&self) -> &T { @@ -2408,8 +2452,8 @@ pub struct StyleBuilder<'a> { impl<'a> StyleBuilder<'a> { /// Trivially construct a `StyleBuilder`. fn new( - inherited_style: &'a ComputedValues, - reset_style: &'a ComputedValues, + inherited_style: &'a ComputedValuesInner, + reset_style: &'a ComputedValuesInner, rules: Option<StrongRuleNode>, custom_properties: Option<Arc<::custom_properties::CustomPropertiesMap>>, writing_mode: WritingMode, @@ -2436,15 +2480,15 @@ impl<'a> StyleBuilder<'a> { /// Creates a StyleBuilder holding only references to the structs of `s`, in /// order to create a derived style. - pub fn for_derived_style(s: &'a ComputedValues) -> Self { + pub fn for_derived_style(s: &'a ComputedValuesInner) -> Self { Self::for_inheritance(s, s) } /// Inherits style from the parent element, accounting for the default /// computed values that need to be provided as well. pub fn for_inheritance( - parent: &'a ComputedValues, - default: &'a ComputedValues + parent: &'a ComputedValuesInner, + default: &'a ComputedValuesInner ) -> Self { Self::new( parent, @@ -2488,7 +2532,7 @@ impl<'a> StyleBuilder<'a> { } /// Reset the current `${style_struct.name}` style to its default value. - pub fn reset_${style_struct.name_lower}(&mut self, default: &'a ComputedValues) { + pub fn reset_${style_struct.name_lower}(&mut self, default: &'a ComputedValuesInner) { self.${style_struct.ident} = StyleStructRef::Borrowed(default.${style_struct.name_lower}_arc()); } @@ -2522,8 +2566,8 @@ impl<'a> StyleBuilder<'a> { /// Turns this `StyleBuilder` into a proper `ComputedValues` instance. - pub fn build(self) -> ComputedValues { - ComputedValues::new(self.custom_properties, + pub fn build(self) -> ComputedValuesInner { + ComputedValuesInner::new(self.custom_properties, self.writing_mode, self.font_size_keyword, self.flags, @@ -2553,12 +2597,12 @@ pub use self::lazy_static_module::INITIAL_SERVO_VALUES; mod lazy_static_module { use logical_geometry::WritingMode; use stylearc::Arc; - use super::{ComputedValues, longhands, style_structs, FontComputationData}; + use super::{ComputedValuesInner, longhands, style_structs, FontComputationData}; use super::computed_value_flags::ComputedValueFlags; /// The initial values for all style structs as defined by the specification. lazy_static! { - pub static ref INITIAL_SERVO_VALUES: ComputedValues = ComputedValues { + pub static ref INITIAL_SERVO_VALUES: ComputedValuesInner = ComputedValuesInner { % for style_struct in data.active_style_structs(): ${style_struct.ident}: Arc::new(style_structs::${style_struct.name} { % for longhand in style_struct.longhands: @@ -2571,10 +2615,10 @@ mod lazy_static_module { % endfor custom_properties: None, writing_mode: WritingMode::empty(), - flags: ComputedValueFlags::empty(), font_computation_data: FontComputationData::default_values(), rules: None, visited_style: None, + flags: ComputedValueFlags::empty(), }; } } @@ -2582,8 +2626,8 @@ mod lazy_static_module { /// A per-longhand function that performs the CSS cascade for that longhand. pub type CascadePropertyFn = extern "Rust" fn(declaration: &PropertyDeclaration, - inherited_style: &ComputedValues, - default_style: &ComputedValues, + inherited_style: &ComputedValuesInner, + default_style: &ComputedValuesInner, context: &mut computed::Context, cacheable: &mut bool, cascade_info: &mut Option<<&mut CascadeInfo>); @@ -2644,14 +2688,14 @@ bitflags! { pub fn cascade(device: &Device, rule_node: &StrongRuleNode, guards: &StylesheetGuards, - parent_style: Option<<&ComputedValues>, - layout_parent_style: Option<<&ComputedValues>, + parent_style: Option<<&ComputedValuesInner>, + layout_parent_style: Option<<&ComputedValuesInner>, visited_style: Option<Arc<ComputedValues>>, cascade_info: Option<<&mut CascadeInfo>, font_metrics_provider: &FontMetricsProvider, flags: CascadeFlags, quirks_mode: QuirksMode) - -> ComputedValues { + -> ComputedValuesInner { debug_assert!(layout_parent_style.is_none() || parent_style.is_some()); let (inherited_style, layout_parent_style) = match parent_style { Some(parent_style) => { @@ -2706,14 +2750,14 @@ pub fn cascade(device: &Device, pub fn apply_declarations<'a, F, I>(device: &Device, rules: &StrongRuleNode, iter_declarations: F, - inherited_style: &ComputedValues, - layout_parent_style: &ComputedValues, + inherited_style: &ComputedValuesInner, + layout_parent_style: &ComputedValuesInner, visited_style: Option<Arc<ComputedValues>>, mut cascade_info: Option<<&mut CascadeInfo>, font_metrics_provider: &FontMetricsProvider, flags: CascadeFlags, quirks_mode: QuirksMode) - -> ComputedValues + -> ComputedValuesInner where F: Fn() -> I, I: Iterator<Item = (&'a PropertyDeclaration, CascadeLevel)>, { diff --git a/components/style/rule_tree/mod.rs b/components/style/rule_tree/mod.rs index a6a729fe2d5..e9a76731f3b 100644 --- a/components/style/rule_tree/mod.rs +++ b/components/style/rule_tree/mod.rs @@ -16,7 +16,7 @@ use std::io::{self, Write}; use std::mem; use std::ptr; use std::sync::atomic::{AtomicPtr, AtomicUsize, Ordering}; -use stylearc::{Arc, NonZeroPtrMut}; +use stylearc::{Arc, ArcBorrow, NonZeroPtrMut}; use stylesheets::StyleRule; use thread_state; @@ -308,7 +308,7 @@ impl RuleTree { /// the old path is still valid. pub fn update_rule_at_level(&self, level: CascadeLevel, - pdb: Option<&Arc<Locked<PropertyDeclarationBlock>>>, + pdb: Option<ArcBorrow<Locked<PropertyDeclarationBlock>>>, path: &StrongRuleNode, guards: &StylesheetGuards) -> Option<StrongRuleNode> { @@ -347,7 +347,7 @@ impl RuleTree { // so let's skip it for now. let is_here_already = match ¤t.get().source { &StyleSource::Declarations(ref already_here) => { - Arc::ptr_eq(pdb, already_here) + pdb.with_arc(|arc| Arc::ptr_eq(arc, already_here)) }, _ => unreachable!("Replacing non-declarations style?"), }; @@ -371,13 +371,13 @@ impl RuleTree { if level.is_important() { if pdb.read_with(level.guard(guards)).any_important() { current = current.ensure_child(self.root.downgrade(), - StyleSource::Declarations(pdb.clone()), + StyleSource::Declarations(pdb.clone_arc()), level); } } else { if pdb.read_with(level.guard(guards)).any_normal() { current = current.ensure_child(self.root.downgrade(), - StyleSource::Declarations(pdb.clone()), + StyleSource::Declarations(pdb.clone_arc()), level); } } diff --git a/components/style/selector_parser.rs b/components/style/selector_parser.rs index 1dbc96d3db2..3f5a43365cf 100644 --- a/components/style/selector_parser.rs +++ b/components/style/selector_parser.rs @@ -38,7 +38,7 @@ pub use gecko::restyle_damage::GeckoRestyleDamage as RestyleDamage; /// A type that represents the previous computed values needed for restyle /// damage calculation. #[cfg(feature = "servo")] -pub type PreExistingComputedValues = ::properties::ServoComputedValues; +pub type PreExistingComputedValues = ::properties::ComputedValues; /// A type that represents the previous computed values needed for restyle /// damage calculation. diff --git a/components/style/servo/media_queries.rs b/components/style/servo/media_queries.rs index 023f5f8de77..ba758af514d 100644 --- a/components/style/servo/media_queries.rs +++ b/components/style/servo/media_queries.rs @@ -11,7 +11,7 @@ use euclid::{Size2D, TypedSize2D}; use font_metrics::ServoMetricsProvider; use media_queries::MediaType; use parser::ParserContext; -use properties::{ComputedValues, StyleBuilder}; +use properties::{ComputedValuesInner, StyleBuilder}; use properties::longhands::font_size; use selectors::parser::SelectorParseError; use std::fmt; @@ -62,11 +62,11 @@ impl Device { } /// Return the default computed values for this device. - pub fn default_computed_values(&self) -> &ComputedValues { + pub fn default_computed_values(&self) -> &ComputedValuesInner { // FIXME(bz): This isn't really right, but it's no more wrong // than what we used to do. See // https://github.com/servo/servo/issues/14773 for fixing it properly. - ComputedValues::initial_values() + ComputedValuesInner::initial_values() } /// Get the font size of the root element (for rem) diff --git a/components/style/servo/restyle_damage.rs b/components/style/servo/restyle_damage.rs index 1e9cae4ea08..f99e6120bb9 100644 --- a/components/style/servo/restyle_damage.rs +++ b/components/style/servo/restyle_damage.rs @@ -10,7 +10,7 @@ use computed_values::display; use heapsize::HeapSizeOf; use matching::{StyleChange, StyleDifference}; -use properties::ServoComputedValues; +use properties::ComputedValues; use std::fmt; bitflags! { @@ -60,8 +60,8 @@ impl HeapSizeOf for ServoRestyleDamage { impl ServoRestyleDamage { /// Compute the `StyleDifference` (including the appropriate restyle damage) /// for a given style change between `old` and `new`. - pub fn compute_style_difference(old: &ServoComputedValues, - new: &ServoComputedValues) + pub fn compute_style_difference(old: &ComputedValues, + new: &ComputedValues) -> StyleDifference { let damage = compute_damage(old, new); let change = if damage.is_empty() { StyleChange::Unchanged } else { StyleChange::Changed }; @@ -182,11 +182,11 @@ macro_rules! add_if_not_equal( }) ); -fn compute_damage(old: &ServoComputedValues, new: &ServoComputedValues) -> ServoRestyleDamage { +fn compute_damage(old: &ComputedValues, new: &ComputedValues) -> ServoRestyleDamage { let mut damage = ServoRestyleDamage::empty(); // This should check every CSS property, as enumerated in the fields of - // http://doc.servo.org/style/properties/struct.ServoComputedValues.html + // http://doc.servo.org/style/properties/struct.ComputedValues.html // FIXME: Test somehow that every property is included. diff --git a/components/style/servo/selector_parser.rs b/components/style/servo/selector_parser.rs index 6641cbd38ae..e2dfc46f74d 100644 --- a/components/style/servo/selector_parser.rs +++ b/components/style/servo/selector_parser.rs @@ -166,6 +166,9 @@ impl PseudoElement { pub fn canonical(&self) -> PseudoElement { self.clone() } + + /// Stub, only Gecko needs this + pub fn pseudo_info(&self) { () } } /// The type used for storing pseudo-class string arguments. diff --git a/components/style/sharing/checks.rs b/components/style/sharing/checks.rs index 17875cb061a..b710dffdc4d 100644 --- a/components/style/sharing/checks.rs +++ b/components/style/sharing/checks.rs @@ -43,7 +43,7 @@ pub fn have_same_style_attribute<E>( match (target.style_attribute(), candidate.style_attribute()) { (None, None) => true, (Some(_), None) | (None, Some(_)) => false, - (Some(a), Some(b)) => Arc::ptr_eq(a, b) + (Some(a), Some(b)) => &*a as *const _ == &*b as *const _ } } diff --git a/components/style/style_adjuster.rs b/components/style/style_adjuster.rs index 5b60231b2c4..9b4d8a69551 100644 --- a/components/style/style_adjuster.rs +++ b/components/style/style_adjuster.rs @@ -6,7 +6,7 @@ //! a computed style needs in order for it to adhere to the CSS spec. use app_units::Au; -use properties::{self, CascadeFlags, ComputedValues}; +use properties::{self, CascadeFlags, ComputedValuesInner}; use properties::{IS_ROOT_ELEMENT, SKIP_ROOT_AND_ITEM_BASED_DISPLAY_FIXUP, StyleBuilder}; use properties::longhands::display::computed_value::T as display; use properties::longhands::float::computed_value::T as float; @@ -54,7 +54,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> { /// Apply the blockification rules based on the table in CSS 2.2 section 9.7. /// https://drafts.csswg.org/css2/visuren.html#dis-pos-flo fn blockify_if_necessary(&mut self, - layout_parent_style: &ComputedValues, + layout_parent_style: &ComputedValuesInner, flags: CascadeFlags) { let mut blockify = false; macro_rules! blockify_if { @@ -136,7 +136,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> { /// https://lists.w3.org/Archives/Public/www-style/2017Mar/0045.html /// https://github.com/servo/servo/issues/15754 fn adjust_for_writing_mode(&mut self, - layout_parent_style: &ComputedValues) { + layout_parent_style: &ComputedValuesInner) { let our_writing_mode = self.style.get_inheritedbox().clone_writing_mode(); let parent_writing_mode = layout_parent_style.get_inheritedbox().clone_writing_mode(); @@ -196,7 +196,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> { /// /// See https://github.com/servo/servo/issues/15229 #[cfg(feature = "servo")] - fn adjust_for_alignment(&mut self, layout_parent_style: &ComputedValues) { + fn adjust_for_alignment(&mut self, layout_parent_style: &ComputedValuesInner) { use computed_values::align_items::T as align_items; use computed_values::align_self::T as align_self; @@ -315,7 +315,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> { } /// Set the HAS_TEXT_DECORATION_LINES flag based on parent style. - fn adjust_for_text_decoration_lines(&mut self, layout_parent_style: &ComputedValues) { + fn adjust_for_text_decoration_lines(&mut self, layout_parent_style: &ComputedValuesInner) { use properties::computed_value_flags::HAS_TEXT_DECORATION_LINES; if layout_parent_style.flags.contains(HAS_TEXT_DECORATION_LINES) || !self.style.get_text().clone_text_decoration_line().is_empty() { @@ -324,7 +324,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> { } #[cfg(feature = "gecko")] - fn should_suppress_linebreak(&self, layout_parent_style: &ComputedValues) -> bool { + fn should_suppress_linebreak(&self, layout_parent_style: &ComputedValuesInner) -> bool { use properties::computed_value_flags::SHOULD_SUPPRESS_LINEBREAK; // Line break suppression should only be propagated to in-flow children. if self.style.floated() || self.style.out_of_flow_positioned() { @@ -361,8 +361,8 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> { /// * correct unicode-bidi. #[cfg(feature = "gecko")] fn adjust_for_ruby(&mut self, - layout_parent_style: &ComputedValues, - default_computed_values: &'b ComputedValues, + layout_parent_style: &ComputedValuesInner, + default_computed_values: &'b ComputedValuesInner, flags: CascadeFlags) { use properties::SKIP_ROOT_AND_ITEM_BASED_DISPLAY_FIXUP; use properties::computed_value_flags::SHOULD_SUPPRESS_LINEBREAK; @@ -406,8 +406,8 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> { /// When comparing to Gecko, this is similar to the work done by /// `nsStyleContext::ApplyStyleFixups`. pub fn adjust(&mut self, - layout_parent_style: &ComputedValues, - _default_computed_values: &'b ComputedValues, + layout_parent_style: &ComputedValuesInner, + _default_computed_values: &'b ComputedValuesInner, flags: CascadeFlags) { #[cfg(feature = "gecko")] { diff --git a/components/style/style_resolver.rs b/components/style/style_resolver.rs index 0a98e563e76..c4323ca6b60 100644 --- a/components/style/style_resolver.rs +++ b/components/style/style_resolver.rs @@ -11,7 +11,7 @@ use data::{ElementStyles, EagerPseudoStyles}; use dom::TElement; use log::LogLevel::Trace; use matching::{CascadeVisitedMode, MatchMethods}; -use properties::{AnimationRules, CascadeFlags, ComputedValues}; +use properties::{AnimationRules, CascadeFlags, ComputedValues, ComputedValuesInner}; use properties::{IS_ROOT_ELEMENT, PROHIBIT_DISPLAY_CONTENTS, SKIP_ROOT_AND_ITEM_BASED_DISPLAY_FIXUP}; use properties::{VISITED_DEPENDENT_ONLY, cascade}; use rule_tree::StrongRuleNode; @@ -47,7 +47,7 @@ pub struct PrimaryStyle { fn with_default_parent_styles<E, F, R>(element: E, f: F) -> R where E: TElement, - F: FnOnce(Option<&ComputedValues>, Option<&ComputedValues>) -> R, + F: FnOnce(Option<&ComputedValues>, Option<&ComputedValuesInner>) -> R, { let parent_el = element.inheritance_parent(); let parent_data = parent_el.as_ref().and_then(|e| e.borrow_data()); @@ -72,7 +72,7 @@ where layout_parent_style = Some(layout_parent_data.styles.primary()); } - f(parent_style.map(|s| &**s), layout_parent_style.map(|s| &**s)) + f(parent_style.map(|x| &**x), layout_parent_style.map(|s| &***s)) } impl<'a, 'ctx, 'le, E> StyleResolverForElement<'a, 'ctx, 'le, E> @@ -99,7 +99,7 @@ where pub fn resolve_primary_style( &mut self, parent_style: Option<&ComputedValues>, - layout_parent_style: Option<&ComputedValues>, + layout_parent_style: Option<&ComputedValuesInner>, ) -> PrimaryStyle { let primary_results = self.match_primary(VisitedHandlingMode::AllLinksUnvisited); @@ -119,6 +119,7 @@ where relevant_link_found || parent_style.and_then(|s| s.get_visited_style()).is_some(); + let pseudo = self.element.implemented_pseudo_element(); if should_compute_visited_style { visited_style = Some(self.cascade_style( visited_rules.as_ref().or(Some(&primary_results.rule_node)), @@ -126,17 +127,16 @@ where parent_style, layout_parent_style, CascadeVisitedMode::Visited, - /* pseudo = */ None, + /* pseudo = */ pseudo.as_ref(), )); } - let style = self.cascade_style( Some(&primary_results.rule_node), visited_style, parent_style, layout_parent_style, CascadeVisitedMode::Unvisited, - /* pseudo = */ None, + /* pseudo = */ pseudo.as_ref(), ); PrimaryStyle { style, } @@ -147,7 +147,7 @@ where pub fn resolve_style( &mut self, parent_style: Option<&ComputedValues>, - layout_parent_style: Option<&ComputedValues>, + layout_parent_style: Option<&ComputedValuesInner>, ) -> ElementStyles { use properties::longhands::display::computed_value::T as display; @@ -168,7 +168,7 @@ where if primary_style.style.is_display_contents() { layout_parent_style } else { - Some(&*primary_style.style) + Some(&**primary_style.style) }; SelectorImpl::each_eagerly_cascaded_pseudo_element(|pseudo| { let pseudo_style = self.resolve_pseudo_style( @@ -216,7 +216,7 @@ where &mut self, inputs: CascadeInputs, parent_style: Option<&ComputedValues>, - layout_parent_style: Option<&ComputedValues>, + layout_parent_style: Option<&ComputedValuesInner>, pseudo: Option<&PseudoElement>, ) -> Arc<ComputedValues> { let mut style_if_visited = None; @@ -272,7 +272,7 @@ where if primary_style.style.is_display_contents() { layout_parent_style } else { - Some(&*primary_style.style) + Some(&**primary_style.style) }; for (i, mut inputs) in pseudo_array.unwrap().iter_mut().enumerate() { @@ -302,7 +302,7 @@ where &mut self, pseudo: &PseudoElement, originating_element_style: &PrimaryStyle, - layout_parent_style: Option<&ComputedValues>, + layout_parent_style: Option<&ComputedValuesInner>, ) -> Option<Arc<ComputedValues>> { let rules = self.match_pseudo( &originating_element_style.style, @@ -398,7 +398,7 @@ where fn match_pseudo( &mut self, - originating_element_style: &ComputedValues, + originating_element_style: &ComputedValuesInner, pseudo_element: &PseudoElement, visited_handling: VisitedHandlingMode, ) -> Option<StrongRuleNode> { @@ -463,7 +463,7 @@ where rules: Option<&StrongRuleNode>, style_if_visited: Option<Arc<ComputedValues>>, mut parent_style: Option<&ComputedValues>, - layout_parent_style: Option<&ComputedValues>, + layout_parent_style: Option<&ComputedValuesInner>, cascade_visited: CascadeVisitedMode, pseudo: Option<&PseudoElement>, ) -> Arc<ComputedValues> { @@ -475,7 +475,7 @@ where } if cascade_visited.visited_dependent_only() { parent_style = parent_style.map(|s| { - s.get_visited_style().map(|s| &**s).unwrap_or(s) + s.get_visited_style().unwrap_or(s) }); cascade_flags.insert(VISITED_DEPENDENT_ONLY); } @@ -485,21 +485,38 @@ where cascade_flags.insert(IS_ROOT_ELEMENT); } + #[cfg(feature = "gecko")] + let parent_style_context = parent_style; + #[cfg(feature = "servo")] + let parent_style_context = (); + let values = - Arc::new(cascade( + cascade( self.context.shared.stylist.device(), rules.unwrap_or(self.context.shared.stylist.rule_tree().root()), &self.context.shared.guards, - parent_style, + parent_style.map(|x| &**x), layout_parent_style, style_if_visited, Some(&mut cascade_info), &self.context.thread_local.font_metrics_provider, cascade_flags, self.context.shared.quirks_mode - )); + ); cascade_info.finish(&self.element.as_node()); - values + + // In case of NAC like ::placeholder we style it via + // cascade_primary without a PseudoElement, but + // the element itself is a pseudo, so try to use that + // when `pseudo` is unset + let pseudo_info = if let Some(pseudo) = pseudo { + Some(pseudo.pseudo_info()) + } else { + self.element.implemented_pseudo_element().map(|x| x.pseudo_info()) + }; + values.to_outer(self.context.shared.stylist.device(), + parent_style_context, + pseudo_info) } } diff --git a/components/style/stylesheets/rule_list.rs b/components/style/stylesheets/rule_list.rs index 9b939ddf131..8764b8f89b6 100644 --- a/components/style/stylesheets/rule_list.rs +++ b/components/style/stylesheets/rule_list.rs @@ -5,7 +5,7 @@ //! A list of CSS rules. use shared_lock::{DeepCloneParams, DeepCloneWithLock, Locked, SharedRwLock, SharedRwLockReadGuard}; -use stylearc::Arc; +use stylearc::{Arc, RawOffsetArc}; use stylesheets::{CssRule, RulesMutateError}; use stylesheets::loader::StylesheetLoader; use stylesheets::memory::{MallocSizeOfFn, MallocSizeOfWithGuard}; @@ -109,7 +109,7 @@ pub trait CssRulesHelpers { -> Result<CssRule, RulesMutateError>; } -impl CssRulesHelpers for Arc<Locked<CssRules>> { +impl CssRulesHelpers for RawOffsetArc<Locked<CssRules>> { fn insert_rule(&self, lock: &SharedRwLock, rule: &str, diff --git a/components/style/stylist.rs b/components/style/stylist.rs index 0b50b6d82f1..ac57c187b27 100644 --- a/components/style/stylist.rs +++ b/components/style/stylist.rs @@ -16,8 +16,8 @@ use gecko_bindings::structs::{nsIAtom, StyleRuleInclusion}; use invalidation::element::invalidation_map::InvalidationMap; use invalidation::media_queries::{EffectiveMediaQueryResults, ToMediaListKey}; use media_queries::Device; -use properties::{self, CascadeFlags, ComputedValues}; -use properties::{AnimationRules, PropertyDeclarationBlock}; +use properties::{self, CascadeFlags, ComputedValues, ComputedValuesInner}; +use properties::{AnimationRules, PropertyDeclarationBlock, PseudoInfo, ParentStyleContextInfo}; #[cfg(feature = "servo")] use properties::INHERIT_ALL; use rule_tree::{CascadeLevel, RuleTree, StyleSource}; @@ -37,7 +37,7 @@ use std::fmt::Debug; #[cfg(feature = "servo")] use std::marker::PhantomData; use style_traits::viewport::ViewportConstraints; -use stylearc::Arc; +use stylearc::{Arc, ArcBorrow}; #[cfg(feature = "gecko")] use stylesheets::{CounterStyleRule, FontFaceRule}; use stylesheets::{CssRule, StyleRule}; @@ -599,9 +599,11 @@ impl Stylist { pub fn precomputed_values_for_pseudo(&self, guards: &StylesheetGuards, pseudo: &PseudoElement, - parent: Option<&Arc<ComputedValues>>, + parent: Option<&ComputedValuesInner>, cascade_flags: CascadeFlags, - font_metrics: &FontMetricsProvider) + font_metrics: &FontMetricsProvider, + pseudo_info: PseudoInfo, + parent_style_context: ParentStyleContextInfo) -> Arc<ComputedValues> { debug_assert!(pseudo.is_precomputed()); @@ -629,18 +631,17 @@ impl Stylist { // descendant of a display: contents element where display: contents is // the actual used value, and the computed value of it would need // blockification. - let computed = - properties::cascade(&self.device, - &rule_node, - guards, - parent.map(|p| &**p), - parent.map(|p| &**p), - None, - None, - font_metrics, - cascade_flags, - self.quirks_mode); - Arc::new(computed) + properties::cascade(&self.device, + &rule_node, + guards, + parent, + parent, + None, + None, + font_metrics, + cascade_flags, + self.quirks_mode).to_outer(self.device(), parent_style_context, + Some(pseudo_info)) } /// Returns the style for an anonymous box of the given type. @@ -648,7 +649,7 @@ impl Stylist { pub fn style_for_anonymous(&self, guards: &StylesheetGuards, pseudo: &PseudoElement, - parent_style: &Arc<ComputedValues>) + parent_style: &ComputedValuesInner) -> Arc<ComputedValues> { use font_metrics::ServoMetricsProvider; @@ -677,7 +678,7 @@ impl Stylist { cascade_flags.insert(INHERIT_ALL); } self.precomputed_values_for_pseudo(guards, &pseudo, Some(parent_style), cascade_flags, - &ServoMetricsProvider) + &ServoMetricsProvider, (), ()) } /// Computes a pseudo-element style lazily during layout. @@ -692,9 +693,11 @@ impl Stylist { element: &E, pseudo: &PseudoElement, rule_inclusion: RuleInclusion, - parent_style: &Arc<ComputedValues>, + parent_style: &ComputedValuesInner, is_probe: bool, - font_metrics: &FontMetricsProvider) + font_metrics: &FontMetricsProvider, + pseudo_info: PseudoInfo, + parent_style_context: ParentStyleContextInfo) -> Option<Arc<ComputedValues>> where E: TElement, { @@ -703,7 +706,9 @@ impl Stylist { self.compute_pseudo_element_style_with_inputs(&cascade_inputs, guards, parent_style, - font_metrics) + font_metrics, + pseudo_info, + parent_style_context) } /// Computes a pseudo-element style lazily using the given CascadeInputs. @@ -713,8 +718,10 @@ impl Stylist { pub fn compute_pseudo_element_style_with_inputs(&self, inputs: &CascadeInputs, guards: &StylesheetGuards, - parent_style: &Arc<ComputedValues>, - font_metrics: &FontMetricsProvider) + parent_style: &ComputedValuesInner, + font_metrics: &FontMetricsProvider, + pseudo_info: PseudoInfo, + parent_style_context: ParentStyleContextInfo) -> Option<Arc<ComputedValues>> { // We may have only visited rules in cases when we are actually @@ -736,7 +743,7 @@ impl Stylist { // We want to use the visited bits (if any) from our parent style as // our parent. let inherited_style = - parent_style.get_visited_style().unwrap_or(&*parent_style); + parent_style.get_visited_style().map(|x| &**x).unwrap_or(parent_style); // FIXME(emilio): The lack of layout_parent_style here could be // worrying, but we're probably dropping the display fixup for @@ -753,9 +760,10 @@ impl Stylist { None, font_metrics, CascadeFlags::empty(), - self.quirks_mode); + self.quirks_mode).to_outer(self.device(), parent_style_context, + Some(pseudo_info.clone())); - Some(Arc::new(computed)) + Some(computed) } else { None }; @@ -768,19 +776,18 @@ impl Stylist { // difficult to assert that display: contents nodes never arrive here // (tl;dr: It doesn't apply for replaced elements and such, but the // computed value is still "contents"). - let computed = - properties::cascade(&self.device, - rules, - guards, - Some(parent_style), - Some(parent_style), - visited_values, - None, - font_metrics, - CascadeFlags::empty(), - self.quirks_mode); - - Some(Arc::new(computed)) + Some(properties::cascade(&self.device, + rules, + guards, + Some(parent_style), + Some(parent_style), + visited_values, + None, + font_metrics, + CascadeFlags::empty(), + self.quirks_mode).to_outer(self.device(), + parent_style_context, + Some(pseudo_info))) } /// Computes the cascade inputs for a lazily-cascaded pseudo-element. @@ -1108,8 +1115,8 @@ impl Stylist { &self, element: &E, pseudo_element: Option<&PseudoElement>, - style_attribute: Option<&Arc<Locked<PropertyDeclarationBlock>>>, - smil_override: Option<&Arc<Locked<PropertyDeclarationBlock>>>, + style_attribute: Option<ArcBorrow<Locked<PropertyDeclarationBlock>>>, + smil_override: Option<ArcBorrow<Locked<PropertyDeclarationBlock>>>, animation_rules: AnimationRules, rule_inclusion: RuleInclusion, applicable_declarations: &mut V, @@ -1213,7 +1220,7 @@ impl Stylist { if let Some(sa) = style_attribute { Push::push( applicable_declarations, - ApplicableDeclarationBlock::from_declarations(sa.clone(), + ApplicableDeclarationBlock::from_declarations(sa.clone_arc(), CascadeLevel::StyleAttributeNormal)); } @@ -1222,7 +1229,7 @@ impl Stylist { if let Some(so) = smil_override { Push::push( applicable_declarations, - ApplicableDeclarationBlock::from_declarations(so.clone(), + ApplicableDeclarationBlock::from_declarations(so.clone_arc(), CascadeLevel::SMILOverride)); } @@ -1317,8 +1324,9 @@ impl Stylist { /// Computes styles for a given declaration with parent_style. pub fn compute_for_declarations(&self, guards: &StylesheetGuards, - parent_style: &Arc<ComputedValues>, - declarations: Arc<Locked<PropertyDeclarationBlock>>) + parent_style: &ComputedValuesInner, + declarations: Arc<Locked<PropertyDeclarationBlock>>, + parent_style_context: ParentStyleContextInfo) -> Arc<ComputedValues> { use font_metrics::get_metrics_provider_for_product; @@ -1333,16 +1341,16 @@ impl Stylist { // font styles in <canvas> via Servo_StyleSet_ResolveForDeclarations. // It is unclear if visited styles are meaningful for this case. let metrics = get_metrics_provider_for_product(); - Arc::new(properties::cascade(&self.device, - &rule_node, - guards, - Some(parent_style), - Some(parent_style), - None, - None, - &metrics, - CascadeFlags::empty(), - self.quirks_mode)) + properties::cascade(&self.device, + &rule_node, + guards, + Some(parent_style), + Some(parent_style), + None, + None, + &metrics, + CascadeFlags::empty(), + self.quirks_mode).to_outer(self.device(), parent_style_context, None) } /// Accessor for a shared reference to the device. diff --git a/components/style/traversal.rs b/components/style/traversal.rs index 485024627a0..b9475ce7565 100644 --- a/components/style/traversal.rs +++ b/components/style/traversal.rs @@ -485,7 +485,7 @@ where StyleResolverForElement::new(*ancestor, context, rule_inclusion) .resolve_primary_style( style.as_ref().map(|s| &**s), - layout_parent_style.as_ref().map(|s| &**s) + layout_parent_style.as_ref().map(|s| &***s) ); let is_display_contents = primary_style.style.is_display_contents(); @@ -502,7 +502,7 @@ where StyleResolverForElement::new(element, context, rule_inclusion) .resolve_style( style.as_ref().map(|s| &**s), - layout_parent_style.as_ref().map(|s| &**s) + layout_parent_style.as_ref().map(|s| &***s) ) } diff --git a/components/style/values/computed/mod.rs b/components/style/values/computed/mod.rs index deb74f75022..8d06fe57a7b 100644 --- a/components/style/values/computed/mod.rs +++ b/components/style/values/computed/mod.rs @@ -11,7 +11,7 @@ use font_metrics::FontMetricsProvider; use media_queries::Device; #[cfg(feature = "gecko")] use properties; -use properties::{ComputedValues, StyleBuilder}; +use properties::{ComputedValuesInner, StyleBuilder}; use std::f32; use std::f64; use std::f64::consts::PI; @@ -72,13 +72,13 @@ pub struct Context<'a> { pub device: &'a Device, /// The style we're inheriting from. - pub inherited_style: &'a ComputedValues, + pub inherited_style: &'a ComputedValuesInner, /// The style of the layout parent node. This will almost always be /// `inherited_style`, except when `display: contents` is at play, in which /// case it's the style of the last ancestor with a `display` value that /// isn't `contents`. - pub layout_parent_style: &'a ComputedValues, + pub layout_parent_style: &'a ComputedValuesInner, /// Values accessed through this need to be in the properties "computed /// early": color, text-decoration, font-size, display, position, float, @@ -115,7 +115,7 @@ impl<'a> Context<'a> { /// The current viewport size. pub fn viewport_size(&self) -> Size2D<Au> { self.device.au_viewport_size() } /// The style we're inheriting from. - pub fn inherited_style(&self) -> &ComputedValues { &self.inherited_style } + pub fn inherited_style(&self) -> &ComputedValuesInner { &self.inherited_style } /// The current style. Note that only "eager" properties should be accessed /// from here, see the comment in the member. pub fn style(&self) -> &StyleBuilder { &self.style } diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 18015cc07e1..be2cf878d80 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -39,7 +39,7 @@ use style::gecko_bindings::bindings::{RawServoNamespaceRule, RawServoNamespaceRu use style::gecko_bindings::bindings::{RawServoPageRule, RawServoPageRuleBorrowed}; use style::gecko_bindings::bindings::{RawServoStyleSetBorrowed, RawServoStyleSetOwned}; use style::gecko_bindings::bindings::{RawServoStyleSheetContentsBorrowed, ServoComputedValuesBorrowed}; -use style::gecko_bindings::bindings::{RawServoStyleSheetContentsStrong, ServoComputedValuesStrong}; +use style::gecko_bindings::bindings::{RawServoStyleSheetContentsStrong, ServoStyleContextBorrowed}; use style::gecko_bindings::bindings::{RawServoSupportsRule, RawServoSupportsRuleBorrowed}; use style::gecko_bindings::bindings::{ServoCssRulesBorrowed, ServoCssRulesStrong}; use style::gecko_bindings::bindings::{nsACString, nsAString, nsCSSPropertyIDSetBorrowedMut}; @@ -61,13 +61,14 @@ use style::gecko_bindings::bindings::RawServoAnimationValueMapBorrowedMut; use style::gecko_bindings::bindings::RawServoAnimationValueStrong; use style::gecko_bindings::bindings::RawServoStyleRuleBorrowed; use style::gecko_bindings::bindings::ServoComputedValuesBorrowedOrNull; +use style::gecko_bindings::bindings::ServoStyleContextBorrowedOrNull; use style::gecko_bindings::bindings::nsTArrayBorrowed_uintptr_t; use style::gecko_bindings::bindings::nsTimingFunctionBorrowed; use style::gecko_bindings::bindings::nsTimingFunctionBorrowedMut; use style::gecko_bindings::structs; use style::gecko_bindings::structs::{CSSPseudoElementType, CompositeOperation, Loader}; -use style::gecko_bindings::structs::{RawServoStyleRule, ServoStyleSheet}; -use style::gecko_bindings::structs::{SheetParsingMode, nsIAtom, nsCSSPropertyID}; +use style::gecko_bindings::structs::{RawServoStyleRule, ServoStyleContextStrong}; +use style::gecko_bindings::structs::{ServoStyleSheet, SheetParsingMode, nsIAtom, nsCSSPropertyID}; use style::gecko_bindings::structs::{nsCSSFontFaceRule, nsCSSCounterStyleRule}; use style::gecko_bindings::structs::{nsRestyleHint, nsChangeHint, PropertyValuePair}; use style::gecko_bindings::structs::IterationCompositeOperation; @@ -90,9 +91,9 @@ use style::invalidation::element::restyle_hints::{self, RestyleHint}; use style::media_queries::{MediaList, parse_media_query_list}; use style::parallel; use style::parser::ParserContext; -use style::properties::{ComputedValues, Importance, SourcePropertyDeclaration}; +use style::properties::{ComputedValues, ComputedValuesInner, Importance, SourcePropertyDeclaration}; use style::properties::{LonghandIdSet, PropertyDeclaration, PropertyDeclarationBlock, PropertyId, StyleBuilder}; -use style::properties::SKIP_ROOT_AND_ITEM_BASED_DISPLAY_FIXUP; +use style::properties::{SKIP_ROOT_AND_ITEM_BASED_DISPLAY_FIXUP, PseudoInfo, ParentStyleContextInfo}; use style::properties::animated_properties::{Animatable, AnimatableLonghand, AnimationValue}; use style::properties::parse_one_declaration_into; use style::rule_tree::StyleSource; @@ -101,7 +102,7 @@ use style::sequential; use style::shared_lock::{SharedRwLockReadGuard, StylesheetGuards, ToCssWithGuard, Locked}; use style::string_cache::Atom; use style::style_adjuster::StyleAdjuster; -use style::stylearc::Arc; +use style::stylearc::{Arc, RawOffsetArc}; use style::stylesheets::{CssRule, CssRules, CssRuleType, CssRulesHelpers, DocumentRule}; use style::stylesheets::{ImportRule, KeyframesRule, MallocSizeOfWithGuard, MediaRule}; use style::stylesheets::{NamespaceRule, Origin, PageRule, StyleRule, SupportsRule}; @@ -429,7 +430,7 @@ pub extern "C" fn Servo_AnimationCompose(raw_value_map: RawServoAnimationValueMa let previous_composed_value = value_map.get(&property).cloned(); previous_composed_value.or_else(|| { let raw_base_style = unsafe { Gecko_AnimationGetBaseStyle(base_values, css_property) }; - AnimationValue::arc_from_borrowed(&raw_base_style).map(|v| v.as_ref()).cloned() + AnimationValue::arc_from_borrowed(&raw_base_style).map(|v| &**v).cloned() }) } else { None @@ -459,7 +460,7 @@ pub extern "C" fn Servo_AnimationCompose(raw_value_map: RawServoAnimationValueMa // Composite with underlying value. // A return value of None means, "Just use keyframe_value as-is." - let composite_endpoint = |keyframe_value: Option<&Arc<AnimationValue>>, + let composite_endpoint = |keyframe_value: Option<&RawOffsetArc<AnimationValue>>, composite_op: CompositeOperation| -> Option<AnimationValue> { match keyframe_value { Some(keyframe_value) => { @@ -498,7 +499,7 @@ pub extern "C" fn Servo_AnimationCompose(raw_value_map: RawServoAnimationValueMa let raw_last_value; let last_value = if !last_segment.mToValue.mServo.mRawPtr.is_null() { raw_last_value = unsafe { &*last_segment.mToValue.mServo.mRawPtr }; - AnimationValue::as_arc(&raw_last_value).as_ref() + &*AnimationValue::as_arc(&raw_last_value) } else { debug_assert!(need_underlying_value, "Should have detected we need an underlying value"); @@ -506,7 +507,7 @@ pub extern "C" fn Servo_AnimationCompose(raw_value_map: RawServoAnimationValueMa }; // As with composite_endpoint, a return value of None means, "Use keyframe_value as-is." - let apply_iteration_composite = |keyframe_value: Option<&Arc<AnimationValue>>, + let apply_iteration_composite = |keyframe_value: Option<&RawOffsetArc<AnimationValue>>, composited_value: Option<AnimationValue>| -> Option<AnimationValue> { let count = computed_timing.mCurrentIteration; @@ -655,10 +656,10 @@ pub extern "C" fn Servo_AnimationValue_Uncompute(value: RawServoAnimationValueBo #[no_mangle] pub extern "C" fn Servo_StyleSet_GetBaseComputedValuesForElement(raw_data: RawServoStyleSetBorrowed, element: RawGeckoElementBorrowed, - computed_values: ServoComputedValuesBorrowed, + computed_values: ServoStyleContextBorrowed, snapshots: *const ServoElementSnapshotTable, pseudo_type: CSSPseudoElementType) - -> ServoComputedValuesStrong + -> ServoStyleContextStrong { use style::style_resolver::StyleResolverForElement; @@ -731,7 +732,6 @@ pub extern "C" fn Servo_ComputedValues_ExtractAnimationValue(computed_values: Se None => { return Strong::null(); } }; - let computed_values = ComputedValues::as_arc(&computed_values); Arc::new(AnimationValue::from_computed_values(&property, computed_values)).into_strong() } @@ -1244,7 +1244,7 @@ pub extern "C" fn Servo_StyleRule_SetStyle(rule: RawServoStyleRuleBorrowed, declarations: RawServoDeclarationBlockBorrowed) { let declarations = Locked::<PropertyDeclarationBlock>::as_arc(&declarations); write_locked_arc(rule, |rule: &mut StyleRule| { - rule.block = declarations.clone(); + rule.block = declarations.clone_arc(); }) } @@ -1382,7 +1382,7 @@ pub extern "C" fn Servo_Keyframe_SetStyle(keyframe: RawServoKeyframeBorrowed, declarations: RawServoDeclarationBlockBorrowed) { let declarations = Locked::<PropertyDeclarationBlock>::as_arc(&declarations); write_locked_arc(keyframe, |keyframe: &mut Keyframe| { - keyframe.block = declarations.clone(); + keyframe.block = declarations.clone_arc(); }) } @@ -1480,7 +1480,7 @@ pub extern "C" fn Servo_PageRule_SetStyle(rule: RawServoPageRuleBorrowed, declarations: RawServoDeclarationBlockBorrowed) { let declarations = Locked::<PropertyDeclarationBlock>::as_arc(&declarations); write_locked_arc(rule, |rule: &mut PageRule| { - rule.block = declarations.clone(); + rule.block = declarations.clone_arc(); }) } @@ -1501,10 +1501,11 @@ pub extern "C" fn Servo_DocumentRule_GetConditionText(rule: RawServoDocumentRule } #[no_mangle] -pub extern "C" fn Servo_ComputedValues_GetForAnonymousBox(parent_style_or_null: ServoComputedValuesBorrowedOrNull, +pub extern "C" fn Servo_ComputedValues_GetForAnonymousBox(parent_style_or_null: ServoStyleContextBorrowedOrNull, + pseudo_type: CSSPseudoElementType, pseudo_tag: *mut nsIAtom, raw_data: RawServoStyleSetBorrowed) - -> ServoComputedValuesStrong { + -> ServoStyleContextStrong { let global_style_data = &*GLOBAL_STYLE_DATA; let guard = global_style_data.shared_lock.read(); let guards = StylesheetGuards::same(&guard); @@ -1513,22 +1514,24 @@ pub extern "C" fn Servo_ComputedValues_GetForAnonymousBox(parent_style_or_null: let pseudo = PseudoElement::from_anon_box_atom(&atom) .expect("Not an anon box pseudo?"); - - let maybe_parent = ComputedValues::arc_from_borrowed(&parent_style_or_null); let cascade_flags = SKIP_ROOT_AND_ITEM_BASED_DISPLAY_FIXUP; let metrics = get_metrics_provider_for_product(); - data.stylist.precomputed_values_for_pseudo(&guards, &pseudo, maybe_parent, - cascade_flags, &metrics) + data.stylist.precomputed_values_for_pseudo(&guards, &pseudo, parent_style_or_null.map(|x| &**x), + cascade_flags, &metrics, + (pseudo_tag, pseudo_type), + parent_style_or_null) .into_strong() } #[no_mangle] pub extern "C" fn Servo_ResolvePseudoStyle(element: RawGeckoElementBorrowed, pseudo_type: CSSPseudoElementType, + pseudo_tag: *mut nsIAtom, is_probe: bool, inherited_style: ServoComputedValuesBorrowedOrNull, + parent_style_context: ServoStyleContextBorrowedOrNull, raw_data: RawServoStyleSetBorrowed) - -> ServoComputedValuesStrong + -> ServoStyleContextStrong { let element = GeckoElement(element); let data = unsafe { element.ensure_data() }; @@ -1543,7 +1546,9 @@ pub extern "C" fn Servo_ResolvePseudoStyle(element: RawGeckoElementBorrowed, return if is_probe { Strong::null() } else { - doc_data.default_computed_values().clone().into_strong() + doc_data.default_computed_values() + .clone().to_outer(doc_data.stylist.device(), parent_style_context, + Some((pseudo_tag, pseudo_type))).into_strong() }; } @@ -1558,9 +1563,11 @@ pub extern "C" fn Servo_ResolvePseudoStyle(element: RawGeckoElementBorrowed, &pseudo, RuleInclusion::All, &data.styles, - ComputedValues::arc_from_borrowed(&inherited_style), + inherited_style, &*doc_data, - is_probe + is_probe, + (pseudo_tag, pseudo_type), + parent_style_context ); match style { @@ -1574,7 +1581,7 @@ pub extern "C" fn Servo_ResolvePseudoStyle(element: RawGeckoElementBorrowed, #[no_mangle] pub extern "C" fn Servo_SetExplicitStyle(element: RawGeckoElementBorrowed, - style: ServoComputedValuesBorrowed) + style: ServoStyleContextBorrowed) { let element = GeckoElement(element); let style = ComputedValues::as_arc(&style); @@ -1583,7 +1590,7 @@ pub extern "C" fn Servo_SetExplicitStyle(element: RawGeckoElementBorrowed, // work for other things, we just haven't had a reason to do so. debug_assert!(element.get_data().is_none()); let mut data = unsafe { element.ensure_data() }; - data.styles.primary = Some(style.clone()); + data.styles.primary = Some(style.clone_arc()); } #[no_mangle] @@ -1612,9 +1619,11 @@ fn get_pseudo_style( pseudo: &PseudoElement, rule_inclusion: RuleInclusion, styles: &ElementStyles, - inherited_styles: Option<&Arc<ComputedValues>>, + inherited_styles: Option<&ComputedValuesInner>, doc_data: &PerDocumentStyleDataImpl, is_probe: bool, + pseudo_info: PseudoInfo, + parent_style_context: ParentStyleContextInfo, ) -> Option<Arc<ComputedValues>> { let style = match pseudo.cascade_type() { PseudoElementCascadeType::Eager => { @@ -1636,13 +1645,15 @@ fn get_pseudo_style( &inputs, &guards, inherited_styles, - &metrics) + &metrics, + pseudo_info.clone(), + parent_style_context) }) }, _ => { debug_assert!(inherited_styles.is_none() || - ptr::eq(&**inherited_styles.unwrap(), - &**styles.primary())); + ptr::eq(&*inherited_styles.unwrap(), + &***styles.primary())); styles.pseudos.get(&pseudo).cloned() }, } @@ -1650,8 +1661,8 @@ fn get_pseudo_style( PseudoElementCascadeType::Precomputed => unreachable!("No anonymous boxes"), PseudoElementCascadeType::Lazy => { debug_assert!(inherited_styles.is_none() || - ptr::eq(&**inherited_styles.unwrap(), - &**styles.primary())); + ptr::eq(&*inherited_styles.unwrap(), + &***styles.primary())); let base = if pseudo.inherits_from_default_values() { doc_data.default_computed_values() } else { @@ -1667,7 +1678,9 @@ fn get_pseudo_style( rule_inclusion, base, is_probe, - &metrics) + &metrics, + pseudo_info.clone(), + parent_style_context) }, }; @@ -1676,24 +1689,26 @@ fn get_pseudo_style( } Some(style.unwrap_or_else(|| { - Arc::new(StyleBuilder::for_inheritance( + StyleBuilder::for_inheritance( styles.primary(), doc_data.default_computed_values(), - ).build()) + ).build().to_outer(doc_data.stylist.device(), parent_style_context, + Some(pseudo_info)) })) } #[no_mangle] pub extern "C" fn Servo_ComputedValues_Inherit( raw_data: RawServoStyleSetBorrowed, - parent_style: ServoComputedValuesBorrowedOrNull, + pseudo_type: CSSPseudoElementType, + pseudo_tag: *mut nsIAtom, + parent_style_context: ServoStyleContextBorrowedOrNull, target: structs::InheritTarget -) -> ServoComputedValuesStrong { +) -> ServoStyleContextStrong { let data = PerDocumentStyleData::from_ffi(raw_data).borrow(); - let maybe_arc = ComputedValues::arc_from_borrowed(&parent_style); let for_text = target == structs::InheritTarget::Text; - let style = if let Some(reference) = maybe_arc.as_ref() { + let style = if let Some(reference) = parent_style_context { let mut style = StyleBuilder::for_inheritance(reference, &data.default_computed_values()); @@ -1702,28 +1717,38 @@ pub extern "C" fn Servo_ComputedValues_Inherit( .adjust_for_text(); } - Arc::new(style.build()) + style.build() } else { debug_assert!(!for_text); data.default_computed_values().clone() }; - style.into_strong() + let pseudo_info = if pseudo_tag.is_null() { + None + } else { + Some((pseudo_tag, pseudo_type)) + }; + + style.to_outer(data.stylist.device(), parent_style_context, pseudo_info).into_strong() } #[no_mangle] -pub extern "C" fn Servo_ComputedValues_GetVisitedStyle(values: ServoComputedValuesBorrowed) - -> ServoComputedValuesStrong { - match ComputedValues::as_arc(&values).get_visited_style() { - Some(v) => v.clone().into_strong(), - None => Strong::null(), +pub extern "C" fn Servo_StyleContext_NewContext(values: ServoComputedValuesBorrowed, + parent: ServoStyleContextBorrowedOrNull, + pres_context: bindings::RawGeckoPresContextBorrowed, + pseudo_type: CSSPseudoElementType, + pseudo_tag: *mut nsIAtom) + -> ServoStyleContextStrong { + unsafe { + (*values).clone().to_outer_helper(pres_context, parent, + pseudo_type, pseudo_tag).into_strong() } } #[no_mangle] pub extern "C" fn Servo_ComputedValues_GetStyleBits(values: ServoComputedValuesBorrowed) -> u64 { use style::properties::computed_value_flags::*; - let flags = ComputedValues::as_arc(&values).flags; + let flags = values.flags; let mut result = 0; if flags.contains(HAS_TEXT_DECORATION_LINES) { result |= structs::NS_STYLE_HAS_TEXT_DECORATION_LINES as u64; @@ -1737,7 +1762,6 @@ pub extern "C" fn Servo_ComputedValues_GetStyleBits(values: ServoComputedValuesB #[no_mangle] pub extern "C" fn Servo_ComputedValues_SpecifiesAnimationsOrTransitions(values: ServoComputedValuesBorrowed) -> bool { - let values = ComputedValues::as_arc(&values); let b = values.get_box(); b.specifies_animations() || b.specifies_transitions() } @@ -1747,25 +1771,24 @@ pub extern "C" fn Servo_ComputedValues_EqualCustomProperties( first: ServoComputedValuesBorrowed, second: ServoComputedValuesBorrowed ) -> bool { - let first = ComputedValues::as_arc(&first); - let second = ComputedValues::as_arc(&second); first.get_custom_properties() == second.get_custom_properties() } #[no_mangle] pub extern "C" fn Servo_ComputedValues_GetStyleRuleList(values: ServoComputedValuesBorrowed, rules: RawGeckoServoStyleRuleListBorrowedMut) { - let values = ComputedValues::as_arc(&values); if let Some(ref rule_node) = values.rules { let mut result = vec![]; for node in rule_node.self_and_ancestors() { if let &StyleSource::Style(ref rule) = node.style_source() { - result.push(Locked::<StyleRule>::arc_as_borrowed(&rule)); + result.push(rule); } } unsafe { rules.set_len(result.len() as u32) }; - for (&src, dest) in result.into_iter().zip(rules.iter_mut()) { - *dest = src; + for (ref src, ref mut dest) in result.into_iter().zip(rules.iter_mut()) { + src.with_raw_offset_arc(|arc| { + **dest = *Locked::<StyleRule>::arc_as_borrowed(arc); + }) } } } @@ -2772,7 +2795,7 @@ pub extern "C" fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed, #[no_mangle] pub extern "C" fn Servo_ResolveStyle(element: RawGeckoElementBorrowed, _raw_data: RawServoStyleSetBorrowed) - -> ServoComputedValuesStrong + -> ServoStyleContextStrong { let element = GeckoElement(element); debug!("Servo_ResolveStyle: {:?}", element); @@ -2789,10 +2812,12 @@ pub extern "C" fn Servo_ResolveStyle(element: RawGeckoElementBorrowed, #[no_mangle] pub extern "C" fn Servo_ResolveStyleLazily(element: RawGeckoElementBorrowed, pseudo_type: CSSPseudoElementType, + pseudo_tag: *mut nsIAtom, + parent_style_context: ServoStyleContextBorrowedOrNull, rule_inclusion: StyleRuleInclusion, snapshots: *const ServoElementSnapshotTable, raw_data: RawServoStyleSetBorrowed) - -> ServoComputedValuesStrong + -> ServoStyleContextStrong { debug_assert!(!snapshots.is_null()); let global_style_data = &*GLOBAL_STYLE_DATA; @@ -2813,6 +2838,8 @@ pub extern "C" fn Servo_ResolveStyleLazily(element: RawGeckoElementBorrowed, /* inherited_styles = */ None, &*data, /* is_probe = */ false, + (pseudo_tag, pseudo_type), + parent_style_context ).expect("We're not probing, so we should always get a style \ back") } @@ -2866,16 +2893,17 @@ fn simulate_compute_values_failure(_: &PropertyValuePair) -> bool { fn create_context<'a>(per_doc_data: &'a PerDocumentStyleDataImpl, font_metrics_provider: &'a FontMetricsProvider, - style: &'a ComputedValues, - parent_style: &'a Option<&Arc<ComputedValues>>) + style: &'a ComputedValuesInner, + parent_style: &'a Option<&ComputedValuesInner>) -> Context<'a> { let default_values = per_doc_data.default_computed_values(); + let inherited_style = parent_style.unwrap_or(default_values); Context { is_root_element: false, device: per_doc_data.stylist.device(), - inherited_style: parent_style.unwrap_or(default_values), - layout_parent_style: parent_style.unwrap_or(default_values), + inherited_style: inherited_style, + layout_parent_style: inherited_style, style: StyleBuilder::for_derived_style(&style), font_metrics_provider: font_metrics_provider, cached_system_font: None, @@ -2896,12 +2924,11 @@ pub extern "C" fn Servo_GetComputedKeyframeValues(keyframes: RawGeckoKeyframeLis let data = PerDocumentStyleData::from_ffi(raw_data).borrow(); let metrics = get_metrics_provider_for_product(); - let style = ComputedValues::as_arc(&style); let element = GeckoElement(element); let parent_element = element.inheritance_parent(); let parent_data = parent_element.as_ref().and_then(|e| e.borrow_data()); - let parent_style = parent_data.as_ref().map(|d| d.styles.primary()); + let parent_style = parent_data.as_ref().map(|d| d.styles.primary()).map(|x| &***x); let mut context = create_context(&data, &metrics, style, &parent_style); @@ -2976,13 +3003,12 @@ pub extern "C" fn Servo_GetAnimationValues(declarations: RawServoDeclarationBloc raw_data: RawServoStyleSetBorrowed, animation_values: RawGeckoServoAnimationValueListBorrowedMut) { let data = PerDocumentStyleData::from_ffi(raw_data).borrow(); - let style = ComputedValues::as_arc(&style); let metrics = get_metrics_provider_for_product(); let element = GeckoElement(element); let parent_element = element.inheritance_parent(); let parent_data = parent_element.as_ref().and_then(|e| e.borrow_data()); - let parent_style = parent_data.as_ref().map(|d| d.styles.primary()); + let parent_style = parent_data.as_ref().map(|d| d.styles.primary()).map(|x| &***x); let mut context = create_context(&data, &metrics, style, &parent_style); @@ -3005,13 +3031,12 @@ pub extern "C" fn Servo_AnimationValue_Compute(element: RawGeckoElementBorrowed, raw_data: RawServoStyleSetBorrowed) -> RawServoAnimationValueStrong { let data = PerDocumentStyleData::from_ffi(raw_data).borrow(); - let style = ComputedValues::as_arc(&style); let metrics = get_metrics_provider_for_product(); let element = GeckoElement(element); let parent_element = element.inheritance_parent(); let parent_data = parent_element.as_ref().and_then(|e| e.borrow_data()); - let parent_style = parent_data.as_ref().map(|d| d.styles.primary()); + let parent_style = parent_data.as_ref().map(|d| d.styles.primary()).map(|x| &***x); let mut context = create_context(&data, &metrics, style, &parent_style); @@ -3255,16 +3280,16 @@ pub extern "C" fn Servo_StyleSet_GetCounterStyleRule(raw_data: RawServoStyleSetB #[no_mangle] pub extern "C" fn Servo_StyleSet_ResolveForDeclarations( raw_data: RawServoStyleSetBorrowed, - parent_style_or_null: ServoComputedValuesBorrowedOrNull, - declarations: RawServoDeclarationBlockBorrowed -) -> ServoComputedValuesStrong { + parent_style_context: ServoStyleContextBorrowedOrNull, + declarations: RawServoDeclarationBlockBorrowed, +) -> ServoStyleContextStrong { let doc_data = PerDocumentStyleData::from_ffi(raw_data).borrow(); let global_style_data = &*GLOBAL_STYLE_DATA; let guard = global_style_data.shared_lock.read(); let guards = StylesheetGuards::same(&guard); - let parent_style = match ComputedValues::arc_from_borrowed(&parent_style_or_null) { - Some(parent) => &parent, + let parent_style = match parent_style_context { + Some(parent) => &**parent, None => doc_data.default_computed_values(), }; @@ -3272,7 +3297,8 @@ pub extern "C" fn Servo_StyleSet_ResolveForDeclarations( doc_data.stylist.compute_for_declarations(&guards, parent_style, - declarations.clone()).into_strong() + declarations.clone_arc(), + parent_style_context).into_strong() } #[no_mangle] @@ -3332,7 +3358,7 @@ pub extern "C" fn Servo_StyleSet_HasStateDependency( pub extern "C" fn Servo_GetCustomPropertyValue(computed_values: ServoComputedValuesBorrowed, name: *const nsAString, value: *mut nsAString) -> bool { - let custom_properties = match ComputedValues::as_arc(&computed_values).custom_properties() { + let custom_properties = match computed_values.custom_properties() { Some(p) => p, None => return false, }; @@ -3349,7 +3375,7 @@ pub extern "C" fn Servo_GetCustomPropertyValue(computed_values: ServoComputedVal #[no_mangle] pub extern "C" fn Servo_GetCustomPropertiesCount(computed_values: ServoComputedValuesBorrowed) -> u32 { - match ComputedValues::as_arc(&computed_values).custom_properties() { + match computed_values.custom_properties() { Some(p) => p.len() as u32, None => 0, } @@ -3359,7 +3385,7 @@ pub extern "C" fn Servo_GetCustomPropertiesCount(computed_values: ServoComputedV pub extern "C" fn Servo_GetCustomPropertyNameAt(computed_values: ServoComputedValuesBorrowed, index: u32, name: *mut nsAString) -> bool { - let custom_properties = match ComputedValues::as_arc(&computed_values).custom_properties() { + let custom_properties = match computed_values.custom_properties() { Some(p) => p, None => return false, }; diff --git a/tests/unit/style/parsing/mod.rs b/tests/unit/style/parsing/mod.rs index 13998022ed5..a896e6f9aa3 100644 --- a/tests/unit/style/parsing/mod.rs +++ b/tests/unit/style/parsing/mod.rs @@ -11,7 +11,7 @@ use style::context::QuirksMode; use style::font_metrics::ServoMetricsProvider; use style::media_queries::{Device, MediaType}; use style::parser::ParserContext; -use style::properties::{ComputedValues, StyleBuilder}; +use style::properties::{ComputedValues, ComputedValuesInner, StyleBuilder}; use style::stylesheets::{CssRuleType, Origin}; use style::values::computed::{Context, ToComputedValue}; use style_traits::{PARSING_MODE_DEFAULT, ToCss, ParseError}; @@ -49,7 +49,7 @@ fn assert_computed_serialization<C, F, T>(f: F, input: &'static str, output: &st T: ToComputedValue<ComputedValue=C>, C: ToCss { let viewport_size = TypedSize2D::new(0., 0.); - let initial_style = ComputedValues::initial_values(); + let initial_style = ComputedValuesInner::initial_values(); let device = Device::new(MediaType::Screen, viewport_size); let context = Context { |