diff --git a/components/style/dom.rs b/components/style/dom.rs index 154a19eb994..90644e2b9b7 100644 --- a/components/style/dom.rs +++ b/components/style/dom.rs @@ -34,7 +34,7 @@ use std::hash::Hash; use std::ops::Deref; use stylist::Stylist; use thread_state; -use traversal_flags::TraversalFlags; +use traversal_flags::{TraversalFlags, self}; pub use style_traits::UnsafeNode; @@ -489,6 +489,11 @@ pub trait TElement : Eq + PartialEq + Debug + Hash + Sized + Copy + Clone + !data.restyle.hint.has_animation_hint_or_recascade(); } + if traversal_flags.contains(traversal_flags::UnstyledOnly) { + // We don't process invalidations in UnstyledOnly mode. + return data.has_styles(); + } + if self.has_snapshot() && !self.handled_snapshot() { return false; } diff --git a/components/style/gecko/generated/pseudo_element_definition.rs b/components/style/gecko/generated/pseudo_element_definition.rs index 00081d8ba8a..1c5ab91caec 100644 --- a/components/style/gecko/generated/pseudo_element_definition.rs +++ b/components/style/gecko/generated/pseudo_element_definition.rs @@ -173,6 +173,8 @@ pub enum PseudoElement { MozSVGText, } +/// Important: If you change this, you should also update Gecko's +/// nsCSSPseudoElements::IsEagerlyCascadedInServo. diff --git a/components/style/gecko/generated/structs_debug.rs b/components/style/gecko/generated/structs_debug.rs index 066370e6486..898ca18b7e8 100644 --- a/components/style/gecko/generated/structs_debug.rs +++ b/components/style/gecko/generated/structs_debug.rs @@ -1145,9 +1145,8 @@ pub mod root { root::nsSubstringTuple; pub type nsStringRepr_string_type = ::nsstring::nsStringRepr; pub type nsStringRepr_const_iterator = - root::nsReadingIterator; - pub type nsStringRepr_iterator = - root::nsWritingIterator; + root::nsReadingIterator; + pub type nsStringRepr_iterator = root::nsWritingIterator; pub type nsStringRepr_comparator_type = root::nsStringComparator; pub type nsStringRepr_char_iterator = *mut root::mozilla::detail::nsStringRepr_char_type; @@ -1214,9 +1213,9 @@ pub mod root { root::nsCSubstringTuple; pub type nsCStringRepr_string_type = root::nsCString; pub type nsCStringRepr_const_iterator = - root::nsReadingIterator; + root::nsReadingIterator<::std::os::raw::c_char>; pub type nsCStringRepr_iterator = - root::nsWritingIterator; + root::nsWritingIterator<::std::os::raw::c_char>; pub type nsCStringRepr_comparator_type = root::nsCStringComparator; pub type nsCStringRepr_char_iterator = @@ -4927,7 +4926,7 @@ pub mod root { pub const ServoTraversalFlags_ForCSSRuleChanges: root::mozilla::ServoTraversalFlags = 2; - pub const ServoTraversalFlags_UnstyledChildrenOnly: + pub const ServoTraversalFlags_UnstyledOnly: root::mozilla::ServoTraversalFlags = 4; pub const ServoTraversalFlags_Forgetful: @@ -4942,6 +4941,9 @@ pub mod root { pub const ServoTraversalFlags_ClearAnimationOnlyDirtyDescendants: root::mozilla::ServoTraversalFlags = 64; + pub const ServoTraversalFlags_ParallelTraversal: + root::mozilla::ServoTraversalFlags = + 128; pub type ServoTraversalFlags = u32; #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -4994,10 +4996,11 @@ pub mod root { pub mPresContext: *mut root::nsPresContext, pub mSource: root::ServoComputedData, pub mNextInheritingAnonBoxStyle: root::RefPtr, + pub mNextLazyPseudoStyle: root::RefPtr, } #[test] fn bindgen_test_layout_ServoStyleContext() { - assert_eq!(::std::mem::size_of::() , 264usize , + assert_eq!(::std::mem::size_of::() , 272usize , concat ! ( "Size of: " , stringify ! ( ServoStyleContext ) )); assert_eq! (::std::mem::align_of::() , 8usize , @@ -5024,6 +5027,13 @@ pub mod root { "Alignment of field: " , stringify ! ( ServoStyleContext ) , "::" , stringify ! ( mNextInheritingAnonBoxStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleContext ) ) . + mNextLazyPseudoStyle as * const _ as usize } , + 264usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoStyleContext ) , "::" , stringify ! ( + mNextLazyPseudoStyle ) )); } #[repr(C)] #[derive(Debug)] @@ -6237,7 +6247,6 @@ pub mod root { assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( Runnable ) )); } - pub type Preferences_PrefSetting = root::mozilla::dom::PrefSetting; #[repr(C)] #[derive(Debug)] pub struct CycleCollectedJSContext_RunInMetastableStateData { @@ -8279,8 +8288,6 @@ pub mod root { PropertyStyleAnimationValuePair ) , "::" , stringify ! ( mValue ) )); } - pub type ComputedKeyframeValues = - root::nsTArray; #[test] fn __bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation() { assert_eq!(::std::mem::size_of::() , @@ -8789,6 +8796,15 @@ pub mod root { impl Clone for NonOwningAnimationTarget { fn clone(&self) -> Self { *self } } + pub mod wr { + #[allow(unused_imports)] + use self::super::super::super::root; + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct WrComplexClipRegion { + _unused: [u8; 0], + } + } #[repr(C)] #[derive(Debug, Copy)] pub struct DisplayItemClip_RoundedRect { @@ -11411,11 +11427,6 @@ pub mod root { AutoSetAsyncStackForNewCalls ) , "::" , stringify ! ( oldAsyncCallIsExplicit ) )); } - pub type WarningReporter = - ::std::option::Option; #[repr(C)] #[derive(Debug)] pub struct AutoHideScriptedCaller { @@ -11521,140 +11532,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)] - #[derive(Debug)] - pub struct JSErrorReport { - pub _base: root::JSErrorBase, - pub linebuf_: *const u16, - pub linebufLength_: usize, - pub tokenOffset_: usize, - pub notes: root::mozilla::UniquePtr, - 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::() , 72usize , concat ! - ( "Size of: " , stringify ! ( JSErrorReport ) )); - assert_eq! (::std::mem::align_of::() , 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::()) - }; - 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::()) - }; - 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::()); - } - } - #[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::()) - }; - 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::()) - }; - 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::()); - } - } - #[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)] pub struct nsCOMPtr { @@ -12397,7 +12274,7 @@ pub mod root { #[derive(Debug)] pub struct gfxFontFeatureValueSet_ValueList { pub name: ::nsstring::nsStringRepr, - pub featureSelectors: root::nsTArray, + pub featureSelectors: root::nsTArray<::std::os::raw::c_uint>, } #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_ValueList() { @@ -12502,7 +12379,7 @@ pub mod root { pub struct gfxFontFeatureValueSet_FeatureValueHashEntry { pub _base: root::PLDHashEntryHdr, pub mKey: root::gfxFontFeatureValueSet_FeatureValueHashKey, - pub mValues: root::nsTArray, + pub mValues: root::nsTArray<::std::os::raw::c_uint>, } pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyType = *const root::gfxFontFeatureValueSet_FeatureValueHashKey; @@ -12607,7 +12484,7 @@ pub mod root { pub alternateValues: root::nsTArray, pub featureValueLookup: root::RefPtr, pub fontFeatureSettings: root::nsTArray, - pub fontVariationSettings: root::nsTArray, + pub fontVariationSettings: root::nsTArray, pub languageOverride: u32, } #[test] @@ -16972,7 +16849,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, @@ -17024,7 +16901,7 @@ pub mod root { /// The current frame request callback handle pub mFrameRequestCallbackCounter: i32, pub mStaticCloneCount: u32, - pub mBlockedTrackingNodes: root::nsTArray, + pub mBlockedTrackingNodes: root::nsTArray>, pub mWindow: *mut root::nsPIDOMWindowInner, pub mCachedEncoder: root::nsCOMPtr, pub mFrameRequestCallbacks: root::nsTArray, @@ -19170,7 +19047,7 @@ pub mod root { } } #[inline] - pub fn mIsScopedStyleEnabled(&self) -> ::std::os::raw::c_uint { + pub fn mDidCallBeginLoad(&self) -> bool { let mut unit_field_val: u64 = unsafe { ::std::mem::uninitialized() }; unsafe { @@ -19180,15 +19057,14 @@ pub mod root { *mut u64 as *mut u8, ::std::mem::size_of::()) }; - let mask = 844424930131968u64 as u64; + let mask = 281474976710656u64 as u64; let val = (unit_field_val & mask) >> 48usize; - unsafe { ::std::mem::transmute(val as u32) } + unsafe { ::std::mem::transmute(val as u8) } } #[inline] - pub fn set_mIsScopedStyleEnabled(&mut self, - val: ::std::os::raw::c_uint) { - let mask = 844424930131968u64 as u64; - let val = val as u32 as u64; + pub fn set_mDidCallBeginLoad(&mut self, val: bool) { + let mask = 281474976710656u64 as u64; + let val = val as u8 as u64; let mut unit_field_val: u64 = unsafe { ::std::mem::uninitialized() }; unsafe { @@ -19209,6 +19085,45 @@ pub mod root { } } #[inline] + pub fn mIsScopedStyleEnabled(&self) -> ::std::os::raw::c_uint { + let mut unit_field_val: u64 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as + *mut u64 as *mut u8, + ::std::mem::size_of::()) + }; + let mask = 1688849860263936u64 as u64; + let val = (unit_field_val & mask) >> 49usize; + unsafe { ::std::mem::transmute(val as u32) } + } + #[inline] + pub fn set_mIsScopedStyleEnabled(&mut self, + val: ::std::os::raw::c_uint) { + let mask = 1688849860263936u64 as u64; + let val = val as u32 as u64; + let mut unit_field_val: u64 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as + *mut u64 as *mut u8, + ::std::mem::size_of::()) + }; + unit_field_val &= !mask; + unit_field_val |= (val << 49usize) & 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::()); + } + } + #[inline] pub fn new_bitfield_1(mBidiEnabled: bool, mMathMLEnabled: bool, mIsInitialDocumentInWindow: bool, mIgnoreDocGroupMismatches: bool, @@ -19252,6 +19167,7 @@ pub mod root { mIsTopLevelContentDocument: bool, mIsContentDocument: bool, mMightHaveStaleServoData: bool, + mDidCallBeginLoad: bool, mIsScopedStyleEnabled: ::std::os::raw::c_uint) -> u64 { ({ @@ -19303,554 +19219,568 @@ pub mod root { ({ ({ ({ - 0 + ({ + 0 + } + | + ((mBidiEnabled + as + u8 + as + u64) + << + 0usize) + & + (1u64 + as + u64)) } | - ((mBidiEnabled + ((mMathMLEnabled as u8 as u64) << - 0usize) + 1usize) & - (1u64 + (2u64 as u64)) } | - ((mMathMLEnabled + ((mIsInitialDocumentInWindow as u8 as u64) << - 1usize) + 2usize) & - (2u64 + (4u64 as u64)) } | - ((mIsInitialDocumentInWindow + ((mIgnoreDocGroupMismatches as u8 as u64) << - 2usize) + 3usize) & - (4u64 + (8u64 as u64)) } | - ((mIgnoreDocGroupMismatches + ((mLoadedAsData as u8 as u64) << - 3usize) + 4usize) & - (8u64 + (16u64 as u64)) } | - ((mLoadedAsData + ((mLoadedAsInteractiveData as u8 as u64) << - 4usize) + 5usize) & - (16u64 + (32u64 as u64)) } | - ((mLoadedAsInteractiveData + ((mMayStartLayout as u8 as u64) << - 5usize) + 6usize) & - (32u64 + (64u64 as u64)) } | - ((mMayStartLayout + ((mHaveFiredTitleChange as u8 as u64) << - 6usize) + 7usize) & - (64u64 + (128u64 as u64)) } | - ((mHaveFiredTitleChange + ((mIsShowing as u8 as u64) << - 7usize) + 8usize) & - (128u64 + (256u64 as u64)) } | - ((mIsShowing + ((mVisible as u8 as u64) << - 8usize) + 9usize) & - (256u64 + (512u64 as u64)) } | - ((mVisible + ((mHasReferrerPolicyCSP as u8 as u64) << - 9usize) + 10usize) & - (512u64 + (1024u64 as u64)) } | - ((mHasReferrerPolicyCSP + ((mRemovedFromDocShell as u8 as u64) << - 10usize) + 11usize) & - (1024u64 + (2048u64 as u64)) } | - ((mRemovedFromDocShell + ((mAllowDNSPrefetch as u8 as u64) << - 11usize) + 12usize) & - (2048u64 + (4096u64 as u64)) } | - ((mAllowDNSPrefetch + ((mIsStaticDocument as u8 as u64) << - 12usize) + 13usize) & - (4096u64 + (8192u64 as u64)) } | - ((mIsStaticDocument + ((mCreatingStaticClone as u8 as u64) << - 13usize) + 14usize) & - (8192u64 + (16384u64 as u64)) } | - ((mCreatingStaticClone + ((mInUnlinkOrDeletion as u8 as u64) << - 14usize) + 15usize) & - (16384u64 + (32768u64 as u64)) } | - ((mInUnlinkOrDeletion + ((mHasHadScriptHandlingObject as u8 as u64) << - 15usize) + 16usize) & - (32768u64 + (65536u64 as u64)) } | - ((mHasHadScriptHandlingObject + ((mIsBeingUsedAsImage as u8 as u64) << - 16usize) + 17usize) & - (65536u64 + (131072u64 as u64)) } | - ((mIsBeingUsedAsImage + ((mIsSyntheticDocument as u8 as u64) << - 17usize) + 18usize) & - (131072u64 + (262144u64 as u64)) } | - ((mIsSyntheticDocument + ((mHasLinksToUpdate as u8 as u64) << - 18usize) + 19usize) & - (262144u64 + (524288u64 as u64)) } | - ((mHasLinksToUpdate + ((mHasLinksToUpdateRunnable as u8 as u64) << - 19usize) + 20usize) & - (524288u64 + (1048576u64 as u64)) } | - ((mHasLinksToUpdateRunnable + ((mMayHaveDOMMutationObservers as u8 as u64) << - 20usize) + 21usize) & - (1048576u64 + (2097152u64 as u64)) } | - ((mMayHaveDOMMutationObservers + ((mMayHaveAnimationObservers as u8 as u64) << - 21usize) + 22usize) & - (2097152u64 + (4194304u64 as u64)) } | - ((mMayHaveAnimationObservers + ((mHasMixedActiveContentLoaded as u8 as u64) << - 22usize) + 23usize) & - (4194304u64 + (8388608u64 as u64)) } | - ((mHasMixedActiveContentLoaded + ((mHasMixedActiveContentBlocked as u8 as u64) << - 23usize) + 24usize) & - (8388608u64 + (16777216u64 as u64)) } | - ((mHasMixedActiveContentBlocked + ((mHasMixedDisplayContentLoaded as u8 as u64) << - 24usize) + 25usize) & - (16777216u64 + (33554432u64 as u64)) } | - ((mHasMixedDisplayContentLoaded + ((mHasMixedDisplayContentBlocked as u8 as u64) << - 25usize) + 26usize) & - (33554432u64 + (67108864u64 as u64)) } | - ((mHasMixedDisplayContentBlocked + ((mHasMixedContentObjectSubrequest as u8 as u64) << - 26usize) + 27usize) & - (67108864u64 + (134217728u64 as u64)) } | - ((mHasMixedContentObjectSubrequest + ((mHasCSP as u8 as u64) << - 27usize) + 28usize) & - (134217728u64 + (268435456u64 as u64)) } | - ((mHasCSP + ((mHasUnsafeEvalCSP as u8 as u64) << - 28usize) + 29usize) & - (268435456u64 + (536870912u64 as u64)) } | - ((mHasUnsafeEvalCSP + ((mHasUnsafeInlineCSP as u8 as u64) << - 29usize) + 30usize) & - (536870912u64 + (1073741824u64 as u64)) } | - ((mHasUnsafeInlineCSP + ((mHasTrackingContentBlocked as u8 as u64) << - 30usize) + 31usize) & - (1073741824u64 + (2147483648u64 as u64)) } | - ((mHasTrackingContentBlocked + ((mHasTrackingContentLoaded as u8 as u64) << - 31usize) + 32usize) & - (2147483648u64 + (4294967296u64 as u64)) } | - ((mHasTrackingContentLoaded + ((mBFCacheDisallowed as u8 as u64) << - 32usize) + 33usize) & - (4294967296u64 + (8589934592u64 as u64)) } | - ((mBFCacheDisallowed + ((mHasHadDefaultView as u8 as u64) << - 33usize) + 34usize) & - (8589934592u64 + (17179869184u64 as u64)) } | - ((mHasHadDefaultView + ((mStyleSheetChangeEventsEnabled as u8 as u64) << - 34usize) + 35usize) & - (17179869184u64 + (34359738368u64 as u64)) } | - ((mStyleSheetChangeEventsEnabled + ((mIsSrcdocDocument as u8 as u64) << - 35usize) + 36usize) & - (34359738368u64 + (68719476736u64 as u64)) } | - ((mIsSrcdocDocument + ((mDidDocumentOpen as u8 as u64) << - 36usize) + 37usize) & - (68719476736u64 + (137438953472u64 as u64)) } | - ((mDidDocumentOpen + ((mHasDisplayDocument as u8 as u64) << - 37usize) + 38usize) & - (137438953472u64 + (274877906944u64 as u64)) } | - ((mHasDisplayDocument + ((mFontFaceSetDirty as u8 as u64) << - 38usize) + 39usize) & - (274877906944u64 + (549755813888u64 as u64)) } | - ((mFontFaceSetDirty + ((mGetUserFontSetCalled as u8 as u64) << - 39usize) & - (549755813888u64 + 40usize) & + (1099511627776u64 as u64)) } | - ((mGetUserFontSetCalled + ((mPostedFlushUserFontSet as u8 as u64) - << 40usize) & - (1099511627776u64 + << 41usize) & + (2199023255552u64 as u64)) } | - ((mPostedFlushUserFontSet + ((mDidFireDOMContentLoaded as u8 as u64) << - 41usize) & - (2199023255552u64 as + 42usize) & + (4398046511104u64 as u64)) } | - ((mDidFireDOMContentLoaded as - u8 as u64) << 42usize) & - (4398046511104u64 as u64)) + ((mHasScrollLinkedEffect as u8 + as u64) << 43usize) & + (8796093022208u64 as u64)) } | - ((mHasScrollLinkedEffect as u8 as - u64) << 43usize) & - (8796093022208u64 as u64)) + ((mFrameRequestCallbacksScheduled as + u8 as u64) << 44usize) & + (17592186044416u64 as u64)) } | - ((mFrameRequestCallbacksScheduled as u8 - as u64) << 44usize) & - (17592186044416u64 as u64)) + ((mIsTopLevelContentDocument as u8 as + u64) << 45usize) & + (35184372088832u64 as u64)) } | - ((mIsTopLevelContentDocument as u8 as u64) << - 45usize) & (35184372088832u64 as u64)) + ((mIsContentDocument as u8 as u64) << 46usize) + & (70368744177664u64 as u64)) } | - ((mIsContentDocument as u8 as u64) << 46usize) & - (70368744177664u64 as u64)) + ((mMightHaveStaleServoData as u8 as u64) << + 47usize) & (140737488355328u64 as u64)) } | - ((mMightHaveStaleServoData as u8 as u64) << 47usize) & - (140737488355328u64 as u64)) + ((mDidCallBeginLoad as u8 as u64) << 48usize) & + (281474976710656u64 as u64)) } | - ((mIsScopedStyleEnabled as u32 as u64) << 48usize) & - (844424930131968u64 as u64)) + ((mIsScopedStyleEnabled as u32 as u64) << 49usize) & + (1688849860263936u64 as u64)) } } #[repr(C)] @@ -19865,7 +19795,7 @@ pub mod root { pub mRefCnt: root::nsCycleCollectingAutoRefCnt, pub _mOwningThread: root::nsAutoOwningThread, pub mBoundContentSet: u64, - pub mWrapperTable: root::nsAutoPtr, + pub mWrapperTable: u64, pub mDocumentTable: u64, pub mLoadingDocTable: u64, pub mAttachedStack: root::nsBindingList, @@ -23353,6 +23283,8 @@ pub mod root { pub mDocumentNodeInfo: *mut root::mozilla::dom::NodeInfo, pub mBindingManager: root::RefPtr, pub mRecentlyUsedNodeInfos: [*mut root::mozilla::dom::NodeInfo; 31usize], + pub mSVGEnabled: root::nsNodeInfoManager_Tri, + pub mMathMLEnabled: root::nsNodeInfoManager_Tri, } #[repr(C)] #[derive(Debug, Copy)] @@ -23374,6 +23306,13 @@ pub mod root { fn clone(&self) -> Self { *self } } pub type nsNodeInfoManager_HasThreadSafeRefCnt = root::mozilla::FalseType; + #[repr(u32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum nsNodeInfoManager_Tri { + eTriUnset = 0, + eTriFalse = 1, + eTriTrue = 2, + } extern "C" { #[link_name = "_ZN17nsNodeInfoManager21_cycleCollectorGlobalE"] pub static mut nsNodeInfoManager__cycleCollectorGlobal: @@ -23381,7 +23320,7 @@ pub mod root { } #[test] fn bindgen_test_layout_nsNodeInfoManager() { - assert_eq!(::std::mem::size_of::() , 336usize , + assert_eq!(::std::mem::size_of::() , 344usize , concat ! ( "Size of: " , stringify ! ( nsNodeInfoManager ) )); assert_eq! (::std::mem::align_of::() , 8usize , @@ -23454,6 +23393,17 @@ pub mod root { concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mRecentlyUsedNodeInfos ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mSVGEnabled + as * const _ as usize } , 336usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mSVGEnabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mMathMLEnabled as * const _ as usize } , 340usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mMathMLEnabled ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -23688,7 +23638,7 @@ pub mod root { pub _base_1: root::nsWrapperCache, pub mRefCnt: root::nsCycleCollectingAutoRefCnt, pub _mOwningThread: root::nsAutoOwningThread, - pub mContent: root::nsCOMPtr, + pub mContent: root::nsCOMPtr, /// Cache of Attrs. pub mAttributeCache: root::nsDOMAttributeMap_AttrCache, } @@ -25067,57 +25017,57 @@ pub mod root { pub struct nsRange { _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_72 = + _bindgen_ty_72::NODE_HAS_LISTENERMANAGER; + pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_PROPERTIES; + pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_ANONYMOUS_ROOT; + pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; + pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_NATIVE_ANONYMOUS_ROOT; + pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_FORCE_XBL_BINDINGS; + pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_MAY_BE_IN_BINDING_MNGR; + pub const NODE_IS_EDITABLE: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_EDITABLE; + pub const NODE_IS_NATIVE_ANONYMOUS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_NATIVE_ANONYMOUS; + pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_IN_SHADOW_TREE; + pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_EMPTY_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_SLOW_SELECTOR; + pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_EDGE_CHILD_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; + pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_ALL_SELECTOR_FLAGS; + pub const NODE_NEEDS_FRAME: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_NEEDS_FRAME; + pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_DESCENDANTS_NEED_FRAMES; + pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_ACCESSKEY; + pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_DIRECTION_RTL; + pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_DIRECTION_LTR; + pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_ALL_DIRECTION_FLAGS; + pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_CHROME_ONLY_ACCESS; + pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; + pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_77 { + pub enum _bindgen_ty_72 { NODE_HAS_LISTENERMANAGER = 4, NODE_HAS_PROPERTIES = 8, NODE_IS_ANONYMOUS_ROOT = 16, @@ -25290,7 +25240,7 @@ pub mod root { pub struct nsFrameManagerBase { pub mPresShell: *mut root::nsIPresShell, pub mRootFrame: *mut root::nsIFrame, - pub mUndisplayedMap: *mut root::nsFrameManagerBase_UndisplayedMap, + pub mDisplayNoneMap: *mut root::nsFrameManagerBase_UndisplayedMap, pub mDisplayContentsMap: *mut root::nsFrameManagerBase_UndisplayedMap, pub mIsDestroyingFrames: bool, } @@ -25319,10 +25269,10 @@ pub mod root { ) , "::" , stringify ! ( mRootFrame ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . - mUndisplayedMap as * const _ as usize } , 16usize , concat + mDisplayNoneMap as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase - ) , "::" , stringify ! ( mUndisplayedMap ) )); + ) , "::" , stringify ! ( mDisplayNoneMap ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mDisplayContentsMap as * const _ as usize } , 24usize , @@ -28843,7 +28793,7 @@ pub mod root { pub mRefCnt: root::nsAutoRefCnt, pub _mOwningThread: root::nsAutoOwningThread, pub mBehaviour: root::mozilla::UniquePtr, - pub mURI: root::RefPtr, + pub mURI: root::RefPtr, pub mListener: *mut root::imgINotificationObserver, pub mLoadGroup: root::nsCOMPtr, pub mTabGroup: root::RefPtr, @@ -32022,7 +31972,7 @@ pub mod root { pub type RawGeckoPropertyValuePairList = root::nsTArray; pub type RawGeckoComputedKeyframeValuesList = - root::nsTArray; + root::nsTArray>; pub type RawGeckoStyleAnimationList = root::nsStyleAutoArray; pub type RawGeckoFontFaceRuleList = @@ -32695,46 +32645,46 @@ pub mod root { assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( nsISMILAttr ) )); } - 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_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_SHARED_RESTYLE_BIT_3: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_SHARED_RESTYLE_BIT_4: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_74 = + _bindgen_ty_74::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_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_SNAPSHOT: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_HANDLED_SNAPSHOT: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_PENDING_RESTYLE: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE: root::_bindgen_ty_74 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_3; + _bindgen_ty_74::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_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR; + pub const ELEMENT_PENDING_RESTYLE_FLAGS: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_PENDING_RESTYLE_FLAGS; + pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS; + pub const ELEMENT_ALL_RESTYLE_FLAGS: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_ALL_RESTYLE_FLAGS; + pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_79 { + pub enum _bindgen_ty_74 { ELEMENT_SHARED_RESTYLE_BIT_1 = 8388608, ELEMENT_SHARED_RESTYLE_BIT_2 = 16777216, ELEMENT_SHARED_RESTYLE_BIT_3 = 33554432, @@ -33331,7 +33281,7 @@ pub mod root { "::" , stringify ! ( mArray ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_open0_nsStringRepr_char_type_close0_instantiation() { + fn __bindgen_test_layout_nsCharTraits_open0_char16_t_close0_instantiation() { assert_eq!(::std::mem::size_of::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33342,33 +33292,29 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_open0_nsStringRepr_char_type_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() - , 24usize , concat ! ( + fn __bindgen_test_layout_nsReadingIterator_open0_char16_t_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , + 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsReadingIterator - ) )); - assert_eq!(::std::mem::align_of::>() - , 8usize , concat ! ( + root::nsReadingIterator ) )); + assert_eq!(::std::mem::align_of::>() , + 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsReadingIterator - ) )); + root::nsReadingIterator ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_open0_nsStringRepr_char_type_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() - , 24usize , concat ! ( + fn __bindgen_test_layout_nsWritingIterator_open0_char16_t_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , + 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsWritingIterator - ) )); - assert_eq!(::std::mem::align_of::>() - , 8usize , concat ! ( + root::nsWritingIterator ) )); + assert_eq!(::std::mem::align_of::>() , + 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsWritingIterator - ) )); + root::nsWritingIterator ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_open0_nsCStringRepr_char_type_close0_instantiation() { + fn __bindgen_test_layout_nsCharTraits_open0_char_close0_instantiation() { assert_eq!(::std::mem::size_of::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33379,33 +33325,29 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_open0_nsCStringRepr_char_type_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsReadingIterator_open0_char_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsReadingIterator - ) )); - assert_eq!(::std::mem::align_of::>() + root::nsReadingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsReadingIterator - ) )); + root::nsReadingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_open0_nsCStringRepr_char_type_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsWritingIterator_open0_char_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsWritingIterator - ) )); - assert_eq!(::std::mem::align_of::>() + root::nsWritingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsWritingIterator - ) )); + root::nsWritingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_open0_nsSubstringTuple_char_type_close0_instantiation() { + fn __bindgen_test_layout_nsCharTraits_open0_char16_t_close0_instantiation_1() { assert_eq!(::std::mem::size_of::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33416,7 +33358,7 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_open0_nsCSubstringTuple_char_type_close0_instantiation() { + fn __bindgen_test_layout_nsCharTraits_open0_char_close0_instantiation_1() { assert_eq!(::std::mem::size_of::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33517,26 +33459,26 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_open0_unsigned_int_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_1() { - assert_eq!(::std::mem::size_of::>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_open0_unsigned_int_close0_instantiation_1() { + assert_eq!(::std::mem::size_of::>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeatureValueSet_ValueList_close0_instantiation() { @@ -33552,26 +33494,26 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_2() { - assert_eq!(::std::mem::size_of::>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_open0_unsigned_int_close0_instantiation_2() { + assert_eq!(::std::mem::size_of::>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_3() { - assert_eq!(::std::mem::size_of::>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_open0_unsigned_int_close0_instantiation_3() { + assert_eq!(::std::mem::size_of::>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] fn __bindgen_test_layout_nsTArray_open0_gfxAlternateValue_close0_instantiation() { @@ -33607,18 +33549,18 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsTArray_open0_FontVariation_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() + root::nsTArray ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_201937_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_200535_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33941,6 +33883,17 @@ pub mod root { root::RefPtr ) )); } #[test] + fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_1() { + assert_eq!(::std::mem::size_of::>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr ) )); + assert_eq!(::std::mem::align_of::>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr ) )); + } + #[test] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_1() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( @@ -33963,7 +33916,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_203731_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_202352_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34124,7 +34077,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long__bindgen_ty_id_209318__bindgen_ty_id_209325_close0_instantiation() { + fn __bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long__bindgen_ty_id_207967__bindgen_ty_id_207974_close0_instantiation() { assert_eq!(::std::mem::size_of::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34350,15 +34303,15 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_211794_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210452_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); - assert_eq!(::std::mem::align_of::>() + root::nsTArray<*mut root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::>() , 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_nsTArray_open0_RefPtr_open1_Element_close1_close0_instantiation() { @@ -34418,15 +34371,15 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_212096_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210754_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); - assert_eq!(::std::mem::align_of::>() + root::nsTArray<*mut root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::>() , 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_nsTArray_open0_RefPtr_open1_Element_close1_close0_instantiation_1() { @@ -34530,16 +34483,16 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_NotNull_open0__bindgen_ty_id_212638_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_NotNull_open0__bindgen_ty_id_211296_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 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::>() + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsIDocument_Encoding> ) + root::mozilla::NotNull<*const root::mozilla::Encoding> ) )); } #[test] @@ -34741,15 +34694,28 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_nsWeakPtr_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() , - 8usize , concat ! ( + fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIWeakReference_close1_close0_instantiation() { + assert_eq!(::std::mem::size_of::>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() , - 8usize , concat ! ( + root::nsTArray> ) + )); + assert_eq!(::std::mem::align_of::>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray> ) + )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); } #[test] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocumentEncoder_close0_instantiation() { @@ -34899,7 +34865,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213050_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_211711_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34989,7 +34955,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213449_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_212110_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35090,7 +35056,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_214420_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213079_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35121,17 +35087,13 @@ pub mod root { root::nsRefPtrHashKey ) )); } #[test] - fn __bindgen_test_layout_nsAutoPtr_open0_nsBindingManager_WrapperHashtable_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::nsAutoPtr ) + fn __bindgen_test_layout_nsAutoPtr_open0_nsInterfaceHashtable_open1_nsISupportsHashKey_nsIXPConnectWrappedJS_close1_close0_instantiation() { + assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) )); - assert_eq!(::std::mem::align_of::>() - , 8usize , concat ! ( + assert_eq!(::std::mem::align_of::() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsAutoPtr ) - )); + u64 ) )); } #[test] fn __bindgen_test_layout_nsAutoPtr_open0_nsRefPtrHashtable_open1_nsURIHashKey_nsXBLDocumentInfo_close1_close0_instantiation() { @@ -35183,7 +35145,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_214722_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213384_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35194,7 +35156,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_214727_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213389_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35251,7 +35213,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_215218_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213880_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35629,15 +35591,15 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_open0_nsDOMAttributeMap_Element_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsCOMPtr_open0_Element_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsCOMPtr ) )); - assert_eq!(::std::mem::align_of::>() + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsCOMPtr ) )); + root::nsCOMPtr ) )); } #[test] fn __bindgen_test_layout_nsTArray_open0_RefPtr_open1_StyleSheet_close1_close0_instantiation_3() { @@ -35888,7 +35850,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation() { + fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation_1() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35899,7 +35861,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_218077_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_216741_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35978,7 +35940,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_224369_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_223003_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36011,7 +35973,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_225530_close0_instantiation() { + fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_224164_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36022,7 +35984,7 @@ pub mod root { root::JS::Heap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_225534_close0_instantiation() { + fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_224168_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36044,7 +36006,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_TenuredHeap_open0__bindgen_ty_id_225541_close0_instantiation() { + fn __bindgen_test_layout_TenuredHeap_open0__bindgen_ty_id_224175_close0_instantiation() { assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36123,7 +36085,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_226720_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_225348_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36318,7 +36280,7 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_228168_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_226796_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36423,7 +36385,7 @@ pub mod root { root::nsRefPtrHashKey ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_230585_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_229219_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36568,15 +36530,15 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_ImageURL_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_RefPtr_open0_ImageURL_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::RefPtr ) )); - assert_eq!(::std::mem::align_of::>() + root::RefPtr ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::RefPtr ) )); + root::RefPtr ) )); } #[test] fn __bindgen_test_layout_nsCOMPtr_open0_nsILoadGroup_close0_instantiation() { @@ -37124,7 +37086,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_233132_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_231772_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37361,7 +37323,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_240831_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_239580_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37372,7 +37334,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_240836_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_239585_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37460,7 +37422,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_240949_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_239698_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37747,7 +37709,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_242540_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_241284_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37769,7 +37731,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_242700_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_241446_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37780,7 +37742,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_242705_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_241451_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37901,18 +37863,18 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation_1() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsTArray_open0_FontVariation_close0_instantiation_1() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() + root::nsTArray ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_244775_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_243535_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37923,7 +37885,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_244783_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_243543_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 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 624e6379c4c..cff8d2f55e2 100644 --- a/components/style/gecko/generated/structs_release.rs +++ b/components/style/gecko/generated/structs_release.rs @@ -1145,9 +1145,8 @@ pub mod root { root::nsSubstringTuple; pub type nsStringRepr_string_type = ::nsstring::nsStringRepr; pub type nsStringRepr_const_iterator = - root::nsReadingIterator; - pub type nsStringRepr_iterator = - root::nsWritingIterator; + root::nsReadingIterator; + pub type nsStringRepr_iterator = root::nsWritingIterator; pub type nsStringRepr_comparator_type = root::nsStringComparator; pub type nsStringRepr_char_iterator = *mut root::mozilla::detail::nsStringRepr_char_type; @@ -1214,9 +1213,9 @@ pub mod root { root::nsCSubstringTuple; pub type nsCStringRepr_string_type = root::nsCString; pub type nsCStringRepr_const_iterator = - root::nsReadingIterator; + root::nsReadingIterator<::std::os::raw::c_char>; pub type nsCStringRepr_iterator = - root::nsWritingIterator; + root::nsWritingIterator<::std::os::raw::c_char>; pub type nsCStringRepr_comparator_type = root::nsCStringComparator; pub type nsCStringRepr_char_iterator = @@ -4815,7 +4814,7 @@ pub mod root { pub const ServoTraversalFlags_ForCSSRuleChanges: root::mozilla::ServoTraversalFlags = 2; - pub const ServoTraversalFlags_UnstyledChildrenOnly: + pub const ServoTraversalFlags_UnstyledOnly: root::mozilla::ServoTraversalFlags = 4; pub const ServoTraversalFlags_Forgetful: @@ -4830,6 +4829,9 @@ pub mod root { pub const ServoTraversalFlags_ClearAnimationOnlyDirtyDescendants: root::mozilla::ServoTraversalFlags = 64; + pub const ServoTraversalFlags_ParallelTraversal: + root::mozilla::ServoTraversalFlags = + 128; pub type ServoTraversalFlags = u32; #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -4882,10 +4884,11 @@ pub mod root { pub mPresContext: *mut root::nsPresContext, pub mSource: root::ServoComputedData, pub mNextInheritingAnonBoxStyle: root::RefPtr, + pub mNextLazyPseudoStyle: root::RefPtr, } #[test] fn bindgen_test_layout_ServoStyleContext() { - assert_eq!(::std::mem::size_of::() , 256usize , + assert_eq!(::std::mem::size_of::() , 264usize , concat ! ( "Size of: " , stringify ! ( ServoStyleContext ) )); assert_eq! (::std::mem::align_of::() , 8usize , @@ -4912,6 +4915,13 @@ pub mod root { "Alignment of field: " , stringify ! ( ServoStyleContext ) , "::" , stringify ! ( mNextInheritingAnonBoxStyle ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const ServoStyleContext ) ) . + mNextLazyPseudoStyle as * const _ as usize } , + 256usize , concat ! ( + "Alignment of field: " , stringify ! ( + ServoStyleContext ) , "::" , stringify ! ( + mNextLazyPseudoStyle ) )); } #[repr(C)] #[derive(Debug)] @@ -6118,7 +6128,6 @@ pub mod root { assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( Runnable ) )); } - pub type Preferences_PrefSetting = root::mozilla::dom::PrefSetting; #[repr(C)] #[derive(Debug)] pub struct CycleCollectedJSContext_RunInMetastableStateData { @@ -8125,8 +8134,6 @@ pub mod root { PropertyStyleAnimationValuePair ) , "::" , stringify ! ( mValue ) )); } - pub type ComputedKeyframeValues = - root::nsTArray; #[test] fn __bindgen_test_layout_DefaultDelete_open0_RawServoStyleSet_close0_instantiation() { assert_eq!(::std::mem::size_of::() , @@ -8635,6 +8642,15 @@ pub mod root { impl Clone for NonOwningAnimationTarget { fn clone(&self) -> Self { *self } } + pub mod wr { + #[allow(unused_imports)] + use self::super::super::super::root; + #[repr(C)] + #[derive(Debug, Copy, Clone)] + pub struct WrComplexClipRegion { + _unused: [u8; 0], + } + } #[repr(C)] #[derive(Debug, Copy)] pub struct DisplayItemClip_RoundedRect { @@ -11235,11 +11251,6 @@ pub mod root { AutoSetAsyncStackForNewCalls ) , "::" , stringify ! ( oldAsyncCallIsExplicit ) )); } - pub type WarningReporter = - ::std::option::Option; #[repr(C)] #[derive(Debug)] pub struct AutoHideScriptedCaller { @@ -11337,140 +11348,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)] - #[derive(Debug)] - pub struct JSErrorReport { - pub _base: root::JSErrorBase, - pub linebuf_: *const u16, - pub linebufLength_: usize, - pub tokenOffset_: usize, - pub notes: root::mozilla::UniquePtr, - 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::() , 72usize , concat ! - ( "Size of: " , stringify ! ( JSErrorReport ) )); - assert_eq! (::std::mem::align_of::() , 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::()) - }; - 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::()) - }; - 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::()); - } - } - #[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::()) - }; - 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::()) - }; - 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::()); - } - } - #[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)) - } - } /// Factors implementation for all template versions of nsCOMPtr. /// /// Here's the way people normally do things like this: @@ -12195,7 +12072,7 @@ pub mod root { #[derive(Debug)] pub struct gfxFontFeatureValueSet_ValueList { pub name: ::nsstring::nsStringRepr, - pub featureSelectors: root::nsTArray, + pub featureSelectors: root::nsTArray<::std::os::raw::c_uint>, } #[test] fn bindgen_test_layout_gfxFontFeatureValueSet_ValueList() { @@ -12300,7 +12177,7 @@ pub mod root { pub struct gfxFontFeatureValueSet_FeatureValueHashEntry { pub _base: root::PLDHashEntryHdr, pub mKey: root::gfxFontFeatureValueSet_FeatureValueHashKey, - pub mValues: root::nsTArray, + pub mValues: root::nsTArray<::std::os::raw::c_uint>, } pub type gfxFontFeatureValueSet_FeatureValueHashEntry_KeyType = *const root::gfxFontFeatureValueSet_FeatureValueHashKey; @@ -12398,7 +12275,7 @@ pub mod root { pub alternateValues: root::nsTArray, pub featureValueLookup: root::RefPtr, pub fontFeatureSettings: root::nsTArray, - pub fontVariationSettings: root::nsTArray, + pub fontVariationSettings: root::nsTArray, pub languageOverride: u32, } #[test] @@ -16741,7 +16618,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, @@ -16790,7 +16667,7 @@ pub mod root { /// The current frame request callback handle pub mFrameRequestCallbackCounter: i32, pub mStaticCloneCount: u32, - pub mBlockedTrackingNodes: root::nsTArray, + pub mBlockedTrackingNodes: root::nsTArray, pub mWindow: *mut root::nsPIDOMWindowInner, pub mCachedEncoder: root::nsCOMPtr, pub mFrameRequestCallbacks: root::nsTArray, @@ -18936,7 +18813,7 @@ pub mod root { } } #[inline] - pub fn mIsScopedStyleEnabled(&self) -> ::std::os::raw::c_uint { + pub fn mDidCallBeginLoad(&self) -> bool { let mut unit_field_val: u64 = unsafe { ::std::mem::uninitialized() }; unsafe { @@ -18946,15 +18823,14 @@ pub mod root { *mut u64 as *mut u8, ::std::mem::size_of::()) }; - let mask = 844424930131968u64 as u64; + let mask = 281474976710656u64 as u64; let val = (unit_field_val & mask) >> 48usize; - unsafe { ::std::mem::transmute(val as u32) } + unsafe { ::std::mem::transmute(val as u8) } } #[inline] - pub fn set_mIsScopedStyleEnabled(&mut self, - val: ::std::os::raw::c_uint) { - let mask = 844424930131968u64 as u64; - let val = val as u32 as u64; + pub fn set_mDidCallBeginLoad(&mut self, val: bool) { + let mask = 281474976710656u64 as u64; + let val = val as u8 as u64; let mut unit_field_val: u64 = unsafe { ::std::mem::uninitialized() }; unsafe { @@ -18975,6 +18851,45 @@ pub mod root { } } #[inline] + pub fn mIsScopedStyleEnabled(&self) -> ::std::os::raw::c_uint { + let mut unit_field_val: u64 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as + *mut u64 as *mut u8, + ::std::mem::size_of::()) + }; + let mask = 1688849860263936u64 as u64; + let val = (unit_field_val & mask) >> 49usize; + unsafe { ::std::mem::transmute(val as u32) } + } + #[inline] + pub fn set_mIsScopedStyleEnabled(&mut self, + val: ::std::os::raw::c_uint) { + let mask = 1688849860263936u64 as u64; + let val = val as u32 as u64; + let mut unit_field_val: u64 = + unsafe { ::std::mem::uninitialized() }; + unsafe { + ::std::ptr::copy_nonoverlapping(&self._bitfield_1 as *const _ + as *const u8, + &mut unit_field_val as + *mut u64 as *mut u8, + ::std::mem::size_of::()) + }; + unit_field_val &= !mask; + unit_field_val |= (val << 49usize) & 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::()); + } + } + #[inline] pub fn new_bitfield_1(mBidiEnabled: bool, mMathMLEnabled: bool, mIsInitialDocumentInWindow: bool, mIgnoreDocGroupMismatches: bool, @@ -19018,6 +18933,7 @@ pub mod root { mIsTopLevelContentDocument: bool, mIsContentDocument: bool, mMightHaveStaleServoData: bool, + mDidCallBeginLoad: bool, mIsScopedStyleEnabled: ::std::os::raw::c_uint) -> u64 { ({ @@ -19069,554 +18985,568 @@ pub mod root { ({ ({ ({ - 0 + ({ + 0 + } + | + ((mBidiEnabled + as + u8 + as + u64) + << + 0usize) + & + (1u64 + as + u64)) } | - ((mBidiEnabled + ((mMathMLEnabled as u8 as u64) << - 0usize) + 1usize) & - (1u64 + (2u64 as u64)) } | - ((mMathMLEnabled + ((mIsInitialDocumentInWindow as u8 as u64) << - 1usize) + 2usize) & - (2u64 + (4u64 as u64)) } | - ((mIsInitialDocumentInWindow + ((mIgnoreDocGroupMismatches as u8 as u64) << - 2usize) + 3usize) & - (4u64 + (8u64 as u64)) } | - ((mIgnoreDocGroupMismatches + ((mLoadedAsData as u8 as u64) << - 3usize) + 4usize) & - (8u64 + (16u64 as u64)) } | - ((mLoadedAsData + ((mLoadedAsInteractiveData as u8 as u64) << - 4usize) + 5usize) & - (16u64 + (32u64 as u64)) } | - ((mLoadedAsInteractiveData + ((mMayStartLayout as u8 as u64) << - 5usize) + 6usize) & - (32u64 + (64u64 as u64)) } | - ((mMayStartLayout + ((mHaveFiredTitleChange as u8 as u64) << - 6usize) + 7usize) & - (64u64 + (128u64 as u64)) } | - ((mHaveFiredTitleChange + ((mIsShowing as u8 as u64) << - 7usize) + 8usize) & - (128u64 + (256u64 as u64)) } | - ((mIsShowing + ((mVisible as u8 as u64) << - 8usize) + 9usize) & - (256u64 + (512u64 as u64)) } | - ((mVisible + ((mHasReferrerPolicyCSP as u8 as u64) << - 9usize) + 10usize) & - (512u64 + (1024u64 as u64)) } | - ((mHasReferrerPolicyCSP + ((mRemovedFromDocShell as u8 as u64) << - 10usize) + 11usize) & - (1024u64 + (2048u64 as u64)) } | - ((mRemovedFromDocShell + ((mAllowDNSPrefetch as u8 as u64) << - 11usize) + 12usize) & - (2048u64 + (4096u64 as u64)) } | - ((mAllowDNSPrefetch + ((mIsStaticDocument as u8 as u64) << - 12usize) + 13usize) & - (4096u64 + (8192u64 as u64)) } | - ((mIsStaticDocument + ((mCreatingStaticClone as u8 as u64) << - 13usize) + 14usize) & - (8192u64 + (16384u64 as u64)) } | - ((mCreatingStaticClone + ((mInUnlinkOrDeletion as u8 as u64) << - 14usize) + 15usize) & - (16384u64 + (32768u64 as u64)) } | - ((mInUnlinkOrDeletion + ((mHasHadScriptHandlingObject as u8 as u64) << - 15usize) + 16usize) & - (32768u64 + (65536u64 as u64)) } | - ((mHasHadScriptHandlingObject + ((mIsBeingUsedAsImage as u8 as u64) << - 16usize) + 17usize) & - (65536u64 + (131072u64 as u64)) } | - ((mIsBeingUsedAsImage + ((mIsSyntheticDocument as u8 as u64) << - 17usize) + 18usize) & - (131072u64 + (262144u64 as u64)) } | - ((mIsSyntheticDocument + ((mHasLinksToUpdate as u8 as u64) << - 18usize) + 19usize) & - (262144u64 + (524288u64 as u64)) } | - ((mHasLinksToUpdate + ((mHasLinksToUpdateRunnable as u8 as u64) << - 19usize) + 20usize) & - (524288u64 + (1048576u64 as u64)) } | - ((mHasLinksToUpdateRunnable + ((mMayHaveDOMMutationObservers as u8 as u64) << - 20usize) + 21usize) & - (1048576u64 + (2097152u64 as u64)) } | - ((mMayHaveDOMMutationObservers + ((mMayHaveAnimationObservers as u8 as u64) << - 21usize) + 22usize) & - (2097152u64 + (4194304u64 as u64)) } | - ((mMayHaveAnimationObservers + ((mHasMixedActiveContentLoaded as u8 as u64) << - 22usize) + 23usize) & - (4194304u64 + (8388608u64 as u64)) } | - ((mHasMixedActiveContentLoaded + ((mHasMixedActiveContentBlocked as u8 as u64) << - 23usize) + 24usize) & - (8388608u64 + (16777216u64 as u64)) } | - ((mHasMixedActiveContentBlocked + ((mHasMixedDisplayContentLoaded as u8 as u64) << - 24usize) + 25usize) & - (16777216u64 + (33554432u64 as u64)) } | - ((mHasMixedDisplayContentLoaded + ((mHasMixedDisplayContentBlocked as u8 as u64) << - 25usize) + 26usize) & - (33554432u64 + (67108864u64 as u64)) } | - ((mHasMixedDisplayContentBlocked + ((mHasMixedContentObjectSubrequest as u8 as u64) << - 26usize) + 27usize) & - (67108864u64 + (134217728u64 as u64)) } | - ((mHasMixedContentObjectSubrequest + ((mHasCSP as u8 as u64) << - 27usize) + 28usize) & - (134217728u64 + (268435456u64 as u64)) } | - ((mHasCSP + ((mHasUnsafeEvalCSP as u8 as u64) << - 28usize) + 29usize) & - (268435456u64 + (536870912u64 as u64)) } | - ((mHasUnsafeEvalCSP + ((mHasUnsafeInlineCSP as u8 as u64) << - 29usize) + 30usize) & - (536870912u64 + (1073741824u64 as u64)) } | - ((mHasUnsafeInlineCSP + ((mHasTrackingContentBlocked as u8 as u64) << - 30usize) + 31usize) & - (1073741824u64 + (2147483648u64 as u64)) } | - ((mHasTrackingContentBlocked + ((mHasTrackingContentLoaded as u8 as u64) << - 31usize) + 32usize) & - (2147483648u64 + (4294967296u64 as u64)) } | - ((mHasTrackingContentLoaded + ((mBFCacheDisallowed as u8 as u64) << - 32usize) + 33usize) & - (4294967296u64 + (8589934592u64 as u64)) } | - ((mBFCacheDisallowed + ((mHasHadDefaultView as u8 as u64) << - 33usize) + 34usize) & - (8589934592u64 + (17179869184u64 as u64)) } | - ((mHasHadDefaultView + ((mStyleSheetChangeEventsEnabled as u8 as u64) << - 34usize) + 35usize) & - (17179869184u64 + (34359738368u64 as u64)) } | - ((mStyleSheetChangeEventsEnabled + ((mIsSrcdocDocument as u8 as u64) << - 35usize) + 36usize) & - (34359738368u64 + (68719476736u64 as u64)) } | - ((mIsSrcdocDocument + ((mDidDocumentOpen as u8 as u64) << - 36usize) + 37usize) & - (68719476736u64 + (137438953472u64 as u64)) } | - ((mDidDocumentOpen + ((mHasDisplayDocument as u8 as u64) << - 37usize) + 38usize) & - (137438953472u64 + (274877906944u64 as u64)) } | - ((mHasDisplayDocument + ((mFontFaceSetDirty as u8 as u64) << - 38usize) + 39usize) & - (274877906944u64 + (549755813888u64 as u64)) } | - ((mFontFaceSetDirty + ((mGetUserFontSetCalled as u8 as u64) << - 39usize) & - (549755813888u64 + 40usize) & + (1099511627776u64 as u64)) } | - ((mGetUserFontSetCalled + ((mPostedFlushUserFontSet as u8 as u64) - << 40usize) & - (1099511627776u64 + << 41usize) & + (2199023255552u64 as u64)) } | - ((mPostedFlushUserFontSet + ((mDidFireDOMContentLoaded as u8 as u64) << - 41usize) & - (2199023255552u64 as + 42usize) & + (4398046511104u64 as u64)) } | - ((mDidFireDOMContentLoaded as - u8 as u64) << 42usize) & - (4398046511104u64 as u64)) + ((mHasScrollLinkedEffect as u8 + as u64) << 43usize) & + (8796093022208u64 as u64)) } | - ((mHasScrollLinkedEffect as u8 as - u64) << 43usize) & - (8796093022208u64 as u64)) + ((mFrameRequestCallbacksScheduled as + u8 as u64) << 44usize) & + (17592186044416u64 as u64)) } | - ((mFrameRequestCallbacksScheduled as u8 - as u64) << 44usize) & - (17592186044416u64 as u64)) + ((mIsTopLevelContentDocument as u8 as + u64) << 45usize) & + (35184372088832u64 as u64)) } | - ((mIsTopLevelContentDocument as u8 as u64) << - 45usize) & (35184372088832u64 as u64)) + ((mIsContentDocument as u8 as u64) << 46usize) + & (70368744177664u64 as u64)) } | - ((mIsContentDocument as u8 as u64) << 46usize) & - (70368744177664u64 as u64)) + ((mMightHaveStaleServoData as u8 as u64) << + 47usize) & (140737488355328u64 as u64)) } | - ((mMightHaveStaleServoData as u8 as u64) << 47usize) & - (140737488355328u64 as u64)) + ((mDidCallBeginLoad as u8 as u64) << 48usize) & + (281474976710656u64 as u64)) } | - ((mIsScopedStyleEnabled as u32 as u64) << 48usize) & - (844424930131968u64 as u64)) + ((mIsScopedStyleEnabled as u32 as u64) << 49usize) & + (1688849860263936u64 as u64)) } } #[repr(C)] @@ -19630,7 +19560,7 @@ pub mod root { pub _base: root::nsStubMutationObserver, pub mRefCnt: root::nsCycleCollectingAutoRefCnt, pub mBoundContentSet: u64, - pub mWrapperTable: root::nsAutoPtr, + pub mWrapperTable: u64, pub mDocumentTable: u64, pub mLoadingDocTable: u64, pub mAttachedStack: root::nsBindingList, @@ -22984,6 +22914,8 @@ pub mod root { pub mDocumentNodeInfo: *mut root::mozilla::dom::NodeInfo, pub mBindingManager: root::RefPtr, pub mRecentlyUsedNodeInfos: [*mut root::mozilla::dom::NodeInfo; 31usize], + pub mSVGEnabled: root::nsNodeInfoManager_Tri, + pub mMathMLEnabled: root::nsNodeInfoManager_Tri, } #[repr(C)] #[derive(Debug, Copy)] @@ -23005,6 +22937,13 @@ pub mod root { fn clone(&self) -> Self { *self } } pub type nsNodeInfoManager_HasThreadSafeRefCnt = root::mozilla::FalseType; + #[repr(u32)] + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] + pub enum nsNodeInfoManager_Tri { + eTriUnset = 0, + eTriFalse = 1, + eTriTrue = 2, + } extern "C" { #[link_name = "_ZN17nsNodeInfoManager21_cycleCollectorGlobalE"] pub static mut nsNodeInfoManager__cycleCollectorGlobal: @@ -23012,7 +22951,7 @@ pub mod root { } #[test] fn bindgen_test_layout_nsNodeInfoManager() { - assert_eq!(::std::mem::size_of::() , 328usize , + assert_eq!(::std::mem::size_of::() , 336usize , concat ! ( "Size of: " , stringify ! ( nsNodeInfoManager ) )); assert_eq! (::std::mem::align_of::() , 8usize , @@ -23079,6 +23018,17 @@ pub mod root { concat ! ( "Alignment of field: " , stringify ! ( nsNodeInfoManager ) , "::" , stringify ! ( mRecentlyUsedNodeInfos ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . mSVGEnabled + as * const _ as usize } , 328usize , concat ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mSVGEnabled ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsNodeInfoManager ) ) . + mMathMLEnabled as * const _ as usize } , 332usize , concat + ! ( + "Alignment of field: " , stringify ! ( nsNodeInfoManager ) + , "::" , stringify ! ( mMathMLEnabled ) )); } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -24671,57 +24621,57 @@ pub mod root { pub struct nsRange { _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_72 = + _bindgen_ty_72::NODE_HAS_LISTENERMANAGER; + pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_PROPERTIES; + pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_ANONYMOUS_ROOT; + pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; + pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_NATIVE_ANONYMOUS_ROOT; + pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_FORCE_XBL_BINDINGS; + pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_MAY_BE_IN_BINDING_MNGR; + pub const NODE_IS_EDITABLE: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_EDITABLE; + pub const NODE_IS_NATIVE_ANONYMOUS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_NATIVE_ANONYMOUS; + pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_IN_SHADOW_TREE; + pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_EMPTY_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_SLOW_SELECTOR; + pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_EDGE_CHILD_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; + pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_ALL_SELECTOR_FLAGS; + pub const NODE_NEEDS_FRAME: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_NEEDS_FRAME; + pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_DESCENDANTS_NEED_FRAMES; + pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_ACCESSKEY; + pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_DIRECTION_RTL; + pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_HAS_DIRECTION_LTR; + pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_ALL_DIRECTION_FLAGS; + pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_CHROME_ONLY_ACCESS; + pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; + pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_72 = + _bindgen_ty_72::NODE_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_77 { + pub enum _bindgen_ty_72 { NODE_HAS_LISTENERMANAGER = 4, NODE_HAS_PROPERTIES = 8, NODE_IS_ANONYMOUS_ROOT = 16, @@ -24858,7 +24808,7 @@ pub mod root { pub struct nsFrameManagerBase { pub mPresShell: *mut root::nsIPresShell, pub mRootFrame: *mut root::nsIFrame, - pub mUndisplayedMap: *mut root::nsFrameManagerBase_UndisplayedMap, + pub mDisplayNoneMap: *mut root::nsFrameManagerBase_UndisplayedMap, pub mDisplayContentsMap: *mut root::nsFrameManagerBase_UndisplayedMap, pub mIsDestroyingFrames: bool, } @@ -24887,10 +24837,10 @@ pub mod root { ) , "::" , stringify ! ( mRootFrame ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . - mUndisplayedMap as * const _ as usize } , 16usize , concat + mDisplayNoneMap as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( nsFrameManagerBase - ) , "::" , stringify ! ( mUndisplayedMap ) )); + ) , "::" , stringify ! ( mDisplayNoneMap ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsFrameManagerBase ) ) . mDisplayContentsMap as * const _ as usize } , 24usize , @@ -28410,7 +28360,7 @@ pub mod root { pub _base_4: root::nsITimedChannel, pub mRefCnt: root::nsAutoRefCnt, pub mBehaviour: root::mozilla::UniquePtr, - pub mURI: root::RefPtr, + pub mURI: root::RefPtr, pub mListener: *mut root::imgINotificationObserver, pub mLoadGroup: root::nsCOMPtr, pub mTabGroup: root::RefPtr, @@ -31530,7 +31480,7 @@ pub mod root { pub type RawGeckoPropertyValuePairList = root::nsTArray; pub type RawGeckoComputedKeyframeValuesList = - root::nsTArray; + root::nsTArray>; pub type RawGeckoStyleAnimationList = root::nsStyleAutoArray; pub type RawGeckoFontFaceRuleList = @@ -32203,46 +32153,46 @@ pub mod root { assert_eq! (::std::mem::align_of::() , 8usize , concat ! ( "Alignment of " , stringify ! ( nsISMILAttr ) )); } - 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_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_SHARED_RESTYLE_BIT_3: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_SHARED_RESTYLE_BIT_4: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_74 = + _bindgen_ty_74::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_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_SNAPSHOT: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_HANDLED_SNAPSHOT: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_PENDING_RESTYLE: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE: root::_bindgen_ty_74 = - _bindgen_ty_79::ELEMENT_SHARED_RESTYLE_BIT_3; + _bindgen_ty_74::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_74 = + _bindgen_ty_74::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR; + pub const ELEMENT_PENDING_RESTYLE_FLAGS: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_PENDING_RESTYLE_FLAGS; + pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS; + pub const ELEMENT_ALL_RESTYLE_FLAGS: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_ALL_RESTYLE_FLAGS; + pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_74 = + _bindgen_ty_74::ELEMENT_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_79 { + pub enum _bindgen_ty_74 { ELEMENT_SHARED_RESTYLE_BIT_1 = 8388608, ELEMENT_SHARED_RESTYLE_BIT_2 = 16777216, ELEMENT_SHARED_RESTYLE_BIT_3 = 33554432, @@ -32839,7 +32789,7 @@ pub mod root { "::" , stringify ! ( mArray ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_open0_nsStringRepr_char_type_close0_instantiation() { + fn __bindgen_test_layout_nsCharTraits_open0_char16_t_close0_instantiation() { assert_eq!(::std::mem::size_of::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32850,33 +32800,29 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_open0_nsStringRepr_char_type_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() - , 24usize , concat ! ( + fn __bindgen_test_layout_nsReadingIterator_open0_char16_t_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , + 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsReadingIterator - ) )); - assert_eq!(::std::mem::align_of::>() - , 8usize , concat ! ( + root::nsReadingIterator ) )); + assert_eq!(::std::mem::align_of::>() , + 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsReadingIterator - ) )); + root::nsReadingIterator ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_open0_nsStringRepr_char_type_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() - , 24usize , concat ! ( + fn __bindgen_test_layout_nsWritingIterator_open0_char16_t_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , + 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsWritingIterator - ) )); - assert_eq!(::std::mem::align_of::>() - , 8usize , concat ! ( + root::nsWritingIterator ) )); + assert_eq!(::std::mem::align_of::>() , + 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsWritingIterator - ) )); + root::nsWritingIterator ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_open0_nsCStringRepr_char_type_close0_instantiation() { + fn __bindgen_test_layout_nsCharTraits_open0_char_close0_instantiation() { assert_eq!(::std::mem::size_of::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32887,33 +32833,29 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_open0_nsCStringRepr_char_type_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsReadingIterator_open0_char_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsReadingIterator - ) )); - assert_eq!(::std::mem::align_of::>() + root::nsReadingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsReadingIterator - ) )); + root::nsReadingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_open0_nsCStringRepr_char_type_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsWritingIterator_open0_char_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsWritingIterator - ) )); - assert_eq!(::std::mem::align_of::>() + root::nsWritingIterator<::std::os::raw::c_char> ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsWritingIterator - ) )); + root::nsWritingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_open0_nsSubstringTuple_char_type_close0_instantiation() { + fn __bindgen_test_layout_nsCharTraits_open0_char16_t_close0_instantiation_1() { assert_eq!(::std::mem::size_of::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32924,7 +32866,7 @@ pub mod root { root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_nsCharTraits_open0_nsCSubstringTuple_char_type_close0_instantiation() { + fn __bindgen_test_layout_nsCharTraits_open0_char_close0_instantiation_1() { assert_eq!(::std::mem::size_of::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33025,26 +32967,26 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_open0_unsigned_int_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_1() { - assert_eq!(::std::mem::size_of::>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_open0_unsigned_int_close0_instantiation_1() { + assert_eq!(::std::mem::size_of::>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] fn __bindgen_test_layout_nsTArray_open0_gfxFontFeatureValueSet_ValueList_close0_instantiation() { @@ -33060,26 +33002,26 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_2() { - assert_eq!(::std::mem::size_of::>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_open0_unsigned_int_close0_instantiation_2() { + assert_eq!(::std::mem::size_of::>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_uint32_t_close0_instantiation_3() { - assert_eq!(::std::mem::size_of::>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_open0_unsigned_int_close0_instantiation_3() { + assert_eq!(::std::mem::size_of::>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] fn __bindgen_test_layout_nsTArray_open0_gfxAlternateValue_close0_instantiation() { @@ -33115,18 +33057,18 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsTArray_open0_FontVariation_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() + root::nsTArray ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_199574_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_198168_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33449,6 +33391,17 @@ pub mod root { root::RefPtr ) )); } #[test] + fn __bindgen_test_layout_RefPtr_open0_ServoStyleContext_close0_instantiation_1() { + assert_eq!(::std::mem::size_of::>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr ) )); + assert_eq!(::std::mem::align_of::>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr ) )); + } + #[test] fn __bindgen_test_layout_nsTArray_open0_nsString_close0_instantiation_1() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( @@ -33471,7 +33424,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_201334_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_199951_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33632,7 +33585,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long__bindgen_ty_id_206893__bindgen_ty_id_206900_close0_instantiation() { + fn __bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long__bindgen_ty_id_205538__bindgen_ty_id_205545_close0_instantiation() { assert_eq!(::std::mem::size_of::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33858,15 +33811,15 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_209367_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_208021_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); - assert_eq!(::std::mem::align_of::>() + root::nsTArray<*mut root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::>() , 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_nsTArray_open0_RefPtr_open1_Element_close1_close0_instantiation() { @@ -33926,15 +33879,15 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_209669_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_208323_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray<*mut root::nsIDocument_Element> ) )); - assert_eq!(::std::mem::align_of::>() + root::nsTArray<*mut root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::>() , 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_nsTArray_open0_RefPtr_open1_Element_close1_close0_instantiation_1() { @@ -34038,16 +33991,16 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_NotNull_open0__bindgen_ty_id_210211_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_NotNull_open0__bindgen_ty_id_208865_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 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::>() + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::NotNull<*const root::nsIDocument_Encoding> ) + root::mozilla::NotNull<*const root::mozilla::Encoding> ) )); } #[test] @@ -34249,15 +34202,26 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_nsWeakPtr_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() , + fn __bindgen_test_layout_nsTArray_open0_nsCOMPtr_open1_nsIWeakReference_close1_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() , + root::nsTArray ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation() { + assert_eq!(::std::mem::size_of::() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); } #[test] fn __bindgen_test_layout_nsCOMPtr_open0_nsIDocumentEncoder_close0_instantiation() { @@ -34407,7 +34371,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210621_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_209278_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34497,7 +34461,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_211018_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_209675_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34598,7 +34562,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_211979_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210634_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34629,17 +34593,13 @@ pub mod root { root::nsRefPtrHashKey ) )); } #[test] - fn __bindgen_test_layout_nsAutoPtr_open0_nsBindingManager_WrapperHashtable_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::nsAutoPtr ) + fn __bindgen_test_layout_nsAutoPtr_open0_nsInterfaceHashtable_open1_nsISupportsHashKey_nsIXPConnectWrappedJS_close1_close0_instantiation() { + assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) )); - assert_eq!(::std::mem::align_of::>() - , 8usize , concat ! ( + assert_eq!(::std::mem::align_of::() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsAutoPtr ) - )); + u64 ) )); } #[test] fn __bindgen_test_layout_nsAutoPtr_open0_nsRefPtrHashtable_open1_nsURIHashKey_nsXBLDocumentInfo_close1_close0_instantiation() { @@ -34691,7 +34651,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_212279_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210937_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34702,7 +34662,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_212284_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210942_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34759,7 +34719,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_212759_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_211417_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35135,7 +35095,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_open0_nsDOMAttributeMap_Element_close0_instantiation() { + fn __bindgen_test_layout_nsCOMPtr_open0_Element_close0_instantiation() { assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35383,7 +35343,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation() { + fn __bindgen_test_layout_nsCOMPtr_open0_nsIWeakReference_close0_instantiation_1() { assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35394,7 +35354,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_215588_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_214248_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35473,7 +35433,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_221863_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_220493_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35506,7 +35466,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_223024_close0_instantiation() { + fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_221654_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35517,7 +35477,7 @@ pub mod root { root::JS::Heap<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_223028_close0_instantiation() { + fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_221658_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35539,7 +35499,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_TenuredHeap_open0__bindgen_ty_id_223035_close0_instantiation() { + fn __bindgen_test_layout_TenuredHeap_open0__bindgen_ty_id_221665_close0_instantiation() { assert_eq!(::std::mem::size_of::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35618,7 +35578,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_224214_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_222838_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35813,7 +35773,7 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_225662_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_224286_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35918,7 +35878,7 @@ pub mod root { root::nsRefPtrHashKey ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_228044_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_226674_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36063,15 +36023,15 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_RefPtr_open0_imgRequestProxy_ImageURL_close0_instantiation() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_RefPtr_open0_ImageURL_close0_instantiation() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::RefPtr ) )); - assert_eq!(::std::mem::align_of::>() + root::RefPtr ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::RefPtr ) )); + root::RefPtr ) )); } #[test] fn __bindgen_test_layout_nsCOMPtr_open0_nsILoadGroup_close0_instantiation() { @@ -36619,7 +36579,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_230515_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_229151_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36856,7 +36816,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238214_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_236959_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36867,7 +36827,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238219_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_236964_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36955,7 +36915,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238332_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_237077_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37242,7 +37202,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_239917_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238657_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37264,7 +37224,7 @@ pub mod root { root::RefPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_240073_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238815_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37275,7 +37235,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_240078_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238820_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37396,18 +37356,18 @@ pub mod root { root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0_gfxFontVariation_close0_instantiation_1() { - assert_eq!(::std::mem::size_of::>() + fn __bindgen_test_layout_nsTArray_open0_FontVariation_close0_instantiation_1() { + assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::nsTArray ) )); - assert_eq!(::std::mem::align_of::>() + root::nsTArray ) )); + assert_eq!(::std::mem::align_of::>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::nsTArray ) )); + root::nsTArray ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_242138_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_240894_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37418,7 +37378,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_242144_close0_instantiation() { + fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_240900_close0_instantiation() { assert_eq!(::std::mem::size_of::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( diff --git a/components/style/parallel.rs b/components/style/parallel.rs index 3703559cd98..db5466e12a3 100644 --- a/components/style/parallel.rs +++ b/components/style/parallel.rs @@ -59,47 +59,26 @@ pub fn traverse_dom(traversal: &D, where E: TElement, D: DomTraversal, { + debug_assert!(traversal.is_parallel()); + debug_assert!(token.should_traverse()); + let dump_stats = traversal.shared_context().options.dump_style_statistics; let start_time = if dump_stats { Some(time::precise_time_s()) } else { None }; - // Set up the SmallVec. We need to move this, and in most cases this is just - // one node, so keep it small. - let mut nodes = SmallVec::<[SendNode; 8]>::new(); - - debug_assert!(traversal.is_parallel()); - // Handle Gecko's eager initial styling. We don't currently support it - // in conjunction with bottom-up traversal. If we did, we'd need to put - // it on the context to make it available to the bottom-up phase. - let depth = if token.traverse_unstyled_children_only() { - debug_assert!(!D::needs_postorder_traversal()); - for kid in root.as_node().traversal_children() { - if kid.as_element().map_or(false, |el| el.get_data().is_none()) { - nodes.push(unsafe { SendNode::new(kid) }); - } - } - root.depth() + 1 - } else { - nodes.push(unsafe { SendNode::new(root.as_node()) }); - root.depth() - }; - - if nodes.is_empty() { - return; - } - let traversal_data = PerLevelTraversalData { - current_dom_depth: depth, + current_dom_depth: root.depth(), }; let tls = ScopedTLS::>::new(pool); - let root = root.as_node().opaque(); + let send_root = unsafe { SendNode::new(root.as_node()) }; pool.install(|| { rayon::scope(|scope| { - let nodes = nodes; - traverse_nodes(&*nodes, + let root = send_root; + let root_opaque = root.opaque(); + traverse_nodes(&[root], DispatchMode::TailCall, 0, - root, + root_opaque, traversal_data, scope, pool, diff --git a/components/style/sequential.rs b/components/style/sequential.rs index 3e06db02ac0..3b461bf1923 100644 --- a/components/style/sequential.rs +++ b/components/style/sequential.rs @@ -35,16 +35,7 @@ pub fn traverse_dom(traversal: &D, }; let root_depth = root.depth(); - - if token.traverse_unstyled_children_only() { - for kid in root.as_node().traversal_children() { - if kid.as_element().map_or(false, |el| el.get_data().is_none()) { - discovered.push_back(WorkItem(kid, root_depth + 1)); - } - } - } else { - discovered.push_back(WorkItem(root.as_node(), root_depth)); - } + discovered.push_back(WorkItem(root.as_node(), root_depth)); // Process the nodes breadth-first, just like the parallel traversal does. // This helps keep similar traversal characteristics for the style sharing diff --git a/components/style/traversal.rs b/components/style/traversal.rs index c0e795f13a1..546e254adf4 100644 --- a/components/style/traversal.rs +++ b/components/style/traversal.rs @@ -31,23 +31,12 @@ pub struct PerLevelTraversalData { pub current_dom_depth: usize, } -/// This structure exists to enforce that callers invoke pre_traverse, and also -/// to pass information from the pre-traversal into the primary traversal. -pub struct PreTraverseToken { - traverse: bool, - unstyled_children_only: bool, -} - +/// We use this structure, rather than just returning a boolean from pre_traverse, +/// to enfore that callers process root invalidations before starting the traversal. +pub struct PreTraverseToken(bool); impl PreTraverseToken { /// Whether we should traverse children. - pub fn should_traverse(&self) -> bool { - self.traverse - } - - /// Whether we should traverse only unstyled children. - pub fn traverse_unstyled_children_only(&self) -> bool { - self.unstyled_children_only - } + pub fn should_traverse(&self) -> bool { self.0 } } /// The kind of traversals we could perform. @@ -157,33 +146,20 @@ pub trait DomTraversal : Sync { } } - /// Must be invoked before traversing the root element to determine whether - /// a traversal is needed. Returns a token that allows the caller to prove - /// that the call happened. - /// - /// The traversal_flags is used in Gecko. - /// - /// If traversal_flag::UNSTYLED_CHILDREN_ONLY is specified, style newly- - /// appended children without restyling the parent. - /// - /// If traversal_flag::ANIMATION_ONLY is specified, style only elements for - /// animations. + /// Style invalidations happen when traversing from a parent to its children. + /// However, this mechanism can't handle style invalidations on the root. As + /// such, we have a pre-traversal step to handle that part and determine whether + /// a full traversal is needed. fn pre_traverse( root: E, shared_context: &SharedStyleContext, traversal_flags: TraversalFlags ) -> PreTraverseToken { - if traversal_flags.contains(traversal_flags::UnstyledChildrenOnly) { - 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, - }; + // If this is an unstyled-only traversal, the caller has already verified + // that there's something to traverse, and we don't need to do any + // invalidation since we're not doing any restyling. + if traversal_flags.contains(traversal_flags::UnstyledOnly) { + return PreTraverseToken(true) } let flags = shared_context.traversal_flags; @@ -205,10 +181,7 @@ pub trait DomTraversal : Sync { parent_data.as_ref().map(|d| &**d) ); - PreTraverseToken { - traverse: should_traverse, - unstyled_children_only: false, - } + PreTraverseToken(should_traverse) } /// Returns true if traversal should visit a text node. The style system @@ -231,16 +204,32 @@ pub trait DomTraversal : Sync { ) -> bool { debug!("element_needs_traversal({:?}, {:?}, {:?}, {:?})", el, traversal_flags, data, parent_data); - let data = match data { - Some(d) if d.has_styles() => d, - _ => return !traversal_flags.for_animation_only(), - }; + + if traversal_flags.contains(traversal_flags::UnstyledOnly) { + return data.map_or(true, |d| !d.has_styles()) || el.has_dirty_descendants(); + } + + + // 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 traversal_flags.for_animation_only() { + return data.map_or(false, |d| d.has_styles()) && + (el.has_animation_only_dirty_descendants() || + data.as_ref().unwrap().restyle.hint.has_animation_hint_or_recascade()); + } // Non-incremental layout visits every node. if is_servo_nonincremental_layout() { return true; } + // Unwrap the data. + let data = match data { + Some(d) if d.has_styles() => d, + _ => return true, + }; + // If the element is native-anonymous and an ancestor frame will be // reconstructed, the child and all its descendants will be destroyed. // In that case, we wouldn't need to traverse the subtree... @@ -283,14 +272,6 @@ 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 traversal_flags.for_animation_only() { - return el.has_animation_only_dirty_descendants() || - data.restyle.hint.has_animation_hint_or_recascade(); - } - // If the dirty descendants bit is set, we need to traverse no matter // what. Skip examining the ElementData. if el.has_dirty_descendants() { @@ -484,14 +465,15 @@ where D: DomTraversal, F: FnMut(E::ConcreteNode), { + use traversal_flags::*; + let flags = context.shared.traversal_flags; context.thread_local.begin_element(element, data); context.thread_local.statistics.elements_traversed += 1; - debug_assert!(context.shared.traversal_flags.for_animation_only() || + debug_assert!(flags.intersects(AnimationOnly | UnstyledOnly) || !element.has_snapshot() || element.handled_snapshot(), "Should've handled snapshots here already"); - let compute_self = - !element.has_current_styles_for_traversal(data, context.shared.traversal_flags); + let compute_self = !element.has_current_styles_for_traversal(data, flags); let mut hint = RestyleHint::empty(); debug!("recalc_style_at: {:?} (compute_self={:?}, \ @@ -534,13 +516,17 @@ where } // Now that matching and cascading is done, clear the bits corresponding to - // those operations and compute the propagated restyle hint. - let mut propagated_hint = { - debug_assert!(context.shared.traversal_flags.for_animation_only() || + // those operations and compute the propagated restyle hint (unless we're + // not processing invalidations, in which case don't need to propagate it + // and must avoid clearing it). + let mut propagated_hint = if flags.contains(UnstyledOnly) { + RestyleHint::empty() + } else { + debug_assert!(flags.for_animation_only() || !data.restyle.hint.has_animation_hint(), "animation restyle hint should be handled during \ animation-only restyles"); - data.restyle.hint.propagate(&context.shared.traversal_flags) + data.restyle.hint.propagate(&flags) }; // FIXME(bholley): Need to handle explicitly-inherited reset properties @@ -552,11 +538,10 @@ where propagated_hint, data.styles.is_display_none(), element.implemented_pseudo_element()); - debug_assert!(element.has_current_styles_for_traversal(data, context.shared.traversal_flags), + debug_assert!(element.has_current_styles_for_traversal(data, flags), "Should have computed style or haven't yet valid computed \ style in case of animation-only restyle"); - let flags = context.shared.traversal_flags; let has_dirty_descendants_for_this_restyle = if flags.for_animation_only() { element.has_animation_only_dirty_descendants() @@ -602,31 +587,33 @@ where // If we are in a forgetful traversal, drop the existing restyle // data here, since we won't need to perform a post-traversal to pick up // any change hints. - if flags.contains(traversal_flags::Forgetful) { + if flags.contains(Forgetful) { data.clear_restyle_flags_and_damage(); } - // There are two cases when we want to clear the dity descendants bit here - // after styling this element. The first case is when we were explicitly - // asked to clear the bit by the caller. - // - // The second 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 flags.contains(traversal_flags::ClearDirtyDescendants) || - data.styles.is_display_none() { - unsafe { element.unset_dirty_descendants(); } - } - - // Similarly, check if we're supposed to clear the animation bit. - if flags.contains(traversal_flags::ClearAnimationOnlyDirtyDescendants) { - unsafe { element.unset_animation_only_dirty_descendants(); } + // Optionally clear the descendants bit for the traversal type we're in. + if flags.for_animation_only() { + if flags.contains(ClearAnimationOnlyDirtyDescendants) { + unsafe { element.unset_animation_only_dirty_descendants(); } + } + } else { + // There are two cases when we want to clear the dity descendants bit here + // after styling this element. The first case is when we were explicitly + // asked to clear the bit by the caller. + // + // The second 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 flags.contains(ClearDirtyDescendants) || + data.styles.is_display_none() { + unsafe { element.unset_dirty_descendants(); } + } } context.thread_local.end_element(element); diff --git a/components/style/traversal_flags.rs b/components/style/traversal_flags.rs index a2e0cdc7515..2e3e0f4c2ad 100644 --- a/components/style/traversal_flags.rs +++ b/components/style/traversal_flags.rs @@ -16,8 +16,9 @@ bitflags! { /// Traverse and update all elements with CSS animations since /// @keyframes rules may have changed. Triggered by CSS rule changes. const ForCSSRuleChanges = 1 << 1, - /// Traverse only unstyled children of the root and their descendants. - const UnstyledChildrenOnly = 1 << 2, + /// Styles unstyled elements, but does not handle invalidations on + /// already-styled elements. + const UnstyledOnly = 1 << 2, /// A forgetful traversal ignores the previous state of the frame tree, and /// thus does not compute damage or maintain other state describing the styles /// pre-traversal. A forgetful traversal is usually the right thing if you @@ -30,6 +31,10 @@ bitflags! { const ClearDirtyDescendants = 1 << 5, /// Clears the animation-only dirty descendants bit in the subtree. const ClearAnimationOnlyDirtyDescendants = 1 << 6, + /// Allows the traversal to run in parallel if there are sufficient cores on + /// the machine. + const ParallelTraversal = 1 << 7, + } } @@ -55,12 +60,13 @@ pub fn assert_traversal_flags_match() { check_traversal_flags! { ServoTraversalFlags_AnimationOnly => AnimationOnly, ServoTraversalFlags_ForCSSRuleChanges => ForCSSRuleChanges, - ServoTraversalFlags_UnstyledChildrenOnly => UnstyledChildrenOnly, + ServoTraversalFlags_UnstyledOnly => UnstyledOnly, ServoTraversalFlags_Forgetful => Forgetful, ServoTraversalFlags_AggressivelyForgetful => AggressivelyForgetful, ServoTraversalFlags_ClearDirtyDescendants => ClearDirtyDescendants, ServoTraversalFlags_ClearAnimationOnlyDirtyDescendants => ClearAnimationOnlyDirtyDescendants, + ServoTraversalFlags_ParallelTraversal => ParallelTraversal, } } diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 6832b008084..0d0ff0db9be 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -229,7 +229,8 @@ fn traverse_subtree(element: GeckoElement, debug!("{:?}", ShowSubtreeData(element.as_node())); let style_thread_pool = &*STYLE_THREAD_POOL; - let traversal_driver = if style_thread_pool.style_thread_pool.is_none() || !element.is_root() { + let traversal_driver = if !traversal_flags.contains(traversal_flags::ParallelTraversal) || + style_thread_pool.style_thread_pool.is_none() { TraversalDriver::Sequential } else { TraversalDriver::Parallel @@ -260,10 +261,9 @@ pub extern "C" fn Servo_TraverseSubtree(root: RawGeckoElementBorrowed, let element = GeckoElement(root); debug!("Servo_TraverseSubtree (flags={:?})", traversal_flags); - - // It makes no sense to do an animation restyle when we're restyling + // It makes no sense to do an animation restyle when we're styling // newly-inserted content. - if !traversal_flags.contains(traversal_flags::UnstyledChildrenOnly) { + if !traversal_flags.contains(traversal_flags::UnstyledOnly) { let needs_animation_only_restyle = element.has_animation_only_dirty_descendants() || element.has_animation_restyle_hints();