diff options
Diffstat (limited to 'components')
41 files changed, 11599 insertions, 3832 deletions
diff --git a/components/config/opts.rs b/components/config/opts.rs index 1b0938a5e9c..84a8a649969 100644 --- a/components/config/opts.rs +++ b/components/config/opts.rs @@ -190,6 +190,9 @@ pub struct Opts { /// True if webrender recording should be enabled. pub webrender_record: bool, + /// True if webrender is allowed to batch draw calls as instances. + pub webrender_batch: bool, + /// True to compile all webrender shaders at init time. This is mostly /// useful when modifying the shaders, to ensure they all compile /// after each change is made. @@ -306,6 +309,9 @@ pub struct DebugOptions { /// Enable webrender recording. pub webrender_record: bool, + /// Enable webrender instanced draw call batching. + pub webrender_batch: bool, + /// Use multisample antialiasing in WebRender. pub use_msaa: bool, @@ -353,6 +359,7 @@ impl DebugOptions { "wr-stats" => self.webrender_stats = true, "wr-debug" => self.webrender_debug = true, "wr-record" => self.webrender_record = true, + "wr-no-batch" => self.webrender_batch = false, "msaa" => self.use_msaa = true, "full-backtraces" => self.full_backtraces = true, "precache-shaders" => self.precache_shaders = true, @@ -401,6 +408,7 @@ fn print_debug_usage(app: &str) -> ! { print_option("msaa", "Use multisample antialiasing in WebRender."); print_option("full-backtraces", "Print full backtraces for all errors"); print_option("wr-debug", "Display webrender tile borders."); + print_option("wr-no-batch", "Disable webrender instanced batching."); print_option("precache-shaders", "Compile all shaders during init."); print_option("signpost", "Emit native OS signposts for profile events (currently macOS only)"); @@ -524,6 +532,7 @@ pub fn default_opts() -> Opts { is_printing_version: false, webrender_debug: false, webrender_record: false, + webrender_batch: true, precache_shaders: false, signpost: false, certificate_path: None, @@ -818,6 +827,7 @@ pub fn from_cmdline_args(args: &[String]) -> ArgumentParsingResult { is_printing_version: is_printing_version, webrender_debug: debug_options.webrender_debug, webrender_record: debug_options.webrender_record, + webrender_batch: debug_options.webrender_batch, precache_shaders: debug_options.precache_shaders, signpost: debug_options.signpost, certificate_path: opt_match.opt_str("certificate-path"), diff --git a/components/geometry/lib.rs b/components/geometry/lib.rs index 453cf0997c5..8b98301dde7 100644 --- a/components/geometry/lib.rs +++ b/components/geometry/lib.rs @@ -10,7 +10,6 @@ use app_units::{Au, MAX_AU, MIN_AU}; use euclid::point::Point2D; use euclid::rect::Rect; use euclid::size::Size2D; -use std::i32; // Units for use with euclid::length and euclid::scale_factor. diff --git a/components/layout/parallel.rs b/components/layout/parallel.rs index 6128abbdae6..ada231b8119 100644 --- a/components/layout/parallel.rs +++ b/components/layout/parallel.rs @@ -17,12 +17,17 @@ use servo_config::opts; use std::mem; use std::sync::atomic::{AtomicIsize, Ordering}; use style::dom::UnsafeNode; -use style::parallel::CHUNK_SIZE; use traversal::{AssignISizes, BubbleISizes}; use traversal::AssignBSizes; pub use style::parallel::traverse_dom; +/// Traversal chunk size. +/// +/// FIXME(bholley): This is all likely very inefficient and should probably be +/// reworked to mirror the style system's parallel.rs. +pub const CHUNK_SIZE: usize = 64; + #[allow(dead_code)] fn static_assertion(node: UnsafeNode) { unsafe { diff --git a/components/servo/lib.rs b/components/servo/lib.rs index 83362789b05..77c5b8e8fe0 100644 --- a/components/servo/lib.rs +++ b/components/servo/lib.rs @@ -183,6 +183,7 @@ impl<Window> Browser<Window> where Window: WindowMethods + 'static { resource_override_path: Some(resource_path), enable_aa: opts.enable_text_antialiasing, enable_profiler: opts.webrender_stats, + enable_batcher: opts.webrender_batch, debug: opts.webrender_debug, recorder: recorder, precache_shaders: opts.precache_shaders, diff --git a/components/style/Cargo.toml b/components/style/Cargo.toml index 22400c4e2dd..e6018f2653b 100644 --- a/components/style/Cargo.toml +++ b/components/style/Cargo.toml @@ -75,7 +75,7 @@ kernel32-sys = "0.2" [build-dependencies] lazy_static = "0.2" log = "0.3" -bindgen = { version = "0.25", optional = true } +bindgen = { version = "0.25.1", optional = true } regex = {version = "0.2", optional = true} walkdir = "1.0" toml = {version = "0.2.1", optional = true, default-features = false} diff --git a/components/style/bloom.rs b/components/style/bloom.rs index 7633d154fe8..f5df67e6a3f 100644 --- a/components/style/bloom.rs +++ b/components/style/bloom.rs @@ -9,6 +9,7 @@ use dom::{SendElement, TElement}; use selectors::bloom::BloomFilter; +use smallvec::SmallVec; /// A struct that allows us to fast-reject deep descendant selectors avoiding /// selector-matching. @@ -223,7 +224,7 @@ impl<E: TElement> StyleBloom<E> { // Let's collect the parents we are going to need to insert once we've // found the common one. - let mut parents_to_insert = vec![]; + let mut parents_to_insert = SmallVec::<[E; 8]>::new(); // If the bloom filter still doesn't have enough elements, the common // parent is up in the dom. @@ -245,10 +246,12 @@ impl<E: TElement> StyleBloom<E> { // Not-so-happy case: Parent's don't match, so we need to keep going up // until we find a common ancestor. // - // Gecko currently models native anonymous content that conceptually hangs - // off the document (such as scrollbars) as a separate subtree from the - // document root. Thus it's possible with Gecko that we do not find any - // common ancestor. + // Gecko currently models native anonymous content that conceptually + // hangs off the document (such as scrollbars) as a separate subtree + // from the document root. + // + // Thus it's possible with Gecko that we do not find any common + // ancestor. while **self.elements.last().unwrap() != common_parent { parents_to_insert.push(common_parent); self.pop().unwrap(); diff --git a/components/style/cascade_info.rs b/components/style/cascade_info.rs index 5c7565909db..2fdd047dadf 100644 --- a/components/style/cascade_info.rs +++ b/components/style/cascade_info.rs @@ -8,7 +8,7 @@ use dom::TNode; use properties::{DeclaredValue, PropertyDeclaration}; -use values::HasViewportPercentage; +use style_traits::HasViewportPercentage; /// A structure to collect information about the cascade. /// diff --git a/components/style/context.rs b/components/style/context.rs index a628ef1377f..f0fadc4bd36 100644 --- a/components/style/context.rs +++ b/components/style/context.rs @@ -17,13 +17,13 @@ use euclid::Size2D; use fnv::FnvHashMap; use font_metrics::FontMetricsProvider; #[cfg(feature = "gecko")] use gecko_bindings::structs; -use matching::StyleSharingCandidateCache; #[cfg(feature = "servo")] use parking_lot::RwLock; #[cfg(feature = "gecko")] use properties::ComputedValues; use selector_parser::SnapshotMap; use selectors::matching::ElementSelectorFlags; #[cfg(feature = "servo")] use servo_config::opts; use shared_lock::StylesheetGuards; +use sharing::StyleSharingCandidateCache; #[cfg(feature = "servo")] use std::collections::HashMap; #[cfg(feature = "gecko")] use std::env; use std::fmt; diff --git a/components/style/custom_properties.rs b/components/style/custom_properties.rs index 071efade790..15435e4743d 100644 --- a/components/style/custom_properties.rs +++ b/components/style/custom_properties.rs @@ -14,7 +14,7 @@ use std::ascii::AsciiExt; use std::borrow::Cow; use std::collections::{HashMap, HashSet}; use std::fmt; -use style_traits::ToCss; +use style_traits::{HasViewportPercentage, ToCss}; use stylearc::Arc; /// A custom property name is just an `Atom`. @@ -49,7 +49,7 @@ pub struct SpecifiedValue { references: HashSet<Name>, } -impl ::values::HasViewportPercentage for SpecifiedValue { +impl HasViewportPercentage for SpecifiedValue { fn has_viewport_percentage(&self) -> bool { panic!("has_viewport_percentage called before resolving!"); } diff --git a/components/style/data.rs b/components/style/data.rs index e7248cf94d2..4e6d191d19d 100644 --- a/components/style/data.rs +++ b/components/style/data.rs @@ -4,13 +4,11 @@ //! Per-node data used in style calculation. -#![deny(missing_docs)] - use context::SharedStyleContext; use dom::TElement; use properties::ComputedValues; use properties::longhands::display::computed_value as display; -use restyle_hints::{RestyleReplacements, RestyleHint}; +use restyle_hints::{HintComputationContext, RestyleReplacements, RestyleHint}; use rule_tree::StrongRuleNode; use selector_parser::{EAGER_PSEUDO_COUNT, PseudoElement, RestyleDamage}; use shared_lock::StylesheetGuards; @@ -372,15 +370,16 @@ impl ElementData { /// explicit sibling restyle hints from the stored restyle hint. /// /// Returns true if later siblings must be restyled. - pub fn compute_final_hint<E: TElement>( + pub fn compute_final_hint<'a, E: TElement>( &mut self, element: E, - context: &SharedStyleContext) + shared_context: &SharedStyleContext, + hint_context: HintComputationContext<'a, E>) -> bool { debug!("compute_final_hint: {:?}, {:?}", element, - context.traversal_flags); + shared_context.traversal_flags); let mut hint = match self.get_restyle() { Some(r) => r.hint.0.clone(), @@ -395,7 +394,11 @@ impl ElementData { element.implemented_pseudo_element()); if element.has_snapshot() && !element.handled_snapshot() { - hint.insert(context.stylist.compute_restyle_hint(&element, context.snapshot_map)); + let snapshot_hint = + shared_context.stylist.compute_restyle_hint(&element, + shared_context, + hint_context); + hint.insert(snapshot_hint); unsafe { element.set_handled_snapshot() } debug_assert!(element.handled_snapshot()); } diff --git a/components/style/gecko/generated/atom_macro.rs b/components/style/gecko/generated/atom_macro.rs index bba0c7bc817..5cf3aca1c3f 100644 --- a/components/style/gecko/generated/atom_macro.rs +++ b/components/style/gecko/generated/atom_macro.rs @@ -2164,6 +2164,8 @@ cfg_if! { pub static nsGkAtoms_onreloadpage: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms3remE"] pub static nsGkAtoms_rem: *mut nsIAtom; + #[link_name = "_ZN9nsGkAtoms6remoteE"] + pub static nsGkAtoms_remote: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms13removeelementE"] pub static nsGkAtoms_removeelement: *mut nsIAtom; #[link_name = "_ZN9nsGkAtoms21renderingobserverlistE"] @@ -7179,6 +7181,8 @@ cfg_if! { pub static nsGkAtoms_onreloadpage: *mut nsIAtom; #[link_name = "?rem@nsGkAtoms@@2PEAVnsIAtom@@EA"] pub static nsGkAtoms_rem: *mut nsIAtom; + #[link_name = "?remote@nsGkAtoms@@2PEAVnsIAtom@@EA"] + pub static nsGkAtoms_remote: *mut nsIAtom; #[link_name = "?removeelement@nsGkAtoms@@2PEAVnsIAtom@@EA"] pub static nsGkAtoms_removeelement: *mut nsIAtom; #[link_name = "?renderingobserverlist@nsGkAtoms@@2PEAVnsIAtom@@EA"] @@ -12194,6 +12198,8 @@ cfg_if! { pub static nsGkAtoms_onreloadpage: *mut nsIAtom; #[link_name = "\x01?rem@nsGkAtoms@@2PAVnsIAtom@@A"] pub static nsGkAtoms_rem: *mut nsIAtom; + #[link_name = "\x01?remote@nsGkAtoms@@2PAVnsIAtom@@A"] + pub static nsGkAtoms_remote: *mut nsIAtom; #[link_name = "\x01?removeelement@nsGkAtoms@@2PAVnsIAtom@@A"] pub static nsGkAtoms_removeelement: *mut nsIAtom; #[link_name = "\x01?renderingobserverlist@nsGkAtoms@@2PAVnsIAtom@@A"] @@ -17212,6 +17218,8 @@ macro_rules! atom { { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_onreloadpage as *mut _) } }; ("rem") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_rem as *mut _) } }; +("remote") => + { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_remote as *mut _) } }; ("removeelement") => { unsafe { $crate::string_cache::atom_macro::atom_from_static($crate::string_cache::atom_macro::nsGkAtoms_removeelement as *mut _) } }; ("renderingobserverlist") => diff --git a/components/style/gecko/generated/bindings.rs b/components/style/gecko/generated/bindings.rs index 101e9c89cad..5f0f0d19a78 100644 --- a/components/style/gecko/generated/bindings.rs +++ b/components/style/gecko/generated/bindings.rs @@ -202,80 +202,6 @@ use gecko_bindings::structs::ParsingMode; use gecko_bindings::structs::InheritTarget; use gecko_bindings::structs::URLMatchingFunction; pub type nsTArrayBorrowed_uintptr_t<'a> = &'a mut ::gecko_bindings::structs::nsTArray<usize>; -pub type ServoCssRulesStrong = ::gecko_bindings::sugar::ownership::Strong<ServoCssRules>; -pub type ServoCssRulesBorrowed<'a> = &'a ServoCssRules; -pub type ServoCssRulesBorrowedOrNull<'a> = Option<&'a ServoCssRules>; -enum ServoCssRulesVoid { } -pub struct ServoCssRules(ServoCssRulesVoid); -pub type RawServoStyleSheetStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoStyleSheet>; -pub type RawServoStyleSheetBorrowed<'a> = &'a RawServoStyleSheet; -pub type RawServoStyleSheetBorrowedOrNull<'a> = Option<&'a RawServoStyleSheet>; -enum RawServoStyleSheetVoid { } -pub struct RawServoStyleSheet(RawServoStyleSheetVoid); -pub type ServoComputedValuesStrong = ::gecko_bindings::sugar::ownership::Strong<ServoComputedValues>; -pub type ServoComputedValuesBorrowed<'a> = &'a ServoComputedValues; -pub type ServoComputedValuesBorrowedOrNull<'a> = Option<&'a ServoComputedValues>; -enum ServoComputedValuesVoid { } -pub struct ServoComputedValues(ServoComputedValuesVoid); -pub type RawServoDeclarationBlockStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoDeclarationBlock>; -pub type RawServoDeclarationBlockBorrowed<'a> = &'a RawServoDeclarationBlock; -pub type RawServoDeclarationBlockBorrowedOrNull<'a> = Option<&'a RawServoDeclarationBlock>; -pub type RawServoStyleRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoStyleRule>; -pub type RawServoStyleRuleBorrowed<'a> = &'a RawServoStyleRule; -pub type RawServoStyleRuleBorrowedOrNull<'a> = Option<&'a RawServoStyleRule>; -pub type RawServoImportRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoImportRule>; -pub type RawServoImportRuleBorrowed<'a> = &'a RawServoImportRule; -pub type RawServoImportRuleBorrowedOrNull<'a> = Option<&'a RawServoImportRule>; -enum RawServoImportRuleVoid { } -pub struct RawServoImportRule(RawServoImportRuleVoid); -pub type RawServoAnimationValueStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoAnimationValue>; -pub type RawServoAnimationValueBorrowed<'a> = &'a RawServoAnimationValue; -pub type RawServoAnimationValueBorrowedOrNull<'a> = Option<&'a RawServoAnimationValue>; -pub type RawServoKeyframeStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoKeyframe>; -pub type RawServoKeyframeBorrowed<'a> = &'a RawServoKeyframe; -pub type RawServoKeyframeBorrowedOrNull<'a> = Option<&'a RawServoKeyframe>; -enum RawServoKeyframeVoid { } -pub struct RawServoKeyframe(RawServoKeyframeVoid); -pub type RawServoKeyframesRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoKeyframesRule>; -pub type RawServoKeyframesRuleBorrowed<'a> = &'a RawServoKeyframesRule; -pub type RawServoKeyframesRuleBorrowedOrNull<'a> = Option<&'a RawServoKeyframesRule>; -enum RawServoKeyframesRuleVoid { } -pub struct RawServoKeyframesRule(RawServoKeyframesRuleVoid); -pub type RawServoMediaListStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoMediaList>; -pub type RawServoMediaListBorrowed<'a> = &'a RawServoMediaList; -pub type RawServoMediaListBorrowedOrNull<'a> = Option<&'a RawServoMediaList>; -enum RawServoMediaListVoid { } -pub struct RawServoMediaList(RawServoMediaListVoid); -pub type RawServoMediaRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoMediaRule>; -pub type RawServoMediaRuleBorrowed<'a> = &'a RawServoMediaRule; -pub type RawServoMediaRuleBorrowedOrNull<'a> = Option<&'a RawServoMediaRule>; -enum RawServoMediaRuleVoid { } -pub struct RawServoMediaRule(RawServoMediaRuleVoid); -pub type RawServoNamespaceRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoNamespaceRule>; -pub type RawServoNamespaceRuleBorrowed<'a> = &'a RawServoNamespaceRule; -pub type RawServoNamespaceRuleBorrowedOrNull<'a> = Option<&'a RawServoNamespaceRule>; -enum RawServoNamespaceRuleVoid { } -pub struct RawServoNamespaceRule(RawServoNamespaceRuleVoid); -pub type RawServoPageRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoPageRule>; -pub type RawServoPageRuleBorrowed<'a> = &'a RawServoPageRule; -pub type RawServoPageRuleBorrowedOrNull<'a> = Option<&'a RawServoPageRule>; -enum RawServoPageRuleVoid { } -pub struct RawServoPageRule(RawServoPageRuleVoid); -pub type RawServoSupportsRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoSupportsRule>; -pub type RawServoSupportsRuleBorrowed<'a> = &'a RawServoSupportsRule; -pub type RawServoSupportsRuleBorrowedOrNull<'a> = Option<&'a RawServoSupportsRule>; -enum RawServoSupportsRuleVoid { } -pub struct RawServoSupportsRule(RawServoSupportsRuleVoid); -pub type RawServoDocumentRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoDocumentRule>; -pub type RawServoDocumentRuleBorrowed<'a> = &'a RawServoDocumentRule; -pub type RawServoDocumentRuleBorrowedOrNull<'a> = Option<&'a RawServoDocumentRule>; -enum RawServoDocumentRuleVoid { } -pub struct RawServoDocumentRule(RawServoDocumentRuleVoid); -pub type RawServoRuleNodeStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoRuleNode>; -pub type RawServoRuleNodeBorrowed<'a> = &'a RawServoRuleNode; -pub type RawServoRuleNodeBorrowedOrNull<'a> = Option<&'a RawServoRuleNode>; -enum RawServoRuleNodeVoid { } -pub struct RawServoRuleNode(RawServoRuleNodeVoid); pub type RawServoStyleSetOwned = ::gecko_bindings::sugar::ownership::Owned<RawServoStyleSet>; pub type RawServoStyleSetOwnedOrNull = ::gecko_bindings::sugar::ownership::OwnedOrNull<RawServoStyleSet>; pub type RawServoStyleSetBorrowed<'a> = &'a RawServoStyleSet; @@ -342,6 +268,10 @@ pub type RawGeckoComputedTimingBorrowed<'a> = &'a RawGeckoComputedTiming; pub type RawGeckoComputedTimingBorrowedOrNull<'a> = Option<&'a RawGeckoComputedTiming>; pub type RawGeckoComputedTimingBorrowedMut<'a> = &'a mut RawGeckoComputedTiming; pub type RawGeckoComputedTimingBorrowedMutOrNull<'a> = Option<&'a mut RawGeckoComputedTiming>; +pub type RawGeckoCSSPropertyIDListBorrowed<'a> = &'a RawGeckoCSSPropertyIDList; +pub type RawGeckoCSSPropertyIDListBorrowedOrNull<'a> = Option<&'a RawGeckoCSSPropertyIDList>; +pub type RawGeckoCSSPropertyIDListBorrowedMut<'a> = &'a mut RawGeckoCSSPropertyIDList; +pub type RawGeckoCSSPropertyIDListBorrowedMutOrNull<'a> = Option<&'a mut RawGeckoCSSPropertyIDList>; pub type RawGeckoKeyframeListBorrowed<'a> = &'a RawGeckoKeyframeList; pub type RawGeckoKeyframeListBorrowedOrNull<'a> = Option<&'a RawGeckoKeyframeList>; pub type RawGeckoKeyframeListBorrowedMut<'a> = &'a mut RawGeckoKeyframeList; @@ -358,10 +288,80 @@ pub type RawGeckoServoStyleRuleListBorrowed<'a> = &'a RawGeckoServoStyleRuleList pub type RawGeckoServoStyleRuleListBorrowedOrNull<'a> = Option<&'a RawGeckoServoStyleRuleList>; pub type RawGeckoServoStyleRuleListBorrowedMut<'a> = &'a mut RawGeckoServoStyleRuleList; pub type RawGeckoServoStyleRuleListBorrowedMutOrNull<'a> = Option<&'a mut RawGeckoServoStyleRuleList>; -pub type RawGeckoCSSPropertyIDListBorrowed<'a> = &'a RawGeckoCSSPropertyIDList; -pub type RawGeckoCSSPropertyIDListBorrowedOrNull<'a> = Option<&'a RawGeckoCSSPropertyIDList>; -pub type RawGeckoCSSPropertyIDListBorrowedMut<'a> = &'a mut RawGeckoCSSPropertyIDList; -pub type RawGeckoCSSPropertyIDListBorrowedMutOrNull<'a> = Option<&'a mut RawGeckoCSSPropertyIDList>; +pub type ServoCssRulesStrong = ::gecko_bindings::sugar::ownership::Strong<ServoCssRules>; +pub type ServoCssRulesBorrowed<'a> = &'a ServoCssRules; +pub type ServoCssRulesBorrowedOrNull<'a> = Option<&'a ServoCssRules>; +enum ServoCssRulesVoid { } +pub struct ServoCssRules(ServoCssRulesVoid); +pub type RawServoStyleSheetStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoStyleSheet>; +pub type RawServoStyleSheetBorrowed<'a> = &'a RawServoStyleSheet; +pub type RawServoStyleSheetBorrowedOrNull<'a> = Option<&'a RawServoStyleSheet>; +enum RawServoStyleSheetVoid { } +pub struct RawServoStyleSheet(RawServoStyleSheetVoid); +pub type ServoComputedValuesStrong = ::gecko_bindings::sugar::ownership::Strong<ServoComputedValues>; +pub type ServoComputedValuesBorrowed<'a> = &'a ServoComputedValues; +pub type ServoComputedValuesBorrowedOrNull<'a> = Option<&'a ServoComputedValues>; +enum ServoComputedValuesVoid { } +pub struct ServoComputedValues(ServoComputedValuesVoid); +pub type RawServoDeclarationBlockStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoDeclarationBlock>; +pub type RawServoDeclarationBlockBorrowed<'a> = &'a RawServoDeclarationBlock; +pub type RawServoDeclarationBlockBorrowedOrNull<'a> = Option<&'a RawServoDeclarationBlock>; +pub type RawServoStyleRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoStyleRule>; +pub type RawServoStyleRuleBorrowed<'a> = &'a RawServoStyleRule; +pub type RawServoStyleRuleBorrowedOrNull<'a> = Option<&'a RawServoStyleRule>; +pub type RawServoImportRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoImportRule>; +pub type RawServoImportRuleBorrowed<'a> = &'a RawServoImportRule; +pub type RawServoImportRuleBorrowedOrNull<'a> = Option<&'a RawServoImportRule>; +enum RawServoImportRuleVoid { } +pub struct RawServoImportRule(RawServoImportRuleVoid); +pub type RawServoAnimationValueStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoAnimationValue>; +pub type RawServoAnimationValueBorrowed<'a> = &'a RawServoAnimationValue; +pub type RawServoAnimationValueBorrowedOrNull<'a> = Option<&'a RawServoAnimationValue>; +pub type RawServoKeyframeStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoKeyframe>; +pub type RawServoKeyframeBorrowed<'a> = &'a RawServoKeyframe; +pub type RawServoKeyframeBorrowedOrNull<'a> = Option<&'a RawServoKeyframe>; +enum RawServoKeyframeVoid { } +pub struct RawServoKeyframe(RawServoKeyframeVoid); +pub type RawServoKeyframesRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoKeyframesRule>; +pub type RawServoKeyframesRuleBorrowed<'a> = &'a RawServoKeyframesRule; +pub type RawServoKeyframesRuleBorrowedOrNull<'a> = Option<&'a RawServoKeyframesRule>; +enum RawServoKeyframesRuleVoid { } +pub struct RawServoKeyframesRule(RawServoKeyframesRuleVoid); +pub type RawServoMediaListStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoMediaList>; +pub type RawServoMediaListBorrowed<'a> = &'a RawServoMediaList; +pub type RawServoMediaListBorrowedOrNull<'a> = Option<&'a RawServoMediaList>; +enum RawServoMediaListVoid { } +pub struct RawServoMediaList(RawServoMediaListVoid); +pub type RawServoMediaRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoMediaRule>; +pub type RawServoMediaRuleBorrowed<'a> = &'a RawServoMediaRule; +pub type RawServoMediaRuleBorrowedOrNull<'a> = Option<&'a RawServoMediaRule>; +enum RawServoMediaRuleVoid { } +pub struct RawServoMediaRule(RawServoMediaRuleVoid); +pub type RawServoNamespaceRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoNamespaceRule>; +pub type RawServoNamespaceRuleBorrowed<'a> = &'a RawServoNamespaceRule; +pub type RawServoNamespaceRuleBorrowedOrNull<'a> = Option<&'a RawServoNamespaceRule>; +enum RawServoNamespaceRuleVoid { } +pub struct RawServoNamespaceRule(RawServoNamespaceRuleVoid); +pub type RawServoPageRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoPageRule>; +pub type RawServoPageRuleBorrowed<'a> = &'a RawServoPageRule; +pub type RawServoPageRuleBorrowedOrNull<'a> = Option<&'a RawServoPageRule>; +enum RawServoPageRuleVoid { } +pub struct RawServoPageRule(RawServoPageRuleVoid); +pub type RawServoSupportsRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoSupportsRule>; +pub type RawServoSupportsRuleBorrowed<'a> = &'a RawServoSupportsRule; +pub type RawServoSupportsRuleBorrowedOrNull<'a> = Option<&'a RawServoSupportsRule>; +enum RawServoSupportsRuleVoid { } +pub struct RawServoSupportsRule(RawServoSupportsRuleVoid); +pub type RawServoDocumentRuleStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoDocumentRule>; +pub type RawServoDocumentRuleBorrowed<'a> = &'a RawServoDocumentRule; +pub type RawServoDocumentRuleBorrowedOrNull<'a> = Option<&'a RawServoDocumentRule>; +enum RawServoDocumentRuleVoid { } +pub struct RawServoDocumentRule(RawServoDocumentRuleVoid); +pub type RawServoRuleNodeStrong = ::gecko_bindings::sugar::ownership::Strong<RawServoRuleNode>; +pub type RawServoRuleNodeBorrowed<'a> = &'a RawServoRuleNode; +pub type RawServoRuleNodeBorrowedOrNull<'a> = Option<&'a RawServoRuleNode>; +enum RawServoRuleNodeVoid { } +pub struct RawServoRuleNode(RawServoRuleNodeVoid); extern "C" { pub fn Gecko_EnsureTArrayCapacity(aArray: *mut ::std::os::raw::c_void, @@ -875,10 +875,6 @@ extern "C" { aImageValue: *mut ImageValue); } extern "C" { - pub fn Gecko_SetUrlImageValue(image: *mut nsStyleImage, - uri: ServoBundledURI); -} -extern "C" { pub fn Gecko_SetImageElement(image: *mut nsStyleImage, atom: *mut nsIAtom); } @@ -902,10 +898,6 @@ extern "C" { aImageValue: *mut ImageValue); } extern "C" { - pub fn Gecko_SetListStyleImage(style_struct: *mut nsStyleList, - uri: ServoBundledURI); -} -extern "C" { pub fn Gecko_CopyListStyleImageFrom(dest: *mut nsStyleList, src: *const nsStyleList); } @@ -918,10 +910,6 @@ extern "C" { aImageValue: *mut ImageValue); } extern "C" { - pub fn Gecko_SetCursorImage(cursor: *mut nsCursorImage, - uri: ServoBundledURI); -} -extern "C" { pub fn Gecko_CopyCursorArrayFrom(dest: *mut nsStyleUserInterface, src: *const nsStyleUserInterface); } @@ -930,10 +918,6 @@ extern "C" { aImageValue: *mut ImageValue); } extern "C" { - pub fn Gecko_SetContentDataImage(content_data: *mut nsStyleContentData, - uri: ServoBundledURI); -} -extern "C" { pub fn Gecko_SetContentDataArray(content_data: *mut nsStyleContentData, type_: nsStyleContentType, len: u32); } @@ -1752,6 +1736,9 @@ extern "C" { -> RawServoStyleSetOwned; } extern "C" { + pub fn Servo_StyleSet_Clear(set: RawServoStyleSetBorrowed); +} +extern "C" { pub fn Servo_StyleSet_RebuildData(set: RawServoStyleSetBorrowed); } extern "C" { @@ -2485,6 +2472,11 @@ extern "C" { -> ServoComputedValuesStrong; } extern "C" { + pub fn Servo_SerializeFontValueForCanvas(declarations: + RawServoDeclarationBlockBorrowed, + buffer: *mut nsAString); +} +extern "C" { pub fn Servo_GetStyleFont(computed_values: ServoComputedValuesBorrowedOrNull) -> *const nsStyleFont; diff --git a/components/style/gecko/generated/structs_debug.rs b/components/style/gecko/generated/structs_debug.rs index f5492e5bfe8..8f4e4f16319 100644 --- a/components/style/gecko/generated/structs_debug.rs +++ b/components/style/gecko/generated/structs_debug.rs @@ -1196,101 +1196,47 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug, Copy)] - pub struct forward_iterator_tag { - pub _address: u8, - } - #[test] - fn bindgen_test_layout_forward_iterator_tag() { - assert_eq!(::std::mem::size_of::<forward_iterator_tag>() , 1usize - , concat ! ( - "Size of: " , stringify ! ( forward_iterator_tag ) )); - assert_eq! (::std::mem::align_of::<forward_iterator_tag>() , - 1usize , concat ! ( - "Alignment of " , stringify ! ( forward_iterator_tag ) - )); - } - impl Clone for forward_iterator_tag { - fn clone(&self) -> Self { *self } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct bidirectional_iterator_tag { - pub _address: u8, - } - #[test] - fn bindgen_test_layout_bidirectional_iterator_tag() { - assert_eq!(::std::mem::size_of::<bidirectional_iterator_tag>() , - 1usize , concat ! ( - "Size of: " , stringify ! ( bidirectional_iterator_tag - ) )); - assert_eq! (::std::mem::align_of::<bidirectional_iterator_tag>() , - 1usize , concat ! ( - "Alignment of " , stringify ! ( - bidirectional_iterator_tag ) )); - } - impl Clone for bidirectional_iterator_tag { - fn clone(&self) -> Self { *self } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct random_access_iterator_tag { - pub _address: u8, - } - #[test] - fn bindgen_test_layout_random_access_iterator_tag() { - assert_eq!(::std::mem::size_of::<random_access_iterator_tag>() , - 1usize , concat ! ( - "Size of: " , stringify ! ( random_access_iterator_tag - ) )); - assert_eq! (::std::mem::align_of::<random_access_iterator_tag>() , - 1usize , concat ! ( - "Alignment of " , stringify ! ( - random_access_iterator_tag ) )); - } - impl Clone for random_access_iterator_tag { - fn clone(&self) -> Self { *self } - } - #[repr(C)] - pub struct iterator_traits { - pub _address: u8, - } - #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct iterator { pub _address: u8, } + pub type iterator_iterator_category<_Category> = _Category; pub type iterator_value_type<_Tp> = _Tp; pub type iterator_difference_type<_Distance> = _Distance; pub type iterator_pointer<_Pointer> = _Pointer; pub type iterator_reference<_Reference> = _Reference; - pub type iterator_iterator_category<_Category> = _Category; #[repr(C)] - pub struct reverse_iterator<_Iter> { - pub __t: _Iter, - pub current: _Iter, - pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<_Iter>>, + pub struct iterator_traits { + pub _address: u8, + } + #[repr(C)] + pub struct reverse_iterator<_Iterator> { + pub current: _Iterator, + pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<_Iterator>>, } - pub type reverse_iterator_iterator_type<_Iter> = _Iter; + pub type reverse_iterator___traits_type = root::std::iterator_traits; + pub type reverse_iterator_iterator_type<_Iterator> = _Iterator; pub type reverse_iterator_difference_type = - root::std::iterator_traits; - pub type reverse_iterator_reference = root::std::iterator_traits; - pub type reverse_iterator_pointer = root::std::iterator_traits; + root::std::reverse_iterator___traits_type; + pub type reverse_iterator_pointer = + root::std::reverse_iterator___traits_type; + pub type reverse_iterator_reference = + root::std::reverse_iterator___traits_type; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atomic { } - pub type atomic___base = u8; - #[repr(C)] - pub struct __bit_const_reference { - pub __seg_: root::std::__bit_const_reference___storage_pointer, - pub __mask_: root::std::__bit_const_reference___storage_type, + pub mod chrono { + #[allow(unused_imports)] + use self::super::super::super::root; } - pub type __bit_const_reference___storage_type = [u8; 0usize]; - pub type __bit_const_reference___storage_pointer = [u8; 0usize]; } - pub type __int64_t = ::std::os::raw::c_longlong; - pub type __darwin_off_t = root::__int64_t; + pub mod __gnu_cxx { + #[allow(unused_imports)] + use self::super::super::root; + } + pub type __off_t = ::std::os::raw::c_long; + pub type __off64_t = ::std::os::raw::c_long; pub mod mozilla { #[allow(unused_imports)] use self::super::super::root; @@ -1580,7 +1526,7 @@ pub mod root { #[repr(C)] #[derive(Debug)] pub struct MutexImpl { - pub platformData_: [*mut ::std::os::raw::c_void; 8usize], + pub platformData_: [*mut ::std::os::raw::c_void; 5usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -1589,7 +1535,7 @@ pub mod root { } #[test] fn bindgen_test_layout_MutexImpl() { - assert_eq!(::std::mem::size_of::<MutexImpl>() , 64usize , + assert_eq!(::std::mem::size_of::<MutexImpl>() , 40usize , concat ! ( "Size of: " , stringify ! ( MutexImpl ) )); assert_eq! (::std::mem::align_of::<MutexImpl>() , 8usize , @@ -2220,7 +2166,7 @@ pub mod root { } } #[repr(C)] - #[derive(Debug, Copy)] + #[derive(Debug)] pub struct ThreadSafeAutoRefCnt { pub mValue: u64, } @@ -2241,9 +2187,6 @@ pub mod root { ThreadSafeAutoRefCnt ) , "::" , stringify ! ( mValue ) )); } - impl Clone for ThreadSafeAutoRefCnt { - fn clone(&self) -> Self { *self } - } #[repr(C)] #[derive(Debug)] pub struct OwningNonNull<T> { @@ -2629,78 +2572,118 @@ pub mod root { #[inline] pub fn mIsRootContent(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsRootContent(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDoSmoothScroll(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mDoSmoothScroll(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUseDisplayPortMargins(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mUseDisplayPortMargins(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsScrollInfoLayer(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsScrollInfoLayer(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mIsRootContent: bool, + mDoSmoothScroll: bool, + mUseDisplayPortMargins: bool, + mIsScrollInfoLayer: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mIsRootContent = + mIsRootContent as u8 as u8; + let mask = 1usize as u8; + let mIsRootContent = + (mIsRootContent << 0usize) & + mask; + bitfield_unit_val | mIsRootContent + }; + let mDoSmoothScroll = + mDoSmoothScroll as u8 as u8; + let mask = 2usize as u8; + let mDoSmoothScroll = + (mDoSmoothScroll << 1usize) & mask; + bitfield_unit_val | mDoSmoothScroll + }; + let mUseDisplayPortMargins = + mUseDisplayPortMargins as u8 as u8; + let mask = 4usize as u8; + let mUseDisplayPortMargins = + (mUseDisplayPortMargins << 2usize) & mask; + bitfield_unit_val | mUseDisplayPortMargins + }; + let mIsScrollInfoLayer = mIsScrollInfoLayer as u8 as u8; + let mask = 8usize as u8; + let mIsScrollInfoLayer = + (mIsScrollInfoLayer << 3usize) & mask; + bitfield_unit_val | mIsScrollInfoLayer } } #[repr(C)] @@ -2893,28 +2876,28 @@ pub mod root { #[inline] pub fn mHasScrollgrab(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasScrollgrab(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mAllowVerticalScrollWithWheel(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] @@ -2922,69 +2905,125 @@ pub mod root { val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsLayersIdRoot(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsLayersIdRoot(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUsesContainerScrolling(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mUsesContainerScrolling(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mForceDisableApz(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mForceDisableApz(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mHasScrollgrab: bool, + mAllowVerticalScrollWithWheel: bool, + mIsLayersIdRoot: bool, + mUsesContainerScrolling: bool, + mForceDisableApz: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mHasScrollgrab = + mHasScrollgrab as u8 + as u8; + let mask = 1usize as u8; + let mHasScrollgrab = + (mHasScrollgrab << + 0usize) & mask; + bitfield_unit_val | + mHasScrollgrab + }; + let mAllowVerticalScrollWithWheel = + mAllowVerticalScrollWithWheel + as u8 as u8; + let mask = 2usize as u8; + let mAllowVerticalScrollWithWheel = + (mAllowVerticalScrollWithWheel + << 1usize) & mask; + bitfield_unit_val | + mAllowVerticalScrollWithWheel + }; + let mIsLayersIdRoot = + mIsLayersIdRoot as u8 as u8; + let mask = 4usize as u8; + let mIsLayersIdRoot = + (mIsLayersIdRoot << 2usize) & mask; + bitfield_unit_val | mIsLayersIdRoot + }; + let mUsesContainerScrolling = + mUsesContainerScrolling as u8 as u8; + let mask = 8usize as u8; + let mUsesContainerScrolling = + (mUsesContainerScrolling << 3usize) & mask; + bitfield_unit_val | mUsesContainerScrolling + }; + let mForceDisableApz = mForceDisableApz as u8 as u8; + let mask = 16usize as u8; + let mForceDisableApz = + (mForceDisableApz << 4usize) & mask; + bitfield_unit_val | mForceDisableApz } } #[repr(C)] @@ -6410,6 +6449,7 @@ pub mod root { Normal = 0, ForReconstruct = 1, ForAnimationOnly = 2, + ForCSSRuleChanges = 3, } pub const UpdateAnimationsTasks_CSSAnimations: root::mozilla::UpdateAnimationsTasks = @@ -6943,7 +6983,7 @@ pub mod root { _unused: [u8; 0], } #[test] - fn __bindgen_test_layout_StaticRefPtr_instantiation_119008() { + fn __bindgen_test_layout_StaticRefPtr_instantiation_2() { assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -8053,7 +8093,7 @@ pub mod root { } #[test] fn bindgen_test_layout_OffTheBooksMutex() { - assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 96usize , + assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 72usize , concat ! ( "Size of: " , stringify ! ( OffTheBooksMutex ) )); assert_eq! (::std::mem::align_of::<OffTheBooksMutex>() , 8usize , @@ -8061,7 +8101,7 @@ pub mod root { "Alignment of " , stringify ! ( OffTheBooksMutex ) )); assert_eq! (unsafe { & ( * ( 0 as * const OffTheBooksMutex ) ) . - mOwningThread as * const _ as usize } , 88usize , + mOwningThread as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( OffTheBooksMutex ) , "::" , stringify ! ( @@ -8079,7 +8119,7 @@ pub mod root { } #[test] fn bindgen_test_layout_Mutex() { - assert_eq!(::std::mem::size_of::<Mutex>() , 96usize , concat ! ( + assert_eq!(::std::mem::size_of::<Mutex>() , 72usize , concat ! ( "Size of: " , stringify ! ( Mutex ) )); assert_eq! (::std::mem::align_of::<Mutex>() , 8usize , concat ! ( "Alignment of " , stringify ! ( Mutex ) )); @@ -9198,7 +9238,7 @@ pub mod root { ( mValue ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_156786() { + fn __bindgen_test_layout_DefaultDelete_instantiation_3() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -10316,194 +10356,196 @@ pub mod root { pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>, } } - pub type va_list = root::__builtin_va_list; - pub type fpos_t = root::__darwin_off_t; - #[repr(C)] - #[derive(Debug, Copy)] - pub struct __sbuf { - pub _base: *mut ::std::os::raw::c_uchar, - pub _size: ::std::os::raw::c_int, - } - #[test] - fn bindgen_test_layout___sbuf() { - assert_eq!(::std::mem::size_of::<__sbuf>() , 16usize , concat ! ( - "Size of: " , stringify ! ( __sbuf ) )); - assert_eq! (::std::mem::align_of::<__sbuf>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( __sbuf ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const __sbuf ) ) . _base as * const _ as - usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( __sbuf ) , "::" , - stringify ! ( _base ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const __sbuf ) ) . _size as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( __sbuf ) , "::" , - stringify ! ( _size ) )); - } - impl Clone for __sbuf { - fn clone(&self) -> Self { *self } - } - #[repr(C)] - #[derive(Debug, Copy, Clone)] - pub struct __sFILEX { - _unused: [u8; 0], - } #[repr(C)] #[derive(Debug, Copy)] - pub struct __sFILE { - pub _p: *mut ::std::os::raw::c_uchar, - pub _r: ::std::os::raw::c_int, - pub _w: ::std::os::raw::c_int, - pub _flags: ::std::os::raw::c_short, - pub _file: ::std::os::raw::c_short, - pub _bf: root::__sbuf, - pub _lbfsize: ::std::os::raw::c_int, - pub _cookie: *mut ::std::os::raw::c_void, - pub _close: ::std::option::Option<unsafe extern "C" fn(arg1: - *mut ::std::os::raw::c_void) - -> ::std::os::raw::c_int>, - pub _read: ::std::option::Option<unsafe extern "C" fn(arg1: - *mut ::std::os::raw::c_void, - arg2: - *mut ::std::os::raw::c_char, - arg3: - ::std::os::raw::c_int) - -> ::std::os::raw::c_int>, - pub _seek: ::std::option::Option<unsafe extern "C" fn(arg1: - *mut ::std::os::raw::c_void, - arg2: - root::fpos_t, - arg3: - ::std::os::raw::c_int) - -> root::fpos_t>, - pub _write: ::std::option::Option<unsafe extern "C" fn(arg1: - *mut ::std::os::raw::c_void, - arg2: - *const ::std::os::raw::c_char, - arg3: - ::std::os::raw::c_int) - -> ::std::os::raw::c_int>, - pub _ub: root::__sbuf, - pub _extra: *mut root::__sFILEX, - pub _ur: ::std::os::raw::c_int, - pub _ubuf: [::std::os::raw::c_uchar; 3usize], - pub _nbuf: [::std::os::raw::c_uchar; 1usize], - pub _lb: root::__sbuf, - pub _blksize: ::std::os::raw::c_int, - pub _offset: root::fpos_t, - } - #[test] - fn bindgen_test_layout___sFILE() { - assert_eq!(::std::mem::size_of::<__sFILE>() , 152usize , concat ! ( - "Size of: " , stringify ! ( __sFILE ) )); - assert_eq! (::std::mem::align_of::<__sFILE>() , 8usize , concat ! ( - "Alignment of " , stringify ! ( __sFILE ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _p as * const _ as + pub struct _IO_FILE { + pub _flags: ::std::os::raw::c_int, + pub _IO_read_ptr: *mut ::std::os::raw::c_char, + pub _IO_read_end: *mut ::std::os::raw::c_char, + pub _IO_read_base: *mut ::std::os::raw::c_char, + pub _IO_write_base: *mut ::std::os::raw::c_char, + pub _IO_write_ptr: *mut ::std::os::raw::c_char, + pub _IO_write_end: *mut ::std::os::raw::c_char, + pub _IO_buf_base: *mut ::std::os::raw::c_char, + pub _IO_buf_end: *mut ::std::os::raw::c_char, + pub _IO_save_base: *mut ::std::os::raw::c_char, + pub _IO_backup_base: *mut ::std::os::raw::c_char, + pub _IO_save_end: *mut ::std::os::raw::c_char, + pub _markers: *mut root::_IO_marker, + pub _chain: *mut root::_IO_FILE, + pub _fileno: ::std::os::raw::c_int, + pub _flags2: ::std::os::raw::c_int, + pub _old_offset: root::__off_t, + pub _cur_column: ::std::os::raw::c_ushort, + pub _vtable_offset: ::std::os::raw::c_schar, + pub _shortbuf: [::std::os::raw::c_char; 1usize], + pub _lock: *mut root::_IO_lock_t, + pub _offset: root::__off64_t, + pub __pad1: *mut ::std::os::raw::c_void, + pub __pad2: *mut ::std::os::raw::c_void, + pub __pad3: *mut ::std::os::raw::c_void, + pub __pad4: *mut ::std::os::raw::c_void, + pub __pad5: usize, + pub _mode: ::std::os::raw::c_int, + pub _unused2: [::std::os::raw::c_char; 20usize], + } + #[test] + fn bindgen_test_layout__IO_FILE() { + assert_eq!(::std::mem::size_of::<_IO_FILE>() , 216usize , concat ! ( + "Size of: " , stringify ! ( _IO_FILE ) )); + assert_eq! (::std::mem::align_of::<_IO_FILE>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( _IO_FILE ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _flags as * const _ as usize } , 0usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _p ) )); + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _flags ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _r as * const _ as - usize } , 8usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _r ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_ptr as * + const _ as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_read_ptr ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _w as * const _ as - usize } , 12usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _w ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_end as * + const _ as usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_read_end ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _flags as * const _ as - usize } , 16usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _flags ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _IO_read_base as * + const _ as usize } , 24usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_read_base ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _file as * const _ as - usize } , 18usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _file ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_base as * + const _ as usize } , 32usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_write_base ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _bf as * const _ as - usize } , 24usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _bf ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_ptr as * + const _ as usize } , 40usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_write_ptr ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _lbfsize as * const _ - as usize } , 40usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _lbfsize ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _IO_write_end as * + const _ as usize } , 48usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_write_end ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _cookie as * const _ as - usize } , 48usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _cookie ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _IO_buf_base as * + const _ as usize } , 56usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_buf_base ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _close as * const _ as - usize } , 56usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _close ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _IO_buf_end as * const + _ as usize } , 64usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_buf_end ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _read as * const _ as - usize } , 64usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _read ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _IO_save_base as * + const _ as usize } , 72usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_save_base ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _seek as * const _ as - usize } , 72usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _seek ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _IO_backup_base as * + const _ as usize } , 80usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_backup_base ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _write as * const _ as - usize } , 80usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _write ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _IO_save_end as * + const _ as usize } , 88usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _IO_save_end ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _ub as * const _ as - usize } , 88usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _ub ) )); + & ( * ( 0 as * const _IO_FILE ) ) . _markers as * const _ + as usize } , 96usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _markers ) )); assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _extra as * const _ as + & ( * ( 0 as * const _IO_FILE ) ) . _chain as * const _ as usize } , 104usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _extra ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _ur as * const _ as - usize } , 112usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _ur ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _ubuf as * const _ as - usize } , 116usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _ubuf ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _nbuf as * const _ as - usize } , 119usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _nbuf ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _lb as * const _ as - usize } , 120usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _lb ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _blksize as * const _ - as usize } , 136usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , - stringify ! ( _blksize ) )); - assert_eq! (unsafe { - & ( * ( 0 as * const __sFILE ) ) . _offset as * const _ as - usize } , 144usize , concat ! ( - "Alignment of field: " , stringify ! ( __sFILE ) , "::" , + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _chain ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _fileno as * const _ + as usize } , 112usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _fileno ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _flags2 as * const _ + as usize } , 116usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _flags2 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _old_offset as * const + _ as usize } , 120usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _old_offset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _cur_column as * const + _ as usize } , 128usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _cur_column ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _vtable_offset as * + const _ as usize } , 130usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _vtable_offset ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _shortbuf as * const _ + as usize } , 131usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _shortbuf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _lock as * const _ as + usize } , 136usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _lock ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _offset as * const _ + as usize } , 144usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , stringify ! ( _offset ) )); - } - impl Clone for __sFILE { + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . __pad1 as * const _ as + usize } , 152usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( __pad1 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . __pad2 as * const _ as + usize } , 160usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( __pad2 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . __pad3 as * const _ as + usize } , 168usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( __pad3 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . __pad4 as * const _ as + usize } , 176usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( __pad4 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . __pad5 as * const _ as + usize } , 184usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( __pad5 ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _mode as * const _ as + usize } , 192usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _mode ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_FILE ) ) . _unused2 as * const _ + as usize } , 196usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_FILE ) , "::" , + stringify ! ( _unused2 ) )); + } + impl Clone for _IO_FILE { fn clone(&self) -> Self { *self } } - pub type FILE = root::__sFILE; + pub type FILE = root::_IO_FILE; + pub type va_list = root::__builtin_va_list; #[repr(C)] #[derive(Debug, Copy)] pub struct InfallibleAllocPolicy { @@ -11060,6 +11102,39 @@ pub mod root { NS_OK_NO_NAME_CLAUSE_HANDLED = 7864354, } pub type nsrefcnt = root::MozRefCountType; + pub type _IO_lock_t = ::std::os::raw::c_void; + #[repr(C)] + #[derive(Debug, Copy)] + pub struct _IO_marker { + pub _next: *mut root::_IO_marker, + pub _sbuf: *mut root::_IO_FILE, + pub _pos: ::std::os::raw::c_int, + } + #[test] + fn bindgen_test_layout__IO_marker() { + assert_eq!(::std::mem::size_of::<_IO_marker>() , 24usize , concat ! ( + "Size of: " , stringify ! ( _IO_marker ) )); + assert_eq! (::std::mem::align_of::<_IO_marker>() , 8usize , concat ! ( + "Alignment of " , stringify ! ( _IO_marker ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_marker ) ) . _next as * const _ + as usize } , 0usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_marker ) , "::" + , stringify ! ( _next ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_marker ) ) . _sbuf as * const _ + as usize } , 8usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_marker ) , "::" + , stringify ! ( _sbuf ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const _IO_marker ) ) . _pos as * const _ as + usize } , 16usize , concat ! ( + "Alignment of field: " , stringify ! ( _IO_marker ) , "::" + , stringify ! ( _pos ) )); + } + impl Clone for _IO_marker { + fn clone(&self) -> Self { *self } + } #[repr(C)] pub struct nsQueryFrame__bindgen_vtable(::std::os::raw::c_void); #[repr(C)] @@ -11618,28 +11693,6 @@ pub mod root { pub struct nsCharTraits { pub _address: u8, } - #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_53553() { - assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , - concat ! ( - "Size of template specialization: " , stringify ! ( - root::nsCharTraits ) )); - assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , - concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::nsCharTraits ) )); - } - #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_53557() { - assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , - concat ! ( - "Size of template specialization: " , stringify ! ( - root::nsCharTraits ) )); - assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , - concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::nsCharTraits ) )); - } /** * @see nsTAString */ @@ -12321,40 +12374,56 @@ pub mod root { #[inline] pub fn payload47(&self) -> u64 { let mask = 140737488355327usize as u64; - let field_val: u64 = + let unit_field_val: u64 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u64) } } #[inline] pub fn set_payload47(&mut self, val: u64) { let mask = 140737488355327usize as u64; let val = val as u64 as u64; - let mut field_val: u64 = + let mut unit_field_val: u64 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn tag(&self) -> root::JSValueTag { let mask = 18446603336221196288usize as u64; - let field_val: u64 = + let unit_field_val: u64 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 47usize; + let val = (unit_field_val & mask) >> 47usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_tag(&mut self, val: root::JSValueTag) { let mask = 18446603336221196288usize as u64; let val = val as u32 as u64; - let mut field_val: u64 = + let mut unit_field_val: u64 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 47usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 47usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(payload47: u64, tag: root::JSValueTag) + -> u64 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let payload47 = payload47 as u64 as u64; + let mask = 140737488355327usize as u64; + let payload47 = (payload47 << 0usize) & mask; + bitfield_unit_val | payload47 + }; + let tag = tag as u32 as u64; + let mask = 18446603336221196288usize as u64; + let tag = (tag << 47usize) & mask; + bitfield_unit_val | tag } } #[repr(C)] @@ -13102,17 +13171,6 @@ pub mod root { pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>, } pub type nsCOMPtr_element_type<T> = T; - #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_62693() { - assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsISupports>>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::nsCOMPtr<root::nsISupports> ) )); - assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsISupports>>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::nsCOMPtr<root::nsISupports> ) )); - } #[repr(C)] #[derive(Debug)] pub struct nsAutoPtr<T> { @@ -13749,38 +13807,55 @@ pub mod root { #[inline] pub fn mCapacity(&self) -> u32 { let mask = 2147483647usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mCapacity(&mut self, val: u32) { let mask = 2147483647usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsAutoArray(&self) -> u32 { let mask = 2147483648usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 31usize; + let val = (unit_field_val & mask) >> 31usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsAutoArray(&mut self, val: u32) { let mask = 2147483648usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 31usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 31usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mCapacity: u32, mIsAutoArray: u32) -> u32 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mCapacity = mCapacity as u32 as u32; + let mask = 2147483647usize as u32; + let mCapacity = (mCapacity << 0usize) & mask; + bitfield_unit_val | mCapacity + }; + let mIsAutoArray = mIsAutoArray as u32 as u32; + let mask = 2147483648usize as u32; + let mIsAutoArray = (mIsAutoArray << 31usize) & mask; + bitfield_unit_val | mIsAutoArray } } pub type nscoord = i32; @@ -14579,6 +14654,28 @@ pub mod root { #[inline] fn bitor(self, other: Self) -> Self { nsChangeHint(self.0 | other.0) } } + impl ::std::ops::BitOrAssign for root::nsChangeHint { + #[inline] + fn bitor_assign(&mut self, rhs: root::nsChangeHint) { + self.0 |= rhs.0; + } + } + impl ::std::ops::BitAnd<root::nsChangeHint> for root::nsChangeHint { + type + Output + = + Self; + #[inline] + fn bitand(self, other: Self) -> Self { + nsChangeHint(self.0 & other.0) + } + } + impl ::std::ops::BitAndAssign for root::nsChangeHint { + #[inline] + fn bitand_assign(&mut self, rhs: root::nsChangeHint) { + self.0 &= rhs.0; + } + } #[repr(C)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct nsChangeHint(pub u32); @@ -14616,6 +14713,28 @@ pub mod root { nsRestyleHint(self.0 | other.0) } } + impl ::std::ops::BitOrAssign for root::nsRestyleHint { + #[inline] + fn bitor_assign(&mut self, rhs: root::nsRestyleHint) { + self.0 |= rhs.0; + } + } + impl ::std::ops::BitAnd<root::nsRestyleHint> for root::nsRestyleHint { + type + Output + = + Self; + #[inline] + fn bitand(self, other: Self) -> Self { + nsRestyleHint(self.0 & other.0) + } + } + impl ::std::ops::BitAndAssign for root::nsRestyleHint { + #[inline] + fn bitand_assign(&mut self, rhs: root::nsRestyleHint) { + self.0 &= rhs.0; + } + } #[repr(C)] /** * |nsRestyleHint| is a bitfield for the result of @@ -14702,7 +14821,7 @@ pub mod root { * count is 1. */ #[repr(C)] - #[derive(Debug, Copy)] + #[derive(Debug)] pub struct nsStringBuffer { pub mRefCount: u32, pub mStorageSize: u32, @@ -14724,9 +14843,6 @@ pub mod root { "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mStorageSize ) )); } - impl Clone for nsStringBuffer { - fn clone(&self) -> Self { *self } - } #[repr(C)] #[derive(Debug, Copy)] pub struct nsIAtom { @@ -14769,38 +14885,55 @@ pub mod root { #[inline] pub fn mLength(&self) -> u32 { let mask = 2147483647usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mLength(&mut self, val: u32) { let mask = 2147483647usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsStatic(&self) -> u32 { let mask = 2147483648usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 31usize; + let val = (unit_field_val & mask) >> 31usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsStatic(&mut self, val: u32) { let mask = 2147483648usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 31usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 31usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mLength: u32, mIsStatic: u32) -> u32 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mLength = mLength as u32 as u32; + let mask = 2147483647usize as u32; + let mLength = (mLength << 0usize) & mask; + bitfield_unit_val | mLength + }; + let mIsStatic = mIsStatic as u32 as u32; + let mask = 2147483648usize as u32; + let mIsStatic = (mIsStatic << 31usize) & mask; + bitfield_unit_val | mIsStatic } } #[repr(C)] @@ -15596,20 +15729,29 @@ pub mod root { #[inline] pub fn ownsMessage_(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_ownsMessage_(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(ownsMessage_: bool) -> u8 { + let bitfield_unit_val = { 0 }; + let ownsMessage_ = ownsMessage_ as u8 as u8; + let mask = 1usize as u8; + let ownsMessage_ = (ownsMessage_ << 0usize) & mask; + bitfield_unit_val | ownsMessage_ } } /** @@ -16776,812 +16918,1440 @@ pub mod root { #[inline] pub fn mBidiEnabled(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mBidiEnabled(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mMathMLEnabled(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mMathMLEnabled(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsInitialDocumentInWindow(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsInitialDocumentInWindow(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIgnoreDocGroupMismatches(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIgnoreDocGroupMismatches(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mLoadedAsData(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mLoadedAsData(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mLoadedAsInteractiveData(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mLoadedAsInteractiveData(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mMayStartLayout(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mMayStartLayout(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHaveFiredTitleChange(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHaveFiredTitleChange(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mBidiEnabled: bool, mMathMLEnabled: bool, + mIsInitialDocumentInWindow: bool, + mIgnoreDocGroupMismatches: bool, + mLoadedAsData: bool, + mLoadedAsInteractiveData: bool, + mMayStartLayout: bool, + mHaveFiredTitleChange: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mBidiEnabled = + mBidiEnabled + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mBidiEnabled = + (mBidiEnabled + << + 0usize) + & + mask; + bitfield_unit_val + | + mBidiEnabled + }; + let mMathMLEnabled = + mMathMLEnabled + as u8 as + u8; + let mask = + 2usize as u8; + let mMathMLEnabled = + (mMathMLEnabled + << + 1usize) & + mask; + bitfield_unit_val + | + mMathMLEnabled + }; + let mIsInitialDocumentInWindow = + mIsInitialDocumentInWindow + as u8 as u8; + let mask = 4usize as u8; + let mIsInitialDocumentInWindow = + (mIsInitialDocumentInWindow + << 2usize) & + mask; + bitfield_unit_val | + mIsInitialDocumentInWindow + }; + let mIgnoreDocGroupMismatches = + mIgnoreDocGroupMismatches as + u8 as u8; + let mask = 8usize as u8; + let mIgnoreDocGroupMismatches = + (mIgnoreDocGroupMismatches << + 3usize) & mask; + bitfield_unit_val | + mIgnoreDocGroupMismatches + }; + let mLoadedAsData = + mLoadedAsData as u8 as u8; + let mask = 16usize as u8; + let mLoadedAsData = + (mLoadedAsData << 4usize) & mask; + bitfield_unit_val | mLoadedAsData + }; + let mLoadedAsInteractiveData = + mLoadedAsInteractiveData as u8 as u8; + let mask = 32usize as u8; + let mLoadedAsInteractiveData = + (mLoadedAsInteractiveData << 5usize) & mask; + bitfield_unit_val | mLoadedAsInteractiveData + }; + let mMayStartLayout = mMayStartLayout as u8 as u8; + let mask = 64usize as u8; + let mMayStartLayout = (mMayStartLayout << 6usize) & mask; + bitfield_unit_val | mMayStartLayout + }; + let mHaveFiredTitleChange = mHaveFiredTitleChange as u8 as u8; + let mask = 128usize as u8; + let mHaveFiredTitleChange = + (mHaveFiredTitleChange << 7usize) & mask; + bitfield_unit_val | mHaveFiredTitleChange } #[inline] pub fn mIsShowing(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsShowing(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mVisible(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mVisible(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasReferrerPolicyCSP(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasReferrerPolicyCSP(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mRemovedFromDocShell(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mRemovedFromDocShell(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mAllowDNSPrefetch(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mAllowDNSPrefetch(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsStaticDocument(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsStaticDocument(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mCreatingStaticClone(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mCreatingStaticClone(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mInUnlinkOrDeletion(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mInUnlinkOrDeletion(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_2(mIsShowing: bool, mVisible: bool, + mHasReferrerPolicyCSP: bool, + mRemovedFromDocShell: bool, + mAllowDNSPrefetch: bool, + mIsStaticDocument: bool, + mCreatingStaticClone: bool, + mInUnlinkOrDeletion: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mIsShowing = + mIsShowing + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mIsShowing = + (mIsShowing + << + 0usize) + & + mask; + bitfield_unit_val + | + mIsShowing + }; + let mVisible = + mVisible as u8 + as u8; + let mask = + 2usize as u8; + let mVisible = + (mVisible << + 1usize) & + mask; + bitfield_unit_val + | mVisible + }; + let mHasReferrerPolicyCSP = + mHasReferrerPolicyCSP + as u8 as u8; + let mask = 4usize as u8; + let mHasReferrerPolicyCSP = + (mHasReferrerPolicyCSP + << 2usize) & + mask; + bitfield_unit_val | + mHasReferrerPolicyCSP + }; + let mRemovedFromDocShell = + mRemovedFromDocShell as u8 as + u8; + let mask = 8usize as u8; + let mRemovedFromDocShell = + (mRemovedFromDocShell << + 3usize) & mask; + bitfield_unit_val | + mRemovedFromDocShell + }; + let mAllowDNSPrefetch = + mAllowDNSPrefetch as u8 as u8; + let mask = 16usize as u8; + let mAllowDNSPrefetch = + (mAllowDNSPrefetch << 4usize) & mask; + bitfield_unit_val | mAllowDNSPrefetch + }; + let mIsStaticDocument = + mIsStaticDocument as u8 as u8; + let mask = 32usize as u8; + let mIsStaticDocument = + (mIsStaticDocument << 5usize) & mask; + bitfield_unit_val | mIsStaticDocument + }; + let mCreatingStaticClone = + mCreatingStaticClone as u8 as u8; + let mask = 64usize as u8; + let mCreatingStaticClone = + (mCreatingStaticClone << 6usize) & mask; + bitfield_unit_val | mCreatingStaticClone + }; + let mInUnlinkOrDeletion = mInUnlinkOrDeletion as u8 as u8; + let mask = 128usize as u8; + let mInUnlinkOrDeletion = (mInUnlinkOrDeletion << 7usize) & mask; + bitfield_unit_val | mInUnlinkOrDeletion } #[inline] pub fn mHasHadScriptHandlingObject(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasHadScriptHandlingObject(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsBeingUsedAsImage(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsBeingUsedAsImage(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsSyntheticDocument(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsSyntheticDocument(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasLinksToUpdate(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasLinksToUpdate(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasLinksToUpdateRunnable(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasLinksToUpdateRunnable(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mMayHaveDOMMutationObservers(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mMayHaveDOMMutationObservers(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mMayHaveAnimationObservers(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mMayHaveAnimationObservers(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasMixedActiveContentLoaded(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasMixedActiveContentLoaded(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_3(mHasHadScriptHandlingObject: bool, + mIsBeingUsedAsImage: bool, + mIsSyntheticDocument: bool, + mHasLinksToUpdate: bool, + mHasLinksToUpdateRunnable: bool, + mMayHaveDOMMutationObservers: bool, + mMayHaveAnimationObservers: bool, + mHasMixedActiveContentLoaded: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mHasHadScriptHandlingObject = + mHasHadScriptHandlingObject + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mHasHadScriptHandlingObject = + (mHasHadScriptHandlingObject + << + 0usize) + & + mask; + bitfield_unit_val + | + mHasHadScriptHandlingObject + }; + let mIsBeingUsedAsImage = + mIsBeingUsedAsImage + as u8 as + u8; + let mask = + 2usize as u8; + let mIsBeingUsedAsImage = + (mIsBeingUsedAsImage + << + 1usize) & + mask; + bitfield_unit_val + | + mIsBeingUsedAsImage + }; + let mIsSyntheticDocument = + mIsSyntheticDocument + as u8 as u8; + let mask = 4usize as u8; + let mIsSyntheticDocument = + (mIsSyntheticDocument + << 2usize) & + mask; + bitfield_unit_val | + mIsSyntheticDocument + }; + let mHasLinksToUpdate = + mHasLinksToUpdate as u8 as u8; + let mask = 8usize as u8; + let mHasLinksToUpdate = + (mHasLinksToUpdate << 3usize) + & mask; + bitfield_unit_val | + mHasLinksToUpdate + }; + let mHasLinksToUpdateRunnable = + mHasLinksToUpdateRunnable as u8 as u8; + let mask = 16usize as u8; + let mHasLinksToUpdateRunnable = + (mHasLinksToUpdateRunnable << 4usize) + & mask; + bitfield_unit_val | + mHasLinksToUpdateRunnable + }; + let mMayHaveDOMMutationObservers = + mMayHaveDOMMutationObservers as u8 as u8; + let mask = 32usize as u8; + let mMayHaveDOMMutationObservers = + (mMayHaveDOMMutationObservers << 5usize) & + mask; + bitfield_unit_val | mMayHaveDOMMutationObservers + }; + let mMayHaveAnimationObservers = + mMayHaveAnimationObservers as u8 as u8; + let mask = 64usize as u8; + let mMayHaveAnimationObservers = + (mMayHaveAnimationObservers << 6usize) & mask; + bitfield_unit_val | mMayHaveAnimationObservers + }; + let mHasMixedActiveContentLoaded = + mHasMixedActiveContentLoaded as u8 as u8; + let mask = 128usize as u8; + let mHasMixedActiveContentLoaded = + (mHasMixedActiveContentLoaded << 7usize) & mask; + bitfield_unit_val | mHasMixedActiveContentLoaded } #[inline] pub fn mHasMixedActiveContentBlocked(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasMixedActiveContentBlocked(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasMixedDisplayContentLoaded(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasMixedDisplayContentLoaded(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasMixedDisplayContentBlocked(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasMixedDisplayContentBlocked(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasMixedContentObjectSubrequest(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasMixedContentObjectSubrequest(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasCSP(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasCSP(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasUnsafeEvalCSP(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasUnsafeEvalCSP(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasUnsafeInlineCSP(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasUnsafeInlineCSP(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasTrackingContentBlocked(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasTrackingContentBlocked(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_4(mHasMixedActiveContentBlocked: bool, + mHasMixedDisplayContentLoaded: bool, + mHasMixedDisplayContentBlocked: bool, + mHasMixedContentObjectSubrequest: bool, + mHasCSP: bool, mHasUnsafeEvalCSP: bool, + mHasUnsafeInlineCSP: bool, + mHasTrackingContentBlocked: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mHasMixedActiveContentBlocked = + mHasMixedActiveContentBlocked + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mHasMixedActiveContentBlocked = + (mHasMixedActiveContentBlocked + << + 0usize) + & + mask; + bitfield_unit_val + | + mHasMixedActiveContentBlocked + }; + let mHasMixedDisplayContentLoaded = + mHasMixedDisplayContentLoaded + as u8 as + u8; + let mask = + 2usize as u8; + let mHasMixedDisplayContentLoaded = + (mHasMixedDisplayContentLoaded + << + 1usize) & + mask; + bitfield_unit_val + | + mHasMixedDisplayContentLoaded + }; + let mHasMixedDisplayContentBlocked = + mHasMixedDisplayContentBlocked + as u8 as u8; + let mask = 4usize as u8; + let mHasMixedDisplayContentBlocked = + (mHasMixedDisplayContentBlocked + << 2usize) & + mask; + bitfield_unit_val | + mHasMixedDisplayContentBlocked + }; + let mHasMixedContentObjectSubrequest = + mHasMixedContentObjectSubrequest + as u8 as u8; + let mask = 8usize as u8; + let mHasMixedContentObjectSubrequest = + (mHasMixedContentObjectSubrequest + << 3usize) & mask; + bitfield_unit_val | + mHasMixedContentObjectSubrequest + }; + let mHasCSP = mHasCSP as u8 as u8; + let mask = 16usize as u8; + let mHasCSP = (mHasCSP << 4usize) & mask; + bitfield_unit_val | mHasCSP + }; + let mHasUnsafeEvalCSP = + mHasUnsafeEvalCSP as u8 as u8; + let mask = 32usize as u8; + let mHasUnsafeEvalCSP = + (mHasUnsafeEvalCSP << 5usize) & mask; + bitfield_unit_val | mHasUnsafeEvalCSP + }; + let mHasUnsafeInlineCSP = mHasUnsafeInlineCSP as u8 as u8; + let mask = 64usize as u8; + let mHasUnsafeInlineCSP = + (mHasUnsafeInlineCSP << 6usize) & mask; + bitfield_unit_val | mHasUnsafeInlineCSP + }; + let mHasTrackingContentBlocked = + mHasTrackingContentBlocked as u8 as u8; + let mask = 128usize as u8; + let mHasTrackingContentBlocked = + (mHasTrackingContentBlocked << 7usize) & mask; + bitfield_unit_val | mHasTrackingContentBlocked } #[inline] pub fn mHasTrackingContentLoaded(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasTrackingContentLoaded(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mBFCacheDisallowed(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mBFCacheDisallowed(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasHadDefaultView(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasHadDefaultView(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mStyleSheetChangeEventsEnabled(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mStyleSheetChangeEventsEnabled(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsSrcdocDocument(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsSrcdocDocument(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDidDocumentOpen(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mDidDocumentOpen(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasDisplayDocument(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasDisplayDocument(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFontFaceSetDirty(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mFontFaceSetDirty(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_5(mHasTrackingContentLoaded: bool, + mBFCacheDisallowed: bool, + mHasHadDefaultView: bool, + mStyleSheetChangeEventsEnabled: bool, + mIsSrcdocDocument: bool, mDidDocumentOpen: bool, + mHasDisplayDocument: bool, + mFontFaceSetDirty: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mHasTrackingContentLoaded = + mHasTrackingContentLoaded + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mHasTrackingContentLoaded = + (mHasTrackingContentLoaded + << + 0usize) + & + mask; + bitfield_unit_val + | + mHasTrackingContentLoaded + }; + let mBFCacheDisallowed = + mBFCacheDisallowed + as u8 as + u8; + let mask = + 2usize as u8; + let mBFCacheDisallowed = + (mBFCacheDisallowed + << + 1usize) & + mask; + bitfield_unit_val + | + mBFCacheDisallowed + }; + let mHasHadDefaultView = + mHasHadDefaultView as + u8 as u8; + let mask = 4usize as u8; + let mHasHadDefaultView = + (mHasHadDefaultView << + 2usize) & mask; + bitfield_unit_val | + mHasHadDefaultView + }; + let mStyleSheetChangeEventsEnabled = + mStyleSheetChangeEventsEnabled + as u8 as u8; + let mask = 8usize as u8; + let mStyleSheetChangeEventsEnabled = + (mStyleSheetChangeEventsEnabled + << 3usize) & mask; + bitfield_unit_val | + mStyleSheetChangeEventsEnabled + }; + let mIsSrcdocDocument = + mIsSrcdocDocument as u8 as u8; + let mask = 16usize as u8; + let mIsSrcdocDocument = + (mIsSrcdocDocument << 4usize) & mask; + bitfield_unit_val | mIsSrcdocDocument + }; + let mDidDocumentOpen = + mDidDocumentOpen as u8 as u8; + let mask = 32usize as u8; + let mDidDocumentOpen = + (mDidDocumentOpen << 5usize) & mask; + bitfield_unit_val | mDidDocumentOpen + }; + let mHasDisplayDocument = mHasDisplayDocument as u8 as u8; + let mask = 64usize as u8; + let mHasDisplayDocument = + (mHasDisplayDocument << 6usize) & mask; + bitfield_unit_val | mHasDisplayDocument + }; + let mFontFaceSetDirty = mFontFaceSetDirty as u8 as u8; + let mask = 128usize as u8; + let mFontFaceSetDirty = (mFontFaceSetDirty << 7usize) & mask; + bitfield_unit_val | mFontFaceSetDirty } #[inline] pub fn mGetUserFontSetCalled(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mGetUserFontSetCalled(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_6 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_6 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPostedFlushUserFontSet(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mPostedFlushUserFontSet(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_6 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_6 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDidFireDOMContentLoaded(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mDidFireDOMContentLoaded(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_6 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_6 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasScrollLinkedEffect(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasScrollLinkedEffect(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_6 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_6 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFrameRequestCallbacksScheduled(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mFrameRequestCallbacksScheduled(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_6 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_6 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_6(mGetUserFontSetCalled: bool, + mPostedFlushUserFontSet: bool, + mDidFireDOMContentLoaded: bool, + mHasScrollLinkedEffect: bool, + mFrameRequestCallbacksScheduled: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mGetUserFontSetCalled = + mGetUserFontSetCalled as u8 as + u8; + let mask = 1usize as u8; + let mGetUserFontSetCalled = + (mGetUserFontSetCalled << + 0usize) & mask; + bitfield_unit_val | + mGetUserFontSetCalled + }; + let mPostedFlushUserFontSet = + mPostedFlushUserFontSet as u8 as u8; + let mask = 2usize as u8; + let mPostedFlushUserFontSet = + (mPostedFlushUserFontSet << 1usize) & + mask; + bitfield_unit_val | + mPostedFlushUserFontSet + }; + let mDidFireDOMContentLoaded = + mDidFireDOMContentLoaded as u8 as u8; + let mask = 4usize as u8; + let mDidFireDOMContentLoaded = + (mDidFireDOMContentLoaded << 2usize) & mask; + bitfield_unit_val | mDidFireDOMContentLoaded + }; + let mHasScrollLinkedEffect = + mHasScrollLinkedEffect as u8 as u8; + let mask = 8usize as u8; + let mHasScrollLinkedEffect = + (mHasScrollLinkedEffect << 3usize) & mask; + bitfield_unit_val | mHasScrollLinkedEffect + }; + let mFrameRequestCallbacksScheduled = + mFrameRequestCallbacksScheduled as u8 as u8; + let mask = 16usize as u8; + let mFrameRequestCallbacksScheduled = + (mFrameRequestCallbacksScheduled << 4usize) & mask; + bitfield_unit_val | mFrameRequestCallbacksScheduled } } #[repr(C)] @@ -17793,6 +18563,8 @@ pub mod root { pub mImageAnimationMode: u16, pub mImageAnimationModePref: u16, pub mLangGroupFontPrefs: root::nsPresContext_LangGroupFontPrefs, + pub mFontGroupCacheDirty: bool, + pub mLanguagesUsed: [u64; 6usize], pub mBorderWidthTable: [root::nscoord; 3usize], pub mInterruptChecksToSkip: u32, pub mElementsRestyled: u64, @@ -17938,7 +18710,7 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPresContext() { - assert_eq!(::std::mem::size_of::<nsPresContext>() , 1336usize , concat + assert_eq!(::std::mem::size_of::<nsPresContext>() , 1392usize , concat ! ( "Size of: " , stringify ! ( nsPresContext ) )); assert_eq! (::std::mem::align_of::<nsPresContext>() , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPresContext ) )); @@ -18238,109 +19010,120 @@ pub mod root { "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLangGroupFontPrefs ) )); assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mFontGroupCacheDirty as * const _ as usize } , 1200usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFontGroupCacheDirty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mLanguagesUsed as + * const _ as usize } , 1208usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLanguagesUsed ) )); + assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBorderWidthTable - as * const _ as usize } , 1200usize , concat ! ( + as * const _ as usize } , 1256usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBorderWidthTable ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mInterruptChecksToSkip as * const _ as usize } , 1212usize + mInterruptChecksToSkip as * const _ as usize } , 1268usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mInterruptChecksToSkip ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mElementsRestyled - as * const _ as usize } , 1216usize , concat ! ( + as * const _ as usize } , 1272usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mElementsRestyled ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mFramesConstructed as * const _ as usize } , 1224usize , + mFramesConstructed as * const _ as usize } , 1280usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFramesConstructed ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFramesReflowed - as * const _ as usize } , 1232usize , concat ! ( + as * const _ as usize } , 1288usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFramesReflowed ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mReflowStartTime - as * const _ as usize } , 1240usize , concat ! ( + as * const _ as usize } , 1296usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mReflowStartTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstNonBlankPaintTime as * const _ as usize } , - 1248usize , concat ! ( + 1304usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstNonBlankPaintTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstClickTime - as * const _ as usize } , 1256usize , concat ! ( + as * const _ as usize } , 1312usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstClickTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstKeyTime as - * const _ as usize } , 1264usize , concat ! ( + * const _ as usize } , 1320usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstKeyTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mFirstMouseMoveTime as * const _ as usize } , 1272usize , + mFirstMouseMoveTime as * const _ as usize } , 1328usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstMouseMoveTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstScrollTime - as * const _ as usize } , 1280usize , concat ! ( + as * const _ as usize } , 1336usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstScrollTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mInteractionTimeEnabled as * const _ as usize } , - 1288usize , concat ! ( + 1344usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mInteractionTimeEnabled ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLastStyleUpdateForAllAnimations as * const _ as usize } , - 1296usize , concat ! ( + 1352usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLastStyleUpdateForAllAnimations ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mTelemetryScrollLastY as * const _ as usize } , 1304usize + mTelemetryScrollLastY as * const _ as usize } , 1360usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollLastY ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mTelemetryScrollMaxY as * const _ as usize } , 1308usize , + mTelemetryScrollMaxY as * const _ as usize } , 1364usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollMaxY ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mTelemetryScrollTotalY as * const _ as usize } , 1312usize + mTelemetryScrollTotalY as * const _ as usize } , 1368usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollTotalY ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mRestyleLoggingEnabled as * const _ as usize } , 1322usize + mRestyleLoggingEnabled as * const _ as usize } , 1378usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mRestyleLoggingEnabled ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mInitialized as * - const _ as usize } , 1323usize , concat ! ( + const _ as usize } , 1379usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mInitialized ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLayoutPhaseCount - as * const _ as usize } , 1324usize , concat ! ( + as * const _ as usize } , 1380usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLayoutPhaseCount ) )); } @@ -18348,9 +19131,9 @@ pub mod root { #[inline] pub fn mHasPendingInterrupt(&self) -> ::std::os::raw::c_uint { let mask = 1usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18358,18 +19141,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 1usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingInterruptFromTest(&self) -> ::std::os::raw::c_uint { let mask = 2usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18377,18 +19161,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 2usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mInterruptsEnabled(&self) -> ::std::os::raw::c_uint { let mask = 4usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18396,36 +19181,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 4usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUseDocumentFonts(&self) -> ::std::os::raw::c_uint { let mask = 8usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mUseDocumentFonts(&mut self, val: ::std::os::raw::c_uint) { let mask = 8usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUseDocumentColors(&self) -> ::std::os::raw::c_uint { let mask = 16usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18433,36 +19220,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 16usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUnderlineLinks(&self) -> ::std::os::raw::c_uint { let mask = 32usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mUnderlineLinks(&mut self, val: ::std::os::raw::c_uint) { let mask = 32usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mSendAfterPaintToContent(&self) -> ::std::os::raw::c_uint { let mask = 64usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18470,36 +19259,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 64usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUseFocusColors(&self) -> ::std::os::raw::c_uint { let mask = 128usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mUseFocusColors(&mut self, val: ::std::os::raw::c_uint) { let mask = 128usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFocusRingOnAnything(&self) -> ::std::os::raw::c_uint { let mask = 256usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 8usize; + let val = (unit_field_val & mask) >> 8usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18507,36 +19298,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 256usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 8usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 8usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFocusRingStyle(&self) -> ::std::os::raw::c_uint { let mask = 512usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 9usize; + let val = (unit_field_val & mask) >> 9usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mFocusRingStyle(&mut self, val: ::std::os::raw::c_uint) { let mask = 512usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 9usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 9usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDrawImageBackground(&self) -> ::std::os::raw::c_uint { let mask = 1024usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 10usize; + let val = (unit_field_val & mask) >> 10usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18544,18 +19337,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 1024usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 10usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 10usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDrawColorBackground(&self) -> ::std::os::raw::c_uint { let mask = 2048usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 11usize; + let val = (unit_field_val & mask) >> 11usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18563,36 +19357,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 2048usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 11usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 11usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mNeverAnimate(&self) -> ::std::os::raw::c_uint { let mask = 4096usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 12usize; + let val = (unit_field_val & mask) >> 12usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mNeverAnimate(&mut self, val: ::std::os::raw::c_uint) { let mask = 4096usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 12usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 12usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsRenderingOnlySelection(&self) -> ::std::os::raw::c_uint { let mask = 8192usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 13usize; + let val = (unit_field_val & mask) >> 13usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18600,36 +19396,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 8192usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 13usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 13usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPaginated(&self) -> ::std::os::raw::c_uint { let mask = 16384usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 14usize; + let val = (unit_field_val & mask) >> 14usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mPaginated(&mut self, val: ::std::os::raw::c_uint) { let mask = 16384usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 14usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 14usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mCanPaginatedScroll(&self) -> ::std::os::raw::c_uint { let mask = 32768usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 15usize; + let val = (unit_field_val & mask) >> 15usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18637,36 +19435,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 32768usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 15usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 15usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDoScaledTwips(&self) -> ::std::os::raw::c_uint { let mask = 65536usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 16usize; + let val = (unit_field_val & mask) >> 16usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mDoScaledTwips(&mut self, val: ::std::os::raw::c_uint) { let mask = 65536usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 16usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 16usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsRootPaginatedDocument(&self) -> ::std::os::raw::c_uint { let mask = 131072usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 17usize; + let val = (unit_field_val & mask) >> 17usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18674,18 +19474,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 131072usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 17usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 17usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPrefBidiDirection(&self) -> ::std::os::raw::c_uint { let mask = 262144usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 18usize; + let val = (unit_field_val & mask) >> 18usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18693,18 +19494,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 262144usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 18usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 18usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPrefScrollbarSide(&self) -> ::std::os::raw::c_uint { let mask = 1572864usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 19usize; + let val = (unit_field_val & mask) >> 19usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18712,18 +19514,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 1572864usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 19usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 19usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingSysColorChanged(&self) -> ::std::os::raw::c_uint { let mask = 2097152usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 21usize; + let val = (unit_field_val & mask) >> 21usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18731,18 +19534,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 2097152usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 21usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 21usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingThemeChanged(&self) -> ::std::os::raw::c_uint { let mask = 4194304usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 22usize; + let val = (unit_field_val & mask) >> 22usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18750,18 +19554,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 4194304usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 22usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 22usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingUIResolutionChanged(&self) -> ::std::os::raw::c_uint { let mask = 8388608usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 23usize; + let val = (unit_field_val & mask) >> 23usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18769,19 +19574,20 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 8388608usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 23usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 23usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingMediaFeatureValuesChanged(&self) -> ::std::os::raw::c_uint { let mask = 16777216usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 24usize; + let val = (unit_field_val & mask) >> 24usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18790,19 +19596,20 @@ pub mod root { ::std::os::raw::c_uint) { let mask = 16777216usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 24usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 24usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPrefChangePendingNeedsReflow(&self) -> ::std::os::raw::c_uint { let mask = 33554432usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 25usize; + let val = (unit_field_val & mask) >> 25usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18811,90 +19618,95 @@ pub mod root { ::std::os::raw::c_uint) { let mask = 33554432usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 25usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 25usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsEmulatingMedia(&self) -> ::std::os::raw::c_uint { let mask = 67108864usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 26usize; + let val = (unit_field_val & mask) >> 26usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsEmulatingMedia(&mut self, val: ::std::os::raw::c_uint) { let mask = 67108864usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 26usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 26usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsGlyph(&self) -> ::std::os::raw::c_uint { let mask = 134217728usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 27usize; + let val = (unit_field_val & mask) >> 27usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsGlyph(&mut self, val: ::std::os::raw::c_uint) { let mask = 134217728usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 27usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 27usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUsesRootEMUnits(&self) -> ::std::os::raw::c_uint { let mask = 268435456usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 28usize; + let val = (unit_field_val & mask) >> 28usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mUsesRootEMUnits(&mut self, val: ::std::os::raw::c_uint) { let mask = 268435456usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 28usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 28usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUsesExChUnits(&self) -> ::std::os::raw::c_uint { let mask = 536870912usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 29usize; + let val = (unit_field_val & mask) >> 29usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mUsesExChUnits(&mut self, val: ::std::os::raw::c_uint) { let mask = 536870912usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 29usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 29usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUsesViewportUnits(&self) -> ::std::os::raw::c_uint { let mask = 1073741824usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 30usize; + let val = (unit_field_val & mask) >> 30usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18902,18 +19714,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 1073741824usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 30usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 30usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingViewportChange(&self) -> ::std::os::raw::c_uint { let mask = 2147483648usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 31usize; + let val = (unit_field_val & mask) >> 31usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18921,18 +19734,662 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 2147483648usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 31usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 31usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mHasPendingInterrupt: ::std::os::raw::c_uint, + mPendingInterruptFromTest: + ::std::os::raw::c_uint, + mInterruptsEnabled: ::std::os::raw::c_uint, + mUseDocumentFonts: ::std::os::raw::c_uint, + mUseDocumentColors: ::std::os::raw::c_uint, + mUnderlineLinks: ::std::os::raw::c_uint, + mSendAfterPaintToContent: + ::std::os::raw::c_uint, + mUseFocusColors: ::std::os::raw::c_uint, + mFocusRingOnAnything: ::std::os::raw::c_uint, + mFocusRingStyle: ::std::os::raw::c_uint, + mDrawImageBackground: ::std::os::raw::c_uint, + mDrawColorBackground: ::std::os::raw::c_uint, + mNeverAnimate: ::std::os::raw::c_uint, + mIsRenderingOnlySelection: + ::std::os::raw::c_uint, + mPaginated: ::std::os::raw::c_uint, + mCanPaginatedScroll: ::std::os::raw::c_uint, + mDoScaledTwips: ::std::os::raw::c_uint, + mIsRootPaginatedDocument: + ::std::os::raw::c_uint, + mPrefBidiDirection: ::std::os::raw::c_uint, + mPrefScrollbarSide: ::std::os::raw::c_uint, + mPendingSysColorChanged: ::std::os::raw::c_uint, + mPendingThemeChanged: ::std::os::raw::c_uint, + mPendingUIResolutionChanged: + ::std::os::raw::c_uint, + mPendingMediaFeatureValuesChanged: + ::std::os::raw::c_uint, + mPrefChangePendingNeedsReflow: + ::std::os::raw::c_uint, + mIsEmulatingMedia: ::std::os::raw::c_uint, + mIsGlyph: ::std::os::raw::c_uint, + mUsesRootEMUnits: ::std::os::raw::c_uint, + mUsesExChUnits: ::std::os::raw::c_uint, + mUsesViewportUnits: ::std::os::raw::c_uint, + mPendingViewportChange: ::std::os::raw::c_uint) + -> u32 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + 0 + }; + let mHasPendingInterrupt = + mHasPendingInterrupt + as + u32 + as + u32; + let mask = + 1usize + as + u32; + let mHasPendingInterrupt = + (mHasPendingInterrupt + << + 0usize) + & + mask; + bitfield_unit_val + | + mHasPendingInterrupt + }; + let mPendingInterruptFromTest = + mPendingInterruptFromTest + as + u32 + as + u32; + let mask = + 2usize + as + u32; + let mPendingInterruptFromTest = + (mPendingInterruptFromTest + << + 1usize) + & + mask; + bitfield_unit_val + | + mPendingInterruptFromTest + }; + let mInterruptsEnabled = + mInterruptsEnabled + as + u32 + as + u32; + let mask = + 4usize + as + u32; + let mInterruptsEnabled = + (mInterruptsEnabled + << + 2usize) + & + mask; + bitfield_unit_val + | + mInterruptsEnabled + }; + let mUseDocumentFonts = + mUseDocumentFonts + as + u32 + as + u32; + let mask = + 8usize + as + u32; + let mUseDocumentFonts = + (mUseDocumentFonts + << + 3usize) + & + mask; + bitfield_unit_val + | + mUseDocumentFonts + }; + let mUseDocumentColors = + mUseDocumentColors + as + u32 + as + u32; + let mask = + 16usize + as + u32; + let mUseDocumentColors = + (mUseDocumentColors + << + 4usize) + & + mask; + bitfield_unit_val + | + mUseDocumentColors + }; + let mUnderlineLinks = + mUnderlineLinks + as + u32 + as + u32; + let mask = + 32usize + as + u32; + let mUnderlineLinks = + (mUnderlineLinks + << + 5usize) + & + mask; + bitfield_unit_val + | + mUnderlineLinks + }; + let mSendAfterPaintToContent = + mSendAfterPaintToContent + as + u32 + as + u32; + let mask = + 64usize + as + u32; + let mSendAfterPaintToContent = + (mSendAfterPaintToContent + << + 6usize) + & + mask; + bitfield_unit_val + | + mSendAfterPaintToContent + }; + let mUseFocusColors = + mUseFocusColors + as + u32 + as + u32; + let mask = + 128usize + as + u32; + let mUseFocusColors = + (mUseFocusColors + << + 7usize) + & + mask; + bitfield_unit_val + | + mUseFocusColors + }; + let mFocusRingOnAnything = + mFocusRingOnAnything + as + u32 + as + u32; + let mask = + 256usize + as + u32; + let mFocusRingOnAnything = + (mFocusRingOnAnything + << + 8usize) + & + mask; + bitfield_unit_val + | + mFocusRingOnAnything + }; + let mFocusRingStyle = + mFocusRingStyle + as + u32 + as + u32; + let mask = + 512usize + as + u32; + let mFocusRingStyle = + (mFocusRingStyle + << + 9usize) + & + mask; + bitfield_unit_val + | + mFocusRingStyle + }; + let mDrawImageBackground = + mDrawImageBackground + as + u32 + as + u32; + let mask = + 1024usize + as + u32; + let mDrawImageBackground = + (mDrawImageBackground + << + 10usize) + & + mask; + bitfield_unit_val + | + mDrawImageBackground + }; + let mDrawColorBackground = + mDrawColorBackground + as + u32 + as + u32; + let mask = + 2048usize + as + u32; + let mDrawColorBackground = + (mDrawColorBackground + << + 11usize) + & + mask; + bitfield_unit_val + | + mDrawColorBackground + }; + let mNeverAnimate = + mNeverAnimate + as + u32 + as + u32; + let mask = + 4096usize + as + u32; + let mNeverAnimate = + (mNeverAnimate + << + 12usize) + & + mask; + bitfield_unit_val + | + mNeverAnimate + }; + let mIsRenderingOnlySelection = + mIsRenderingOnlySelection + as + u32 + as + u32; + let mask = + 8192usize + as + u32; + let mIsRenderingOnlySelection = + (mIsRenderingOnlySelection + << + 13usize) + & + mask; + bitfield_unit_val + | + mIsRenderingOnlySelection + }; + let mPaginated = + mPaginated + as + u32 + as + u32; + let mask = + 16384usize + as + u32; + let mPaginated = + (mPaginated + << + 14usize) + & + mask; + bitfield_unit_val + | + mPaginated + }; + let mCanPaginatedScroll = + mCanPaginatedScroll + as + u32 + as + u32; + let mask = + 32768usize + as + u32; + let mCanPaginatedScroll = + (mCanPaginatedScroll + << + 15usize) + & + mask; + bitfield_unit_val + | + mCanPaginatedScroll + }; + let mDoScaledTwips = + mDoScaledTwips + as + u32 + as + u32; + let mask = + 65536usize + as + u32; + let mDoScaledTwips = + (mDoScaledTwips + << + 16usize) + & + mask; + bitfield_unit_val + | + mDoScaledTwips + }; + let mIsRootPaginatedDocument = + mIsRootPaginatedDocument + as + u32 + as + u32; + let mask = + 131072usize + as + u32; + let mIsRootPaginatedDocument = + (mIsRootPaginatedDocument + << + 17usize) + & + mask; + bitfield_unit_val + | + mIsRootPaginatedDocument + }; + let mPrefBidiDirection = + mPrefBidiDirection + as + u32 + as + u32; + let mask = + 262144usize + as + u32; + let mPrefBidiDirection = + (mPrefBidiDirection + << + 18usize) + & + mask; + bitfield_unit_val + | + mPrefBidiDirection + }; + let mPrefScrollbarSide = + mPrefScrollbarSide + as + u32 + as + u32; + let mask = + 1572864usize + as + u32; + let mPrefScrollbarSide = + (mPrefScrollbarSide + << + 19usize) + & + mask; + bitfield_unit_val + | + mPrefScrollbarSide + }; + let mPendingSysColorChanged = + mPendingSysColorChanged + as + u32 + as + u32; + let mask = + 2097152usize + as + u32; + let mPendingSysColorChanged = + (mPendingSysColorChanged + << + 21usize) + & + mask; + bitfield_unit_val + | + mPendingSysColorChanged + }; + let mPendingThemeChanged = + mPendingThemeChanged + as + u32 + as + u32; + let mask = + 4194304usize + as + u32; + let mPendingThemeChanged = + (mPendingThemeChanged + << + 22usize) + & + mask; + bitfield_unit_val + | + mPendingThemeChanged + }; + let mPendingUIResolutionChanged = + mPendingUIResolutionChanged + as + u32 + as + u32; + let mask = + 8388608usize + as + u32; + let mPendingUIResolutionChanged = + (mPendingUIResolutionChanged + << + 23usize) + & + mask; + bitfield_unit_val + | + mPendingUIResolutionChanged + }; + let mPendingMediaFeatureValuesChanged = + mPendingMediaFeatureValuesChanged + as + u32 + as + u32; + let mask = + 16777216usize + as + u32; + let mPendingMediaFeatureValuesChanged = + (mPendingMediaFeatureValuesChanged + << + 24usize) + & + mask; + bitfield_unit_val + | + mPendingMediaFeatureValuesChanged + }; + let mPrefChangePendingNeedsReflow = + mPrefChangePendingNeedsReflow + as u32 as + u32; + let mask = + 33554432usize + as u32; + let mPrefChangePendingNeedsReflow = + (mPrefChangePendingNeedsReflow + << + 25usize) + & mask; + bitfield_unit_val + | + mPrefChangePendingNeedsReflow + }; + let mIsEmulatingMedia = + mIsEmulatingMedia as + u32 as u32; + let mask = + 67108864usize as u32; + let mIsEmulatingMedia = + (mIsEmulatingMedia << + 26usize) & mask; + bitfield_unit_val | + mIsEmulatingMedia + }; + let mIsGlyph = + mIsGlyph as u32 as u32; + let mask = 134217728usize as u32; + let mIsGlyph = + (mIsGlyph << 27usize) & mask; + bitfield_unit_val | mIsGlyph + }; + let mUsesRootEMUnits = + mUsesRootEMUnits as u32 as u32; + let mask = 268435456usize as u32; + let mUsesRootEMUnits = + (mUsesRootEMUnits << 28usize) & mask; + bitfield_unit_val | mUsesRootEMUnits + }; + let mUsesExChUnits = mUsesExChUnits as u32 as u32; + let mask = 536870912usize as u32; + let mUsesExChUnits = + (mUsesExChUnits << 29usize) & mask; + bitfield_unit_val | mUsesExChUnits + }; + let mUsesViewportUnits = mUsesViewportUnits as u32 as u32; + let mask = 1073741824usize as u32; + let mUsesViewportUnits = + (mUsesViewportUnits << 30usize) & mask; + bitfield_unit_val | mUsesViewportUnits + }; + let mPendingViewportChange = mPendingViewportChange as u32 as u32; + let mask = 2147483648usize as u32; + let mPendingViewportChange = + (mPendingViewportChange << 31usize) & mask; + bitfield_unit_val | mPendingViewportChange } #[inline] pub fn mCounterStylesDirty(&self) -> ::std::os::raw::c_uint { let mask = 1usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18940,18 +20397,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 1usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPostedFlushCounterStyles(&self) -> ::std::os::raw::c_uint { let mask = 2usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18959,18 +20417,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 2usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mSuppressResizeReflow(&self) -> ::std::os::raw::c_uint { let mask = 4usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18978,36 +20437,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 4usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsVisual(&self) -> ::std::os::raw::c_uint { let mask = 8usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsVisual(&mut self, val: ::std::os::raw::c_uint) { let mask = 8usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFireAfterPaintEvents(&self) -> ::std::os::raw::c_uint { let mask = 16usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -19015,36 +20476,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 16usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsChrome(&self) -> ::std::os::raw::c_uint { let mask = 32usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsChrome(&mut self, val: ::std::os::raw::c_uint) { let mask = 32usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsChromeOriginImage(&self) -> ::std::os::raw::c_uint { let mask = 64usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -19052,36 +20515,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 64usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPaintFlashing(&self) -> ::std::os::raw::c_uint { let mask = 128usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mPaintFlashing(&mut self, val: ::std::os::raw::c_uint) { let mask = 128usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPaintFlashingInitialized(&self) -> ::std::os::raw::c_uint { let mask = 256usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 8usize; + let val = (unit_field_val & mask) >> 8usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -19089,19 +20554,20 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 256usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 8usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 8usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasWarnedAboutPositionedTableParts(&self) -> ::std::os::raw::c_uint { let mask = 512usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 9usize; + let val = (unit_field_val & mask) >> 9usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -19110,19 +20576,20 @@ pub mod root { ::std::os::raw::c_uint) { let mask = 512usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 9usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 9usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasWarnedAboutTooLargeDashedOrDottedRadius(&self) -> ::std::os::raw::c_uint { let mask = 1024usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 10usize; + let val = (unit_field_val & mask) >> 10usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -19131,65 +20598,325 @@ pub mod root { ::std::os::raw::c_uint) { let mask = 1024usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 10usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 10usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mQuirkSheetAdded(&self) -> ::std::os::raw::c_uint { let mask = 2048usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 11usize; + let val = (unit_field_val & mask) >> 11usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mQuirkSheetAdded(&mut self, val: ::std::os::raw::c_uint) { let mask = 2048usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 11usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 11usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mNeedsPrefUpdate(&self) -> ::std::os::raw::c_uint { let mask = 4096usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 12usize; + let val = (unit_field_val & mask) >> 12usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mNeedsPrefUpdate(&mut self, val: ::std::os::raw::c_uint) { let mask = 4096usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 12usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 12usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHadNonBlankPaint(&self) -> ::std::os::raw::c_uint { let mask = 8192usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 13usize; + let val = (unit_field_val & mask) >> 13usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mHadNonBlankPaint(&mut self, val: ::std::os::raw::c_uint) { let mask = 8192usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 13usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 13usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_2(mCounterStylesDirty: ::std::os::raw::c_uint, + mPostedFlushCounterStyles: + ::std::os::raw::c_uint, + mSuppressResizeReflow: ::std::os::raw::c_uint, + mIsVisual: ::std::os::raw::c_uint, + mFireAfterPaintEvents: ::std::os::raw::c_uint, + mIsChrome: ::std::os::raw::c_uint, + mIsChromeOriginImage: ::std::os::raw::c_uint, + mPaintFlashing: ::std::os::raw::c_uint, + mPaintFlashingInitialized: + ::std::os::raw::c_uint, + mHasWarnedAboutPositionedTableParts: + ::std::os::raw::c_uint, + mHasWarnedAboutTooLargeDashedOrDottedRadius: + ::std::os::raw::c_uint, + mQuirkSheetAdded: ::std::os::raw::c_uint, + mNeedsPrefUpdate: ::std::os::raw::c_uint, + mHadNonBlankPaint: ::std::os::raw::c_uint) + -> u16 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + 0 + }; + let mCounterStylesDirty = + mCounterStylesDirty + as + u32 + as + u16; + let mask = + 1usize + as + u16; + let mCounterStylesDirty = + (mCounterStylesDirty + << + 0usize) + & + mask; + bitfield_unit_val + | + mCounterStylesDirty + }; + let mPostedFlushCounterStyles = + mPostedFlushCounterStyles + as + u32 + as + u16; + let mask = + 2usize + as + u16; + let mPostedFlushCounterStyles = + (mPostedFlushCounterStyles + << + 1usize) + & + mask; + bitfield_unit_val + | + mPostedFlushCounterStyles + }; + let mSuppressResizeReflow = + mSuppressResizeReflow + as + u32 + as + u16; + let mask = + 4usize + as + u16; + let mSuppressResizeReflow = + (mSuppressResizeReflow + << + 2usize) + & + mask; + bitfield_unit_val + | + mSuppressResizeReflow + }; + let mIsVisual = + mIsVisual + as + u32 + as + u16; + let mask = + 8usize + as + u16; + let mIsVisual = + (mIsVisual + << + 3usize) + & + mask; + bitfield_unit_val + | + mIsVisual + }; + let mFireAfterPaintEvents = + mFireAfterPaintEvents + as + u32 + as + u16; + let mask = + 16usize + as + u16; + let mFireAfterPaintEvents = + (mFireAfterPaintEvents + << + 4usize) + & + mask; + bitfield_unit_val + | + mFireAfterPaintEvents + }; + let mIsChrome = + mIsChrome + as + u32 + as + u16; + let mask = + 32usize + as + u16; + let mIsChrome = + (mIsChrome + << + 5usize) + & + mask; + bitfield_unit_val + | + mIsChrome + }; + let mIsChromeOriginImage = + mIsChromeOriginImage + as + u32 + as + u16; + let mask = + 64usize + as + u16; + let mIsChromeOriginImage = + (mIsChromeOriginImage + << + 6usize) + & + mask; + bitfield_unit_val + | + mIsChromeOriginImage + }; + let mPaintFlashing = + mPaintFlashing + as u32 as + u16; + let mask = + 128usize as + u16; + let mPaintFlashing = + (mPaintFlashing + << + 7usize) & + mask; + bitfield_unit_val + | + mPaintFlashing + }; + let mPaintFlashingInitialized = + mPaintFlashingInitialized + as u32 as u16; + let mask = + 256usize as u16; + let mPaintFlashingInitialized = + (mPaintFlashingInitialized + << 8usize) & + mask; + bitfield_unit_val | + mPaintFlashingInitialized + }; + let mHasWarnedAboutPositionedTableParts = + mHasWarnedAboutPositionedTableParts + as u32 as u16; + let mask = 512usize as u16; + let mHasWarnedAboutPositionedTableParts = + (mHasWarnedAboutPositionedTableParts + << 9usize) & mask; + bitfield_unit_val | + mHasWarnedAboutPositionedTableParts + }; + let mHasWarnedAboutTooLargeDashedOrDottedRadius = + mHasWarnedAboutTooLargeDashedOrDottedRadius + as u32 as u16; + let mask = 1024usize as u16; + let mHasWarnedAboutTooLargeDashedOrDottedRadius = + (mHasWarnedAboutTooLargeDashedOrDottedRadius + << 10usize) & mask; + bitfield_unit_val | + mHasWarnedAboutTooLargeDashedOrDottedRadius + }; + let mQuirkSheetAdded = + mQuirkSheetAdded as u32 as u16; + let mask = 2048usize as u16; + let mQuirkSheetAdded = + (mQuirkSheetAdded << 11usize) & mask; + bitfield_unit_val | mQuirkSheetAdded + }; + let mNeedsPrefUpdate = mNeedsPrefUpdate as u32 as u16; + let mask = 4096usize as u16; + let mNeedsPrefUpdate = + (mNeedsPrefUpdate << 12usize) & mask; + bitfield_unit_val | mNeedsPrefUpdate + }; + let mHadNonBlankPaint = mHadNonBlankPaint as u32 as u16; + let mask = 8192usize as u16; + let mHadNonBlankPaint = (mHadNonBlankPaint << 13usize) & mask; + bitfield_unit_val | mHadNonBlankPaint } } #[repr(C)] @@ -20467,207 +22194,318 @@ pub mod root { #[inline] pub fn mStylesHaveChanged(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mStylesHaveChanged(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDidInitialize(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mDidInitialize(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsDestroying(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsDestroying(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsReflowing(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsReflowing(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPaintingSuppressed(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mPaintingSuppressed(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsThemeSupportDisabled(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsThemeSupportDisabled(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsActive(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsActive(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFrozen(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mFrozen(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mStylesHaveChanged: bool, mDidInitialize: bool, + mIsDestroying: bool, mIsReflowing: bool, + mPaintingSuppressed: bool, + mIsThemeSupportDisabled: bool, mIsActive: bool, + mFrozen: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mStylesHaveChanged = + mStylesHaveChanged + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mStylesHaveChanged = + (mStylesHaveChanged + << + 0usize) + & + mask; + bitfield_unit_val + | + mStylesHaveChanged + }; + let mDidInitialize = + mDidInitialize + as u8 as + u8; + let mask = + 2usize as u8; + let mDidInitialize = + (mDidInitialize + << + 1usize) & + mask; + bitfield_unit_val + | + mDidInitialize + }; + let mIsDestroying = + mIsDestroying as u8 as + u8; + let mask = 4usize as u8; + let mIsDestroying = + (mIsDestroying << + 2usize) & mask; + bitfield_unit_val | + mIsDestroying + }; + let mIsReflowing = + mIsReflowing as u8 as u8; + let mask = 8usize as u8; + let mIsReflowing = + (mIsReflowing << 3usize) & + mask; + bitfield_unit_val | mIsReflowing + }; + let mPaintingSuppressed = + mPaintingSuppressed as u8 as u8; + let mask = 16usize as u8; + let mPaintingSuppressed = + (mPaintingSuppressed << 4usize) & + mask; + bitfield_unit_val | mPaintingSuppressed + }; + let mIsThemeSupportDisabled = + mIsThemeSupportDisabled as u8 as u8; + let mask = 32usize as u8; + let mIsThemeSupportDisabled = + (mIsThemeSupportDisabled << 5usize) & mask; + bitfield_unit_val | mIsThemeSupportDisabled + }; + let mIsActive = mIsActive as u8 as u8; + let mask = 64usize as u8; + let mIsActive = (mIsActive << 6usize) & mask; + bitfield_unit_val | mIsActive + }; + let mFrozen = mFrozen as u8 as u8; + let mask = 128usize as u8; + let mFrozen = (mFrozen << 7usize) & mask; + bitfield_unit_val | mFrozen } #[inline] pub fn mIsFirstPaint(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsFirstPaint(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mObservesMutationsForPrint(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mObservesMutationsForPrint(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mSuppressInterruptibleReflows(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mSuppressInterruptibleReflows(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mScrollPositionClampingScrollPortSizeSet(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] @@ -20675,101 +22513,223 @@ pub mod root { val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mNeedLayoutFlush(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mNeedLayoutFlush(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mNeedStyleFlush(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mNeedStyleFlush(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mObservingStyleFlushes(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mObservingStyleFlushes(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mObservingLayoutFlushes(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mObservingLayoutFlushes(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_2(mIsFirstPaint: bool, + mObservesMutationsForPrint: bool, + mSuppressInterruptibleReflows: bool, + mScrollPositionClampingScrollPortSizeSet: bool, + mNeedLayoutFlush: bool, mNeedStyleFlush: bool, + mObservingStyleFlushes: bool, + mObservingLayoutFlushes: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mIsFirstPaint = + mIsFirstPaint + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mIsFirstPaint = + (mIsFirstPaint + << + 0usize) + & + mask; + bitfield_unit_val + | + mIsFirstPaint + }; + let mObservesMutationsForPrint = + mObservesMutationsForPrint + as u8 as + u8; + let mask = + 2usize as u8; + let mObservesMutationsForPrint = + (mObservesMutationsForPrint + << + 1usize) & + mask; + bitfield_unit_val + | + mObservesMutationsForPrint + }; + let mSuppressInterruptibleReflows = + mSuppressInterruptibleReflows + as u8 as u8; + let mask = 4usize as u8; + let mSuppressInterruptibleReflows = + (mSuppressInterruptibleReflows + << 2usize) & + mask; + bitfield_unit_val | + mSuppressInterruptibleReflows + }; + let mScrollPositionClampingScrollPortSizeSet = + mScrollPositionClampingScrollPortSizeSet + as u8 as u8; + let mask = 8usize as u8; + let mScrollPositionClampingScrollPortSizeSet = + (mScrollPositionClampingScrollPortSizeSet + << 3usize) & mask; + bitfield_unit_val | + mScrollPositionClampingScrollPortSizeSet + }; + let mNeedLayoutFlush = + mNeedLayoutFlush as u8 as u8; + let mask = 16usize as u8; + let mNeedLayoutFlush = + (mNeedLayoutFlush << 4usize) & mask; + bitfield_unit_val | mNeedLayoutFlush + }; + let mNeedStyleFlush = mNeedStyleFlush as u8 as u8; + let mask = 32usize as u8; + let mNeedStyleFlush = + (mNeedStyleFlush << 5usize) & mask; + bitfield_unit_val | mNeedStyleFlush + }; + let mObservingStyleFlushes = + mObservingStyleFlushes as u8 as u8; + let mask = 64usize as u8; + let mObservingStyleFlushes = + (mObservingStyleFlushes << 6usize) & mask; + bitfield_unit_val | mObservingStyleFlushes + }; + let mObservingLayoutFlushes = mObservingLayoutFlushes as u8 as u8; + let mask = 128usize as u8; + let mObservingLayoutFlushes = + (mObservingLayoutFlushes << 7usize) & mask; + bitfield_unit_val | mObservingLayoutFlushes } #[inline] pub fn mNeedThrottledAnimationFlush(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mNeedThrottledAnimationFlush(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_3(mNeedThrottledAnimationFlush: bool) -> u8 { + let bitfield_unit_val = { 0 }; + let mNeedThrottledAnimationFlush = + mNeedThrottledAnimationFlush as u8 as u8; + let mask = 1usize as u8; + let mNeedThrottledAnimationFlush = + (mNeedThrottledAnimationFlush << 0usize) & mask; + bitfield_unit_val | mNeedThrottledAnimationFlush } } /** @@ -20815,57 +22775,57 @@ pub mod root { pub struct nsDOMMutationObserver { _unused: [u8; 0], } - pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_LISTENERMANAGER; - pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_PROPERTIES; - pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_ANONYMOUS_ROOT; - pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; - pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_NATIVE_ANONYMOUS_ROOT; - pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_FORCE_XBL_BINDINGS; - pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_MAY_BE_IN_BINDING_MNGR; - pub const NODE_IS_EDITABLE: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_EDITABLE; - pub const NODE_IS_NATIVE_ANONYMOUS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_NATIVE_ANONYMOUS; - pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_IN_SHADOW_TREE; - pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_EMPTY_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_SLOW_SELECTOR; - pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_EDGE_CHILD_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; - pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_ALL_SELECTOR_FLAGS; - pub const NODE_NEEDS_FRAME: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_NEEDS_FRAME; - pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_DESCENDANTS_NEED_FRAMES; - pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_ACCESSKEY; - pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_DIRECTION_RTL; - pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_DIRECTION_LTR; - pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_ALL_DIRECTION_FLAGS; - pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_CHROME_ONLY_ACCESS; - pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; - pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_TYPE_SPECIFIC_BITS_OFFSET; + pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_HAS_LISTENERMANAGER; + pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_HAS_PROPERTIES; + pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_IS_ANONYMOUS_ROOT; + pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; + pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_IS_NATIVE_ANONYMOUS_ROOT; + pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_FORCE_XBL_BINDINGS; + pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_MAY_BE_IN_BINDING_MNGR; + pub const NODE_IS_EDITABLE: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_IS_EDITABLE; + pub const NODE_IS_NATIVE_ANONYMOUS: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_IS_NATIVE_ANONYMOUS; + pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_IS_IN_SHADOW_TREE; + pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_HAS_EMPTY_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_HAS_SLOW_SELECTOR; + pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_HAS_EDGE_CHILD_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; + pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_ALL_SELECTOR_FLAGS; + pub const NODE_NEEDS_FRAME: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_NEEDS_FRAME; + pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_DESCENDANTS_NEED_FRAMES; + pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_HAS_ACCESSKEY; + pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_HAS_DIRECTION_RTL; + pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_HAS_DIRECTION_LTR; + pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_ALL_DIRECTION_FLAGS; + pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_CHROME_ONLY_ACCESS; + pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; + pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_84 = + _bindgen_ty_84::NODE_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_17 { + pub enum _bindgen_ty_84 { NODE_HAS_LISTENERMANAGER = 4, NODE_HAS_PROPERTIES = 8, NODE_IS_ANONYMOUS_ROOT = 16, @@ -22825,38 +24785,56 @@ pub mod root { #[inline] pub fn mGeneration(&self) -> u32 { let mask = 15usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mGeneration(&mut self, val: u32) { let mask = 15usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIndexInGeneration(&self) -> u32 { let mask = 4294967280usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIndexInGeneration(&mut self, val: u32) { let mask = 4294967280usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mGeneration: u32, mIndexInGeneration: u32) + -> u32 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mGeneration = mGeneration as u32 as u32; + let mask = 15usize as u32; + let mGeneration = (mGeneration << 0usize) & mask; + bitfield_unit_val | mGeneration + }; + let mIndexInGeneration = mIndexInGeneration as u32 as u32; + let mask = 4294967280usize as u32; + let mIndexInGeneration = (mIndexInGeneration << 4usize) & mask; + bitfield_unit_val | mIndexInGeneration } } #[repr(C)] @@ -23514,7 +25492,7 @@ pub mod root { } #[test] fn bindgen_test_layout_nsRootPresContext() { - assert_eq!(::std::mem::size_of::<nsRootPresContext>() , 1496usize , + assert_eq!(::std::mem::size_of::<nsRootPresContext>() , 1552usize , concat ! ( "Size of: " , stringify ! ( nsRootPresContext ) )); assert_eq! (::std::mem::align_of::<nsRootPresContext>() , 8usize , @@ -23522,37 +25500,37 @@ pub mod root { "Alignment of " , stringify ! ( nsRootPresContext ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . - mNotifyDidPaintTimers as * const _ as usize } , 1336usize + mNotifyDidPaintTimers as * const _ as usize } , 1392usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mNotifyDidPaintTimers ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . mApplyPluginGeometryTimer as * const _ as usize } , - 1416usize , concat ! ( + 1472usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mApplyPluginGeometryTimer ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . - mRegisteredPlugins as * const _ as usize } , 1424usize , + mRegisteredPlugins as * const _ as usize } , 1480usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mRegisteredPlugins ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . - mWillPaintObservers as * const _ as usize } , 1472usize , + mWillPaintObservers as * const _ as usize } , 1528usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mWillPaintObservers ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . mWillPaintFallbackEvent as * const _ as usize } , - 1480usize , concat ! ( + 1536usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mWillPaintFallbackEvent ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . - mDOMGeneration as * const _ as usize } , 1488usize , + mDOMGeneration as * const _ as usize } , 1544usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mDOMGeneration ) )); @@ -27294,7 +29272,7 @@ pub mod root { pub type imgRequest_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_imgRequest() { - assert_eq!(::std::mem::size_of::<imgRequest>() , 440usize , concat ! ( + assert_eq!(::std::mem::size_of::<imgRequest>() , 416usize , concat ! ( "Size of: " , stringify ! ( imgRequest ) )); assert_eq! (::std::mem::align_of::<imgRequest>() , 8usize , concat ! ( "Alignment of " , stringify ! ( imgRequest ) )); @@ -27303,110 +29281,175 @@ pub mod root { #[inline] pub fn mIsMultiPartChannel(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsMultiPartChannel(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mGotData(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mGotData(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsInCache(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsInCache(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDecodeRequested(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mDecodeRequested(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mNewPartPending(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mNewPartPending(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHadInsecureRedirect(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHadInsecureRedirect(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mIsMultiPartChannel: bool, mGotData: bool, + mIsInCache: bool, mDecodeRequested: bool, + mNewPartPending: bool, + mHadInsecureRedirect: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mIsMultiPartChannel = + mIsMultiPartChannel as + u8 as u8; + let mask = 1usize as u8; + let mIsMultiPartChannel = + (mIsMultiPartChannel + << 0usize) & + mask; + bitfield_unit_val | + mIsMultiPartChannel + }; + let mGotData = + mGotData as u8 as u8; + let mask = 2usize as u8; + let mGotData = + (mGotData << 1usize) & mask; + bitfield_unit_val | mGotData + }; + let mIsInCache = mIsInCache as u8 as u8; + let mask = 4usize as u8; + let mIsInCache = + (mIsInCache << 2usize) & mask; + bitfield_unit_val | mIsInCache + }; + let mDecodeRequested = + mDecodeRequested as u8 as u8; + let mask = 8usize as u8; + let mDecodeRequested = + (mDecodeRequested << 3usize) & mask; + bitfield_unit_val | mDecodeRequested + }; + let mNewPartPending = mNewPartPending as u8 as u8; + let mask = 16usize as u8; + let mNewPartPending = (mNewPartPending << 4usize) & mask; + bitfield_unit_val | mNewPartPending + }; + let mHadInsecureRedirect = mHadInsecureRedirect as u8 as u8; + let mask = 32usize as u8; + let mHadInsecureRedirect = + (mHadInsecureRedirect << 5usize) & mask; + bitfield_unit_val | mHadInsecureRedirect } } #[repr(C)] @@ -28710,7 +30753,18 @@ pub mod root { ) , "::" , stringify ! ( mQuotePairs ) )); } #[test] - fn __bindgen_test_layout_StaticRefPtr_instantiation_152716() { + fn __bindgen_test_layout_StaticRefPtr_instantiation_87() { + assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + } + #[test] + fn __bindgen_test_layout_StaticRefPtr_instantiation_88() { assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28872,38 +30926,55 @@ pub mod root { #[inline] pub fn mIsAutoFill(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsAutoFill(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsSubgrid(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsSubgrid(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mIsAutoFill: bool, mIsSubgrid: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mIsAutoFill = mIsAutoFill as u8 as u8; + let mask = 1usize as u8; + let mIsAutoFill = (mIsAutoFill << 0usize) & mask; + bitfield_unit_val | mIsAutoFill + }; + let mIsSubgrid = mIsSubgrid as u8 as u8; + let mask = 2usize as u8; + let mIsSubgrid = (mIsSubgrid << 1usize) & mask; + bitfield_unit_val | mIsSubgrid } } #[repr(C)] @@ -29453,38 +31524,56 @@ pub mod root { #[inline] pub fn mTextAlignTrue(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mTextAlignTrue(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mTextAlignLastTrue(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mTextAlignLastTrue(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mTextAlignTrue: bool, mTextAlignLastTrue: bool) + -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mTextAlignTrue = mTextAlignTrue as u8 as u8; + let mask = 1usize as u8; + let mTextAlignTrue = (mTextAlignTrue << 0usize) & mask; + bitfield_unit_val | mTextAlignTrue + }; + let mTextAlignLastTrue = mTextAlignLastTrue as u8 as u8; + let mask = 2usize as u8; + let mTextAlignLastTrue = (mTextAlignLastTrue << 1usize) & mask; + bitfield_unit_val | mTextAlignLastTrue } } #[repr(C)] @@ -31187,48 +33276,48 @@ pub mod root { pub struct nsAttrValueOrString { _unused: [u8; 0], } - pub const ELEMENT_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_1; - pub const ELEMENT_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_SHARED_RESTYLE_BIT_3: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_3; - pub const ELEMENT_SHARED_RESTYLE_BIT_4: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_SHARED_RESTYLE_BIT_3: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_SHARED_RESTYLE_BIT_4: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_1; pub const ELEMENT_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO: - root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_HAS_SNAPSHOT: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_3; - pub const ELEMENT_HANDLED_SNAPSHOT: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_HAS_PENDING_RESTYLE: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_1; - pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE: root::_bindgen_ty_19 + root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_SNAPSHOT: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_HANDLED_SNAPSHOT: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_PENDING_RESTYLE: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE: root::_bindgen_ty_86 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_3; + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_3; pub const ELEMENT_IS_POTENTIAL_ANIMATION_ONLY_RESTYLE_ROOT: - root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR; - pub const ELEMENT_PENDING_RESTYLE_FLAGS: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_PENDING_RESTYLE_FLAGS; - pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS; - pub const ELEMENT_ALL_RESTYLE_FLAGS: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_ALL_RESTYLE_FLAGS; - pub const ELEMENT_HAS_SCROLLGRAB: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_HAS_SCROLLGRAB; - pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_TYPE_SPECIFIC_BITS_OFFSET; + root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR; + pub const ELEMENT_PENDING_RESTYLE_FLAGS: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_PENDING_RESTYLE_FLAGS; + pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS; + pub const ELEMENT_ALL_RESTYLE_FLAGS: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_ALL_RESTYLE_FLAGS; + pub const ELEMENT_HAS_SCROLLGRAB: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_HAS_SCROLLGRAB; + pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_86 = + _bindgen_ty_86::ELEMENT_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_19 { + pub enum _bindgen_ty_86 { ELEMENT_SHARED_RESTYLE_BIT_1 = 8388608, ELEMENT_SHARED_RESTYLE_BIT_2 = 16777216, ELEMENT_SHARED_RESTYLE_BIT_3 = 33554432, @@ -31997,7 +34086,7 @@ pub mod root { } pub type __builtin_va_list = [root::__va_list_tag; 1usize]; #[test] - fn __bindgen_test_layout_IntegralConstant_instantiation_181735() { + fn __bindgen_test_layout_IntegralConstant_instantiation_89() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -32006,7 +34095,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_IntegralConstant_instantiation_181739() { + fn __bindgen_test_layout_IntegralConstant_instantiation_90() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -32015,7 +34104,18 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_instantiation_181956() { + fn __bindgen_test_layout_nsCharTraits_instantiation_91() { + assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + } + #[test] + fn __bindgen_test_layout_nsReadingIterator_instantiation_92() { assert_eq!(::std::mem::size_of::<root::nsReadingIterator<u16>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32026,7 +34126,7 @@ pub mod root { root::nsReadingIterator<u16> ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_instantiation_181960() { + fn __bindgen_test_layout_nsWritingIterator_instantiation_93() { assert_eq!(::std::mem::size_of::<root::nsWritingIterator<u16>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32037,7 +34137,18 @@ pub mod root { root::nsWritingIterator<u16> ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_instantiation_182033() { + fn __bindgen_test_layout_nsCharTraits_instantiation_94() { + assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + } + #[test] + fn __bindgen_test_layout_nsReadingIterator_instantiation_95() { assert_eq!(::std::mem::size_of::<root::nsReadingIterator<::std::os::raw::c_char>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32048,7 +34159,7 @@ pub mod root { root::nsReadingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_instantiation_182037() { + fn __bindgen_test_layout_nsWritingIterator_instantiation_96() { assert_eq!(::std::mem::size_of::<root::nsWritingIterator<::std::os::raw::c_char>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32059,25 +34170,29 @@ pub mod root { root::nsWritingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_atomic_instantiation_184077() { - assert_eq!(::std::mem::size_of::<u32>() , 4usize , concat ! ( - "Size of template specialization: " , stringify ! ( u32 ) - )); - assert_eq!(::std::mem::align_of::<u32>() , 4usize , concat ! ( + fn __bindgen_test_layout_nsCharTraits_instantiation_97() { + assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , + concat ! ( "Alignment of template specialization: " , stringify ! ( - u32 ) )); + root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_atomic_instantiation_184085() { - assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( u64 ) - )); - assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + fn __bindgen_test_layout_nsCharTraits_instantiation_98() { + assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , + concat ! ( "Alignment of template specialization: " , stringify ! ( - u64 ) )); + root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout__bindgen_ty_id_184342_instantiation_184339() { + fn __bindgen_test_layout__bindgen_ty_id_210592_instantiation_99() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -32086,7 +34201,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout__bindgen_ty_id_184375_instantiation_184372() { + fn __bindgen_test_layout__bindgen_ty_id_210628_instantiation_100() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -32095,7 +34210,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_184643() { + fn __bindgen_test_layout_nsTArray_instantiation_101() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32106,7 +34221,7 @@ pub mod root { root::nsTArray<root::nsCString> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_185475() { + fn __bindgen_test_layout_Handle_instantiation_102() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32117,7 +34232,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_185491() { + fn __bindgen_test_layout_Handle_instantiation_103() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32128,18 +34243,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_185501() { - assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::JS::MutableHandle<*mut root::JSObject> ) )); - assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<*mut root::JSObject>>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::JS::MutableHandle<*mut root::JSObject> ) )); - } - #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_185517() { + fn __bindgen_test_layout_MutableHandle_instantiation_104() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32150,7 +34254,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Rooted_instantiation_185520() { + fn __bindgen_test_layout_Rooted_instantiation_105() { assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32161,7 +34265,7 @@ pub mod root { [u64; 3usize] ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_185857() { + fn __bindgen_test_layout_DeletePolicy_instantiation_106() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32172,7 +34276,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_190833() { + fn __bindgen_test_layout_nsTArray_instantiation_107() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32183,7 +34287,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_190837() { + fn __bindgen_test_layout_nsTArray_instantiation_108() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::FontFamilyName>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32194,7 +34298,7 @@ pub mod root { root::nsTArray<root::mozilla::FontFamilyName> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_190850() { + fn __bindgen_test_layout_nsTArray_instantiation_109() { assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32205,40 +34309,29 @@ pub mod root { root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_TenuredHeap_instantiation_191764() { - assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap>() , 8usize , - concat ! ( - "Size of template specialization: " , stringify ! ( - root::JS::TenuredHeap ) )); - assert_eq!(::std::mem::align_of::<root::JS::TenuredHeap>() , 8usize , - concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::JS::TenuredHeap ) )); - } - #[test] - fn __bindgen_test_layout_Heap_instantiation_191854() { - assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() + fn __bindgen_test_layout_nsTArray_instantiation_110() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::JS::Heap<*mut root::JSObject> ) )); - assert_eq!(::std::mem::align_of::<root::JS::Heap<*mut root::JSObject>>() + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::std::os::raw::c_uint>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::JS::Heap<*mut root::JSObject> ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_Heap_instantiation_191969() { - assert_eq!(::std::mem::size_of::<root::JS::Heap<root::JS::Value>>() , + fn __bindgen_test_layout_nsTArray_instantiation_111() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::JS::Heap<root::JS::Value> ) )); - assert_eq!(::std::mem::align_of::<root::JS::Heap<root::JS::Value>>() , + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::JS::Heap<root::JS::Value> ) )); + root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_TErrorResult_instantiation_191976() { + fn __bindgen_test_layout_TErrorResult_instantiation_112() { assert_eq!(::std::mem::size_of::<root::mozilla::binding_danger::TErrorResult>() , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32249,7 +34342,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[test] - fn __bindgen_test_layout_TErrorResult_instantiation_191992() { + fn __bindgen_test_layout_TErrorResult_instantiation_113() { assert_eq!(::std::mem::size_of::<root::mozilla::binding_danger::TErrorResult>() , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32260,7 +34353,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_191998() { + fn __bindgen_test_layout_already_AddRefed_instantiation_114() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStringBuffer>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32271,18 +34364,51 @@ pub mod root { root::already_AddRefed<root::nsStringBuffer> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_192050() { - assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + fn __bindgen_test_layout_Handle_instantiation_115() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIAtom> ) )); - assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIAtom> ) )); + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_116() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_192533() { + fn __bindgen_test_layout_Handle_instantiation_117() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_118() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_119() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32293,18 +34419,29 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_192879() { - assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + fn __bindgen_test_layout_Handle_instantiation_120() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); - assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_121() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_193124() { + fn __bindgen_test_layout_already_AddRefed_instantiation_122() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32315,7 +34452,18 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_193271() { + fn __bindgen_test_layout_already_AddRefed_instantiation_123() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_124() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsINode>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32326,7 +34474,40 @@ pub mod root { root::already_AddRefed<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_197390() { + fn __bindgen_test_layout_Handle_instantiation_125() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_126() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_127() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_DeletePolicy_instantiation_128() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32337,7 +34518,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_197388() { + fn __bindgen_test_layout_UniquePtr_instantiation_129() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32348,7 +34529,95 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_iterator_instantiation_197423() { + fn __bindgen_test_layout_DeletePolicy_instantiation_130() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_131() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes> ) )); + } + #[test] + fn __bindgen_test_layout_DeletePolicy_instantiation_132() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_133() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + } + #[test] + fn __bindgen_test_layout_DeletePolicy_instantiation_134() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_135() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + } + #[test] + fn __bindgen_test_layout_DeletePolicy_instantiation_136() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_137() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + } + #[test] + fn __bindgen_test_layout_iterator_instantiation_138() { assert_eq!(::std::mem::size_of::<root::std::iterator>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32359,7 +34628,95 @@ pub mod root { root::std::iterator ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_197991() { + fn __bindgen_test_layout_DeletePolicy_instantiation_139() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_140() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + } + #[test] + fn __bindgen_test_layout_DeletePolicy_instantiation_141() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_142() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_143() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIPrincipal>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIPrincipal> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIPrincipal>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIPrincipal> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_144() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_145() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_146() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIPrincipal>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIPrincipal> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIPrincipal>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIPrincipal> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_147() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIPrincipal>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32370,7 +34727,73 @@ pub mod root { root::nsCOMPtr<root::nsIPrincipal> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_199584() { + fn __bindgen_test_layout_nsTArray_instantiation_148() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsCString>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_149() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsCString>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); + } + #[test] + fn __bindgen_test_layout_Heap_instantiation_150() { + assert_eq!(::std::mem::size_of::<root::JS::Heap<root::JS::Value>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Heap<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Heap<root::JS::Value>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Heap<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Heap_instantiation_151() { + assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Heap<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_TenuredHeap_instantiation_152() { + assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap>() , 8usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::TenuredHeap ) )); + assert_eq!(::std::mem::align_of::<root::JS::TenuredHeap>() , 8usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::TenuredHeap ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_153() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_154() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32383,18 +34806,29 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_LinkedList_instantiation_199860() { - assert_eq!(::std::mem::size_of::<root::mozilla::LinkedList>() , - 24usize , concat ! ( + fn __bindgen_test_layout_RefPtr_instantiation_155() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::LinkedList ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::LinkedList>() , - 8usize , concat ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::LinkedList ) )); + root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_199876() { + fn __bindgen_test_layout_RefPtr_instantiation_156() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_157() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32405,7 +34839,7 @@ pub mod root { root::RefPtr<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_199875() { + fn __bindgen_test_layout_nsTArray_instantiation_158() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32418,7 +34852,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_199905() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_159() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIObserver>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32429,7 +34863,7 @@ pub mod root { root::nsCOMPtr<root::nsIObserver> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_199904() { + fn __bindgen_test_layout_nsTArray_instantiation_160() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCOMPtr<root::nsIObserver>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32440,7 +34874,51 @@ pub mod root { root::nsTArray<root::nsCOMPtr<root::nsIObserver>> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_199950() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_161() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIObserver>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIObserver> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIObserver>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIObserver> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_162() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIDocument>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIDocument> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIDocument>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIDocument> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_163() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_164() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_165() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIDocument>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32451,7 +34929,18 @@ pub mod root { root::already_AddRefed<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_200115() { + fn __bindgen_test_layout_MutableHandle_instantiation_166() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_167() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsContentList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32462,7 +34951,75 @@ pub mod root { root::already_AddRefed<root::nsContentList> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_200442() { + fn __bindgen_test_layout_already_AddRefed_instantiation_168() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsContentList>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsContentList> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsContentList>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsContentList> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_169() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsINode>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsINode> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsINode>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsINode> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_170() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::Element>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_171() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_172() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_173() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_174() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32473,7 +35030,7 @@ pub mod root { root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_200535() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_175() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::mozilla::dom::Link>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32484,7 +35041,7 @@ pub mod root { root::nsCOMPtr<root::mozilla::dom::Link> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_200572() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_176() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIWeakReference>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32495,7 +35052,18 @@ pub mod root { root::nsCOMPtr<root::nsIWeakReference> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_200830() { + fn __bindgen_test_layout_Handle_instantiation_177() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_178() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32506,7 +35074,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_200828() { + fn __bindgen_test_layout_UniquePtr_instantiation_179() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsISMILAttr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32517,7 +35085,62 @@ pub mod root { root::mozilla::UniquePtr<root::nsISMILAttr> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_201389() { + fn __bindgen_test_layout_already_AddRefed_instantiation_180() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_181() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_182() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_183() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_184() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_185() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32530,7 +35153,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsDataHashtable_instantiation_201388() { + fn __bindgen_test_layout_nsDataHashtable_instantiation_186() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32541,7 +35164,18 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_201595() { + fn __bindgen_test_layout_Handle_instantiation_187() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_188() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32552,7 +35186,40 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_SupportsWeakPtr_instantiation_201646() { + fn __bindgen_test_layout_nsTArray_instantiation_189() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_190() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_191() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_SupportsWeakPtr_instantiation_192() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -32561,7 +35228,18 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_201826() { + fn __bindgen_test_layout_already_AddRefed_instantiation_193() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_194() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32572,7 +35250,7 @@ pub mod root { root::nsTArray<root::nsRect> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_201942() { + fn __bindgen_test_layout_DefaultDelete_instantiation_195() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32583,7 +35261,40 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_202111() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_196() { + assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIAtom>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::nsRefPtrHashKey<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_197() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_198() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIAtom>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIAtom>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_199() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCOMPtr<root::nsIAtom>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32594,7 +35305,95 @@ pub mod root { root::nsTArray<root::nsCOMPtr<root::nsIAtom>> ) )); } #[test] - fn __bindgen_test_layout_nsPIDOMWindow_instantiation_202900() { + fn __bindgen_test_layout_already_AddRefed_instantiation_200() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_201() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_202() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_203() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_204() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_205() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_206() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_207() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsPIDOMWindow_instantiation_208() { assert_eq!(::std::mem::size_of::<[u64; 29usize]>() , 232usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32605,7 +35404,7 @@ pub mod root { [u64; 29usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_202992() { + fn __bindgen_test_layout_already_AddRefed_instantiation_209() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32616,7 +35415,7 @@ pub mod root { root::already_AddRefed<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_203182() { + fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_210() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32627,7 +35426,71 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_203705() { + fn __bindgen_test_layout_Handle_instantiation_211() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_212() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_213() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIContent> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIContent>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIContent> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_214() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_215() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_WeakPtr_instantiation_216() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); + } + #[test] + fn __bindgen_test_layout_nsPtrHashKey_instantiation_217() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<::std::os::raw::c_void>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32638,7 +35501,7 @@ pub mod root { root::nsPtrHashKey<::std::os::raw::c_void> ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_203713() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_218() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::WeakFrame>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32649,7 +35512,29 @@ pub mod root { root::nsPtrHashKey<root::WeakFrame> ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_203828() { + fn __bindgen_test_layout_RefPtr_instantiation_219() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::Element>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_220() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_OwningNonNull_instantiation_221() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32660,7 +35545,95 @@ pub mod root { root::mozilla::OwningNonNull<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_PointTyped_instantiation_204907() { + fn __bindgen_test_layout_OwningNonNull_instantiation_222() { + assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::OwningNonNull<root::nsINode>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); + } + #[test] + fn __bindgen_test_layout_OwningNonNull_instantiation_223() { + assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::OwningNonNull<root::nsINode>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_224() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_225() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_226() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_227() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_228() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIWeakReference>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIWeakReference> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIWeakReference>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIWeakReference> ) )); + } + #[test] + fn __bindgen_test_layout_nsPtrHashKey_instantiation_229() { + assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<::std::os::raw::c_void>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsPtrHashKey<::std::os::raw::c_void> ) )); + assert_eq!(::std::mem::align_of::<root::nsPtrHashKey<::std::os::raw::c_void>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsPtrHashKey<::std::os::raw::c_void> ) )); + } + #[test] + fn __bindgen_test_layout_PointTyped_instantiation_230() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32671,7 +35644,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntPointTyped_instantiation_204912() { + fn __bindgen_test_layout_IntPointTyped_instantiation_231() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32682,7 +35655,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_SizeTyped_instantiation_204915() { + fn __bindgen_test_layout_SizeTyped_instantiation_232() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32693,7 +35666,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_RectTyped_instantiation_204923() { + fn __bindgen_test_layout_RectTyped_instantiation_233() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32704,7 +35677,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_IntPointTyped_instantiation_204955() { + fn __bindgen_test_layout_IntPointTyped_instantiation_234() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32715,7 +35688,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntSizeTyped_instantiation_204963() { + fn __bindgen_test_layout_IntSizeTyped_instantiation_235() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32726,7 +35699,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntRectTyped_instantiation_204971() { + fn __bindgen_test_layout_IntRectTyped_instantiation_236() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32737,7 +35710,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_MarginTyped_instantiation_205138() { + fn __bindgen_test_layout_MarginTyped_instantiation_237() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32748,7 +35721,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_RectTyped_instantiation_205173() { + fn __bindgen_test_layout_RectTyped_instantiation_238() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32759,7 +35732,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_IntRectTyped_instantiation_205178() { + fn __bindgen_test_layout_IntRectTyped_instantiation_239() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32770,7 +35743,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactor_instantiation_205224() { + fn __bindgen_test_layout_ScaleFactor_instantiation_240() { assert_eq!(::std::mem::size_of::<u32>() , 4usize , concat ! ( "Size of template specialization: " , stringify ! ( u32 ) )); @@ -32779,7 +35752,7 @@ pub mod root { u32 ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_205324() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_241() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32790,7 +35763,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_205332() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_242() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32801,7 +35774,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_205376() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_243() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32812,7 +35785,29 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_206006() { + fn __bindgen_test_layout_already_AddRefed_instantiation_244() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_245() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_246() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::FramePropertyTable_PropertyValue>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32825,7 +35820,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_206022() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_247() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::nsIFrame>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32836,7 +35831,18 @@ pub mod root { root::nsPtrHashKey<root::nsIFrame> ) )); } #[test] - fn __bindgen_test_layout_nsPIDOMWindow_instantiation_209296() { + fn __bindgen_test_layout_already_AddRefed_instantiation_248() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + } + #[test] + fn __bindgen_test_layout_nsPIDOMWindow_instantiation_249() { assert_eq!(::std::mem::size_of::<[u64; 29usize]>() , 232usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32847,7 +35853,29 @@ pub mod root { [u64; 29usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_209932() { + fn __bindgen_test_layout_MutableHandle_instantiation_250() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_251() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_252() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::CSSValue>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32858,7 +35886,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::CSSValue> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_210023() { + fn __bindgen_test_layout_DefaultDelete_instantiation_253() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32869,7 +35897,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_210027() { + fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_254() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32880,7 +35908,29 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_211216() { + fn __bindgen_test_layout_Rooted_instantiation_255() { + assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 3usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + } + #[test] + fn __bindgen_test_layout_Rooted_instantiation_256() { + assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 3usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_257() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsISupports>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32891,7 +35941,18 @@ pub mod root { root::already_AddRefed<root::nsISupports> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_211803() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_258() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsISupports>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsISupports> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsISupports>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsISupports> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_259() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32902,7 +35963,117 @@ pub mod root { root::nsCOMPtr<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_213346() { + fn __bindgen_test_layout_nsTArray_instantiation_260() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_261() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_262() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_263() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_264() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_265() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_266() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_267() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_268() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_269() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_270() { assert_eq!(::std::mem::size_of::<root::nsTArray<f64>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32913,7 +36084,7 @@ pub mod root { root::nsTArray<f64> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_213358() { + fn __bindgen_test_layout_RefPtr_instantiation_271() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32926,7 +36097,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_213357() { + fn __bindgen_test_layout_nsTArray_instantiation_272() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32939,7 +36110,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_213391() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_273() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::mozilla::dom::Element>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32950,7 +36121,20 @@ pub mod root { root::nsPtrHashKey<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_213488() { + fn __bindgen_test_layout_RefPtr_instantiation_274() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry> + ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry> + ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_275() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::ProfilerBacktrace>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32961,7 +36145,95 @@ pub mod root { root::mozilla::UniquePtr<root::ProfilerBacktrace> ) )); } #[test] - fn __bindgen_test_layout_nsDataHashtable_instantiation_215281() { + fn __bindgen_test_layout_nsTArray_instantiation_276() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_277() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_278() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_279() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_280() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_281() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_282() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_283() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_nsDataHashtable_instantiation_284() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32972,7 +36244,7 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_215320() { + fn __bindgen_test_layout_OwningNonNull_instantiation_285() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32985,7 +36257,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_215343() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_286() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIAtom>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32996,7 +36268,7 @@ pub mod root { root::nsRefPtrHashKey<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_215379() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_287() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIContent>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33007,7 +36279,18 @@ pub mod root { root::nsRefPtrHashKey<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_215942() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_288() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIRunnable>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIRunnable> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIRunnable>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIRunnable> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_289() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33018,7 +36301,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_215956() { + fn __bindgen_test_layout_already_AddRefed_instantiation_290() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33029,7 +36312,7 @@ pub mod root { root::already_AddRefed<root::mozilla::URLExtraData> ) )); } #[test] - fn __bindgen_test_layout_nsMainThreadPtrHolder_instantiation_215960() { + fn __bindgen_test_layout_nsMainThreadPtrHolder_instantiation_291() { assert_eq!(::std::mem::size_of::<root::nsMainThreadPtrHolder<root::nsIURI>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33040,7 +36323,62 @@ pub mod root { root::nsMainThreadPtrHolder<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_216034() { + fn __bindgen_test_layout_already_AddRefed_instantiation_292() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_293() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_294() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_295() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_296() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + } + #[test] + fn __bindgen_test_layout_nsPtrHashKey_instantiation_297() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::nsIDocument>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33051,7 +36389,18 @@ pub mod root { root::nsPtrHashKey<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_216321() { + fn __bindgen_test_layout_already_AddRefed_instantiation_298() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_299() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33062,7 +36411,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_216319() { + fn __bindgen_test_layout_UniquePtr_instantiation_300() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33073,7 +36422,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValueList> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_216327() { + fn __bindgen_test_layout_DefaultDelete_instantiation_301() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33084,7 +36433,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_216325() { + fn __bindgen_test_layout_UniquePtr_instantiation_302() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33095,18 +36444,18 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValuePairList> ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_216670() { - assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize , concat ! - ( + fn __bindgen_test_layout_already_AddRefed_instantiation_303() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStringBuffer>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - [u64; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize , concat ! - ( + root::already_AddRefed<root::nsStringBuffer> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStringBuffer>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - [u64; 2usize] ) )); + root::already_AddRefed<root::nsStringBuffer> ) )); } #[test] - fn __bindgen_test_layout_SupportsWeakPtr_instantiation_216837() { + fn __bindgen_test_layout_SupportsWeakPtr_instantiation_304() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -33115,7 +36464,40 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_216995() { + fn __bindgen_test_layout_nsTArray_instantiation_305() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_306() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_307() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_Maybe_instantiation_308() { assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33126,7 +36508,18 @@ pub mod root { [u32; 3usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_217010() { + fn __bindgen_test_layout_Maybe_instantiation_309() { + assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 3usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 3usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 3usize] ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_310() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleImageRequest>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33137,7 +36530,18 @@ pub mod root { root::already_AddRefed<root::nsStyleImageRequest> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_217018() { + fn __bindgen_test_layout_already_AddRefed_instantiation_311() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_312() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33148,7 +36552,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_217016() { + fn __bindgen_test_layout_UniquePtr_instantiation_313() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33159,7 +36563,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsStyleSides> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_217057() { + fn __bindgen_test_layout_DefaultDelete_instantiation_314() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33170,7 +36574,62 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_pair_instantiation_217208() { + fn __bindgen_test_layout_UniquePtr_instantiation_315() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsStyleSides> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleSides>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsStyleSides> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_316() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_Maybe_instantiation_317() { + assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 3usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 3usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 3usize] ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_318() { + assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_319() { + assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + } + #[test] + fn __bindgen_test_layout_pair_instantiation_320() { assert_eq!(::std::mem::size_of::<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>() , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33181,7 +36640,7 @@ pub mod root { root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_217207() { + fn __bindgen_test_layout_nsTArray_instantiation_321() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>>() , 8usize , concat ! ( @@ -33196,18 +36655,139 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_218230() { - assert_eq!(::std::mem::size_of::<root::RefPtr<root::RawServoAnimationValue>>() + fn __bindgen_test_layout_already_AddRefed_instantiation_322() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_323() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_324() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::nsStyleCoord> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsStyleCoord>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::nsStyleCoord> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_325() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::RefPtr<root::RawServoAnimationValue> ) )); - assert_eq!(::std::mem::align_of::<root::RefPtr<root::RawServoAnimationValue>>() + root::nsTArray<root::nsStyleCoord> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsStyleCoord>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::RefPtr<root::RawServoAnimationValue> ) )); + root::nsTArray<root::nsStyleCoord> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_326() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIAtom>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIAtom>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_nsStyleAutoArray_instantiation_327() { + assert_eq!(::std::mem::size_of::<root::nsStyleAutoArray<root::mozilla::StyleAnimation>>() + , 64usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsStyleAutoArray<root::mozilla::StyleAnimation> ) )); + assert_eq!(::std::mem::align_of::<root::nsStyleAutoArray<root::mozilla::StyleAnimation>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsStyleAutoArray<root::mozilla::StyleAnimation> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_328() { + assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_329() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValueList> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValueList> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_330() { + assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_331() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValuePairList> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValuePairList> ) )); + } + #[test] + fn __bindgen_test_layout_Maybe_instantiation_332() { + assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat + ! ( + "Size of template specialization: " , stringify ! ( + [u64; 18usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + [u64; 18usize] ) )); + } + #[test] + fn __bindgen_test_layout_Maybe_instantiation_333() { + assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat + ! ( + "Size of template specialization: " , stringify ! ( + [u64; 18usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + [u64; 18usize] ) )); } #[test] - fn __bindgen_test_layout_BaseTimeDuration_instantiation_222222() { + fn __bindgen_test_layout_BaseTimeDuration_instantiation_334() { assert_eq!(::std::mem::size_of::<root::mozilla::BaseTimeDuration>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33218,7 +36798,86 @@ pub mod root { root::mozilla::BaseTimeDuration ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_222814() { + fn __bindgen_test_layout_already_AddRefed_instantiation_335() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_336() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_337() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_338() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_339() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr<root::nsIContent>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIContent> ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr<root::nsIContent>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr<root::nsIContent> ) )); + } + #[test] + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_340() { + assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver> + ) )); + assert_eq!(::std::mem::align_of::<root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver> + ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_341() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_342() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33231,29 +36890,29 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_223076() { - assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize , concat ! - ( + fn __bindgen_test_layout_Handle_instantiation_343() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - [u64; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize , concat ! - ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - [u64; 2usize] ) )); + root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_223083() { - assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! - ( + fn __bindgen_test_layout_Handle_instantiation_344() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - [u64; 5usize] ) )); - assert_eq!(::std::mem::align_of::<[u64; 5usize]>() , 8usize , concat ! - ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - [u64; 5usize] ) )); + root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_223258() { + fn __bindgen_test_layout_RefPtr_instantiation_345() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33264,7 +36923,29 @@ pub mod root { root::RefPtr<root::mozilla::dom::DOMRect> ) )); } #[test] - fn __bindgen_test_layout_Sequence_instantiation_223502() { + fn __bindgen_test_layout_Handle_instantiation_346() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_347() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Sequence_instantiation_348() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -33273,7 +36954,102 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_223801() { + fn __bindgen_test_layout_Handle_instantiation_349() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Sequence_instantiation_350() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); + } + #[test] + fn __bindgen_test_layout_Sequence_instantiation_351() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_352() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_353() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_354() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_355() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_356() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_357() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_358() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::Element>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33284,7 +37060,7 @@ pub mod root { root::nsRefPtrHashKey<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_nsClassHashtable_instantiation_223800() { + fn __bindgen_test_layout_nsClassHashtable_instantiation_359() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33295,7 +37071,51 @@ pub mod root { [u64; 6usize] ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_225054() { + fn __bindgen_test_layout_Handle_instantiation_360() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_361() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_362() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::CSSValue>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::CSSValue> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::CSSValue>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::CSSValue> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_363() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_364() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33306,7 +37126,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } #[test] - fn __bindgen_test_layout_nsAutoPtr_instantiation_225092() { + fn __bindgen_test_layout_nsAutoPtr_instantiation_365() { assert_eq!(::std::mem::size_of::<root::nsAutoPtr<root::nsMediaQuery>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( diff --git a/components/style/gecko/generated/structs_release.rs b/components/style/gecko/generated/structs_release.rs index 5828157c0ca..a530ced0463 100644 --- a/components/style/gecko/generated/structs_release.rs +++ b/components/style/gecko/generated/structs_release.rs @@ -1196,98 +1196,40 @@ pub mod root { fn clone(&self) -> Self { *self } } #[repr(C)] - #[derive(Debug, Copy)] - pub struct forward_iterator_tag { - pub _address: u8, - } - #[test] - fn bindgen_test_layout_forward_iterator_tag() { - assert_eq!(::std::mem::size_of::<forward_iterator_tag>() , 1usize - , concat ! ( - "Size of: " , stringify ! ( forward_iterator_tag ) )); - assert_eq! (::std::mem::align_of::<forward_iterator_tag>() , - 1usize , concat ! ( - "Alignment of " , stringify ! ( forward_iterator_tag ) - )); - } - impl Clone for forward_iterator_tag { - fn clone(&self) -> Self { *self } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct bidirectional_iterator_tag { - pub _address: u8, - } - #[test] - fn bindgen_test_layout_bidirectional_iterator_tag() { - assert_eq!(::std::mem::size_of::<bidirectional_iterator_tag>() , - 1usize , concat ! ( - "Size of: " , stringify ! ( bidirectional_iterator_tag - ) )); - assert_eq! (::std::mem::align_of::<bidirectional_iterator_tag>() , - 1usize , concat ! ( - "Alignment of " , stringify ! ( - bidirectional_iterator_tag ) )); - } - impl Clone for bidirectional_iterator_tag { - fn clone(&self) -> Self { *self } - } - #[repr(C)] - #[derive(Debug, Copy)] - pub struct random_access_iterator_tag { - pub _address: u8, - } - #[test] - fn bindgen_test_layout_random_access_iterator_tag() { - assert_eq!(::std::mem::size_of::<random_access_iterator_tag>() , - 1usize , concat ! ( - "Size of: " , stringify ! ( random_access_iterator_tag - ) )); - assert_eq! (::std::mem::align_of::<random_access_iterator_tag>() , - 1usize , concat ! ( - "Alignment of " , stringify ! ( - random_access_iterator_tag ) )); - } - impl Clone for random_access_iterator_tag { - fn clone(&self) -> Self { *self } - } - #[repr(C)] - pub struct iterator_traits { - pub _address: u8, - } - #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct iterator { pub _address: u8, } + pub type iterator_iterator_category<_Category> = _Category; pub type iterator_value_type<_Tp> = _Tp; pub type iterator_difference_type<_Distance> = _Distance; pub type iterator_pointer<_Pointer> = _Pointer; pub type iterator_reference<_Reference> = _Reference; - pub type iterator_iterator_category<_Category> = _Category; #[repr(C)] - pub struct reverse_iterator<_Iter> { - pub __t: _Iter, - pub current: _Iter, - pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<_Iter>>, + pub struct iterator_traits { + pub _address: u8, } - pub type reverse_iterator_iterator_type<_Iter> = _Iter; + #[repr(C)] + pub struct reverse_iterator<_Iterator> { + pub current: _Iterator, + pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<_Iterator>>, + } + pub type reverse_iterator___traits_type = root::std::iterator_traits; + pub type reverse_iterator_iterator_type<_Iterator> = _Iterator; pub type reverse_iterator_difference_type = - root::std::iterator_traits; - pub type reverse_iterator_reference = root::std::iterator_traits; - pub type reverse_iterator_pointer = root::std::iterator_traits; + root::std::reverse_iterator___traits_type; + pub type reverse_iterator_pointer = + root::std::reverse_iterator___traits_type; + pub type reverse_iterator_reference = + root::std::reverse_iterator___traits_type; #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct atomic { } - pub type atomic___base = u8; - #[repr(C)] - pub struct __bit_const_reference { - pub __seg_: root::std::__bit_const_reference___storage_pointer, - pub __mask_: root::std::__bit_const_reference___storage_type, - } - pub type __bit_const_reference___storage_type = [u8; 0usize]; - pub type __bit_const_reference___storage_pointer = [u8; 0usize]; + } + pub mod __gnu_cxx { + #[allow(unused_imports)] + use self::super::super::root; } pub mod mozilla { #[allow(unused_imports)] @@ -1526,7 +1468,7 @@ pub mod root { #[repr(C)] #[derive(Debug)] pub struct MutexImpl { - pub platformData_: [*mut ::std::os::raw::c_void; 8usize], + pub platformData_: [*mut ::std::os::raw::c_void; 5usize], } #[repr(C)] #[derive(Debug, Copy, Clone)] @@ -1535,7 +1477,7 @@ pub mod root { } #[test] fn bindgen_test_layout_MutexImpl() { - assert_eq!(::std::mem::size_of::<MutexImpl>() , 64usize , + assert_eq!(::std::mem::size_of::<MutexImpl>() , 40usize , concat ! ( "Size of: " , stringify ! ( MutexImpl ) )); assert_eq! (::std::mem::align_of::<MutexImpl>() , 8usize , @@ -2131,7 +2073,7 @@ pub mod root { } } #[repr(C)] - #[derive(Debug, Copy)] + #[derive(Debug)] pub struct ThreadSafeAutoRefCnt { pub mValue: u64, } @@ -2152,9 +2094,6 @@ pub mod root { ThreadSafeAutoRefCnt ) , "::" , stringify ! ( mValue ) )); } - impl Clone for ThreadSafeAutoRefCnt { - fn clone(&self) -> Self { *self } - } #[repr(C)] #[derive(Debug)] pub struct OwningNonNull<T> { @@ -2539,78 +2478,118 @@ pub mod root { #[inline] pub fn mIsRootContent(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsRootContent(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDoSmoothScroll(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mDoSmoothScroll(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUseDisplayPortMargins(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mUseDisplayPortMargins(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsScrollInfoLayer(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsScrollInfoLayer(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mIsRootContent: bool, + mDoSmoothScroll: bool, + mUseDisplayPortMargins: bool, + mIsScrollInfoLayer: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mIsRootContent = + mIsRootContent as u8 as u8; + let mask = 1usize as u8; + let mIsRootContent = + (mIsRootContent << 0usize) & + mask; + bitfield_unit_val | mIsRootContent + }; + let mDoSmoothScroll = + mDoSmoothScroll as u8 as u8; + let mask = 2usize as u8; + let mDoSmoothScroll = + (mDoSmoothScroll << 1usize) & mask; + bitfield_unit_val | mDoSmoothScroll + }; + let mUseDisplayPortMargins = + mUseDisplayPortMargins as u8 as u8; + let mask = 4usize as u8; + let mUseDisplayPortMargins = + (mUseDisplayPortMargins << 2usize) & mask; + bitfield_unit_val | mUseDisplayPortMargins + }; + let mIsScrollInfoLayer = mIsScrollInfoLayer as u8 as u8; + let mask = 8usize as u8; + let mIsScrollInfoLayer = + (mIsScrollInfoLayer << 3usize) & mask; + bitfield_unit_val | mIsScrollInfoLayer } } #[repr(C)] @@ -2803,28 +2782,28 @@ pub mod root { #[inline] pub fn mHasScrollgrab(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasScrollgrab(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mAllowVerticalScrollWithWheel(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] @@ -2832,69 +2811,125 @@ pub mod root { val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsLayersIdRoot(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsLayersIdRoot(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUsesContainerScrolling(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mUsesContainerScrolling(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mForceDisableApz(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mForceDisableApz(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mHasScrollgrab: bool, + mAllowVerticalScrollWithWheel: bool, + mIsLayersIdRoot: bool, + mUsesContainerScrolling: bool, + mForceDisableApz: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mHasScrollgrab = + mHasScrollgrab as u8 + as u8; + let mask = 1usize as u8; + let mHasScrollgrab = + (mHasScrollgrab << + 0usize) & mask; + bitfield_unit_val | + mHasScrollgrab + }; + let mAllowVerticalScrollWithWheel = + mAllowVerticalScrollWithWheel + as u8 as u8; + let mask = 2usize as u8; + let mAllowVerticalScrollWithWheel = + (mAllowVerticalScrollWithWheel + << 1usize) & mask; + bitfield_unit_val | + mAllowVerticalScrollWithWheel + }; + let mIsLayersIdRoot = + mIsLayersIdRoot as u8 as u8; + let mask = 4usize as u8; + let mIsLayersIdRoot = + (mIsLayersIdRoot << 2usize) & mask; + bitfield_unit_val | mIsLayersIdRoot + }; + let mUsesContainerScrolling = + mUsesContainerScrolling as u8 as u8; + let mask = 8usize as u8; + let mUsesContainerScrolling = + (mUsesContainerScrolling << 3usize) & mask; + bitfield_unit_val | mUsesContainerScrolling + }; + let mForceDisableApz = mForceDisableApz as u8 as u8; + let mask = 16usize as u8; + let mForceDisableApz = + (mForceDisableApz << 4usize) & mask; + bitfield_unit_val | mForceDisableApz } } #[repr(C)] @@ -6283,6 +6318,7 @@ pub mod root { Normal = 0, ForReconstruct = 1, ForAnimationOnly = 2, + ForCSSRuleChanges = 3, } pub const UpdateAnimationsTasks_CSSAnimations: root::mozilla::UpdateAnimationsTasks = @@ -6818,7 +6854,7 @@ pub mod root { _unused: [u8; 0], } #[test] - fn __bindgen_test_layout_StaticRefPtr_instantiation_117293() { + fn __bindgen_test_layout_StaticRefPtr_instantiation_2() { assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -7825,7 +7861,7 @@ pub mod root { } #[test] fn bindgen_test_layout_OffTheBooksMutex() { - assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 64usize , + assert_eq!(::std::mem::size_of::<OffTheBooksMutex>() , 40usize , concat ! ( "Size of: " , stringify ! ( OffTheBooksMutex ) )); assert_eq! (::std::mem::align_of::<OffTheBooksMutex>() , 8usize , @@ -7844,7 +7880,7 @@ pub mod root { } #[test] fn bindgen_test_layout_Mutex() { - assert_eq!(::std::mem::size_of::<Mutex>() , 64usize , concat ! ( + assert_eq!(::std::mem::size_of::<Mutex>() , 40usize , concat ! ( "Size of: " , stringify ! ( Mutex ) )); assert_eq! (::std::mem::align_of::<Mutex>() , 8usize , concat ! ( "Alignment of " , stringify ! ( Mutex ) )); @@ -8963,7 +8999,7 @@ pub mod root { ( mValue ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_154690() { + fn __bindgen_test_layout_DefaultDelete_instantiation_3() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -11196,28 +11232,6 @@ pub mod root { pub struct nsCharTraits { pub _address: u8, } - #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_52494() { - assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , - concat ! ( - "Size of template specialization: " , stringify ! ( - root::nsCharTraits ) )); - assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , - concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::nsCharTraits ) )); - } - #[test] - fn __bindgen_test_layout_nsCharTraits_instantiation_52498() { - assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , - concat ! ( - "Size of template specialization: " , stringify ! ( - root::nsCharTraits ) )); - assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , - concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::nsCharTraits ) )); - } /** * @see nsTAString */ @@ -11887,40 +11901,56 @@ pub mod root { #[inline] pub fn payload47(&self) -> u64 { let mask = 140737488355327usize as u64; - let field_val: u64 = + let unit_field_val: u64 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u64) } } #[inline] pub fn set_payload47(&mut self, val: u64) { let mask = 140737488355327usize as u64; let val = val as u64 as u64; - let mut field_val: u64 = + let mut unit_field_val: u64 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn tag(&self) -> root::JSValueTag { let mask = 18446603336221196288usize as u64; - let field_val: u64 = + let unit_field_val: u64 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 47usize; + let val = (unit_field_val & mask) >> 47usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_tag(&mut self, val: root::JSValueTag) { let mask = 18446603336221196288usize as u64; let val = val as u32 as u64; - let mut field_val: u64 = + let mut unit_field_val: u64 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 47usize) & mask; + unit_field_val &= !mask; + unit_field_val |= (val << 47usize) & mask; self._bitfield_1 = - unsafe { ::std::mem::transmute(field_val) }; + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(payload47: u64, tag: root::JSValueTag) + -> u64 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let payload47 = payload47 as u64 as u64; + let mask = 140737488355327usize as u64; + let payload47 = (payload47 << 0usize) & mask; + bitfield_unit_val | payload47 + }; + let tag = tag as u32 as u64; + let mask = 18446603336221196288usize as u64; + let tag = (tag << 47usize) & mask; + bitfield_unit_val | tag } } #[repr(C)] @@ -12844,17 +12874,6 @@ pub mod root { pub _base: root::nsCOMPtr_base, } pub type nsCOMPtr_element_type<T> = T; - #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_61615() { - assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! - ( - "Size of template specialization: " , stringify ! ( - root::nsCOMPtr ) )); - assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat - ! ( - "Alignment of template specialization: " , stringify ! ( - root::nsCOMPtr ) )); - } #[repr(C)] #[derive(Debug)] pub struct nsAutoPtr<T> { @@ -13460,38 +13479,55 @@ pub mod root { #[inline] pub fn mCapacity(&self) -> u32 { let mask = 2147483647usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mCapacity(&mut self, val: u32) { let mask = 2147483647usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsAutoArray(&self) -> u32 { let mask = 2147483648usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 31usize; + let val = (unit_field_val & mask) >> 31usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsAutoArray(&mut self, val: u32) { let mask = 2147483648usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 31usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 31usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mCapacity: u32, mIsAutoArray: u32) -> u32 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mCapacity = mCapacity as u32 as u32; + let mask = 2147483647usize as u32; + let mCapacity = (mCapacity << 0usize) & mask; + bitfield_unit_val | mCapacity + }; + let mIsAutoArray = mIsAutoArray as u32 as u32; + let mask = 2147483648usize as u32; + let mIsAutoArray = (mIsAutoArray << 31usize) & mask; + bitfield_unit_val | mIsAutoArray } } pub type nscoord = i32; @@ -14282,6 +14318,28 @@ pub mod root { #[inline] fn bitor(self, other: Self) -> Self { nsChangeHint(self.0 | other.0) } } + impl ::std::ops::BitOrAssign for root::nsChangeHint { + #[inline] + fn bitor_assign(&mut self, rhs: root::nsChangeHint) { + self.0 |= rhs.0; + } + } + impl ::std::ops::BitAnd<root::nsChangeHint> for root::nsChangeHint { + type + Output + = + Self; + #[inline] + fn bitand(self, other: Self) -> Self { + nsChangeHint(self.0 & other.0) + } + } + impl ::std::ops::BitAndAssign for root::nsChangeHint { + #[inline] + fn bitand_assign(&mut self, rhs: root::nsChangeHint) { + self.0 &= rhs.0; + } + } #[repr(C)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub struct nsChangeHint(pub u32); @@ -14319,6 +14377,28 @@ pub mod root { nsRestyleHint(self.0 | other.0) } } + impl ::std::ops::BitOrAssign for root::nsRestyleHint { + #[inline] + fn bitor_assign(&mut self, rhs: root::nsRestyleHint) { + self.0 |= rhs.0; + } + } + impl ::std::ops::BitAnd<root::nsRestyleHint> for root::nsRestyleHint { + type + Output + = + Self; + #[inline] + fn bitand(self, other: Self) -> Self { + nsRestyleHint(self.0 & other.0) + } + } + impl ::std::ops::BitAndAssign for root::nsRestyleHint { + #[inline] + fn bitand_assign(&mut self, rhs: root::nsRestyleHint) { + self.0 &= rhs.0; + } + } #[repr(C)] /** * |nsRestyleHint| is a bitfield for the result of @@ -14405,7 +14485,7 @@ pub mod root { * count is 1. */ #[repr(C)] - #[derive(Debug, Copy)] + #[derive(Debug)] pub struct nsStringBuffer { pub mRefCount: u32, pub mStorageSize: u32, @@ -14427,9 +14507,6 @@ pub mod root { "Alignment of field: " , stringify ! ( nsStringBuffer ) , "::" , stringify ! ( mStorageSize ) )); } - impl Clone for nsStringBuffer { - fn clone(&self) -> Self { *self } - } #[repr(C)] #[derive(Debug, Copy)] pub struct nsIAtom { @@ -14472,38 +14549,55 @@ pub mod root { #[inline] pub fn mLength(&self) -> u32 { let mask = 2147483647usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mLength(&mut self, val: u32) { let mask = 2147483647usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsStatic(&self) -> u32 { let mask = 2147483648usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 31usize; + let val = (unit_field_val & mask) >> 31usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsStatic(&mut self, val: u32) { let mask = 2147483648usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 31usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 31usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mLength: u32, mIsStatic: u32) -> u32 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mLength = mLength as u32 as u32; + let mask = 2147483647usize as u32; + let mLength = (mLength << 0usize) & mask; + bitfield_unit_val | mLength + }; + let mIsStatic = mIsStatic as u32 as u32; + let mask = 2147483648usize as u32; + let mIsStatic = (mIsStatic << 31usize) & mask; + bitfield_unit_val | mIsStatic } } #[repr(C)] @@ -15277,20 +15371,29 @@ pub mod root { #[inline] pub fn ownsMessage_(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_ownsMessage_(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(ownsMessage_: bool) -> u8 { + let bitfield_unit_val = { 0 }; + let ownsMessage_ = ownsMessage_ as u8 as u8; + let mask = 1usize as u8; + let ownsMessage_ = (ownsMessage_ << 0usize) & mask; + bitfield_unit_val | ownsMessage_ } } /** @@ -16452,812 +16555,1440 @@ pub mod root { #[inline] pub fn mBidiEnabled(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mBidiEnabled(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mMathMLEnabled(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mMathMLEnabled(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsInitialDocumentInWindow(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsInitialDocumentInWindow(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIgnoreDocGroupMismatches(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIgnoreDocGroupMismatches(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mLoadedAsData(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mLoadedAsData(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mLoadedAsInteractiveData(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mLoadedAsInteractiveData(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mMayStartLayout(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mMayStartLayout(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHaveFiredTitleChange(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHaveFiredTitleChange(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mBidiEnabled: bool, mMathMLEnabled: bool, + mIsInitialDocumentInWindow: bool, + mIgnoreDocGroupMismatches: bool, + mLoadedAsData: bool, + mLoadedAsInteractiveData: bool, + mMayStartLayout: bool, + mHaveFiredTitleChange: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mBidiEnabled = + mBidiEnabled + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mBidiEnabled = + (mBidiEnabled + << + 0usize) + & + mask; + bitfield_unit_val + | + mBidiEnabled + }; + let mMathMLEnabled = + mMathMLEnabled + as u8 as + u8; + let mask = + 2usize as u8; + let mMathMLEnabled = + (mMathMLEnabled + << + 1usize) & + mask; + bitfield_unit_val + | + mMathMLEnabled + }; + let mIsInitialDocumentInWindow = + mIsInitialDocumentInWindow + as u8 as u8; + let mask = 4usize as u8; + let mIsInitialDocumentInWindow = + (mIsInitialDocumentInWindow + << 2usize) & + mask; + bitfield_unit_val | + mIsInitialDocumentInWindow + }; + let mIgnoreDocGroupMismatches = + mIgnoreDocGroupMismatches as + u8 as u8; + let mask = 8usize as u8; + let mIgnoreDocGroupMismatches = + (mIgnoreDocGroupMismatches << + 3usize) & mask; + bitfield_unit_val | + mIgnoreDocGroupMismatches + }; + let mLoadedAsData = + mLoadedAsData as u8 as u8; + let mask = 16usize as u8; + let mLoadedAsData = + (mLoadedAsData << 4usize) & mask; + bitfield_unit_val | mLoadedAsData + }; + let mLoadedAsInteractiveData = + mLoadedAsInteractiveData as u8 as u8; + let mask = 32usize as u8; + let mLoadedAsInteractiveData = + (mLoadedAsInteractiveData << 5usize) & mask; + bitfield_unit_val | mLoadedAsInteractiveData + }; + let mMayStartLayout = mMayStartLayout as u8 as u8; + let mask = 64usize as u8; + let mMayStartLayout = (mMayStartLayout << 6usize) & mask; + bitfield_unit_val | mMayStartLayout + }; + let mHaveFiredTitleChange = mHaveFiredTitleChange as u8 as u8; + let mask = 128usize as u8; + let mHaveFiredTitleChange = + (mHaveFiredTitleChange << 7usize) & mask; + bitfield_unit_val | mHaveFiredTitleChange } #[inline] pub fn mIsShowing(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsShowing(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mVisible(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mVisible(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasReferrerPolicyCSP(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasReferrerPolicyCSP(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mRemovedFromDocShell(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mRemovedFromDocShell(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mAllowDNSPrefetch(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mAllowDNSPrefetch(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsStaticDocument(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsStaticDocument(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mCreatingStaticClone(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mCreatingStaticClone(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mInUnlinkOrDeletion(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mInUnlinkOrDeletion(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_2(mIsShowing: bool, mVisible: bool, + mHasReferrerPolicyCSP: bool, + mRemovedFromDocShell: bool, + mAllowDNSPrefetch: bool, + mIsStaticDocument: bool, + mCreatingStaticClone: bool, + mInUnlinkOrDeletion: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mIsShowing = + mIsShowing + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mIsShowing = + (mIsShowing + << + 0usize) + & + mask; + bitfield_unit_val + | + mIsShowing + }; + let mVisible = + mVisible as u8 + as u8; + let mask = + 2usize as u8; + let mVisible = + (mVisible << + 1usize) & + mask; + bitfield_unit_val + | mVisible + }; + let mHasReferrerPolicyCSP = + mHasReferrerPolicyCSP + as u8 as u8; + let mask = 4usize as u8; + let mHasReferrerPolicyCSP = + (mHasReferrerPolicyCSP + << 2usize) & + mask; + bitfield_unit_val | + mHasReferrerPolicyCSP + }; + let mRemovedFromDocShell = + mRemovedFromDocShell as u8 as + u8; + let mask = 8usize as u8; + let mRemovedFromDocShell = + (mRemovedFromDocShell << + 3usize) & mask; + bitfield_unit_val | + mRemovedFromDocShell + }; + let mAllowDNSPrefetch = + mAllowDNSPrefetch as u8 as u8; + let mask = 16usize as u8; + let mAllowDNSPrefetch = + (mAllowDNSPrefetch << 4usize) & mask; + bitfield_unit_val | mAllowDNSPrefetch + }; + let mIsStaticDocument = + mIsStaticDocument as u8 as u8; + let mask = 32usize as u8; + let mIsStaticDocument = + (mIsStaticDocument << 5usize) & mask; + bitfield_unit_val | mIsStaticDocument + }; + let mCreatingStaticClone = + mCreatingStaticClone as u8 as u8; + let mask = 64usize as u8; + let mCreatingStaticClone = + (mCreatingStaticClone << 6usize) & mask; + bitfield_unit_val | mCreatingStaticClone + }; + let mInUnlinkOrDeletion = mInUnlinkOrDeletion as u8 as u8; + let mask = 128usize as u8; + let mInUnlinkOrDeletion = (mInUnlinkOrDeletion << 7usize) & mask; + bitfield_unit_val | mInUnlinkOrDeletion } #[inline] pub fn mHasHadScriptHandlingObject(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasHadScriptHandlingObject(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsBeingUsedAsImage(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsBeingUsedAsImage(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsSyntheticDocument(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsSyntheticDocument(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasLinksToUpdate(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasLinksToUpdate(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasLinksToUpdateRunnable(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasLinksToUpdateRunnable(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mMayHaveDOMMutationObservers(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mMayHaveDOMMutationObservers(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mMayHaveAnimationObservers(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mMayHaveAnimationObservers(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasMixedActiveContentLoaded(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasMixedActiveContentLoaded(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_3(mHasHadScriptHandlingObject: bool, + mIsBeingUsedAsImage: bool, + mIsSyntheticDocument: bool, + mHasLinksToUpdate: bool, + mHasLinksToUpdateRunnable: bool, + mMayHaveDOMMutationObservers: bool, + mMayHaveAnimationObservers: bool, + mHasMixedActiveContentLoaded: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mHasHadScriptHandlingObject = + mHasHadScriptHandlingObject + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mHasHadScriptHandlingObject = + (mHasHadScriptHandlingObject + << + 0usize) + & + mask; + bitfield_unit_val + | + mHasHadScriptHandlingObject + }; + let mIsBeingUsedAsImage = + mIsBeingUsedAsImage + as u8 as + u8; + let mask = + 2usize as u8; + let mIsBeingUsedAsImage = + (mIsBeingUsedAsImage + << + 1usize) & + mask; + bitfield_unit_val + | + mIsBeingUsedAsImage + }; + let mIsSyntheticDocument = + mIsSyntheticDocument + as u8 as u8; + let mask = 4usize as u8; + let mIsSyntheticDocument = + (mIsSyntheticDocument + << 2usize) & + mask; + bitfield_unit_val | + mIsSyntheticDocument + }; + let mHasLinksToUpdate = + mHasLinksToUpdate as u8 as u8; + let mask = 8usize as u8; + let mHasLinksToUpdate = + (mHasLinksToUpdate << 3usize) + & mask; + bitfield_unit_val | + mHasLinksToUpdate + }; + let mHasLinksToUpdateRunnable = + mHasLinksToUpdateRunnable as u8 as u8; + let mask = 16usize as u8; + let mHasLinksToUpdateRunnable = + (mHasLinksToUpdateRunnable << 4usize) + & mask; + bitfield_unit_val | + mHasLinksToUpdateRunnable + }; + let mMayHaveDOMMutationObservers = + mMayHaveDOMMutationObservers as u8 as u8; + let mask = 32usize as u8; + let mMayHaveDOMMutationObservers = + (mMayHaveDOMMutationObservers << 5usize) & + mask; + bitfield_unit_val | mMayHaveDOMMutationObservers + }; + let mMayHaveAnimationObservers = + mMayHaveAnimationObservers as u8 as u8; + let mask = 64usize as u8; + let mMayHaveAnimationObservers = + (mMayHaveAnimationObservers << 6usize) & mask; + bitfield_unit_val | mMayHaveAnimationObservers + }; + let mHasMixedActiveContentLoaded = + mHasMixedActiveContentLoaded as u8 as u8; + let mask = 128usize as u8; + let mHasMixedActiveContentLoaded = + (mHasMixedActiveContentLoaded << 7usize) & mask; + bitfield_unit_val | mHasMixedActiveContentLoaded } #[inline] pub fn mHasMixedActiveContentBlocked(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasMixedActiveContentBlocked(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasMixedDisplayContentLoaded(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasMixedDisplayContentLoaded(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasMixedDisplayContentBlocked(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasMixedDisplayContentBlocked(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasMixedContentObjectSubrequest(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasMixedContentObjectSubrequest(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasCSP(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasCSP(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasUnsafeEvalCSP(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasUnsafeEvalCSP(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasUnsafeInlineCSP(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasUnsafeInlineCSP(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasTrackingContentBlocked(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasTrackingContentBlocked(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_4) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_4 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_4 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_4(mHasMixedActiveContentBlocked: bool, + mHasMixedDisplayContentLoaded: bool, + mHasMixedDisplayContentBlocked: bool, + mHasMixedContentObjectSubrequest: bool, + mHasCSP: bool, mHasUnsafeEvalCSP: bool, + mHasUnsafeInlineCSP: bool, + mHasTrackingContentBlocked: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mHasMixedActiveContentBlocked = + mHasMixedActiveContentBlocked + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mHasMixedActiveContentBlocked = + (mHasMixedActiveContentBlocked + << + 0usize) + & + mask; + bitfield_unit_val + | + mHasMixedActiveContentBlocked + }; + let mHasMixedDisplayContentLoaded = + mHasMixedDisplayContentLoaded + as u8 as + u8; + let mask = + 2usize as u8; + let mHasMixedDisplayContentLoaded = + (mHasMixedDisplayContentLoaded + << + 1usize) & + mask; + bitfield_unit_val + | + mHasMixedDisplayContentLoaded + }; + let mHasMixedDisplayContentBlocked = + mHasMixedDisplayContentBlocked + as u8 as u8; + let mask = 4usize as u8; + let mHasMixedDisplayContentBlocked = + (mHasMixedDisplayContentBlocked + << 2usize) & + mask; + bitfield_unit_val | + mHasMixedDisplayContentBlocked + }; + let mHasMixedContentObjectSubrequest = + mHasMixedContentObjectSubrequest + as u8 as u8; + let mask = 8usize as u8; + let mHasMixedContentObjectSubrequest = + (mHasMixedContentObjectSubrequest + << 3usize) & mask; + bitfield_unit_val | + mHasMixedContentObjectSubrequest + }; + let mHasCSP = mHasCSP as u8 as u8; + let mask = 16usize as u8; + let mHasCSP = (mHasCSP << 4usize) & mask; + bitfield_unit_val | mHasCSP + }; + let mHasUnsafeEvalCSP = + mHasUnsafeEvalCSP as u8 as u8; + let mask = 32usize as u8; + let mHasUnsafeEvalCSP = + (mHasUnsafeEvalCSP << 5usize) & mask; + bitfield_unit_val | mHasUnsafeEvalCSP + }; + let mHasUnsafeInlineCSP = mHasUnsafeInlineCSP as u8 as u8; + let mask = 64usize as u8; + let mHasUnsafeInlineCSP = + (mHasUnsafeInlineCSP << 6usize) & mask; + bitfield_unit_val | mHasUnsafeInlineCSP + }; + let mHasTrackingContentBlocked = + mHasTrackingContentBlocked as u8 as u8; + let mask = 128usize as u8; + let mHasTrackingContentBlocked = + (mHasTrackingContentBlocked << 7usize) & mask; + bitfield_unit_val | mHasTrackingContentBlocked } #[inline] pub fn mHasTrackingContentLoaded(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasTrackingContentLoaded(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mBFCacheDisallowed(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mBFCacheDisallowed(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasHadDefaultView(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasHadDefaultView(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mStyleSheetChangeEventsEnabled(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mStyleSheetChangeEventsEnabled(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsSrcdocDocument(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsSrcdocDocument(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDidDocumentOpen(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mDidDocumentOpen(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasDisplayDocument(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasDisplayDocument(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFontFaceSetDirty(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mFontFaceSetDirty(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_5) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_5 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_5 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_5(mHasTrackingContentLoaded: bool, + mBFCacheDisallowed: bool, + mHasHadDefaultView: bool, + mStyleSheetChangeEventsEnabled: bool, + mIsSrcdocDocument: bool, mDidDocumentOpen: bool, + mHasDisplayDocument: bool, + mFontFaceSetDirty: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mHasTrackingContentLoaded = + mHasTrackingContentLoaded + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mHasTrackingContentLoaded = + (mHasTrackingContentLoaded + << + 0usize) + & + mask; + bitfield_unit_val + | + mHasTrackingContentLoaded + }; + let mBFCacheDisallowed = + mBFCacheDisallowed + as u8 as + u8; + let mask = + 2usize as u8; + let mBFCacheDisallowed = + (mBFCacheDisallowed + << + 1usize) & + mask; + bitfield_unit_val + | + mBFCacheDisallowed + }; + let mHasHadDefaultView = + mHasHadDefaultView as + u8 as u8; + let mask = 4usize as u8; + let mHasHadDefaultView = + (mHasHadDefaultView << + 2usize) & mask; + bitfield_unit_val | + mHasHadDefaultView + }; + let mStyleSheetChangeEventsEnabled = + mStyleSheetChangeEventsEnabled + as u8 as u8; + let mask = 8usize as u8; + let mStyleSheetChangeEventsEnabled = + (mStyleSheetChangeEventsEnabled + << 3usize) & mask; + bitfield_unit_val | + mStyleSheetChangeEventsEnabled + }; + let mIsSrcdocDocument = + mIsSrcdocDocument as u8 as u8; + let mask = 16usize as u8; + let mIsSrcdocDocument = + (mIsSrcdocDocument << 4usize) & mask; + bitfield_unit_val | mIsSrcdocDocument + }; + let mDidDocumentOpen = + mDidDocumentOpen as u8 as u8; + let mask = 32usize as u8; + let mDidDocumentOpen = + (mDidDocumentOpen << 5usize) & mask; + bitfield_unit_val | mDidDocumentOpen + }; + let mHasDisplayDocument = mHasDisplayDocument as u8 as u8; + let mask = 64usize as u8; + let mHasDisplayDocument = + (mHasDisplayDocument << 6usize) & mask; + bitfield_unit_val | mHasDisplayDocument + }; + let mFontFaceSetDirty = mFontFaceSetDirty as u8 as u8; + let mask = 128usize as u8; + let mFontFaceSetDirty = (mFontFaceSetDirty << 7usize) & mask; + bitfield_unit_val | mFontFaceSetDirty } #[inline] pub fn mGetUserFontSetCalled(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mGetUserFontSetCalled(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_6 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_6 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPostedFlushUserFontSet(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mPostedFlushUserFontSet(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_6 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_6 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDidFireDOMContentLoaded(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mDidFireDOMContentLoaded(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_6 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_6 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasScrollLinkedEffect(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHasScrollLinkedEffect(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_6 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_6 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFrameRequestCallbacksScheduled(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mFrameRequestCallbacksScheduled(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_6) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_6 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_6 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_6(mGetUserFontSetCalled: bool, + mPostedFlushUserFontSet: bool, + mDidFireDOMContentLoaded: bool, + mHasScrollLinkedEffect: bool, + mFrameRequestCallbacksScheduled: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mGetUserFontSetCalled = + mGetUserFontSetCalled as u8 as + u8; + let mask = 1usize as u8; + let mGetUserFontSetCalled = + (mGetUserFontSetCalled << + 0usize) & mask; + bitfield_unit_val | + mGetUserFontSetCalled + }; + let mPostedFlushUserFontSet = + mPostedFlushUserFontSet as u8 as u8; + let mask = 2usize as u8; + let mPostedFlushUserFontSet = + (mPostedFlushUserFontSet << 1usize) & + mask; + bitfield_unit_val | + mPostedFlushUserFontSet + }; + let mDidFireDOMContentLoaded = + mDidFireDOMContentLoaded as u8 as u8; + let mask = 4usize as u8; + let mDidFireDOMContentLoaded = + (mDidFireDOMContentLoaded << 2usize) & mask; + bitfield_unit_val | mDidFireDOMContentLoaded + }; + let mHasScrollLinkedEffect = + mHasScrollLinkedEffect as u8 as u8; + let mask = 8usize as u8; + let mHasScrollLinkedEffect = + (mHasScrollLinkedEffect << 3usize) & mask; + bitfield_unit_val | mHasScrollLinkedEffect + }; + let mFrameRequestCallbacksScheduled = + mFrameRequestCallbacksScheduled as u8 as u8; + let mask = 16usize as u8; + let mFrameRequestCallbacksScheduled = + (mFrameRequestCallbacksScheduled << 4usize) & mask; + bitfield_unit_val | mFrameRequestCallbacksScheduled } } #[repr(C)] @@ -17468,6 +18199,8 @@ pub mod root { pub mImageAnimationMode: u16, pub mImageAnimationModePref: u16, pub mLangGroupFontPrefs: root::nsPresContext_LangGroupFontPrefs, + pub mFontGroupCacheDirty: bool, + pub mLanguagesUsed: [u64; 5usize], pub mBorderWidthTable: [root::nscoord; 3usize], pub mInterruptChecksToSkip: u32, pub mElementsRestyled: u64, @@ -17611,7 +18344,7 @@ pub mod root { } #[test] fn bindgen_test_layout_nsPresContext() { - assert_eq!(::std::mem::size_of::<nsPresContext>() , 1312usize , concat + assert_eq!(::std::mem::size_of::<nsPresContext>() , 1360usize , concat ! ( "Size of: " , stringify ! ( nsPresContext ) )); assert_eq! (::std::mem::align_of::<nsPresContext>() , 8usize , concat ! ( "Alignment of " , stringify ! ( nsPresContext ) )); @@ -17906,92 +18639,103 @@ pub mod root { "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLangGroupFontPrefs ) )); assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . + mFontGroupCacheDirty as * const _ as usize } , 1184usize , + concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mFontGroupCacheDirty ) )); + assert_eq! (unsafe { + & ( * ( 0 as * const nsPresContext ) ) . mLanguagesUsed as + * const _ as usize } , 1192usize , concat ! ( + "Alignment of field: " , stringify ! ( nsPresContext ) , + "::" , stringify ! ( mLanguagesUsed ) )); + assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mBorderWidthTable - as * const _ as usize } , 1184usize , concat ! ( + as * const _ as usize } , 1232usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mBorderWidthTable ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mInterruptChecksToSkip as * const _ as usize } , 1196usize + mInterruptChecksToSkip as * const _ as usize } , 1244usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mInterruptChecksToSkip ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mElementsRestyled - as * const _ as usize } , 1200usize , concat ! ( + as * const _ as usize } , 1248usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mElementsRestyled ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mFramesConstructed as * const _ as usize } , 1208usize , + mFramesConstructed as * const _ as usize } , 1256usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFramesConstructed ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFramesReflowed - as * const _ as usize } , 1216usize , concat ! ( + as * const _ as usize } , 1264usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFramesReflowed ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mReflowStartTime - as * const _ as usize } , 1224usize , concat ! ( + as * const _ as usize } , 1272usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mReflowStartTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstNonBlankPaintTime as * const _ as usize } , - 1232usize , concat ! ( + 1280usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstNonBlankPaintTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstClickTime - as * const _ as usize } , 1240usize , concat ! ( + as * const _ as usize } , 1288usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstClickTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstKeyTime as - * const _ as usize } , 1248usize , concat ! ( + * const _ as usize } , 1296usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstKeyTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mFirstMouseMoveTime as * const _ as usize } , 1256usize , + mFirstMouseMoveTime as * const _ as usize } , 1304usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstMouseMoveTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mFirstScrollTime - as * const _ as usize } , 1264usize , concat ! ( + as * const _ as usize } , 1312usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mFirstScrollTime ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mInteractionTimeEnabled as * const _ as usize } , - 1272usize , concat ! ( + 1320usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mInteractionTimeEnabled ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . mLastStyleUpdateForAllAnimations as * const _ as usize } , - 1280usize , concat ! ( + 1328usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mLastStyleUpdateForAllAnimations ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mTelemetryScrollLastY as * const _ as usize } , 1288usize + mTelemetryScrollLastY as * const _ as usize } , 1336usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollLastY ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mTelemetryScrollMaxY as * const _ as usize } , 1292usize , + mTelemetryScrollMaxY as * const _ as usize } , 1340usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollMaxY ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsPresContext ) ) . - mTelemetryScrollTotalY as * const _ as usize } , 1296usize + mTelemetryScrollTotalY as * const _ as usize } , 1344usize , concat ! ( "Alignment of field: " , stringify ! ( nsPresContext ) , "::" , stringify ! ( mTelemetryScrollTotalY ) )); @@ -18000,9 +18744,9 @@ pub mod root { #[inline] pub fn mHasPendingInterrupt(&self) -> ::std::os::raw::c_uint { let mask = 1usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18010,18 +18754,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 1usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingInterruptFromTest(&self) -> ::std::os::raw::c_uint { let mask = 2usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18029,18 +18774,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 2usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mInterruptsEnabled(&self) -> ::std::os::raw::c_uint { let mask = 4usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18048,36 +18794,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 4usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUseDocumentFonts(&self) -> ::std::os::raw::c_uint { let mask = 8usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mUseDocumentFonts(&mut self, val: ::std::os::raw::c_uint) { let mask = 8usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUseDocumentColors(&self) -> ::std::os::raw::c_uint { let mask = 16usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18085,36 +18833,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 16usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUnderlineLinks(&self) -> ::std::os::raw::c_uint { let mask = 32usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mUnderlineLinks(&mut self, val: ::std::os::raw::c_uint) { let mask = 32usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mSendAfterPaintToContent(&self) -> ::std::os::raw::c_uint { let mask = 64usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18122,36 +18872,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 64usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUseFocusColors(&self) -> ::std::os::raw::c_uint { let mask = 128usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mUseFocusColors(&mut self, val: ::std::os::raw::c_uint) { let mask = 128usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFocusRingOnAnything(&self) -> ::std::os::raw::c_uint { let mask = 256usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 8usize; + let val = (unit_field_val & mask) >> 8usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18159,36 +18911,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 256usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 8usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 8usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFocusRingStyle(&self) -> ::std::os::raw::c_uint { let mask = 512usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 9usize; + let val = (unit_field_val & mask) >> 9usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mFocusRingStyle(&mut self, val: ::std::os::raw::c_uint) { let mask = 512usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 9usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 9usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDrawImageBackground(&self) -> ::std::os::raw::c_uint { let mask = 1024usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 10usize; + let val = (unit_field_val & mask) >> 10usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18196,18 +18950,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 1024usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 10usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 10usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDrawColorBackground(&self) -> ::std::os::raw::c_uint { let mask = 2048usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 11usize; + let val = (unit_field_val & mask) >> 11usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18215,36 +18970,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 2048usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 11usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 11usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mNeverAnimate(&self) -> ::std::os::raw::c_uint { let mask = 4096usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 12usize; + let val = (unit_field_val & mask) >> 12usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mNeverAnimate(&mut self, val: ::std::os::raw::c_uint) { let mask = 4096usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 12usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 12usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsRenderingOnlySelection(&self) -> ::std::os::raw::c_uint { let mask = 8192usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 13usize; + let val = (unit_field_val & mask) >> 13usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18252,36 +19009,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 8192usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 13usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 13usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPaginated(&self) -> ::std::os::raw::c_uint { let mask = 16384usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 14usize; + let val = (unit_field_val & mask) >> 14usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mPaginated(&mut self, val: ::std::os::raw::c_uint) { let mask = 16384usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 14usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 14usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mCanPaginatedScroll(&self) -> ::std::os::raw::c_uint { let mask = 32768usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 15usize; + let val = (unit_field_val & mask) >> 15usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18289,36 +19048,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 32768usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 15usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 15usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDoScaledTwips(&self) -> ::std::os::raw::c_uint { let mask = 65536usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 16usize; + let val = (unit_field_val & mask) >> 16usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mDoScaledTwips(&mut self, val: ::std::os::raw::c_uint) { let mask = 65536usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 16usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 16usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsRootPaginatedDocument(&self) -> ::std::os::raw::c_uint { let mask = 131072usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 17usize; + let val = (unit_field_val & mask) >> 17usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18326,18 +19087,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 131072usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 17usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 17usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPrefBidiDirection(&self) -> ::std::os::raw::c_uint { let mask = 262144usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 18usize; + let val = (unit_field_val & mask) >> 18usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18345,18 +19107,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 262144usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 18usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 18usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPrefScrollbarSide(&self) -> ::std::os::raw::c_uint { let mask = 1572864usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 19usize; + let val = (unit_field_val & mask) >> 19usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18364,18 +19127,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 1572864usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 19usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 19usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingSysColorChanged(&self) -> ::std::os::raw::c_uint { let mask = 2097152usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 21usize; + let val = (unit_field_val & mask) >> 21usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18383,18 +19147,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 2097152usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 21usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 21usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingThemeChanged(&self) -> ::std::os::raw::c_uint { let mask = 4194304usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 22usize; + let val = (unit_field_val & mask) >> 22usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18402,18 +19167,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 4194304usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 22usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 22usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingUIResolutionChanged(&self) -> ::std::os::raw::c_uint { let mask = 8388608usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 23usize; + let val = (unit_field_val & mask) >> 23usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18421,19 +19187,20 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 8388608usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 23usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 23usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingMediaFeatureValuesChanged(&self) -> ::std::os::raw::c_uint { let mask = 16777216usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 24usize; + let val = (unit_field_val & mask) >> 24usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18442,19 +19209,20 @@ pub mod root { ::std::os::raw::c_uint) { let mask = 16777216usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 24usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 24usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPrefChangePendingNeedsReflow(&self) -> ::std::os::raw::c_uint { let mask = 33554432usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 25usize; + let val = (unit_field_val & mask) >> 25usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18463,90 +19231,95 @@ pub mod root { ::std::os::raw::c_uint) { let mask = 33554432usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 25usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 25usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsEmulatingMedia(&self) -> ::std::os::raw::c_uint { let mask = 67108864usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 26usize; + let val = (unit_field_val & mask) >> 26usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsEmulatingMedia(&mut self, val: ::std::os::raw::c_uint) { let mask = 67108864usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 26usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 26usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsGlyph(&self) -> ::std::os::raw::c_uint { let mask = 134217728usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 27usize; + let val = (unit_field_val & mask) >> 27usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsGlyph(&mut self, val: ::std::os::raw::c_uint) { let mask = 134217728usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 27usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 27usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUsesRootEMUnits(&self) -> ::std::os::raw::c_uint { let mask = 268435456usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 28usize; + let val = (unit_field_val & mask) >> 28usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mUsesRootEMUnits(&mut self, val: ::std::os::raw::c_uint) { let mask = 268435456usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 28usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 28usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUsesExChUnits(&self) -> ::std::os::raw::c_uint { let mask = 536870912usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 29usize; + let val = (unit_field_val & mask) >> 29usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mUsesExChUnits(&mut self, val: ::std::os::raw::c_uint) { let mask = 536870912usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 29usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 29usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mUsesViewportUnits(&self) -> ::std::os::raw::c_uint { let mask = 1073741824usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 30usize; + let val = (unit_field_val & mask) >> 30usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18554,18 +19327,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 1073741824usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 30usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 30usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPendingViewportChange(&self) -> ::std::os::raw::c_uint { let mask = 2147483648usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 31usize; + let val = (unit_field_val & mask) >> 31usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18573,18 +19347,662 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 2147483648usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 31usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 31usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mHasPendingInterrupt: ::std::os::raw::c_uint, + mPendingInterruptFromTest: + ::std::os::raw::c_uint, + mInterruptsEnabled: ::std::os::raw::c_uint, + mUseDocumentFonts: ::std::os::raw::c_uint, + mUseDocumentColors: ::std::os::raw::c_uint, + mUnderlineLinks: ::std::os::raw::c_uint, + mSendAfterPaintToContent: + ::std::os::raw::c_uint, + mUseFocusColors: ::std::os::raw::c_uint, + mFocusRingOnAnything: ::std::os::raw::c_uint, + mFocusRingStyle: ::std::os::raw::c_uint, + mDrawImageBackground: ::std::os::raw::c_uint, + mDrawColorBackground: ::std::os::raw::c_uint, + mNeverAnimate: ::std::os::raw::c_uint, + mIsRenderingOnlySelection: + ::std::os::raw::c_uint, + mPaginated: ::std::os::raw::c_uint, + mCanPaginatedScroll: ::std::os::raw::c_uint, + mDoScaledTwips: ::std::os::raw::c_uint, + mIsRootPaginatedDocument: + ::std::os::raw::c_uint, + mPrefBidiDirection: ::std::os::raw::c_uint, + mPrefScrollbarSide: ::std::os::raw::c_uint, + mPendingSysColorChanged: ::std::os::raw::c_uint, + mPendingThemeChanged: ::std::os::raw::c_uint, + mPendingUIResolutionChanged: + ::std::os::raw::c_uint, + mPendingMediaFeatureValuesChanged: + ::std::os::raw::c_uint, + mPrefChangePendingNeedsReflow: + ::std::os::raw::c_uint, + mIsEmulatingMedia: ::std::os::raw::c_uint, + mIsGlyph: ::std::os::raw::c_uint, + mUsesRootEMUnits: ::std::os::raw::c_uint, + mUsesExChUnits: ::std::os::raw::c_uint, + mUsesViewportUnits: ::std::os::raw::c_uint, + mPendingViewportChange: ::std::os::raw::c_uint) + -> u32 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + 0 + }; + let mHasPendingInterrupt = + mHasPendingInterrupt + as + u32 + as + u32; + let mask = + 1usize + as + u32; + let mHasPendingInterrupt = + (mHasPendingInterrupt + << + 0usize) + & + mask; + bitfield_unit_val + | + mHasPendingInterrupt + }; + let mPendingInterruptFromTest = + mPendingInterruptFromTest + as + u32 + as + u32; + let mask = + 2usize + as + u32; + let mPendingInterruptFromTest = + (mPendingInterruptFromTest + << + 1usize) + & + mask; + bitfield_unit_val + | + mPendingInterruptFromTest + }; + let mInterruptsEnabled = + mInterruptsEnabled + as + u32 + as + u32; + let mask = + 4usize + as + u32; + let mInterruptsEnabled = + (mInterruptsEnabled + << + 2usize) + & + mask; + bitfield_unit_val + | + mInterruptsEnabled + }; + let mUseDocumentFonts = + mUseDocumentFonts + as + u32 + as + u32; + let mask = + 8usize + as + u32; + let mUseDocumentFonts = + (mUseDocumentFonts + << + 3usize) + & + mask; + bitfield_unit_val + | + mUseDocumentFonts + }; + let mUseDocumentColors = + mUseDocumentColors + as + u32 + as + u32; + let mask = + 16usize + as + u32; + let mUseDocumentColors = + (mUseDocumentColors + << + 4usize) + & + mask; + bitfield_unit_val + | + mUseDocumentColors + }; + let mUnderlineLinks = + mUnderlineLinks + as + u32 + as + u32; + let mask = + 32usize + as + u32; + let mUnderlineLinks = + (mUnderlineLinks + << + 5usize) + & + mask; + bitfield_unit_val + | + mUnderlineLinks + }; + let mSendAfterPaintToContent = + mSendAfterPaintToContent + as + u32 + as + u32; + let mask = + 64usize + as + u32; + let mSendAfterPaintToContent = + (mSendAfterPaintToContent + << + 6usize) + & + mask; + bitfield_unit_val + | + mSendAfterPaintToContent + }; + let mUseFocusColors = + mUseFocusColors + as + u32 + as + u32; + let mask = + 128usize + as + u32; + let mUseFocusColors = + (mUseFocusColors + << + 7usize) + & + mask; + bitfield_unit_val + | + mUseFocusColors + }; + let mFocusRingOnAnything = + mFocusRingOnAnything + as + u32 + as + u32; + let mask = + 256usize + as + u32; + let mFocusRingOnAnything = + (mFocusRingOnAnything + << + 8usize) + & + mask; + bitfield_unit_val + | + mFocusRingOnAnything + }; + let mFocusRingStyle = + mFocusRingStyle + as + u32 + as + u32; + let mask = + 512usize + as + u32; + let mFocusRingStyle = + (mFocusRingStyle + << + 9usize) + & + mask; + bitfield_unit_val + | + mFocusRingStyle + }; + let mDrawImageBackground = + mDrawImageBackground + as + u32 + as + u32; + let mask = + 1024usize + as + u32; + let mDrawImageBackground = + (mDrawImageBackground + << + 10usize) + & + mask; + bitfield_unit_val + | + mDrawImageBackground + }; + let mDrawColorBackground = + mDrawColorBackground + as + u32 + as + u32; + let mask = + 2048usize + as + u32; + let mDrawColorBackground = + (mDrawColorBackground + << + 11usize) + & + mask; + bitfield_unit_val + | + mDrawColorBackground + }; + let mNeverAnimate = + mNeverAnimate + as + u32 + as + u32; + let mask = + 4096usize + as + u32; + let mNeverAnimate = + (mNeverAnimate + << + 12usize) + & + mask; + bitfield_unit_val + | + mNeverAnimate + }; + let mIsRenderingOnlySelection = + mIsRenderingOnlySelection + as + u32 + as + u32; + let mask = + 8192usize + as + u32; + let mIsRenderingOnlySelection = + (mIsRenderingOnlySelection + << + 13usize) + & + mask; + bitfield_unit_val + | + mIsRenderingOnlySelection + }; + let mPaginated = + mPaginated + as + u32 + as + u32; + let mask = + 16384usize + as + u32; + let mPaginated = + (mPaginated + << + 14usize) + & + mask; + bitfield_unit_val + | + mPaginated + }; + let mCanPaginatedScroll = + mCanPaginatedScroll + as + u32 + as + u32; + let mask = + 32768usize + as + u32; + let mCanPaginatedScroll = + (mCanPaginatedScroll + << + 15usize) + & + mask; + bitfield_unit_val + | + mCanPaginatedScroll + }; + let mDoScaledTwips = + mDoScaledTwips + as + u32 + as + u32; + let mask = + 65536usize + as + u32; + let mDoScaledTwips = + (mDoScaledTwips + << + 16usize) + & + mask; + bitfield_unit_val + | + mDoScaledTwips + }; + let mIsRootPaginatedDocument = + mIsRootPaginatedDocument + as + u32 + as + u32; + let mask = + 131072usize + as + u32; + let mIsRootPaginatedDocument = + (mIsRootPaginatedDocument + << + 17usize) + & + mask; + bitfield_unit_val + | + mIsRootPaginatedDocument + }; + let mPrefBidiDirection = + mPrefBidiDirection + as + u32 + as + u32; + let mask = + 262144usize + as + u32; + let mPrefBidiDirection = + (mPrefBidiDirection + << + 18usize) + & + mask; + bitfield_unit_val + | + mPrefBidiDirection + }; + let mPrefScrollbarSide = + mPrefScrollbarSide + as + u32 + as + u32; + let mask = + 1572864usize + as + u32; + let mPrefScrollbarSide = + (mPrefScrollbarSide + << + 19usize) + & + mask; + bitfield_unit_val + | + mPrefScrollbarSide + }; + let mPendingSysColorChanged = + mPendingSysColorChanged + as + u32 + as + u32; + let mask = + 2097152usize + as + u32; + let mPendingSysColorChanged = + (mPendingSysColorChanged + << + 21usize) + & + mask; + bitfield_unit_val + | + mPendingSysColorChanged + }; + let mPendingThemeChanged = + mPendingThemeChanged + as + u32 + as + u32; + let mask = + 4194304usize + as + u32; + let mPendingThemeChanged = + (mPendingThemeChanged + << + 22usize) + & + mask; + bitfield_unit_val + | + mPendingThemeChanged + }; + let mPendingUIResolutionChanged = + mPendingUIResolutionChanged + as + u32 + as + u32; + let mask = + 8388608usize + as + u32; + let mPendingUIResolutionChanged = + (mPendingUIResolutionChanged + << + 23usize) + & + mask; + bitfield_unit_val + | + mPendingUIResolutionChanged + }; + let mPendingMediaFeatureValuesChanged = + mPendingMediaFeatureValuesChanged + as + u32 + as + u32; + let mask = + 16777216usize + as + u32; + let mPendingMediaFeatureValuesChanged = + (mPendingMediaFeatureValuesChanged + << + 24usize) + & + mask; + bitfield_unit_val + | + mPendingMediaFeatureValuesChanged + }; + let mPrefChangePendingNeedsReflow = + mPrefChangePendingNeedsReflow + as u32 as + u32; + let mask = + 33554432usize + as u32; + let mPrefChangePendingNeedsReflow = + (mPrefChangePendingNeedsReflow + << + 25usize) + & mask; + bitfield_unit_val + | + mPrefChangePendingNeedsReflow + }; + let mIsEmulatingMedia = + mIsEmulatingMedia as + u32 as u32; + let mask = + 67108864usize as u32; + let mIsEmulatingMedia = + (mIsEmulatingMedia << + 26usize) & mask; + bitfield_unit_val | + mIsEmulatingMedia + }; + let mIsGlyph = + mIsGlyph as u32 as u32; + let mask = 134217728usize as u32; + let mIsGlyph = + (mIsGlyph << 27usize) & mask; + bitfield_unit_val | mIsGlyph + }; + let mUsesRootEMUnits = + mUsesRootEMUnits as u32 as u32; + let mask = 268435456usize as u32; + let mUsesRootEMUnits = + (mUsesRootEMUnits << 28usize) & mask; + bitfield_unit_val | mUsesRootEMUnits + }; + let mUsesExChUnits = mUsesExChUnits as u32 as u32; + let mask = 536870912usize as u32; + let mUsesExChUnits = + (mUsesExChUnits << 29usize) & mask; + bitfield_unit_val | mUsesExChUnits + }; + let mUsesViewportUnits = mUsesViewportUnits as u32 as u32; + let mask = 1073741824usize as u32; + let mUsesViewportUnits = + (mUsesViewportUnits << 30usize) & mask; + bitfield_unit_val | mUsesViewportUnits + }; + let mPendingViewportChange = mPendingViewportChange as u32 as u32; + let mask = 2147483648usize as u32; + let mPendingViewportChange = + (mPendingViewportChange << 31usize) & mask; + bitfield_unit_val | mPendingViewportChange } #[inline] pub fn mCounterStylesDirty(&self) -> ::std::os::raw::c_uint { let mask = 1usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18592,18 +20010,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 1usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPostedFlushCounterStyles(&self) -> ::std::os::raw::c_uint { let mask = 2usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18611,18 +20030,19 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 2usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mSuppressResizeReflow(&self) -> ::std::os::raw::c_uint { let mask = 4usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18630,36 +20050,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 4usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsVisual(&self) -> ::std::os::raw::c_uint { let mask = 8usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsVisual(&mut self, val: ::std::os::raw::c_uint) { let mask = 8usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFireAfterPaintEvents(&self) -> ::std::os::raw::c_uint { let mask = 16usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18667,36 +20089,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 16usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsChrome(&self) -> ::std::os::raw::c_uint { let mask = 32usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIsChrome(&mut self, val: ::std::os::raw::c_uint) { let mask = 32usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsChromeOriginImage(&self) -> ::std::os::raw::c_uint { let mask = 64usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18704,36 +20128,38 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 64usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPaintFlashing(&self) -> ::std::os::raw::c_uint { let mask = 128usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mPaintFlashing(&mut self, val: ::std::os::raw::c_uint) { let mask = 128usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPaintFlashingInitialized(&self) -> ::std::os::raw::c_uint { let mask = 256usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 8usize; + let val = (unit_field_val & mask) >> 8usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18741,19 +20167,20 @@ pub mod root { val: ::std::os::raw::c_uint) { let mask = 256usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 8usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 8usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasWarnedAboutPositionedTableParts(&self) -> ::std::os::raw::c_uint { let mask = 512usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 9usize; + let val = (unit_field_val & mask) >> 9usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18762,19 +20189,20 @@ pub mod root { ::std::os::raw::c_uint) { let mask = 512usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 9usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 9usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHasWarnedAboutTooLargeDashedOrDottedRadius(&self) -> ::std::os::raw::c_uint { let mask = 1024usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 10usize; + let val = (unit_field_val & mask) >> 10usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] @@ -18783,65 +20211,325 @@ pub mod root { ::std::os::raw::c_uint) { let mask = 1024usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 10usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 10usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mQuirkSheetAdded(&self) -> ::std::os::raw::c_uint { let mask = 2048usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 11usize; + let val = (unit_field_val & mask) >> 11usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mQuirkSheetAdded(&mut self, val: ::std::os::raw::c_uint) { let mask = 2048usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 11usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 11usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mNeedsPrefUpdate(&self) -> ::std::os::raw::c_uint { let mask = 4096usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 12usize; + let val = (unit_field_val & mask) >> 12usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mNeedsPrefUpdate(&mut self, val: ::std::os::raw::c_uint) { let mask = 4096usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 12usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 12usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHadNonBlankPaint(&self) -> ::std::os::raw::c_uint { let mask = 8192usize as u16; - let field_val: u16 = + let unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 13usize; + let val = (unit_field_val & mask) >> 13usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mHadNonBlankPaint(&mut self, val: ::std::os::raw::c_uint) { let mask = 8192usize as u16; let val = val as u32 as u16; - let mut field_val: u16 = + let mut unit_field_val: u16 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 13usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 13usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_2(mCounterStylesDirty: ::std::os::raw::c_uint, + mPostedFlushCounterStyles: + ::std::os::raw::c_uint, + mSuppressResizeReflow: ::std::os::raw::c_uint, + mIsVisual: ::std::os::raw::c_uint, + mFireAfterPaintEvents: ::std::os::raw::c_uint, + mIsChrome: ::std::os::raw::c_uint, + mIsChromeOriginImage: ::std::os::raw::c_uint, + mPaintFlashing: ::std::os::raw::c_uint, + mPaintFlashingInitialized: + ::std::os::raw::c_uint, + mHasWarnedAboutPositionedTableParts: + ::std::os::raw::c_uint, + mHasWarnedAboutTooLargeDashedOrDottedRadius: + ::std::os::raw::c_uint, + mQuirkSheetAdded: ::std::os::raw::c_uint, + mNeedsPrefUpdate: ::std::os::raw::c_uint, + mHadNonBlankPaint: ::std::os::raw::c_uint) + -> u16 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + 0 + }; + let mCounterStylesDirty = + mCounterStylesDirty + as + u32 + as + u16; + let mask = + 1usize + as + u16; + let mCounterStylesDirty = + (mCounterStylesDirty + << + 0usize) + & + mask; + bitfield_unit_val + | + mCounterStylesDirty + }; + let mPostedFlushCounterStyles = + mPostedFlushCounterStyles + as + u32 + as + u16; + let mask = + 2usize + as + u16; + let mPostedFlushCounterStyles = + (mPostedFlushCounterStyles + << + 1usize) + & + mask; + bitfield_unit_val + | + mPostedFlushCounterStyles + }; + let mSuppressResizeReflow = + mSuppressResizeReflow + as + u32 + as + u16; + let mask = + 4usize + as + u16; + let mSuppressResizeReflow = + (mSuppressResizeReflow + << + 2usize) + & + mask; + bitfield_unit_val + | + mSuppressResizeReflow + }; + let mIsVisual = + mIsVisual + as + u32 + as + u16; + let mask = + 8usize + as + u16; + let mIsVisual = + (mIsVisual + << + 3usize) + & + mask; + bitfield_unit_val + | + mIsVisual + }; + let mFireAfterPaintEvents = + mFireAfterPaintEvents + as + u32 + as + u16; + let mask = + 16usize + as + u16; + let mFireAfterPaintEvents = + (mFireAfterPaintEvents + << + 4usize) + & + mask; + bitfield_unit_val + | + mFireAfterPaintEvents + }; + let mIsChrome = + mIsChrome + as + u32 + as + u16; + let mask = + 32usize + as + u16; + let mIsChrome = + (mIsChrome + << + 5usize) + & + mask; + bitfield_unit_val + | + mIsChrome + }; + let mIsChromeOriginImage = + mIsChromeOriginImage + as + u32 + as + u16; + let mask = + 64usize + as + u16; + let mIsChromeOriginImage = + (mIsChromeOriginImage + << + 6usize) + & + mask; + bitfield_unit_val + | + mIsChromeOriginImage + }; + let mPaintFlashing = + mPaintFlashing + as u32 as + u16; + let mask = + 128usize as + u16; + let mPaintFlashing = + (mPaintFlashing + << + 7usize) & + mask; + bitfield_unit_val + | + mPaintFlashing + }; + let mPaintFlashingInitialized = + mPaintFlashingInitialized + as u32 as u16; + let mask = + 256usize as u16; + let mPaintFlashingInitialized = + (mPaintFlashingInitialized + << 8usize) & + mask; + bitfield_unit_val | + mPaintFlashingInitialized + }; + let mHasWarnedAboutPositionedTableParts = + mHasWarnedAboutPositionedTableParts + as u32 as u16; + let mask = 512usize as u16; + let mHasWarnedAboutPositionedTableParts = + (mHasWarnedAboutPositionedTableParts + << 9usize) & mask; + bitfield_unit_val | + mHasWarnedAboutPositionedTableParts + }; + let mHasWarnedAboutTooLargeDashedOrDottedRadius = + mHasWarnedAboutTooLargeDashedOrDottedRadius + as u32 as u16; + let mask = 1024usize as u16; + let mHasWarnedAboutTooLargeDashedOrDottedRadius = + (mHasWarnedAboutTooLargeDashedOrDottedRadius + << 10usize) & mask; + bitfield_unit_val | + mHasWarnedAboutTooLargeDashedOrDottedRadius + }; + let mQuirkSheetAdded = + mQuirkSheetAdded as u32 as u16; + let mask = 2048usize as u16; + let mQuirkSheetAdded = + (mQuirkSheetAdded << 11usize) & mask; + bitfield_unit_val | mQuirkSheetAdded + }; + let mNeedsPrefUpdate = mNeedsPrefUpdate as u32 as u16; + let mask = 4096usize as u16; + let mNeedsPrefUpdate = + (mNeedsPrefUpdate << 12usize) & mask; + bitfield_unit_val | mNeedsPrefUpdate + }; + let mHadNonBlankPaint = mHadNonBlankPaint as u32 as u16; + let mask = 8192usize as u16; + let mHadNonBlankPaint = (mHadNonBlankPaint << 13usize) & mask; + bitfield_unit_val | mHadNonBlankPaint } } #[repr(C)] @@ -20097,207 +21785,318 @@ pub mod root { #[inline] pub fn mStylesHaveChanged(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mStylesHaveChanged(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDidInitialize(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mDidInitialize(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsDestroying(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsDestroying(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsReflowing(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsReflowing(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mPaintingSuppressed(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mPaintingSuppressed(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsThemeSupportDisabled(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsThemeSupportDisabled(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsActive(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsActive(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mFrozen(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mFrozen(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mStylesHaveChanged: bool, mDidInitialize: bool, + mIsDestroying: bool, mIsReflowing: bool, + mPaintingSuppressed: bool, + mIsThemeSupportDisabled: bool, mIsActive: bool, + mFrozen: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mStylesHaveChanged = + mStylesHaveChanged + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mStylesHaveChanged = + (mStylesHaveChanged + << + 0usize) + & + mask; + bitfield_unit_val + | + mStylesHaveChanged + }; + let mDidInitialize = + mDidInitialize + as u8 as + u8; + let mask = + 2usize as u8; + let mDidInitialize = + (mDidInitialize + << + 1usize) & + mask; + bitfield_unit_val + | + mDidInitialize + }; + let mIsDestroying = + mIsDestroying as u8 as + u8; + let mask = 4usize as u8; + let mIsDestroying = + (mIsDestroying << + 2usize) & mask; + bitfield_unit_val | + mIsDestroying + }; + let mIsReflowing = + mIsReflowing as u8 as u8; + let mask = 8usize as u8; + let mIsReflowing = + (mIsReflowing << 3usize) & + mask; + bitfield_unit_val | mIsReflowing + }; + let mPaintingSuppressed = + mPaintingSuppressed as u8 as u8; + let mask = 16usize as u8; + let mPaintingSuppressed = + (mPaintingSuppressed << 4usize) & + mask; + bitfield_unit_val | mPaintingSuppressed + }; + let mIsThemeSupportDisabled = + mIsThemeSupportDisabled as u8 as u8; + let mask = 32usize as u8; + let mIsThemeSupportDisabled = + (mIsThemeSupportDisabled << 5usize) & mask; + bitfield_unit_val | mIsThemeSupportDisabled + }; + let mIsActive = mIsActive as u8 as u8; + let mask = 64usize as u8; + let mIsActive = (mIsActive << 6usize) & mask; + bitfield_unit_val | mIsActive + }; + let mFrozen = mFrozen as u8 as u8; + let mask = 128usize as u8; + let mFrozen = (mFrozen << 7usize) & mask; + bitfield_unit_val | mFrozen } #[inline] pub fn mIsFirstPaint(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsFirstPaint(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mObservesMutationsForPrint(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mObservesMutationsForPrint(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mSuppressInterruptibleReflows(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mSuppressInterruptibleReflows(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mScrollPositionClampingScrollPortSizeSet(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] @@ -20305,101 +22104,223 @@ pub mod root { val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mNeedLayoutFlush(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mNeedLayoutFlush(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mNeedStyleFlush(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mNeedStyleFlush(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mObservingStyleFlushes(&self) -> bool { let mask = 64usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 6usize; + let val = (unit_field_val & mask) >> 6usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mObservingStyleFlushes(&mut self, val: bool) { let mask = 64usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 6usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 6usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mObservingLayoutFlushes(&self) -> bool { let mask = 128usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - let val = (field_val & mask) >> 7usize; + let val = (unit_field_val & mask) >> 7usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mObservingLayoutFlushes(&mut self, val: bool) { let mask = 128usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_2) }; - field_val &= !mask; - field_val |= (val << 7usize) & mask; - self._bitfield_2 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 7usize) & mask; + self._bitfield_2 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_2(mIsFirstPaint: bool, + mObservesMutationsForPrint: bool, + mSuppressInterruptibleReflows: bool, + mScrollPositionClampingScrollPortSizeSet: bool, + mNeedLayoutFlush: bool, mNeedStyleFlush: bool, + mObservingStyleFlushes: bool, + mObservingLayoutFlushes: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mIsFirstPaint = + mIsFirstPaint + as + u8 + as + u8; + let mask = + 1usize + as + u8; + let mIsFirstPaint = + (mIsFirstPaint + << + 0usize) + & + mask; + bitfield_unit_val + | + mIsFirstPaint + }; + let mObservesMutationsForPrint = + mObservesMutationsForPrint + as u8 as + u8; + let mask = + 2usize as u8; + let mObservesMutationsForPrint = + (mObservesMutationsForPrint + << + 1usize) & + mask; + bitfield_unit_val + | + mObservesMutationsForPrint + }; + let mSuppressInterruptibleReflows = + mSuppressInterruptibleReflows + as u8 as u8; + let mask = 4usize as u8; + let mSuppressInterruptibleReflows = + (mSuppressInterruptibleReflows + << 2usize) & + mask; + bitfield_unit_val | + mSuppressInterruptibleReflows + }; + let mScrollPositionClampingScrollPortSizeSet = + mScrollPositionClampingScrollPortSizeSet + as u8 as u8; + let mask = 8usize as u8; + let mScrollPositionClampingScrollPortSizeSet = + (mScrollPositionClampingScrollPortSizeSet + << 3usize) & mask; + bitfield_unit_val | + mScrollPositionClampingScrollPortSizeSet + }; + let mNeedLayoutFlush = + mNeedLayoutFlush as u8 as u8; + let mask = 16usize as u8; + let mNeedLayoutFlush = + (mNeedLayoutFlush << 4usize) & mask; + bitfield_unit_val | mNeedLayoutFlush + }; + let mNeedStyleFlush = mNeedStyleFlush as u8 as u8; + let mask = 32usize as u8; + let mNeedStyleFlush = + (mNeedStyleFlush << 5usize) & mask; + bitfield_unit_val | mNeedStyleFlush + }; + let mObservingStyleFlushes = + mObservingStyleFlushes as u8 as u8; + let mask = 64usize as u8; + let mObservingStyleFlushes = + (mObservingStyleFlushes << 6usize) & mask; + bitfield_unit_val | mObservingStyleFlushes + }; + let mObservingLayoutFlushes = mObservingLayoutFlushes as u8 as u8; + let mask = 128usize as u8; + let mObservingLayoutFlushes = + (mObservingLayoutFlushes << 7usize) & mask; + bitfield_unit_val | mObservingLayoutFlushes } #[inline] pub fn mNeedThrottledAnimationFlush(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mNeedThrottledAnimationFlush(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_3) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_3 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_3 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_3(mNeedThrottledAnimationFlush: bool) -> u8 { + let bitfield_unit_val = { 0 }; + let mNeedThrottledAnimationFlush = + mNeedThrottledAnimationFlush as u8 as u8; + let mask = 1usize as u8; + let mNeedThrottledAnimationFlush = + (mNeedThrottledAnimationFlush << 0usize) & mask; + bitfield_unit_val | mNeedThrottledAnimationFlush } } /** @@ -20438,57 +22359,57 @@ pub mod root { pub struct nsDOMMutationObserver { _unused: [u8; 0], } - pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_LISTENERMANAGER; - pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_PROPERTIES; - pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_ANONYMOUS_ROOT; - pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; - pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_NATIVE_ANONYMOUS_ROOT; - pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_FORCE_XBL_BINDINGS; - pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_MAY_BE_IN_BINDING_MNGR; - pub const NODE_IS_EDITABLE: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_EDITABLE; - pub const NODE_IS_NATIVE_ANONYMOUS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_NATIVE_ANONYMOUS; - pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_IN_SHADOW_TREE; - pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_EMPTY_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_SLOW_SELECTOR; - pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_EDGE_CHILD_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; - pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_ALL_SELECTOR_FLAGS; - pub const NODE_NEEDS_FRAME: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_NEEDS_FRAME; - pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_DESCENDANTS_NEED_FRAMES; - pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_ACCESSKEY; - pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_DIRECTION_RTL; - pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_HAS_DIRECTION_LTR; - pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_ALL_DIRECTION_FLAGS; - pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_CHROME_ONLY_ACCESS; - pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; - pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_17 = - _bindgen_ty_17::NODE_TYPE_SPECIFIC_BITS_OFFSET; + pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_HAS_LISTENERMANAGER; + pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_HAS_PROPERTIES; + pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_IS_ANONYMOUS_ROOT; + pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; + pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_IS_NATIVE_ANONYMOUS_ROOT; + pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_FORCE_XBL_BINDINGS; + pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_MAY_BE_IN_BINDING_MNGR; + pub const NODE_IS_EDITABLE: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_IS_EDITABLE; + pub const NODE_IS_NATIVE_ANONYMOUS: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_IS_NATIVE_ANONYMOUS; + pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_IS_IN_SHADOW_TREE; + pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_HAS_EMPTY_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_HAS_SLOW_SELECTOR; + pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_HAS_EDGE_CHILD_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; + pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_ALL_SELECTOR_FLAGS; + pub const NODE_NEEDS_FRAME: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_NEEDS_FRAME; + pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_DESCENDANTS_NEED_FRAMES; + pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_HAS_ACCESSKEY; + pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_HAS_DIRECTION_RTL; + pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_HAS_DIRECTION_LTR; + pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_ALL_DIRECTION_FLAGS; + pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_CHROME_ONLY_ACCESS; + pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; + pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_82 = + _bindgen_ty_82::NODE_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_17 { + pub enum _bindgen_ty_82 { NODE_HAS_LISTENERMANAGER = 4, NODE_HAS_PROPERTIES = 8, NODE_IS_ANONYMOUS_ROOT = 16, @@ -22447,38 +24368,56 @@ pub mod root { #[inline] pub fn mGeneration(&self) -> u32 { let mask = 15usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mGeneration(&mut self, val: u32) { let mask = 15usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIndexInGeneration(&self) -> u32 { let mask = 4294967280usize as u32; - let field_val: u32 = + let unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u32) } } #[inline] pub fn set_mIndexInGeneration(&mut self, val: u32) { let mask = 4294967280usize as u32; let val = val as u32 as u32; - let mut field_val: u32 = + let mut unit_field_val: u32 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mGeneration: u32, mIndexInGeneration: u32) + -> u32 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mGeneration = mGeneration as u32 as u32; + let mask = 15usize as u32; + let mGeneration = (mGeneration << 0usize) & mask; + bitfield_unit_val | mGeneration + }; + let mIndexInGeneration = mIndexInGeneration as u32 as u32; + let mask = 4294967280usize as u32; + let mIndexInGeneration = (mIndexInGeneration << 4usize) & mask; + bitfield_unit_val | mIndexInGeneration } } #[repr(C)] @@ -23136,7 +25075,7 @@ pub mod root { } #[test] fn bindgen_test_layout_nsRootPresContext() { - assert_eq!(::std::mem::size_of::<nsRootPresContext>() , 1464usize , + assert_eq!(::std::mem::size_of::<nsRootPresContext>() , 1512usize , concat ! ( "Size of: " , stringify ! ( nsRootPresContext ) )); assert_eq! (::std::mem::align_of::<nsRootPresContext>() , 8usize , @@ -23144,37 +25083,37 @@ pub mod root { "Alignment of " , stringify ! ( nsRootPresContext ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . - mNotifyDidPaintTimers as * const _ as usize } , 1312usize + mNotifyDidPaintTimers as * const _ as usize } , 1360usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mNotifyDidPaintTimers ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . mApplyPluginGeometryTimer as * const _ as usize } , - 1392usize , concat ! ( + 1440usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mApplyPluginGeometryTimer ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . - mRegisteredPlugins as * const _ as usize } , 1400usize , + mRegisteredPlugins as * const _ as usize } , 1448usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mRegisteredPlugins ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . - mWillPaintObservers as * const _ as usize } , 1440usize , + mWillPaintObservers as * const _ as usize } , 1488usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mWillPaintObservers ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . mWillPaintFallbackEvent as * const _ as usize } , - 1448usize , concat ! ( + 1496usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mWillPaintFallbackEvent ) )); assert_eq! (unsafe { & ( * ( 0 as * const nsRootPresContext ) ) . - mDOMGeneration as * const _ as usize } , 1456usize , + mDOMGeneration as * const _ as usize } , 1504usize , concat ! ( "Alignment of field: " , stringify ! ( nsRootPresContext ) , "::" , stringify ! ( mDOMGeneration ) )); @@ -26823,7 +28762,7 @@ pub mod root { pub type imgRequest_HasThreadSafeRefCnt = root::mozilla::TrueType; #[test] fn bindgen_test_layout_imgRequest() { - assert_eq!(::std::mem::size_of::<imgRequest>() , 400usize , concat ! ( + assert_eq!(::std::mem::size_of::<imgRequest>() , 376usize , concat ! ( "Size of: " , stringify ! ( imgRequest ) )); assert_eq! (::std::mem::align_of::<imgRequest>() , 8usize , concat ! ( "Alignment of " , stringify ! ( imgRequest ) )); @@ -26832,110 +28771,175 @@ pub mod root { #[inline] pub fn mIsMultiPartChannel(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsMultiPartChannel(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mGotData(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mGotData(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsInCache(&self) -> bool { let mask = 4usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 2usize; + let val = (unit_field_val & mask) >> 2usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsInCache(&mut self, val: bool) { let mask = 4usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 2usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 2usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mDecodeRequested(&self) -> bool { let mask = 8usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 3usize; + let val = (unit_field_val & mask) >> 3usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mDecodeRequested(&mut self, val: bool) { let mask = 8usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 3usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 3usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mNewPartPending(&self) -> bool { let mask = 16usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 4usize; + let val = (unit_field_val & mask) >> 4usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mNewPartPending(&mut self, val: bool) { let mask = 16usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 4usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 4usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mHadInsecureRedirect(&self) -> bool { let mask = 32usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 5usize; + let val = (unit_field_val & mask) >> 5usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mHadInsecureRedirect(&mut self, val: bool) { let mask = 32usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 5usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 5usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mIsMultiPartChannel: bool, mGotData: bool, + mIsInCache: bool, mDecodeRequested: bool, + mNewPartPending: bool, + mHadInsecureRedirect: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { + let bitfield_unit_val = + { 0 }; + let mIsMultiPartChannel = + mIsMultiPartChannel as + u8 as u8; + let mask = 1usize as u8; + let mIsMultiPartChannel = + (mIsMultiPartChannel + << 0usize) & + mask; + bitfield_unit_val | + mIsMultiPartChannel + }; + let mGotData = + mGotData as u8 as u8; + let mask = 2usize as u8; + let mGotData = + (mGotData << 1usize) & mask; + bitfield_unit_val | mGotData + }; + let mIsInCache = mIsInCache as u8 as u8; + let mask = 4usize as u8; + let mIsInCache = + (mIsInCache << 2usize) & mask; + bitfield_unit_val | mIsInCache + }; + let mDecodeRequested = + mDecodeRequested as u8 as u8; + let mask = 8usize as u8; + let mDecodeRequested = + (mDecodeRequested << 3usize) & mask; + bitfield_unit_val | mDecodeRequested + }; + let mNewPartPending = mNewPartPending as u8 as u8; + let mask = 16usize as u8; + let mNewPartPending = (mNewPartPending << 4usize) & mask; + bitfield_unit_val | mNewPartPending + }; + let mHadInsecureRedirect = mHadInsecureRedirect as u8 as u8; + let mask = 32usize as u8; + let mHadInsecureRedirect = + (mHadInsecureRedirect << 5usize) & mask; + bitfield_unit_val | mHadInsecureRedirect } } #[repr(C)] @@ -28239,7 +30243,18 @@ pub mod root { ) , "::" , stringify ! ( mQuotePairs ) )); } #[test] - fn __bindgen_test_layout_StaticRefPtr_instantiation_150620() { + fn __bindgen_test_layout_StaticRefPtr_instantiation_85() { + assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::StaticRefPtr<root::nsStyleQuoteValues> ) )); + } + #[test] + fn __bindgen_test_layout_StaticRefPtr_instantiation_86() { assert_eq!(::std::mem::size_of::<root::mozilla::StaticRefPtr<root::nsStyleQuoteValues>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -28401,38 +30416,55 @@ pub mod root { #[inline] pub fn mIsAutoFill(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsAutoFill(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mIsSubgrid(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mIsSubgrid(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mIsAutoFill: bool, mIsSubgrid: bool) -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mIsAutoFill = mIsAutoFill as u8 as u8; + let mask = 1usize as u8; + let mIsAutoFill = (mIsAutoFill << 0usize) & mask; + bitfield_unit_val | mIsAutoFill + }; + let mIsSubgrid = mIsSubgrid as u8 as u8; + let mask = 2usize as u8; + let mIsSubgrid = (mIsSubgrid << 1usize) & mask; + bitfield_unit_val | mIsSubgrid } } #[repr(C)] @@ -28982,38 +31014,56 @@ pub mod root { #[inline] pub fn mTextAlignTrue(&self) -> bool { let mask = 1usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 0usize; + let val = (unit_field_val & mask) >> 0usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mTextAlignTrue(&mut self, val: bool) { let mask = 1usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 0usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 0usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; } #[inline] pub fn mTextAlignLastTrue(&self) -> bool { let mask = 2usize as u8; - let field_val: u8 = + let unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - let val = (field_val & mask) >> 1usize; + let val = (unit_field_val & mask) >> 1usize; unsafe { ::std::mem::transmute(val as u8) } } #[inline] pub fn set_mTextAlignLastTrue(&mut self, val: bool) { let mask = 2usize as u8; let val = val as u8 as u8; - let mut field_val: u8 = + let mut unit_field_val: u8 = unsafe { ::std::mem::transmute(self._bitfield_1) }; - field_val &= !mask; - field_val |= (val << 1usize) & mask; - self._bitfield_1 = unsafe { ::std::mem::transmute(field_val) }; + unit_field_val &= !mask; + unit_field_val |= (val << 1usize) & mask; + self._bitfield_1 = + unsafe { ::std::mem::transmute(unit_field_val) }; + } + #[inline] + pub fn new_bitfield_1(mTextAlignTrue: bool, mTextAlignLastTrue: bool) + -> u8 { + let bitfield_unit_val = + { + let bitfield_unit_val = { 0 }; + let mTextAlignTrue = mTextAlignTrue as u8 as u8; + let mask = 1usize as u8; + let mTextAlignTrue = (mTextAlignTrue << 0usize) & mask; + bitfield_unit_val | mTextAlignTrue + }; + let mTextAlignLastTrue = mTextAlignLastTrue as u8 as u8; + let mask = 2usize as u8; + let mTextAlignLastTrue = (mTextAlignLastTrue << 1usize) & mask; + bitfield_unit_val | mTextAlignLastTrue } } #[repr(C)] @@ -30716,48 +32766,48 @@ pub mod root { pub struct nsAttrValueOrString { _unused: [u8; 0], } - pub const ELEMENT_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_1; - pub const ELEMENT_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_SHARED_RESTYLE_BIT_3: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_3; - pub const ELEMENT_SHARED_RESTYLE_BIT_4: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_SHARED_RESTYLE_BIT_3: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_SHARED_RESTYLE_BIT_4: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_1; pub const ELEMENT_HAS_ANIMATION_ONLY_DIRTY_DESCENDANTS_FOR_SERVO: - root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_HAS_SNAPSHOT: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_3; - pub const ELEMENT_HANDLED_SNAPSHOT: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_HAS_PENDING_RESTYLE: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_1; - pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_2; - pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE: root::_bindgen_ty_19 + root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_SNAPSHOT: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_3; + pub const ELEMENT_HANDLED_SNAPSHOT: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_HAS_PENDING_RESTYLE: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_1; + pub const ELEMENT_IS_POTENTIAL_RESTYLE_ROOT: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_2; + pub const ELEMENT_HAS_PENDING_ANIMATION_ONLY_RESTYLE: root::_bindgen_ty_84 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_3; + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_3; pub const ELEMENT_IS_POTENTIAL_ANIMATION_ONLY_RESTYLE_ROOT: - root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_SHARED_RESTYLE_BIT_4; - pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR; - pub const ELEMENT_PENDING_RESTYLE_FLAGS: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_PENDING_RESTYLE_FLAGS; - pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS; - pub const ELEMENT_ALL_RESTYLE_FLAGS: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_ALL_RESTYLE_FLAGS; - pub const ELEMENT_HAS_SCROLLGRAB: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_HAS_SCROLLGRAB; - pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_19 = - _bindgen_ty_19::ELEMENT_TYPE_SPECIFIC_BITS_OFFSET; + root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_SHARED_RESTYLE_BIT_4; + pub const ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_IS_CONDITIONAL_RESTYLE_ANCESTOR; + pub const ELEMENT_PENDING_RESTYLE_FLAGS: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_PENDING_RESTYLE_FLAGS; + pub const ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_POTENTIAL_RESTYLE_ROOT_FLAGS; + pub const ELEMENT_ALL_RESTYLE_FLAGS: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_ALL_RESTYLE_FLAGS; + pub const ELEMENT_HAS_SCROLLGRAB: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_HAS_SCROLLGRAB; + pub const ELEMENT_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_84 = + _bindgen_ty_84::ELEMENT_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_19 { + pub enum _bindgen_ty_84 { ELEMENT_SHARED_RESTYLE_BIT_1 = 8388608, ELEMENT_SHARED_RESTYLE_BIT_2 = 16777216, ELEMENT_SHARED_RESTYLE_BIT_3 = 33554432, @@ -31526,7 +33576,7 @@ pub mod root { } pub type __builtin_va_list = [root::__va_list_tag; 1usize]; #[test] - fn __bindgen_test_layout_IntegralConstant_instantiation_179522() { + fn __bindgen_test_layout_IntegralConstant_instantiation_87() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -31535,7 +33585,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_IntegralConstant_instantiation_179526() { + fn __bindgen_test_layout_IntegralConstant_instantiation_88() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -31544,7 +33594,18 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_instantiation_179740() { + fn __bindgen_test_layout_nsCharTraits_instantiation_89() { + assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + } + #[test] + fn __bindgen_test_layout_nsReadingIterator_instantiation_90() { assert_eq!(::std::mem::size_of::<root::nsReadingIterator<u16>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31555,7 +33616,7 @@ pub mod root { root::nsReadingIterator<u16> ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_instantiation_179744() { + fn __bindgen_test_layout_nsWritingIterator_instantiation_91() { assert_eq!(::std::mem::size_of::<root::nsWritingIterator<u16>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31566,7 +33627,18 @@ pub mod root { root::nsWritingIterator<u16> ) )); } #[test] - fn __bindgen_test_layout_nsReadingIterator_instantiation_179817() { + fn __bindgen_test_layout_nsCharTraits_instantiation_92() { + assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + } + #[test] + fn __bindgen_test_layout_nsReadingIterator_instantiation_93() { assert_eq!(::std::mem::size_of::<root::nsReadingIterator<::std::os::raw::c_char>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31577,7 +33649,7 @@ pub mod root { root::nsReadingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_nsWritingIterator_instantiation_179821() { + fn __bindgen_test_layout_nsWritingIterator_instantiation_94() { assert_eq!(::std::mem::size_of::<root::nsWritingIterator<::std::os::raw::c_char>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31588,25 +33660,29 @@ pub mod root { root::nsWritingIterator<::std::os::raw::c_char> ) )); } #[test] - fn __bindgen_test_layout_atomic_instantiation_181804() { - assert_eq!(::std::mem::size_of::<u32>() , 4usize , concat ! ( - "Size of template specialization: " , stringify ! ( u32 ) - )); - assert_eq!(::std::mem::align_of::<u32>() , 4usize , concat ! ( + fn __bindgen_test_layout_nsCharTraits_instantiation_95() { + assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , + concat ! ( "Alignment of template specialization: " , stringify ! ( - u32 ) )); + root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout_atomic_instantiation_181812() { - assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( u64 ) - )); - assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + fn __bindgen_test_layout_nsCharTraits_instantiation_96() { + assert_eq!(::std::mem::size_of::<root::nsCharTraits>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsCharTraits ) )); + assert_eq!(::std::mem::align_of::<root::nsCharTraits>() , 1usize , + concat ! ( "Alignment of template specialization: " , stringify ! ( - u64 ) )); + root::nsCharTraits ) )); } #[test] - fn __bindgen_test_layout__bindgen_ty_id_182069_instantiation_182066() { + fn __bindgen_test_layout__bindgen_ty_id_206919_instantiation_97() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -31615,7 +33691,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout__bindgen_ty_id_182102_instantiation_182099() { + fn __bindgen_test_layout__bindgen_ty_id_206955_instantiation_98() { assert_eq!(::std::mem::size_of::<u8>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( u8 ) )); @@ -31624,7 +33700,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_182370() { + fn __bindgen_test_layout_nsTArray_instantiation_99() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31635,7 +33711,7 @@ pub mod root { root::nsTArray<root::nsCString> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_183195() { + fn __bindgen_test_layout_Handle_instantiation_100() { assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31646,7 +33722,7 @@ pub mod root { root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Handle_instantiation_183211() { + fn __bindgen_test_layout_Handle_instantiation_101() { assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31657,18 +33733,7 @@ pub mod root { root::JS::Handle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_183221() { - assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() - , 8usize , concat ! ( - "Size of template specialization: " , stringify ! ( - root::JS::MutableHandle<*mut root::JSObject> ) )); - assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<*mut root::JSObject>>() - , 8usize , concat ! ( - "Alignment of template specialization: " , stringify ! ( - root::JS::MutableHandle<*mut root::JSObject> ) )); - } - #[test] - fn __bindgen_test_layout_MutableHandle_instantiation_183237() { + fn __bindgen_test_layout_MutableHandle_instantiation_102() { assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31679,7 +33744,7 @@ pub mod root { root::JS::MutableHandle<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_Rooted_instantiation_183240() { + fn __bindgen_test_layout_Rooted_instantiation_103() { assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31690,7 +33755,7 @@ pub mod root { [u64; 3usize] ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_183577() { + fn __bindgen_test_layout_DeletePolicy_instantiation_104() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31701,7 +33766,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_188506() { + fn __bindgen_test_layout_nsTArray_instantiation_105() { assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31712,7 +33777,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_188510() { + fn __bindgen_test_layout_nsTArray_instantiation_106() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::FontFamilyName>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31723,7 +33788,7 @@ pub mod root { root::nsTArray<root::mozilla::FontFamilyName> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_188523() { + fn __bindgen_test_layout_nsTArray_instantiation_107() { assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31734,29 +33799,29 @@ pub mod root { root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_TenuredHeap_instantiation_189393() { - assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap>() , 8usize , - concat ! ( + fn __bindgen_test_layout_nsTArray_instantiation_108() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::JS::TenuredHeap ) )); - assert_eq!(::std::mem::align_of::<root::JS::TenuredHeap>() , 8usize , - concat ! ( + root::nsTArray<::std::os::raw::c_uint> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::std::os::raw::c_uint>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::JS::TenuredHeap ) )); + root::nsTArray<::std::os::raw::c_uint> ) )); } #[test] - fn __bindgen_test_layout_Heap_instantiation_189483() { - assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() - , 8usize , concat ! ( + fn __bindgen_test_layout_nsTArray_instantiation_109() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::JS::Heap<*mut root::JSObject> ) )); - assert_eq!(::std::mem::align_of::<root::JS::Heap<*mut root::JSObject>>() - , 8usize , concat ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::JS::Heap<*mut root::JSObject> ) )); + root::nsTArray<::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_TErrorResult_instantiation_189593() { + fn __bindgen_test_layout_TErrorResult_instantiation_110() { assert_eq!(::std::mem::size_of::<root::mozilla::binding_danger::TErrorResult>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31767,7 +33832,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[test] - fn __bindgen_test_layout_TErrorResult_instantiation_189609() { + fn __bindgen_test_layout_TErrorResult_instantiation_111() { assert_eq!(::std::mem::size_of::<root::mozilla::binding_danger::TErrorResult>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31778,7 +33843,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_189615() { + fn __bindgen_test_layout_already_AddRefed_instantiation_112() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStringBuffer>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31789,18 +33854,51 @@ pub mod root { root::already_AddRefed<root::nsStringBuffer> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_189667() { - assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + fn __bindgen_test_layout_Handle_instantiation_113() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIAtom> ) )); - assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::already_AddRefed<root::nsIAtom> ) )); + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_114() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_115() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_116() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_190141() { + fn __bindgen_test_layout_RefPtr_instantiation_117() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31811,18 +33909,40 @@ pub mod root { root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_190487() { - assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + fn __bindgen_test_layout_Handle_instantiation_118() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); - assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_190730() { + fn __bindgen_test_layout_Handle_instantiation_119() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_120() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_121() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31833,7 +33953,7 @@ pub mod root { root::already_AddRefed<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_190877() { + fn __bindgen_test_layout_already_AddRefed_instantiation_122() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsINode>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31844,7 +33964,106 @@ pub mod root { root::already_AddRefed<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_DeletePolicy_instantiation_194972() { + fn __bindgen_test_layout_Handle_instantiation_123() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_124() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_125() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_DeletePolicy_instantiation_126() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_127() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + } + #[test] + fn __bindgen_test_layout_DeletePolicy_instantiation_128() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_129() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes> ) )); + } + #[test] + fn __bindgen_test_layout_DeletePolicy_instantiation_130() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_131() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + } + #[test] + fn __bindgen_test_layout_DeletePolicy_instantiation_132() { assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31855,7 +34074,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_194970() { + fn __bindgen_test_layout_UniquePtr_instantiation_133() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31866,7 +34085,29 @@ pub mod root { root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); } #[test] - fn __bindgen_test_layout_iterator_instantiation_195005() { + fn __bindgen_test_layout_DeletePolicy_instantiation_134() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_135() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + } + #[test] + fn __bindgen_test_layout_iterator_instantiation_136() { assert_eq!(::std::mem::size_of::<root::std::iterator>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31877,7 +34118,84 @@ pub mod root { root::std::iterator ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_195571() { + fn __bindgen_test_layout_DeletePolicy_instantiation_137() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_138() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + } + #[test] + fn __bindgen_test_layout_DeletePolicy_instantiation_139() { + assert_eq!(::std::mem::size_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + assert_eq!(::std::mem::align_of::<root::JS::DeletePolicy>() , 1usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::DeletePolicy ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_140() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::JSErrorNotes_Note>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::JSErrorNotes_Note> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_141() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_142() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_143() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_144() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31888,7 +34206,40 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_Heap_instantiation_196824() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_145() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_146() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsCString>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_147() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCString>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsCString>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::nsCString> ) )); + } + #[test] + fn __bindgen_test_layout_Heap_instantiation_148() { assert_eq!(::std::mem::size_of::<root::JS::Heap<root::JS::Value>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31899,7 +34250,40 @@ pub mod root { root::JS::Heap<root::JS::Value> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_197166() { + fn __bindgen_test_layout_Heap_instantiation_149() { + assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Heap<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Heap<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_TenuredHeap_instantiation_150() { + assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap>() , 8usize , + concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::TenuredHeap ) )); + assert_eq!(::std::mem::align_of::<root::JS::TenuredHeap>() , 8usize , + concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::TenuredHeap ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_151() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_152() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::AnonymousContent>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31912,18 +34296,29 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_LinkedList_instantiation_197442() { - assert_eq!(::std::mem::size_of::<root::mozilla::LinkedList>() , - 24usize , concat ! ( + fn __bindgen_test_layout_RefPtr_instantiation_153() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::mozilla::LinkedList ) )); - assert_eq!(::std::mem::align_of::<root::mozilla::LinkedList>() , - 8usize , concat ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_154() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::mozilla::LinkedList ) )); + root::RefPtr<root::mozilla::StyleSheet> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_197458() { + fn __bindgen_test_layout_RefPtr_instantiation_155() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31934,7 +34329,7 @@ pub mod root { root::RefPtr<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_197457() { + fn __bindgen_test_layout_nsTArray_instantiation_156() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31947,7 +34342,7 @@ pub mod root { )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_197487() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_157() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31958,7 +34353,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_197486() { + fn __bindgen_test_layout_nsTArray_instantiation_158() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCOMPtr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31969,7 +34364,18 @@ pub mod root { root::nsTArray<root::nsCOMPtr> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_197532() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_159() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_160() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIDocument>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31980,7 +34386,62 @@ pub mod root { root::already_AddRefed<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_197697() { + fn __bindgen_test_layout_already_AddRefed_instantiation_161() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_162() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_163() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIDocument>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIDocument> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIDocument>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIDocument> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_164() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_165() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsContentList>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsContentList> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsContentList>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsContentList> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_166() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsContentList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -31991,7 +34452,64 @@ pub mod root { root::already_AddRefed<root::nsContentList> ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_198024() { + fn __bindgen_test_layout_already_AddRefed_instantiation_167() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsINode>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsINode> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsINode>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsINode> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_168() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::Element>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_169() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::Element>>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::RefPtr<root::mozilla::dom::Element>> ) + )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_170() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_171() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_172() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32002,7 +34520,7 @@ pub mod root { root::already_AddRefed<root::nsIRunnable> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_198117() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_173() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32013,7 +34531,7 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_198154() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_174() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32024,7 +34542,18 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_198410() { + fn __bindgen_test_layout_Handle_instantiation_175() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_176() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32035,7 +34564,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_198408() { + fn __bindgen_test_layout_UniquePtr_instantiation_177() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsISMILAttr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32046,7 +34575,62 @@ pub mod root { root::mozilla::UniquePtr<root::nsISMILAttr> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_198959() { + fn __bindgen_test_layout_already_AddRefed_instantiation_178() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_179() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_180() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_181() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_182() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_183() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32059,7 +34643,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsDataHashtable_instantiation_198958() { + fn __bindgen_test_layout_nsDataHashtable_instantiation_184() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32070,7 +34654,18 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_199163() { + fn __bindgen_test_layout_Handle_instantiation_185() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_186() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32081,7 +34676,40 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_SupportsWeakPtr_instantiation_199210() { + fn __bindgen_test_layout_nsTArray_instantiation_187() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_188() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_189() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_SupportsWeakPtr_instantiation_190() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -32090,7 +34718,18 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_199387() { + fn __bindgen_test_layout_already_AddRefed_instantiation_191() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_192() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32101,7 +34740,7 @@ pub mod root { root::nsTArray<root::nsRect> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_199503() { + fn __bindgen_test_layout_DefaultDelete_instantiation_193() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32112,7 +34751,40 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_199669() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_194() { + assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIAtom>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::nsRefPtrHashKey<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_195() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_196() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_197() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsCOMPtr>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32123,7 +34795,95 @@ pub mod root { root::nsTArray<root::nsCOMPtr> ) )); } #[test] - fn __bindgen_test_layout_nsPIDOMWindow_instantiation_200458() { + fn __bindgen_test_layout_already_AddRefed_instantiation_198() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_199() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_200() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_201() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_202() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_203() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_204() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_205() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsPIDOMWindow_instantiation_206() { assert_eq!(::std::mem::size_of::<[u64; 28usize]>() , 224usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32134,7 +34894,7 @@ pub mod root { [u64; 28usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_200550() { + fn __bindgen_test_layout_already_AddRefed_instantiation_207() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32145,7 +34905,7 @@ pub mod root { root::already_AddRefed<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_200740() { + fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_208() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32156,7 +34916,71 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_201257() { + fn __bindgen_test_layout_Handle_instantiation_209() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_210() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_211() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIContent>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIContent> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIContent>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIContent> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_212() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_RefPtr_instantiation_213() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::StyleSheet>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::StyleSheet> ) )); + } + #[test] + fn __bindgen_test_layout_WeakPtr_instantiation_214() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); + } + #[test] + fn __bindgen_test_layout_nsPtrHashKey_instantiation_215() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::WeakFrame>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32167,7 +34991,29 @@ pub mod root { root::nsPtrHashKey<root::WeakFrame> ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_201372() { + fn __bindgen_test_layout_RefPtr_instantiation_216() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::Element>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::Element>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::Element> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_217() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_OwningNonNull_instantiation_218() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32178,7 +35024,84 @@ pub mod root { root::mozilla::OwningNonNull<root::nsINode> ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_201657() { + fn __bindgen_test_layout_OwningNonNull_instantiation_219() { + assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::OwningNonNull<root::nsINode>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); + } + #[test] + fn __bindgen_test_layout_OwningNonNull_instantiation_220() { + assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::nsINode>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::OwningNonNull<root::nsINode>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::OwningNonNull<root::nsINode> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_221() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_222() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_223() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_224() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_225() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_nsPtrHashKey_instantiation_226() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<::std::os::raw::c_void>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32189,7 +35112,7 @@ pub mod root { root::nsPtrHashKey<::std::os::raw::c_void> ) )); } #[test] - fn __bindgen_test_layout_PointTyped_instantiation_202448() { + fn __bindgen_test_layout_PointTyped_instantiation_227() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32200,7 +35123,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntPointTyped_instantiation_202453() { + fn __bindgen_test_layout_IntPointTyped_instantiation_228() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32211,7 +35134,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_SizeTyped_instantiation_202456() { + fn __bindgen_test_layout_SizeTyped_instantiation_229() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32222,7 +35145,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_RectTyped_instantiation_202464() { + fn __bindgen_test_layout_RectTyped_instantiation_230() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32233,7 +35156,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_IntPointTyped_instantiation_202496() { + fn __bindgen_test_layout_IntPointTyped_instantiation_231() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32244,7 +35167,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntSizeTyped_instantiation_202504() { + fn __bindgen_test_layout_IntSizeTyped_instantiation_232() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32255,7 +35178,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_IntRectTyped_instantiation_202512() { + fn __bindgen_test_layout_IntRectTyped_instantiation_233() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32266,7 +35189,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_MarginTyped_instantiation_202679() { + fn __bindgen_test_layout_MarginTyped_instantiation_234() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32277,7 +35200,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_RectTyped_instantiation_202714() { + fn __bindgen_test_layout_RectTyped_instantiation_235() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32288,7 +35211,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_IntRectTyped_instantiation_202719() { + fn __bindgen_test_layout_IntRectTyped_instantiation_236() { assert_eq!(::std::mem::size_of::<[u32; 4usize]>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32299,7 +35222,7 @@ pub mod root { [u32; 4usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactor_instantiation_202765() { + fn __bindgen_test_layout_ScaleFactor_instantiation_237() { assert_eq!(::std::mem::size_of::<u32>() , 4usize , concat ! ( "Size of template specialization: " , stringify ! ( u32 ) )); @@ -32308,7 +35231,7 @@ pub mod root { u32 ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_202865() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_238() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32319,7 +35242,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_202873() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_239() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32330,7 +35253,7 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_ScaleFactors2D_instantiation_202917() { + fn __bindgen_test_layout_ScaleFactors2D_instantiation_240() { assert_eq!(::std::mem::size_of::<[u32; 2usize]>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32341,7 +35264,29 @@ pub mod root { [u32; 2usize] ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_203547() { + fn __bindgen_test_layout_already_AddRefed_instantiation_241() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_242() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_243() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::FramePropertyTable_PropertyValue>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32354,7 +35299,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_203563() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_244() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::nsIFrame>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32365,7 +35310,18 @@ pub mod root { root::nsPtrHashKey<root::nsIFrame> ) )); } #[test] - fn __bindgen_test_layout_nsPIDOMWindow_instantiation_206835() { + fn __bindgen_test_layout_already_AddRefed_instantiation_245() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIRunnable>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIRunnable> ) )); + } + #[test] + fn __bindgen_test_layout_nsPIDOMWindow_instantiation_246() { assert_eq!(::std::mem::size_of::<[u64; 28usize]>() , 224usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32376,7 +35332,29 @@ pub mod root { [u64; 28usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_207465() { + fn __bindgen_test_layout_MutableHandle_instantiation_247() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_248() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_249() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::CSSValue>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32387,7 +35365,7 @@ pub mod root { root::already_AddRefed<root::mozilla::dom::CSSValue> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_207556() { + fn __bindgen_test_layout_DefaultDelete_instantiation_250() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32398,7 +35376,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_207560() { + fn __bindgen_test_layout_nsRefPtrHashtable_instantiation_251() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32409,7 +35387,29 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_208749() { + fn __bindgen_test_layout_Rooted_instantiation_252() { + assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 3usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + } + #[test] + fn __bindgen_test_layout_Rooted_instantiation_253() { + assert_eq!(::std::mem::size_of::<[u64; 3usize]>() , 24usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 3usize]>() , 8usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u64; 3usize] ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_254() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsISupports>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32420,7 +35420,18 @@ pub mod root { root::already_AddRefed<root::nsISupports> ) )); } #[test] - fn __bindgen_test_layout_nsCOMPtr_instantiation_209336() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_255() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_256() { assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32431,7 +35442,117 @@ pub mod root { root::nsCOMPtr ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_210879() { + fn __bindgen_test_layout_nsTArray_instantiation_257() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_258() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_259() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_260() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_261() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_262() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_263() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_264() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_265() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_266() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_267() { assert_eq!(::std::mem::size_of::<root::nsTArray<f64>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32442,7 +35563,7 @@ pub mod root { root::nsTArray<f64> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_210891() { + fn __bindgen_test_layout_RefPtr_instantiation_268() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32455,7 +35576,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_210890() { + fn __bindgen_test_layout_nsTArray_instantiation_269() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32468,7 +35589,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_210924() { + fn __bindgen_test_layout_nsPtrHashKey_instantiation_270() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::mozilla::dom::Element>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32479,7 +35600,20 @@ pub mod root { root::nsPtrHashKey<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_211021() { + fn __bindgen_test_layout_RefPtr_instantiation_271() { + assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry> + ) )); + assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::RefPtr<root::mozilla::dom::DOMIntersectionObserverEntry> + ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_272() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::ProfilerBacktrace>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32490,7 +35624,95 @@ pub mod root { root::mozilla::UniquePtr<root::ProfilerBacktrace> ) )); } #[test] - fn __bindgen_test_layout_nsDataHashtable_instantiation_212794() { + fn __bindgen_test_layout_nsTArray_instantiation_273() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_274() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_275() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_276() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_277() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_278() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_279() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_280() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_nsDataHashtable_instantiation_281() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32501,7 +35723,7 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_OwningNonNull_instantiation_212833() { + fn __bindgen_test_layout_OwningNonNull_instantiation_282() { assert_eq!(::std::mem::size_of::<root::mozilla::OwningNonNull<root::mozilla::EffectCompositor_AnimationStyleRuleProcessor>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32514,7 +35736,7 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_212856() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_283() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIAtom>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32525,7 +35747,7 @@ pub mod root { root::nsRefPtrHashKey<root::nsIAtom> ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_212892() { + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_284() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::nsIContent>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32536,7 +35758,18 @@ pub mod root { root::nsRefPtrHashKey<root::nsIContent> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_213455() { + fn __bindgen_test_layout_nsCOMPtr_instantiation_285() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_286() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32547,7 +35780,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_213469() { + fn __bindgen_test_layout_already_AddRefed_instantiation_287() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32558,7 +35791,7 @@ pub mod root { root::already_AddRefed<root::mozilla::URLExtraData> ) )); } #[test] - fn __bindgen_test_layout_nsMainThreadPtrHolder_instantiation_213473() { + fn __bindgen_test_layout_nsMainThreadPtrHolder_instantiation_288() { assert_eq!(::std::mem::size_of::<root::nsMainThreadPtrHolder<root::nsIURI>>() , 24usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32569,7 +35802,62 @@ pub mod root { root::nsMainThreadPtrHolder<root::nsIURI> ) )); } #[test] - fn __bindgen_test_layout_nsPtrHashKey_instantiation_213547() { + fn __bindgen_test_layout_already_AddRefed_instantiation_289() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_290() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_291() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_292() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_293() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::URLExtraData>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::URLExtraData> ) )); + } + #[test] + fn __bindgen_test_layout_nsPtrHashKey_instantiation_294() { assert_eq!(::std::mem::size_of::<root::nsPtrHashKey<root::nsIDocument>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32580,7 +35868,18 @@ pub mod root { root::nsPtrHashKey<root::nsIDocument> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_213834() { + fn __bindgen_test_layout_already_AddRefed_instantiation_295() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_296() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32591,7 +35890,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_213832() { + fn __bindgen_test_layout_UniquePtr_instantiation_297() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32602,7 +35901,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValueList> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_213840() { + fn __bindgen_test_layout_DefaultDelete_instantiation_298() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32613,7 +35912,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_213838() { + fn __bindgen_test_layout_UniquePtr_instantiation_299() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32624,18 +35923,18 @@ pub mod root { root::mozilla::UniquePtr<root::nsCSSValuePairList> ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_214110() { - assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize , concat ! - ( + fn __bindgen_test_layout_already_AddRefed_instantiation_300() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStringBuffer>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - [u64; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize , concat ! - ( + root::already_AddRefed<root::nsStringBuffer> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsStringBuffer>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - [u64; 2usize] ) )); + root::already_AddRefed<root::nsStringBuffer> ) )); } #[test] - fn __bindgen_test_layout_SupportsWeakPtr_instantiation_214277() { + fn __bindgen_test_layout_SupportsWeakPtr_instantiation_301() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -32644,7 +35943,40 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_214432() { + fn __bindgen_test_layout_nsTArray_instantiation_302() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_303() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_304() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_Maybe_instantiation_305() { assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32655,7 +35987,18 @@ pub mod root { [u32; 3usize] ) )); } #[test] - fn __bindgen_test_layout_already_AddRefed_instantiation_214447() { + fn __bindgen_test_layout_Maybe_instantiation_306() { + assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 3usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 3usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 3usize] ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_307() { assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsStyleImageRequest>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32666,7 +36009,18 @@ pub mod root { root::already_AddRefed<root::nsStyleImageRequest> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_214455() { + fn __bindgen_test_layout_already_AddRefed_instantiation_308() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIAtom>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIAtom> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_309() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32677,7 +36031,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_UniquePtr_instantiation_214453() { + fn __bindgen_test_layout_UniquePtr_instantiation_310() { assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32688,7 +36042,7 @@ pub mod root { root::mozilla::UniquePtr<root::nsStyleSides> ) )); } #[test] - fn __bindgen_test_layout_DefaultDelete_instantiation_214494() { + fn __bindgen_test_layout_DefaultDelete_instantiation_311() { assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32699,7 +36053,62 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[test] - fn __bindgen_test_layout_pair_instantiation_214645() { + fn __bindgen_test_layout_UniquePtr_instantiation_312() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsStyleSides>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsStyleSides> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsStyleSides>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsStyleSides> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_313() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_Maybe_instantiation_314() { + assert_eq!(::std::mem::size_of::<[u32; 3usize]>() , 12usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + [u32; 3usize] ) )); + assert_eq!(::std::mem::align_of::<[u32; 3usize]>() , 4usize , concat ! + ( + "Alignment of template specialization: " , stringify ! ( + [u32; 3usize] ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_315() { + assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_316() { + assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + } + #[test] + fn __bindgen_test_layout_pair_instantiation_317() { assert_eq!(::std::mem::size_of::<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>() , 32usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32710,7 +36119,7 @@ pub mod root { root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr> ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_214644() { + fn __bindgen_test_layout_nsTArray_instantiation_318() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>>() , 8usize , concat ! ( @@ -32725,18 +36134,139 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_215667() { - assert_eq!(::std::mem::size_of::<root::RefPtr<root::RawServoAnimationValue>>() + fn __bindgen_test_layout_already_AddRefed_instantiation_319() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::nsIURI>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::nsIURI> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_320() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_321() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::nsStyleCoord> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsStyleCoord>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::nsStyleCoord> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_322() { + assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsStyleCoord>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<root::nsStyleCoord> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<root::nsStyleCoord>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<root::nsStyleCoord> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_323() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_nsStyleAutoArray_instantiation_324() { + assert_eq!(::std::mem::size_of::<root::nsStyleAutoArray<root::mozilla::StyleAnimation>>() + , 64usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsStyleAutoArray<root::mozilla::StyleAnimation> ) )); + assert_eq!(::std::mem::align_of::<root::nsStyleAutoArray<root::mozilla::StyleAnimation>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsStyleAutoArray<root::mozilla::StyleAnimation> ) )); + } + #[test] + fn __bindgen_test_layout_DefaultDelete_instantiation_325() { + assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_326() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - root::RefPtr<root::RawServoAnimationValue> ) )); - assert_eq!(::std::mem::align_of::<root::RefPtr<root::RawServoAnimationValue>>() + root::mozilla::UniquePtr<root::nsCSSValueList> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValueList>>() , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - root::RefPtr<root::RawServoAnimationValue> ) )); + root::mozilla::UniquePtr<root::nsCSSValueList> ) )); } #[test] - fn __bindgen_test_layout_BaseTimeDuration_instantiation_219659() { + fn __bindgen_test_layout_DefaultDelete_instantiation_327() { + assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() , + 1usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::DefaultDelete ) )); + } + #[test] + fn __bindgen_test_layout_UniquePtr_instantiation_328() { + assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValuePairList> ) )); + assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsCSSValuePairList>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::mozilla::UniquePtr<root::nsCSSValuePairList> ) )); + } + #[test] + fn __bindgen_test_layout_Maybe_instantiation_329() { + assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat + ! ( + "Size of template specialization: " , stringify ! ( + [u64; 18usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + [u64; 18usize] ) )); + } + #[test] + fn __bindgen_test_layout_Maybe_instantiation_330() { + assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat + ! ( + "Size of template specialization: " , stringify ! ( + [u64; 18usize] ) )); + assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + [u64; 18usize] ) )); + } + #[test] + fn __bindgen_test_layout_BaseTimeDuration_instantiation_331() { assert_eq!(::std::mem::size_of::<root::mozilla::BaseTimeDuration>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32747,7 +36277,86 @@ pub mod root { root::mozilla::BaseTimeDuration ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_220251() { + fn __bindgen_test_layout_already_AddRefed_instantiation_332() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_333() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_334() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_335() { + assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::nsIContent>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<*mut root::nsIContent> ) )); + } + #[test] + fn __bindgen_test_layout_nsCOMPtr_instantiation_336() { + assert_eq!(::std::mem::size_of::<root::nsCOMPtr>() , 8usize , concat ! + ( + "Size of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + assert_eq!(::std::mem::align_of::<root::nsCOMPtr>() , 8usize , concat + ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsCOMPtr ) )); + } + #[test] + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_337() { + assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver>>() + , 16usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver> + ) )); + assert_eq!(::std::mem::align_of::<root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsRefPtrHashKey<root::mozilla::dom::DOMIntersectionObserver> + ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_338() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::NodeInfo>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::NodeInfo> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_339() { assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32760,29 +36369,29 @@ pub mod root { ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_220507() { - assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize , concat ! - ( + fn __bindgen_test_layout_Handle_instantiation_340() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - [u64; 2usize] ) )); - assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize , concat ! - ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - [u64; 2usize] ) )); + root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_Maybe_instantiation_220514() { - assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! - ( + fn __bindgen_test_layout_Handle_instantiation_341() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( - [u64; 5usize] ) )); - assert_eq!(::std::mem::align_of::<[u64; 5usize]>() , 8usize , concat ! - ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( - [u64; 5usize] ) )); + root::JS::Handle<*mut root::JSObject> ) )); } #[test] - fn __bindgen_test_layout_RefPtr_instantiation_220689() { + fn __bindgen_test_layout_RefPtr_instantiation_342() { assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMRect>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32793,7 +36402,49 @@ pub mod root { root::RefPtr<root::mozilla::dom::DOMRect> ) )); } #[test] - fn __bindgen_test_layout_Sequence_instantiation_220933() { + fn __bindgen_test_layout_Handle_instantiation_343() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_344() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Sequence_instantiation_345() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_346() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Sequence_instantiation_347() { assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( u64 ) )); @@ -32802,7 +36453,82 @@ pub mod root { u64 ) )); } #[test] - fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_221232() { + fn __bindgen_test_layout_Sequence_instantiation_348() { + assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( u64 ) + )); + assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + u64 ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_349() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_350() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_351() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_352() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_MutableHandle_instantiation_353() { + assert_eq!(::std::mem::size_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + assert_eq!(::std::mem::align_of::<root::JS::MutableHandle<root::JS::Value>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::MutableHandle<root::JS::Value> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_354() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsRefPtrHashKey_instantiation_355() { assert_eq!(::std::mem::size_of::<root::nsRefPtrHashKey<root::mozilla::dom::Element>>() , 16usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32813,7 +36539,7 @@ pub mod root { root::nsRefPtrHashKey<root::mozilla::dom::Element> ) )); } #[test] - fn __bindgen_test_layout_nsClassHashtable_instantiation_221231() { + fn __bindgen_test_layout_nsClassHashtable_instantiation_356() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32824,7 +36550,51 @@ pub mod root { [u64; 5usize] ) )); } #[test] - fn __bindgen_test_layout_nsTArray_instantiation_222483() { + fn __bindgen_test_layout_Handle_instantiation_357() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_358() { + assert_eq!(::std::mem::size_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + assert_eq!(::std::mem::align_of::<root::nsTArray<::nsstring::nsStringRepr>>() , + 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::nsTArray<::nsstring::nsStringRepr> ) )); + } + #[test] + fn __bindgen_test_layout_already_AddRefed_instantiation_359() { + assert_eq!(::std::mem::size_of::<root::already_AddRefed<root::mozilla::dom::CSSValue>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::CSSValue> ) )); + assert_eq!(::std::mem::align_of::<root::already_AddRefed<root::mozilla::dom::CSSValue>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::already_AddRefed<root::mozilla::dom::CSSValue> ) )); + } + #[test] + fn __bindgen_test_layout_Handle_instantiation_360() { + assert_eq!(::std::mem::size_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Size of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + assert_eq!(::std::mem::align_of::<root::JS::Handle<*mut root::JSObject>>() + , 8usize , concat ! ( + "Alignment of template specialization: " , stringify ! ( + root::JS::Handle<*mut root::JSObject> ) )); + } + #[test] + fn __bindgen_test_layout_nsTArray_instantiation_361() { assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -32835,7 +36605,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } #[test] - fn __bindgen_test_layout_nsAutoPtr_instantiation_222519() { + fn __bindgen_test_layout_nsAutoPtr_instantiation_362() { assert_eq!(::std::mem::size_of::<root::nsAutoPtr<root::nsMediaQuery>>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( diff --git a/components/style/lib.rs b/components/style/lib.rs index 98745ef2b3e..c294885aed6 100644 --- a/components/style/lib.rs +++ b/components/style/lib.rs @@ -121,6 +121,7 @@ pub mod rule_tree; pub mod scoped_tls; pub mod selector_parser; pub mod shared_lock; +pub mod sharing; pub mod stylist; #[cfg(feature = "servo")] #[allow(unsafe_code)] pub mod servo; pub mod sequential; diff --git a/components/style/matching.rs b/components/style/matching.rs index 59f2a19912d..0496f72afbf 100644 --- a/components/style/matching.rs +++ b/components/style/matching.rs @@ -7,14 +7,11 @@ #![allow(unsafe_code)] #![deny(missing_docs)] -use Atom; use atomic_refcell::AtomicRefMut; -use bit_vec::BitVec; -use cache::{LRUCache, LRUCacheMutIterator}; use cascade_info::CascadeInfo; -use context::{CurrentElementInfo, SelectorFlagsMap, SharedStyleContext, StyleContext}; -use data::{ComputedStyle, ElementData, ElementStyles, RestyleData}; -use dom::{AnimationRules, SendElement, TElement, TNode}; +use context::{SelectorFlagsMap, SharedStyleContext, StyleContext}; +use data::{ComputedStyle, ElementData, RestyleData}; +use dom::{AnimationRules, TElement, TNode}; use font_metrics::FontMetricsProvider; use log::LogLevel::Trace; use properties::{CascadeFlags, ComputedValues, SKIP_ROOT_AND_ITEM_BASED_DISPLAY_FIXUP, cascade}; @@ -23,11 +20,10 @@ use restyle_hints::{RESTYLE_CSS_ANIMATIONS, RESTYLE_CSS_TRANSITIONS, RestyleRepl use restyle_hints::{RESTYLE_STYLE_ATTRIBUTE, RESTYLE_SMIL}; use rule_tree::{CascadeLevel, RuleTree, StrongRuleNode}; use selector_parser::{PseudoElement, RestyleDamage, SelectorImpl}; -use selectors::bloom::BloomFilter; use selectors::matching::{ElementSelectorFlags, MatchingContext, MatchingMode, StyleRelations}; use selectors::matching::AFFECTED_BY_PSEUDO_ELEMENTS; use shared_lock::StylesheetGuards; -use sink::ForgetfulSink; +use sharing::{StyleSharingBehavior, StyleSharingResult}; use stylearc::Arc; use stylist::ApplicableDeclarationList; @@ -42,16 +38,6 @@ enum InheritMode { FromPrimaryStyle, } -/// Determines the amount of relations where we're going to share style. -#[inline] -fn relations_are_shareable(relations: &StyleRelations) -> bool { - use selectors::matching::*; - !relations.intersects(AFFECTED_BY_ID_SELECTOR | - AFFECTED_BY_PSEUDO_ELEMENTS | - AFFECTED_BY_STYLE_ATTRIBUTE | - AFFECTED_BY_PRESENTATIONAL_HINTS) -} - /// Represents the result of comparing an element's old and new style. pub struct StyleDifference { /// The resulting damage. @@ -80,336 +66,6 @@ pub enum StyleChange { Changed, } -/// Information regarding a style sharing candidate. -/// -/// Note that this information is stored in TLS and cleared after the traversal, -/// and once here, the style information of the element is immutable, so it's -/// safe to access. -/// -/// TODO: We can stick a lot more info here. -#[derive(Debug)] -struct StyleSharingCandidate<E: TElement> { - /// The element. We use SendElement here so that the cache may live in - /// ScopedTLS. - element: SendElement<E>, - /// The cached class names. - class_attributes: Option<Vec<Atom>>, - /// The cached result of matching this entry against the revalidation selectors. - revalidation_match_results: Option<BitVec>, -} - -impl<E: TElement> PartialEq<StyleSharingCandidate<E>> for StyleSharingCandidate<E> { - fn eq(&self, other: &Self) -> bool { - self.element == other.element - } -} - -/// An LRU cache of the last few nodes seen, so that we can aggressively try to -/// reuse their styles. -/// -/// Note that this cache is flushed every time we steal work from the queue, so -/// storing nodes here temporarily is safe. -pub struct StyleSharingCandidateCache<E: TElement> { - cache: LRUCache<StyleSharingCandidate<E>>, -} - -/// A cache miss result. -#[derive(Clone, Debug)] -pub enum CacheMiss { - /// The parents don't match. - Parent, - /// One element was NAC, while the other wasn't. - NativeAnonymousContent, - /// The local name of the element and the candidate don't match. - LocalName, - /// The namespace of the element and the candidate don't match. - Namespace, - /// One of the element or the candidate was a link, but the other one - /// wasn't. - Link, - /// The element and the candidate match different kind of rules. This can - /// only happen in Gecko. - UserAndAuthorRules, - /// The element and the candidate are in a different state. - State, - /// The element had an id attribute, which qualifies for a unique style. - IdAttr, - /// The element had a style attribute, which qualifies for a unique style. - StyleAttr, - /// The element and the candidate class names didn't match. - Class, - /// The presentation hints didn't match. - PresHints, - /// The element and the candidate didn't match the same set of revalidation - /// selectors. - Revalidation, -} - -fn same_computed_values<E: TElement>(first: Option<E>, second: Option<E>) -> bool { - let (a, b) = match (first, second) { - (Some(f), Some(s)) => (f, s), - _ => return false, - }; - - let eq = Arc::ptr_eq(a.borrow_data().unwrap().styles().primary.values(), - b.borrow_data().unwrap().styles().primary.values()); - eq -} - -fn element_matches_candidate<E: TElement>(element: &E, - candidate: &mut StyleSharingCandidate<E>, - candidate_element: &E, - shared: &SharedStyleContext, - bloom: &BloomFilter, - info: &mut CurrentElementInfo, - selector_flags_map: &mut SelectorFlagsMap<E>) - -> Result<ComputedStyle, CacheMiss> { - macro_rules! miss { - ($miss: ident) => { - return Err(CacheMiss::$miss); - } - } - - // Check that we have the same parent, or at least the same pointer identity - // for parent computed style. The latter check allows us to share style - // between cousins if the parents shared style. - let parent = element.parent_element(); - let candidate_parent = candidate_element.parent_element(); - if parent != candidate_parent && !same_computed_values(parent, candidate_parent) { - miss!(Parent) - } - - if element.is_native_anonymous() { - debug_assert!(!candidate_element.is_native_anonymous(), - "Why inserting NAC into the cache?"); - miss!(NativeAnonymousContent) - } - - if *element.get_local_name() != *candidate_element.get_local_name() { - miss!(LocalName) - } - - if *element.get_namespace() != *candidate_element.get_namespace() { - miss!(Namespace) - } - - if element.is_link() != candidate_element.is_link() { - miss!(Link) - } - - if element.matches_user_and_author_rules() != candidate_element.matches_user_and_author_rules() { - miss!(UserAndAuthorRules) - } - - if element.get_state() != candidate_element.get_state() { - miss!(State) - } - - if element.get_id() != candidate_element.get_id() { - miss!(IdAttr) - } - - if element.style_attribute().is_some() { - miss!(StyleAttr) - } - - if !have_same_class(element, candidate, candidate_element) { - miss!(Class) - } - - if has_presentational_hints(element) { - miss!(PresHints) - } - - if !revalidate(element, candidate, candidate_element, - shared, bloom, info, selector_flags_map) { - miss!(Revalidation) - } - - let data = candidate_element.borrow_data().unwrap(); - debug_assert!(element.has_current_styles(&data)); - let current_styles = data.styles(); - - debug!("Sharing style between {:?} and {:?}", element, candidate_element); - - Ok(current_styles.primary.clone()) -} - -fn has_presentational_hints<E: TElement>(element: &E) -> bool { - let mut hints = ForgetfulSink::new(); - element.synthesize_presentational_hints_for_legacy_attributes(&mut hints); - !hints.is_empty() -} - -fn have_same_class<E: TElement>(element: &E, - candidate: &mut StyleSharingCandidate<E>, - candidate_element: &E) -> bool { - // XXX Efficiency here, I'm only validating ideas. - let mut element_class_attributes = vec![]; - element.each_class(|c| element_class_attributes.push(c.clone())); - - if candidate.class_attributes.is_none() { - let mut attrs = vec![]; - candidate_element.each_class(|c| attrs.push(c.clone())); - candidate.class_attributes = Some(attrs) - } - - element_class_attributes == *candidate.class_attributes.as_ref().unwrap() -} - -#[inline] -fn revalidate<E: TElement>(element: &E, - candidate: &mut StyleSharingCandidate<E>, - candidate_element: &E, - shared: &SharedStyleContext, - bloom: &BloomFilter, - info: &mut CurrentElementInfo, - selector_flags_map: &mut SelectorFlagsMap<E>) - -> bool { - // NB: We could avoid matching ancestor selectors entirely (rather than - // just depending on the bloom filter), at the expense of some complexity. - // Gecko bug 1354965 tracks this. - // - // We could also be even more careful about only matching the minimal number - // of revalidation selectors until we find a mismatch. Gecko bug 1355668 - // tracks this. - // - // These potential optimizations may not be worth the complexity. - let stylist = &shared.stylist; - - if info.revalidation_match_results.is_none() { - // It's important to set the selector flags. Otherwise, if we succeed in - // sharing the style, we may not set the slow selector flags for the - // right elements (which may not necessarily be |element|), causing missed - // restyles after future DOM mutations. - // - // Gecko's test_bug534804.html exercises this. A minimal testcase is: - // <style> #e:empty + span { ... } </style> - // <span id="e"> - // <span></span> - // </span> - // <span></span> - // - // The style sharing cache will get a hit for the second span. When the - // child span is subsequently removed from the DOM, missing selector - // flags would cause us to miss the restyle on the second span. - let mut set_selector_flags = |el: &E, flags: ElementSelectorFlags| { - element.apply_selector_flags(selector_flags_map, el, flags); - }; - info.revalidation_match_results = - Some(stylist.match_revalidation_selectors(element, bloom, - &mut set_selector_flags)); - } - - if candidate.revalidation_match_results.is_none() { - candidate.revalidation_match_results = - Some(stylist.match_revalidation_selectors(candidate_element, bloom, - &mut |_, _| {})); - } - - let for_element = info.revalidation_match_results.as_ref().unwrap(); - let for_candidate = candidate.revalidation_match_results.as_ref().unwrap(); - debug_assert!(for_element.len() == for_candidate.len()); - for_element == for_candidate -} - -static STYLE_SHARING_CANDIDATE_CACHE_SIZE: usize = 8; - -impl<E: TElement> StyleSharingCandidateCache<E> { - /// Create a new style sharing candidate cache. - pub fn new() -> Self { - StyleSharingCandidateCache { - cache: LRUCache::new(STYLE_SHARING_CANDIDATE_CACHE_SIZE), - } - } - - /// Returns the number of entries in the cache. - pub fn num_entries(&self) -> usize { - self.cache.num_entries() - } - - fn iter_mut(&mut self) -> LRUCacheMutIterator<StyleSharingCandidate<E>> { - self.cache.iter_mut() - } - - /// Tries to insert an element in the style sharing cache. - /// - /// Fails if we know it should never be in the cache. - pub fn insert_if_possible(&mut self, - element: &E, - style: &Arc<ComputedValues>, - relations: StyleRelations, - revalidation_match_results: Option<BitVec>) { - let parent = match element.parent_element() { - Some(element) => element, - None => { - debug!("Failing to insert to the cache: no parent element"); - return; - } - }; - - if element.is_native_anonymous() { - debug!("Failing to insert into the cache: NAC"); - return; - } - - // These are things we don't check in the candidate match because they - // are either uncommon or expensive. - if !relations_are_shareable(&relations) { - debug!("Failing to insert to the cache: {:?}", relations); - return; - } - - // Make sure we noted any presentational hints in the StyleRelations. - if cfg!(debug_assertions) { - let mut hints = ForgetfulSink::new(); - element.synthesize_presentational_hints_for_legacy_attributes(&mut hints); - debug_assert!(hints.is_empty(), "Style relations should not be shareable!"); - } - - let box_style = style.get_box(); - if box_style.specifies_transitions() { - debug!("Failing to insert to the cache: transitions"); - return; - } - - if box_style.specifies_animations() { - debug!("Failing to insert to the cache: animations"); - return; - } - - debug!("Inserting into cache: {:?} with parent {:?}", - element, parent); - - self.cache.insert(StyleSharingCandidate { - element: unsafe { SendElement::new(*element) }, - class_attributes: None, - revalidation_match_results: revalidation_match_results, - }); - } - - /// Touch a given index in the style sharing candidate cache. - pub fn touch(&mut self, index: usize) { - self.cache.touch(index); - } - - /// Clear the style sharing candidate cache. - pub fn clear(&mut self) { - self.cache.evict_all() - } -} - -/// The results of attempting to share a style. -pub enum StyleSharingResult { - /// We didn't find anybody to share the style with. - CannotShare, - /// The node's style can be shared. The integer specifies the index in the - /// LRU cache that was hit and the damage that was done. The - /// `ChildCascadeRequirement` indicates whether style changes due to using - /// the shared style mean we need to recascade to children. - StyleWasShared(usize, ChildCascadeRequirement), -} - /// Whether or not newly computed values for an element need to be cascade /// to children. pub enum ChildCascadeRequirement { @@ -710,6 +366,7 @@ trait PrivateMatchMethods: TElement { #[cfg(feature = "gecko")] fn needs_animations_update(&self, + context: &mut StyleContext<Self>, old_values: Option<&Arc<ComputedValues>>, new_values: &ComputedValues) -> bool { @@ -722,7 +379,10 @@ trait PrivateMatchMethods: TElement { let old_box_style = old.get_box(); let old_display_style = old_box_style.clone_display(); let new_display_style = new_box_style.clone_display(); - // FIXME: Bug 1344581: We still need to compare keyframe rules. + + // If the traverse is triggered by CSS rule changes, + // we need to try to update all CSS animations. + context.shared.traversal_flags.for_css_rule_changes() || !old_box_style.animations_equals(&new_box_style) || (old_display_style == display::T::none && new_display_style != display::T::none && @@ -744,7 +404,7 @@ trait PrivateMatchMethods: TElement { use context::UpdateAnimationsTasks; let mut tasks = UpdateAnimationsTasks::empty(); - if self.needs_animations_update(old_values.as_ref(), new_values) { + if self.needs_animations_update(context, old_values.as_ref(), new_values) { tasks.insert(CSS_ANIMATIONS); } @@ -838,43 +498,6 @@ trait PrivateMatchMethods: TElement { } } - /// Computes and applies restyle damage. - fn accumulate_damage(&self, - shared_context: &SharedStyleContext, - restyle: Option<&mut RestyleData>, - old_values: Option<&ComputedValues>, - new_values: &Arc<ComputedValues>, - pseudo: Option<&PseudoElement>) - -> ChildCascadeRequirement { - let restyle = match restyle { - Some(r) => r, - None => return ChildCascadeRequirement::MustCascade, - }; - - let old_values = match old_values { - Some(v) => v, - None => return ChildCascadeRequirement::MustCascade, - }; - - // ::before and ::after are element-backed in Gecko, so they do the - // damage calculation for themselves, when there's an actual pseudo. - let is_existing_before_or_after = - cfg!(feature = "gecko") && - pseudo.map_or(false, |p| p.is_before_or_after()) && - self.existing_style_for_restyle_damage(old_values, pseudo) - .is_some(); - - if is_existing_before_or_after { - return ChildCascadeRequirement::CanSkipCascade; - } - - self.accumulate_damage_for(shared_context, - restyle, - old_values, - new_values, - pseudo) - } - /// Computes and applies non-redundant damage. #[cfg(feature = "gecko")] fn accumulate_damage_for(&self, @@ -966,18 +589,6 @@ trait PrivateMatchMethods: TElement { } } } - - fn share_style_with_candidate_if_possible(&self, - candidate: &mut StyleSharingCandidate<Self>, - shared: &SharedStyleContext, - bloom: &BloomFilter, - info: &mut CurrentElementInfo, - selector_flags_map: &mut SelectorFlagsMap<Self>) - -> Result<ComputedStyle, CacheMiss> { - let candidate_element = *candidate.element; - element_matches_candidate(self, candidate, &candidate_element, - shared, bloom, info, selector_flags_map) - } } fn compute_rule_node<E: TElement>(rule_tree: &RuleTree, @@ -992,15 +603,6 @@ fn compute_rule_node<E: TElement>(rule_tree: &RuleTree, impl<E: TElement> PrivateMatchMethods for E {} -/// Controls whether the style sharing cache is used. -#[derive(Clone, Copy, PartialEq)] -pub enum StyleSharingBehavior { - /// Style sharing allowed. - Allow, - /// Style sharing disallowed. - Disallow, -} - /// The public API that elements expose for selector matching. pub trait MatchMethods : TElement { /// Performs selector matching and property cascading on an element and its @@ -1008,7 +610,8 @@ pub trait MatchMethods : TElement { fn match_and_cascade(&self, context: &mut StyleContext<Self>, data: &mut ElementData, - sharing: StyleSharingBehavior) -> ChildCascadeRequirement + sharing: StyleSharingBehavior) + -> ChildCascadeRequirement { // Perform selector matching for the primary style. let mut relations = StyleRelations::empty(); @@ -1323,6 +926,43 @@ pub trait MatchMethods : TElement { } } + /// Computes and applies restyle damage. + fn accumulate_damage(&self, + shared_context: &SharedStyleContext, + restyle: Option<&mut RestyleData>, + old_values: Option<&ComputedValues>, + new_values: &Arc<ComputedValues>, + pseudo: Option<&PseudoElement>) + -> ChildCascadeRequirement { + let restyle = match restyle { + Some(r) => r, + None => return ChildCascadeRequirement::MustCascade, + }; + + let old_values = match old_values { + Some(v) => v, + None => return ChildCascadeRequirement::MustCascade, + }; + + // ::before and ::after are element-backed in Gecko, so they do the + // damage calculation for themselves, when there's an actual pseudo. + let is_existing_before_or_after = + cfg!(feature = "gecko") && + pseudo.map_or(false, |p| p.is_before_or_after()) && + self.existing_style_for_restyle_damage(old_values, pseudo) + .is_some(); + + if is_existing_before_or_after { + return ChildCascadeRequirement::CanSkipCascade; + } + + self.accumulate_damage_for(shared_context, + restyle, + old_values, + new_values, + pseudo) + } + /// Updates the rule nodes without re-running selector matching, using just /// the rule tree. Returns RulesChanged which indicates whether the rule nodes changed /// and whether the important rules changed. @@ -1407,99 +1047,22 @@ pub trait MatchMethods : TElement { /// system level yet. unsafe fn share_style_if_possible(&self, context: &mut StyleContext<Self>, - data: &mut AtomicRefMut<ElementData>) + data: &mut ElementData) -> StyleSharingResult { - if context.shared.options.disable_style_sharing_cache { - debug!("{:?} Cannot share style: style sharing cache disabled", self); - return StyleSharingResult::CannotShare - } - - if self.parent_element().is_none() { - debug!("{:?} Cannot share style: element has style attribute", self); - return StyleSharingResult::CannotShare - } - - if self.is_native_anonymous() { - debug!("{:?} Cannot share style: NAC", self); - return StyleSharingResult::CannotShare; - } - - if self.style_attribute().is_some() { - debug!("{:?} Cannot share style: element has style attribute", self); - return StyleSharingResult::CannotShare - } - - if self.has_attr(&ns!(), &local_name!("id")) { - debug!("{:?} Cannot share style: element has id", self); - return StyleSharingResult::CannotShare - } - - let cache = &mut context.thread_local.style_sharing_candidate_cache; + let shared_context = &context.shared; let current_element_info = - &mut context.thread_local.current_element_info.as_mut().unwrap(); - let bloom = context.thread_local.bloom_filter.filter(); + context.thread_local.current_element_info.as_mut().unwrap(); let selector_flags_map = &mut context.thread_local.selector_flags; - let mut should_clear_cache = false; - for (i, candidate) in cache.iter_mut().enumerate() { - let sharing_result = - self.share_style_with_candidate_if_possible(candidate, - &context.shared, - bloom, - current_element_info, - selector_flags_map); - match sharing_result { - Ok(shared_style) => { - // Yay, cache hit. Share the style. - - // Accumulate restyle damage. - debug_assert_eq!(data.has_styles(), data.has_restyle()); - let old_values = data.get_styles_mut() - .and_then(|s| s.primary.values.take()); - let child_cascade_requirement = - self.accumulate_damage(&context.shared, - data.get_restyle_mut(), - old_values.as_ref().map(|v| v.as_ref()), - shared_style.values(), - None); - - // We never put elements with pseudo style into the style - // sharing cache, so we can just mint an ElementStyles - // directly here. - // - // See https://bugzilla.mozilla.org/show_bug.cgi?id=1329361 - let styles = ElementStyles::new(shared_style); - data.set_styles(styles); - - return StyleSharingResult::StyleWasShared(i, child_cascade_requirement) - } - Err(miss) => { - debug!("Cache miss: {:?}", miss); - - // Cache miss, let's see what kind of failure to decide - // whether we keep trying or not. - match miss { - // Cache miss because of parent, clear the candidate cache. - CacheMiss::Parent => { - should_clear_cache = true; - break; - }, - // Too expensive failure, give up, we don't want another - // one of these. - CacheMiss::PresHints | - CacheMiss::Revalidation => break, - _ => {} - } - } - } - } - - debug!("{:?} Cannot share style: {} cache entries", self, cache.num_entries()); - - if should_clear_cache { - cache.clear(); - } + let bloom_filter = context.thread_local.bloom_filter.filter(); - StyleSharingResult::CannotShare + context.thread_local + .style_sharing_candidate_cache + .share_style_if_possible(shared_context, + current_element_info, + selector_flags_map, + bloom_filter, + *self, + data) } /// Given the old and new style of this element, and whether it's a diff --git a/components/style/parallel.rs b/components/style/parallel.rs index 6495f41ee69..859548d3c8b 100644 --- a/components/style/parallel.rs +++ b/components/style/parallel.rs @@ -26,16 +26,38 @@ use context::TraversalStatistics; use dom::{OpaqueNode, SendNode, TElement, TNode}; use rayon; use scoped_tls::ScopedTLS; +use sharing::STYLE_SHARING_CANDIDATE_CACHE_SIZE; +use smallvec::SmallVec; use std::borrow::Borrow; +use std::mem; use time; use traversal::{DomTraversal, PerLevelTraversalData, PreTraverseToken}; -/// The chunk size used to split the parallel traversal nodes. +/// The maximum number of child nodes that we will process as a single unit. /// -/// We send each `CHUNK_SIZE` nodes as a different work unit to the work queue. -pub const CHUNK_SIZE: usize = 64; +/// Larger values will increase style sharing cache hits and general DOM locality +/// at the expense of decreased opportunities for parallelism. The style sharing +/// cache can hold 8 entries, but not all styles are shareable, so we set this +/// value to 16. These values have not been measured and could potentially be +/// tuned. +pub const WORK_UNIT_MAX: usize = 16; -/// A parallel top down traversal, generic over `D`. +/// Verify that the style sharing cache size doesn't change. If it does, we should +/// reconsider the above. We do this, rather than defining WORK_UNIT_MAX in terms +/// of STYLE_SHARING_CANDIDATE_CACHE_SIZE, so that altering the latter doesn't +/// have surprising effects on the parallelism characteristics of the style system. +#[allow(dead_code)] +fn static_assert() { + unsafe { mem::transmute::<_, [u32; STYLE_SHARING_CANDIDATE_CACHE_SIZE]>([1; 8]); } +} + +/// A list of node pointers. +/// +/// Note that the inline storage doesn't need to be sized to WORK_UNIT_MAX, but +/// it generally seems sensible to do so. +type NodeList<N> = SmallVec<[SendNode<N>; WORK_UNIT_MAX]>; + +/// Entry point for the parallel traversal. #[allow(unsafe_code)] pub fn traverse_dom<E, D>(traversal: &D, root: E, @@ -46,24 +68,29 @@ pub fn traverse_dom<E, D>(traversal: &D, { let dump_stats = traversal.shared_context().options.dump_style_statistics; let start_time = if dump_stats { Some(time::precise_time_s()) } else { None }; + let mut nodes = NodeList::<E::ConcreteNode>::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 (nodes, depth) = if token.traverse_unstyled_children_only() { + let depth = if token.traverse_unstyled_children_only() { debug_assert!(!D::needs_postorder_traversal()); - let mut children = vec![]; for kid in root.as_node().children() { if kid.as_element().map_or(false, |el| el.get_data().is_none()) { - children.push(unsafe { SendNode::new(kid) }); + nodes.push(unsafe { SendNode::new(kid) }); } } - (children, root.depth() + 1) + root.depth() + 1 } else { - (vec![unsafe { SendNode::new(root.as_node()) }], root.depth()) + nodes.push(unsafe { SendNode::new(root.as_node()) }); + root.depth() }; + if nodes.is_empty() { + return; + } + let traversal_data = PerLevelTraversalData { current_dom_depth: depth, }; @@ -72,7 +99,13 @@ pub fn traverse_dom<E, D>(traversal: &D, queue.install(|| { rayon::scope(|scope| { - traverse_nodes(nodes, root, traversal_data, scope, traversal, &tls); + traverse_nodes(nodes, + DispatchMode::TailCall, + root, + traversal_data, + scope, + traversal, + &tls); }); }); @@ -93,6 +126,17 @@ pub fn traverse_dom<E, D>(traversal: &D, } /// A parallel top-down DOM traversal. +/// +/// This algorithm traverses the DOM in a breadth-first, top-down manner. The +/// goals are: +/// * Never process a child before its parent (since child style depends on +/// parent style). If this were to happen, the styling algorithm would panic. +/// * Prioritize discovering nodes as quickly as possible to maximize +/// opportunities for parallelism. +/// * Style all the children of a given node (i.e. all sibling nodes) on +/// a single thread (with an upper bound to handle nodes with an +/// abnormally large number of children). This is important because we use +/// a thread-local cache to share styles between siblings. #[inline(always)] #[allow(unsafe_code)] fn top_down_dom<'a, 'scope, E, D>(nodes: &'a [SendNode<E::ConcreteNode>], @@ -104,17 +148,42 @@ fn top_down_dom<'a, 'scope, E, D>(nodes: &'a [SendNode<E::ConcreteNode>], where E: TElement + 'scope, D: DomTraversal<E>, { - let mut discovered_child_nodes = vec![]; + debug_assert!(nodes.len() <= WORK_UNIT_MAX); + let mut discovered_child_nodes = NodeList::<E::ConcreteNode>::new(); { // Scope the borrow of the TLS so that the borrow is dropped before - // potentially traversing a child on this thread. + // a potential recursive call when we pass TailCall. let mut tlc = tls.ensure(|| traversal.create_thread_local_context()); for n in nodes { - // Perform the appropriate traversal. + // If the last node we processed produced children, spawn them off + // into a work item. We do this at the beginning of the loop (rather + // than at the end) so that we can traverse the children of the last + // sibling directly on this thread without a spawn call. + // + // This has the important effect of removing the allocation and + // context-switching overhead of the parallel traversal for perfectly + // linear regions of the DOM, i.e.: + // + // <russian><doll><tag><nesting></nesting></tag></doll></russian> + // + // Which are not at all uncommon. + if !discovered_child_nodes.is_empty() { + let children = mem::replace(&mut discovered_child_nodes, Default::default()); + let mut traversal_data_copy = traversal_data.clone(); + traversal_data_copy.current_dom_depth += 1; + traverse_nodes(children, + DispatchMode::NotTailCall, + root, + traversal_data_copy, + scope, + traversal, + tls); + } + let node = **n; let mut children_to_process = 0isize; - traversal.process_preorder(&mut traversal_data, &mut *tlc, node); + traversal.process_preorder(&traversal_data, &mut *tlc, node); if let Some(el) = node.as_element() { traversal.traverse_children(&mut *tlc, el, |_tlc, kid| { children_to_process += 1; @@ -127,11 +196,37 @@ fn top_down_dom<'a, 'scope, E, D>(nodes: &'a [SendNode<E::ConcreteNode>], } } - traversal_data.current_dom_depth += 1; - traverse_nodes(discovered_child_nodes, root, traversal_data, scope, traversal, tls); + // Handle the children of the last element in this work unit. If any exist, + // we can process them (or at least one work unit's worth of them) directly + // on this thread by passing TailCall. + if !discovered_child_nodes.is_empty() { + traversal_data.current_dom_depth += 1; + traverse_nodes(discovered_child_nodes, + DispatchMode::TailCall, + root, + traversal_data, + scope, + traversal, + tls); + } +} + +/// Controls whether traverse_nodes may make a recursive call to continue +/// doing work, or whether it should always dispatch work asynchronously. +#[derive(Clone, Copy, PartialEq)] +enum DispatchMode { + TailCall, + NotTailCall, } -fn traverse_nodes<'a, 'scope, E, D>(nodes: Vec<SendNode<E::ConcreteNode>>, root: OpaqueNode, +impl DispatchMode { + fn is_tail_call(&self) -> bool { matches!(*self, DispatchMode::TailCall) } +} + +#[inline] +fn traverse_nodes<'a, 'scope, E, D>(nodes: NodeList<E::ConcreteNode>, + mode: DispatchMode, + root: OpaqueNode, traversal_data: PerLevelTraversalData, scope: &'a rayon::Scope<'scope>, traversal: &'scope D, @@ -139,25 +234,44 @@ fn traverse_nodes<'a, 'scope, E, D>(nodes: Vec<SendNode<E::ConcreteNode>>, root: where E: TElement + 'scope, D: DomTraversal<E>, { - if nodes.is_empty() { - return; - } + debug_assert!(!nodes.is_empty()); - // Optimization: traverse directly and avoid a heap-allocating spawn() call if - // we're only pushing one work unit. - if nodes.len() <= CHUNK_SIZE { - let nodes = nodes.into_boxed_slice(); - top_down_dom(&nodes, root, traversal_data, scope, traversal, tls); - return; - } + // In the common case, our children fit within a single work unit, in which + // case we can pass the SmallVec directly and avoid extra allocation. + if nodes.len() <= WORK_UNIT_MAX { + if mode.is_tail_call() { + // If this is a tail call, bypass rayon and invoke top_down_dom directly. + top_down_dom(&nodes, root, traversal_data, scope, traversal, tls); + } else { + // The caller isn't done yet. Append to the queue and return synchronously. + scope.spawn(move |scope| { + let nodes = nodes; + top_down_dom(&nodes, root, traversal_data, scope, traversal, tls); + }); + } + } else { + // FIXME(bholley): This should be an ArrayVec. + let mut first_chunk: Option<NodeList<E::ConcreteNode>> = None; + for chunk in nodes.chunks(WORK_UNIT_MAX) { + if mode.is_tail_call() && first_chunk.is_none() { + first_chunk = Some(chunk.iter().cloned().collect::<NodeList<E::ConcreteNode>>()); + } else { + let boxed = chunk.iter().cloned().collect::<Vec<_>>().into_boxed_slice(); + let traversal_data_copy = traversal_data.clone(); + scope.spawn(move |scope| { + let b = boxed; + top_down_dom(&*b, root, traversal_data_copy, scope, traversal, tls) + }); - // General case. - for chunk in nodes.chunks(CHUNK_SIZE) { - let nodes = chunk.iter().cloned().collect::<Vec<_>>().into_boxed_slice(); - let traversal_data = traversal_data.clone(); - scope.spawn(move |scope| { - let nodes = nodes; - top_down_dom(&nodes, root, traversal_data, scope, traversal, tls) - }) + } + } + + // If this is a tail call, bypass rayon for the first chunk and invoke top_down_dom + // directly. + debug_assert_eq!(first_chunk.is_some(), mode.is_tail_call()); + if let Some(c) = first_chunk { + debug_assert_eq!(c.len(), WORK_UNIT_MAX); + top_down_dom(&*c, root, traversal_data, scope, traversal, tls); + } } } diff --git a/components/style/properties/declaration_block.rs b/components/style/properties/declaration_block.rs index 74a138721e7..1bd565f2153 100644 --- a/components/style/properties/declaration_block.rs +++ b/components/style/properties/declaration_block.rs @@ -12,6 +12,7 @@ use cssparser::{Parser, AtRuleParser, DeclarationParser, Delimiter}; use error_reporting::ParseErrorReporter; use parser::{PARSING_MODE_DEFAULT, ParsingMode, ParserContext, log_css_error}; use std::fmt; +use std::slice::Iter; use style_traits::ToCss; use stylesheets::{CssRuleType, Origin, UrlExtraData}; use super::*; @@ -54,6 +55,25 @@ pub struct PropertyDeclarationBlock { longhands: LonghandIdSet, } +/// Iterator for PropertyDeclaration to be generated from PropertyDeclarationBlock. +#[derive(Clone)] +pub struct PropertyDeclarationIterator<'a> { + iter: Iter<'a, (PropertyDeclaration, Importance)>, +} + +impl<'a> Iterator for PropertyDeclarationIterator<'a> { + type Item = &'a PropertyDeclaration; + #[inline] + fn next(&mut self) -> Option<&'a PropertyDeclaration> { + // we use this function because a closure won't be `Clone` + fn get_declaration(dec: &(PropertyDeclaration, Importance)) + -> &PropertyDeclaration { + &dec.0 + } + self.iter.next().map(get_declaration as fn(_) -> _) + } +} + impl fmt::Debug for PropertyDeclarationBlock { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { self.declarations.fmt(f) @@ -93,6 +113,13 @@ impl PropertyDeclarationBlock { &self.declarations } + /// Iterate over only PropertyDeclaration. + pub fn declarations_iter(&self) -> PropertyDeclarationIterator { + PropertyDeclarationIterator { + iter: self.declarations.iter(), + } + } + /// Returns whether this block contains any declaration with `!important`. /// /// This is based on the `important_count` counter, @@ -369,15 +396,10 @@ impl PropertyDeclarationBlock { } } Ok(shorthand) => { - // we use this function because a closure won't be `Clone` - fn get_declaration(dec: &(PropertyDeclaration, Importance)) - -> &PropertyDeclaration { - &dec.0 - } if !self.declarations.iter().all(|decl| decl.0.shorthands().contains(&shorthand)) { return Err(fmt::Error) } - let iter = self.declarations.iter().map(get_declaration as fn(_) -> _); + let iter = self.declarations_iter(); match shorthand.get_shorthand_appendable_value(iter) { Some(AppendableValue::Css { css, .. }) => { dest.write_str(css) diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs index f0d284e4d76..7eb66c2fe49 100644 --- a/components/style/properties/gecko.mako.rs +++ b/components/style/properties/gecko.mako.rs @@ -2769,19 +2769,18 @@ fn static_assert() { pub fn copy_${shorthand}_${name}_from(&mut self, other: &Self) { use gecko_bindings::structs::nsStyleImageLayers_LayerType as LayerType; + let count = other.gecko.${image_layers_field}.${field_name}Count; unsafe { Gecko_EnsureImageLayersLength(&mut self.gecko.${image_layers_field}, - other.gecko.${image_layers_field}.mLayers.len(), + count as usize, LayerType::${shorthand.title()}); } for (layer, other) in self.gecko.${image_layers_field}.mLayers.iter_mut() .zip(other.gecko.${image_layers_field}.mLayers.iter()) - .take(other.gecko.${image_layers_field} - .${field_name}Count as usize) { + .take(count as usize) { layer.${field_name} = other.${field_name}; } - self.gecko.${image_layers_field}.${field_name}Count = - other.gecko.${image_layers_field}.${field_name}Count; + self.gecko.${image_layers_field}.${field_name}Count = count; } @@ -2874,23 +2873,21 @@ fn static_assert() { pub fn copy_${shorthand}_position_${orientation}_from(&mut self, other: &Self) { use gecko_bindings::structs::nsStyleImageLayers_LayerType as LayerType; - self.gecko.${image_layers_field}.mPosition${orientation.upper()}Count - = cmp::min(1, other.gecko.${image_layers_field}.mPosition${orientation.upper()}Count); - self.gecko.${image_layers_field}.mLayers.mFirstElement.mPosition = - other.gecko.${image_layers_field}.mLayers.mFirstElement.mPosition; + let count = other.gecko.${image_layers_field}.mPosition${orientation.upper()}Count; + unsafe { Gecko_EnsureImageLayersLength(&mut self.gecko.${image_layers_field}, - other.gecko.${image_layers_field}.mLayers.len(), + count as usize, LayerType::${shorthand.capitalize()}); } for (layer, other) in self.gecko.${image_layers_field}.mLayers.iter_mut() - .zip(other.gecko.${image_layers_field}.mLayers.iter()) { + .zip(other.gecko.${image_layers_field}.mLayers.iter()) + .take(count as usize) { layer.mPosition.m${orientation.upper()}Position = other.mPosition.m${orientation.upper()}Position; } - self.gecko.${image_layers_field}.mPosition${orientation.upper()}Count - = other.gecko.${image_layers_field}.mPosition${orientation.upper()}Count; + self.gecko.${image_layers_field}.mPosition${orientation.upper()}Count = count; } pub fn clone_${shorthand}_position_${orientation}(&self) diff --git a/components/style/properties/helpers.mako.rs b/components/style/properties/helpers.mako.rs index de63e97ee90..b93f7b89413 100644 --- a/components/style/properties/helpers.mako.rs +++ b/components/style/properties/helpers.mako.rs @@ -82,7 +82,7 @@ use smallvec::SmallVec; use std::fmt; #[allow(unused_imports)] - use values::HasViewportPercentage; + use style_traits::HasViewportPercentage; use style_traits::ToCss; pub mod single_value { diff --git a/components/style/properties/longhand/effects.mako.rs b/components/style/properties/longhand/effects.mako.rs index 730142b76a7..0374ae0dafb 100644 --- a/components/style/properties/longhand/effects.mako.rs +++ b/components/style/properties/longhand/effects.mako.rs @@ -87,8 +87,8 @@ ${helpers.predefined_type("clip", spec="https://drafts.fxtf.org/filters/#propdef-filter"> //pub use self::computed_value::T as SpecifiedValue; use std::fmt; - use style_traits::ToCss; - use values::{CSSFloat, HasViewportPercentage}; + use style_traits::{HasViewportPercentage, ToCss}; + use values::CSSFloat; use values::specified::{Angle, Length}; #[cfg(feature = "gecko")] use values::specified::Shadow; diff --git a/components/style/properties/longhand/font.mako.rs b/components/style/properties/longhand/font.mako.rs index 191dca52574..cd60b303436 100644 --- a/components/style/properties/longhand/font.mako.rs +++ b/components/style/properties/longhand/font.mako.rs @@ -550,8 +550,8 @@ ${helpers.single_keyword_system("font-variant-caps", use properties::longhands::system_font::SystemFont; use properties::style_structs::Font; use std::fmt; - use style_traits::ToCss; - use values::{FONT_MEDIUM_PX, HasViewportPercentage}; + use style_traits::{HasViewportPercentage, ToCss}; + use values::FONT_MEDIUM_PX; use values::specified::{AllowQuirks, FontRelativeLength, LengthOrPercentage}; use values::specified::{NoCalcLength, Percentage}; use values::specified::length::FontBaseSize; @@ -1315,6 +1315,7 @@ ${helpers.single_keyword_system("font-kerning", } </%helpers:longhand> +#[cfg(any(feature = "gecko", feature = "testing"))] macro_rules! exclusive_value { (($value:ident, $set:expr) => $ident:ident) => { if $value.intersects($set) { diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs index 0f4ee1b6843..d3c85c64470 100644 --- a/components/style/properties/properties.mako.rs +++ b/components/style/properties/properties.mako.rs @@ -34,10 +34,10 @@ use parser::{PARSING_MODE_DEFAULT, Parse, ParserContext}; use properties::animated_properties::TransitionProperty; #[cfg(feature = "servo")] use servo_config::prefs::PREFS; use shared_lock::StylesheetGuards; -use style_traits::ToCss; +use style_traits::{HasViewportPercentage, ToCss}; use stylesheets::{CssRuleType, Origin, UrlExtraData}; #[cfg(feature = "servo")] use values::Either; -use values::{HasViewportPercentage, computed}; +use values::computed; use cascade_info::CascadeInfo; use rule_tree::StrongRuleNode; use style_adjuster::StyleAdjuster; diff --git a/components/style/properties/shorthand/font.mako.rs b/components/style/properties/shorthand/font.mako.rs index 18e2b97d387..acb7199d486 100644 --- a/components/style/properties/shorthand/font.mako.rs +++ b/components/style/properties/shorthand/font.mako.rs @@ -122,8 +122,67 @@ SomeSystem, None } + % endif + enum SerializeFor { + Normal, + % if product == "gecko": + Canvas, + % endif + } + + impl<'a> LonghandsToSerialize<'a> { + fn to_css_for<W>(&self, + serialize_for: SerializeFor, + dest: &mut W) -> fmt::Result where W: fmt::Write { + % if product == "gecko": + match self.check_system() { + CheckSystemResult::AllSystem(sys) => return sys.to_css(dest), + CheckSystemResult::SomeSystem => return Ok(()), + CheckSystemResult::None => () + } + % endif + + % if product == "gecko" or data.testing: + % for name in gecko_sub_properties: + if self.font_${name} != &font_${name}::get_initial_specified_value() { + return Ok(()); + } + % endfor + % endif + + // In case of serialization for canvas font, we need to drop + // initial values of properties other than size and family. + % for name in "style variant_caps weight stretch".split(): + let needs_this_property = match serialize_for { + SerializeFor::Normal => true, + % if product == "gecko": + SerializeFor::Canvas => + self.font_${name} != &font_${name}::get_initial_specified_value(), + % endif + }; + if needs_this_property { + self.font_${name}.to_css(dest)?; + dest.write_str(" ")?; + } + % endfor - impl<'a> LonghandsToSerialize<'a> { + self.font_size.to_css(dest)?; + + match *self.line_height { + line_height::SpecifiedValue::Normal => {}, + _ => { + dest.write_str("/")?; + self.line_height.to_css(dest)?; + } + } + + dest.write_str(" ")?; + self.font_family.to_css(dest)?; + + Ok(()) + } + + % if product == "gecko": /// Check if some or all members are system fonts fn check_system(&self) -> CheckSystemResult { let mut sys = None; @@ -148,47 +207,18 @@ CheckSystemResult::None } } - } - % endif + + /// Serialize the shorthand value for canvas font attribute. + pub fn to_css_for_canvas<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + self.to_css_for(SerializeFor::Canvas, dest) + } + % endif + } // This may be a bit off, unsure, possibly needs changes impl<'a> ToCss for LonghandsToSerialize<'a> { fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { - % if product == "gecko": - match self.check_system() { - CheckSystemResult::AllSystem(sys) => return sys.to_css(dest), - CheckSystemResult::SomeSystem => return Ok(()), - CheckSystemResult::None => () - } - % endif - - % if product == "gecko" or data.testing: - % for name in gecko_sub_properties: - if self.font_${name} != &font_${name}::get_initial_specified_value() { - return Ok(()); - } - % endfor - % endif - - % for name in "style variant_caps weight stretch".split(): - self.font_${name}.to_css(dest)?; - dest.write_str(" ")?; - % endfor - - self.font_size.to_css(dest)?; - - match *self.line_height { - line_height::SpecifiedValue::Normal => {}, - _ => { - dest.write_str("/")?; - self.line_height.to_css(dest)?; - } - } - - dest.write_str(" ")?; - self.font_family.to_css(dest)?; - - Ok(()) + self.to_css_for(SerializeFor::Normal, dest) } } </%helpers:shorthand> diff --git a/components/style/restyle_hints.rs b/components/style/restyle_hints.rs index 913141f8dd0..06188329261 100644 --- a/components/style/restyle_hints.rs +++ b/components/style/restyle_hints.rs @@ -9,6 +9,7 @@ use Atom; use LocalName; use Namespace; +use context::{SharedStyleContext, ThreadLocalStyleContext}; use dom::TElement; use element_state::*; #[cfg(feature = "gecko")] @@ -825,6 +826,35 @@ pub struct DependencySet { dependencies: SelectorMap<Dependency>, } +/// The data that we need to compute a given restyle hint. +pub enum HintComputationContext<'a, E: 'a> + where E: TElement, +{ + /// The data we need to compute a restyle hint for the root of the + /// traversal. + /// + /// We don't bother with the bloom filter there for multiple reasons: + /// + /// * The root of the traversal uses to be the root of the document, so we + /// don't gain much using a bloom filter. + /// + /// * The chances that a non-root-element root of the traversal has a + /// snapshot is quite low. + Root, + + /// The data we need to compute a restyle hint for a child. + /// + /// This needs a full-blown style context in order to get the selector + /// filters up-to-date, and the dom depth in order to insert into the filter + /// properly if needed. + Child { + /// The thread-local context, that holds the bloom filter alive. + local_context: &'a mut ThreadLocalStyleContext<E>, + /// The dom depth of this element. + dom_depth: usize, + } +} + impl DependencySet { /// Adds a selector to this `DependencySet`. pub fn note_selector(&mut self, selector: &Selector<SelectorImpl>) { @@ -921,16 +951,17 @@ impl DependencySet { /// Compute a restyle hint given an element and a snapshot, per the rules /// explained in the rest of the documentation. - pub fn compute_hint<E>( + pub fn compute_hint<'a, E>( &self, el: &E, - snapshots: &SnapshotMap) + shared_context: &SharedStyleContext, + hint_context: HintComputationContext<'a, E>) -> RestyleHint where E: TElement, { debug_assert!(el.has_snapshot(), "Shouldn't be here!"); - - let snapshot_el = ElementWrapper::new(el.clone(), snapshots); + let snapshot_el = + ElementWrapper::new(*el, shared_context.snapshot_map); let snapshot = snapshot_el.snapshot().expect("has_snapshot lied so badly"); @@ -960,8 +991,30 @@ impl DependencySet { }); } - // FIXME(emilio): A bloom filter here would be neat. - let mut matching_context = + let bloom_filter = match hint_context { + HintComputationContext::Root => None, + HintComputationContext::Child { mut local_context, dom_depth } => { + local_context + .bloom_filter + .insert_parents_recovering(*el, dom_depth); + local_context.bloom_filter.assert_complete(*el); + Some(local_context.bloom_filter.filter()) + } + }; + + let mut element_matching_context = + MatchingContext::new(MatchingMode::Normal, bloom_filter); + + // NOTE(emilio): We can't use the bloom filter for snapshots, given that + // arbitrary elements in the parent chain may have mutated their + // id's/classes, which means that they won't be in the filter, and as + // such we may fast-reject selectors incorrectly. + // + // We may be able to improve this if we record as we go down the tree + // whether any parent had a snapshot, and whether those snapshots were + // taken due to an element class/id change, but it's not clear we _need_ + // it right now. + let mut snapshot_matching_context = MatchingContext::new(MatchingMode::Normal, None); let lookup_element = if el.implemented_pseudo_element().is_some() { @@ -989,11 +1042,11 @@ impl DependencySet { // change its matching behavior here. let matched_then = matches_selector(&dep.selector, &snapshot_el, - &mut matching_context, + &mut snapshot_matching_context, &mut |_, _| {}); let matches_now = matches_selector(&dep.selector, el, - &mut matching_context, + &mut element_matching_context, &mut |_, _| {}); if matched_then != matches_now { hint.insert_from(&dep.hint); diff --git a/components/style/sharing/checks.rs b/components/style/sharing/checks.rs new file mode 100644 index 00000000000..5cc5869e509 --- /dev/null +++ b/components/style/sharing/checks.rs @@ -0,0 +1,141 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +//! Different checks done during the style sharing process in order to determine +//! quickly whether it's worth to share style, and whether two different +//! elements can indeed share the same style. + +use context::{CurrentElementInfo, SelectorFlagsMap, SharedStyleContext}; +use dom::TElement; +use matching::MatchMethods; +use selectors::bloom::BloomFilter; +use selectors::matching::{ElementSelectorFlags, StyleRelations}; +use sharing::StyleSharingCandidate; +use sink::ForgetfulSink; +use stylearc::Arc; + +/// Determines, based on the results of selector matching, whether it's worth to +/// try to share style with this element, that is, to try to insert the element +/// in the chache. +#[inline] +pub fn relations_are_shareable(relations: &StyleRelations) -> bool { + use selectors::matching::*; + !relations.intersects(AFFECTED_BY_ID_SELECTOR | + AFFECTED_BY_PSEUDO_ELEMENTS | + AFFECTED_BY_STYLE_ATTRIBUTE | + AFFECTED_BY_PRESENTATIONAL_HINTS) +} + +/// Whether, given two elements, they have pointer-equal computed values. +/// +/// Both elements need to be styled already. +/// +/// This is used to know whether we can share style across cousins (if the two +/// parents have the same style). +pub fn same_computed_values<E>(first: Option<E>, second: Option<E>) -> bool + where E: TElement, +{ + let (a, b) = match (first, second) { + (Some(f), Some(s)) => (f, s), + _ => return false, + }; + + let eq = Arc::ptr_eq(a.borrow_data().unwrap().styles().primary.values(), + b.borrow_data().unwrap().styles().primary.values()); + eq +} + +/// Whether a given element has presentational hints. +/// +/// We consider not worth to share style with an element that has presentational +/// hints, both because implementing the code that compares that the hints are +/// equal is somewhat annoying, and also because it'd be expensive enough. +pub fn has_presentational_hints<E>(element: E) -> bool + where E: TElement, +{ + let mut hints = ForgetfulSink::new(); + element.synthesize_presentational_hints_for_legacy_attributes(&mut hints); + !hints.is_empty() +} + +/// Whether a given element has the same class attribute than a given candidate. +/// +/// We don't try to share style across elements with different class attributes. +pub fn have_same_class<E>(element: E, + candidate: &mut StyleSharingCandidate<E>) + -> bool + where E: TElement, +{ + // XXX Efficiency here, I'm only validating ideas. + let mut element_class_attributes = vec![]; + element.each_class(|c| element_class_attributes.push(c.clone())); + + if candidate.class_attributes.is_none() { + let mut attrs = vec![]; + candidate.element.each_class(|c| attrs.push(c.clone())); + candidate.class_attributes = Some(attrs) + } + + element_class_attributes == *candidate.class_attributes.as_ref().unwrap() +} + +/// Whether a given element and a candidate match the same set of "revalidation" +/// selectors. +/// +/// Revalidation selectors are those that depend on the DOM structure, like +/// :first-child, etc, or on attributes that we don't check off-hand (pretty +/// much every attribute selector except `id` and `class`. +#[inline] +pub fn revalidate<E>(element: E, + candidate: &mut StyleSharingCandidate<E>, + shared_context: &SharedStyleContext, + bloom: &BloomFilter, + info: &mut CurrentElementInfo, + selector_flags_map: &mut SelectorFlagsMap<E>) + -> bool + where E: TElement, +{ + let stylist = &shared_context.stylist; + + if info.revalidation_match_results.is_none() { + // It's important to set the selector flags. Otherwise, if we succeed in + // sharing the style, we may not set the slow selector flags for the + // right elements (which may not necessarily be |element|), causing + // missed restyles after future DOM mutations. + // + // Gecko's test_bug534804.html exercises this. A minimal testcase is: + // <style> #e:empty + span { ... } </style> + // <span id="e"> + // <span></span> + // </span> + // <span></span> + // + // The style sharing cache will get a hit for the second span. When the + // child span is subsequently removed from the DOM, missing selector + // flags would cause us to miss the restyle on the second span. + let mut set_selector_flags = |el: &E, flags: ElementSelectorFlags| { + element.apply_selector_flags(selector_flags_map, el, flags); + }; + info.revalidation_match_results = + Some(stylist.match_revalidation_selectors(&element, bloom, + &mut set_selector_flags)); + } + + if candidate.revalidation_match_results.is_none() { + let results = + stylist.match_revalidation_selectors(&*candidate.element, bloom, + &mut |_, _| {}); + candidate.revalidation_match_results = Some(results); + } + + let for_element = info.revalidation_match_results.as_ref().unwrap(); + let for_candidate = candidate.revalidation_match_results.as_ref().unwrap(); + + // This assert "ensures", to some extent, that the two candidates have + // matched the same rulehash buckets, and as such, that the bits we're + // comparing represent the same set of selectors. + debug_assert_eq!(for_element.len(), for_candidate.len()); + + for_element == for_candidate +} diff --git a/components/style/sharing/mod.rs b/components/style/sharing/mod.rs new file mode 100644 index 00000000000..744571ca863 --- /dev/null +++ b/components/style/sharing/mod.rs @@ -0,0 +1,384 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +//! Code related to the style sharing cache, an optimization that allows similar +//! nodes to share style without having to run selector matching twice. + +use Atom; +use bit_vec::BitVec; +use cache::{LRUCache, LRUCacheMutIterator}; +use context::{CurrentElementInfo, SelectorFlagsMap, SharedStyleContext}; +use data::{ComputedStyle, ElementData, ElementStyles}; +use dom::{TElement, SendElement}; +use matching::{ChildCascadeRequirement, MatchMethods}; +use properties::ComputedValues; +use selectors::bloom::BloomFilter; +use selectors::matching::StyleRelations; +use sink::ForgetfulSink; + +mod checks; + +/// The amount of nodes that the style sharing candidate cache should hold at +/// most. +pub const STYLE_SHARING_CANDIDATE_CACHE_SIZE: usize = 8; + +/// Controls whether the style sharing cache is used. +#[derive(Clone, Copy, PartialEq)] +pub enum StyleSharingBehavior { + /// Style sharing allowed. + Allow, + /// Style sharing disallowed. + Disallow, +} + +/// Information regarding a style sharing candidate, that is, an entry in the +/// style sharing cache. +/// +/// Note that this information is stored in TLS and cleared after the traversal, +/// and once here, the style information of the element is immutable, so it's +/// safe to access. +/// +/// TODO: We can stick a lot more info here. +#[derive(Debug)] +pub struct StyleSharingCandidate<E: TElement> { + /// The element. We use SendElement here so that the cache may live in + /// ScopedTLS. + element: SendElement<E>, + /// The cached class names. + class_attributes: Option<Vec<Atom>>, + /// The cached result of matching this entry against the revalidation selectors. + revalidation_match_results: Option<BitVec>, +} + +impl<E: TElement> PartialEq<StyleSharingCandidate<E>> for StyleSharingCandidate<E> { + fn eq(&self, other: &Self) -> bool { + self.element == other.element + } +} + +/// A cache miss result. +#[derive(Clone, Debug)] +pub enum CacheMiss { + /// The parents don't match. + Parent, + /// One element was NAC, while the other wasn't. + NativeAnonymousContent, + /// The local name of the element and the candidate don't match. + LocalName, + /// The namespace of the element and the candidate don't match. + Namespace, + /// One of the element or the candidate was a link, but the other one + /// wasn't. + Link, + /// The element and the candidate match different kind of rules. This can + /// only happen in Gecko. + UserAndAuthorRules, + /// The element and the candidate are in a different state. + State, + /// The element had an id attribute, which qualifies for a unique style. + IdAttr, + /// The element had a style attribute, which qualifies for a unique style. + StyleAttr, + /// The element and the candidate class names didn't match. + Class, + /// The presentation hints didn't match. + PresHints, + /// The element and the candidate didn't match the same set of revalidation + /// selectors. + Revalidation, +} + +/// The results of attempting to share a style. +pub enum StyleSharingResult { + /// We didn't find anybody to share the style with. + CannotShare, + /// The node's style can be shared. The integer specifies the index in the + /// LRU cache that was hit and the damage that was done. The + /// `ChildCascadeRequirement` indicates whether style changes due to using + /// the shared style mean we need to recascade to children. + StyleWasShared(usize, ChildCascadeRequirement), +} + +/// An LRU cache of the last few nodes seen, so that we can aggressively try to +/// reuse their styles. +/// +/// Note that this cache is flushed every time we steal work from the queue, so +/// storing nodes here temporarily is safe. +pub struct StyleSharingCandidateCache<E: TElement> { + cache: LRUCache<StyleSharingCandidate<E>>, +} + +impl<E: TElement> StyleSharingCandidateCache<E> { + /// Create a new style sharing candidate cache. + pub fn new() -> Self { + StyleSharingCandidateCache { + cache: LRUCache::new(STYLE_SHARING_CANDIDATE_CACHE_SIZE), + } + } + + /// Returns the number of entries in the cache. + pub fn num_entries(&self) -> usize { + self.cache.num_entries() + } + + fn iter_mut(&mut self) -> LRUCacheMutIterator<StyleSharingCandidate<E>> { + self.cache.iter_mut() + } + + /// Tries to insert an element in the style sharing cache. + /// + /// Fails if we know it should never be in the cache. + pub fn insert_if_possible(&mut self, + element: &E, + style: &ComputedValues, + relations: StyleRelations, + revalidation_match_results: Option<BitVec>) { + let parent = match element.parent_element() { + Some(element) => element, + None => { + debug!("Failing to insert to the cache: no parent element"); + return; + } + }; + + if element.is_native_anonymous() { + debug!("Failing to insert into the cache: NAC"); + return; + } + + // These are things we don't check in the candidate match because they + // are either uncommon or expensive. + if !checks::relations_are_shareable(&relations) { + debug!("Failing to insert to the cache: {:?}", relations); + return; + } + + // Make sure we noted any presentational hints in the StyleRelations. + if cfg!(debug_assertions) { + let mut hints = ForgetfulSink::new(); + element.synthesize_presentational_hints_for_legacy_attributes(&mut hints); + debug_assert!(hints.is_empty(), + "Style relations should not be shareable!"); + } + + let box_style = style.get_box(); + if box_style.specifies_transitions() { + debug!("Failing to insert to the cache: transitions"); + return; + } + + if box_style.specifies_animations() { + debug!("Failing to insert to the cache: animations"); + return; + } + + debug!("Inserting into cache: {:?} with parent {:?}", element, parent); + + self.cache.insert(StyleSharingCandidate { + element: unsafe { SendElement::new(*element) }, + class_attributes: None, + revalidation_match_results: revalidation_match_results, + }); + } + + /// Touch a given index in the style sharing candidate cache. + pub fn touch(&mut self, index: usize) { + self.cache.touch(index); + } + + /// Clear the style sharing candidate cache. + pub fn clear(&mut self) { + self.cache.evict_all() + } + + /// Attempts to share a style with another node. + /// + /// This method is unsafe because it depends on the + /// `style_sharing_candidate_cache` having only live nodes in it, and we + /// have no way to guarantee that at the type system level yet. + pub unsafe fn share_style_if_possible( + &mut self, + shared_context: &SharedStyleContext, + current_element_info: &mut CurrentElementInfo, + selector_flags_map: &mut SelectorFlagsMap<E>, + bloom_filter: &BloomFilter, + element: E, + data: &mut ElementData + ) -> StyleSharingResult { + if shared_context.options.disable_style_sharing_cache { + debug!("{:?} Cannot share style: style sharing cache disabled", + element); + return StyleSharingResult::CannotShare + } + + if element.parent_element().is_none() { + debug!("{:?} Cannot share style: element has no parent", element); + return StyleSharingResult::CannotShare + } + + if element.is_native_anonymous() { + debug!("{:?} Cannot share style: NAC", element); + return StyleSharingResult::CannotShare; + } + + if element.style_attribute().is_some() { + debug!("{:?} Cannot share style: element has style attribute", + element); + return StyleSharingResult::CannotShare + } + + if element.get_id().is_some() { + debug!("{:?} Cannot share style: element has id", element); + return StyleSharingResult::CannotShare + } + + let mut should_clear_cache = false; + for (i, candidate) in self.iter_mut().enumerate() { + let sharing_result = + Self::test_candidate( + element, + candidate, + &shared_context, + bloom_filter, + current_element_info, + selector_flags_map + ); + + match sharing_result { + Ok(shared_style) => { + // Yay, cache hit. Share the style. + + // Accumulate restyle damage. + debug_assert_eq!(data.has_styles(), data.has_restyle()); + let old_values = data.get_styles_mut() + .and_then(|s| s.primary.values.take()); + let child_cascade_requirement = + element.accumulate_damage( + &shared_context, + data.get_restyle_mut(), + old_values.as_ref().map(|v| &**v), + shared_style.values(), + None + ); + + // We never put elements with pseudo style into the style + // sharing cache, so we can just mint an ElementStyles + // directly here. + // + // See https://bugzilla.mozilla.org/show_bug.cgi?id=1329361 + let styles = ElementStyles::new(shared_style); + data.set_styles(styles); + + return StyleSharingResult::StyleWasShared(i, child_cascade_requirement) + } + Err(miss) => { + debug!("Cache miss: {:?}", miss); + + // Cache miss, let's see what kind of failure to decide + // whether we keep trying or not. + match miss { + // Cache miss because of parent, clear the candidate cache. + CacheMiss::Parent => { + should_clear_cache = true; + break; + }, + // Too expensive failure, give up, we don't want another + // one of these. + CacheMiss::PresHints | + CacheMiss::Revalidation => break, + _ => {} + } + } + } + } + + debug!("{:?} Cannot share style: {} cache entries", element, + self.cache.num_entries()); + + if should_clear_cache { + self.clear(); + } + + StyleSharingResult::CannotShare + } + + fn test_candidate(element: E, + candidate: &mut StyleSharingCandidate<E>, + shared: &SharedStyleContext, + bloom: &BloomFilter, + info: &mut CurrentElementInfo, + selector_flags_map: &mut SelectorFlagsMap<E>) + -> Result<ComputedStyle, CacheMiss> { + macro_rules! miss { + ($miss: ident) => { + return Err(CacheMiss::$miss); + } + } + + // Check that we have the same parent, or at least the same pointer + // identity for parent computed style. The latter check allows us to + // share style between cousins if the parents shared style. + let parent = element.parent_element(); + let candidate_parent = candidate.element.parent_element(); + if parent != candidate_parent && + !checks::same_computed_values(parent, candidate_parent) { + miss!(Parent) + } + + if element.is_native_anonymous() { + debug_assert!(!candidate.element.is_native_anonymous(), + "Why inserting NAC into the cache?"); + miss!(NativeAnonymousContent) + } + + if *element.get_local_name() != *candidate.element.get_local_name() { + miss!(LocalName) + } + + if *element.get_namespace() != *candidate.element.get_namespace() { + miss!(Namespace) + } + + if element.is_link() != candidate.element.is_link() { + miss!(Link) + } + + if element.matches_user_and_author_rules() != + candidate.element.matches_user_and_author_rules() { + miss!(UserAndAuthorRules) + } + + if element.get_state() != candidate.element.get_state() { + miss!(State) + } + + if element.get_id() != candidate.element.get_id() { + miss!(IdAttr) + } + + if element.style_attribute().is_some() { + miss!(StyleAttr) + } + + if !checks::have_same_class(element, candidate) { + miss!(Class) + } + + if checks::has_presentational_hints(element) { + miss!(PresHints) + } + + if !checks::revalidate(element, candidate, shared, bloom, info, + selector_flags_map) { + miss!(Revalidation) + } + + let data = candidate.element.borrow_data().unwrap(); + debug_assert!(element.has_current_styles(&data)); + + debug!("Sharing style between {:?} and {:?}", + element, candidate.element); + Ok(data.styles().primary.clone()) + } +} diff --git a/components/style/stylist.rs b/components/style/stylist.rs index a5c103c5a55..a2f358b3f22 100644 --- a/components/style/stylist.rs +++ b/components/style/stylist.rs @@ -4,11 +4,9 @@ //! Selector matching. -#![deny(missing_docs)] - use {Atom, LocalName, Namespace}; use bit_vec::BitVec; -use context::QuirksMode; +use context::{QuirksMode, SharedStyleContext}; use data::ComputedStyle; use dom::{AnimationRules, TElement}; use element_state::ElementState; @@ -23,9 +21,9 @@ use properties::{self, CascadeFlags, ComputedValues}; #[cfg(feature = "servo")] use properties::INHERIT_ALL; use properties::PropertyDeclarationBlock; -use restyle_hints::{RestyleHint, DependencySet}; +use restyle_hints::{HintComputationContext, DependencySet, RestyleHint}; use rule_tree::{CascadeLevel, RuleTree, StrongRuleNode, StyleSource}; -use selector_parser::{SelectorImpl, PseudoElement, SnapshotMap}; +use selector_parser::{SelectorImpl, PseudoElement}; use selectors::attr::NamespaceConstraint; use selectors::bloom::BloomFilter; use selectors::matching::{AFFECTED_BY_STYLE_ATTRIBUTE, AFFECTED_BY_PRESENTATIONAL_HINTS}; @@ -1029,13 +1027,14 @@ impl Stylist { /// Given an element, and a snapshot table that represents a previous state /// of the tree, compute the appropriate restyle hint, that is, the kind of /// restyle we need to do. - pub fn compute_restyle_hint<E>(&self, - element: &E, - snapshots: &SnapshotMap) - -> RestyleHint + pub fn compute_restyle_hint<'a, E>(&self, + element: &E, + shared_context: &SharedStyleContext, + context: HintComputationContext<'a, E>) + -> RestyleHint where E: TElement, { - self.dependencies.compute_hint(element, snapshots) + self.dependencies.compute_hint(element, shared_context, context) } /// Computes styles for a given declaration with parent_style. diff --git a/components/style/traversal.rs b/components/style/traversal.rs index 542c5611f9b..63c7dfd68e9 100644 --- a/components/style/traversal.rs +++ b/components/style/traversal.rs @@ -8,9 +8,10 @@ use atomic_refcell::{AtomicRefCell, AtomicRefMut}; use context::{SharedStyleContext, StyleContext, ThreadLocalStyleContext}; use data::{ElementData, ElementStyles, StoredRestyleHint}; use dom::{DirtyDescendants, NodeInfo, OpaqueNode, TElement, TNode}; -use matching::{ChildCascadeRequirement, MatchMethods, StyleSharingBehavior}; -use restyle_hints::RestyleHint; +use matching::{ChildCascadeRequirement, MatchMethods}; +use restyle_hints::{HintComputationContext, RestyleHint}; use selector_parser::RestyleDamage; +use sharing::StyleSharingBehavior; #[cfg(feature = "servo")] use servo_config::opts; use std::borrow::BorrowMut; @@ -36,6 +37,10 @@ bitflags! { const ANIMATION_ONLY = 0x02, /// Traverse without generating any change hints. const FOR_RECONSTRUCT = 0x04, + /// Traverse triggered by CSS rule changes. + /// Traverse and update all elements with CSS animations since + /// @keyframes rules may have changed + const FOR_CSS_RULE_CHANGES = 0x08, } } @@ -54,6 +59,11 @@ impl TraversalFlags { pub fn for_reconstruct(&self) -> bool { self.contains(FOR_RECONSTRUCT) } + + /// Returns true if the traversal is triggered by CSS rule changes. + pub fn for_css_rule_changes(&self) -> bool { + self.contains(FOR_CSS_RULE_CHANGES) + } } /// This structure exists to enforce that callers invoke pre_traverse, and also @@ -123,7 +133,8 @@ pub trait DomTraversal<E: TElement> : Sync { type ThreadLocalContext: Send + BorrowMut<ThreadLocalStyleContext<E>>; /// Process `node` on the way down, before its children have been processed. - fn process_preorder(&self, data: &PerLevelTraversalData, + fn process_preorder(&self, + data: &PerLevelTraversalData, thread_local: &mut Self::ThreadLocalContext, node: E::ConcreteNode); @@ -227,7 +238,10 @@ pub trait DomTraversal<E: TElement> : Sync { // Expanding snapshots here may create a LATER_SIBLINGS restyle hint, which // we propagate to the next sibling element. if let Some(mut data) = root.mutate_data() { - let later_siblings = data.compute_final_hint(root, shared_context); + let later_siblings = + data.compute_final_hint(root, + shared_context, + HintComputationContext::Root); if later_siblings { if let Some(next) = root.next_sibling_element() { if let Some(mut next_data) = next.mutate_data() { @@ -669,11 +683,12 @@ pub fn recalc_style_at<E, D>(traversal: &D, r.damage_handled() | r.damage.handled_for_descendants() }); - preprocess_children(traversal, - element, - propagated_hint, - damage_handled, - inherited_style_changed); + preprocess_children::<E, D>(context, + traversal_data, + element, + propagated_hint, + damage_handled, + inherited_style_changed); } // If we are in a restyle for reconstruction, drop the existing restyle @@ -718,7 +733,7 @@ fn compute_style<E, D>(_traversal: &D, D: DomTraversal<E>, { use data::RestyleKind::*; - use matching::StyleSharingResult::*; + use sharing::StyleSharingResult::*; context.thread_local.statistics.elements_styled += 1; let kind = data.restyle_kind(); @@ -740,7 +755,8 @@ fn compute_style<E, D>(_traversal: &D, MatchAndCascade => { // Ensure the bloom filter is up to date. context.thread_local.bloom_filter - .insert_parents_recovering(element, traversal_data.current_dom_depth); + .insert_parents_recovering(element, + traversal_data.current_dom_depth); context.thread_local.bloom_filter.assert_complete(element); context.thread_local.statistics.elements_matched += 1; @@ -770,15 +786,17 @@ fn compute_style<E, D>(_traversal: &D, } } -fn preprocess_children<E, D>(traversal: &D, +fn preprocess_children<E, D>(context: &mut StyleContext<E>, + parent_traversal_data: &PerLevelTraversalData, element: E, mut propagated_hint: StoredRestyleHint, damage_handled: RestyleDamage, parent_inherited_style_changed: bool) where E: TElement, - D: DomTraversal<E> + D: DomTraversal<E>, { trace!("preprocess_children: {:?}", element); + // Loop over all the children. for child in element.as_node().children() { // FIXME(bholley): Add TElement::element_children instead of this. @@ -787,7 +805,8 @@ fn preprocess_children<E, D>(traversal: &D, None => continue, }; - let mut child_data = unsafe { D::ensure_element_data(&child).borrow_mut() }; + let mut child_data = + unsafe { D::ensure_element_data(&child).borrow_mut() }; // If the child is unstyled, we don't need to set up any restyling. if !child_data.has_styles() { @@ -798,7 +817,12 @@ fn preprocess_children<E, D>(traversal: &D, // // NB: This will be a no-op if there's no restyle data and no snapshot. let later_siblings = - child_data.compute_final_hint(child, traversal.shared_context()); + child_data.compute_final_hint(child, + &context.shared, + HintComputationContext::Child { + local_context: &mut context.thread_local, + dom_depth: parent_traversal_data.current_dom_depth + 1, + }); trace!(" > {:?} -> {:?} + {:?}, pseudo: {:?}, later_siblings: {:?}", child, diff --git a/components/style/values/computed/mod.rs b/components/style/values/computed/mod.rs index 9cf143d1f56..4a56a7b4872 100644 --- a/components/style/values/computed/mod.rs +++ b/components/style/values/computed/mod.rs @@ -4,6 +4,7 @@ //! Computed values. +use Atom; use context::QuirksMode; use euclid::size::Size2D; use font_metrics::FontMetricsProvider; @@ -154,6 +155,79 @@ pub trait ToComputedValue { fn from_computed_value(computed: &Self::ComputedValue) -> Self; } +impl<A, B> ToComputedValue for (A, B) + where A: ToComputedValue, B: ToComputedValue, +{ + type ComputedValue = ( + <A as ToComputedValue>::ComputedValue, + <B as ToComputedValue>::ComputedValue, + ); + + #[inline] + fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { + (self.0.to_computed_value(context), self.1.to_computed_value(context)) + } + + #[inline] + fn from_computed_value(computed: &Self::ComputedValue) -> Self { + (A::from_computed_value(&computed.0), B::from_computed_value(&computed.1)) + } +} + +impl<T> ToComputedValue for Option<T> + where T: ToComputedValue +{ + type ComputedValue = Option<<T as ToComputedValue>::ComputedValue>; + + #[inline] + fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { + self.as_ref().map(|item| item.to_computed_value(context)) + } + + #[inline] + fn from_computed_value(computed: &Self::ComputedValue) -> Self { + computed.as_ref().map(T::from_computed_value) + } +} + +impl<T> ToComputedValue for Size2D<T> + where T: ToComputedValue +{ + type ComputedValue = Size2D<<T as ToComputedValue>::ComputedValue>; + + #[inline] + fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { + Size2D::new( + self.width.to_computed_value(context), + self.height.to_computed_value(context), + ) + } + + #[inline] + fn from_computed_value(computed: &Self::ComputedValue) -> Self { + Size2D::new( + T::from_computed_value(&computed.width), + T::from_computed_value(&computed.height), + ) + } +} + +impl<T> ToComputedValue for Vec<T> + where T: ToComputedValue +{ + type ComputedValue = Vec<<T as ToComputedValue>::ComputedValue>; + + #[inline] + fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { + self.iter().map(|item| item.to_computed_value(context)).collect() + } + + #[inline] + fn from_computed_value(computed: &Self::ComputedValue) -> Self { + computed.iter().map(T::from_computed_value).collect() + } +} + /// A marker trait to represent that the specified value is also the computed /// value. pub trait ComputedValueAsSpecified {} @@ -174,6 +248,9 @@ impl<T> ToComputedValue for T } } +impl ComputedValueAsSpecified for Atom {} +impl ComputedValueAsSpecified for bool {} + /// A computed `<angle>` value. #[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq, PartialOrd)] #[cfg_attr(feature = "servo", derive(HeapSizeOf, Deserialize, Serialize))] diff --git a/components/style/values/generics/basic_shape.rs b/components/style/values/generics/basic_shape.rs index d961141dbc9..31f434414f5 100644 --- a/components/style/values/generics/basic_shape.rs +++ b/components/style/values/generics/basic_shape.rs @@ -11,16 +11,15 @@ use parser::{Parse, ParserContext}; use properties::shorthands::serialize_four_sides; use std::ascii::AsciiExt; use std::fmt; -use style_traits::ToCss; -use values::HasViewportPercentage; -use values::computed::{ComputedValueAsSpecified, Context, ToComputedValue}; +use style_traits::{HasViewportPercentage, ToCss}; +use values::computed::ComputedValueAsSpecified; use values::generics::BorderRadiusSize; use values::specified::url::SpecifiedUrl; /// A generic type used for `border-radius`, `outline-radius` and `inset()` values. /// /// https://drafts.csswg.org/css-backgrounds-3/#border-radius -#[derive(Clone, PartialEq, Debug)] +#[derive(Clone, Debug, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] pub struct BorderRadius<L> { /// The top left radius. @@ -60,32 +59,8 @@ impl<L: ToCss + PartialEq> ToCss for BorderRadius<L> { } } -impl<L: ToComputedValue> ToComputedValue for BorderRadius<L> { - type ComputedValue = BorderRadius<L::ComputedValue>; - - #[inline] - fn to_computed_value(&self, cx: &Context) -> Self::ComputedValue { - BorderRadius { - top_left: self.top_left.to_computed_value(cx), - top_right: self.top_right.to_computed_value(cx), - bottom_right: self.bottom_right.to_computed_value(cx), - bottom_left: self.bottom_left.to_computed_value(cx), - } - } - - #[inline] - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - BorderRadius { - top_left: ToComputedValue::from_computed_value(&computed.top_left), - top_right: ToComputedValue::from_computed_value(&computed.top_right), - bottom_right: ToComputedValue::from_computed_value(&computed.bottom_right), - bottom_left: ToComputedValue::from_computed_value(&computed.bottom_left), - } - } -} - /// https://drafts.csswg.org/css-shapes/#typedef-shape-radius -#[derive(Clone, PartialEq, Debug)] +#[derive(Clone, Debug, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] #[allow(missing_docs)] pub enum ShapeRadius<L> { @@ -110,28 +85,6 @@ impl<L: ToCss> ToCss for ShapeRadius<L> { } } -impl<L: ToComputedValue> ToComputedValue for ShapeRadius<L> { - type ComputedValue = ShapeRadius<L::ComputedValue>; - - #[inline] - fn to_computed_value(&self, cx: &Context) -> Self::ComputedValue { - match *self { - ShapeRadius::Length(ref lop) => ShapeRadius::Length(lop.to_computed_value(cx)), - ShapeRadius::ClosestSide => ShapeRadius::ClosestSide, - ShapeRadius::FarthestSide => ShapeRadius::FarthestSide, - } - } - - #[inline] - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - match *computed { - ShapeRadius::Length(ref lop) => ShapeRadius::Length(ToComputedValue::from_computed_value(lop)), - ShapeRadius::ClosestSide => ShapeRadius::ClosestSide, - ShapeRadius::FarthestSide => ShapeRadius::FarthestSide, - } - } -} - // https://drafts.csswg.org/css-shapes/#typedef-fill-rule // NOTE: Basic shapes spec says that these are the only two values, however // https://www.w3.org/TR/SVG/painting.html#FillRuleProperty @@ -148,7 +101,7 @@ impl Default for FillRule { fn default() -> Self { FillRule::NonZero } } -#[derive(Clone, PartialEq, Debug)] +#[derive(Clone, Debug, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] /// A generic type for representing the `polygon()` function /// @@ -212,32 +165,7 @@ impl<L: ToCss> ToCss for Polygon<L> { } } -impl<L: ToComputedValue> ToComputedValue for Polygon<L> { - type ComputedValue = Polygon<L::ComputedValue>; - - #[inline] - fn to_computed_value(&self, cx: &Context) -> Self::ComputedValue { - Polygon { - fill: self.fill.to_computed_value(cx), - coordinates: self.coordinates.iter().map(|c| { - (c.0.to_computed_value(cx), c.1.to_computed_value(cx)) - }).collect(), - } - } - - #[inline] - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - Polygon { - fill: ToComputedValue::from_computed_value(&computed.fill), - coordinates: computed.coordinates.iter().map(|c| { - (ToComputedValue::from_computed_value(&c.0), - ToComputedValue::from_computed_value(&c.1)) - }).collect(), - } - } -} - -#[derive(Clone, PartialEq, Debug)] +#[derive(Clone, Debug, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] /// https://drafts.csswg.org/css-shapes/#funcdef-inset #[allow(missing_docs)] @@ -269,37 +197,11 @@ impl<L: ToCss + PartialEq> ToCss for InsetRect<L> { } } -impl<L: ToComputedValue> ToComputedValue for InsetRect<L> { - type ComputedValue = InsetRect<L::ComputedValue>; - - #[inline] - fn to_computed_value(&self, cx: &Context) -> Self::ComputedValue { - InsetRect { - top: self.top.to_computed_value(cx), - right: self.right.to_computed_value(cx), - bottom: self.bottom.to_computed_value(cx), - left: self.left.to_computed_value(cx), - round: self.round.as_ref().map(|r| r.to_computed_value(cx)), - } - } - - #[inline] - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - InsetRect { - top: ToComputedValue::from_computed_value(&computed.top), - right: ToComputedValue::from_computed_value(&computed.right), - bottom: ToComputedValue::from_computed_value(&computed.bottom), - left: ToComputedValue::from_computed_value(&computed.left), - round: computed.round.as_ref().map(|r| ToComputedValue::from_computed_value(r)), - } - } -} - /// A shape source, for some reference box /// /// `clip-path` uses ShapeSource<BasicShape, GeometryBox>, /// `shape-outside` uses ShapeSource<BasicShape, ShapeBox> -#[derive(Clone, PartialEq, Debug)] +#[derive(Clone, Debug, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] #[allow(missing_docs)] pub enum ShapeSource<B, T> { @@ -365,33 +267,3 @@ impl<B: Parse, T: Parse> Parse for ShapeSource<B, T> { ref_box.map(|v| ShapeSource::Box(v)).ok_or(()) } } - -impl<B: ToComputedValue, T: ToComputedValue> ToComputedValue for ShapeSource<B, T> { - type ComputedValue = ShapeSource<B::ComputedValue, T::ComputedValue>; - - #[inline] - fn to_computed_value(&self, cx: &Context) -> Self::ComputedValue { - match *self { - ShapeSource::Url(ref url) => ShapeSource::Url(url.to_computed_value(cx)), - ShapeSource::Shape(ref shape, ref ref_box) => { - ShapeSource::Shape(shape.to_computed_value(cx), - ref_box.as_ref().map(|ref val| val.to_computed_value(cx))) - }, - ShapeSource::Box(ref ref_box) => ShapeSource::Box(ref_box.to_computed_value(cx)), - ShapeSource::None => ShapeSource::None, - } - } - - #[inline] - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - match *computed { - ShapeSource::Url(ref url) => ShapeSource::Url(SpecifiedUrl::from_computed_value(url)), - ShapeSource::Shape(ref shape, ref ref_box) => { - ShapeSource::Shape(ToComputedValue::from_computed_value(shape), - ref_box.as_ref().map(|val| ToComputedValue::from_computed_value(val))) - }, - ShapeSource::Box(ref ref_box) => ShapeSource::Box(ToComputedValue::from_computed_value(ref_box)), - ShapeSource::None => ShapeSource::None, - } - } -} diff --git a/components/style/values/generics/image.rs b/components/style/values/generics/image.rs index 2b42314eb00..9aa49428dce 100644 --- a/components/style/values/generics/image.rs +++ b/components/style/values/generics/image.rs @@ -9,15 +9,14 @@ use Atom; use cssparser::serialize_identifier; use std::fmt; -use style_traits::ToCss; -use values::HasViewportPercentage; -use values::computed::{Context, ToComputedValue}; +use style_traits::{HasViewportPercentage, ToCss}; +use values::computed::ComputedValueAsSpecified; use values::specified::url::SpecifiedUrl; /// An [image]. /// /// [image]: https://drafts.csswg.org/css-images/#image-values -#[derive(Clone, PartialEq)] +#[derive(Clone, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] pub enum Image<Gradient, ImageRect> { /// A `<url()>` image. @@ -32,7 +31,7 @@ pub enum Image<Gradient, ImageRect> { /// A CSS gradient. /// https://drafts.csswg.org/css-images/#gradients -#[derive(Clone, Debug, HasViewportPercentage, PartialEq)] +#[derive(Clone, Debug, HasViewportPercentage, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] pub struct Gradient<LineDirection, Length, LengthOrPercentage, Position, Color> { /// Gradients can be linear or radial. @@ -45,7 +44,7 @@ pub struct Gradient<LineDirection, Length, LengthOrPercentage, Position, Color> pub compat_mode: CompatMode, } -#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq)] +#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] /// Whether we used the modern notation or the compatibility `-webkit` prefix. pub enum CompatMode { @@ -56,7 +55,7 @@ pub enum CompatMode { } /// A gradient kind. -#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq)] +#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] pub enum GradientKind<LineDirection, Length, LengthOrPercentage, Position> { /// A linear gradient. @@ -66,7 +65,7 @@ pub enum GradientKind<LineDirection, Length, LengthOrPercentage, Position> { } /// A radial gradient's ending shape. -#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq)] +#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] pub enum EndingShape<Length, LengthOrPercentage> { /// A circular gradient. @@ -76,7 +75,7 @@ pub enum EndingShape<Length, LengthOrPercentage> { } /// A circle shape. -#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq)] +#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] pub enum Circle<Length> { /// A circle radius. @@ -86,7 +85,7 @@ pub enum Circle<Length> { } /// An ellipse shape. -#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq)] +#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] pub enum Ellipse<LengthOrPercentage> { /// An ellipse pair of radii. @@ -105,10 +104,11 @@ define_css_keyword_enum!(ShapeExtent: "cover" => Cover ); no_viewport_percentage!(ShapeExtent); +impl ComputedValueAsSpecified for ShapeExtent {} /// A gradient item. /// https://drafts.csswg.org/css-images-4/#color-stop-syntax -#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq)] +#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] pub enum GradientItem<Color, LengthOrPercentage> { /// A color stop. @@ -119,7 +119,7 @@ pub enum GradientItem<Color, LengthOrPercentage> { /// A color stop. /// https://drafts.csswg.org/css-images/#typedef-color-stop-list -#[derive(Clone, Copy, HasViewportPercentage, PartialEq)] +#[derive(Clone, Copy, HasViewportPercentage, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] pub struct ColorStop<Color, LengthOrPercentage> { /// The color of this stop. @@ -131,7 +131,7 @@ pub struct ColorStop<Color, LengthOrPercentage> { /// Values for `moz-image-rect`. /// /// `-moz-image-rect(<uri>, top, right, bottom, left);` -#[derive(Clone, PartialEq, Debug)] +#[derive(Clone, Debug, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] #[allow(missing_docs)] pub struct ImageRect<NumberOrPercentage> { @@ -187,47 +187,6 @@ impl<G, R> HasViewportPercentage for Image<G, R> } } -impl<G, R> ToComputedValue for Image<G, R> - where G: ToComputedValue, R: ToComputedValue, -{ - type ComputedValue = Image<<G as ToComputedValue>::ComputedValue, - <R as ToComputedValue>::ComputedValue>; - - fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { - match *self { - Image::Url(ref url) => { - Image::Url(url.clone()) - }, - Image::Gradient(ref gradient) => { - Image::Gradient(gradient.to_computed_value(context)) - }, - Image::Rect(ref rect) => { - Image::Rect(rect.to_computed_value(context)) - }, - Image::Element(ref selector) => { - Image::Element(selector.clone()) - } - } - } - - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - match *computed { - Image::Url(ref url) => { - Image::Url(url.clone()) - }, - Image::Gradient(ref gradient) => { - Image::Gradient(ToComputedValue::from_computed_value(gradient)) - }, - Image::Rect(ref rect) => { - Image::Rect(ToComputedValue::from_computed_value(rect)) - }, - Image::Element(ref selector) => { - Image::Element(selector.clone()) - }, - } - } -} - impl<D, L, LoP, P, C> ToCss for Gradient<D, L, LoP, P, C> where D: LineDirection, L: ToCss, LoP: ToCss, P: ToCss, C: ToCss, { @@ -282,38 +241,6 @@ impl<D, L, LoP, P, C> ToCss for Gradient<D, L, LoP, P, C> } } -impl<D, L, LoP, P, C> ToComputedValue for Gradient<D, L, LoP, P, C> - where D: ToComputedValue, - L: ToComputedValue, - LoP: ToComputedValue, - P: ToComputedValue, - C: ToComputedValue, -{ - type ComputedValue = Gradient<<D as ToComputedValue>::ComputedValue, - <L as ToComputedValue>::ComputedValue, - <LoP as ToComputedValue>::ComputedValue, - <P as ToComputedValue>::ComputedValue, - <C as ToComputedValue>::ComputedValue>; - - fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { - Gradient { - kind: self.kind.to_computed_value(context), - items: self.items.iter().map(|s| s.to_computed_value(context)).collect(), - repeating: self.repeating, - compat_mode: self.compat_mode, - } - } - - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - Gradient { - kind: ToComputedValue::from_computed_value(&computed.kind), - items: computed.items.iter().map(ToComputedValue::from_computed_value).collect(), - repeating: computed.repeating, - compat_mode: computed.compat_mode, - } - } -} - impl<D, L, LoP, P> GradientKind<D, L, LoP, P> { fn label(&self) -> &str { match *self { @@ -323,43 +250,6 @@ impl<D, L, LoP, P> GradientKind<D, L, LoP, P> { } } -impl<D, L, LoP, P> ToComputedValue for GradientKind<D, L, LoP, P> - where D: ToComputedValue, - L: ToComputedValue, - LoP: ToComputedValue, - P: ToComputedValue, -{ - type ComputedValue = GradientKind<<D as ToComputedValue>::ComputedValue, - <L as ToComputedValue>::ComputedValue, - <LoP as ToComputedValue>::ComputedValue, - <P as ToComputedValue>::ComputedValue>; - - fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { - match *self { - GradientKind::Linear(ref direction) => { - GradientKind::Linear(direction.to_computed_value(context)) - }, - GradientKind::Radial(ref shape, ref position) => { - GradientKind::Radial(shape.to_computed_value(context), position.to_computed_value(context)) - }, - } - } - - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - match *computed { - GradientKind::Linear(ref direction) => { - GradientKind::Linear(ToComputedValue::from_computed_value(direction)) - }, - GradientKind::Radial(ref shape, ref position) => { - GradientKind::Radial( - ToComputedValue::from_computed_value(shape), - ToComputedValue::from_computed_value(position), - ) - } - } - } -} - /// The direction of a linear gradient. pub trait LineDirection { /// Whether this direction points towards, and thus can be omitted. @@ -398,53 +288,6 @@ impl<L, LoP> ToCss for EndingShape<L, LoP> } } -impl<L, LoP> ToComputedValue for EndingShape<L, LoP> - where L: ToComputedValue, LoP: ToComputedValue, -{ - type ComputedValue = EndingShape<<L as ToComputedValue>::ComputedValue, - <LoP as ToComputedValue>::ComputedValue>; - - fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { - match *self { - EndingShape::Circle(Circle::Radius(ref length)) => { - EndingShape::Circle(Circle::Radius(length.to_computed_value(context))) - }, - EndingShape::Circle(Circle::Extent(extent)) => { - EndingShape::Circle(Circle::Extent(extent)) - }, - EndingShape::Ellipse(Ellipse::Radii(ref x, ref y)) => { - EndingShape::Ellipse(Ellipse::Radii( - x.to_computed_value(context), - y.to_computed_value(context), - )) - }, - EndingShape::Ellipse(Ellipse::Extent(extent)) => { - EndingShape::Ellipse(Ellipse::Extent(extent)) - }, - } - } - - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - match *computed { - EndingShape::Circle(Circle::Radius(ref length)) => { - EndingShape::Circle(Circle::Radius(ToComputedValue::from_computed_value(length))) - }, - EndingShape::Circle(Circle::Extent(extent)) => { - EndingShape::Circle(Circle::Extent(extent)) - }, - EndingShape::Ellipse(Ellipse::Radii(ref x, ref y)) => { - EndingShape::Ellipse(Ellipse::Radii( - ToComputedValue::from_computed_value(x), - ToComputedValue::from_computed_value(y), - )) - }, - EndingShape::Ellipse(Ellipse::Extent(extent)) => { - EndingShape::Ellipse(Ellipse::Extent(extent)) - }, - } - } -} - impl<C, L> ToCss for GradientItem<C, L> where C: ToCss, L: ToCss, { @@ -456,35 +299,6 @@ impl<C, L> ToCss for GradientItem<C, L> } } -impl<C, L> ToComputedValue for GradientItem<C, L> - where C: ToComputedValue, L: ToComputedValue, -{ - type ComputedValue = GradientItem<<C as ToComputedValue>::ComputedValue, - <L as ToComputedValue>::ComputedValue>; - - fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { - match *self { - GradientItem::ColorStop(ref stop) => { - GradientItem::ColorStop(stop.to_computed_value(context)) - }, - GradientItem::InterpolationHint(ref hint) => { - GradientItem::InterpolationHint(hint.to_computed_value(context)) - }, - } - } - - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - match *computed { - GradientItem::ColorStop(ref stop) => { - GradientItem::ColorStop(ToComputedValue::from_computed_value(stop)) - }, - GradientItem::InterpolationHint(ref hint) => { - GradientItem::InterpolationHint(ToComputedValue::from_computed_value(hint)) - }, - } - } -} - impl<C, L> fmt::Debug for ColorStop<C, L> where C: fmt::Debug, L: fmt::Debug, { @@ -510,27 +324,6 @@ impl<C, L> ToCss for ColorStop<C, L> } } -impl<C, L> ToComputedValue for ColorStop<C, L> - where C: ToComputedValue, L: ToComputedValue, -{ - type ComputedValue = ColorStop<<C as ToComputedValue>::ComputedValue, - <L as ToComputedValue>::ComputedValue>; - - fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { - ColorStop { - color: self.color.to_computed_value(context), - position: self.position.as_ref().map(|p| p.to_computed_value(context)), - } - } - - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - ColorStop { - color: ToComputedValue::from_computed_value(&computed.color), - position: computed.position.as_ref().map(ToComputedValue::from_computed_value), - } - } -} - impl<C> ToCss for ImageRect<C> where C: ToCss, { @@ -548,29 +341,3 @@ impl<C> ToCss for ImageRect<C> dest.write_str(")") } } - -impl<C> ToComputedValue for ImageRect<C> - where C: ToComputedValue, -{ - type ComputedValue = ImageRect<<C as ToComputedValue>::ComputedValue>; - - fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { - ImageRect { - url: self.url.to_computed_value(context), - top: self.top.to_computed_value(context), - right: self.right.to_computed_value(context), - bottom: self.bottom.to_computed_value(context), - left: self.left.to_computed_value(context), - } - } - - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - ImageRect { - url: ToComputedValue::from_computed_value(&computed.url), - top: ToComputedValue::from_computed_value(&computed.top), - right: ToComputedValue::from_computed_value(&computed.right), - bottom: ToComputedValue::from_computed_value(&computed.bottom), - left: ToComputedValue::from_computed_value(&computed.left), - } - } -} diff --git a/components/style/values/generics/mod.rs b/components/style/values/generics/mod.rs index 9ad4668f4da..983246b9885 100644 --- a/components/style/values/generics/mod.rs +++ b/components/style/values/generics/mod.rs @@ -10,10 +10,8 @@ use cssparser::Parser; use euclid::size::Size2D; use parser::{Parse, ParserContext}; use std::fmt; -use style_traits::ToCss; +use style_traits::{HasViewportPercentage, ToCss}; use super::CustomIdent; -use super::HasViewportPercentage; -use super::computed::{Context, ToComputedValue}; pub use self::basic_shape::serialize_radius_values; @@ -21,9 +19,9 @@ pub mod basic_shape; pub mod image; pub mod position; -#[derive(Clone, PartialEq, Debug)] +#[derive(Clone, Debug, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] -/// A type for representing CSS `widthh` and `height` values. +/// A type for representing CSS `width` and `height` values. pub struct BorderRadiusSize<L>(pub Size2D<L>); impl<L> HasViewportPercentage for BorderRadiusSize<L> { @@ -62,24 +60,6 @@ impl<L: ToCss> ToCss for BorderRadiusSize<L> { } } -impl<L: ToComputedValue> ToComputedValue for BorderRadiusSize<L> { - type ComputedValue = BorderRadiusSize<L::ComputedValue>; - - #[inline] - fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { - let w = self.0.width.to_computed_value(context); - let h = self.0.height.to_computed_value(context); - BorderRadiusSize(Size2D::new(w, h)) - } - - #[inline] - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - let w = ToComputedValue::from_computed_value(&computed.0.width); - let h = ToComputedValue::from_computed_value(&computed.0.height); - BorderRadiusSize(Size2D::new(w, h)) - } -} - /// https://drafts.csswg.org/css-counter-styles/#typedef-counter-style /// /// Since wherever <counter-style> is used, 'none' is a valid value as diff --git a/components/style/values/generics/position.rs b/components/style/values/generics/position.rs index 7e13919d30c..4ce5b63ab30 100644 --- a/components/style/values/generics/position.rs +++ b/components/style/values/generics/position.rs @@ -5,9 +5,7 @@ //! Generic types for CSS handling of specified and computed values of //! [`position`](https://drafts.csswg.org/css-backgrounds-3/#position) -use values::computed::{Context, ToComputedValue}; - -#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq)] +#[derive(Clone, Copy, Debug, HasViewportPercentage, PartialEq, ToComputedValue)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] /// A generic type for representing a CSS [position](https://drafts.csswg.org/css-values/#position). pub struct Position<H, V> { @@ -26,24 +24,3 @@ impl<H, V> Position<H, V> { } } } - -impl<H: ToComputedValue, V: ToComputedValue> ToComputedValue for Position<H, V> { - type ComputedValue = Position<<H as ToComputedValue>::ComputedValue, - <V as ToComputedValue>::ComputedValue>; - - #[inline] - fn to_computed_value(&self, context: &Context) -> Self::ComputedValue { - Position { - horizontal: self.horizontal.to_computed_value(context), - vertical: self.vertical.to_computed_value(context), - } - } - - #[inline] - fn from_computed_value(computed: &Self::ComputedValue) -> Self { - Self { - horizontal: ToComputedValue::from_computed_value(&computed.horizontal), - vertical: ToComputedValue::from_computed_value(&computed.vertical), - } - } -} diff --git a/components/style/values/mod.rs b/components/style/values/mod.rs index 6a6469a1742..bbb6603bb90 100644 --- a/components/style/values/mod.rs +++ b/components/style/values/mod.rs @@ -16,7 +16,6 @@ use std::borrow::Cow; use std::fmt::{self, Debug}; use std::hash; use style_traits::ToCss; -pub use style_traits::HasViewportPercentage; pub mod computed; pub mod generics; diff --git a/components/style/values/specified/calc.rs b/components/style/values/specified/calc.rs index 4db36e998c2..dc6f5cf2f81 100644 --- a/components/style/values/specified/calc.rs +++ b/components/style/values/specified/calc.rs @@ -11,9 +11,9 @@ use cssparser::{Parser, Token}; use parser::ParserContext; use std::ascii::AsciiExt; use std::fmt; -use style_traits::ToCss; +use style_traits::{HasViewportPercentage, ToCss}; use style_traits::values::specified::AllowedLengthType; -use values::{CSSInteger, CSSFloat, HasViewportPercentage}; +use values::{CSSInteger, CSSFloat}; use values::specified::{Angle, Time}; use values::specified::length::{FontRelativeLength, NoCalcLength, ViewportPercentageLength}; diff --git a/components/style/values/specified/grid.rs b/components/style/values/specified/grid.rs index a4a8b930ef8..0633a0b0e80 100644 --- a/components/style/values/specified/grid.rs +++ b/components/style/values/specified/grid.rs @@ -8,8 +8,8 @@ use cssparser::{Parser, Token, serialize_identifier}; use parser::{Parse, ParserContext}; use std::{fmt, mem, usize}; use std::ascii::AsciiExt; -use style_traits::ToCss; -use values::{CSSFloat, CustomIdent, Either, HasViewportPercentage}; +use style_traits::{HasViewportPercentage, ToCss}; +use values::{CSSFloat, CustomIdent, Either}; use values::computed::{self, ComputedValueAsSpecified, Context, ToComputedValue}; use values::specified::{Integer, LengthOrPercentage}; diff --git a/components/style/values/specified/length.rs b/components/style/values/specified/length.rs index 27f6f5d6f1f..e37aad81f0e 100644 --- a/components/style/values/specified/length.rs +++ b/components/style/values/specified/length.rs @@ -14,11 +14,11 @@ use parser::{Parse, ParserContext}; use std::{cmp, fmt, mem}; use std::ascii::AsciiExt; use std::ops::Mul; -use style_traits::ToCss; +use style_traits::{HasViewportPercentage, ToCss}; use style_traits::values::specified::{AllowedLengthType, AllowedNumericType}; use stylesheets::CssRuleType; use super::{AllowQuirks, Number, ToComputedValue}; -use values::{Auto, CSSFloat, Either, FONT_MEDIUM_PX, HasViewportPercentage, None_, Normal}; +use values::{Auto, CSSFloat, Either, FONT_MEDIUM_PX, None_, Normal}; use values::ExtremumLength; use values::computed::{ComputedValueAsSpecified, Context}; use values::specified::calc::CalcNode; @@ -620,7 +620,8 @@ impl Length { Token::Dimension(ref value, ref unit) if num_context.is_ok(value.value) => Length::parse_dimension(context, value.value, unit), Token::Number(ref value) if num_context.is_ok(value.value) => { - if value.value != 0. && !context.parsing_mode.allows_unitless_lengths() && + if value.value != 0. && + !context.parsing_mode.allows_unitless_lengths() && !allow_quirks.allowed(context.quirks_mode) { return Err(()) } @@ -805,9 +806,14 @@ impl LengthOrPercentage { NoCalcLength::parse_dimension(context, value.value, unit).map(LengthOrPercentage::Length), Token::Percentage(ref value) if num_context.is_ok(value.unit_value) => Ok(LengthOrPercentage::Percentage(Percentage(value.unit_value))), - Token::Number(value) if value.value == 0. || - (num_context.is_ok(value.value) && allow_quirks.allowed(context.quirks_mode)) => - Ok(LengthOrPercentage::Length(NoCalcLength::from_px(value.value))), + Token::Number(value) if num_context.is_ok(value.value) => { + if value.value != 0. && + !context.parsing_mode.allows_unitless_lengths() && + !allow_quirks.allowed(context.quirks_mode) { + return Err(()) + } + Ok(LengthOrPercentage::Length(NoCalcLength::from_px(value.value))) + } Token::Function(ref name) if name.eq_ignore_ascii_case("calc") => { let calc = try!(input.parse_nested_block(|i| { CalcNode::parse_length_or_percentage(context, i, num_context) @@ -942,7 +948,8 @@ impl LengthOrPercentageOrAuto { Token::Percentage(ref value) if num_context.is_ok(value.unit_value) => Ok(LengthOrPercentageOrAuto::Percentage(Percentage(value.unit_value))), Token::Number(ref value) if num_context.is_ok(value.value) => { - if value.value != 0. && !context.parsing_mode.allows_unitless_lengths() && + if value.value != 0. && + !context.parsing_mode.allows_unitless_lengths() && !allow_quirks.allowed(context.quirks_mode) { return Err(()) } diff --git a/components/style/values/specified/position.rs b/components/style/values/specified/position.rs index a4b4953c372..085fea59300 100644 --- a/components/style/values/specified/position.rs +++ b/components/style/values/specified/position.rs @@ -10,8 +10,7 @@ use cssparser::Parser; use parser::{Parse, ParserContext}; use std::fmt; -use style_traits::ToCss; -use values::HasViewportPercentage; +use style_traits::{HasViewportPercentage, ToCss}; use values::computed::{CalcLengthOrPercentage, LengthOrPercentage as ComputedLengthOrPercentage}; use values::computed::{Context, ToComputedValue}; use values::generics::position::Position as GenericPosition; diff --git a/components/style_derive/lib.rs b/components/style_derive/lib.rs index fd47a962ce9..7f4743dccd7 100644 --- a/components/style_derive/lib.rs +++ b/components/style_derive/lib.rs @@ -10,9 +10,16 @@ extern crate synstructure; use proc_macro::TokenStream; mod has_viewport_percentage; +mod to_computed_value; #[proc_macro_derive(HasViewportPercentage)] pub fn derive_has_viewport_percentage(stream: TokenStream) -> TokenStream { let input = syn::parse_derive_input(&stream.to_string()).unwrap(); has_viewport_percentage::derive(input).to_string().parse().unwrap() } + +#[proc_macro_derive(ToComputedValue)] +pub fn derive_to_computed_value(stream: TokenStream) -> TokenStream { + let input = syn::parse_derive_input(&stream.to_string()).unwrap(); + to_computed_value::derive(input).to_string().parse().unwrap() +} diff --git a/components/style_derive/to_computed_value.rs b/components/style_derive/to_computed_value.rs new file mode 100644 index 00000000000..d7c4801dbf8 --- /dev/null +++ b/components/style_derive/to_computed_value.rs @@ -0,0 +1,142 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +use quote; +use syn; +use synstructure; + +pub fn derive(input: syn::DeriveInput) -> quote::Tokens { + let name = &input.ident; + let (impl_generics, ty_generics, where_clause) = input.generics.split_for_impl(); + let mut where_clause = where_clause.clone(); + for param in &input.generics.ty_params { + where_clause.predicates.push(where_predicate(syn::Ty::Path(None, param.ident.clone().into()), None)); + } + + let computed_value_type = syn::Path::from(syn::PathSegment { + ident: name.clone(), + parameters: syn::PathParameters::AngleBracketed(syn::AngleBracketedParameterData { + lifetimes: input.generics.lifetimes.iter().map(|l| { + l.lifetime.clone() + }).collect(), + types: input.generics.ty_params.iter().map(|ty| { + syn::Ty::Path( + Some(syn::QSelf { + ty: Box::new(syn::Ty::Path(None, ty.ident.clone().into())), + position: 3, + }), + syn::Path { + global: true, + segments: vec![ + "values".into(), + "computed".into(), + "ToComputedValue".into(), + "ComputedValue".into(), + ], + }, + ) + }).collect(), + .. Default::default() + }), + }); + + let to_body = match_body(&input, |field| { + quote!(::values::computed::ToComputedValue::to_computed_value(#field, context)) + }); + let from_body = match_body(&input, |field| { + quote!(::values::computed::ToComputedValue::from_computed_value(#field)) + }); + + quote! { + impl #impl_generics ::values::computed::ToComputedValue for #name #ty_generics #where_clause { + type ComputedValue = #computed_value_type; + + #[allow(unused_variables)] + #[inline] + fn to_computed_value(&self, context: &::values::computed::Context) -> Self::ComputedValue { + match *self { + #to_body + } + } + + #[inline] + fn from_computed_value(computed: &Self::ComputedValue) -> Self { + match *computed { + #from_body + } + } + } + } +} + +fn match_body<F>(input: &syn::DeriveInput, f: F) -> quote::Tokens + where F: Fn(&synstructure::BindingInfo) -> quote::Tokens, +{ + let by_ref = synstructure::BindStyle::Ref.into(); + let by_value = synstructure::BindStyle::Move.into(); + + synstructure::each_variant(&input, &by_ref, |fields, variant| { + let name = if let syn::Body::Enum(_) = input.body { + format!("{}::{}", input.ident, variant.ident).into() + } else { + variant.ident.clone() + }; + let (computed_value, computed_fields) = synstructure::match_pattern(&name, &variant.data, &by_value); + let fields_pairs = fields.iter().zip(computed_fields.iter()); + let mut computations = quote!(); + computations.append_all(fields_pairs.map(|(field, computed_field)| { + let expr = f(field); + quote!(let #computed_field = #expr;) + })); + Some(quote!( + #computations + #computed_value + )) + }) +} + +/// `#ty: ::values::computed::ToComputedValue<ComputedValue = #computed_value,>` +fn where_predicate(ty: syn::Ty, computed_value: Option<syn::Ty>) -> syn::WherePredicate { + syn::WherePredicate::BoundPredicate(syn::WhereBoundPredicate { + bound_lifetimes: vec![], + bounded_ty: ty, + bounds: vec![syn::TyParamBound::Trait( + syn::PolyTraitRef { + bound_lifetimes: vec![], + trait_ref: trait_ref(computed_value), + }, + syn::TraitBoundModifier::None + )], + }) +} + +/// `::values::computed::ToComputedValue<ComputedValue = #computed_value,>` +fn trait_ref(computed_value: Option<syn::Ty>) -> syn::Path { + syn::Path { + global: true, + segments: vec![ + "values".into(), + "computed".into(), + syn::PathSegment { + ident: "ToComputedValue".into(), + parameters: syn::PathParameters::AngleBracketed( + syn::AngleBracketedParameterData { + bindings: trait_bindings(computed_value), + .. Default::default() + } + ), + } + ], + } +} + +/// `ComputedValue = #computed_value,` +fn trait_bindings(computed_value: Option<syn::Ty>) -> Vec<syn::TypeBinding> { + computed_value.into_iter().map(|ty| { + syn::TypeBinding { + ident: "ComputedValue".into(), + ty: ty, + } + }).collect() +} |