From 5fa9a5624798139f789b88cefeb5c4b0f7afb7d9 Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Tue, 4 Apr 2017 19:22:42 +0800 Subject: [PATCH 1/4] style: Don't traverse children if the root of the restyle is display:none. If we append a child to a display:none element, and we use StyleNewChildren on that parent, we should skip restyling the children. --- components/style/traversal.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/components/style/traversal.rs b/components/style/traversal.rs index 37e52eafb8f..16505e71b2e 100644 --- a/components/style/traversal.rs +++ b/components/style/traversal.rs @@ -149,6 +149,12 @@ pub trait DomTraversal : Sync { -> PreTraverseToken { if traversal_flags.for_unstyled_children_only() { + if root.borrow_data().map_or(true, |d| d.has_styles() && d.styles().is_display_none()) { + return PreTraverseToken { + traverse: false, + unstyled_children_only: false, + }; + } return PreTraverseToken { traverse: true, unstyled_children_only: true, From 2bbeb215518899b1811e61b247221987224c21c3 Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Sat, 8 Apr 2017 16:36:09 +0800 Subject: [PATCH 2/4] style: Move TraversalFlags into SharedStyleContext. --- components/layout_thread/lib.rs | 2 +- components/style/context.rs | 6 +++--- components/style/matching.rs | 2 +- components/style/traversal.rs | 17 +++++++++-------- ports/geckolib/glue.rs | 11 +++++------ 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/components/layout_thread/lib.rs b/components/layout_thread/lib.rs index 2d9b921391f..06caf7edda5 100644 --- a/components/layout_thread/lib.rs +++ b/components/layout_thread/lib.rs @@ -523,7 +523,7 @@ impl LayoutThread { local_context_creation_data: Mutex::new(thread_local_style_context_creation_data), timer: self.timer.clone(), quirks_mode: self.quirks_mode.unwrap(), - animation_only_restyle: false, + traversal_flags: TraversalFlags::empty(), }, image_cache: self.image_cache.clone(), font_cache_thread: Mutex::new(self.font_cache_thread.clone()), diff --git a/components/style/context.rs b/components/style/context.rs index 6a9d3fd5bb9..8d9871604a0 100644 --- a/components/style/context.rs +++ b/components/style/context.rs @@ -29,7 +29,7 @@ use stylist::Stylist; use thread_state; use time; use timer::Timer; -use traversal::DomTraversal; +use traversal::{DomTraversal, TraversalFlags}; /// This structure is used to create a local style context from a shared one. pub struct ThreadLocalStyleContextCreationInfo { @@ -89,8 +89,8 @@ pub struct SharedStyleContext<'a> { /// The QuirksMode state which the document needs to be rendered with pub quirks_mode: QuirksMode, - /// True if the traversal is processing only animation restyles. - pub animation_only_restyle: bool, + /// Flags controlling how we traverse the tree. + pub traversal_flags: TraversalFlags, } impl<'a> SharedStyleContext<'a> { diff --git a/components/style/matching.rs b/components/style/matching.rs index e38bfcb6df0..7391befcea9 100644 --- a/components/style/matching.rs +++ b/components/style/matching.rs @@ -1038,7 +1038,7 @@ pub trait MatchMethods : TElement { // in the name of animation-only traversal. Rest of restyle hints // will be processed in a subsequent normal traversal. if hint.contains(RESTYLE_CSS_ANIMATIONS) { - debug_assert!(context.shared.animation_only_restyle); + debug_assert!(context.shared.traversal_flags.for_animation_only()); let animation_rule = self.get_animation_rule(None); replace_rule_node(CascadeLevel::Animations, diff --git a/components/style/traversal.rs b/components/style/traversal.rs index 16505e71b2e..ec915321ba7 100644 --- a/components/style/traversal.rs +++ b/components/style/traversal.rs @@ -175,7 +175,7 @@ pub trait DomTraversal : Sync { } PreTraverseToken { - traverse: Self::node_needs_traversal(root.as_node(), traversal_flags.for_animation_only()), + traverse: Self::node_needs_traversal(root.as_node(), traversal_flags), unstyled_children_only: false, } } @@ -189,7 +189,7 @@ pub trait DomTraversal : Sync { } /// Returns true if traversal is needed for the given node and subtree. - fn node_needs_traversal(node: E::ConcreteNode, animation_only: bool) -> bool { + fn node_needs_traversal(node: E::ConcreteNode, traversal_flags: TraversalFlags) -> bool { // Non-incremental layout visits every node. if is_servo_nonincremental_layout() { return true; @@ -216,7 +216,7 @@ pub trait DomTraversal : Sync { // In case of animation-only traversal we need to traverse // the element if the element has animation only dirty // descendants bit, animation-only restyle hint or recascade. - if animation_only { + if traversal_flags.for_animation_only() { if el.has_animation_only_dirty_descendants() { return true; } @@ -341,7 +341,7 @@ pub trait DomTraversal : Sync { } for kid in parent.as_node().children() { - if Self::node_needs_traversal(kid, self.shared_context().animation_only_restyle) { + if Self::node_needs_traversal(kid, self.shared_context().traversal_flags) { let el = kid.as_element(); if el.as_ref().and_then(|el| el.borrow_data()) .map_or(false, |d| d.has_styles()) @@ -517,7 +517,7 @@ pub fn recalc_style_at(traversal: &D, let propagated_hint = match data.get_restyle_mut() { None => StoredRestyleHint::empty(), Some(r) => { - debug_assert!(context.shared.animation_only_restyle || + debug_assert!(context.shared.traversal_flags.for_animation_only() || !r.hint.has_animation_hint(), "animation restyle hint should be handled during \ animation-only restyles"); @@ -525,13 +525,14 @@ pub fn recalc_style_at(traversal: &D, r.hint.propagate() }, }; - debug_assert!(data.has_current_styles() || context.shared.animation_only_restyle, + debug_assert!(data.has_current_styles() || + context.shared.traversal_flags.for_animation_only(), "Should have computed style or haven't yet valid computed style in case of animation-only restyle"); trace!("propagated_hint={:?}, inherited_style_changed={:?}", propagated_hint, inherited_style_changed); let has_dirty_descendants_for_this_restyle = - if context.shared.animation_only_restyle { + if context.shared.traversal_flags.for_animation_only() { element.has_animation_only_dirty_descendants() } else { element.has_dirty_descendants() @@ -556,7 +557,7 @@ pub fn recalc_style_at(traversal: &D, inherited_style_changed); } - if context.shared.animation_only_restyle { + if context.shared.traversal_flags.for_animation_only() { unsafe { element.unset_animation_only_dirty_descendants(); } } diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 94f03ebbb4e..33beba27edc 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -141,7 +141,7 @@ unsafe fn dummy_url_data() -> &'static RefPtr { fn create_shared_context<'a>(guard: &'a SharedRwLockReadGuard, per_doc_data: &PerDocumentStyleDataImpl, - animation_only: bool) -> SharedStyleContext<'a> { + traversal_flags: TraversalFlags) -> SharedStyleContext<'a> { let local_context_data = ThreadLocalStyleContextCreationInfo::new(per_doc_data.new_animations_sender.clone()); @@ -156,7 +156,7 @@ fn create_shared_context<'a>(guard: &'a SharedRwLockReadGuard, timer: Timer::new(), // FIXME Find the real QuirksMode information for this document quirks_mode: QuirksMode::NoQuirks, - animation_only_restyle: animation_only, + traversal_flags: traversal_flags, } } @@ -183,8 +183,7 @@ fn traverse_subtree(element: GeckoElement, raw_data: RawServoStyleSetBorrowed, let global_style_data = &*GLOBAL_STYLE_DATA; let guard = global_style_data.shared_lock.read(); - let shared_style_context = create_shared_context(&guard, &per_doc_data, - traversal_flags.for_animation_only()); + let shared_style_context = create_shared_context(&guard, &per_doc_data, traversal_flags); let traversal_driver = if global_style_data.style_thread_pool.is_none() { TraversalDriver::Sequential @@ -398,7 +397,7 @@ pub extern "C" fn Servo_StyleSet_GetBaseComputedValuesForElement(raw_data: RawSe 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 shared_context = &create_shared_context(&guard, &doc_data, false); + let shared_context = &create_shared_context(&guard, &doc_data, TraversalFlags::empty()); let element = GeckoElement(element); let element_data = element.borrow_data().unwrap(); @@ -1631,7 +1630,7 @@ pub extern "C" fn Servo_ResolveStyleLazily(element: RawGeckoElementBorrowed, } // We don't have the style ready. Go ahead and compute it as necessary. - let shared = create_shared_context(&guard, &mut doc_data.borrow_mut(), false); + let shared = create_shared_context(&guard, &mut doc_data.borrow_mut(), TraversalFlags::empty()); let mut tlc = ThreadLocalStyleContext::new(&shared); let mut context = StyleContext { shared: &shared, From 3f71c80e2f9905ea643d8eb4c8c7fe64064ea437 Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Tue, 4 Apr 2017 19:32:47 +0800 Subject: [PATCH 3/4] style: Handle TraversalRestyleBehavior::ForReconstruct in the Servo restyle. --- components/style/build_gecko.rs | 2 + components/style/data.rs | 7 +++ components/style/matching.rs | 11 ++++- components/style/traversal.rs | 75 ++++++++++++++++++++++++++------- ports/geckolib/glue.rs | 17 +++++--- 5 files changed, 89 insertions(+), 23 deletions(-) diff --git a/components/style/build_gecko.rs b/components/style/build_gecko.rs index ff9f9820f91..671314ee894 100644 --- a/components/style/build_gecko.rs +++ b/components/style/build_gecko.rs @@ -321,6 +321,7 @@ mod bindings { "mozilla::css::SheetParsingMode", "mozilla::HalfCorner", "mozilla::PropertyStyleAnimationValuePair", + "mozilla::TraversalRestyleBehavior", "mozilla::TraversalRootBehavior", "mozilla::StyleShapeRadius", "mozilla::StyleGrid.*", @@ -616,6 +617,7 @@ mod bindings { "RawGeckoURLExtraData", "RefPtr", "CSSPseudoClassType", + "TraversalRestyleBehavior", "TraversalRootBehavior", "ComputedTimingFunction_BeforeFlag", "FontFamilyList", diff --git a/components/style/data.rs b/components/style/data.rs index 46c1c621825..a34ce78c2e8 100644 --- a/components/style/data.rs +++ b/components/style/data.rs @@ -223,6 +223,13 @@ impl StoredRestyleHint { StoredRestyleHint(RESTYLE_SELF | RESTYLE_DESCENDANTS) } + /// Creates a restyle hint that forces the element and all its later + /// siblings to have their whole subtrees restyled, including the elements + /// themselves. + pub fn subtree_and_later_siblings() -> Self { + StoredRestyleHint(RESTYLE_SELF | RESTYLE_DESCENDANTS | RESTYLE_LATER_SIBLINGS) + } + /// Returns true if the hint indicates that our style may be invalidated. pub fn has_self_invalidations(&self) -> bool { self.0.intersects(RestyleHint::for_self()) diff --git a/components/style/matching.rs b/components/style/matching.rs index 7391befcea9..3f2aa3c1e24 100644 --- a/components/style/matching.rs +++ b/components/style/matching.rs @@ -557,7 +557,7 @@ trait PrivateMatchMethods: TElement { // Accumulate restyle damage. if let Some(old) = old_values { - self.accumulate_damage(restyle.unwrap(), &old, &new_values, pseudo); + self.accumulate_damage(&context.shared, restyle.unwrap(), &old, &new_values, pseudo); } // Set the new computed values. @@ -677,10 +677,16 @@ trait PrivateMatchMethods: TElement { /// Computes and applies non-redundant damage. #[cfg(feature = "gecko")] fn accumulate_damage(&self, + shared_context: &SharedStyleContext, restyle: &mut RestyleData, old_values: &Arc, new_values: &Arc, pseudo: Option<&PseudoElement>) { + // Don't accumulate damage if we're in a restyle for reconstruction. + if shared_context.traversal_flags.for_reconstruct() { + return; + } + // If an ancestor is already getting reconstructed by Gecko's top-down // frame constructor, no need to apply damage. if restyle.damage_handled.contains(RestyleDamage::reconstruct()) { @@ -705,6 +711,7 @@ trait PrivateMatchMethods: TElement { /// Computes and applies restyle damage unless we've already maxed it out. #[cfg(feature = "servo")] fn accumulate_damage(&self, + _shared_context: &SharedStyleContext, restyle: &mut RestyleData, old_values: &Arc, new_values: &Arc, @@ -1109,7 +1116,7 @@ pub trait MatchMethods : TElement { let old_values = data.get_styles_mut() .and_then(|s| s.primary.values.take()); if let Some(old) = old_values { - self.accumulate_damage(data.restyle_mut(), &old, + self.accumulate_damage(shared_context, data.restyle_mut(), &old, shared_style.values(), None); } diff --git a/components/style/traversal.rs b/components/style/traversal.rs index ec915321ba7..ded0f3e7b3a 100644 --- a/components/style/traversal.rs +++ b/components/style/traversal.rs @@ -31,12 +31,14 @@ pub struct PerLevelTraversalData { } bitflags! { - /// Represents that target elements of the traversal. + /// Flags that control the traversal process. pub flags TraversalFlags: u8 { /// Traverse only unstyled children. const UNSTYLED_CHILDREN_ONLY = 0x01, - /// Traverse only elements for animation restyles + /// Traverse only elements for animation restyles. const ANIMATION_ONLY = 0x02, + /// Traverse without generating any change hints. + const FOR_RECONSTRUCT = 0x04, } } @@ -50,6 +52,11 @@ impl TraversalFlags { pub fn for_unstyled_children_only(&self) -> bool { self.contains(UNSTYLED_CHILDREN_ONLY) } + + /// Returns true if the traversal is for a frame reconstruction. + pub fn for_reconstruct(&self) -> bool { + self.contains(FOR_RECONSTRUCT) + } } /// This structure exists to enforce that callers invoke pre_traverse, and also @@ -148,6 +155,10 @@ pub trait DomTraversal : Sync { fn pre_traverse(root: E, stylist: &Stylist, traversal_flags: TraversalFlags) -> PreTraverseToken { + debug_assert!(!(traversal_flags.for_reconstruct() && + traversal_flags.for_unstyled_children_only()), + "must not specify FOR_RECONSTRUCT in combination with UNSTYLED_CHILDREN_ONLY"); + if traversal_flags.for_unstyled_children_only() { if root.borrow_data().map_or(true, |d| d.has_styles() && d.styles().is_display_none()) { return PreTraverseToken { @@ -165,12 +176,18 @@ pub trait DomTraversal : Sync { // we need a special case for the root. // // Expanding snapshots here may create a LATER_SIBLINGS restyle hint, which - // we will drop on the floor. To prevent missed restyles, we assert against - // restyling a root with later siblings. + // we propagate to the next sibling element. if let Some(mut data) = root.mutate_data() { if let Some(r) = data.get_restyle_mut() { - debug_assert!(root.next_sibling_element().is_none()); - let _later_siblings = r.compute_final_hint(root, stylist); + let later_siblings = r.compute_final_hint(root, stylist); + if later_siblings { + if let Some(next) = root.next_sibling_element() { + if let Some(mut next_data) = next.mutate_data() { + let hint = StoredRestyleHint::subtree_and_later_siblings(); + next_data.ensure_restyle().hint.insert(&hint); + } + } + } } } @@ -195,6 +212,10 @@ pub trait DomTraversal : Sync { return true; } + if traversal_flags.for_reconstruct() { + return true; + } + match node.as_element() { None => Self::text_node_needs_traversal(node), Some(el) => { @@ -264,7 +285,11 @@ pub trait DomTraversal : Sync { // Servo uses the post-order traversal for flow construction, so // we need to traverse any element with damage so that we can perform // fixup / reconstruction on our way back up the tree. - if cfg!(feature = "servo") && + // + // We also need to traverse nodes with explicit damage and no other + // restyle data, so that this damage can be cleared. + if (cfg!(feature = "servo") || + traversal_flags.for_reconstruct()) && data.get_restyle().map_or(false, |r| r.damage != RestyleDamage::empty()) { return true; @@ -342,11 +367,15 @@ pub trait DomTraversal : Sync { for kid in parent.as_node().children() { if Self::node_needs_traversal(kid, self.shared_context().traversal_flags) { - let el = kid.as_element(); - if el.as_ref().and_then(|el| el.borrow_data()) - .map_or(false, |d| d.has_styles()) - { - unsafe { parent.set_dirty_descendants(); } + // If we are in a restyle for reconstruction, there is no need to + // perform a post-traversal, so we don't need to set the dirty + // descendants bit on the parent. + if !self.shared_context().traversal_flags.for_reconstruct() { + let el = kid.as_element(); + if el.as_ref().and_then(|el| el.borrow_data()) + .map_or(false, |d| d.has_styles()) { + unsafe { parent.set_dirty_descendants(); } + } } f(thread_local, kid); } @@ -557,20 +586,34 @@ pub fn recalc_style_at(traversal: &D, inherited_style_changed); } + // If we are in a restyle for reconstruction, drop the existing restyle + // data here, since we won't need to perform a post-traversal to pick up + // any change hints. + if context.shared.traversal_flags.for_reconstruct() { + data.clear_restyle(); + } + if context.shared.traversal_flags.for_animation_only() { unsafe { element.unset_animation_only_dirty_descendants(); } } - // Make sure the dirty descendants bit is not set for the root of a - // display:none subtree, even if the style didn't change (since, if - // the style did change, we'd have already cleared it above). + // There are two cases when we want to clear the dity descendants bit + // here after styling this element. + // + // The first case is when this element is the root of a display:none + // subtree, even if the style didn't change (since, if the style did + // change, we'd have already cleared it above). // // This keeps the tree in a valid state without requiring the DOM to // check display:none on the parent when inserting new children (which // can be moderately expensive). Instead, DOM implementations can // unconditionally set the dirty descendants bit on any styled parent, // and let the traversal sort it out. - if data.styles().is_display_none() { + // + // The second case is when we are in a restyle for reconstruction, + // where we won't need to perform a post-traversal to pick up any + // change hints. + if data.styles().is_display_none() || context.shared.traversal_flags.for_reconstruct() { unsafe { element.unset_dirty_descendants(); } } } diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 33beba27edc..15d9a7b1c3f 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -85,7 +85,7 @@ use style::stylesheets::StylesheetLoader as StyleStylesheetLoader; use style::supports::parse_condition_or_declaration; use style::thread_state; use style::timer::Timer; -use style::traversal::{ANIMATION_ONLY, UNSTYLED_CHILDREN_ONLY}; +use style::traversal::{ANIMATION_ONLY, FOR_RECONSTRUCT, UNSTYLED_CHILDREN_ONLY}; use style::traversal::{resolve_style, DomTraversal, TraversalDriver, TraversalFlags}; use style_traits::ToCss; use super::stylesheet_loader::StylesheetLoader; @@ -207,13 +207,20 @@ fn traverse_subtree(element: GeckoElement, raw_data: RawServoStyleSetBorrowed, #[no_mangle] pub extern "C" fn Servo_TraverseSubtree(root: RawGeckoElementBorrowed, raw_data: RawServoStyleSetBorrowed, - behavior: structs::TraversalRootBehavior) -> bool { + root_behavior: structs::TraversalRootBehavior, + restyle_behavior: structs::TraversalRestyleBehavior) + -> bool { + use self::structs::TraversalRestyleBehavior as Restyle; + use self::structs::TraversalRootBehavior as Root; + let element = GeckoElement(root); debug!("Servo_TraverseSubtree: {:?}", element); - let traversal_flags = match behavior { - structs::TraversalRootBehavior::UnstyledChildrenOnly => UNSTYLED_CHILDREN_ONLY, - _ => TraversalFlags::empty(), + let traversal_flags = match (root_behavior, restyle_behavior) { + (Root::Normal, Restyle::Normal) => TraversalFlags::empty(), + (Root::UnstyledChildrenOnly, Restyle::Normal) => UNSTYLED_CHILDREN_ONLY, + (Root::Normal, Restyle::ForReconstruct) => FOR_RECONSTRUCT, + _ => panic!("invalid combination of TraversalRootBehavior and TraversalRestyleBehavior"), }; if element.has_animation_only_dirty_descendants() || From 5c974c21d9ff9b1d1992fd07cd82888219653c6e Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Sat, 8 Apr 2017 23:18:12 +0800 Subject: [PATCH 4/4] geckolib: Regenerate bindings. --- components/style/gecko_bindings/bindings.rs | 10 +- .../style/gecko_bindings/structs_debug.rs | 333 ++++++++--------- .../style/gecko_bindings/structs_release.rs | 334 ++++++++---------- 3 files changed, 307 insertions(+), 370 deletions(-) diff --git a/components/style/gecko_bindings/bindings.rs b/components/style/gecko_bindings/bindings.rs index 90f5c7c38b9..8ced3ca4c35 100644 --- a/components/style/gecko_bindings/bindings.rs +++ b/components/style/gecko_bindings/bindings.rs @@ -22,6 +22,7 @@ use gecko_bindings::structs::RawGeckoStyleAnimationList; use gecko_bindings::structs::RawGeckoURLExtraData; use gecko_bindings::structs::RefPtr; use gecko_bindings::structs::CSSPseudoClassType; +use gecko_bindings::structs::TraversalRestyleBehavior; use gecko_bindings::structs::TraversalRootBehavior; use gecko_bindings::structs::ComputedTimingFunction_BeforeFlag; use gecko_bindings::structs::FontFamilyList; @@ -1394,6 +1395,12 @@ extern "C" { extern "C" { pub fn Gecko_Construct_nsStyleVariables(ptr: *mut nsStyleVariables); } +extern "C" { + pub fn Gecko_RegisterProfilerThread(name: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn Gecko_UnregisterProfilerThread(); +} extern "C" { pub fn Servo_Element_ClearData(node: RawGeckoElementBorrowed); } @@ -1894,7 +1901,8 @@ extern "C" { extern "C" { pub fn Servo_TraverseSubtree(root: RawGeckoElementBorrowed, set: RawServoStyleSetBorrowed, - root_behavior: TraversalRootBehavior) + root_behavior: TraversalRootBehavior, + restyle_behavior: TraversalRestyleBehavior) -> bool; } extern "C" { diff --git a/components/style/gecko_bindings/structs_debug.rs b/components/style/gecko_bindings/structs_debug.rs index 596d99139d3..65a0dc3adf8 100644 --- a/components/style/gecko_bindings/structs_debug.rs +++ b/components/style/gecko_bindings/structs_debug.rs @@ -1074,41 +1074,27 @@ pub mod root { pub type iterator_pointer<_Pointer> = _Pointer; pub type iterator_reference<_Reference> = _Reference; #[repr(C)] - #[derive(Debug)] - pub struct __atomic_base<_ITp> { - pub _M_i: root::std::__atomic_base___int_type<_ITp>, - } - pub type __atomic_base___int_type<_ITp> = _ITp; - pub type atomic_uint = - root::std::__atomic_base<::std::os::raw::c_uint>; - pub type atomic_ulong = - root::std::__atomic_base<::std::os::raw::c_ulong>; - #[repr(C)] - #[derive(Debug)] + #[derive(Debug, Copy, Clone)] pub struct atomic<_Tp> { - pub _M_i: _Tp, + pub _phantom_0: ::std::marker::PhantomData<_Tp>, } #[test] fn __bindgen_test_layout_template_1() { - assert_eq!(::std::mem::size_of::>() - , 4usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::std::atomic<::std::os::raw::c_uint> ) )); - assert_eq!(::std::mem::align_of::>() - , 4usize , concat ! ( + assert_eq!(::std::mem::size_of::() , 4usize , concat ! ( + "Size of template specialization: " , stringify ! ( u32 + ) )); + assert_eq!(::std::mem::align_of::() , 4usize , concat ! ( "Alignment of template specialization: " , stringify ! - ( root::std::atomic<::std::os::raw::c_uint> ) )); + ( u32 ) )); } #[test] fn __bindgen_test_layout_template_2() { - assert_eq!(::std::mem::size_of::>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::std::atomic<::std::os::raw::c_ulong> ) )); - assert_eq!(::std::mem::align_of::>() - , 8usize , concat ! ( + assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 + ) )); + assert_eq!(::std::mem::align_of::() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! - ( root::std::atomic<::std::os::raw::c_ulong> ) )); + ( u64 ) )); } pub mod chrono { #[allow(unused_imports)] @@ -4512,7 +4498,7 @@ pub mod root { #[repr(C)] #[derive(Debug)] pub struct ThreadSafeAutoRefCnt { - pub mValue: root::std::atomic<::std::os::raw::c_ulong>, + pub mValue: u64, } pub const ThreadSafeAutoRefCnt_isThreadSafe: bool = true; #[test] @@ -6531,6 +6517,9 @@ pub mod root { Normal = 0, UnstyledChildrenOnly = 1, } + #[repr(i32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum TraversalRestyleBehavior { Normal = 0, ForReconstruct = 1, } pub const UpdateAnimationsTasks_CSSAnimations: root::mozilla::UpdateAnimationsTasks = 1; @@ -11823,7 +11812,7 @@ pub mod root { #[repr(C)] #[derive(Debug)] pub struct nsStringBuffer { - pub mRefCount: root::std::atomic<::std::os::raw::c_uint>, + pub mRefCount: u32, pub mStorageSize: u32, } #[test] @@ -18665,7 +18654,7 @@ pub mod root { fn clone(&self) -> Self { *self } } pub type nsFrameState_size_t = u64; - pub const nsFrameState_NS_STATE_FLEX_CHILDREN_REORDERED: + pub const nsFrameState_NS_STATE_FLEX_NORMAL_FLOW_CHILDREN_IN_CSS_ORDER: root::nsFrameState = nsFrameState::NS_STATE_BOX_CHILD_RESERVED; pub const nsFrameState_NS_STATE_FLEX_IS_LEGACY_WEBKIT_BOX: @@ -27667,28 +27656,6 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_22() { - assert_eq!(::std::mem::size_of::>() - , 4usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::std::__atomic_base<::std::os::raw::c_uint> ) )); - assert_eq!(::std::mem::align_of::>() - , 4usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::std::__atomic_base<::std::os::raw::c_uint> ) )); - } - #[test] - fn __bindgen_test_layout_template_23() { - assert_eq!(::std::mem::size_of::>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::std::__atomic_base<::std::os::raw::c_ulong> ) )); - assert_eq!(::std::mem::align_of::>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::std::__atomic_base<::std::os::raw::c_ulong> ) )); - } - #[test] - fn __bindgen_test_layout_template_24() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( @@ -27705,7 +27672,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_25() { + fn __bindgen_test_layout_template_23() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27716,7 +27683,7 @@ pub mod root { root::JS::TenuredHeap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_template_26() { + fn __bindgen_test_layout_template_24() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27727,7 +27694,7 @@ pub mod root { root::JS::Heap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_template_27() { + fn __bindgen_test_layout_template_25() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27738,7 +27705,7 @@ pub mod root { root::JS::Heap ) )); } #[test] - fn __bindgen_test_layout_template_28() { + fn __bindgen_test_layout_template_26() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27751,7 +27718,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_29() { + fn __bindgen_test_layout_template_27() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27764,7 +27731,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_30() { + fn __bindgen_test_layout_template_28() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27775,7 +27742,7 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_template_31() { + fn __bindgen_test_layout_template_29() { assert_eq!(::std::mem::size_of::>() , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27788,7 +27755,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_32() { + fn __bindgen_test_layout_template_30() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27799,7 +27766,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_33() { + fn __bindgen_test_layout_template_31() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27810,7 +27777,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_34() { + fn __bindgen_test_layout_template_32() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27821,7 +27788,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_template_35() { + fn __bindgen_test_layout_template_33() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( @@ -27838,7 +27805,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_36() { + fn __bindgen_test_layout_template_34() { assert_eq!(::std::mem::size_of::>, @@ -27879,7 +27846,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_37() { + fn __bindgen_test_layout_template_35() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27890,7 +27857,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_38() { + fn __bindgen_test_layout_template_36() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27901,7 +27868,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_template_39() { + fn __bindgen_test_layout_template_37() { assert_eq!(::std::mem::size_of::<[u64; 29usize]>() , 232usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27912,7 +27879,7 @@ pub mod root { [u64; 29usize] ) )); } #[test] - fn __bindgen_test_layout_template_40() { + fn __bindgen_test_layout_template_38() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27923,7 +27890,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_41() { + fn __bindgen_test_layout_template_39() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27936,7 +27903,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_42() { + fn __bindgen_test_layout_template_40() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27947,7 +27914,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_template_43() { + fn __bindgen_test_layout_template_41() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27958,7 +27925,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_template_44() { + fn __bindgen_test_layout_template_42() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27971,7 +27938,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_template_45() { + fn __bindgen_test_layout_template_43() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27982,7 +27949,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_template_46() { + fn __bindgen_test_layout_template_44() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27993,7 +27960,7 @@ pub mod root { root::nsTArray> ) )); } #[test] - fn __bindgen_test_layout_template_47() { + fn __bindgen_test_layout_template_45() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28004,7 +27971,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_48() { + fn __bindgen_test_layout_template_46() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28015,7 +27982,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_49() { + fn __bindgen_test_layout_template_47() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28026,7 +27993,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_50() { + fn __bindgen_test_layout_template_48() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28037,7 +28004,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_template_51() { + fn __bindgen_test_layout_template_49() { assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -28046,7 +28013,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_template_52() { + fn __bindgen_test_layout_template_50() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28057,7 +28024,7 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_template_53() { + fn __bindgen_test_layout_template_51() { assert_eq!(::std::mem::size_of::<[u64; 29usize]>() , 232usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28068,7 +28035,7 @@ pub mod root { [u64; 29usize] ) )); } #[test] - fn __bindgen_test_layout_template_54() { + fn __bindgen_test_layout_template_52() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28079,7 +28046,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_template_55() { + fn __bindgen_test_layout_template_53() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28090,7 +28057,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_56() { + fn __bindgen_test_layout_template_54() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28103,7 +28070,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_57() { + fn __bindgen_test_layout_template_55() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28114,7 +28081,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_58() { + fn __bindgen_test_layout_template_56() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28125,7 +28092,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_template_59() { + fn __bindgen_test_layout_template_57() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28136,7 +28103,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_60() { + fn __bindgen_test_layout_template_58() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28147,7 +28114,7 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_template_61() { + fn __bindgen_test_layout_template_59() { assert_eq!(::std::mem::size_of::>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28158,6 +28125,28 @@ pub mod root { root::mozilla::OwningNonNull ) )); } #[test] + fn __bindgen_test_layout_template_60() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_61() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] fn __bindgen_test_layout_template_62() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( @@ -28170,14 +28159,14 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_63() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - [u32; 2usize] ) )); + [u32; 4usize] ) )); } #[test] fn __bindgen_test_layout_template_64() { @@ -28192,6 +28181,17 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_65() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_66() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28202,26 +28202,15 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_template_66() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! - ( - "Alignment of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - } - #[test] fn __bindgen_test_layout_template_67() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - [u32; 2usize] ) )); + [u32; 4usize] ) )); } #[test] fn __bindgen_test_layout_template_68() { @@ -28236,28 +28225,6 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_69() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - [u32; 4usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! - ( - "Alignment of template specialization: " , stringify ! ( - [u32; 4usize] ) )); - } - #[test] - fn __bindgen_test_layout_template_70() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - [u32; 4usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! - ( - "Alignment of template specialization: " , stringify ! ( - [u32; 4usize] ) )); - } - #[test] - fn __bindgen_test_layout_template_71() { assert_eq!(::std::mem::size_of::() , 4usize , concat ! ( "Size of template specialization: " , stringify ! ( u32 ) )); @@ -28266,6 +28233,28 @@ pub mod root { u32 ) )); } #[test] + fn __bindgen_test_layout_template_70() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_71() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] fn __bindgen_test_layout_template_72() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( @@ -28278,28 +28267,6 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_73() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! - ( - "Alignment of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - } - #[test] - fn __bindgen_test_layout_template_74() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! - ( - "Alignment of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - } - #[test] - fn __bindgen_test_layout_template_75() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28310,7 +28277,7 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_template_76() { + fn __bindgen_test_layout_template_74() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28323,7 +28290,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_77() { + fn __bindgen_test_layout_template_75() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28336,7 +28303,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_78() { + fn __bindgen_test_layout_template_76() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( @@ -28353,7 +28320,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_79() { + fn __bindgen_test_layout_template_77() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28364,7 +28331,7 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_template_80() { + fn __bindgen_test_layout_template_78() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28375,7 +28342,7 @@ pub mod root { root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_template_81() { + fn __bindgen_test_layout_template_79() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28388,7 +28355,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_82() { + fn __bindgen_test_layout_template_80() { assert_eq!(::std::mem::size_of::>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28399,7 +28366,7 @@ pub mod root { root::nsPtrHashKey ) )); } #[test] - fn __bindgen_test_layout_template_83() { + fn __bindgen_test_layout_template_81() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28410,7 +28377,7 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_template_84() { + fn __bindgen_test_layout_template_82() { assert_eq!(::std::mem::size_of::>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28423,7 +28390,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_85() { + fn __bindgen_test_layout_template_83() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28434,7 +28401,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_template_86() { + fn __bindgen_test_layout_template_84() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28445,7 +28412,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_87() { + fn __bindgen_test_layout_template_85() { assert_eq!(::std::mem::size_of::>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28456,7 +28423,7 @@ pub mod root { root::nsMainThreadPtrHolder ) )); } #[test] - fn __bindgen_test_layout_template_88() { + fn __bindgen_test_layout_template_86() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28467,7 +28434,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_template_89() { + fn __bindgen_test_layout_template_87() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( @@ -28484,7 +28451,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_90() { + fn __bindgen_test_layout_template_88() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28497,7 +28464,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_template_91() { + fn __bindgen_test_layout_template_89() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( @@ -28514,7 +28481,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_92() { + fn __bindgen_test_layout_template_90() { assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28525,7 +28492,7 @@ pub mod root { [u64; 2usize] ) )); } #[test] - fn __bindgen_test_layout_template_93() { + fn __bindgen_test_layout_template_91() { assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -28534,7 +28501,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_template_94() { + fn __bindgen_test_layout_template_92() { assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28545,7 +28512,7 @@ pub mod root { [u32; 3usize] ) )); } #[test] - fn __bindgen_test_layout_template_95() { + fn __bindgen_test_layout_template_93() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28556,7 +28523,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_96() { + fn __bindgen_test_layout_template_94() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28567,7 +28534,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_template_97() { + fn __bindgen_test_layout_template_95() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( @@ -28584,7 +28551,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_98() { + fn __bindgen_test_layout_template_96() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28597,7 +28564,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_template_99() { + fn __bindgen_test_layout_template_97() { assert_eq!(::std::mem::size_of::>() , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28608,7 +28575,7 @@ pub mod root { root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_template_100() { + fn __bindgen_test_layout_template_98() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( @@ -28623,7 +28590,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_101() { + fn __bindgen_test_layout_template_99() { assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28634,7 +28601,7 @@ pub mod root { [u64; 18usize] ) )); } #[test] - fn __bindgen_test_layout_template_102() { + fn __bindgen_test_layout_template_100() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28647,7 +28614,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_103() { + fn __bindgen_test_layout_template_101() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28660,7 +28627,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_104() { + fn __bindgen_test_layout_template_102() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28671,7 +28638,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_template_105() { + fn __bindgen_test_layout_template_103() { assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -28680,7 +28647,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_template_106() { + fn __bindgen_test_layout_template_104() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28691,7 +28658,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } #[test] - fn __bindgen_test_layout_template_107() { + fn __bindgen_test_layout_template_105() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( diff --git a/components/style/gecko_bindings/structs_release.rs b/components/style/gecko_bindings/structs_release.rs index fd24eed884a..9d00e454f34 100644 --- a/components/style/gecko_bindings/structs_release.rs +++ b/components/style/gecko_bindings/structs_release.rs @@ -1073,42 +1073,23 @@ pub mod root { pub type iterator_difference_type<_Distance> = _Distance; pub type iterator_pointer<_Pointer> = _Pointer; pub type iterator_reference<_Reference> = _Reference; - #[repr(C)] - #[derive(Debug)] - pub struct __atomic_base<_ITp> { - pub _M_i: root::std::__atomic_base___int_type<_ITp>, - } - pub type __atomic_base___int_type<_ITp> = _ITp; - pub type atomic_uint = - root::std::__atomic_base<::std::os::raw::c_uint>; - pub type atomic_ulong = - root::std::__atomic_base<::std::os::raw::c_ulong>; - #[repr(C)] - #[derive(Debug)] - pub struct atomic<_Tp> { - pub _M_i: _Tp, - } #[test] fn __bindgen_test_layout_template_1() { - assert_eq!(::std::mem::size_of::>() - , 4usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::std::atomic<::std::os::raw::c_uint> ) )); - assert_eq!(::std::mem::align_of::>() - , 4usize , concat ! ( + assert_eq!(::std::mem::size_of::() , 4usize , concat ! ( + "Size of template specialization: " , stringify ! ( u32 + ) )); + assert_eq!(::std::mem::align_of::() , 4usize , concat ! ( "Alignment of template specialization: " , stringify ! - ( root::std::atomic<::std::os::raw::c_uint> ) )); + ( u32 ) )); } #[test] fn __bindgen_test_layout_template_2() { - assert_eq!(::std::mem::size_of::>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::std::atomic<::std::os::raw::c_ulong> ) )); - assert_eq!(::std::mem::align_of::>() - , 8usize , concat ! ( + assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 + ) )); + assert_eq!(::std::mem::align_of::() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! - ( root::std::atomic<::std::os::raw::c_ulong> ) )); + ( u64 ) )); } } pub mod __gnu_cxx { @@ -4468,7 +4449,7 @@ pub mod root { #[repr(C)] #[derive(Debug)] pub struct ThreadSafeAutoRefCnt { - pub mValue: root::std::atomic<::std::os::raw::c_ulong>, + pub mValue: u64, } pub const ThreadSafeAutoRefCnt_isThreadSafe: bool = true; #[test] @@ -6439,6 +6420,9 @@ pub mod root { Normal = 0, UnstyledChildrenOnly = 1, } + #[repr(i32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum TraversalRestyleBehavior { Normal = 0, ForReconstruct = 1, } pub const UpdateAnimationsTasks_CSSAnimations: root::mozilla::UpdateAnimationsTasks = 1; @@ -11363,7 +11347,7 @@ pub mod root { #[repr(C)] #[derive(Debug)] pub struct nsStringBuffer { - pub mRefCount: root::std::atomic<::std::os::raw::c_uint>, + pub mRefCount: u32, pub mStorageSize: u32, } #[test] @@ -18104,7 +18088,7 @@ pub mod root { fn clone(&self) -> Self { *self } } pub type nsFrameState_size_t = u64; - pub const nsFrameState_NS_STATE_FLEX_CHILDREN_REORDERED: + pub const nsFrameState_NS_STATE_FLEX_NORMAL_FLOW_CHILDREN_IN_CSS_ORDER: root::nsFrameState = nsFrameState::NS_STATE_BOX_CHILD_RESERVED; pub const nsFrameState_NS_STATE_FLEX_IS_LEGACY_WEBKIT_BOX: @@ -27013,28 +26997,6 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_22() { - assert_eq!(::std::mem::size_of::>() - , 4usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::std::__atomic_base<::std::os::raw::c_uint> ) )); - assert_eq!(::std::mem::align_of::>() - , 4usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::std::__atomic_base<::std::os::raw::c_uint> ) )); - } - #[test] - fn __bindgen_test_layout_template_23() { - assert_eq!(::std::mem::size_of::>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::std::__atomic_base<::std::os::raw::c_ulong> ) )); - assert_eq!(::std::mem::align_of::>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::std::__atomic_base<::std::os::raw::c_ulong> ) )); - } - #[test] - fn __bindgen_test_layout_template_24() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( @@ -27051,7 +27013,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_25() { + fn __bindgen_test_layout_template_23() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27062,7 +27024,7 @@ pub mod root { root::JS::TenuredHeap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_template_26() { + fn __bindgen_test_layout_template_24() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27073,7 +27035,7 @@ pub mod root { root::JS::Heap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_template_27() { + fn __bindgen_test_layout_template_25() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27086,7 +27048,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_28() { + fn __bindgen_test_layout_template_26() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27099,7 +27061,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_29() { + fn __bindgen_test_layout_template_27() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27110,7 +27072,7 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_template_30() { + fn __bindgen_test_layout_template_28() { assert_eq!(::std::mem::size_of::>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27123,7 +27085,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_31() { + fn __bindgen_test_layout_template_29() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27134,7 +27096,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_32() { + fn __bindgen_test_layout_template_30() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27145,7 +27107,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_33() { + fn __bindgen_test_layout_template_31() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27156,7 +27118,7 @@ pub mod root { root::JS::Heap ) )); } #[test] - fn __bindgen_test_layout_template_34() { + fn __bindgen_test_layout_template_32() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27167,7 +27129,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_template_35() { + fn __bindgen_test_layout_template_33() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( @@ -27184,7 +27146,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_36() { + fn __bindgen_test_layout_template_34() { assert_eq!(::std::mem::size_of::>, @@ -27225,7 +27187,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_37() { + fn __bindgen_test_layout_template_35() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27236,7 +27198,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_38() { + fn __bindgen_test_layout_template_36() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27247,7 +27209,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_template_39() { + fn __bindgen_test_layout_template_37() { assert_eq!(::std::mem::size_of::<[u64; 28usize]>() , 224usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27258,7 +27220,7 @@ pub mod root { [u64; 28usize] ) )); } #[test] - fn __bindgen_test_layout_template_40() { + fn __bindgen_test_layout_template_38() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27269,7 +27231,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_41() { + fn __bindgen_test_layout_template_39() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27282,7 +27244,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_42() { + fn __bindgen_test_layout_template_40() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27293,7 +27255,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_template_43() { + fn __bindgen_test_layout_template_41() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27304,7 +27266,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_template_44() { + fn __bindgen_test_layout_template_42() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27317,7 +27279,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_template_45() { + fn __bindgen_test_layout_template_43() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27328,7 +27290,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_template_46() { + fn __bindgen_test_layout_template_44() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27339,7 +27301,7 @@ pub mod root { root::nsTArray> ) )); } #[test] - fn __bindgen_test_layout_template_47() { + fn __bindgen_test_layout_template_45() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27350,7 +27312,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_48() { + fn __bindgen_test_layout_template_46() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27361,7 +27323,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_49() { + fn __bindgen_test_layout_template_47() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27372,7 +27334,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_50() { + fn __bindgen_test_layout_template_48() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27383,7 +27345,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_template_51() { + fn __bindgen_test_layout_template_49() { assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -27392,7 +27354,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_template_52() { + fn __bindgen_test_layout_template_50() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27403,7 +27365,7 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_template_53() { + fn __bindgen_test_layout_template_51() { assert_eq!(::std::mem::size_of::<[u64; 28usize]>() , 224usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27414,7 +27376,7 @@ pub mod root { [u64; 28usize] ) )); } #[test] - fn __bindgen_test_layout_template_54() { + fn __bindgen_test_layout_template_52() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27425,7 +27387,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_template_55() { + fn __bindgen_test_layout_template_53() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27436,7 +27398,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_56() { + fn __bindgen_test_layout_template_54() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27449,7 +27411,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_57() { + fn __bindgen_test_layout_template_55() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27460,7 +27422,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_58() { + fn __bindgen_test_layout_template_56() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27471,7 +27433,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_template_59() { + fn __bindgen_test_layout_template_57() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27482,7 +27444,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_60() { + fn __bindgen_test_layout_template_58() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27493,7 +27455,7 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_template_61() { + fn __bindgen_test_layout_template_59() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27504,6 +27466,28 @@ pub mod root { root::mozilla::OwningNonNull ) )); } #[test] + fn __bindgen_test_layout_template_60() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_61() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] fn __bindgen_test_layout_template_62() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( @@ -27516,14 +27500,14 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_63() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - [u32; 2usize] ) )); + [u32; 4usize] ) )); } #[test] fn __bindgen_test_layout_template_64() { @@ -27538,6 +27522,17 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_65() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_66() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27548,26 +27543,15 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_template_66() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! - ( - "Alignment of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - } - #[test] fn __bindgen_test_layout_template_67() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + [u32; 4usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - [u32; 2usize] ) )); + [u32; 4usize] ) )); } #[test] fn __bindgen_test_layout_template_68() { @@ -27582,28 +27566,6 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_69() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - [u32; 4usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! - ( - "Alignment of template specialization: " , stringify ! ( - [u32; 4usize] ) )); - } - #[test] - fn __bindgen_test_layout_template_70() { - assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - [u32; 4usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 4usize]>() , 4usize , concat ! - ( - "Alignment of template specialization: " , stringify ! ( - [u32; 4usize] ) )); - } - #[test] - fn __bindgen_test_layout_template_71() { assert_eq!(::std::mem::size_of::() , 4usize , concat ! ( "Size of template specialization: " , stringify ! ( u32 ) )); @@ -27612,6 +27574,28 @@ pub mod root { u32 ) )); } #[test] + fn __bindgen_test_layout_template_70() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] + fn __bindgen_test_layout_template_71() { + assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 2usize] ) )); + } + #[test] fn __bindgen_test_layout_template_72() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( @@ -27624,28 +27608,6 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_73() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! - ( - "Alignment of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - } - #[test] - fn __bindgen_test_layout_template_74() { - assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u32; 2usize]>() , 4usize , concat ! - ( - "Alignment of template specialization: " , stringify ! ( - [u32; 2usize] ) )); - } - #[test] - fn __bindgen_test_layout_template_75() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27656,7 +27618,7 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_template_76() { + fn __bindgen_test_layout_template_74() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27669,7 +27631,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_77() { + fn __bindgen_test_layout_template_75() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27682,7 +27644,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_78() { + fn __bindgen_test_layout_template_76() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( @@ -27699,7 +27661,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_79() { + fn __bindgen_test_layout_template_77() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27710,7 +27672,7 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_template_80() { + fn __bindgen_test_layout_template_78() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27721,7 +27683,7 @@ pub mod root { root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_template_81() { + fn __bindgen_test_layout_template_79() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27734,7 +27696,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_82() { + fn __bindgen_test_layout_template_80() { assert_eq!(::std::mem::size_of::>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27745,7 +27707,7 @@ pub mod root { root::nsPtrHashKey ) )); } #[test] - fn __bindgen_test_layout_template_83() { + fn __bindgen_test_layout_template_81() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27756,7 +27718,7 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_template_84() { + fn __bindgen_test_layout_template_82() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27769,7 +27731,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_85() { + fn __bindgen_test_layout_template_83() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27780,7 +27742,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_template_86() { + fn __bindgen_test_layout_template_84() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27791,7 +27753,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_87() { + fn __bindgen_test_layout_template_85() { assert_eq!(::std::mem::size_of::>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27802,7 +27764,7 @@ pub mod root { root::nsMainThreadPtrHolder ) )); } #[test] - fn __bindgen_test_layout_template_88() { + fn __bindgen_test_layout_template_86() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27813,7 +27775,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_template_89() { + fn __bindgen_test_layout_template_87() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( @@ -27830,7 +27792,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_90() { + fn __bindgen_test_layout_template_88() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27843,7 +27805,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_template_91() { + fn __bindgen_test_layout_template_89() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( @@ -27860,7 +27822,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_92() { + fn __bindgen_test_layout_template_90() { assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27871,7 +27833,7 @@ pub mod root { [u64; 2usize] ) )); } #[test] - fn __bindgen_test_layout_template_93() { + fn __bindgen_test_layout_template_91() { assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -27880,7 +27842,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_template_94() { + fn __bindgen_test_layout_template_92() { assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27891,7 +27853,7 @@ pub mod root { [u32; 3usize] ) )); } #[test] - fn __bindgen_test_layout_template_95() { + fn __bindgen_test_layout_template_93() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27902,7 +27864,7 @@ pub mod root { root::already_AddRefed ) )); } #[test] - fn __bindgen_test_layout_template_96() { + fn __bindgen_test_layout_template_94() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27913,7 +27875,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_template_97() { + fn __bindgen_test_layout_template_95() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( @@ -27930,7 +27892,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_98() { + fn __bindgen_test_layout_template_96() { assert_eq!(::std::mem::size_of::>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27943,7 +27905,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_template_99() { + fn __bindgen_test_layout_template_97() { assert_eq!(::std::mem::size_of::>() , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27954,7 +27916,7 @@ pub mod root { root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_template_100() { + fn __bindgen_test_layout_template_98() { assert_eq!(::std::mem::size_of::>>() , 8usize , concat ! ( @@ -27969,7 +27931,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_101() { + fn __bindgen_test_layout_template_99() { assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27980,7 +27942,7 @@ pub mod root { [u64; 18usize] ) )); } #[test] - fn __bindgen_test_layout_template_102() { + fn __bindgen_test_layout_template_100() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -27993,7 +27955,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_103() { + fn __bindgen_test_layout_template_101() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28006,7 +27968,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_template_104() { + fn __bindgen_test_layout_template_102() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28017,7 +27979,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_template_105() { + fn __bindgen_test_layout_template_103() { assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -28026,7 +27988,7 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_template_106() { + fn __bindgen_test_layout_template_104() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28037,7 +27999,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } #[test] - fn __bindgen_test_layout_template_107() { + fn __bindgen_test_layout_template_105() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! (